Я сделал: контроллер аквариума(PIC16F684)

Достаточно давно уже стоит аквариум, заведенный отцом. Но эта тема его через некоторое время отпустила и уход за ним исчез: рыб почти не кормили, свет не включали. Ну тут я и загорелся идеей сделать жизнь рыбок счасливее. Изначальное ТЗ: управление светом, фильтром, кормлением.
Зная из каких мест растут у меня руки, в первую очередь взялся за механическую часть(чтобы не застрять на ней когда все будет готово), а именно — кормушку. Идея была придумана быстро: емкость, в неё вставлен винт, который вращаясь «высверливает» корм наружу. Для этого была взята сломаная серва SG90(несколько зубьев отломалось, но для этой цели мощности даже без 2х зубов хватило), спаян из распущеного медного провода с достаточно толстыми проволоками винт(3 часа убил на это дело!!!), в обрезаный конец от банки из под герметика была вставлена емкость от припоя(такой флакон с дыркой в крышке через которую припой тянется, весяма удобно, кстати) с прорезями для входа и выхода корма, в емкость вставлен винт и соплямикучей резиной прикреплен к валу сервы. Серва была так же переделана на свободное вращение.




(не пугайтесь, вода в аквариуме не черная, фотал на телефон потому так и получилось)

После были приобретены оптопары(moc3083), симисторы(BT138-800) и конденсаторы(0,01мкф 1600В. вольт на 500-600 не было, пришлось брать эти. хуже от этого врятли стало).Контроллер PIC16F684 уже несколько месяцев ждал своего часа. Дождался.
Собрано все на вот такой плате:



U22 — место под круглый диодный мост. дырки по бокам — на случай если не встанет чтобы запаять на обычных диодах.
U24 — стабилизатор. кренка на 5 вольт. 7405 в магазине кончились, откопал ее.

сразу оговариваю, плата изначально делалась под обычный мотор, поэтому можно наблюдать место для транзистора. Его нет, т.к. с мотором не получилось. Серва подключается к ISCP разъему. Свободное место — для трансформатора(в итоге осталось пустым, т.к. транс оказался каким-то маломощным, питая через кренку пик и светодиод дребезжал, а при подключении сервы вообще не мог обеспечить нужного тока. был взят блок питания от советского магнитофона). Добавлена перемычка, дающая 5в в ISCP. Остальное вроде так и осталось.

Программа для пика написана на ASM, работает по расписанию(день недели, час, минута) Расписание хранится в EEPROM(3 байта на событие: 1: день, час. 2: минута. 3: состояние. в этом пике 256 байт, имеем около 80 событий). Раз в час пик загружает расписание на этот час в RAM. Тут было сделано ограничение: не более 16 событий в час(а зачем больше?). Каждую минуту проверяет новые события. Часы работают от часового кварца на TMR1(16битный), таким образом имеем период переполнения в 2 секунды. Вся работа происходит в прерывании, основной цикл — безделие.

Байт состояния хранит команду(установить прямо в порт, включить, выключить) и операнд. Отдельно обрабатывается флаг кормления.

В результате осталось 2 не занятых ноги. К ним можно подключить термометр(что, возможно, и будет сделано) или что-нибудь еще. Так же можно выкинуть светодиод и освободить еще одну ногу.

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

Уже установлено, работает в тестовом режиме: пока без корпуса и не все подключено:


В приложении проект MPLAB с кодом(+составленое мной расписание) и плата в DipTrace.(кста, почему форум блочит rar-архивы? чем они не угодили?)

PS: в ходе работ в первый раз попользовался EEPROM, научился пользоваться указателями(FSR\INDF). Первое устройство, работающее с напряжениями выше 12 вольт.
  • +3
  • 08 июня 2011, 15:38
  • kest
  • 1
Файлы в топике: aquarium.zip

Комментарии (12)

RSS свернуть / развернуть
по поводу рар — не бесплатная технология. Те кто сидит на линухе открывают с большим геморроем. Если не админ на компе и нет винрара — не открыть. Зип открывается голой виндой без проблем. Ну… и по собственным ощущениям — правила хорошего тона в интернет для 2+ человек — лучше в зип. Все мое имхо.

PS у меня винрар стоит, но все равно по почте или посторонним людям в зипе, во избежании.
+1
да, винрар у меня по-умолчанию в зип пакует.
0
unrar и peazip с rarом в линухах нормально работают.
но да. лучше уж zip.
0
в принципе согласен, зип универсальней. но по поводу проблем на линуксе, хочу вас заверить что все спокойно открывается.

по умолчанию архиватор в рар жмет. не сильно напрягает, прост когда получил отказ — несколько удивился
0
а, ну значит моя информация по линухам устарела :) не так часто сталкиваюсь.
0
Просто забыли добавить их в перечень разрешенных форматов.
0
Идея со шнековой подачей — зачет. Сам долго думал, но до такого простого решения не допетрил.
0
Идея класс, а то под это дело в своем контроллере аквариума, даже дорожки развел, ногу контроллера выделил, а допетрить как саму кормушку замутить не смог. Ниче будет летом время, буду полностью переделывать.
Автор молодец!
0
Подача корма оригинальная. А можно поподробнее фотку или чертеж устройства?
0
тоже начал делать подобное))) только все пока на стадии определения «а что мне от него нужно» и «а как бы это на плате поудобнее пристроить»)))
0
просили фото подробней — держите




Разбирать и высыпать корм не буду, вот фото конца винта. Он такой во всю длинну, что в емкости.

Исходные материалы:

+ провод. тем кто будет делать тоже сам: за ось берите толстый одножильный провод какой-нибудь. у меня ось скручена так же из тонких, которыми плоскости делались-не оч хорошо получилось.
0
да, соединения с основанием и между трубкой и емкостью обмазаны тем-же герметиком, чтобы корм не просыпался в щели
0
Только зарегистрированные и авторизованные пользователи могут оставлять комментарии.