Автомат для аквариума » Программирование устройств на PIC микроконтроллерах


Логин:
Пароль:
О сайте:

Pic.Rkniga.ru - Сайт как для начинающих, так и для опытных радиолюбителей, разрабатывающих свои устройства на популярных PIC микроконтроллерах.
Здесь можно обмениваться сообщениями на форуме, а также добавлять на сайт статьи и схемы своих устройств.

Меню сайта
Главная Форум по PIC микроконтроллерам Форум Статьи по PIC микроконтроллерам Статьи Справочная информаци по PIC микроконтроллерам Справочник Литература по PIC микроконтроллерам Литература Схемотехника Схемотехника устройств на PIC микроконтроллерах Микроконтроллеры Программаторы Все по программированию PIC микроконтроллеров Программы, Софт Программы Ссылки
Опрос

На каком языке программирования вы пишите программы?


Ассемблер
Си
Бейсик
Паскаль
Другой


Последние материалы
  • Тестовая плата для отладки программ на микроконтроллере PIC18F4550
  • Кнопка On/OFF на PIC12F629.
  • Часы с синхронизацией от китайского будильника
  • ШИМ регулятор на PIC16F628A.
  • Счетчики прямого и обратного счета на PIC16F628A.
  • Таймер отключения питания для мультиметра и не только.
  • Измеритель напряжения и тока
  • Маршрутный компьютер для электровелосипеда
  • Простой двухканальный термометр на PIC16F690 и датчиках DS18B20
  • Электронная "Незабудка" для забывчивых
  • Популярные материалы
    Случайная книга
    Автомат для аквариума
    Автор публикации: alex Просмотров: 13001 Добавлен: 23-07-2012, 00:23 Комментарии: 0

         Чтобы содержать аквариум в чистоте и порядке, необходимо ежедневно вручную в определенное время включать и выключать его освещение, воду продувать воздухом и постоянно контролировать ее температуру. Предлагаемое устройство выполняет всё это автоматически, что значительно упрощает содержание аквариума.
         Автомат непрерывно отображает на индикаторе текущие время и температуру воды периодически включает и выключает воздушный насос, поддерживает заданную температуру воды в аквариуме при необходимости включая нагреватель Имеется возможность управлять еще тремя нагрузками питаемыми от сети, например, осветительными приборами.
         Предусмотрены два режима работы. В дневном компрессор включается периодически и поддерживается задание температура воды. В ночном режима компрессор выключен, а температура снижена на 2 °С относительно дневной Управление дополнительными нагрузками одинаково в обоих режимах.

         Схема автомата изображена на рис. 1. Тактовую частоту микроконтроллера DD1 задает кварцевый резонатор ZQ1 на 8,192 МГц. Интервалы времени формирует встроенный в микроконтроллер восьмиразрядный таймер-счетчик Timer0. Температуру воды в аквариуме измеряет датчик DS18B20 (ВК1). Он недорог и доступен, имеет небольшие габариты.
         Каждую секунду программа микроконтроллера выполняет следующие операции:
    —    читает результат измерения температуры датчиком ВК1;
    —    сравнивает текущее время с заданным временем включения/выключения воздушного насоса и дополнительных нагрузок. При совпадении на соответствующем выходе микроконтроллера устанавливается нужный уровень (высокий — включено, низкий — выключено). Это приводит к открыванию/закрыванию транзисторов VT2—VT5 и срабатыванию/отпусканию реле К1—К4. Контакты этих реле включены в цепи сетевого питания соответствующих нагрузок;
    —    сравнивает текущую температуру воды с заданной. При их различии более чем на 1 °С на выходе RB7 устанавливается соответствующий уровень напряжения (высокий — температура ниже заданной, включить нагреватель, О — температура выше заданной, выключить нагреватель). Управление нагревателем с помощью транзистора VT6 и реле К5 аналогично управлению другими нагрузками;
    —    проверяет логические уровни на входах RB0—RB6, определяя, не нажаты ли кнопки SB1—SB7. Высокий уровень на этих входах при отпущенных кнопках обеспечивают программно включенные внутренние резисторы микроконтроллера;
    —    выводит информацию на ЖКИ HG1.
         При нажатии на любую кнопку микроконтроллер устанавливает на выходе RA4 низкий уровень напряжения, открывая его внутренний выходной транзистор (в отличие от других этот выход микроконтроллера выполнен по схеме с открытым стоком). Током, текущим через резистор R3, открывается транзистор VT1 и через резистор R14 на анод узла подсветки экрана ЖКИ HG1 поступает напряжение — экран подсвечивается. Через 10 с выходной транзистор выхода RA4 будет закрыт. Поскольку база и эмиттер транзистора VT1 останутся соединенными через резистор R5, закроется и этот транзистор. Подсветка будет выключена.

         На рис. 2 показан чертеж печатной платы, на которой размещены все детали автомата, за исключением разъема Х1 и реле К1— К5. Все конденсаторы — керамические: С1—СЗ — группы по ТКЕ Y5V, а С4 и С5 — группы NP0. Резисторы — любого типа указанной на схеме мощности. Номинал резистора R4 может быть от 51 до 100 Ом в зависимости от необходимой яркости подсветки ЖКИ. Резистор R6 подбирают таким образом, чтобы символы на индикаторе были хорошо видны под необходимым углом зрения.
         Транзистор КТ3107А можно заменить любым структуры p-n-p с максимальным постоянным током коллектора более 50 мА, например КТ502А, а транзисторы КТ503А — другими структуры n-p-n с максимальным постоянным током коллектора не менее 100 мА, например КТ3102АМ
         Светодиоды могут быть не только типов, указанных на схеме, но и любыми другими красного и желтого цветов свечения. ЖКИ WH0802A заменяется на АС082А. АСМ0802С, ВС0802А, DV-0802, РС0802-А, SC0802A, NC0802A или на другой русифицированный ЖКИ с двумя строками по восемь символов, оснащенный встроенным контроллером S6B0066U или HD44780.
         Плата помещена в готовый корпус G939G фирмы GAINTA (рис. 3). Корпус доработан. так как в оригинальном виде не рассчитан на размещение в нем платы размерами 123x58 мм.
         Реле К1—К5 — WJ105-1A, рассчитанные на коммутацию тока 5 А при переменном напряжении 220 В. Рабочее напряжение обмотки такого реле — 5 В, потребляемый ток — 90 мА. Они размещены на отдельной печатной плате (ввиду простоты ее чертеж опущен). Как видно на рис. 4, она вместе с разъемом Х1 помещена в другую коробку размерами 84x50x30 мм.

         Для питания автомата применен "LG Travel Adapter" (зарядное устройство для телефона LG) с выходным напряжением 5,1 В при максимальном токе нагрузки 800 мА. Фактическое потребление автомата — 70...550 мА в зависимости от числа сработавших реле и состояния подсветки индикатора.
         Правильно собранный автомат начинает работать сразу. В его основном рабочем режиме ЖКИ отображает текущее время и температуру воды, как показано на рис. 5. Хотя погрешность датчика достигает ±0,5 °С, значения температуры выводятся на индикатор с дискретностью 0,1 °С, что я считаю более информативным. Дефисы вместо значения температуры, как на рис. 6, означают, что ее датчик ВК1 не подключен или неисправен.
         Когда на ЖКИ выведены время и температура, нажатием на кнопку SB1 можно перейти в режим установки параметров, а нажимая на кнопки SB4—SB7, можно изменить на противоположное состояние реле (соответственно К2— К5) и управляемых ими нагрузок. Кнопки SB2 и SB3 в этом случае никакой функциональной нагрузки не несут, нажатие на любую из них лишь включает на 10 с подсветку ЖКИ.

         Сначала устанавливают время и температуру стабилизации. Нажимают на кнопку SB1, на индикаторе появится надпись, показанная на рис. 7. Нажав и удерживая кнопку SB2, устанавливают правильное значение часов, после чего, еще раз нажав на кнопку SB1, выводят на индикатор следующее изображение — рис. 8. Теперь, нажав и удерживая кнопку SB2, устанавливают значение минут. Следующее нажатие на кнопку SB1 выводит на индикатор изображение, показанное на рис. 9. Нажатием на кнопку SB2 обнуляют значение секунд.
         Очередное нажатие на кнопку SB1 переведет автомат в режим установки температуры стабилизации. Изображение на индикаторе станет подобным показанному на рис. 10. Температуру в пределах 15...30°С устанавливают, нажав и удерживая кнопку SB2.
         Последним нажатием на кнопку SB1 возвращают автомат в рабочий режим.
         Далее корректируют ход часов автомата и устанавливают границы дневного и ночного времени. По образцовым часам устанавливают, как рассказано выше, точное время. Ровно через шесть часов сравнивают показания образцовых часов и часов автомата и вычисляют их разность в секундах.
         Нажимают на кнопки SB2 и SB3 одновременно. На индикаторе HG1 появится изображение показанное на рис. 11. Нажав и удерживая кнопку SB2 устанавливают число секyнд на которое отстали часы. Если они спешат эту операцию выполняют, нажав и удерживая кнопку SB3

         Если после выведения на табло ЖКИ этого же изображения нажать на кнопку SB1, оно сменится показанным на рис. 12. Нажав и удерживая кнопку SB2, устанавливают "верхнюю" границу — время перехода из дневного режима работы в ночной. Оно может находиться в пределах от 20 до 23 ч. "Нижнюю" границу — время перехода из ночного режима в дневной — устанавливают с помощью кнопки SB3 в интервале от 6 до 9 ч.
         И наконец, устанавливают время включения и выключения нагрузок. После нажатия на кнопку SB1 и выведения на ЖКИ изображения, показанного на рис. 7, нажимают на кнопку SB4. На табло появляется надпись, представленная на рис. 13. Символ "стрелка вверх" означает, что нагрузка, управляемая реле К1, будет включена в установленное время. Нажав и удерживая кнопку SB2, задают значение часов, а кнопку SB3 — минут этого времени.
         После еще одного нажатия на кнопку SB4 изображение на ЖКИ сменится — рис. 14. Здесь стрелка направлена вниз и нажатиями на кнопки SB2 и SB3 устанавливают время выключения нагрузки.
         Время включения и выключения нагрузок, управляемых реле К2 и КЗ, задают аналогичным образом, но вместо кнопки SB4 оперируют соответственно кнопками SB5 и SB6. Если время включения и выключения равное, текущее состояние реле не изменяется.
         Нажатием на кнопку SB7 на ЖКИ выводится изображение, показанное на рис. 15. В этом режиме задают продолжительность непрерывной работы воздушного насоса. Десятки минут — кнопкой SB2, единицы минут — кнопкой SB3. Максимальное значение — 240 мин.
         После еще одного нажатия на кнопку SB7 изображение на ЖКИ изменится в соответствии с рис. 16. Теперь кнопками SB2 и SB3 устанавливают продолжительность паузы между выключением и новым включением воздушного насоса. Максимальное значение — 240 мин.
         Нажимать на кнопки SB4— SB7 для входа в режимы установки времени работы воздушного насоса и дополнительных нагрузок можно в любой последовательности.
         После установки любого параметра возвращение в рабочий режим происходит автоматически спустя 10 с после последнего нажатия на любую кнопку и ее отпускания, даже если фактически параметры не изменялись. Все введенные значения сохраняются в памяти микроконтроллера.
         Если в моменты срабатывания реле К1—К5 под нагрузкой происходят сбои программы микроконтроллера, коммутируемую контактами реле цепь соответствующего исполнительного устройства (например, обмотку привода воздушного насоса) необходимо зашунтиро-вать конденсатором емкостью 1 мкФ. При действующем в этой цепи сетевом напряжении 220 В, 50 Гц конденсатор должен быть рассчитан на работу при переменном напряжении не менее 250 В или постоянном не менее 630 В.
    Материал взят из: Журнала Радио 2011 №6

    В архиве Проект на MicroC и Прошивка для микроконтроллера PIC16F873A

    akv.rar [19,56 Kb] (cкачиваний: 876)

    Комментарии