Как построить термостат с помощью PICAXE
Введение
Независимо от того, используются ли они для обогрева корпуса рептилий или птичьего инкубатора, охлаждения компьютера или контроллера видеоигр, включения и выключения мансарды, или для чего-то еще, термостаты имеют много применений вокруг дома и магазина и на удивление легко построить. Три основные части термостата - это температурный датчик, компаратор температуры с регулируемым уставкой и схема управления для подключенного нагревателя, охладителя или вентилятора. В этой статье будут даны подробные сведения о температурном датчике и компараторе, но поскольку управляемое внешнее устройство (нагреватель, охладитель, вентилятор и т. Д.) Диктует параметры схемы контроллера, оно не будет включено в эту статью.
Термостаты могут быть механическими, электрическими, электронными или некоторыми комбинациями из трех. Электронные термостаты могут быть построены с использованием дискретных компонентов, операционных усилителей или микроконтроллеров, но, как указано в заголовке, эта статья посвящена созданию термостата с удивительным микроскопом PICAXE в качестве компаратора температуры. В качестве температурного датчика будет использоваться интегральная схема DS18B20.
Для построения и программирования этой схемы требуется скромный фон с микроконтроллерами PICAXE, и если вы окажетесь недооцененными, обзор некоторых из этих статей может быть в порядке.
DS18B20
Датчик температуры, выбранный для использования с PICAXE, является DS18B20 от Maxim Integrated и полностью описан в техническом описании. Этот проект будет использовать пакет TO-92, но если ваши требования к устройству для поверхностного монтажа, DS18B20 также доступен в пакетах SO и μSOP с 8 выводами. Просто внесите изменения в номера контактов, и, поскольку возможности идентичны для всех трех вариантов, у вас не должно быть проблем.
DS18B20 обычно считывается в градусах Цельсия, его диапазон составляет от -55ºC до + 125ºC, а его точность указана равной +/- 0, 5ºC от -10ºC до + 85ºC. Он может обеспечивать либо 9-битное, либо 12-битное разрешение, и работает от 3, 0 до 5, 5 В. Несколько устройств DS18B20 могут работать на одной 3-проводной шине, но в этом проекте будет использоваться только один датчик.
схема
Схема для этого проекта показана ниже; он относительно прост и очень похож на дизайн, используемый в других статьях и проектах PICAXE этого автора. Нажмите на изображение для большей версии схемы.

На приведенной ниже фотографии показан паяльник в сборе схемы и электрически идентичен приведенной выше схеме. Нажмите на изображение, чтобы увеличить его фотографию.

Учитывая принципиальную схему и фотографию пайки без пайки, у вас должно быть очень мало проблем с дублированием сборки. Следующие примечания должны содержать ответы на большинство вопросов, которые могут возникнуть у вас.
- На рисунке показана схема выводов для версии TO-92 DS18B20. Убедитесь, что вы понимаете, что схема выводов показывает вид снизу устройства, но вид сверху показан в макете.
- Светодиод 1 будет гореть одновременно с сигналом включения питания к цепи управления внешнего нагревателя / охладителя. Обратите внимание, что максимальный доступный ток от одного контакта на PICAXE составляет 20 мА, а ток через R4 и LED1 составляет приблизительно 5 мА. Таким образом, не более 15 мА доступно для схемы внешнего нагревателя / охладителя.
- Все цвета проводников на принципиальной схеме соответствуют фактическим цветам проводов, указанным на макетной фотографии.
- Все резисторы составляют 0, 25 Вт, допуск 5%.
- Требуется регулируемый источник питания + 5 В постоянного тока; достаточно трех щелочных батарей АА.
- Здесь описывается интерфейс программирования PICAXE.
- Здесь объясняется серийный ЖК-дисплей.
Как обычно, вы должны перепроверить все соединения, прежде чем продолжить. Безусловно, большинство проблем с недавно построенными макетами связаны с ошибками проводки.
Код
Код для работы схемы термостата показан ниже.

Как видите, код хорошо комментируется (в зеленом тексте) и содержит только пару новых команд, кроме тех, которые использовались в предыдущих статьях этого автора.
- Строки 19 и 20 используются для создания нового пользовательского символа в последовательном контроллере для ЖК-дисплея: символ градуса (º). Инструкции по созданию пользовательских символов в пикселях по пикселям содержатся здесь, но гораздо более простой способ - использовать умную программу, созданную Полом Бэдгером, и доступную на последней пуле в разделе «Ресурсы» здесь.
- Строка 32 является фактической командой для PICAXE для чтения температуры от DS18B20. Если вы очень много читали из спецификации DS18B20, вы, вероятно, ожидали чего-то гораздо более сложного, но люди из Revolution Education, создатели системы PICAXE, сделали для вас работу. Команда readtemp12 обсуждается в Руководстве по PICAXE 2.
Загрузите код, откройте его в редакторе PICAXE 6 или в IDE по вашему выбору, включите макет (вы дважды проверили все соединения, верно?) И запрограммируйте 08M2.
Скачать код
Выполнение кода
После того, как код компилируется и запрограммирован в PICAXE 08M2, будет задержка, когда ЖК-дисплей настроен и загрузится, после чего он будет похож на фотографию ниже. Если температура, где вы находитесь, не составляет 78, 5ºF, вы должны увидеть свою локальную температуру окружающей среды.

«Но подождите, - можете сказать вы. «Я думал, что DS18B20 зачитан в Celcius, а не в Фаренгейте!» И ты был бы прав. Однако линии с 34 по 39 преобразуют C в F; если вы хотите Celcius, просто измените код, чтобы устранить это преобразование.
«Как насчет включения и выключения? Как это изменить?» Еще раз, ответ находится в коде; просто измените строки 27 и 29 на любые требуемые температуры и перепрограммируйте PICAXE.
И заметили ли вы хороший символ степени после каждого чтения температуры? Это новый пользовательский символ, созданный в строках 19 и 20. Чтобы увидеть другие пользовательские символы в последовательном адаптере, выключите и снова включите питание, что приведет к перезагрузке ЖК-дисплея и отобразит экран загрузки ниже.

Во второй строке дисплея находятся восемь пользовательских символов: символ степени (º), за которым следуют семь вертикальных баров. Все восемь из них находятся в энергонезависимой памяти последовательного контроллера и будут оставаться там до тех пор, пока они не будут перепрограммированы.
Последние мысли
Отрегулируйте заданные значения чуть ниже и чуть выше температуры окружающей среды, где вы находитесь. Затем, вдохните дыхание на DS18B20 и наблюдайте, как дисплей регистрирует более высокую температуру и выключает желтый светодиод. Продолжайте просмотр, когда DS18B20 вернется к температуре окружающей среды, и желтый светодиод загорится.
Изучите код, внесите изменения в него и проверьте свои изменения. Нет лучшего способа научиться писать код, чем … ну, напишите код.
Повеселись!
Попробуйте этот проект сами! Получить спецификацию.