Крайние значения ШИМ в Proteus
12.03.2011, 12:25
|
|
|
Временная регистрация
Регистрация: 20.05.2010
Сообщений: 64
Сказал спасибо: 8
Сказали Спасибо 2 раз(а) в 2 сообщении(ях)
|
Крайние значения ШИМ в Proteus
Приспичило мне сделать ПИ(или как его там) регулятор температуры для сушилки фоторезиста.
Проект уже полностью написан и отлажен в Протеусе.
НО заметил я в нем одну странность, при минимальном (0) и максимальном (250 - так настроен таймер) значениях, ШИМ полностью не выключается и не полностью включается.
Т.е. при значении 0 на его осцике видно что на выходе не чистый 0, а проскакивают еще короткие 1. Тоже со значением 250, только наоборот.
Вот сижу и думаю, толи Протос мозги в очередной раз пудрид, то ли так и задумано в АВРовских таймерах. Хотя во всех "учебниках" по АВР написано что все должно быть чисто.
Вообщем если есть у кого какие мысли....
З.Ы. Инициализация таймеров стандартная, сгенерированная кодевиженовским генератором.
|
|
|
|
12.03.2011, 13:15
|
|
|
Почётный гражданин KAZUS.RUN
Регистрация: 13.10.2007
Адрес: Беларусь
Сообщений: 8,026
Сказал спасибо: 60
Сказали Спасибо 3,941 раз(а) в 2,302 сообщении(ях)
|
Re: Крайние значения ШИМ в Proteus
Когда в регистре сравнения число 255 (максимум) - на выходе постоянный уровень. Когда 0 - на выходе импульсы длиной в 1 тик
|
|
|
|
12.03.2011, 15:55
|
|
|
Временная регистрация
Регистрация: 20.05.2010
Сообщений: 64
Сказал спасибо: 8
Сказали Спасибо 2 раз(а) в 2 сообщении(ях)
|
Re: Крайние значения ШИМ в Proteus
Значит дело в протосе...
Еще помню когда в регистр загонял 255 (максимум) он мне на выходе давал чистый 0.
Ну да бог с ним... Как можно с этим косяком бороться, не в протосе, а в реале? Какие могут быть варианты?
Тормозить таймер не вариант, он еще используется для отсчетов времени, поэтому и максимум у него 250.
|
|
|
|
13.03.2011, 11:06
|
|
|
Временная регистрация
Регистрация: 20.05.2010
Сообщений: 64
Сказал спасибо: 8
Сказали Спасибо 2 раз(а) в 2 сообщении(ях)
|
Re: Крайние значения ШИМ в Proteus
А если использовать режим Phase Correct PWM Mode?
|
|
|
|
13.03.2011, 11:33
|
|
|
Вид на жительство
Регистрация: 07.03.2005
Сообщений: 300
Сказал спасибо: 13
Сказали Спасибо 117 раз(а) в 62 сообщении(ях)
|
Re: Крайние значения ШИМ в Proteus
Сообщение от DimanVIP
|
|
Вот сижу и думаю, толи Протос мозги в очередной раз пудрид, то ли так и задумано в АВРовских таймерах. Хотя во всех "учебниках" по АВР написано что все должно быть чисто.
|
PROTEUS не при чем. Работает правильно. Вот перевод даташита, сделанный Беловым. То же самое у меня и на ATmega8.
Манипулирование со вторым абзацом не привело ни к чему хорошему.
|
|
|
|
13.03.2011, 14:04
|
|
|
Почётный гражданин KAZUS.RUN
Регистрация: 25.05.2010
Адрес: г. Королёв
Сообщений: 8,487
Сказал спасибо: 30
Сказали Спасибо 3,070 раз(а) в 2,011 сообщении(ях)
|
Re: Крайние значения ШИМ в Proteus
Сообщение от DimanVIP
|
Значит дело в протосе...
Еще помню когда в регистр загонял 255 (максимум) он мне на выходе давал чистый 0.
|
Дело в незнании матчасти. Вам уже объяснили - как оно работает.
"разруха не в клозетах, а в головах" - (Профессор Преображенский. "Собачье сердце" М.А.Булгаков.)
Последний раз редактировалось omercury; 13.03.2011 в 14:10.
|
|
|
|
15.03.2011, 10:34
|
|
|
Временная регистрация
Регистрация: 20.05.2010
Сообщений: 64
Сказал спасибо: 8
Сказали Спасибо 2 раз(а) в 2 сообщении(ях)
|
Re: Крайние значения ШИМ в Proteus
Теорию я более-менее знаю, и там было указано что таких "косяков" нет.
Ну да бог с ними... Возьму этот момент на заметку.
Вообщем перевел режим работы на Phase Correct и все стало норм.
|
|
|
|
Ваши права в разделе
|
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения
HTML код Выкл.
|
|
|
Часовой пояс GMT +4, время: 05:48.
|
|