Автор: MyxoMop
Схема:
Выставляю на всеобщее обозрение свой проект "Nixie Thermometer на SHT21". Основная фича - питание от батареек и выход из спящего режима от легкого удара по корпусу или поверхности, где стоит термометр. Термометр по очереди показывает температуру и относительную влажность воздуха несколько циклов и далее засыпает до следующего удара.
Если во время работы термометра нажать кнопку S1 "Test" - запустится цикл антиотравления катодов. Эту функцию также удобно использовать при сборке для проверки правильности подключения индикаторов.
Питается термометр от 4-х батареек AA. Ток потребления в спящем режиме чуть меньше 90uA. В рабочем состоянии около 150-160mA (сильно зависит от качества примененного трансформатора и напряжения батареек). Насколько хватает батареек я пока не знаю, но у меня уже работает больше месяца при показе 2-3 раза в день, причем батарейки стоят далеко не новые. Схема выше.
IC1 лучше использовать TPS60501 (готовый вариант на 3.3V),тогда делитель R2R5 не нужен. Я использовал аdjustable версию TPS60500 только потому, что они у меня были. Схему высоковольтного преобразователя взял из Application Note AN920/D на MC34063 от ON Semiconductor (стр. 28). Трансформатор можно выдрать из маломощной энергосберегайки, фотовспышки и т.п. Первичка 25 витков диаметром 0,15-0,25мм, вторичка 260 диаметром 0,08мм. Параметры примерные и лучше подобрать под конкретный транс.
В качестве датчика удара (узел на VT11-VT12) я использовал пьезодатчик от автосигнализации. Сначала я думал, что можно использовать любую пьезопищалку, но как ни странно, у меня с ними не заработало. Только с таким датчиком
За образец была взята схема из этой велосигнализации. Потом на форуме Радиокота crocodil посоветовал использовать другую схему http://vrtp.ru/index.php?showtopic=19346&st=60, типо она меньше потребляет (5-7uA). Лично я ее не проверял, ибо девайс уже собран и работает, а если кто решит повторить мой термометр - можете попробовать, о результатах отпишетесь тут в каментах. Хотя, думаю разница в потреблении этих схем 20-25 мкА для батареек AA не очень критична.
Далее началось изготовление плат. На основной плате оставлен квадратный вырез, в который после отладки будет запаян короб для батареек.
Плата индикаторов
К сожалению, я не предусмотрел сначала установку диодов D3-D13 и стабилитрона D14. Они потом были напаяны сверху на плату индикаторов навесным монтажом.
Платка самого датчика. Говорят он боится всяких нехороших воздействий, поэтому паялся очень быстро и потом отмывал от канифоли тоже не очень тщательно, чтоб спирт случайно не попал на окно датчика.
Платы собраны, начинаем пилить корпус. Основная часть:
Дно вырезано из тонкого аллюминия. Сначала я его покрасил серой краской. Но она почему-то очень хреново держалась. Просто ногтём можно было отодрать. Думал закрепить мебельным лаком - получилось еще хуже. Местами краска вообще вспучилась.
В итоге было решено просто обклеить дно пленкой под дерево.
Далее в плате сделал отсек для батареек из спаянных кусков фольгированного гетинакса.
Плата прикручена к дну и установлены все элементы. Датчик вибрации не поместился в нижнем правом углу, где думалось изначально, и был перенесен влево вверх.
Настал этап окончательной сборки. И тут вылез еще один косячок. Корпус хоть и матовый красный, но все же достаточно прозрачный. По-этому получилось, что все провода и плотно уложенные кишочки не очень красиво просвечивали через него. Пришлось опять разобрать и покрасить корпус изнутри черной краской.
В итоге после сборки всех кусков вместе получился вот такой девайс.
Если вам понравилось и вы решите повторить конструкцию, выкладываю прошивку и исходники:
Прошивка,исходник.
При прошивке обратите внимание, что в первых 3-х ячейках EEPROM хранятся настройки, которые вы можете изменить. Изменить можно сам HEX (в проге, которой прошиваете) или исходник и потом скомпилить заново. По адресу 0 хранится байт конфигурации, в котором:
bit 7 - гашение незначащего нуля в старшем разряде цифры (1-погашен, 0-не погашен);
bit 2 - плавный переход между показаниями температуры/влажности (0-выкл);
bit 1 - плавное гашение при выключении (0-выкл);
bit 0 - плавное зажигание при включении(0-выкл);
По адресу 1 хранится количество циклов показа температуры/влажности. По умолчанию равно 6 (T-H-T-H-T-H). Если цифра будет нечетной, то показ будет кончаться температурой.
По адресу 2 длительность показа одного цикла в условных попугаях. По умолчанию равно 5. Слишком большой длительность делать не стоит - батарейное питание.
Так же при работе термометра могут появиться ошибки - при этом высветится буква "П" (типа пиздец ) и цифры - код ошибки. И во всех цифрах загорятся запятые. Коды ошибок могут быть такие:
001 - 010 - не получен ACK от датчика SHT21 (конкретно из какого места обмена смотрите исходник)
020 - тайм-аут при чтении температуры
021 - тайм-аут при чтении влажности
040 - нету Power Good от TPS60500 (жопа батарейкам)
041 - VDD < 2.25V от датчика SHT21 (типа тоже жопа батарейкам)
070 - не совпала CRC при чтении температуры
071 - не совпала CRC при чтении влажности
Реально в железе у меня удалось увидеть только 2 ошибки. 001 - при отсутствии датчика SHT21 (типа не пришел первый же ACK) и 040 при плохих батарейках. Остальные коды тестировались только в симуляторе. Так же при коде 040 термометр при включении пищит не 1 раз, как обычно, а 3 раза - на случай, если батарейки уже не потянут индикацию. Хотя реально у меня индикация работала даже при 3-х вольтах.
Поскольку в пике осталась нога 7 (RC3) свободной и я не знал куда ее засунуть, то вывел на нее сигнал "Low battery". Можете его куда-нибудь использовать.
Набор печатных плат - самого термометра, индикаторов и под датчик :
платы.
Порядок сборки рекомендую такой: сперва паяем TPSку и на выходе контролируем 3,3 вольта. Далее мастырим высоковольтный преобразователь без ключа VT13-14. Между S-D VT13 лепим перемычку чтоб подать питание. Добиваемся примерно 170 вольт на выходе. Если есть желание, можно поэкспериментировать с разными трансформаторами, добиваясь наименьшего тока потребления. Снимаем перемычку. Далее паяем и отлаживаем датчик удара VT11-VT12, хотя у меня он заработал сразу и ничего особо я не настраивал. Далее паяем PIC и прошиваем его при снятых джамперах на разъёме ICSP. Потом допаиваем все остальное и наслаждаемся результатом.
Первоисточник.
Лампа:ИН-19,ИН-14
Схема: есть
Плата:есть
Прошивка:есть
Исходник:есть
Описание: есть
Особенности: измерение влажности.Схема:
Выставляю на всеобщее обозрение свой проект "Nixie Thermometer на SHT21". Основная фича - питание от батареек и выход из спящего режима от легкого удара по корпусу или поверхности, где стоит термометр. Термометр по очереди показывает температуру и относительную влажность воздуха несколько циклов и далее засыпает до следующего удара.
Если во время работы термометра нажать кнопку S1 "Test" - запустится цикл антиотравления катодов. Эту функцию также удобно использовать при сборке для проверки правильности подключения индикаторов.
Питается термометр от 4-х батареек AA. Ток потребления в спящем режиме чуть меньше 90uA. В рабочем состоянии около 150-160mA (сильно зависит от качества примененного трансформатора и напряжения батареек). Насколько хватает батареек я пока не знаю, но у меня уже работает больше месяца при показе 2-3 раза в день, причем батарейки стоят далеко не новые. Схема выше.
IC1 лучше использовать TPS60501 (готовый вариант на 3.3V),тогда делитель R2R5 не нужен. Я использовал аdjustable версию TPS60500 только потому, что они у меня были. Схему высоковольтного преобразователя взял из Application Note AN920/D на MC34063 от ON Semiconductor (стр. 28). Трансформатор можно выдрать из маломощной энергосберегайки, фотовспышки и т.п. Первичка 25 витков диаметром 0,15-0,25мм, вторичка 260 диаметром 0,08мм. Параметры примерные и лучше подобрать под конкретный транс.
В качестве датчика удара (узел на VT11-VT12) я использовал пьезодатчик от автосигнализации. Сначала я думал, что можно использовать любую пьезопищалку, но как ни странно, у меня с ними не заработало. Только с таким датчиком
За образец была взята схема из этой велосигнализации. Потом на форуме Радиокота crocodil посоветовал использовать другую схему http://vrtp.ru/index.php?showtopic=19346&st=60, типо она меньше потребляет (5-7uA). Лично я ее не проверял, ибо девайс уже собран и работает, а если кто решит повторить мой термометр - можете попробовать, о результатах отпишетесь тут в каментах. Хотя, думаю разница в потреблении этих схем 20-25 мкА для батареек AA не очень критична.
Далее началось изготовление плат. На основной плате оставлен квадратный вырез, в который после отладки будет запаян короб для батареек.
Плата индикаторов
К сожалению, я не предусмотрел сначала установку диодов D3-D13 и стабилитрона D14. Они потом были напаяны сверху на плату индикаторов навесным монтажом.
Платка самого датчика. Говорят он боится всяких нехороших воздействий, поэтому паялся очень быстро и потом отмывал от канифоли тоже не очень тщательно, чтоб спирт случайно не попал на окно датчика.
Платы собраны, начинаем пилить корпус. Основная часть:
Дно вырезано из тонкого аллюминия. Сначала я его покрасил серой краской. Но она почему-то очень хреново держалась. Просто ногтём можно было отодрать. Думал закрепить мебельным лаком - получилось еще хуже. Местами краска вообще вспучилась.
В итоге было решено просто обклеить дно пленкой под дерево.
Далее в плате сделал отсек для батареек из спаянных кусков фольгированного гетинакса.
Плата прикручена к дну и установлены все элементы. Датчик вибрации не поместился в нижнем правом углу, где думалось изначально, и был перенесен влево вверх.
Настал этап окончательной сборки. И тут вылез еще один косячок. Корпус хоть и матовый красный, но все же достаточно прозрачный. По-этому получилось, что все провода и плотно уложенные кишочки не очень красиво просвечивали через него. Пришлось опять разобрать и покрасить корпус изнутри черной краской.
В итоге после сборки всех кусков вместе получился вот такой девайс.
Если вам понравилось и вы решите повторить конструкцию, выкладываю прошивку и исходники:
Прошивка,исходник.
При прошивке обратите внимание, что в первых 3-х ячейках EEPROM хранятся настройки, которые вы можете изменить. Изменить можно сам HEX (в проге, которой прошиваете) или исходник и потом скомпилить заново. По адресу 0 хранится байт конфигурации, в котором:
bit 7 - гашение незначащего нуля в старшем разряде цифры (1-погашен, 0-не погашен);
bit 2 - плавный переход между показаниями температуры/влажности (0-выкл);
bit 1 - плавное гашение при выключении (0-выкл);
bit 0 - плавное зажигание при включении(0-выкл);
По адресу 1 хранится количество циклов показа температуры/влажности. По умолчанию равно 6 (T-H-T-H-T-H). Если цифра будет нечетной, то показ будет кончаться температурой.
По адресу 2 длительность показа одного цикла в условных попугаях. По умолчанию равно 5. Слишком большой длительность делать не стоит - батарейное питание.
Так же при работе термометра могут появиться ошибки - при этом высветится буква "П" (типа пиздец ) и цифры - код ошибки. И во всех цифрах загорятся запятые. Коды ошибок могут быть такие:
001 - 010 - не получен ACK от датчика SHT21 (конкретно из какого места обмена смотрите исходник)
020 - тайм-аут при чтении температуры
021 - тайм-аут при чтении влажности
040 - нету Power Good от TPS60500 (жопа батарейкам)
041 - VDD < 2.25V от датчика SHT21 (типа тоже жопа батарейкам)
070 - не совпала CRC при чтении температуры
071 - не совпала CRC при чтении влажности
Реально в железе у меня удалось увидеть только 2 ошибки. 001 - при отсутствии датчика SHT21 (типа не пришел первый же ACK) и 040 при плохих батарейках. Остальные коды тестировались только в симуляторе. Так же при коде 040 термометр при включении пищит не 1 раз, как обычно, а 3 раза - на случай, если батарейки уже не потянут индикацию. Хотя реально у меня индикация работала даже при 3-х вольтах.
Поскольку в пике осталась нога 7 (RC3) свободной и я не знал куда ее засунуть, то вывел на нее сигнал "Low battery". Можете его куда-нибудь использовать.
Набор печатных плат - самого термометра, индикаторов и под датчик :
платы.
Порядок сборки рекомендую такой: сперва паяем TPSку и на выходе контролируем 3,3 вольта. Далее мастырим высоковольтный преобразователь без ключа VT13-14. Между S-D VT13 лепим перемычку чтоб подать питание. Добиваемся примерно 170 вольт на выходе. Если есть желание, можно поэкспериментировать с разными трансформаторами, добиваясь наименьшего тока потребления. Снимаем перемычку. Далее паяем и отлаживаем датчик удара VT11-VT12, хотя у меня он заработал сразу и ничего особо я не настраивал. Далее паяем PIC и прошиваем его при снятых джамперах на разъёме ICSP. Потом допаиваем все остальное и наслаждаемся результатом.
Первоисточник.
Комментариев нет:
Отправить комментарий