Микроконтроллеры, АЦП, память и т.д Темы касающиеся микроконтроллеров разных производителей, памяти, АЦП/ЦАП, периферийных модулей... |
14.04.2010, 20:21
|
|
Прохожий
Регистрация: 25.11.2009
Сообщений: 6
Сказал спасибо: 1
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
|
Расчёт скважности ШИМ
Допустим стоит задача реализации управления ШИПом на МК AVR tiny и необходимо, чтобы напряжение на выходе ШИПа задавалось с клавиатуры. Пусть задаётся с клавиатуры определённое значение напряжение, подрограмма опроса клавиатуры опреределяет это значение и заносит в какой-нибудь регистр (напряжение U1). Есть нужное значение напряжения - U1, есть значение номинального напряжения Uн. Т.е. необходимо определить скважность. Я так понимаю X*Uн=U1 (где Х - скважность), следовательно
Х=U1/Uн.
Теперь используя таймер-счётчик в режиме, допустим FastPWM, необходимо определить значение числа, которое необходимо занести в регистр сравнения OCR1х. Пусть будет разрешающая способность 8бит, т.е. отсчёт будет вестись от 0 до 255. Пусть частота генерируемого сигнала известна и равна - Ч. Время работы - Тр.
Следовательно скважность Х=(1/Ч)/Тр. Т.е. таймер в режиме FastPWM досчитает от о до 255 за время 1/Ч...
В общем получается кокой-то мудрёный алгоритм расчёта. Возможно ли проще определить потребное значение???
З.Ы. Не судите строго дилетанта.
__________________
В ВУЗе тяжело учиться только первых 10 лет...
|
|
|
|
14.04.2010, 21:36
|
|
Почётный гражданин KAZUS.RU
Регистрация: 13.10.2007
Адрес: Беларусь
Сообщений: 8,048
Сказал спасибо: 60
Сказали Спасибо 3,954 раз(а) в 2,309 сообщении(ях)
|
Re: Расчёт скважности ШИМ
Только одним ШИМом невозможно выставить точное напряжение - оно будет плавать в зависимости от тока нагрузки. Делайте обратную связь через АЦП и программно подстраивайте коэффициент ШИМа так, чтобы напряжение на входе АЦП (выходе ШИМа) соответствовало введенному с клавиатуры значению
|
|
|
|
15.04.2010, 02:48
|
|
Почётный гражданин KAZUS.RU
Регистрация: 07.10.2007
Адрес: Луганск
Сообщений: 1,816
Сказал спасибо: 13
Сказали Спасибо 399 раз(а) в 214 сообщении(ях)
|
Re: Расчёт скважности ШИМ
Сообщение от Palaten'4ik
|
В общем получается кокой-то мудрёный алгоритм расчёта.
|
А чего уж проще то ? Просче только методом научного втыка ))))
Сообщение от niXto
|
оно будет плавать в зависимости от тока нагрузки.
|
Кто же прямо с ШИМ в нагрузку выдаёт?. После RС фильтра поставить ОУ с моцным транзюстелем, и никто не будет плавать ))))
__________________
"picavr(ГАВ)мыло.ру" USB_Analyzer, Digital_Storage_Oscilloscope "picavr.kr1.ru" заказы в Китай компонентов/изготовление: плат/ЖКИ/мембраных клавиатур/имп трансформаторов
Последний раз редактировалось picavr; 15.04.2010 в 02:51.
|
|
|
|
15.04.2010, 07:16
|
|
Временная регистрация
Регистрация: 13.10.2009
Сообщений: 81
Сказал спасибо: 2
Сказали Спасибо 8 раз(а) в 8 сообщении(ях)
|
Re: Расчёт скважности ШИМ
Не совсем понятен вопрос. Может Вас интересует как определить значение регистра сравнения для выдачи определенного напряжения ? Тут формула проще:
Z = Uпит/256, где Z некая константа
OCRx = Uвых / Z
|
|
|
|
15.04.2010, 21:41
|
|
Прохожий
Регистрация: 25.11.2009
Сообщений: 6
Сказал спасибо: 1
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
|
Re: Расчёт скважности ШИМ
Сообщение от Classic001
|
Не совсем понятен вопрос. Может Вас интересует как определить значение регистра сравнения для выдачи определенного напряжения ? Тут формула проще:
Z = Uпит/256, где Z некая константа
OCRx = Uвых / Z
|
Именно этот вопрос меня и интересует. Нагрузка ШИПа не имеет значения, стоит вопрос только выдачи нужного напряжения. Извиняюсь за не совсем конкретную постановку задачи.
Если организовать алгоритм, предложенный Classic001, то как реализовать операцию деления? Насколько я знаю в системе команд семейства tiny нет арифметической команды деления.
__________________
В ВУЗе тяжело учиться только первых 10 лет...
|
|
|
|
15.04.2010, 22:59
|
|
Временная регистрация
Регистрация: 13.10.2009
Сообщений: 81
Сказал спасибо: 2
Сказали Спасибо 8 раз(а) в 8 сообщении(ях)
|
Re: Расчёт скважности ШИМ
Домножте Uпит и Uвых на 16 - повысится точность (int Z). В Си попробовал: компилятор вполне нормально хавает вышенаписанные мной формулы даже без подключения модуля math. С асмом, думаю, будет сложнее.
Кстати, не забудте вычислять для вывода на экран точное значение выходного напряжения
Последний раз редактировалось Classic001; 15.04.2010 в 23:02.
|
|
|
Сказали "Спасибо" Classic001
|
|
|
Ваши права в разделе
|
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения
HTML код Выкл.
|
|
|
Часовой пояс GMT +4, время: 04:37.
|
|