18 янв. 2016 г.

16 янв. 2016 г.

Arduino в народном хозяйстве (взамен Logix 740)

На водоочистной башке Autotrol Performa 268 стоял у меня  контроллер Logix 740.
Но, в виду дрянного блока питания (привет кетайцкому экономическому чуду чучелу), скоропостижно гаркнул.

Выдал я его соседу, у которого есть фирмёшка с целым штатом электронщиков - без толку. Ещё и труп девайса потерялся.

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

Но, поскольку дело это нудное, то задумался я о ворачивании взад-назад автоматизации процесса. И продолжительность циклов хотелось бы выдерживать.

А тут как раз дохлые чужие президенты стали цениться дороже нашей нефти - и зарядили мне за контроллер аж 12 700 рублей (сейчас, поди, ещё больше).
Я было крякнул, но приготовился занести сумму в адрес, но тут попался мне номер Linux Format-а со статьёй об Ардуине.

Ну и некоторое время поразмыслив, заказал в Новосибирске, необходимые платы-модули.
Всё про всё - примерно 3 тыщщи рублёв.

За базу взял Seeeduino Lotus - базовый шилд с разъёмами для обвеса из серии Grove:
К нему, из серии Grove решил прикрутить релюшку для запитывания мотора, кнопку для ручного старта, RTC для запуска по календарю, а для отслеживания положения вала, прикупил оптический узкощелевой датчик autonics BS5-2KM (родной я не сумел заставить работать).
Потом ещё в качестве извращения можно ЖК экран прикрутить, но это уже рюшечки - пока главнее обеспечить сам процесс.

Вначале закубатурил, каким образом пины использовать.
Оказалось, что у Гроверных разъёмов, изящно, в параллель, зацеплены сигнальные пины с основной гребёнкой на краю платы - что у цифровых, что у аналоговых портов.

Намедни, собрал макет:

И уткнулся в требуемую продолжительность циклов на самой башке Autortol 268.

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

Положение вала при этом, можно по прорезям на валу в левой части оного, определить, для чего оптический датчик и нужен.

Посредством сбора из разных источников, собирается вот такая картинка:

Regeneration Cycles:
• C1 - Backwash
• C2 - Regenerant Draw/Slow Rinse (not used in filter mode)
• C3 - Slow Rinse (not used in filter mode)
• C4 - System Pause (to repressurize tank)
• C5 - Fast rinse cycle 1
• C6 - Backwash cycle 2 (not used in filter mode)
• C7 - Fast Rinse cycle 2 (not used in filter mode)
• C8 - Regenerant refill (not used in filter mode)

В минутах:
С1 = 10
C2/C3 = 50
C5 = 10
C8 = 10..15

С остальными пока непонятка, но тоже 10 минут, наверное, заряжу без затей.


Осталось сваять начинку чипа на языке программирования С.

Продолжение следует.