Контроллер для стиральной машины на ардуино
Контроллер стиральной машины на ATmega8
Давно собирался сделать контроллер стиралки, а все некогда… и вот, наконец, стиралка с гордым именем Zanussi начала плавно дохнуть… значит, пора.
Перелопатил инет и решил, что все одно, придется делать самому и схему и программу. Выбор процессора долго не заставил себя ждать (в коробочке лежало несколько Атмег8), система программирования AlgorithmBuilder (графическая среда), индикаторы остались от АОНов Мэлт (графический индикатор 62*16). Время выделено и… некоторое время спустя машинка замурлыкала уже с новыми мозгами. Индикатор позволил выводить не только цифры и буквы, но так же и символы. Скришноты прилагаю. Плата типоразмером и разъемами совпадает с родной EVM 2000EVO, но три проводка пришлось проводить отдельно (УБЛ, прессостат).
Идеология: считываем по оптопаре фазовые импульсы и управляем шириной импульса запуска симистора, обороты стабилизируются по напряжению таходатчика. Контроллер полностью гальванически развязан.
Входные сигналы: три с прессостата (нижний уровень, средний уровень, максимальный (перелив); сигнал с Убл (устройство блокировки двери); датчик температуры, датчик скорости мотора.
Выходные сигналы: двигатель (два реле управления направлением, одно реле мощности, симистор на управление общей мощностью); два входных клапана воды; моторчик/помпа слива; УБЛ, ТЭн ).
Выходные сигналы: управление двигателем через симисторную оптопару, ключ ВТА24 (можно и послабее);
Клапана воды и УБЛ подключены к симисторным оптопарам, помпе понадобился еще отдельный симистор (помощнее)
Ключевые транзисторы на реле (полевики) из матплат. Можно ставить все, что держит реле, хоть кт815.
Реле пятивольтовые. Цепи питания реле и процессора должны быть развязаны. Можно использовать реле и на 12 и более вольт, зависит от ключевых транзисторов и Вашего желания. ))
Блок питания: любой внешний 5в (если использовать реле на 12 и более вольт, то БП с двумя напряжениями).
По питанию надо ставить 4-5 тыс мкф емкость, плюс 5в процессора и реле разделять, землю тоже, соединение в одной точке (желательно). Помехи нам не нужны))
Для стиралки на EWM2000 разъемы подходят родные (в стиралке, см плату печатную), но три проводка придется дотянуть: два от прессостата и один к УБЛ (схема переделки для Zanussi900 приложена).
Заливаем HEX в процессор.
Налаживание: вначале крутим подстроечник у индикатора (при неправильном делителе, изображения может не быть. Даташит можно скачать на сайте МЭЛТ. ) Затем смотрим сигнал с фазовой оптопары, должен быть прямоугольник. Моторчик можно подключать, выбирать режим Тест (одновременное нажатие Режим и Резерв), и по нажатию кнопки Go (правая) включится тест двигателя. Скорость регулируется подстроечником в цепи детектора сигнала таходатчика. Максимальное напряжение не должно быть более 2в (входное АЦП видит не более 2.5в). Затем обычно лампой накаливания 220в 20-50вт проверяем выходы на реле воды, помпу и УБЛ. Тарируем температуру (+-2-4 градуса).
Скорость мотора от 13-15 до 150 (на макс скорости). Сильно большую скорость лучше не делать, а то вместо стирки сразу будет Отжим )).
Помпа включается при нажатии на кнопку Go. Появится надпись «СЛИВ».
Подключаем к воде, включаем клапана (кнопка Уровень Воды), проверяем туда льет или не, и смотрим за датчиком уровня (прессостата): вначале стаканчик на индикаторе (уровень) будет наполнен на 1/2, затем полностью. Уровень воды МАКСИМУМ (перелив) не отображается, включается помпа и появится надпись «ТОНЕМ».
Программа стирки включается двойным нажатием на правую кнопку (появится надпись «дальше?»).
Включится УБЛ, а при отсутствии сигнала срабатывания УБЛ появится надпись ЛЮК. Далее включится режим быстрой стирки. Если температура стоит 20, нагрева не будет, если 40, появится надпись «НАГРЕВ» и включится ТЭН.
Разработка электронного блока управления стиральной машины «Иволга»
Стиральная машина «Иволга» СМП-3Э.1 производства ПО «Баррикады»
Рис.1. Внешний вид стиральной машины
За все время эксплуатации (порядка 30 лет) стиральная машина показала себя с хорошей стороны. Слабым местом являются насос, датчик уровня воды и электронный блок управления. В родном блоке управления вышла из строя микросхема логики. Заменил микросхему, но вскоре вылетела К556РТ1. Пришлось менять всю плату электроники на новую. В этой плате тоже после нескольких лет вылетела РТшка. Мысль разработки своей платы витала долго в голове, но как-то находились более приоритетные задачи. Хотелось что-то простое, с минимальной номенклатурой и свое. И тем не менее, этот день настал.
Подробности ниже.
Конечно, можно было купить другую современную стиральную машину и не усложнять себе жизнь, но мне было интересно сделать свой модуль. Ну а раз делать свой блок управления, то непременно надо привнести что-то более интересное, чем копия оригинального блока по функциям.
Рис.2. Оригинальная плата электронного блока управления
Из оригинальных функций стиральной машины были оставлены только режимы: «стирка», «полоскание», «отжим». Настройка типа ткани, уровня воды и режимов стирки были исключены, так как ими практически никогда не пользуешься. Настройки заданы по умолчанию для среднего уровня воды, обычной ткани и обычной стирки.
Как я уже писал ранее, проблемы возникали с датчиком уровня воды. Конструктивно он выполнен в виде пенопластовых тороидальных поплавков с магнитами, скользящих по вертикальному стержню, в котором располагаются герконы. Загрязнение элементов датчика нарушало его правильную работу, и оригинальная электроника не включала циклы стирки или полоскания. Также не было возможности оценить правильную работу датчика уровня воды.
В описываемом блоке управления датчик уровня используется в основном для наглядности. Если произошло «залипание» поплавков внутри датчика, то уровень будет моргать на дисплее. Включить стирку теперь можно с любым количеством воды, повторно нажав на кнопку «Пуск». Причем не важно исправен датчик уровня или нет. Геркон аварийного уровня воды обычно исправен, т.к. находится всегда в сухом виде и на нем нет различных отложений. При достижении аварийного уровня воды автоматически включается насос, откачивающий воду до уровня ниже аварийного.
Все циклограммы работы стиральной машины были в точности повторены.
В конструкцию был добавлен OLED-дисплей, на котором отображаются основные параметры. Также были добавлены термодатчики на двигатель активатора/центрифуги, на насос и на радиатор симисторов. Тем самым можно контролировать текущую температуру этих элементов и, в случае перегрева, отключить силовую часть.
На панели управления имелось окошко с логотипом «Иволга». Было решено вмонтировать в это окошко дисплей. Стекло с линзой было использовано от корпуса медицинского термометра очень удачно подходящего по размерам.
Рис.3. Окошко для OLED-дисплея
Рис.4. Установка датчиков температуры
Рис.5. Внешний вид модифицированной панели управления
Также добавлен Wi-Fi модуль ESP-12e При включении электроники происходит подключение к домашней точке доступа и запрос текущего времени с NTP-сервера. Запускается web-сервер. Управлять режимами работы стиральной машины и видеть текущее состояние и режимы также можно через Интернет с web-странички машинки.
Рис.6. Принципиальная схема блока управления
Мозгом является PIC-контроллер. Силовая часть гальванически развязана посредством оптронов. Применен импульсный источник питания. На Wi-Fi модуле ESP-12E запущен web-сервер, который динамически формирует страничку в соответствии с режимом работы стиральной машины. Для сокращения количества портов использую аналоговые входы.
Рис.7. Плата блока управления (Вид со стороны установки элементов)
Рис.8. Плата блока управления (Вид со стороны монтажа)
Рис.9. Крепление платы блока управления
При включении питания на дисплее отображается логотип «Иволга», подключение к точке доступа и запрос текущего времени с NTP-сервера. При нажатии на кнопку выбора режима работы включается соответствующий светодиод на панели (как и на оригинальной электронике) и на дисплее отображается название режима. Также на дисплей выводятся оставшееся время стирки/полоскания/отжима, температура двигателя, насоса, электроники. В случае нештатной ситуации на экран выводится сообщение о перегреве или о превышении допустимой вибрации центрифуги.
Со смартфона или компьютера через web-интерфейс также можно включить нужный режим стиральной машины или осуществлять прямое управление двигателем и насосом для поиска неисправностей.
Регулятор оборотов
Понадобился регулятор оборотов коллекторного двигателя. Регулятор оборотов на Ардуино с поддержанием оборотов. Двигатель от стиральной машинки-автомата.
Если вы выполняете кратковременные работы, то датчик температуры и не нужен. Ну а если двигатель будет много работать, то неплохо с помощью датчика, Ардуино следило за температурой, и при перегреве отключало двигатель пока тот не остынет.
На этом двигателе уже присутствует тахогенератор, но в моем случае он не работает — вышел из строя. Вместо тахогенератора буду устанавливать датчик холла. Выкидываем катушку нерабочего тахогенератора, оставляем только магнит на валу. Устанавливаю датчик холла на электродвигатель.
Схема регулятора оборотов будет содержать в себе:
Ардуино Нано будет контролировать и управлять силовой частью
Блок настроек, и управления оборотами
Силовая часть будет управлять двигателем. Разъем Р1 — для подключении к сети 220В. Р3 — для установки перемычки в зависимости от блока питания.
При установке блока питания с выходным напряжением 5 вольт, на разъеме Р3 нужно установить перемычку на контакты 2 и 3. При выходном напряжении блока питания 7-12 вольт перемычку устанавливаем на контакты 1 и 2.
Не забывайте, при выборе блока питания нужно учитывать, что реле питается выходным напряжением с блока питания. Поэтому выбирайте блок питания и реле на одно напряжение.
На выводы 220V0 И 220V1, подается сетевое напряжение 220 Вольт.
Схема будет питаться импульсным блоком питания с выходным напряжением 5 вольт. Импульсный блок питания, возьмём уже готовый. Так же схему можно питать от 7 до 12 вольт. На плате есть перемычка переключения напряжения 5/12v. Так же можно питать схему и зарядным от телефона, только проверьте выходное напряжение, там не должно быть выше 5 вольт.
При установки перемычки на 5 вольт напряжение поступает напрямую на шину +5 вольт. Реле надо будет установить на 5 вольт.
При установки перемычки на 12 вольт напряжение поступает на вход Ардуино Vin. В этом случае можно питать схему напряжением 7-12 вольт. но и реле должно быть на такое напряжение, какое выходит с блока питания.
Датчик скорости в двух исполнения. На тахогенераторе или на датчике холла.
Схема разрабатывалась так, что бы обороты можно было считывать с тахогенератора, уже установленные на двигателях машинок-автоматов. Разъем Р4 служит для подключения тахогенератора.
А так же при отсутствии или неисправности тахогенератора можно заменить на датчик холла.
Дополнительные входы и выходы
Иногда к устройству охота еще что нибудь прикрутить для удобства. Здесь добавлен дополнительный выход, он сейчас на плате указан как светодиод LED1. этот выход можно использовать под свои нужды. Можно пустить этот выход для управления вентилятором охлаждения двигателя и тд.
Еще есть два дополнительных аналоговых входа, которые тоже можно задействовать как писал выше, например контролировать температуру двигателя и симистора.
Верхний слой печатной платы
В конце статьи находится архив со всеми файлами для повторения данного проекта
Настройка регулятора
Настройка не сложная, поэтапная, так же можно протестировать все узлы регулятора на правильную работу.
Микропроцессорная система управления стиральной машиной
ATmega управляет стиральной машиной
Дорогие друзья, на просторах интернета поподалась схема где avr управляет стиралкой, замена.
Если много лет не пользоваться стиральной машиной
Доброго дня, у меня итальянская ARDO, куплена примерно в 2002, с десяток лет я стирал эпизодически.
Что случилось со стиральной машиной LG? При подключении к розетке должен издать звук и все, светодиоды не должны гореть
Что случилось со стиральной машиной LG? При подключении к розетке должен издать звук и все.
Микропроцессорная система на основе MK51
Собственно, если у кого-то есть время/желание, прошу провести для меня ликбез. Суть в следующем.
Микропроцессорная система ARM на отдельных компонентах
Про ARM не знаю в общем-то ничего, кроме того, что это 32-хбитная архитектура и что она очень.
MSC-51. Микропроцессорная система измерения температуры на AD8496
Разработать микропроцессорную систему измерения и индикации температуры с датчиком AD8496 фирмы.
Микропроцессорная система измерения температуры на TMP-03 и MSC-51
Разработать микропроцессорную системуизмерения температуры с датчиком фирмы Analog TMP-03.
Модуль управления стиральной машины Candy
Помогите определить smd диод SD04 и ёмкость конденсатора C105. Может у кого не будь есть схема?
Как регулировать обороты двигателя постоянного тока через Arduino | Лампа Эксперт | Яндекс Дзен
Двигатели постоянного тока легко регулировать изменением напряжения. В этой статье рассмотрим, как это делать с помощью Arduino, на примере маленького моторчика для радиоуправляемых моделей.
Регулировка оборотов
Известно, что при подключении такого двигателя к источнику питания он сразу начинает вращаться, а направление его вращения зависит от полярности подключенного напряжения.
При изменении питающего напряжения изменяется ток в обмотках, следовательно изменяется и подводимая мощность и его обороты. Есть два основных способа изменения напряжения на клеммах таких электродвигателей — использовать балластные резисторы для ограничения тока или использовать ШИМ-регулирование.
Балластные резисторы греются, выделяют энергию в виде тепла в воздух – это не эффективно и бесполезно.
Смысл ШИМ-регулирования состоит в подаче импульсов с фиксированной частотой, но изменяющейся шириной. От ширины импульса зависит действующее напряжение на подключенной нагрузке и вычисляется по формуле:
где Uнагр – напряжение на нагрузке, Uпит – напряжение источника питания, k – коэффициент заполнения.
Коэффицент заполнения – то отношение ширины импульса (tимп) к периоду (T), то есть:
На рисунке ниже вы видите, как выглядит питание нагрузки через ШИМ-регулятор при разных коэффициентах заполнения.
Так выглядит ШИМ-сигнал
Короче говоря,при ШИМ-регулировании питание очень быстро включается и отключается, то есть подаётся импульсами. И чем уже эти импульсы – тем меньшее напряжение доходит до нагрузки.
Для ШИМ-регулирования можно собрать схему на таймере NE555 и других микросхемах либо использовать микроконтроллер.
Схема ШИМ-регулятора на NE555, ёмкость C можно рассчитать по формулам из даташита, либо подобрать, от неё зависит частота ШИМ, можете использовать 1, 0.47, 0.22 мкФ.
Семейство плат с микроконтроллером ардуино также способно выдавать ШИМ сигнал, стандартная частота ШИМ у них 500Гц, а если быть точным, то 488,28 Гц. Если вам не принципиальная частота – то можно использовать как есть без сторонних библиотек. Отмечу, что для большинства применений этого достаточно. Не очень хорошо это подходит для регулирования яркости осветительных приборов из-за повышения коэффициента пульсаций светильника и вреда для зрения в итоге.
Назначение выводов на плате (распиновка)
Обратите внимание на иллюстрацию, приведенную выше. Из неё мы видим микроконтроллер Atmega328, который лежит в основе этих плат выдаёт ШИМ-сигнал только на выходах 3, 5, 6, 9, 10, 11, которые обычно помечены знаком «
» плате, а на картинках с распиновками сокращением «PWM».
Регулятор оборотов
Понадобился регулятор оборотов коллекторного двигателя. Регулятор оборотов на Ардуино с поддержанием оборотов. Двигатель от стиральной машинки-автомата.
Если вы выполняете кратковременные работы, то датчик температуры и не нужен. Ну а если двигатель будет много работать, то неплохо с помощью датчика, Ардуино следило за температурой, и при перегреве отключало двигатель пока тот не остынет.
На этом двигателе уже присутствует тахогенератор, но в моем случае он не работает — вышел из строя. Вместо тахогенератора буду устанавливать датчик холла. Выкидываем катушку нерабочего тахогенератора, оставляем только магнит на валу. Устанавливаю датчик холла на электродвигатель.
Схема регулятора оборотов будет содержать в себе:
Ардуино Нано будет контролировать и управлять силовой частью
Блок настроек, и управления оборотами
Силовая часть будет управлять двигателем. Разъем Р1 — для подключении к сети 220В. Р3 — для установки перемычки в зависимости от блока питания.
При установке блока питания с выходным напряжением 5 вольт, на разъеме Р3 нужно установить перемычку на контакты 2 и 3. При выходном напряжении блока питания 7-12 вольт перемычку устанавливаем на контакты 1 и 2.
Не забывайте, при выборе блока питания нужно учитывать, что реле питается выходным напряжением с блока питания. Поэтому выбирайте блок питания и реле на одно напряжение.
На выводы 220V0 И 220V1, подается сетевое напряжение 220 Вольт.
Схема будет питаться импульсным блоком питания с выходным напряжением 5 вольт. Импульсный блок питания, возьмём уже готовый. Так же схему можно питать от 7 до 12 вольт. На плате есть перемычка переключения напряжения 5/12v. Так же можно питать схему и зарядным от телефона, только проверьте выходное напряжение, там не должно быть выше 5 вольт.
При установки перемычки на 5 вольт напряжение поступает напрямую на шину +5 вольт. Реле надо будет установить на 5 вольт.
При установки перемычки на 12 вольт напряжение поступает на вход Ардуино Vin. В этом случае можно питать схему напряжением 7-12 вольт. но и реле должно быть на такое напряжение, какое выходит с блока питания.
Датчик скорости в двух исполнения. На тахогенераторе или на датчике холла.
Схема разрабатывалась так, что бы обороты можно было считывать с тахогенератора, уже установленные на двигателях машинок-автоматов. Разъем Р4 служит для подключения тахогенератора.
А так же при отсутствии или неисправности тахогенератора можно заменить на датчик холла.
Дополнительные входы и выходы
Иногда к устройству охота еще что нибудь прикрутить для удобства. Здесь добавлен дополнительный выход, он сейчас на плате указан как светодиод LED1. этот выход можно использовать под свои нужды. Можно пустить этот выход для управления вентилятором охлаждения двигателя и тд.
Еще есть два дополнительных аналоговых входа, которые тоже можно задействовать как писал выше, например контролировать температуру двигателя и симистора.
Верхний слой печатной платы
В конце статьи находится архив со всеми файлами для повторения данного проекта
Настройка регулятора
Настройка не сложная, поэтапная, так же можно протестировать все узлы регулятора на правильную работу.
Общий принцип использования ШИМ
Управляя скоростью модуляции ШИМ (Pulse Width Modulation, PWM) можно регулировать, к примеру, силу свечения светодиода – данный принцип пояснен на следующем рисунке. Аналогичный механизм используется и для управления скоростью вращения двигателя.
Если на представленном рисунке выключатель будет замкнут на протяжении некоторого времени, то на протяжении этого же времени лампочка будет гореть. Если переключатель будет замкнут в течение 8ms и будет разомкнут 2ms в течение интервала 10ms, тогда лампочка будет гореть только в течение интервала 8ms. В рассмотренном примере можно сказать, что среднее выходное напряжение (на лампочке) будет составлять 80% от напряжения батареи.
В другом случае выключатель замыкается на 5ms и размыкается на эти же самые 5ms в течение интервала 10ms, таким образом среднее напряжение на лампочке будет составлять 50% от напряжения батареи. Принято говорить, что если напряжение батареи 5В и цикл занятости составляет 50%, то среднее напряжение на оконечном устройстве (лампочке) будет составлять 2.5В.
В третьем рассмотренном на рисунке случае цикл занятости составляет 20% и поэтому среднее напряжение на оконечном устройстве (лампочке) будет составлять 20% от напряжения батареи.
Применяя все сказанное к рассматриваемому нами примеру управления скоростью вращения двигателем можно сказать, что чем больше будет коэффициент заполнения ШИМ (отношение длительности ON состояния к периоду), тем выше будет скорость вращения двигателя.
Что требуется
Регулятор оборотов двигателя от стиральной машинки, на Arduino
За видео благодарим автора канала «Александр Шенрок»
Найдены возможные дубликаты
Я в негодовании. с таких постов.
Это не пост, а недразумение, чтоб не сказать похуже.
Где вообще описание что это за фигня и как принципиально она работает?
Что за пренебрежительное выливание ссылок «видосиков», на своих ЧИТАТЕЛЕЙ.
Вот на кой мне такой пост, статья, заметка — если с тем же успехом мог сам найти в ютубе?
Где проработка материала?
Где описание своими словами?
Где выводы и сравнение с аналогами и похожими?
Или только множим пустые «говнопосты» ссо ссылкой на ютюб?
Да на **й такое вообще постить
Пожалуй, у меня только один вопрос.
Слишком накладно, регуляторы для коллекторныхБК моторов сейчас в огромном ассортименте есть, причем они маленькие, а так да, идея интересная, хоть и изобретение велосипеда с нуля)
Сейчас есть много что, только плати
Необходимые компоненты
Подключение двигателя
Внимательно осмотрите клеммники снятого двигателя. На нем есть шесть выводов: два контакта идут к датчику оборотов (таходатчику) и по два контакта с обмоток ротора и статора.
Тахометр нам не нужен, его не трогаем, надо подключить только двигатель.
Все однофазные двигатели такого типа подключаются одинаково. Выход обмотки статора надо присоединить к входу обмотки ротора. Оставшиеся два конца присоединяются к нулю и фазе. Нет разницы, какая именно обмотка будет первой, а какая второй.
Определите выходы обмоток на разъеме. Пользоваться надо тестером, один контакт постоянно держите на клемме, а второй по очереди прикладывайте к остальным. Если прибор показал короткое замыкание, то две клеммы присоединены к одной обмотке.
В нашем случае к одной обмотке подключен нижний и второй сверху контакты, а ко второй клемма над нижним и третья сверху. Соответственно, нам надо перемычкой соединить второй и третий верхние контакты. Сделайте перемычку и выполните соединение. Для гарантии опять прозвоните, теперь у вас короткое должно показывать между двумя оставшимися клеммами.
К двум оставшимся присоедините напряжение 220 В, если все в норме – двигатель начнет вращаться.
Подключение к Arduino
Напрямую к порту ардуино подключать нагрузку для диммирования нельзя, так как он может выдать всего 20 мА. То есть напрямую к порту можно подключать отдельные маломощные 5-мм светодиоды, во всех остальных случаях – используйте транзистор. В последнем случае максимальная нагрузка зависит от типа транзистора.
Что мы сегодня будем использовать
Как мы уже определились ШИМ у нас выдают только пины с номерами 3, 5, 6, 9, 10, 11. Значит, к ним и будем подключать нагрузку. В качестве транзистора предлагаю использовать полевой транзистор (MOSFET) IRF840 – он N-канальный со встроенным обратным диодом для защиты от всплесков противо-ЭДС, его характеристики:
Можно использовать и другие транзисторы с логическим уровнем включения затвора ( Ugs(th) до 5В), в противном случае придется использовать драйвер или промежуточный транзистор для его открытия.
Кроме транзистора нам нужно 2 резистора — первый между выходом платы и затвором на 240 Ом (если его у вас нет – возьмите соседние номиналы) для ограничения тока заряда затворной ёмкости, так мы снизим вероятность выхода из строя порта и просадок по питанию. Второй резистор на 10-12 кОм подключим между затвором и землёй. Он нужен для того, чтобы затвор не висел в воздухе, а также разряда затворной ёмкости и ускорения закрытия полевика. Схему подключения вы видите ниже.
Схема подключения двигателя к Ардуино через транзистор
Подключение потенциометра к Arduino
Для ШИМ в родной библиотеке Arduino IDE есть специальная функция — analogWrite (pin, value), в ней pin – номер порта, на который нужно выдавать сигнал, а value – его величина от 0 до 255. То есть при значении value равном 255 коэффициент заполнения на выходе будет равен 1, т.е. будет непрерывный сигнал на входе, а при 127 — почти 50%.
Для нашего эксперимента достаточно простенького кода, который вы видите далее.
int pot = A1; // назначаем вход А1 для чтения сигнала с потенциометра
int motor = 5; // к этому выходу подключаем затвор полевого тразнистора
analogWrite(motor, map (analogRead(pot), 0, 1023, 0, 255));
Функция map, которая используется в качестве второго аргумента функции analogWrite позволяет сократить код на несколько строчек. Её назначение преобразовать одни размерности в другие. Чтобы понять, как она работает рассмотрим её синтаксис:
map(value, fromLow, fromHigh, toLow, toHigh),
где: value – откуда брать величину, в приведенном выше примере мы её считываем функцией analogRead с пина, объявленного в переменной pot (это А1), fromLow – минимальное значение, которое будет участвовать в преобразовании (у нас это 0), fromHigh – максимальное значение для преобразования (у нас это 1023, потому что это максимальное значение, которое «видит» ардуина при чтении аналогового сигнала), toLow – в какое значение преобразовывать минимальное значение со входа, toHigh – в какое значение преобразовывать максимальное значение со входа (у нас это 255, потому что это максимальное число, которое можно записать в analogWrite).
То есть мы получаем любое число от 0 до 1023, а функция возвращает число от 0 до 255. Таким образом, у нас происходит преобразование, в общем-то, с сохранением величины в процентах (комментаторов прошу подсказать, как правильно назвать такое преобразование).
Часы на самодельных светодиодных индикаторах
Уже довольно давно возникла идея обзавестись часами, с большими светящимися циферками (чтобы отлично было видно ночью).
Но купить готовый вариант — слишком просто, поэтому решено было сделать часы самостоятельно.
Первая проблема с которой довелось столкнуться — светодиодные индикаторы.
Не то чтобы их проблемно найти, просто попадались мелкие, а нужного размера (6 см) нашел только у китайцев за цену, которая меня не устраивала (около 600 рублей).
К счастью, сделать семисегментный индикатор довольно просто.
Сначала была напечатана основа на 3D-принтере:
По задумке, в качестве рассеивателя, было решено использовать термоклей, а светодиоды взять обычные 5 мм. Но с ними вышла проблема: при размещении такого светодиода прямо — светилась только точка, а не весь сегмент; при установке светодиода боком — только половина сегмента.
Было решено использовать обычную светодиодную ленту:
Она была успешно разрезана на куски (по 1 светодиоду), а к ним — припаяны провода (много паял, так что не особо следил за аккуратностью):
Дальше залил сегменты термоклеем и поставил на место светодиоды:
Ну и еще немного поработал над внешним видом с помощью наждачки (мне так больше нравится):
Поскольку каждый сегмент имеет 8 контактов (а сегментов у нас 4) + сепаратор — 33 контакта, выходов на Arduino Uno (которая должна стать мозгами проекта) маловато. Да и управлять таким количеством контактов не очень удобно.
Было решено использовать 8-битный регистр смещения 74HC595, который позволит сократить количество нужных выходов к 3 (не считая землю и питание) + один выход на сепаратор.
Была сделана распайка для каждого сегмента (с общим катодом):
Потом все сегменты были склеены дихлорэтаном и сделана общая спайка:
Общая схема подключения выглядит следующим образом:
После подключения протестировал работу индикаторов:
Осталось только подключить модуль часов реального времени (у меня DS1302) и пару кнопок для настройки.
Был напечатан корпус на 3D-принтере, но поскольку часы вышли немаленькие, печатал кусками и склеивал (поэтому корпус смоделировал двухцветный). На заднюю крышку (тоже склеена из двух частей) разместил платы Arduino и часов, сделал вход на питание (гнездо 5,5 х 2,1 мм):
Ну и конечный результат:
Лично я результатом остался доволен, особенно учитывая, что все нужное уже имелось, покупал только резисторы.
Схема устройства
Представлена на следующем рисунке.
Прогрессивные интернет часы на ESP8266 и MAX7219
Авторское описание:
«Полностью переработанная версия Wi-Fi часов
Больше не нужно регистрироваться в погодном сервисе и получать API ключ!
Просто введите название своего города и часы всё сделают сами!
Часы показывают температуру в помещении, куры валют, а так же произвольный текст, который вы сами можете ввести когда угодно!
Присутствует регулировка яркости, автоматическое переключение в ночной и в дневной режим, время переключения яркости часы высчитывают исходя из названия города: они получают координаты населенного пункта и получают точное время восхода и заката!»
Регулятора оборотов, моя доработка
Если вы покупали недорогую китайскую продукцию, то надо обязательно сделать ревизию устройства. Достаньте из корпуса начинку и обратите внимание на симистор. В лучшем случае на нем очень маленький радиатор, не могущий эффективно отводить тепло. В худшем случае вообще ничего нет.
На новом радиаторе нарежьте резьбу М3, отрегулируйте его длину по размерам корпуса. Намажьте поверхность симистора термопастой и закрепите подготовленный радиатор. Соберите регулятор.
Симистор + Arduino
Привет, Друзья! Сегодня хочу рассказать о том, как я управляю переменным током с помощью симистора. Сам начинающий радиолюбитель и здесь пытаюсь разбиратся в основах радиоелектроники. Без простого человеческого обьяснения сложновато, поэтому прошу у Вас советы, про то как лучше это сделать.
Строю инкубатор яиц и появилась необходимость сделать трехканальный ключ, для управления переменным током, чтоб подключать разные приборы типа обогрева и увлажнителя. Хотел сделать проще, тупо поставить реле и не парится, но необходимых реле под рукой не оказалось, ждать с Китая долго а в городе нужных мне не нашел. Почитал в интернете что бывают симисторы, которые используются в твердотельных реле. Раздобыл у друга несколько симисторов и оптодрайвер к ним, нашел подходящую схему.
Необходимых номиналов резистора под рукой не оказалось, использовал какие были.
Собрал схему, подключил к контроллеру, подал нагрузку и все работает! Но заметил такую странность, как только подать нагрузку(в качестве прибора лампочка 220в), то лампочка слегка загорается на долю секунды. Это значит в цепи на короткий промежуток появляется ток. Поискал в интернете других схем и нашел решение, достаточно поставить конденсатор и резистор на выходе.
Если есть специалисты подскажите как подбирают номинал резисторов для подобных схем. А то я встречаю в сети более-менее подобные схемы и в них суют резисторы разного номинала и с широким диапазоном. Поэтому есть подозрение что можно ставить любой резистор и все будет впорядке (шутка). Бывает ли четкая аргументация как подбирать резисторы для подобных схем?
В итоге собрал трехканальный, мимисторный ключ по вот такой схеме.
Вот так он выглядит.
И так он включает лампочку.
Если кто знает как сделать подобную схему эффективней, лучше и безопасней отзовитесь и поделитесь опытом.
По мере постройки инкубатора у меня появляются вот такие устройства, которые делаю впервые, скажу не очень сложно, но знаний маловато. Как доделаю инкубатор обязательно покажу, думаю вам будет интересно посмотреть. Спасибо за внимание!)
SMS-контроллер на базе SIM800L
SIM800L V2.0 GSM/GPRS — это четырехдиапазонный GSM/GPRS модуль, совместимый с Arduino. Модуль используется для реализации функций GSM (звонки и SMS) и GPRS. Преимуществом этого модуля являются интерфейс TTL, имеющие вольтаж равный 5В, что позволяет напрямую подключить его к Arduino или любой другой системе с напряжением питания 5В.
Большинство GSM/GPRS модулей на рынке требуют подключений регулятора или преобразования уровня, в то время как в SIM800L V.2 GSM/GPRS не требует дополнительных цепей преобразования уровней интерфейсов. Приведем пример проекта, использующего SIM800L V.2 GSM/GPRS. Смысл проекта в управлении переключателей с помощью SMS-контроллера. Вы с легкостью сможете включать и выключать большинство предметов бытовой техники в доме, как например ламу, вентилятор и так далее. Характеристики модуля SIM800L V.2 GSM/GPRS
Ниже приведены все технические характеристики модуля SIM800L V.2 GSM/GPRS:
— Серийный интерфейс TTL совместимый с 3,3В и 5В микроконтроллерами, совместимыми с Arduino.
— Модуль SIM800L имеет серийный интерфейс TTL.
— Штекер подключения антенны. Поддержка сети: четыре диапазона 850/900/1800/1900 МГц, способные осуществлять звонки, SMS и передачу данных со значительно уменьшенным расходом заряда.
— Интерфейс VDD TTL UART, так что вы сможете напрямую подключить MCU такой, как 51MCU, ARM или MSP430. Штекер VDD используется для соответствия вольтажу TTL.
— Модель: SIMCOM SIM800L
— Рабочий вольтаж: от 3,7В до 5В;
— Размеры: 40мм х 28мм х 3мм
— GPRS мультислот-класс 12/10
— GPRS пакетных сервис класс B
— Соответствует GSM фазе 2/2+
— Класс 4 (2 Ват @ 850/900 МГц)
— Класс 1 (1Ват @ 1800/1900Мгц)
Вам понадобиться (ссылки на Алиэкспресс в файле):
1. Модуль SIM800L V.2 GSM/GPRS.
3. 4-канальный 5-вольтовый модуль реле.
4. Провода — перемычки.
5. Источник питания 5 В.
Сборка и настройка
Как только вы подключили все компоненты, создайте программу, после чего загрузите ее в свой Arduino. Но сначала, вы должны установить библиотеку GPRS, которую вы можете скачать:
Программный код для Arduino
После того, как вы подключили ваш SIM800L, 4-канальное модуль реле и Arduino к вашему компьютеру, впишите код и все готово.
Инструмент работает с помощью отправки SMS на SIM800L с определенной последовательностью символов. Например, чтобы включить реле 1 используйте команду «Relay 1 ON», а для того чтобы выключить используйте команду «Relay 1 OFF». Для остальных реле почти такие же команды, за исключением порядкового номера каждого реле, на которое вы хотите воздействовать. После автоматической отправки сообщения, SIM800 отправит ответ в виде сообщения о статусе каждой SIM-карты.
Видео сборки, настройки и и проверки устройства