На головну сторінку Аквафорум
На головну сторінку




Назад   Аквафорум - форум акваріумістів та тераріумістів > Акваріум та обладнання > "Самоделкин" > Аквариумная автоматика
Аукцион Реєстрація ЧаПи Учасники Календар Нинішні дописи

Примітки

Відповідь
 
Параметри теми Параметри перегляду
Старий 29.05.2015, 00:30  
Аквариумный контроллер на pic16f628a (3 канала + PWM)
Живу я тут

Реєстрація: 19.08.2011
Звідки Ви: Киев
Дописи: 213
 

сказав Дякую: 570
сказали Дякую 290 раз(и) в 61 повідомленні
cahek80 cahek80 поза форумом 29.05.2015, 00:30
Рейтинг: ()

Доброго времени суток!

Сначала немного скучной предыстории:
Данный контроллер основан на идее контроллера "Sokol_And". Но мне не хватало некоторых функций, которые я бы мог настроить под себя. Поэтому было решено сделать свой акваконтроллер (с преферансом и библиотекаршами), основанный на pic16f628a (впоследствии я конечно же пожалел, что не начал делать хотя-бы на stm32f030f4, но, уже спаянную плату выбрасывать не хотелось).


Аквариумный контроллер оснащён микропроцессором PIC16F628A.
Экран:
- жидкокристаллический (16х2);
- подсветка экрана.
Две кнопки для настройки меню.
Часы реального времени DS1307.
Батарейка для непрерывного хода часов.
Энергонезависимая память данных.
Три выхода на 220 В (BT136-800).
Два выхода на 12 В (IRFZ44N).
Один из выходов на 12 В может работать в режиме PWM (IRFZ44N).

Контроллер может управлять по времени тремя нагрузками и одним PWM (светодиодной лентой, например). Частота PWM равна 1 Кгц. Нагрузки могут быть как на 220 вольт, так и на 12 (с некоторыми ограничениями по каналам 12 вольт).

К сожалению температурой управлять данный контроллер не может, не хватило памяти (это и есть та причина, по которой я пожалел о выборе контроллера).

При включении питания отрисовывается главный экран, на котором отображается текущее время и состояние каналов.
Щоб збільшити малюнок, клацніть по ньому
Назва:  pic1.jpg
Переглядів: 2137
Розмір:  13,7 КБ
ID:	500099

При нажатии кнопки "S2" в главном меню контроллера на 20 минут принудительно включаются выбранные заранее каналы. При этом в нижнем правом углу пишется буква "М"
Щоб збільшити малюнок, клацніть по ньому
Назва:  pic4.jpg
Переглядів: 2107
Розмір:  14,9 КБ
ID:	500121

Всего в контроллере можно настроить 10 таймеров (от 0 до 9) Теоретически количество каналов можно увеличить, но свободной памяти осталось несколько байт и это будет сделать непросто.
Щоб збільшити малюнок, клацніть по ньому
Назва:  pic2.jpg
Переглядів: 2128
Розмір:  15,3 КБ
ID:	500100

Каждый таймер настраивается на нужный канал, устанавливается время его включения и выключения.
Щоб збільшити малюнок, клацніть по ньому
Назва:  pic3.jpg
Переглядів: 2138
Розмір:  16,2 КБ
ID:	500101
Во второй строке первая цифра отвечает за номер канала, которым управляет данный таймер.

При выборе канала №4 таймер управляет каналом PWM. Время перехода от 0 до 255 и обратно составляет также 20 минут. К сожалению из-за нехватки памяти не реализован алгоритм, обеспечивающий равномерность загорания и погасания светодиодов. Хотя при таком длительном изменении это не заметно.

Время установки таймеров изменяется с шагом в 10 минут.

После выбора пункта "Y" новое значение записывается в память.

Для настройки существует 2 кнопки, одна для переключения режимов, вторая для изменения значения.

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

Также при переключении по пунктам меню после таймеров идёт настройка выходов, которые будут включаться при нажатии кнопки "S2" в главном меню.
Щоб збільшити малюнок, клацніть по ньому
Назва:  pic5.jpg
Переглядів: 2114
Розмір:  8,5 КБ
ID:	500130

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

На плате есть 2 перемычки, J1 и J2. Через них можно подключить один из транзисторов (T1) для управления 12 вольтовой нагрузкой. При подключении перемычки J1 управление дублируется с каналом 2.
При подключении перемычки J2, транзистор подключается к каналу 4 (PWM).
Транзистор T2 подключен к каналу 1.

Вот краткое описание контроллера. По возможности фотографии собранного устройства выложу на выходных.

Плата размерами получилась чуть больше платы экранчика.

Экранчик используется китайский, поэтому надписи выполнены латиницей. При желании надписи можно русифицировать, все значения записаны в EEPROM, при необходимости укажу адреса и длину надписей.

Изначально таймеры настроены неправильно. После сборки необходимо настроить их под свои нужды.

PS
Контроллер собран и работает уже неделю. Управления подсветкой экранчика нет, мне это было не актуально, да и памяти в контроллере не хватит уже.
В моем случае один канал (канал 3) идёт на включение основного освещения на лампах. Канал PWM используется для управления 30 ватт диодами светодиодной подсветки, которые реализуют рассвет-закат и доп. освещение аквариума.
Канал 2 используется для включения блока питания для светодиодного освещения.
Канал 1 - включается досветка красными светодиодами (светодиодная лента), а также работает как ночник.

Схема:
Щоб збільшити малюнок, клацніть по ньому
Назва:  AquaControl.jpg
Переглядів: 2956
Розмір:  60,3 КБ
ID:	500119

Печатная плата (нарисовано не оптимально, при желании можно нарисовать красивее конечно):
Щоб збільшити малюнок, клацніть по ньому
Назва:  Плата.JPG
Переглядів: 2321
Розмір:  378,6 КБ
ID:	500120

Во вложении схема, плата, прошивка, проект под Протеус(8) и картинка с некой схемой, описывающей логику работы с меню.
archive.zip

PPS
Следующий мой контроллер будет уж точно не на контроллерах PIC. Скорее всего это будет STM32 с графическим дисплеем 2.2" или 3" (возможно с тачем), несколько PWM, 2 датчика температуры, секундными таймерами и прочим.


Внимание! В процессе доработки плата немного менялась. Я её проверял, но мог пропустить некоторые мелочи.


В архиве в файле lay есть и первая версия платы (под названием Плата+), в которой был предусмотрен выход на термодатчик, который впоследствии пришлось вырезать.

UPD
всё, включая исходники.
control.rar


Востаннє редагував cahek80: 21.09.2016 о 20:16..
Переглядів: 15387
Відповісти з цитуванням
Ці 3 користувач(ів) сказали Дякую cahek80 за це повідомлення:
IS1971 (29.05.2015), sae74 (30.05.2015), _Vadim (16.09.2016)
Старий 20.09.2016, 16:05   #16
Живу я тут
  
 
Реєстрація: 19.08.2011
Звідки Ви: Киев
Дописи: 213
сказав Дякую: 570
сказали Дякую 290 раз(и) в 61 повідомленні
Re: Аквариумный контроллер на pic16f628a (3 канала + PWM) ===www.aquaforum.ua===

Добрый день! Я отказался от этого вида контроллеров (PIC) ибо запарился в 2 килобайта вмещать всё то что хотелось. Постараюсь выложить исходники, может сделаете что хотите. Ещё у этой программы аква-контроллера мне не нравится, что не удалось обновление экрана вместить в прошивку и у меня иногда изображение на экранчике портится.
могу написать что-то подобное под такую плату Оффтоп, в Китае её стоимость до 2-х долларов. Ну или под stm32f030f4, стоит копейки, но паять её и печатную плату делать многим будет не очень удобно. Но сроки сказать не могу, сейчас переделываю управление освещением дома.

cahek80 поза форумом   Відповісти з цитуванням


Share/Bookmark

Відповідь


Тут присутні: 1 (учасників - 0 , гостей - 1)
 

Ваші права у розділі
Ви не можете створювати теми
Ви не можете писати дописи
Ви не можете долучати файли
Ви не можете редагувати дописи

BB-код є Увімк.
Усмішки Увімк.
[IMG] код Увімк.
HTML код Вимк.

Швидкий перехід


Часовий пояс GMT +3. Поточний час: 11:39.


vBulletin 3.8.7 ; Copyright © 2000-2025 Jelsoft Enterprises Limited
Переклад: © Віталій Стопчанський, 2004-2010
(с)Бешлега Олександр Анатолійович, 2002-2025. Використання матеріалів сайту без посилання на джерело заборонено.
Дякуємо за ліцензійну версію форума компанію Барбус, представника торгової марки Sera в Україні.



AQA.ru  - все об аквариумах

no new posts