Jump to content
my504

Еще Раз Про Термометр

Recommended Posts

Уважаемые господа! Осмелюсь предложить для повторения простой термометр на DS18B20(DS18S20) & PIC16F630.

Индикатор с общим катодом (но можно сделать и общий анод).

Сделано для применения в климатической приточной системе на другом МК, а данная схема явилась побочным продуктом разработки.

Особенностью является высокая скорость измерений (период отсчетов около 110 мс). Диапазон обычен: -55...+125 , разрешающая способность 1 градус, точность соответствует точности датчика - 0,5 градуса (в диапазоне -10...+85).

Источник питания любой от 4 до 5 вольт (но стабилизированный). Резисторы в сегментах можно изменять в диапазоне 82...150 ом.

Ключи на МОСФЕТах легко заменить на NPN транзисторы (в макете стоят обычные КТ315 с базовыми делителями).

По просьбам трудящихся можно увеличить число датчиков, но не более 3-х (иначе не хватит 14 выводов МК).

Так же можно портировать решение на любой МК Микрочипа с числом выводов не менее 14.

951b606941c8.jpg

Это макет, но печатка имеется:

14ef6545033e.jpg

Прошивка (хекс):

Код в АСМе могу тоже опубликовать, но по просьбам(в Си чуть позднее).

:020000040000FA
:040000000000522882
:08000800C0000308C100040858
:10001000C2000C1C1E28221D15282108013C031DAE
:10002000152822086039031D3F2883160515831201
:10003000900105112212A2100C1038282B08840000
:100040002830840787010030221A04388500000810
:1000500087004039C500C50C2B084E20221A0438F1
:1000600045048500AB0A03302B020319AB010B11C9
:100070004208840041088300C00E400E0900900130
:1000800050308E00C9308F00A21E482810169016DE
:10009000101405152216A21222131C2882070134FF
:1000A000023410348316FF2390000C1403308100B7
:1000B000043095000C3085008701831207309900C9
:1000C000900185018701A2018B177020AB01A80167
:1000D000A901AA0181010B118B168B20C3206D2869
:1000E000B020CC30A0002321A21874284E30A000EC
:1000F0002321A21879283F30A0002321A2187E28AE
:10010000FF30A0002321A21883281F30A000232144
:10011000A218882808003030AD00AC012C08B920A6
:10012000003E0319A928A000FF3E031D9928B02016
:10013000A328013E443C0319A216443E483C03193F
:100140002217483E2321AC0A09302C02031D8E28B9
:10015000080017212D08840020088000AD0AA3287C
:10016000A2153121A218B2280519B428051DB628F8
:10017000080082070134CC3444340134CC34BE341A
:10018000003400340134A401300E0F39A400310EC4
:10019000F039A407A213A41FD028A409A40AA21707
:1001A000F5202708031DDA280A3EA70026080319B0
:1001B0000A3EA600A21BA70A8B122508E820A80069
:1001C0002608E820A9002708E820AA008B160800C6
:1001D00082073F3406345B344F3466346D347D34EB
:1001E00007347F346F3400344034A701240E2407D1
:1001F0000F398318163E8318063E063E831CFA3ECE
:10020000241A1B3E831CFA3EA41A303E241B603E77
:10021000A41B203E603EA70D271CA03EA500A60003
:10022000A60E0F30A505A605A41BA70A0800A2115B
:1002300022110830A1003121220CA00CA2181E2985
:10024000A10B1B290800A21122150830A100A00C47
:100250002210031822143121A2182C29A10B2729BE
:10026000080005112212A2140030A21DBA308E001F
:10027000FE30A21DFF308F000C108B130B171014D3
:10028000831605118312A2194C29221D4E29221C06
:100290004C298316051583128B1708008316051544
:1002A00083120230FF3E031D522922100519221429
:0402B0008B170800A0
:02400E00A43FCD
:00000001FF

Схема на сайте: Термометр на DS18B20 и PIC16F630

Share this post


Link to post
Share on other sites
....

По просьбам трудящихся можно увеличить число датчиков, но не более 3-х (иначе не хватит 14 выводов МК).

....

Что мешает повесить все датчики на один пин (одну шину)? на память не скажу сколько слейвов можно, но штук 20-30 спокойно. Процедуру распознавания адреса можно не писать, просто забить в прогу заранее считанные серийники датчиков...

Share this post


Link to post
Share on other sites

Любезный Олег! Ясен перец, что насадить на шину датчиков можно немеряно... только как их потом смотреть и локализовывать на индикаторе? Предложите решение на 14 пинах, и я сниму перед вами шляпу...

А количество ТРИ объясняется примитивно просто. Остался один свободный ВХОД - это RA3 (MCLR). сканирующими индикатор фазами превращаем его в переключатель на три положения (именно переключатель, иначе потребуется индикатор положения, а выходов больше нет...). Таким образом каждое положение позволяет смотреть один из трех датчиков, плюс включение режима ввода серийников...

Edited by my504

Share this post


Link to post
Share on other sites

Руководство для разработчика приложений на базе STM32WB55

Представив двухъядерные беспроводные микроконтроллеры STM32WB для IoT-приложений, компания STMicroelectronics предлагает разработчикам экосистему, включающую в себя отладочные платы, примеры кода для микроконтроллера, готовое ПО всех уровней и большой массив документации.

Читать статью

Есть стандартный алгоритм определения подключенных и подключаеммых на горячую слейвов. Если надо найду и выложу, но этот алг сложен и запутан, хотя и работает. Но в принципе, это не НУЖНО, достаточно считат уникальн. серийники, подкл. устройства по одному, а потом использовать их в качестве адреса при обращении к слейвам, все остальные слейвы будут молчать!

Share this post


Link to post
Share on other sites

Олег, мне не нужно писать алгоритмы, я как нибудь с этим справлюсь и сам. Вы мне предложите метод ВЫБОРА ИНДИЦИРУЕМОГО В ДАННЫЙ МОМЕНТ ДАТЧИКА. Вопрос ясен? Нужен интерактив устройства посредством ОДНОГО свободного входа и трех сканирующих фаз.

Edited by my504

Share this post


Link to post
Share on other sites
                     

DC/DC-преобразователи: принципы работы и уникальные решения Maxim Integrated

Что нового можно сказать про DC/DC? Написаны десятки статей, а самостоятельное изготовление преобразователя мощностью от единиц Вт до нескольких кВт даже в домашних условиях не составляет большого труда. Тем не менее, когда речь идет о микро-, или даже нано-ваттах, проектировщик может столкнуться с рядом трудностей. Разработка устройства с батарейным питанием весьма малой мощности – одна из наиболее актуальных и интересных задач во время всепроникающего интернета вещей. А грамотная схемотехника системы питания не возможна без знания основ работы DC/DC преобразователей. Освежить базовые знания и узнать об особенностях проектирования узлов питания мобильного устройства с оптимальным энергопотреблением можно из следующей статьи

Подробнее

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

Нужен интерактив устройства посредством ОДНОГО свободного входа и трех сканирующих фаз.

В принципе если есть две свободные линии, можно организовать квадратную шину, а уж на нее хоть клавиатуру вешать...

Edited by o_l_e_g

Share this post


Link to post
Share on other sites

Олег... Это не метод. Тогда получится ДРУГОЕ устройство. Неудобное и избыточное. Зачем этот гемморой? Если нужно немеряное поле датчиков, то и устройство нужно делать с ДРУГИМИ устройствами вывода, а не заниматься мазохизмом. Предлагаемый датчик можно использовать в автомобиле, дома, в лабораторных установках и т.п. Т.е. там, где три датчика хватит за глаза и за уши...

А насчет перебора СВОБОДНЫХ пинов, так их всего ОДИН. Без учета мультиплекса на три...

Задачей было сделать СУПЕРПРОСТОЙ в реализации и миниатюрный измеритель. Собственно это есть ответ на заявление ув ARV ( http://arv.radioliga.com/index.php?option=...0&Itemid=44 ), что такое устройство на Меге8 является простейшим. Однако НЕТ. Да и питание датчика в "простейшей схеме" стоило бы делать паразитным...

ЗЫ. Кроме того, осмелюсь сказать, что в коде данного устройства всего 345 строк АСМа. Попробуйте сделать меньше? Причем заняты два таймера 0-ой и 1-ый. Ресурсов свободного времени у МК куча. Основное время он ЖДЕТ прерывания. Так что интегрировать код в более сложные устройства не представляет труда. Кроме того, в коде имеется избыточность в расчете на все команды протокола 1Wire.

Edited by my504

Share this post


Link to post
Share on other sites

скока видел в интернете схем этх термометров и фото их , и вод мучает вопрос почему практическу на всех фото показание термометра больше 25 градусов ? ,

вот например

http://hardlock.org.ua/mc/tiny/termometer/index.html

у этого DS18B20 датчика что такая неточность замерения.

ну неверется мне что у вас такая температура.

Edited by neznayka2

Share this post


Link to post
Share on other sites

Прежде чем писать всякую хрень, подучите язык общения. На улице лето, по крайней мере в Москве...., а в моем холодильнике по прежнему -15 (как и в других холодильниках, вероятно)...

Share this post


Link to post
Share on other sites

Нормальная температура. Вот у меня по термометру в квартире уже +31... на улице жара еще больше.

Насчет индикации нескольких датчиков - добавить еще один семисегментный индикатор другого цвета, который будет показывать номер датчика (16 положений, 0123456789AbCDEF). Но конечно же, даже переключать позиции - это неинтересно и неинформативно. Попробуй запомни какой датчик под каким номером... Поэтому в таких случаях использовать такую схему нужно или для ввода данных в компьютер, или в сочетании с посследовательными/параллельными регистрами - отображая все показания сразу, при этом используя немного выводов.

Share this post


Link to post
Share on other sites

А можеш печатку выложить? И Какие именно использовал полевики?

На чём шил мк?

Во сколько вылелось всё устройство?

Размеры конечного устройства?

Share this post


Link to post
Share on other sites

Печатную плату не разводил,спаял макет на слепыше (на фотографии из первого поста видно). Затраты следующие:

Контроллер - 40 руб.

Датчик - 90 руб.

Трехразрядный индикатор - 35 руб.

Транзисторы в макете биполярные КТ315 из старых запасов, а мосфеты любые, например в корпусе SOT23 : IRLML2502, IRLML2402 (предыдущую схему я делал именно на таких). эти мосфеты стоят около 5...7 руб. за штуку.

Шью я все пики PICKit2.

Размеры устройства определяются индикатором, если делать на контроллере в SOIC (планарный корпус). Тогда индикатор с одной стороны, а контролллер с другой.

PS. Если ставить биполярные транзисторы, то в базы нужны делители.

Edited by my504

Share this post


Link to post
Share on other sites

оппа)) а можно выложить процедуру получения значения датчика на си? :rolleyes:

или ссылку на какую-нибудь статью, где точно расписывается процедура получения значений ^^

Edited by NebsteR

Share this post


Link to post
Share on other sites

Я слегка не дописал вариант на Си. Он практически идентичен по алгоритму АСМ версии. Только код генерится компилятором в 1,5 раза длиннее. Проблема в том, что я не мастер в Си-синтаксисе и мне нужно хотя бы день, чтобы код добить(достаточно плохо моделируется линия в МПЛАБе, когда писал на АСМе - еще как то этот вопрос получался, а на Си локальные переменные не принимаются в стимулы и при трассировке сплошной гемморой) , а я сейчас очень занят на работе.

Сам алгоритм достаточно прост. Диаграмма линии формируется TMR1. Через прерывания. Есть три режима линии:

таймслот, ресет и ответ слейва. Я пока выдам код на АСМе. Аббревиатуры меток и переменных - это их англоязычные назначения. Пока посмотрите это, а после выходных постараюсь закончить на Си. Кстати могу выдать черновик, может найдете ошибки в синтаксисе (алгоритм железобетонно рабочий) - буду признателен.

Минуту, переключусь на свой комп, с корпоративного не могу слать файлы.

Расширение файла ессно .asm

Share this post


Link to post
Share on other sites
Кстати могу выдать черновик, может найдете ошибки в синтаксисе (алгоритм железобетонно рабочий) - буду признателен.

можно, попробую :rolleyes:

Share this post


Link to post
Share on other sites

эмм... что-то это не похоже на привычный мне си :huh:

какой компилятор?

Share this post


Link to post
Share on other sites

Хайтек. PICC PRO 9.65

PS А что собственно не понятно? Тип bit?

Edited by my504

Share this post


Link to post
Share on other sites

нет))

переменные типа TMR1L, TMR1H, TRIS и т.п.... в моем компиляторе о таких даже упоминания нигде нету :huh: догадываюсь конечно, что это отголоски ассемблера, но на нем я писать не умею...

в остальном синтаксис вроде правильный, только если "<<=" и ">>=" это условие, то в моем таких тоже нет, есть "<=" и ">="...

зы: компилятор PCWH

Edited by NebsteR

Share this post


Link to post
Share on other sites

Ваще то это регистры контроллера... они объявлены в хедере...

Share this post


Link to post
Share on other sites

Господа! Должен внести уточнения к проекту.

Из-за моей невнимательности данная прошивка работает только с DS18B20 (DS18B20+PAR).

Если есть у кого нибудь необходимость в работе с DS1820(DS18S20), пишите мне в личку - выдам прошивку - она готова и работает.

Если будет потребность в универсальном устройстве на обе микросхемы - так же напишите - я добавлю модуль чтения ID микросхемы и код станет универсальным....

С уважением, Марк.

Хоть и с опозданием, но отвечу на вышерасположенный пост. Вачдог в данной схеме не требуется, код устойчив и не сбивается даже в условиях плохого питания. Если кому потребно - могу добавить...

Edited by my504

Share this post


Link to post
Share on other sites

Извините my504, не понял:

Пост №1 - "Это макет, но печатка имеется:"

пост №12 - "Печатную плату не разводил,спаял макет на слепыше "

Share this post


Link to post
Share on other sites

Это очепятка, в 12 посте имелось ввиду "не изготавливал". Я развел в пикаде, но саму плату живьем делать не стал...

Дело в том, что печатная плата привязана к конкретному типу корпуса МК, типу индикатора и конкретным транзисторам в ключах общих электродов индикатора. Это неудобно при повторении.

Одно существенное замечание.

Выбор типа датчика будет иметь значение для скорости обновления показаний. Так для 9 разрядного режима с разрешением индикации в 1 градус для DS18B20 обновление происходит с частотой 9 герц (1 раз в 110 мс), а у DS1820(DS18S20) частота не может быть выше 1,25 герц (1 раз за 800 мс)...

Edited by my504

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...

  • Сообщения

    • https://www.softportal.com/software-45357-quickedit.html https://android-all-free.ru/soft/1455-notepad.html
    • Да, только у аккумуляторов количество миллиамперчасов существенно ниже чему у щелочных батареек, не?  Контейнер - само собой, а вот ток у стандартного зарядника (GP PB350) как ограничить?
    • Несколько полезных решений применения кабельных стяжек, на все случаи жизни. В хозяйстве пригодится.  На что способны обычные кабельные стяжки.rar
    • Нужна, нужна. Это же Хари с Соляриса. На Мосфильме грим умеют накладывать. Не подкопаешься.
    • А этой даже косметика не нужна!
    • В семидесятых годах детям объясняли, что светодиод это такая маленькая радиодеталь, которая светится, как светлячок. В наши дни детям объясняют, что светлячок это такой маленький жучок, который светится, как светодиод. ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ Идёт милиционер мимо песочницы и слышит, как один мальчик говорит другому:  - Знаешь, чем мент отличается от осла?  Мент хватает его за ухо:  - Ну и чем же, паршивец?  - Ой, дяденька, ничем, ничем! ...  - То-то же! ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- - Девушка, я могу научить вас искусству любви. - И сколько вы намерены потратить на мое образование? ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- Наполеон очень любил сидеть на барабане и следить за ходом сражения, а когда ему становилось страшно, то это слышала вся его армия. -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- Нет, ну вы только подумайте: 22 игрока, 2 тренера, 10 запасных игроков, 1 арбитр, двое боковых судей, 6 операторов, трое работников телевидения, 50 спортивных журналистов и порядка 80 000 зрителей, а этот голубь наср@л именно на меня! -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- Судья: - Тишина! Ну-ка, все заткнулись!!! А кто еще раз скажет: «Долой судью!» - покинет зал суда!!!  - Долой судью!  - Обвиняемый, к вам это не относится... ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ Адвокат приходит в тюрьму к очень крутому клиенту. Тот: — Вот тебе чемодан с миллионом "зелени", но сделай так, чтобы судья дал мне не более одного года тюрьмы! Адвокат: — Да я думаю, что... Клиент: — Наплевать, что ты думаешь, бери деньги и иди делай! Адвокат берет чемодан, пожимает плечами и уходит. Судья оглашает приговор: — Один год тюрьмы! Клиент в восторге, зовет своего адвоката и спрашивает: — Скажи честно, трудно все-таки было уломать судью дать мне один год тюрьмы? Адвокат: — Ужасно трудно! Он хотел тебя оправдать! -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- - Пациент, почему Вы так орете, я еще даже не притронулся к Вашему больному зубу!  - Доктор, Вы локтем мне яйца прижали! --------------------------------------------------------------------------------------------------------------------------------------------- На улице к молодому мужчине подходит хорошенькая женщина.  - Извините, - говорит она, - но мне кажется, что вы отец одного из моих ребятишек...  Мужчина в ужасе: - Я?  - Успокойтесь, - отвечает она. - Я учительница.  
×
×
  • Create New...