Страница 1 из 1

BAM альтернатива программному ШИМу

Добавлено: Вт май 07, 2013 22:07:08
uwrtey
Поиском пошарил, вроде тем дублей нету, хотя вроде Если что, то сильно не пинайте.

Здрасте, давненько я тут ни чего не писАл.
Я недавно начал изучать программирование МК семейства АВР. ( пытаюсь писать на Ассемблере )
И на большинство моих вопросов мне отвечает уважаемый ВитГо, которого я уже наверняка замучал...
Я еще многово не знаю и не умею, и по-этому решил задать вопрос Вам.

Микроконтроллер ATtiny2313.
Необходимо реализовать управление двумя моторами. ( два канала )
Аппаратный ШИМ таймера_1 этого сделать не сможет - он будет занят совсем другим..
У меня остался таймер_0, но его аппаратный ШИМ мне не подходит!
Программный ШИМ я еще не изучал и это для меня пока темный лес...
ВитГо мне посоветовал посмотреть в сторону BAM ( http://bsvi.ru/bam-alternativa-shimu/ )
Почитал, интересно, и самое главное - это намного проще программного ШИМ ( проще для ресурсов МК и естественно для того, кто будет писать для этого МК )
Но к сожалению, автор, излагает свою мысль слишком поверхностно, ориентируясь на читателя с достаточным опытом программирования МК.


Вот мне и не понятно, как реализовать этот самый BAM?
Пример там есть, но он на СИ, а я, как уже говорил выше, пытаюсь писать на АСМЕ
В какой режим нужно ввести таймер_0, какие ресурсы МК нужно еще задействовать? Как организовать несколько каналов?
В общем мне не ясна сама теория ( я не понял сам принцип генерации сигнала )

Объясните пожалуйста, что мне нужно организовать и как, а то я что-то сам допетрить не могу..
Можно бы конечно и пример кода глянуть на АСМЕ, но лучше всего объясните теорию.
А написать код я попробую сам.

Заранее благодарен ВСЕМ ответившим.

Re: BAM альтернатива программному ШИМу

Добавлено: Вт май 07, 2013 22:23:20
Moto_v3x

Re: BAM альтернатива программному ШИМу

Добавлено: Вт май 07, 2013 22:27:39
uwrtey
это я видел, теории там нет. :(

Re: BAM альтернатива программному ШИМу

Добавлено: Ср май 08, 2013 01:08:31
PANYTA

Re: BAM альтернатива программному ШИМу

Добавлено: Ср май 08, 2013 01:46:59
ibiza11
в статье http://radiokot.ru/cherdak/03/ есть готовый код на ассемблере АВР :)

Re: BAM альтернатива программному ШИМу

Добавлено: Ср май 08, 2013 07:14:53
BOB51
С движками не возился, но по опыту работы со светиками могу сказать, что при несущей в пределах 120 Гц при фиксированных уровнях BAM может иметь преимущество перед ШИМ только в виде экономии "машинного времени" для других программ МК, и то с потерей младших уровней выходного сигнала.
Одной из "пакостей" при использовании BAM является эффект "мерцания" при режимах плавного изменения выходного сигнала.
:roll:

Re: BAM альтернатива программному ШИМу

Добавлено: Ср май 08, 2013 07:24:46
uwrtey
Спасибо, мужики. :beer:

Re: BAM альтернатива программному ШИМу

Добавлено: Ср май 08, 2013 07:28:03
uwrtey
BOB51 писал(а):С движками не возился, но по опыту работы со светиками могу сказать, что при несущей в пределах 120 Гц при фиксированных уровнях BAM может иметь преимущество перед ШИМ только в виде экономии "машинного времени" для других программ МК, и то с потерей младших уровней выходного сигнала.Одной из "пакостей" при использовании BAM является эффект "мерцания" при режимах плавного изменения выходного сигнала.
Не знаю даже, движки мерцать явно не будут. Нагрузка индуктивная, получится какая ни-будь RLC цепь, думаю что с двигателями все будет намного лучше чем со светодиодами.

Re: BAM альтернатива программному ШИМу

Добавлено: Ср май 08, 2013 09:39:28
BOB51
Зато от случайного подергивания не гарантировано...
Смотря в какой момент времени возникнет "провал" или "слипание" - от рывка до полого останова или сбоя позиционирования. Хоша ежли движок с хорошим массивным ротором или много-многооборотным редуктором дожет и незаметно будет.
:roll:

Re: BAM альтернатива программному ШИМу

Добавлено: Ср май 08, 2013 12:39:32
uwrtey
эти моторы есть двигатели модели соосного вертолета - они много-оборотистые :)

Re: BAM альтернатива программному ШИМу

Добавлено: Ср май 08, 2013 21:17:12
BOB51
Тогды другой "гвоздик" - у программного ШИМ (ВАМ) ограничена несущая частота - это не аппаратный узел. :cry: Хотя если так до килогерца и на одном - двух каналах ... но какой-то из таймеров прийдется использовать хотя-бы как генератор тайм-сетки + прерывание по "окну обработчика ШИМ" с блоком контроля предподготовленного задания. :roll: