Меню

Регулировка с помощью микроконтроллер



ШИМ-регулятор на микроконтроллере ATmega8515

В своей статье я хочу представить проект ШИМ-регулятор на микроконтроллере Atmega8515 (даташит PDF) для управления какой-либо нагрузкой.

Что же такое ШИМ? ШИМ — это широтно-импульсная модуляция, иначе говоря-управление средним значением напряжения на нагрузке путём изменения скважности импульсов, управляющих ключом.
Скважность — один из классификационных признаков импульсных систем, определяющий отношение его периода следования (повторения) к длительности импульса.

Чтобы все встало на свои места привожу поясняющую картинку.

В данном примере будем управлять яркостью светодиода(5-ти ступенчатая регулировка) с помощью двух тактовых кнопок(+/-).

Итак для сборки ШИМ нам понадобится:

1) Микроконтроллер ATmega8515.
2) Тактовая кнопка — 2шт;
3) Резистор на 4,7кОм — 2шт;
4) Резистор на 200 Ом-1шт;
5) Панелька под микросхему DIP40;
6) Любой светодиод-1шт;
7) Стабилизированный источник питания для МК на 3-5В.

Принципиальная схема устройства:

Это устройство может изменять скважность импульсов с помощью двух тактовых кнопок S3(+) и S4(-), соответственно будет изменяться яркость светодиода.

Исходный код программы написан в среде CodeVisionAvr и представлен в конце статьи.

Небольшие комментарии к исходному коду:

В этой части кода мы прописываем обработчик внешнего прерывания(INT0/INT1).

Настраиваем порты микроконтроллера, устанавливаем условие глобальных прерываний от INT0 и INT1, разрешаем глобальные прерывания.

Цикл,Оператор выбора из множества вариантов, регистром OCR0 настраивается скважность импульса (1-255).

Фото готового устройства:

Схема безобразно проста и чтобы убедится в ее работоспособности устройство было собрано на обычной пластиковой обложке от какой-то папки.

Можно собрать ШИМ и на печатной плате (Плата нарисована в программе SprintLayout 5.0):

Несколько осциллограмм демонстрирующих изменение скважности импульсов с помощью двух тактовых кнопок::

Значение регистра OCR0= 50 Значение регистра OCR0= 100

Значение регистра OCR0= 150 Значение регистра OCR0= 200

Значение регистра OCR0= 254

Без изменения прошивки к микроконтроллеру можно подключить любой 7-ми сегментный индикатор с общим катодом, который будет отображать номер режима работы ШИМ-регулятора(от 1 до 5). Катод индикатора подключается на 39 ножку МК, а анод через токоограничительные резисторы (100-250 Ом) на 21-27 ножки МК.

Фьюзы для прошивки выставлять не надо! Оставляем их стандартными.

Это устройство имеет широкое применение. Например его можно использовать для управления яркостью светодиодов, управлять оборотами вентилятора, применить для регулировки оборотов двигателя сверлильного станочка и т.п.

Более мощную нагрузку (вентилятор, большое кол-во светодиодов) необходимо подключать через транзистор.

Синусоидальный сигнал

А здесь будет приведен пример, как получить синусоидальный сигнал.

Схема не представляет никаких трудностей т.к. здесь используется один микроконтроллер (Atmega8515) и низкочастотный фильтр (R1 и C1) через который мы пропускаем генерируемый сигнал и на выходе получаем постоянное напряжение.

В данном случае получается синус с частотой 35 Гц.

Частоту синуса можно высчитать по следующей формуле:

Fs = Fckl/(256 * N * M)

Fs=8000000/(256 * 8 * 112)=34.8 Гц.
где Fclk — тактовая частота микроконтроллера, N — коэффициент деления предделителя, M — число отсчетов сигнала.

Прошивка писалась в среде CodeVisionAvr, исходники прилагаются в конце статьи.

Для построение синуса была написана библиотека, в которой прописан константный массив, содержащий значения синуса.

Источник

Лабораторный блок питания с управлением от микроконтроллера

Данная статья предназначена для тех, кто хочет научиться программированию микроконтроллеров Atmel AVR. На этом примере мы рассмотрим принцип построения структуры программы, обработке прерывания, взаимодействие МК с аналоговой частью и принципах управления систем с обратными связями. К тому — же это полезный и удобный прибор.

Вступление

Каждый специалист по разработке электронных устройств, а также ремонтники радиоаппаратуры сталкиваются с проблемой источника питания для проверки и ремонта созданного ими устройства. Недорогие лабораторные источники, которые имеются в продаже, не всегда соответствуют поставленным задачам, либо слишком дороги, да к тому же обилие органов управления не позволяет оперативно изменять характеристики подаваемого к прибору напряжения и тока.

Поиск подходящих конструкций, которые бы удовлетворяли всем моим требованиям, на просторах интернета и публикациях в журналах не принесла результата, либо они были маломощные, либо крайне неудобные. Поэтому за дело пришлось взяться самому.

Были сформулированы следующие требования к будущему блоку питания:

1. напряжение от 0 до 50 В.

2. максимальный ток нагрузки до 5 А.

3. установка защиты по превышению тока от 0 до 5А.

Читайте также:  Регулировка давления топлива своими руками

4. удобство эксплуатации.

5. удобство ремонта и регулировки.

6. возможность использования базового микроконтроллерного модуля в других конструкциях, путем изменения конфигурации в сервисном режиме.

После того как требования оформились в техническое задание, можно приступать, собственно к проектированию самого устройства.

Рис.1 Блок-схема блока питания

Блок — схема (рис.1) состоит из четырех блоков:

1. первичный источник предназначен для гальванической развязки от питающей сети и понижения напряжения для регулятора. В зависимости от примененного первичного источника (импульсный блок или трансформатор с секционной вторичной обмоткой) используются разные подпрограммы микроконтроллера (об этом будет описано ниже).

2. регулятор — собственно основная силовая аналоговая часть, которая осуществляет регулирование напряжения и тока в зависимости от параметров установленных микроконтроллером, а также обеспечивает компенсацию падения напряжения на токоизмерительном резисторе.

3. МИКРОКОНТРОЛЛЕР (МК) — обеспечивает управление всей этой системой, сбор данных о текущих значениях — напряжении на выходе блока, потребляемый ток нагрузкой. Индикация напряжения, тока и текущем состоянии блока, установка конфигурации, индикация превышения тока нагрузки сверх установленных значений. Запоминание последних установленных параметров.

4. УПРАВЛЕНИЕ И ИНДИКАЦИЯ — то что мы видим и то чем мы управляем. Управление производится всего двумя органами управления, это энкодер с кнопкой, и просто кнопка.

Микроконтроллер

Проблемы выбора микроконтроллера передо мной не стояла, исходя из поставленной задачи выбор пал на микроконтроллер фирмы Atmel AVR Mega8, по той простой причине — что в этой микросхеме есть все, что душе угодно. Немаловажным фактором послужило и то, что корпус этого МК имеет небольшое число выводов.

Концепция новых скоростных микроконтроллеров была разработана группой разработчиков исследовательского центра ATMEL в Норвегии, инициалы которых затем сформировали марку AVR. Первые микроконтроллеры AVR AT90S1200 появились в середине 1997 г.и быстро снискали расположение потребителей.

AVR-архитектура, на основе которой построены микроконтроллеры семейства AT90S, объединяет мощный гарвардский RISC-процессор с раздельным доступом к памяти программ и данных, 32 регистра общего назначения, каждый из которых может работать как регистр- аккумулятор, и развитую систему команд фиксированной 16-бит длины. Большинство команд выполняются за один машинный такт с одновременным исполнением текущей и выборкой следующей команды, что обеспечивает производительность до 1 MIPS на каждый МГц тактовой частоты.

32 регистра общего назначения образуют регистровый файл быстрого доступа, где каждый регистр напрямую связан с АЛУ. За один такт из регистрового файла выбираются два операнда, выполняется операция, и результат возвращается в регистровый файл. АЛУ поддерживает арифметические и логические операции с регистрами, между регистром и константой или непосредственно с регистром.

Регистровый файл также доступен как часть памяти данных. 6 из 32-х регистров могут использоваться как три 16-разрядных регистра-указателя для косвенной адресации. Старшие микроконтроллеры семейства AVR имеют в составе АЛУ аппаратный умножитель.

Базовый набор команд AVR содержит 120 инструкций. Инструкции битовых операций включают инструкции установки, очистки и тестирования битов.

Все микроконтроллеры AVR имеют встроенную FLASH ROM с возможностью внутрисхемного программирования через последовательный 4-проводной интерфейс.

Периферия МК AVR включает: таймеры-счётчики, широтно-импульсные модуляторы, поддержку внешних прерываний, аналоговые компараторы, 10-разрядный 8-канальный АЦП, параллельные порты (от 3 до 48 линий ввода и вывода), интерфейсы UART и SPI, сторожевой таймер и устройство сброса по включению питания. Все эти качества превращают AVR-микроконтроллеры в мощный инструмент для построения современных, высокопроизводительных и экономичных контроллеров различного назначения.

Отличительные особенности:

●8-разрядный высокопроизводительный AVR микроконтроллер с малым потреблением

●Прогрессивная RISC архитектура

●130 высокопроизводительных команд, большинство команд выполняется за один тактовый цикл

●32 8-разрядных рабочих регистра общего назначения

●Полностью статическая работа

●Производительность приближается к 16 MIPS (при тактовой частоте 16 МГц)

●Встроенный 2-цикловый перемножитель

●Энергонезависимая память программ и данных

●4 -256 Кбайт внутрисистемно программируемой Flash памяти

●Обеспечивает 1000 циклов стирания/записи

●Дополнительный сектор загрузочных кодов с независимыми битами блокировки

●Внутрисистемное программирование встроенной программой загрузки

●Обеспечен режим одновременного чтения/записи (Read-While-Write)

●512 байт EEPROM

●Обеспечивает 100000 циклов стирания/записи

●1 Кбайт встроенной SRAM

●Программируемая блокировка, обеспечивающая защиту программных средств пользователя

  • возможность программирования непосредственно в системе через последовательные интерфейсы SPI и JTAG;
  • разнообразные способы синхронизации: встроенный RС-генератор с внутренней или внешней времязадающей RС-цепочкой, встроенный генератор с внешним кварцевым или пьезокерамическим резонатором, внешний сигнал синхронизации;
  • двухканальный генератор ШИМ — сигнала регулируемой разрядности (один из режимов работы 16-битных таймеров/счетчиков). Разрешение формируемого сигнала может составлять от 1 до12 бит;
  • многоканальный 10-битный АЦП последовательного приближения, имеющий как несимметричные, так и дифференциальные входы;
  • последовательный синхронный интерфейс SPI.
  • очень низкая стоимость.
Читайте также:  Как регулировать кран уровня кабины

Тем не менее, выбор микроконтроллера (и не только его) для своей микропроцессорной системы является очень ответственным делом. Оно может быть некритично для какой ни будь радиолюбительской установки — плюс минус сто рублей не деньги, но если вам придется работать на «дядю» который все считает, и при предоставлении готового изделия вы выйдите из бюджета, то вы можете сильно потерять в деньгах. Быстродействие микроконтроллера , каким бы он шустрым не был, часто сводится на нет медленной периферией, индикаторы, дисплеи, датчики, исполнительные механизмы, сервоприводы — требуют для своей работы определенные протоколы обмена информацией, которые, обычно, очень медленные(по сравнению с тактовой частотой МК). И в подпрограммы обслуживания этих устройств вводятся различные задержки, притормаживающие(и весьма) работу всей системы. Поэтому быстрые МК нужны в основном, если для работы всей системы требуется производить много вычислений, по результатам которых происходит то или иное действие

Регулятор

Схема стабилизатора напряжения и тока представлена на рис. 2, там же находится и микроконтроллер U3. к регулятору предъявляются особые требования, он должен обеспечивать регулировку напряжения и тока в широких пределах, обеспечивать защиту питаемого устройства.

Схемотехника не отличается излишествами, но показала в процессе эксплуатации высокую надежность. Работу регулятора напряжения рассмотрим на примере рис.3.

Силовой элемент регулятора выполнен на p-канальном полевом транзисторе Q1, трбования предъявляемые к этому транзистору простые — максимальное напряжение должно быть хотя бы в полтора раза выше напряжения питания, максимальный ток минимум в два раза больше максимального тока нагрузки и сопротивление открытого канала(чем меньше, тем лучше). сопротивление открытого канала легко уменьшить соединив параллельно два, три транзистора без всяких выравнивающих резисторов и индуктивностей — это не импульсный регулятор.

Регулировка напряжения происходит изменением напряжения на затворе транзистора Q1 за счет приоткрывания транзистора Q2. когда Q2 закрыт напряжение на затворе Q1 равно напряжению питания и транзистор закрыт. Усилитель ошибки, выполненный на ОУ U1.А сравнивает напряжение на выходе стабилизатора посредством делителя напряжения R4, R1, коэффициент деления которого равен отношению выходного напряжения к опорному, в данном случае 1:10, т.е. при выходном напряжении 50 В опорное должно быть 50 : 10 = 5 В. Разница между опорным напряжением и напряжением полученному с делителя усиливается усилителем и подается на затвор Q2. Таким образом, компенсируется повышение напряжение на выходе стабилизатора, пока напряжения на входах 2 и 3 не уравняются. Изменяя величину опорного напряжения от 0 до 5 В можно менять напряжение на выходе стабилизатора. Резисторы R5, R8 и конденсатор С2 образуют интегратор, преобразующий импульсы ШИМ в постоянное напряжение. В схеме на рис. 2 присутствует отрицательное напряжение -2.5 В , оно необходимо для того, чтобы обеспечить нулевое напряжение на выходе стабилизатора. Особенности схемотехники операционных усилителей состоит в том, что невозможно получить нулевое напряжение на выходе ОУ если отрицательный вывод питания подключен к земле, и соответственно на выходе стабилизатора появляется напряжение достигающее 500 — 700 мВ.

Стабилизатор тока выполнен на ОУ U2.А ,U2.В, напряжение с датчика тока R5 усиливается ОУ U2.В с коэффициентом усиления равным 10, с выхода этого усилителя напряжение приходит на вход АЦП1 микроконтроллера и на вход усилителя ошибки U2.А, на второй вход которого подается сигнал ШИМ тока с микроконтроллера, в случае превышения напряжения с датчика тока напряжения с ШИМ ОУ U2.А переводит стабилизатор напряжения в режим стабилизатора тока уменьшая через диод D1 напряжение на затворе Q2, уменьшая тем самым напряжение на выходе блока питания до тех пор пока потребляемый нагрузкой ток не сравняется с током установленным микроконтроллером.

При таком способе получения информации о потребляемом токе возникает одна проблема — несоответствие индицируемым микроконтроллером данных о выходном напряжении. Это можно решить, введя в программу обслуживания коррекцию в виде вычитания из значения фактического значения выходного напряжения данных о потребляемом на данный момент времени тока. Как показано на примере:

Читайте также:  Гражданское право регулирует корпоративные отношения

Источник

AVR Lab устройства на микроконтроллерах AVR

Форум по AVR

Управление мощной нагрузкой с помощью микроконтроллера

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

В данном случаи нагрузка относительно мощная, так как порты микроконтроллера по документации выдерживают до 50мА ток нагрузки (поверьте оно так и есть горят порты аж бегом!) необходимо выбрать промежуточное устройство, которое будет коммутировать нашу оконечную нагрузку.
Для примера возьмем микромощный коллекторный двигатель, который использовался в статье про регулятор скорости вращения двигателя.

Варианты построения выходного каскада устройств на микроконтроллерах:
1. Применение биполярного транзистора или микросхемы сборки(драйвера).
2. Применение полевого транзистора или сборки.
Рассмотрим преимущества и недостатки двух этих вариантов.

Биполярный транзистор.
Биполярный транзистор управляется током, что приводит к нескольким недостаткам его использования как выходного-коммутирующего устройства:
— нагрев самого транзистора,
— необходимость применять громоздкие радиаторы,
— максимальная частота коммутации ниже чем у полевых транзисторов.

Тем не менее биполярные транзисторы занимают определенную нишу в электронике и очень широко применяются в наше время.
Схема включения биполярного транзистора показана на рис. 1

Рис.1

Схема включения биполярного транзистора для питания коллекторного двигателя рис.2:

Рис. 2
Широкое распространение получили микросхемы-сборки так называемых ключей(ключевых каскадов, от слова «ключ» — описывающее режим работы, как коммутацию двух положений «включено», «выключено»), так же еще эти микросхемы называют драйверами.
Пример таких микросхем Рис.3:
L293DNE, M54531P, ULN2004.
Схема включения L293:

Рис. 3

Микросхема позволяет управлять сразу двумя коллекторными двигателями, так же что примечательно дает возможность управлять направлением вращения двигателей.
Очень полезно если двигатель установлен в гусеничное шасси и реверс просто необходим.

Микросхема M54531P имеет в своём составе 7 ключевых транзисторных каскадов, соответственно можно выполнить подключение 7-ми двигателей или других мощных нагрузок.
Схема включения M54531P рис. 4:

Рис. 4
При протекании тока близкого к максимально допустимому настоятельно рекомендуется использовать радиатор. Радиатор для L293 я делал из банке Nescafe Рис. 5:

Рис. 5
Полевой транзистор.
Управляется напряжением, что дает определенные преимущества перед биполярным транзистором. А именно отсутствие нагрева при коммутации (верней нагрев есть, но он не сравним с нагревом биполярного), в следствии чего отсутствует падение напряжения. Что благоприятно сказывается на энергетических характеристика устройства построенного на полевых транзисторах.
В роли коммутирующих элементов или выходных каскадов малой и средней мощности зачастую используют так называемые «сборки» из нескольких полевых транзисторов. В одной сборке может быть от 2х и более транзисторов. Чаще транзисторы содержаться n и p канальные, так предусмотрено для удобства построения выходного каскада в виде мостовой схемы. Для мощных выходных каскадов применяют одиночные полевые транзисторы.
На рисунке ниже показана сборка из двух полевых транзисторов IRF7105 Рис. 6:

Рис. 6
Пример включения коллекторного двигателя через сборку IRF7105 на полевых транзисторах, задействован только один из полевых транзисторов Рис. 7:

Рис. 7
А так же пример включения p-канального полевого транзистора IRFZ44 с коллекторным двигателем Рис. 8:

Рис. 8

Почему такая странная схема

Почему такая странная схема включения биполярного транзистора для примера приведена?

Ведь в данном случае, если нет сигнала управляющего, транзистор по умолчанию закрыт и нагрузка по умолчанию под напряжением! Для того что бы этого избежать, придётся дополнительно ставить подтяжку базы транзистора, и только тогда при включении напряжения нагрузка не окажется автоматически подключенной.

Кроме того, придётся считаться с током нагрузки и выбирать сопротивление подходящей мощности, а мощные резисторы маленькими не бывают. Да и радиатор на них сложновато ставить в отличие от транзисторов.

И наконец, резистор даёт падение напряжения, т.е. придётся учитывать, что на нагрузку у нас пойдёт меньшее напряжение, нежели даёт источник питания.

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

Я очень рад что сайт посещают

Я очень рад что сайт посещают такие пользователи. Все учтем, спасибо большое!

Источник

Adblock
detector