5277 (5277) wrote,
5277
5277

Тестовая прошивка для реле на 16 Ампер

Как-то давно я описывал свое устройство - реле на 220В 16А (4кВт)
Сегодня я закончил основные работы по этому устройству, и вот что у меня получилось:

Это прототип с небольшой ошибкой на PCB, которая уже исправлена и скоро будет заказ новых плат.
(прошу прощения за качество фото, просто нет времени делать хорошо да и условий нет, выложил как есть)

photo_2018-03-11_05-51-34.jpg
photo_2018-03-11_05-45-35.jpg



Характеристики:
1) Шина rs485, 9600/8n1, с протоколом схожим с modbus
2) С гальванической развязкой от силовой части, но без гальванической развязки по шине
3) Диапазон напряжения питания 9-24В
4) 250В, 16А (4кВт мощности)
5) Без корпуса, можно использовать термо трубку
6) 30мА потребление на шине
7) Датчик тока
8) Внешний датчик температуры
9) Габариты 45х25х17мм

Управление:
1) К устройству можно подключить либо кнопку(без фиксации), либо выключатель(с фиксацией), либо сенсор касания (просто провод или металлическая площадка)
При этом будет выполняться команда инвертирования(т.е. вкл->выкл и выкл->вкл)
*Есть возможность настройки чувствительности сенсора.
2) Удаленное управление через шину, поддерживаются такие команды как вкл, выкл, инвертировать
3) Таймер - также через шину можно задать таймер на отложенное выполнение команды. Таймер отсчитывает два периода - для выполнения основной команды и для выполнения обратной основной команде, к примеру: включить реле через 15мс и выключить ее через час. *Любая команда на реле отменяет действия таймера.
4) Триггеры - оказывают влияние на состояние реле на основе данных температуры внешнего датчика или тока, протекающего через реле. Имеют максимальный приоритет, и при срабатывании блокируют остальные методы управления.
*Также, на случай отключения электропитания, устройству можно указать режим старта - вкл, выкл, последнее состояние.

Съем показаний:
Можно получить логическое состояние реле, наличие напряжения на выходе реле, температуру внешнего датчика и ток потребления в мА.
*Также есть возможность корректировки коэффициента, участвующего в расчетах силы тока при анализе амплитуды синусоиды, корректировки значения температуры внешнего датчика.

По поводу датчика тока, дискретизация в 114мА (со стандартным коэффициентом в 57, можно менять), ну и такая же ошибка, т.е. где-то точность измерения составляет грубо 30Вт.
Здесь не будет точных значений, по нескольким причинам:
- используется не самый лучший встроенный в МК АЦП(10бит);
- используется датчик тока на эффекте Холла, который легко подвержен электромагнитным наводкам (не забываем, у нас электромагнитное реле);
- нет вычислительной мощности для расчета тока умными и корректными формулами, здесь магия.

Низкое энергопотребление:
Катушка реле питается от силовой части, поэтому максимальный ток потребления на шине составляет всего около 30мА.

Индикация:
Два светодиода. Первый - логическое состояние реле. Правый - мигает при опросе по шине. Devices tool позволяет изменить их режим работы, детальней будет описано ниже.

Ведение истории:
Данный функционал выполняет сразу две задачи - дает возможность вне периодического опроса контроллером устройства и позволяет считать с устройства события, которые произошли между опросами. Иными словами, благодаря этому функционалу можно задать любой период опроса устройства не переживая о потере информации о действиях над устройством.

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

Вопросы надежности и безопасности:
При подаче питания, устройство приступает к работе спустя 1-5 секунд(время выбирается случайно при каждом старте), это сделано из-за особенностей запуска МК и для снижения пиковых нагрузок на сеть (если у Вас, к примеру, используется большое количество таких устройств с подключенными потребителями большой мощности, при этом устройства настроены на автоматическое включение при подаче питания).

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

Devices tool:
Снимок.PNG

Левый блок (блок показаний), думаю такие вещи как версия прошивки описывать не имеет смысла, здесь и так все понятно, перейду к менее интуитивно понятным:
Наличие фазы на выходе - вкл, если на выходе реле действительно есть напряжение. Причины могут быть разные, например отсутствие напряжения на входе, или к примеру, контакты реле прикипели.
Сила тока - значение переменного тока в миллиамперах, значение может немного 'дрожать' на 114мА, корректируется значением с правого блока.
Температура внешняя - показание температуры с внешнего датчика, корректируется значением с правого блока

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

Контроль тока - если включено, при каждом съеме показания по току будет выполнятся сравнение с указанным значением, и если показание выйдет за указанное максимальное значение, то реле будет выключено.

Заключение:
На текущий момент, это мое самое богатое функционалом устройство.
Здесь есть датчик тока, датчик температуры, датчик наличия напряжения.
Реализованы триггеры по основным показаниям, таймер реле, ведение истории, сенсорное управление и конечно шина на RS485.
Это первая моя прошивка размером в 4КБ, (любителям Си покажется это незначительным, учитывая особенности процесса компилирования, но я то пишу на чистом ассемблере...)
Стоит также учитывать довольно малые размеры устройства для 4кВт и не малый набор датчиков и функционала.
Здесь я вижу широкие возможности для использования, ведь кроме встроенных триггеров есть еще большие возможности контроллера с сценариями, которые можно легко настроить через клиента.
Лично для себя я вижу большой плюс в размерах (в некоторых случаях устройство помещается в настенный стакан для розетки), также для меня очень полезен датчик тока, и датчик наличия напряжения.
В общем, я считаю, что это компактное и полнофункциональное устройство для управления розетками, обогревателями и холодильными установками (как дополнительное устройство управления и контроля)
Subscribe
  • Post a new comment

    Error

    default userpic

    Your IP address will be recorded 

    When you submit the form an invisible reCAPTCHA check will be performed.
    You must follow the Privacy Policy and Google Terms of use.
  • 0 comments