|
|
  |
ШИМ на AVR |
|
|
|
Mar 25 2009, 04:11
|
Участник

Группа: Участник
Сообщений: 32
Регистрация: 26-12-06
Пользователь №: 23 902

|
Добрый день! Мне необходимо создать ШИМ на таймере1 ATMega16 с вершиной в ICR1. Делаю TCCR1A=0xF2 TCCR1B=0x19 Устанавливаю, например, OCR1A=0x007F, ICR1=0x00FF. По datasheet вроде бы должно работать, а он считает до 1FF и обратно. В чем может быть дело? Спасибо.
|
|
|
|
|
Mar 25 2009, 08:33
|
Участник

Группа: Участник
Сообщений: 32
Регистрация: 26-12-06
Пользователь №: 23 902

|
Цитата(ARV @ Mar 25 2009, 08:41)  а как вы это проверяете? если в симуляторе AVR Studio - то режимы PWM там некорректно симулируются (об этом сказано в стправке по симулятору). Действительно, я проверяю в AVR Studio. Видимо, в этом и причина. Спасибо Вам за подсказку.
|
|
|
|
|
Mar 26 2009, 04:09
|
Участник

Группа: Участник
Сообщений: 32
Регистрация: 26-12-06
Пользователь №: 23 902

|
Пробовал воспроизвести в Протеусе, - тоже не получается. У меня там в ICR1 вершина счета (записываетя при инициализации), во внешнем прерывании инкр.(декр.) переменная. В прерывании по захвату она записывается в OCR1A Есть ли симулятор, корректно воспроизводящий ШИМ? Спасибо.
|
|
|
|
|
Apr 3 2009, 10:27
|

Местный
  
Группа: Свой
Сообщений: 211
Регистрация: 6-08-07
Из: Приднестровье, Тирасполь
Пользователь №: 29 581

|
Цитата(Dog Pawlowa @ Apr 3 2009, 12:42)  Чем раньше Вы перестанете пытаться симулировать периферию в любом симуляторе для любого контроллера, тем дальше Вы продвинетесь вперед. Не всегда верно. Любой симулятор это инструмент. А инструмент нужно правильно применять. Это помогает выловить множество граблей не переходя к железу. Грабли самого симулятора, становятся очевидными после недолгого использования оного. И в дальнейшем, они не слишком мешают жить, если не носят принципиального характера... Что касается ШИМа, то его Протеус симулирует исключительно хорошо. И не пользоваться этим, я не вижу причин. Например, сейчас доделываю программу для управляющей части силовым модулем IRAM (трехфазный драйвер) на attiny861. Тинька заточена под электропривод, шестиканальный ШИМ, dead time, PLL - очень хороша. Недостаток - на руках нет, жду когда привезут. Без симулятора курил бы бамбук. А так, программа уже почти готова, синус перестраивается по частоте и амплитуде, видны все переменные (в Си коде), регистры, тайминги... Осталось прикрутить интерфейс связи с сервисным контроллером, сделать плавный пуск и стоп. На 90% уверен, что в железе будет работать аналогично. Так что, симулятором можно и нужно пользоваться, если он позволяет облегчить решение задачи. Это не зло, это инструмент...
--------------------
Любой, заслуживающий внимания, опыт приобретается себе в убыток...
|
|
|
|
|
Apr 3 2009, 20:19
|
дятел
    
Группа: Свой
Сообщений: 1 681
Регистрация: 13-05-06
Из: Питер
Пользователь №: 17 065

|
Цитата(Goodefine @ Apr 3 2009, 14:27)  Не всегда верно. Любой симулятор это инструмент. А инструмент нужно правильно применять. ............ Недостаток - на руках нет, жду когда привезут. Без симулятора курил бы бамбук. А так, программа уже почти готова, Очень даже поддержу +100 У меня например железо вобще не всегда доходит до меня в "минипроектах" типа 1-4кб на AVR, по этому проверка в протеусе это лучше чем ничего... ЗЫ Ни разу из-за протеуса траблов не было... но я конечно знаю как его пользовать... Цитата(singlskv @ Apr 4 2009, 00:05)  Очень даже поддержу +100 У меня например железо вобще не всегда доходит до меня в "минипроектах" типа 1-4кб на AVR, по этому проверка в протеусе это лучше чем ничего...
ЗЫ Ни разу из-за протеуса траблов не было... но я конечно знаю как его пользовать... Наврал... С PICом один раз была трабла, но это трабла скорее даташита... Чтение значения пина отданного компаратору...
|
|
|
|
|
  |
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|