Автоматический светильник для аквариума на МК PIC12 / Хабр
В рамках изучения 12 серии PIC микроконтроллеров решил сделать небольшое, но очень полезное устройство.
У моей дочки живет аквариум. Подсветка сделана на люминесцентных лампах, которые каждое утро надо включать и вечером выключать. А так как мы семья заядлых туристов, то чтобы не устраивать рыбам пытку светом или темнотой на дней 5-7 решил сделать освещение LED лентой с автоматом включения/выключения от солнечного освещения.
Попутно попытаться выжать из микроконтроллера максимум, по функционалу.
Итак цель:
- Две независимые ленты освещения
- Регулировка освещенности переменным резистором
- Реализовать управление яркостью лент с помощью программной реализации ШИМ
- 3 режима работы:
- последовательное увеличение яркости лент по очереди (сначала одна затем вторая)
- одновременное увеличение яркости лент
- одновременное увеличение яркости лент с режимом автоматического включения/выключения от солнечного света
- Автоматический режим реализовать на фоторезисторе с учетом гистерезиса, чтобы исключить моргание в сумеречный период
- Запоминание выбранного режима в EEPROM с восстановлением при включении
- Индикация выбранного режима светодиодом
- Смена режимов нажатием кнопки
- Так как ленты питаются от 12В, то сделать питание МК от 12В
В загашнике был МК PIC12F675, который идеально подошел для моих целей.
Для питания МК от 12В использована стандартная микросборка 7805.
БП был заказан на BangGood — как оказалось, весьма достойный БП за смешные деньги.
Там же заказана и LED лента.
Немного о расскажу о данном МК:
8 контактов,
1.75 кб — программной флеш-памяти,
128 байт — EEPROM
4 — 10ти битных АЦП
На GPIO выводах есть программно подключаемые подтягивающие резисторы.
4MHz – частота внутреннего тактового генератора.
2 таймера 8/16 бит
Сначала я боялся, что скорости внутреннего тактового генератора не хватит, чтобы ленты при малом значении ШИМ не моргали. Испытания на старом ATшном БП так и показали, что ленты мерцают. Но потом проверка готового изделия на новом китайском БП показала, что пульсация шла от старого БП.
Собственно лучше расскажет за меня схема и исходник программы(под MPLAB X), в котором всё подробно расписано. Так как LED лента имеет свои собственные токоограничивающие резисторы, то на схеме они не указаны.
Схема, исходники и немного фото
Архив с исходниками
На мекетке вместо лент с полевиками, поставлены просто светодиоды с токоограничивающими резисторами.
Под крышкой аквариума в профиле уложены 5050 LED ленты.
Ну а сам управляющий блок приклеен на двусторонний скотч сверху крышки, там куда попадает солнечный свет из окна.
В процессе работы столкнулся с двумя проблемами – во время инициализации забыл указать ANSEL=0, вследствие чего на цифровых ногах МК валил всякий мусор.
И в процессе множественных перепрошивок МК слетела калибровочная константа (каким образом понять не могу, так как программатор PicKit3 автоматом защищает эту константу от затирания). Как оказалось, калибровочная константа в МК PIC12 хранится в последнем адресе программной флеш-памяти и самым лучшим методом её не потерять — нужно сначала прочитать и сохранить(я нацарапал иголкой на корпусе МК).
Огромное спасибо форумчанам easyelectronics.ru за помощь в решении этих вопросов.
Сейчас автомат идеально отработал 2 недели в полевых условиях. Очень приятно выглядит регулируемая подсветка – особенно если разместить ленты освещения на пережнем и заднем планах. Единственный минус – теперь забываю кормить рыб, так как свет включать-выключать им уже не нужно.
Следующим шагом будет автоматическая кормушка с RTC или по SMS с мобилки., но это уже наверно на PIC16 серии.
Себестоимость проекта вышла примерно в 15-16$ вместе с БП, что создает здоровую конкуренцию светильникам на лампах дневного света продаваемым в магазинах аквариумистики, но у светодиодного освещения гораздо больше возможностей. Как вариант, можно имитировать закаты/восходы RGB лентой, а основное освещение – белой лентой. В общем, вариантов масса.
Серия pic12f629 (Microchip)
Microchip
Общие характеристики
Раздел | Микроконтроллеры широкого назначения | |
Объём EEPROM памяти | ||
---|---|---|
Объём оперативной памяти | ||
Максимальная частота ядра | ||
Тип памяти программ | ||
Периферия | ||
АЦП/ЦАП |
Документация на серию pic12f629
- найти pic12f629.
Товары серии pic12f629
Наименование | i | Упаковка | Ядро | Память программ | Uпит | T раб | Порты | Корпус |
---|---|---|---|---|---|---|---|---|
PIC12F629 (MCRCH)
|
| — | — | |||||
PIC12F629-C/P (MCRCH)
| — | |||||||
PIC12F629-C/SN (MCRCH)
| — | |||||||
PIC12F629-E/MD (MCRCH)
|
| 91 шт | DFN-8 | |||||
PIC12F629-E/MF (MCRCH)
|
| 60 шт | DFN-8 | |||||
PIC12F629-E/P (MCRCH)
| 60 шт | DIP8300 | ||||||
PIC12F629-E/SN (MCRCH)
| в линейках 100 шт | SO8150 | ||||||
PIC12F629-E/SNVAO (MCRCH)
| ||||||||
PIC12F629-I/MD (MCRCH)
|
| 91 шт | DFN-8 | |||||
PIC12F629-I/MF (MCRCH)
|
| 60 шт | DFN-8 | |||||
PIC12F629-I/P (MCRCH)
| в линейках 60 шт | DIP8300 | ||||||
PIC12F629-I/SN (MCRCH)
| в линейках 100 шт | SO8150 | ||||||
PIC12F629-I/SNVAO (MCRCH) | — | |||||||
PIC12F629A-I/SN (MCRCH)
|
| 1 шт | — | — | — | — | — | — |
PIC12F629T-C/SN (MCRCH)
| — | |||||||
PIC12F629T-E/MD (MCRCH)
|
| — | ||||||
PIC12F629T-E/MF (MCRCH)
|
| 3300 шт | DFN-8 | |||||
PIC12F629T-E/SN (MCRCH)
| 3300 шт | SO8150 | ||||||
PIC12F629T-E/SN226 (MCRCH)
| — | |||||||
PIC12F629T-E/SNV08 (MCRCH)
| — | |||||||
PIC12F629T-E/SNVAO (MCRCH)
| — | |||||||
PIC12F629T-I/MD (MCRCH)
|
| 3300 шт | DFN-8 | |||||
PIC12F629T-I/MF (MCRCH)
|
| 3300 шт | DFN-8 | |||||
PIC12F629T-I/SN (MCRCH)
| в линейках 3300 шт | SO8150 | ||||||
PIC12F629T-I/SN230 (MCRCH)
| — | |||||||
PIC12F629T-I/SNVAO (MCRCH)
| — | |||||||
PIC12F675-E/MD (MCRCH) |
| 91 шт | DFN-8 | |||||
PIC12F675-E/MF (MCRCH)
|
| 60 шт | DFN-8 | |||||
PIC12F675-E/P (MCRCH)
| в линейках 60 шт | DIP8300 | ||||||
PIC12F675-E/SN (MCRCH)
| в линейках 100 шт | SO8150 | ||||||
PIC12F675-I/MD (MCRCH)
|
| 91 шт | DFN-8 | |||||
PIC12F675-I/MF (MCRCH)
|
| 60 шт | DFN-8 | |||||
PIC12F675-I/P (MCRCH)
| в линейках 60 шт | DIP8300 | ||||||
PIC12F675-I/SN (MCRCH)
| в линейках 100 шт | SO8150 | ||||||
PIC12F675-I/SNVAO (MCRCH)
| — | |||||||
PIC12F675T-E/SN (MCRCH)
| 3300 шт | SO8150 | ||||||
PIC12F675T-I/MF (MCRCH)
|
| 3300 шт | DFN-8 | |||||
PIC12F675T-I/SN (MCRCH)
| 3300 шт | SO8150 | ||||||
PIC12F675T-I/SNVAO (MCRCH)
| — | |||||||
RFPIC12F675F-I/SS (MCRCH)
| 67 шт | SSOP-20 | ||||||
RFPIC12F675FT-I/SS (MCRCH)
| 1600 шт | SSOP-20 | ||||||
RFPIC12F675H-I/SS (MCRCH)
| 67 шт | SSOP-20 | ||||||
RFPIC12F675HT-I/SS (MCRCH)
| 1600 шт | SSOP-20 | ||||||
RFPIC12F675K-I/SS (MCRCH)
| 67 шт | SSOP-20 |
Microchip PIC12F508-I/SN, 8-битный PIC-микроконтроллер, PIC12, 4 МГц, 512 Flash, 8-контактный SOIC
запас – возврат заказа на отправку 25. 08.2023, доставка в течение 6 рабочих дней
Добавить в корзинуtickДобавлено
Посмотреть корзину
Цена (без НДС) Каждая
Было 34,00 TWD
Вы платите
90 01926,00 тайваньских долларов(без НДС)
27,30 тайваньских долларов
(включая НДС)
шт. | за шт. |
1 + | 26,00 тайваньских долларов |
Варианты упаковки:
checkmarkСтандартная упаковка
empty-checkmarkПроизводственная упаковка
Альтернативы
В настоящее время этот продукт недоступен. Вот наши альтернативные рекомендации.
Microchip PIC12F509-I/SN, 8-битный PIC-микроконтроллер, PIC12F, 4 МГц, 1K Flash, 8-контактный SOIC
- RS Артикул №
- 623-0106
Цена (без НДС) Каждая
28,00 тайваньских долларов
(без НДС)
9002 3 TWD29.40(включая НДС)
Микрочип PIC12F508 -E/sn, 8bit pic microcontroller, PIC12F, 4 МГц, 512 слов Flash, 8-PIN SOIC
- RS Запасы №
- 823-7994
Цена (VAT исключен) каждый (в пакете 10).
28,40 тайваньских долларов
(кроме НДС)
29,82 тайваньских долларов
(включая НДС)
- RS Артикул №:
- 623-0077
- Произв. Артикул:
- PIC12F508-I/SN
- Производитель:
- Microchip
Обзор продукции и технические паспорта
- docPdfDatasheet 901 13
- docZipSchematic Symbol & PCB Footprint
Законодательство и соответствие
Подробная информация о продукте
8-разрядные флэш-микроконтроллеры PIC12F508/509
Микроконтроллеры Microchip PIC12 (MCU) были первыми в мире 8-контактными микроконтроллерами. Первоначально выпущенный как компоненты с одноразовым программированием (OTP), этот диапазон устройств продолжает расширяться по мере добавления дополнительных функций и дальнейших улучшений.
Семейство микроконтроллеров PIC12F508/509 основано на базовом ядре Microchip с двухуровневым аппаратным стеком и 33 инструкциями. Эти микроконтроллеры обеспечивают до 1 MIPS, до 1,5 Кбайт памяти программ с памятью данных до 41 байт SRAM. На борту находится RC-генератор с точностью ±1%.
Особенности
33 Инструкции
Двухуровневый аппаратный стек
Внутренний осциллятор 4 МГц
6 контактов ввода/вывода
Один 8-разрядный таймер
Сторожевой таймер (WDT)
Внутрисхемное последовательное программирование ( ICSP)
Внутрисхемный Отладка (ICD)
Microchip PIC12F 8-разрядные микроконтроллеры PIC®
Микроконтроллеры Microchip PIC12F (MCU) были первыми в мире Штыревые микроконтроллеры. Первоначально выпущенный как компоненты с одноразовым программированием (OTP), этот диапазон устройств продолжает расширяться по мере того, как Microchip добавляет дополнительные функции, улучшает характеристики и продолжает предлагать все большую ценность. Ключом к успеху PIC12F был внутренний RC-генератор, который допускал шесть каналов ввода-вывода в 8-контактном корпусе. Более поздние версии этого RC-генератора настраиваются в диапазоне от 31 кГц до 32 МГц.
Технические характеристики
Атрибут | Значение |
Фамилия | PIC12 |
Тип корпуса | SOIC |
Тип монтажа | Монтаж на поверхности |
Количество контактов | 8 |
Ядро устройства | PIC |
Ширина шины данных | 8 бит |
Объем памяти программы | 512 x 12 слов |
Максимальная частота | 4 МГц |
Объем ОЗУ | 25 B | Каналы USB | 0 |
Количество каналов SPI | 0 |
Количество каналов CAN | 0 |
Типичное рабочее напряжение питания | 2 → 5,5 В |
Количество каналов I2C | 0 | 900 34
Количество каналов UART | 0 |
Количество каналов USART | 0 |
Количество каналов LIN | 0 |
0 | |
Размеры | 4,9 x 3,9 x 1,5 мм |
Длина | 4,9 мм |
Тип программной памяти | Флэш-память |
Минимальная рабочая температура | -40 °C 9 0031 |
Архитектура набора инструкций | RISC |
Количество каналов PCI | 0 |
Высота | 1,5 мм |
Ширина | 3,9 мм |
Максимальная рабочая температура | +85 °C |
Crestware PIC12 Price Rite Ресторанное оборудование
Crestware PIC12 Price Rite Ресторанное оборудованиеМагазин будет работать некорректно в случае, если куки отключены.