Устройство управления работой электромагнитного клапана на ATtiny_26L.

Logo

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


Намучившись в свое время с простыми схемами длительной задержки, я решил не экспериментировать и в качестве управляющего устройства взял ATtiny 26L. У него и ног хватает и питание низкое. Как раз то, что надо для того чтобы не ваять сопряжение с низковольтным дисплеем Nokia-5110. Которым была полностью решена проблема индикации. Т.к. устройство должно дозированно сливать жидкость, в емкость которая может переполнится, то я добавил в схему дополнительный вход с возможностью подключения контактного датчика перелива.

В самой схеме нет никакой изюминки. Поэтому говорить о ней особо нечего. И всё вроде бы хорошо, но когда я уже запаял все детали и начал писать программу, то понял, что промахнулся как минимум в двух местах. Во-первых, вместо кварца на 8МГц надо было ставить часовой кварц. Это немного облегчило бы программу и увеличило точность временных интервалов. Хотя с ними и так все не плохо. А во-вторых узким местом оказалось количество Flash памяти в контроллере. Два килобайта не хватило на все задумки. Зато позволило сконцентрироваться на работе устройства, а не на украшательствах и менюшках. И конечно надо бы было бы поставить пищалку на оставшийся выход контроллера чтобы она подавала сигнал в случае срабатывания датчика перелива. Но как известно «хорошая мысля приходит опосля». Если придется делать еще одно такое устройство я безусловно учту эти мелочи.

Вот что получилось. Светодиоды указывают на положение клапана «открыт/закрыт». Представленное устройство регулирует работу клапана с точностью до 0,1 с. в интервале от 2-х до 200 секунд т.е. максимально по полторы минуты на каждую фазу. Если замкнуть контакты датчика перелива, то устройство закрывает клапан и выставляет индикацию работы датчика перелива. Которая убирается вручную включением клапана. Уставки можно менять в процессе работы устройства. Новые значения будут записаны в EEPROM после выхода из настроек времени работы. Собственно, вот небольшое видео о работе устройства.

Ну и конечно вместо клапана можно подключать электродвигатель или реле. Так, что простор для творчества есть.


В приложенных файлах схема, плата и проект в CV_AVR.

А на сегодня всё. Удачи.

05.02.2018


Небольшая доработка программы.

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

В приложенных файлах проект в CV_AVR и отдельно новая прошивка которую можно также взять из проекта.

А на сегодня всё. Удачи.

06.03.2018


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

Приложение:
Схема, проект CV_AVR, разводка платы. 05.02.2018
Проект CV_AVR, прошивка. 06.03.2018