![]() |
![]() |
||||||||||||
Виброконтроллер на Atmega8 и LIS331DL
Автор: isairon Как понятно из названия, речь пойдёт о виброконтроллере, срабатывающем по событиям превышения порога вибрации (или наоборот, её отсутствии). Переселившись на новое место жительства я обнаружил стиральную машину. Она была хоть и старой, но вполне работоспособной. Единсвенным её недостататком в моих непритязательных глазах оказалась её неспособность распознать выход из под контроля режима отжима (который хоть и нечасто, но иногда случался). Машина без электронного управления - с командоаппаратом. Я не стал выбирать лёгкий путь (в магазин), а как и подобает настоящему коту - принял вызов. *** Устройство "запилено" в маленький корпус от блока согласования тягово-сцепного устройства для автомобиля. В нижней части разъём на пять контактов к линиям SPI, к которому можно подключить что угодно (в том числе и программатор). Можно сказать, это универсальный блочок, который при желании можно применить где нибудь ещё. К этому пятиконтакному разъёму (выпаянному от антенны автосигнализации) подключается через этот же антеннный шлейф маленькая платка (2 кв.см.) с акселерометр-гироскопом LIS331DL (30 рубл.) Несмотря на маленькую цену этот датчик имеет широкие возможности - формирует два прерывания с программируемыми пределами. Платка залита термоклеем для герметизации и крепится пластиковой стяжкой к подвижной части стиральной машины - на сам двигатель или бак, куда получится. Само устройство просто наклеено через липучку-репейник к лицевой поверхности машины - оно "вхолостую" вместо мгновенного ускорения показывает время и температуру. Не зря висит. Есть ещё третья часть, спрятанная за машиной. Коробка с трансформатором (для питания) и реле, которая ставится в разрыв стиральной машины, имеет вилку и розетку. Если ненадолго отключить стиралку - она начинает цикл отжима заново. Это и есть основная функция управления - разрыв питания на пару секунд. Но это ещё не всё. Елси термометр"просто для мебели", то часы позволяют прерывать работу машины после 23 00, чтобы не мешать соседям, и продолжать стирку утром, выполняя тем самым роль будильника в том числе.
Реализованы некоторые функции отказоустойчивости- на случай пропадения сигнала от датчика. Если вибрации некоторое время нет - прибор тоже отключается, считая машину либо выключившейся, либо вышедшей из строя. И подобное. В приборе всего две кнопки, но он "читает" и удержания кнопок, и двойные нажатия - это позволяет настраивать как предел срабатывания, так и время. Исходный код приведён, откомментирован, говорящие названия переменных. При желании вы можете легко подправить его под свои нужды и использовать виброконтроллер для защиты, например, какого нибудь станка или чего угодно. Я не уверен, что для такого простого устройства нужна схема. Но на всякий случай "для мебели" её часть выше. Так как датчик питается от 3.3 вольт, а согласовать SPI по уровням у меня так и не вышло (помехи сбивают шину, шлейф ведь больше 30 см) - то Мега 8 сама работает на 3.3, и согласовывается уже I2C , которая к часам - через полевые транзисторы. Часы питаются пятью вольтами для стабильности. Индикация через мультиплексирование через две микросхемы 595. Это повышает компактность и упрощает платы. Верхнюю плату можно сделать как на шлейфе, так и на разъёмах bls 2.54. Устройство идеально работает третий год и обеспечивает спокойную работы машины. Я просто делегирую слежку за безмозглой стиралкой умному контроллеру, который компенсирует тупость своей подопечной и не позволяет ей создавать землетрясения, разрушать здание и нервы соседей.
Файлы: Все вопросы в Форум.
|
|
||||||||||||
![]() |
![]() |


![]() |
||||
|
|
||||





