Заголовок сообщения: ШИМ на Atmega32 и Atmega48\168PA. В чем отличия?
Добавлено: Пн июн 05, 2017 18:29:36
Родился
Зарегистрирован: Ср мар 30, 2011 18:55:28 Сообщений: 9
Рейтинг сообщения:0
Всем здравствуйте. Я новичок, изучаю микроконтроллеры. У меня есть Atmega32, на которой я делаю свои опыты, и все хорошо. Недавно приобрел Atmega168PA (он на плате клона Arduino Pro Mini 5v), и решил попробовать поработать с аппаратным ШИМ на нем, но не получается, нога не выдает требуемое напряжение. Цеплялся мультиметром к каждой ноге, которая может давать ШИМ (смотрел по даташиту), не понимаю, не работает. Заметил одну вещь, что ноги OCxx на МК Atmega32 имеют только одно назначение (по схеме), а вот на Atmega48 и Atmega168PA на ноге OC2A, к примеру, есть еще и MOSI и PCINT3, слышал, что чтобы подать ШИМ на ногу, надо через фьюзы это сконфигурить. Требуемый фьюз не нашел, либо это делается не так Но шим не работает, вот код (пробовал на Atmega48 и 168PA):
Заголовок сообщения: Re: ШИМ на Atmega32 и Atmega48\168PA. В чем отличия?
Добавлено: Пн июн 05, 2017 19:36:18
Собутыльник Кота
Карма: 29
Рейтинг сообщений: 645
Зарегистрирован: Сб май 14, 2011 21:16:04 Сообщений: 2694 Откуда: г. Чайковский
Рейтинг сообщения:0 Медали: 1
Несмотря на то, что расположение битов в регистрах настройки таймера скорее всего совпадают во всех трех таймерах, крайне некорректно использовать имена битов таймера1 для настроек таймеров 0 и 2. Легко где-нибудь влетите с таким подходом.
Вы запускаете 5ый режим таймеров. Т.е. ШИМ с фазовой коррекцией. Поглядите в ДШ до какого значения будет считать счетчик и думаю станет понятно почему у Вас ничего не работает.
_________________ Добро всегда побеждает зло. Поэтому кто победил - тот и добрый.
Несмотря на то, что расположение битов в регистрах настройки таймера скорее всего совпадают во всех трех таймерах
нифига! у нулевого и второго таймера количество регистров даже не совпадает с количеством регистров первого таймера! И биты конфигурации располагаются иначе.
Z_h_e писал(а):
крайне некорректно использовать имена битов таймера1 для настроек таймеров 0 и 2
не надо смягчать ситуацию: недопустимо!
_________________ если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе при взгляде на многих сверху ничего не меняется...
Заголовок сообщения: Re: ШИМ на Atmega32 и Atmega48\168PA. В чем отличия?
Добавлено: Пн июн 05, 2017 19:59:50
Собутыльник Кота
Карма: 29
Рейтинг сообщений: 645
Зарегистрирован: Сб май 14, 2011 21:16:04 Сообщений: 2694 Откуда: г. Чайковский
Рейтинг сообщения:0 Медали: 1
Для регистров TCCRnA и TCCRnB биты которые использует товарищ ТС находятся на одних местах, разве что WGM13 совсем нет, но там бит только чтение (по случайности). Но это абсолютно ничего не меняет. С таким же успехом можно использовать имена битов регистра DDR для настройки таймера, вернее даже так лучше, ибо сразу будет видно что чушь какая-то в коде, а эти имена не сразу то и заметишь что левые.
_________________ Добро всегда побеждает зло. Поэтому кто победил - тот и добрый.
Обязательным условием долгой и стабильной работы Li-FePO4-аккумуляторов, в том числе и производства EVE Energy, является применение специализированных BMS-микросхем. Литий-железофосфатные АКБ отличаются такими характеристиками, как высокая многократность циклов заряда-разряда, безопасность, возможность быстрой зарядки, устойчивость к буферному режиму работы и приемлемая стоимость. Но для этих АКБ очень важен контроль процесса заряда и разряда для избегания воздействия внешнего зарядного напряжения после достижения 100% заряда. Инженеры КОМПЭЛ подготовили список таких решений от разных производителей.
Заголовок сообщения: Re: ШИМ на Atmega32 и Atmega48\168PA. В чем отличия?
Добавлено: Вт июн 06, 2017 19:58:19
Родился
Зарегистрирован: Ср мар 30, 2011 18:55:28 Сообщений: 9
Рейтинг сообщения:0
Z_h_e писал(а):
Несмотря на то, что расположение битов в регистрах настройки таймера скорее всего совпадают во всех трех таймерах, крайне некорректно использовать имена битов таймера1 для настроек таймеров 0 и 2. Легко где-нибудь влетите с таким подходом.
Да, это я совсем забаранил, не заметил глупую копипасту
Z_h_e писал(а):
Вы запускаете 5ый режим таймеров. Т.е. ШИМ с фазовой коррекцией. Поглядите в ДШ до какого значения будет считать счетчик и думаю станет понятно почему у Вас ничего не работает.
Я сверился с даташитом, переделал все следующим образом
но ШИМа все равно нет, либо я по-прежнему не понимаю, либо проблема уже в камне
UPD: он как-то совсем коротко и один раз прокручивается. Видимо, опять с настройками что-то не то
Добавлено after 1 hour 40 minutes 30 seconds: Странно, пересобрал, прошил, меряю мультиметром ногу - вроде работает. Показывает 1.25, 2.49 и 4.95, вроде все верно!
Компания EVE выпустила новый аккумулятор серии PLM, сочетающий в себе высокую безопасность, длительный срок службы, широкий температурный диапазон и высокую токоотдачу даже при отрицательной температуре.
Эти аккумуляторы поддерживают заряд при температуре от -40/-20°С (сниженным значением тока), безопасны (не воспламеняются и не взрываются) при механическом повреждении (протыкание и сдавливание), устойчивы к вибрации. Они могут применяться как для автотранспорта (трекеры, маячки, сигнализация), так и для промышленных устройств мониторинга, IoT-устройств.
Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 25
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете добавлять вложения