Рубрики
Схемы на PIC

Устройство защиты от флуктуаций напряжения в сети переменного тока на микроконтроллере PIC

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

Для нашего проекта мы разработали печатную плату. Также в схему нашего проекта мы добавили блок на основе операционного усилителя LM358 (необязательный элемент), который будет без участия микроконтроллера PIC также производить сравнение входного и опорного напряжений. Для демонстрационных целей мы выбрали в качестве нижнего предела напряжения величину 150v, а в качестве верхнего – 200v. Вы можете изменить эти границы на те, которые необходимы вам. Также в демонстрационных целях в нашем проекте мы не использовали реле, которое бы отключало потребителей переменного тока от сети, а просто ограничились выводом предупреждающих сообщений на экран ЖК дисплея. При необходимости вы можете добавить реле в этот проект самостоятельно.

Также на нашем сайте вы можете посмотреть другие проекты силовой электроники на основе микроконтроллеров.

Необходимые компоненты

  1. Микроконтроллер PIC18F2520.
  2. Программатор PICkit 3 (купить на AliExpress).
  3. Держатель микросхем на 28 контактов.
  4. Кварцевый генератор 12 МГц.
  5. Операционный усилитель LM358 (купить на AliExpress).
  6. 3-х пиновый коннектор (опционально).
  7. ЖК дисплей 16×2 (купить на AliExpress).
  8. Транзистор BC547 (купить на AliExpress).
  9. Резисторы 1 кОм и 2,2 кОм (купить на AliExpress).
  10. Резисторы SMD 30 кОм и 10 кОм.
  11. Конденсаторы 0,1 мкФ и 33 пФ (купить на AliExpress).
  12. Конденсаторы 10 мкФ и 1000 мкФ (купить на AliExpress).
  13. Регуляторы напряжения 7805 и 7812 (купить на AliExpress).
  14. Светодиод (купить на AliExpress).
  15. Диоды Зенера (стабилитроны) на 5.1v, 7.5v, 9.2v.
  16. Трансформатор 12-0-12.
  17. Соединительные провода.

Реклама: ООО «АЛИБАБА.КОМ (РУ)» ИНН: 7703380158

Внешний вид собранной конструкции проекта показан на следующем рисунке.

Общие принципы работы проекта

В нашем устройстве защиты мы будем измерять напряжение в сети переменного тока с помощью трансформатора, микроконтроллера PIC, выпрямительного моста и делителя напряжения, и отображать его на экране ЖК дисплея 16×2. Затем бы будем сравнивать это измеренное значение напряжения с установленными в нашей программе границами и отображать соответствующее сообщение на экране ЖК дисплея. Если значение напряжения будет меньше 150v мы будем отображать сообщение “Low Voltage”, а если значение напряжения будет больше 200v – мы будем отображать сообщение “High Voltage”. В демонстрационных целях мы использовали регулятор вентилятора чтобы имитировать увеличение и уменьшение напряжения в сети.

Структурная схема работы проекта показана на следующем рисунке.

В схему нашего проекта мы также добавили схему контроля напряжения на основе компаратора LM358, без использования микроконтроллера.

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

  1. Измерять напряжение сети переменного тока и сравнивать его с опорным с помощью трансформатора, выпрямительного моста, делителя напряжения и микроконтроллера PIC.
  2. Сравнивать измеренное значение напряжения с опорным с помощью трансформатора, выпрямительного моста и компаратора LM358 (без микроконтроллера PIC).
  3. С выхода компаратора подавать сигнал на микроконтроллер PIC.

С помощью трансформатора мы будем понижать входное напряжение, затем с помощью моста мы будем его выпрямлять, затем будем понижать его до диапазона 5 В с помощью делителя напряжения и далее подавать его на микроконтроллер PIC.

В микроконтроллере PIC это напряжение будет подаваться на вход АЦП (аналого-цифрового преобразователя), на выходе которого мы будем получать значение в диапазоне от 0 до 1023. Чтобы получить на основе этого значения измеренное значение напряжения (в сети переменного тока) мы будем использовать формулу:

В качестве максимального входного напряжения схемы мы использовали значение 240v. Либо же в качестве альтернативы приведенной формулы использовать преобразование с помощью функции map:

Здесь 100v – минимальное нижнее значение напряжения для преобразования, 530 и 895 – значения с выхода АЦП, относительно которых мы преобразовываем.

То есть приращению в 10mV на входе АЦП будет соответствовать эквивалентное приращение входного напряжения в 2.046. Если использовать 530 в качестве минимального значения на выходе АЦП, то требуемое значение напряжения можно определить по формуле:

То есть значению напряжения 2.6v на входе микроконтроллера будет соответствовать значение напряжения в сети переменного тока равное 100V.

Более подробно про схему делителя напряжения и конвертирование напряжений с выхода АЦП можно прочитать в статье про цифровой вольтметр на основе микроконтроллера AVR.

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

После подачи питания на схему на экране ЖК дисплея будет отображаться измеряемое значение напряжения. Если напряжения будет опускаться или подниматься выше нормы, то на экране ЖК дисплея будет отображаться сообщение “HIGH Voltage Alert” или “LOW Voltage Alert”.

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

Схема проекта

Схема устройства отключения сети переменного тока на микроконтроллере PIC представлена на следующем рисунке.

В схеме мы использовали компаратор LM358, два выхода которого подключены к контактам 2 и 3 микроконтроллера PIC. С выхода делителя напряжения сигнал подается на контакт 4 микроконтроллера. ЖК дисплей подключен к PORTB микроконтроллера PIC и работает в 4-х битном режиме. Его контакты RS и EN подключены к контактам B0 и B1 микроконтроллера а контакты – к контактам B2, B3, B4 и B5 микроконтроллера. В схеме проекта мы использовали два регулятора напряжения – на основе микросхем 7805 и 7812. Трансформатор 12v-0-12v используется для понижения переменного напряжения.

Объяснение работы для микроконтроллера PIC

Полный код программы приведен в конце статьи, здесь же мы кратко рассмотрим его основные фрагменты.

В коде программы нам необходимо рассчитать значение напряжения переменного тока на входе схемы на основе значения с выхода АЦП, на который подается напряжение в диапазоне 0-5v и затем сравнить его с установленными в нашей программе границами.

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

Для работы с ЖК дисплеем мы используем ряд ранее запрограммированных функций (их описание можно найти в этой статье), таких как lcdbegin() (инициализация ЖК дисплея), void lcdcmd(char ch) (передача команды на дисплей), void lcdwrite(char ch) (передача одного символа на дисплей), void lcdprint(char *str) (передача строки символов на дисплей).

Для преобразования значений напряжения в нашей программе запрограммируем функцию map.

Также запрограммируем функцию для инициализации и считывания значения с АЦП.

В следующем фрагменте кода производится считывание значений с АЦП и вычисление на основе этих считанных значений их среднего. Затем на основе этого значения производится расчет напряжения переменного тока на входе схемы.

И, наконец, производится вывод необходимых сообщений на экран ЖК дисплея.

Разработка дизайна печатной платы для нашего проекта

Для разработки схемы проекта и дизайна печатной платы для него автор проекта (ссылка на оригинал приведена в конце статьи) использовал редактор EasyEDA. Также этот онлайн редактор предоставляет услуги изготовления печатной платы и приобретения электронных компонентов.

Дизайн печатной платы нашего проекта, выполненный с помощью редактора EasyEDA, доступен по ссылке:

https://easyeda.com/circuitdigest/HIGH_LOW_Voltage_Detector-4dc240b0fde140719c2401096e2410e6

Внешний вид скриншота нашей печатной платы в редакторе EasyEDA показан на следующем рисунке.

Также в этом редакторе можно посмотреть и фото спроектированной печатной платы.

Заказ изготовления печатной платы

После того как вы закончили проектировать печатную плату в редакторе EasyEDA, вы можете нажать в нем на иконку Fabrication (изготовление), после чего вас перебросит на страницу заказа печатной платы, на которой вы можете загрузить Gerber файлы для своей платы. На данной странице вам необходимо указать число экземпляров печатной платы, ее толщину, цвет и другие параметры. После этого нажмите на кнопку “Save to Cart” и завершите свой заказ.

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

Потом он припаял на них необходимые электронные компоненты.

Исходный код программы

Видео, демонстрирующее работу проекта

Источник статьи

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *