Цифровой термометр.

Вопросы и замечания по статьям и схемам, представленным на нашем сайте

При поддержке РадиоКОТструктор.ру


Ответить
Грызет канифоль
Сообщения: 294
Зарегистрирован: Пт мар 11, 2011 08:51:55

Сообщение 3DRaven »

Проект реализован на макетной плате. Особенности:
0. Делал на атмеге8.
1. Индикацию с настоящим (в проекте из статьи она ОК) ОА, повесил прямо на порты МК.
На PB повесил аноды, три штуки, каждый отвечает за номер разряда на индикаторе...их подрубил через резисторы на 330Ом. Этой яркости с 15 мА на разряд, вполне хватает...очень ярко. На ноги PD повесил катоды. Все пашет на ура...и ток потребления вполне небольшой. Плюшка в том, что все ноги эти с одной стороны корпуса МК. Значит разводку получить можно более простую. Так как в схеме нет транзисторов и все висит с одной стороны корпуса, то все легко разведу в один слой.
2. Питание сделал на стабилизаторе lp2950acz-5. Его 100мА хватает за глаза. Выбрал его потому, что у него минимальное падение напряжения начинается с 1 вольта почти. Мне надо было из блока питания 6.3В, сделать 5В. Потому 7805 не подошел.
3. Обратите внимание на подключение датчика температуры, на схеме кажется ошибка, подключайте по даташиту...на схеме с тиней (сейчас лезть лень) перепутаны земля и питание.
4. Обратите внимание на то, что для общения с датчиком, если вы делаете все сами, надо использовать микросекунды (_delay_us), а не милисекунды (_delay_ms). Преобразование температуры длится 750 милисекунд, остальное все в микросекундах...а то у меня долго не получалось...даже в даташите написаны милисекунды.
5. Макетные платы бывают коротят или еще что, я долго мучился с схемой, пока не понял, что дело в макетке...как в ней косяки выяснил, все заработало немедленно.

В приложении программа для индикации ОА и немного другой схемы подключения датчика...на 28 ногу он и с паразитным питанием (Резистор на него повесил, подтягивающий на 1 КОм, вместо 4.7КОм...подозреваю его номинал скажется на показаниях...датчик будет элементарно грется...проверю еще). Для программы никакх сторонних либ не надо, откомпилил и работает. Показывает температуру целым числом...при отрицательной температуре не проверял. Программа взята чужая, с минимальными правками под динамическую индикацию и пр. Пока возился с поисками причин неработоспособности, столько перепробовали и переписал, что свою делать вся охота отпала :) Точность температуры не проверял еще. Привожу прогу только для того что бы была у кого то проверенная в работе на железе.

Осталось мне собрать все это на плате и в корпусе...чем и займусь :)
Вложения
main.c
(7.45 КБ) 408 скачиваний
Реклама
Мучитель микросхем
Аватара пользователя
Сообщения: 414
Зарегистрирован: Ср янв 26, 2011 13:43:30
Откуда: С того берега моря

Сообщение Jman »

Я все таки термометр реализовал на пике - копеешная схема и дубовая.
[color=#4080FF]- Бежит этот подлец-электрон, а вокруг его масса (аж 10 в 23й) штук ионов кремния и 10 в 15й ионов примеси и он, подлец, взаимодействует![/color]
Контактная информация:
Реклама
Открыл глаза
Сообщения: 79
Зарегистрирован: Вт июн 07, 2011 12:53:26

Сообщение Jonson77 »

Подскажите - реализовать эту схему можно на AT90S1200, т.к. у меня в городе 2313 не достать, есть только 1200 или подправить прошивку.
Родился
Сообщения: 13
Зарегистрирован: Вт янв 22, 2013 14:50:05

Сообщение Bov4ik »

Доброе время суток Вам.
спаял термометр такой же как

http://mthsolutions.md6.ru/index.php?op ... &Itemid=30
только я поставил:
транзисторы bc546b
индикатор rl-f0320
контролер atmega8a-pu


индикатор не светится. где могут бить грабли?
по моему в схеме, транзисторы должны быть рнр, исходя из http://lib.qrz.ru/files/images/telephon ... 7/7-54.jpg
Вложения
SCH_MEGA8.pdf
вот схема
(17.41 КБ) 541 скачивание
Реклама
Эиком - электронные компоненты и радиодетали
Друг Кота
Аватара пользователя
Сообщения: 20093
Зарегистрирован: Чт сен 18, 2008 12:27:21
Откуда: Столица Мира Санкт-Петербург

Сообщение Gudd-Head »

Bov4ik писал(а):индикатор не светится. где могут бить грабли?
У вас индикатор с общими анодами, которые вы транзисторами зажаете на общий провод :facepalm:
[ Всё дело не столько в вашей глупости, сколько в моей гениальности ] [ Правильно заданный вопрос содержит в себе половину ответа ]
Реклама
Родился
Сообщения: 13
Зарегистрирован: Вт янв 22, 2013 14:50:05

Сообщение Bov4ik »

Gudd-Head писал(а):
Bov4ik писал(а):индикатор не светится. где могут бить грабли?
У вас индикатор с общими анодами, которые вы транзисторами зажаете на общий провод :facepalm:
извиняюсь за тупость но на аноде должен быть + а откуда он там возьмется?
Реклама
Друг Кота
Аватара пользователя
Сообщения: 20093
Зарегистрирован: Чт сен 18, 2008 12:27:21
Откуда: Столица Мира Санкт-Петербург

Сообщение Gudd-Head »

Так вот и я вас по вашей схеме о том же спрашиваю.
[ Всё дело не столько в вашей глупости, сколько в моей гениальности ] [ Правильно заданный вопрос содержит в себе половину ответа ]
Родился
Сообщения: 13
Зарегистрирован: Вт янв 22, 2013 14:50:05

Сообщение Bov4ik »

ура!!!! заработало
результат:
замена транзисторов на пнп на емитеры подаем +5 база за контроллер
и еще в программном коде инвертировал массив с символами, и масив с знакоместами(0 на 1 и 1 на 0)

только не выводит точку после целого числа пишет 145* вместо 14,5*

осталось проверить показания, как можно проверить точность?
ставил домашние градусники показания расходятся на 2-3 градуса
Друг Кота
Аватара пользователя
Сообщения: 20093
Зарегистрирован: Чт сен 18, 2008 12:27:21
Откуда: Столица Мира Санкт-Петербург

Сообщение Gudd-Head »

Bov4ik писал(а):осталось проверить показания, как можно проверить точность?
Кипящая вода (100°), лёд с водой (0°С). Себя (36,6°).
[ Всё дело не столько в вашей глупости, сколько в моей гениальности ] [ Правильно заданный вопрос содержит в себе половину ответа ]
Родился
Сообщения: 13
Зарегистрирован: Вт янв 22, 2013 14:50:05

Сообщение Bov4ik »

по программе можете подсказать как здесь точку лутше выводить
точней что подправить в готовом коде
Вложения
18b20_temp.c
(7.26 КБ) 443 скачивания
Родился
Аватара пользователя
Сообщения: 13
Зарегистрирован: Ср сен 04, 2013 18:42:28
Откуда: Симферополь

Сообщение chayniks »

Такой вопрос. Функция ds18b20_temperature( 0 ) занимает время от 140 мили сек.в зависимости от разрядности данных.Функция ds1820_temperature_10( 0 ) 500 мили сек с копейками. если запретить при этом все прерывание то получается моргание цифр индикатора. Если не запрещать то возможны ошибки при считывании их кол. зависит от способа вывода цифр.
Вопрос к тому кто делал, у вас есть моргание при считывании с датчика, или ошибки ? Как вы с этим боритесь?
Первый раз сказал Мяу!
Сообщения: 21
Зарегистрирован: Сб янв 11, 2014 17:13:19

Сообщение Alex2014 »

подскажите пожалуйста, в строке .equ __w1_port=0x18, что означает число 18?
Родился
Сообщения: 1
Зарегистрирован: Ср фев 03, 2016 13:01:30

Сообщение Dagen2 »

Помогите совершенно не работает! Пробую немного переделать и ничего не выходит в протеусе одна ерунда!
Вложения
да.c
(7.12 КБ) 338 скачиваний
4353425.c
(7.12 КБ) 165 скачиваний
Ответить

Вернуться в «Статьи»