Навигация
· Главная
· Архив новостей
· Лаборатория
· Личные сообщения
· Личный кабинет
· О нас
· Пользователи
· Справочник
· Статьи
· Форум
· Школа
· Энциклопедия

Irbislab.ru :: Просмотр темы - Есть вопрос по поводу периода ШИМ
 FAQFAQ   ПоискПоиск   ГруппыГруппы   ПрофильПрофиль  Войти и проверить личные сообщенияВойти и проверить личные сообщения   ВходВход 

Есть вопрос по поводу периода ШИМ

 
Начать новую тему   Ответить на тему    Список форумов Irbislab.ru -> Площадка молодняка
Предыдущая тема :: Следующая тема  
Автор Сообщение
Антон
Разведчик
Разведчик


Зарегистрирован: Jun 19, 2009
Сообщения: 150

СообщениеДобавлено: Вс Авг 29, 2010 10:08:14    Заголовок сообщения: Есть вопрос по поводу периода ШИМ Ответить с цитатой

Есть статья по зарядному устройству http://www.gaw.ru/html.cgi/txt/app/Atmel/micros/avr/AVR450.htm
Там идет расчет требуемой индуктивности дросселя для понижающего преобразователя. Используется 8-битный таймер, но почему-то в формуле расчета периода ШИМ используется значение в числителе формулы 510, а не 255. Подняв ДШ на контроллер, я извлек из него то, что изображено на рисунке,и если я все правильно понял, то все же там должно быть значение 255! Shocked Где я ошибаюсь? Embarassed (формула на рисунке - мои имышления, как я понял написанное в ДШ)
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
One
Разведчик
Разведчик


Зарегистрирован: Oct 10, 2007
Сообщения: 259
Откуда: Ukraine, Kyiv

СообщениеДобавлено: Вс Авг 29, 2010 13:09:04    Заголовок сообщения: Ответить с цитатой

На что делить зависит от режима ШИМ. Если таймер работает в режиме fast PWM (быстрый ШИМ), то делить нужно на 256 (а не 255), если работает в режиме phase correct (фазокорректированный) то делить на 510 (а не 512 или 511 как иногда ошибочно считают). И если у Вас выбран режим phase & frenc. correct, то делить нужно на то число которое у Вас внесено в регистр определяющий TOP-значение + 1.

Пример:

Кварц: 7,372`8 МГц
ICR=383

Значит: 7`372`800 Hz/(383+1) = 19`200 Hz

_________________
Тротила для дураков не бывает® One
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Отправить e-mail
Антон
Разведчик
Разведчик


Зарегистрирован: Jun 19, 2009
Сообщения: 150

СообщениеДобавлено: Вс Авг 29, 2010 13:42:53    Заголовок сообщения: Ответить с цитатой

В дш написано примерно следующее: "При двунаправленной работе максимальная частота ШИМ-сигнала меньше, чем при однонаправленной работе, однако, за счет такой особенности, как симметричность в режимах ШИМ с двунаправленной работой, данные режимы предпочитают использовать при решении задач управления приводами."

В чем смысл применения ФЧК для понижающего преобразователя? Почему нельзя/хуже применить обычную быструю шим, при этом повысив частоту и снизив требуемую индуктивность дросселя?
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
One
Разведчик
Разведчик


Зарегистрирован: Oct 10, 2007
Сообщения: 259
Откуда: Ukraine, Kyiv

СообщениеДобавлено: Вс Авг 29, 2010 15:56:53    Заголовок сообщения: Ответить с цитатой

Проблема быстрого ШИМ в том что при минимальном значении в регистре управления (OCR0=0x00;) и прямом (не инверсном) выходе на выводе ШИМ-канала будет не сплошной лог. 0, а "иголка" (лог. 1) составляющая 1/256 периода. При максимальном значении будет сплошная лог. 1. Что-бы избавиться от этой "иголки" при минимальном значении. Включаете канал как инверсный, и в регистр канал пишите инвертированное значение. Тоесть:
Си:

unsigned char up_count, PWM_data;

up_count++;
PWM_data=up_count^0xFF;
OCR0=PWM_data;

Asm:
.def up_count =r2
.def PWM_data =r3

inc up_count ;up_count++
mov PWM_data,up_count ;PWM_data=up_count
com PWM_data ;~PWM_data

out OCR0,PWM_data ;

При этом обновлять OCR0 необходимо по преполнению этого же таймера! По крайней мере так это делаю я. Так работает у меня преобразователь для светодиодного RGB освещения на балконе.

_________________
Тротила для дураков не бывает® One
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Отправить e-mail
Антон
Разведчик
Разведчик


Зарегистрирован: Jun 19, 2009
Сообщения: 150

СообщениеДобавлено: Вс Авг 29, 2010 16:10:28    Заголовок сообщения: Ответить с цитатой

Спасибо за совет, намотаю на ус.

Конкретное применение данной конфигурации - зарядное устройство, при входном напряжении даже 15В, 1/256 это 0,06 В, в которых нет смысла в данной задаче, что если минимальное значение "1" вообще исключить в программе?, ведь даже 10 (0,6В) при зарядке аккумуляторов не имеет практического значения. Чтобы не переходить на "инверсный режим" Мне например проще остановить таймер и сбросить OC0, для прекращения заряда. Что думаете?
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
One
Разведчик
Разведчик


Зарегистрирован: Oct 10, 2007
Сообщения: 259
Откуда: Ukraine, Kyiv

СообщениеДобавлено: Вс Авг 29, 2010 16:37:09    Заголовок сообщения: Ответить с цитатой

Правильное решение, только когда остановите таймер на всякий пожарный, можете отключить канал таймера (disconnect) и сбросить в "0" линию порта на которой висит выход таймера (PORT.x=0;).

Кстати да, чуть не забыл. Если Вам точность не принципиальна, и многошаговость ШИМ-а не нужна, тогда можно использовать ШИМ с урезанием числа ступеней. например TOP-значение таймера установить 100. Таким образом частота ШИМ-а повысится, к примеру 7372800 Гц/100 = 73`728 Гц при невысокой частоте кварца. Или же, потренируйтесь работать с PLL (он имеется в Тане26 или Таня461 Вам поможет). Таким образом можно выжать 64 МГц / 256 = 250`000 Гц.

Что-бы разговор далее был более детальным, укажите тип МК, частоту кварца, а также какой таймер собираетесь использовать.

_________________
Тротила для дураков не бывает® One
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Отправить e-mail
Антон
Разведчик
Разведчик


Зарегистрирован: Jun 19, 2009
Сообщения: 150

СообщениеДобавлено: Вс Авг 29, 2010 17:05:38    Заголовок сообщения: Ответить с цитатой

Думаю повторить указанную выше опорную разработку, только прикрутить дисплей и "Блэк джек со шлюхами" на свой вкус. Мк буду использовать ATmega 88 или 168, чтобы не мелочиться - кварц на 20 МГц. Таймера 0 (8 битный) хватит более чем. Разрядность конечно уменьшу, ни к чему шаг 0,06 В
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
One
Разведчик
Разведчик


Зарегистрирован: Oct 10, 2007
Сообщения: 259
Откуда: Ukraine, Kyiv

СообщениеДобавлено: Вс Авг 29, 2010 18:22:36    Заголовок сообщения: Ответить с цитатой

А PLL не интересно?
_________________
Тротила для дураков не бывает® One
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Отправить e-mail
Антон
Разведчик
Разведчик


Зарегистрирован: Jun 19, 2009
Сообщения: 150

СообщениеДобавлено: Вс Авг 29, 2010 22:40:43    Заголовок сообщения: Ответить с цитатой

Я ни разу не занимался этим. Если не ошибаюсь, это ФАПЧ? Можно подробнее, для тех, кто в танке.
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
One
Разведчик
Разведчик


Зарегистрирован: Oct 10, 2007
Сообщения: 259
Откуда: Ukraine, Kyiv

СообщениеДобавлено: Пн Авг 30, 2010 11:06:02    Заголовок сообщения: Ответить с цитатой

Да это синтезатор частоты на базе ФАПЧ. Ничего особенного, просто нужно выбрать источник для таймера PLL 64 MHz, и фуз установить для работы PLL. В CVAVR кодевизард сам его проинициализирует. Меня только не устраивает что ФАПЧ есть в некоторых тинях, в них как известно аппаратного умножения нет, а аппаратный множитель по зарез как нужен в некоторых моих задачах. Программное умножение малость тормознутое. Аппаратное умножение есть во всех мегах и в спецефической AT90PWM3B, но этот чип меня не устраивает, он дорог и редкостный. Вот если бы ATmega48 такое могла...
_________________
Тротила для дураков не бывает® One


Последний раз редактировалось: One (Вт Авг 31, 2010 09:31:13), всего редактировалось 1 раз
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Отправить e-mail
Антон
Разведчик
Разведчик


Зарегистрирован: Jun 19, 2009
Сообщения: 150

СообщениеДобавлено: Пн Авг 30, 2010 22:48:05    Заголовок сообщения: Ответить с цитатой

Если вернуться к нашим баранам, то в контексте вышеуказанного применения, в чем принципиальная разница : ШИМ с ФЧК и обычный FastPWM ? Насколько критично?
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
One
Разведчик
Разведчик


Зарегистрирован: Oct 10, 2007
Сообщения: 259
Откуда: Ukraine, Kyiv

СообщениеДобавлено: Вт Авг 31, 2010 09:59:52    Заголовок сообщения: Ответить с цитатой

Фокус быстрого ШИМ относитель фазокорректированного, в том что при изменении заполнения быстрого ШИМ происходит паразитная модуляция по фазе, честно сказать не знаю где это может быть критично. Иначе говоря, при за полнении ШИМ его спад будет двигаться вправо относительно фронта. При ФК ШИМ-е при заполнении импульс будет расширяться в обе стороны, то есть от своего центра в сторону фронта и в сторону спада.

Примерно так Smile

_________________
Тротила для дураков не бывает® One
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Отправить e-mail
Антон
Разведчик
Разведчик


Зарегистрирован: Jun 19, 2009
Сообщения: 150

СообщениеДобавлено: Вт Авг 31, 2010 17:12:29    Заголовок сообщения: Ответить с цитатой

Ну в данном применении сдвиг фазы совсем некритичен, использую просто fast PWM
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
One
Разведчик
Разведчик


Зарегистрирован: Oct 10, 2007
Сообщения: 259
Откуда: Ukraine, Kyiv

СообщениеДобавлено: Вт Авг 31, 2010 17:56:17    Заголовок сообщения: Ответить с цитатой

Я пока ещё ни одного случая не встретил, что-бы фазовая подмодуляция скольнибудь заметно мешала.
_________________
Тротила для дураков не бывает® One
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Отправить e-mail
Thomas
Кадет
Кадет


Зарегистрирован: Jan 09, 2011
Сообщения: 66

СообщениеДобавлено: Чт Янв 13, 2011 16:25:31    Заголовок сообщения: Ответить с цитатой

One писал(а):
Меня только не устраивает что ФАПЧ есть в некоторых тинях, в них как известно аппаратного умножения нет, а аппаратный множитель по зарез как нужен в некоторых моих задачах. Программное умножение малость тормознутое. Аппаратное умножение есть во всех мегах и в спецефической AT90PWM3B, но этот чип меня не устраивает, он дорог и редкостный. Вот если бы ATmega48 такое могла...
One, если не секрет - а сколько у вас стоят указанные МК от Атмель? Мне почему интересно - набрёл недавно на МК с Cortex-M3 - стоимость младших моделей меньше, чем стоимость младших ATMeg в наших локальных магазинах. Забавно получается - полноценное 32-ух битное ядро, куча перефирии - стоят дешевле, чем уже морально устаревшее 8-ми битное ядро (да, сравнивать цены в разных магазинах не корректно, но всё же).
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
Показать сообщения:   
Начать новую тему   Ответить на тему    Список форумов Irbislab.ru -> Площадка молодняка Часовой пояс: GMT + 3
Страница 1 из 1

 
Перейти:  
Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах
Вы не можете вкладывать файлы
Вы не можете скачивать файлы


Powered by phpBB © 2001-2003 phpBB Group




Web-ring: электроника, электронные компоненты и приборы
rand prev next

ChipFind: поисковая система по поставщикам радиокомпонентов Rambler\'s Top100 Рейтинг@Mail.ru


Сайт оптимизирован для отображения в браузере Mozilla Firefox версии 2 и выше с разрешением 1024*768 точек и выше.

При неполадках с отображением кнопок, обновите проигрыватель Macromedia Flash.

PHP-Nuke Copyright © 2005 by Francisco Burzi. This is free software, and you may redistribute it under the GPL. PHP-Nuke comes with absolutely no warranty, for details, see the license.

Открытие страницы: 0.09 секунды
The Russian localization - project Rus-PhpNuke.com