Микроконтроллеры, АЦП, память и т.д Темы касающиеся микроконтроллеров разных производителей, памяти, АЦП/ЦАП, периферийных модулей... |
08.02.2009, 22:59
|
|
Вид на жительство
Регистрация: 13.05.2005
Сообщений: 386
Сказал спасибо: 9
Сказали Спасибо 44 раз(а) в 37 сообщении(ях)
|
Вопрос по ШИМ на нулевом таймере AVR.
Читаю доку на мегу16 :
Граничные условия для регистра OCR0 передставляют собой отдельные случаи при генерации ШИМ-сигнала на выходе в режиме "fast PWM". Если OCR0 равен BOTTOM, то на выходе будут узкие пики для каждого MAX+1 тактового импульса. Установка OCR0, равного MAX, дает постоянно высокий или низкий уровни (зависит от полярности выходного сигнала, заданной битами COM01:0).
При симуляции (в режиме: выход в 1 при TCNT0=BOTTOM, и в 0 при совпавпадении TCNT0=OCR0) имею:
1. Если OCR0=(BOTTOM=всегда 0), то на выходе всегда нуль. Никаких узких пиков.
2. Если OCR0=(MAX=всегда 255), то на выходе нормальный ШИМ, с заполнением 255/256. Постоянного уровня нет.
Что это?
ошибка в доке?
и что есть "узкий пик" в доке?
Насколько я понимаю, нельзя сделать шим с заполнением от 0/256 до 256/256. Можно только [от 0/256 до 255/256] или [от 1/256 до 256/256]. А если хочется получить и второй граничный случай, то нужно это программно отслеживать, выключать ШИМ, и включать ножку на простоянный уровень руками?
Прикрепленный файл: 866621.rar
|
|
|
|
08.02.2009, 23:19
|
|
Почётный гражданин KAZUS.RU
Регистрация: 13.05.2006
Адрес: Москва
Сообщений: 3,559
Сказал спасибо: 76
Сказали Спасибо 326 раз(а) в 230 сообщении(ях)
|
Руками можно конечно. А как реально это МК покажет и АВРстудия.
В моем примере к задаче 8 - http://avr123.nm.ru/z8.htm
при максимальном ШИМ - есть короткие провалы на осциллографе, т.е. "1" не постоянно в PROTEUS.
__________________
Обучалка AVR PIC ARM начинающим программирование курс самоучитель шаг за шагом с нуля, CVAVR, PROTEUS, MPLAB, WinAVR, IAR, KEIL электроника - http://proavr.narod.ru
|
|
|
|
09.02.2009, 00:20
|
|
Вид на жительство
Регистрация: 13.05.2005
Сообщений: 386
Сказал спасибо: 9
Сказали Спасибо 44 раз(а) в 37 сообщении(ях)
|
Дурите вы нашего брата чайника, уважаемый avr123-nm-ru.
Думал правда на первом таймере по другому, ан нет, все так же. И та же беда написана в документации.
Цитата с вашего примера
"// Теперь ШИМ 100% - т.е. на ножке PD5 лог. "1""
А на самом деле не 100%, а 1023/1024. И вроде все верно: когда таймер становится 1023 происходит совпадение с регистром компаратора и выход меняется, при следующем такте таймер становится 1024=0 и выход опять меняется = возвращается в первоначальное состояние.
Так что нет там 100% заполнения.
|
|
|
|
09.02.2009, 00:32
|
|
Почётный гражданин KAZUS.RU
Регистрация: 13.05.2006
Адрес: Москва
Сообщений: 3,559
Сказал спасибо: 76
Сказали Спасибо 326 раз(а) в 230 сообщении(ях)
|
Да нет, не дурю. 100 это значит в целых числах.
Если бы я написал 100.0 тогда бы дирул, так как ШИМ там 99.9%
А в целых это именно 100.
__________________
Обучалка AVR PIC ARM начинающим программирование курс самоучитель шаг за шагом с нуля, CVAVR, PROTEUS, MPLAB, WinAVR, IAR, KEIL электроника - http://proavr.narod.ru
|
|
|
|
09.02.2009, 00:53
|
|
Вид на жительство
Регистрация: 13.05.2005
Сообщений: 386
Сказал спасибо: 9
Сказали Спасибо 44 раз(а) в 37 сообщении(ях)
|
avr123-nm-ru
Не-е-е, тут знаете ли принципиальный вопрос стоял: ЕДИНИЦА ШИМ или меньше во всех разрядах точности? Так что дурите нас, и точка.
Более того, вы нигде дальше в своем учебнике не упоминаете про этот провал в нуль. А даже наоборот, усиливаете эти 100%. Цитата:
После выполнения этого участка программы на ножку PD5 выводится
ШИМ сигнал величиной 100 % - т.е. на ней постоянно присутствует
высокий уровень - лог. "1"
И вообще вы там в корне ошибаетесь деля на 10.23, видимо вы считаете, что период ШИМ равен 1023 такта, а на самом деле 1024.
Может вам АСМ вспомнить и начать считать каждый такт программы. За это я Си и не люблю: "полный тяп-ляп" и непонятно, сколько времени программа исполняется. В АСМе все прозрачно.
|
|
|
|
09.02.2009, 01:17
|
|
Почётный гражданин KAZUS.RU
Регистрация: 13.05.2006
Адрес: Москва
Сообщений: 3,559
Сказал спасибо: 76
Сказали Спасибо 326 раз(а) в 230 сообщении(ях)
|
Сообщение от chapa
|
Не-е-е, тут знаете ли принципиальный вопрос стоял: ЕДИНИЦА ШИМ или меньше во всех разрядах точности?
|
Вопрос то тут был - я вам и ответил ТУТ, что есть провалы короткие.
Сообщение от chapa
|
видимо вы считаете, что период ШИМ равен 1023 такта, а на самом деле 1024.
|
Просто разница между 1 и 0.999 не велика для систем работающих в реальном мире создаваемых любителями.
Если написать "делить на 1024" то непонятно будет как сделать ШИМ 100% - придется все это расписывать.
Это будет точнее но ИМХО менее понятно. Возможно надо подредактировать.
__________________
Обучалка AVR PIC ARM начинающим программирование курс самоучитель шаг за шагом с нуля, CVAVR, PROTEUS, MPLAB, WinAVR, IAR, KEIL электроника - http://proavr.narod.ru
|
|
|
|
09.02.2009, 01:48
|
|
Вид на жительство
Регистрация: 13.05.2005
Сообщений: 386
Сказал спасибо: 9
Сказали Спасибо 44 раз(а) в 37 сообщении(ях)
|
avr123-nm-ru, ок! Без обид. Но точность превыше всего.
Просто я сейчас рассматриваю ситуацию, когда внешний тактовый вход - переход сети через нуль, а регулировка - целым числом периодов из 100. и понял, что просто ШИМом, я не достигну И полного отключения нагрузки (заполнение=0), И полного включения (заполнение=100).
Видимо в документации атмеловцы ошиблись. Попробую написать им в поддержку.
|
|
|
|
09.02.2009, 03:23
|
|
Почётный гражданин KAZUS.RU
Регистрация: 13.05.2006
Адрес: Москва
Сообщений: 3,559
Сказал спасибо: 76
Сказали Спасибо 326 раз(а) в 230 сообщении(ях)
|
Ни каких обид. Вам СПАСИБО ! что заметили и указали.
Щас сидел все исправлял, уже 2:21
буду закачивать обновленную инфу.
Я посмотрел - в исходниках к задачам были расчеты там было указано что период 1024.
__________________
Обучалка AVR PIC ARM начинающим программирование курс самоучитель шаг за шагом с нуля, CVAVR, PROTEUS, MPLAB, WinAVR, IAR, KEIL электроника - http://proavr.narod.ru
|
|
|
|
09.02.2009, 16:42
|
|
Почётный гражданин KAZUS.RU
Регистрация: 07.10.2007
Адрес: Луганск
Сообщений: 1,816
Сказал спасибо: 13
Сказали Спасибо 399 раз(а) в 214 сообщении(ях)
|
Сообщение от avr123-nm-ru
|
Видимо в документации атмеловцы ошиблись. Попробую написать им в поддержку.
|
Да это у них в порядке вещей ))))))) хоть с документацией хоть с кристаллами ))))
|
|
|
|
09.02.2009, 16:57
|
|
Почётный гражданин KAZUS.RU
Регистрация: 13.05.2006
Адрес: Москва
Сообщений: 3,559
Сказал спасибо: 76
Сказали Спасибо 326 раз(а) в 230 сообщении(ях)
|
Только вы не мой текст процитировали.
__________________
Обучалка AVR PIC ARM начинающим программирование курс самоучитель шаг за шагом с нуля, CVAVR, PROTEUS, MPLAB, WinAVR, IAR, KEIL электроника - http://proavr.narod.ru
|
|
|
|
Ваши права в разделе
|
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения
HTML код Выкл.
|
|
|
Часовой пояс GMT +4, время: 06:11.
|
|