Главная » Микроконтроллеры
Призовой фонд
на август 2016 г.
1. Мультиметр Vici VC97
Паяльник
2. Мультитестер LCR-T5
Паяльник
3. Регулируемый паяльник 60 Вт
Паяльник
4. 350 руб.
От пользователей

Похожие статьи:


Регулятор мощности

Принципиальная схема регулятора мощности
Рис.1 Принципиальная схема регулятора мощности

На рис.1 приведена схема простого регулятора мощности на микроконтроллере ATtiny2313(V). Регулятор предназначен для работы с активной нагрузкой, подключаемой к сети напряжением 220 В. Напряжение подается на вход X1, нагрузка подсоединяется к выходу X3. Источником тактовой частоты DD1 выбран внутренний генератор сторожевого таймера, работающий на частоте ≈128 кГц. Благодаря этому энергопотребление устройства очень мало. Общий ток не превышает 15 мА, что легко позволяет реализовать также бестрансформаторное питание.

Регулирование мощности нагрузки производится изменением коэффициента заполнения импульсов на ШИМ-выводе OC0B DD1. Импульсы поступают на сток транзистор VT1. Он включен в диагональ моста VD5…VD8 и может работать без радиатора с токоприемниками до 400 Вт. Из-за слишком высокого уровня помех генерируемых в сеть, ШИМ-модуляция не является самым лучшим способ управления потребителями большей мощности.   

Для формирования ШИМ-импульсов на выводе OC0B таймер-счетчик 0 функционирует в режиме Fast PWM (быстрый ШИМ). Частота импульсов FOC0B выбрана постоянной. Она зависит от модуля счета, определяемого содержимым регистра OCR0A:
FOC0B = Fclk/(OCR0A*N),
где Fclk – частота тактового генератора, N-коэффициент деления предделителя частоты таймера-счетчика 2.

Коэффициент заполнения импульсов αOC0B, а значит и мощность, отдаваемая в нагрузку, будет пропорционален содержимому регистра совпадения OCR0B:
αOC0B = OCR0B/OCR0A.

В данном примере в настройках микроконтроллера выбраны N=1 (предделитель отключен), OCR0A=100, т.е. FOC0B = 1280 Гц и αOC0B = OCR0B/100. Изменяя программно значения OCR0B от 0 до 100, получим диапазон регулировки мощности 0…100%. 

Значение мощности нагрузки постоянно отображается 3-разрядном индикаторе с общим анодом HG1. Циклическая смена символов, а также опрос кнопок SB1…SB3, происходят во время прерывания по совпадению регистра OCR1AH:OCR1AL и счетного регистра таймера-счетчика 1. Таймер-счетчик 1 при этом работает в режиме CTC (сброс при совпадении). Частота FOCR1A с которой происходят прерывания:
FOCR1A = Fclk/((OCR1AH:OCR1AL+1)*N),
где N-коэффициент деления предделителя частоты таймера-счетчика 1.

В программе FOCR1A = 200 Гц (N=1, OCR1AH:OCR1AL=639). Таким образом, смена каждого из трех символов и опрос кнопок происходят каждые 20 мс (т.е. с частотой 200/4=50 Гц).

Алгоритм работы регулятора мощности
Рис.2 Алгоритм работы регулятора мощности

Алгоритм работы регулятора мощности приведен на рис.2. В основном цикле программа реагирует на нажатие кнопок и производит двоично-десятичное преобразование величины мощности нагрузки в 3-разрядное число (0…100) для вывода на индикатор.

Каждое нажатие SB1 заставляет изменить состояние выхода на противоположное: нагрузка подключается с указанной мощностью, либо обесточивается. Признаком активизированного выхода является светящаяся десятичная точка в младшем разряде индикатора. Кнопки SB2 и SB3, соответственно, уменьшают и увеличивают мощность в нагрузке. При длительном нажатии модификация параметра происходят быстрее (≈10% в секунду). Если ни одна кнопка не нажата, то через 5 с после последнего изменения, значение мощности и состояния выхода (вкл./выкл.) сохраняются в EEPROM-памяти. Для защиты от зависания включен сторожевой таймер с периодом сброса 125 мс.

Ниже вы можете скачать исходник и прошивку

Перейти к следующей части:

Список радиоэлементов

Обозначение Тип Номинал Количество ПримечаниеМагазинМой блокнот
DA1 Линейный регулятор
L78L05
1 Поиск в FivelВ блокнот
DD1 МК AVR 8-бит
ATtiny2313
1 ATtiny2313V-10PUПоиск в FivelВ блокнот
VT1 MOSFET-транзистор
HIRF740
1 Поиск в FivelВ блокнот
VD1-VD4 Выпрямительный диод
1N4007
4 Поиск в FivelВ блокнот
VD5-VD8 Выпрямительный диод
1N5408
4 Поиск в FivelВ блокнот
С1, С4 Электролитический конденсатор220 мкФ 16 В2 Поиск в FivelВ блокнот
С2, С3 Конденсатор0.1 мкФ2 Поиск в FivelВ блокнот
R5 Резистор
33 Ом
1 Поиск в FivelВ блокнот
R6-R13 Резистор
1 кОм
8 Поиск в FivelВ блокнот
Т1 Трансформатор8-16 Вольт1 Поиск в FivelВ блокнот
HG1 Светодиодный цифровой индикаторTOT-3361AH-IN1 Поиск в FivelВ блокнот
SB1-SB3 Кнопка3 Поиск в FivelВ блокнот
Х1 Разьем для подключения питания1 Поиск в FivelВ блокнот
Х2 Разьем для подключения программатораISP1 Поиск в FivelВ блокнот
Х3 Разьем для подключения нагрузки1 Поиск в FivelВ блокнот
Добавить все

Скачать список элементов (PDF)

Прикрепленные файлы:

Теги:

Котов Игорь Юрьевич Опубликована: 2012 г. 0 0
Я собрал 0 0
x

Оценить статью

  • Техническая грамотность
  • Актуальность материала
  • Изложение материала
  • Полезность устройства
  • Повторяемость устройства
  • Орфография
0

Средний балл статьи: 0 Проголосовало: 0 чел.

Комментарии (5) | Я собрал (0) | Подписаться

0
Кэп #
А разве не нужна гальваническая развязка между управляющим элементом и МК?
Ответить
0
Алексей #
Какие фузы выставлять? Не плохо бы скриншот привести, к примеру для CodeVisionAVR
Ответить
0
kret_a_v #
А коллекторный мотор им можно регулировать? С мощностью 1000 Вт?
И можно ли вместо кнопок прилепить энкодер и как?
Подозреваю, что нужно выходной каскад видоизменить, порекомендуйте пожалуйста схемное решение
Прикрепленный файл: 4462646.gif
Ответить
0
kret_a_v #
Очень жаль , что ни кто не поддерживает эту статью ни здесь ни на форуме

Есть предложения по доработке программной части
-может ли кто то переделать прошивку под Энкодер вместо кнопок
-сделать прошивку под индикатор с общим катодом (-) ?
-нужно еще добавить в программу модуль защиты, т.е. при появлении высокого уровня на каком то входе ТИНИ2313 к примеру на 4 ноге - сброс ШИМ до 0, а при нажатии на энкодер плавное восстановление ШИМа
-не совсем корректна работа кнопки вкл/выкл (SB1) - сейчас при нажатии во время работы тухнет точка в последнем разряде и шим пропадает на выходе до повторного нажатия, лучше что бы при включении высвечивалось OFF при нажатии на SB1(вкл) высвечивалось последнее запомненное значение шим с плавным возрастанием его на выходе ТИНИ2313 при повторном нажатии на SB1(выкл) высвечивалось OFF с морганием и через некоторое время (1-2 сек) ТИНИ переходила бы в дежурный режим (гасила индикатор) для пробуждения нужно было бы нажать на энкодер (SB1) высвечивалось OFF с морганием и через некоторое время (1-2 сек) плавное восстановление ШИМа.
- нужно еще добавить в программу модуль обратной связи , т.е. при наличии импульсов от таходатчика на каком то входе ТИНИ2313, к примеру на 5 ноге, производилась бы коррекция шима на выходе (к примеру 1 импульс = 1 об/мин ), т.е в программе должен производится пересчет входных импульсов в битность шима , сравнение его с установленным с последующей корекцией на выходе.

Вот тогда бы получился отличный регулятор мощности.

Кстати, выложил печатки
Ответить
0
Den #
Не могли бы Вы выложить исходник прошивки, буду очень благодарен! Я только начинаю программировать и сложновато с нуля программу писать, хотелось бы делать что- то по образу. Заранее спасибо.
Ответить
Добавить комментарий
Имя:
E-mail:
не публикуется
Текст:
Защита от спама:
В чем измеряется электрическое сопротивление?
Файлы:
 
Для выбора нескольких файлов использйте CTRL

AVR-программатор USB ASP
AVR-программатор USB ASP
ELM327 OBD II — адаптер с поддержкой CAN UNI-T UT-61A
вверх