Форум закрыт для публикаций и работает только для чтения.
Отзывы о работе магазина и товарах просим оставлять на сайте интернет-магазина https://ekits.ru

Evolution - подключаем цифровой термометр ds18b20

Обсуждаем применение модулей Evolution. Делимся кодом. Учимся применять на практике. Читаем и смотрим уроки.
ekits_sales
Администратор
Сообщения: 265
Зарегистрирован: 10 май 2009, 13:11
Контактная информация:

Re: Evolution - подключаем цифровой термометр ds18b20

Сообщение ekits_sales » 24 фев 2011, 20:55

Vitalii писал(а):Здравствуйте! Произвёл проверку одноканального термометра с помощью термостата. Выкладываю результат. При тестировании было замечено вот что:
1. При повышении температуры в минусовом диапазоне, единицы градусов запаздывали с переходом на следующую единицу, то есть температура повышается, к примеру показывает -15.5, потом -15.4, потом -15.3, потом -15.2, потом -15.1, потом -15.0, потом -15.9, примерно через секунду, другую появляется в место пятёрки, четвёрка -14.9, а если температура повышается очень медленно то и переход во времени увеличивается, и так во всём минусовом диапазоне. Что касается плюсового диапазона тут всё чётко что при увеличении температуры так и при уменьшении.
2. При переходе температуры на термометре с +77.4 на +77.5 возникли сбои показаний. Термометр начал показывать периодически -100.6, потом +55.6 потом +77.5, опять -100.6, потом +55.6 потом +77.5. при переходе на +77.6 показания реальной температуры пропали и с частотой примерно в 1 Гц на дисплее появлялись -355. 3, +125. 6, -70. 8, -97.4, -113.2 и т.д.
Сегодня привезли мне датчики, завтра попробую поставить другой и проверить дальше в диапазоне +77 до +120. О результатах сообщу.
Спасибо за испытания.
Теперь по ошибкам:
1.Это ошибка в программе. Вот исправленная версия:
ds18b20v2.zip
Пример с ds18b20 и дисплеем WH0802
(12.65 КБ) 533 скачивания
2.Какая длина шлейфа до термодатчика использовалась? Проблема не в датчике. Надо подкорректировать константы T_PDL_Time, T_PDH_Time, T_Time
Пример протестирован в диапазоне -25..+110C со шлейфом длиной 2.5м.
Ну и самое главное, для устойчивой работы термометра код программы в части приема-передачи надо переписать по-другому.

Vitalii
Сообщения: 674
Зарегистрирован: 03 фев 2011, 20:11
Откуда: Тюменская область
Контактная информация:

Re: Evolution - подключаем цифровой термометр ds18b20

Сообщение Vitalii » 24 фев 2011, 20:56

Подсоединил второй датчик залил программу для двух датчиков – работает. :D
Изображение

Vitalii
Сообщения: 674
Зарегистрирован: 03 фев 2011, 20:11
Откуда: Тюменская область
Контактная информация:

Re: Evolution - подключаем цифровой термометр ds18b20

Сообщение Vitalii » 25 фев 2011, 18:25

ekits_sales писал(а): Теперь по ошибкам:
1.Это ошибка в программе. Вот исправленная версия:
ds18b20v2.zip
2.Какая длина шлейфа до термодатчика использовалась? Проблема не в датчике. Надо подкорректировать константы T_PDL_Time, T_PDH_Time, T_Time
Пример протестирован в диапазоне -25..+110C со шлейфом длиной 2.5м.
Ну и самое главное, для устойчивой работы термометра код программы в части приема-передачи надо переписать по-другому.
Длинна шлейфа 1м. Залил исправленную программу, проверил на ошибку пункта 1. Без изменений. :(

Vitalii
Сообщения: 674
Зарегистрирован: 03 фев 2011, 20:11
Откуда: Тюменская область
Контактная информация:

Re: AVR для начинающих.

Сообщение Vitalii » 26 фев 2011, 00:08

Здравствуйте! Подскажите пожалуйста, как рассчитывается время таймера (в микросекундах) на примере данного алгоритма.
Вложения
1.gif
Пример
1.gif (1.65 КБ) 5507 просмотров

Vitalii
Сообщения: 674
Зарегистрирован: 03 фев 2011, 20:11
Откуда: Тюменская область
Контактная информация:

Re: Evolution - подключаем цифровой термометр ds18b20

Сообщение Vitalii » 26 фев 2011, 20:57

Здравствуйте! В одном описании про термометры DS18B20 встретил рекомендацию по тактовой частоте контроллера (от 8мГц до 16мГц). А у набора SEM0007-8535-16 какая?

Alexl81
Сообщения: 997
Зарегистрирован: 10 окт 2010, 11:09
Откуда: Россия, Челябинская область.
Контактная информация:

Re: Evolution - подключаем цифровой термометр ds18b20

Сообщение Alexl81 » 26 фев 2011, 23:17

Здравствуйте. По умолчанию 1МГц. Для другой частоты нужно подключать кварц и перенастраивать программу (точнее все паузы, задержки) т.к. частота изменится. При подключении кварца, нужно также выставить фьюзы, иначе модуль на этой частоте работать не будет. ФЬЮЗЫ ВЫСТОВЛЯТЬ НУЖНО ОЧЕНЬ ОКУРАТНО. МОЖНО УБИТЬ КОНТРОЛЛЕР, при не правильной установке фьюзов. Можно без кварца, внутренним генератором поднять частоту до 4МГц, опять-же настройкой фьюзов. Вот пример на 4МГц.
Пример.jpg
Пример

ekits_support
Сообщения: 457
Зарегистрирован: 11 май 2009, 12:10
Контактная информация:

Re: AVR для начинающих.

Сообщение ekits_support » 27 фев 2011, 09:52

Vitalii писал(а):Здравствуйте! Подскажите пожалуйста, как рассчитывается время таймера (в микросекундах) на примере данного алгоритма.
1. У АВ есть режим «запуск с симулятором» там можно увидеть, сколько тактов занимает один цикл, зная тактовую частоту, можно рассчитать время всего цикла.
2. Если свободный встроенный таймер, то для временных интервалом лучше использовать его. В этом случае контроллер во время формирования паузы может заниматься еще чем либо полезным.

ekits_sales
Администратор
Сообщения: 265
Зарегистрирован: 10 май 2009, 13:11
Контактная информация:

Re: Evolution - подключаем цифровой термометр ds18b20

Сообщение ekits_sales » 27 фев 2011, 11:19

Vitalii писал(а):
ekits_sales писал(а): Залил исправленную программу, проверил на ошибку пункта 1. Без изменений. :(
Не правда :)
Изменения были, была недоработка при круглых минусовых температурах. Т.е. если были, например, целые -14 и десятичных 0, то это значит температура -15.
Соответственно температура показывалась в последовательности: -5.8, -5.9, -5.0, -6.1
Здесь исправленная версия:
ds18b20v2.zip
Пример с ds18b20 и дисплеем WH0802
(12.65 КБ) 405 скачиваний

Vitalii
Сообщения: 674
Зарегистрирован: 03 фев 2011, 20:11
Откуда: Тюменская область
Контактная информация:

Re: Evolution - подключаем цифровой термометр ds18b20

Сообщение Vitalii » 27 фев 2011, 12:06

Alexl81 писал(а):Здравствуйте. По умолчанию 1МГц. Для другой частоты нужно подключать кварц и перенастраивать программу (точнее все паузы, задержки) т.к. частота изменится. При подключении кварца, нужно также выставить фьюзы, иначе модуль на этой частоте работать не будет. ФЬЮЗЫ ВЫСТОВЛЯТЬ НУЖНО ОЧЕНЬ ОКУРАТНО. МОЖНО УБИТЬ КОНТРОЛЛЕР, при не правильной установке фьюзов. Можно без кварца, внутренним генератором поднять частоту до 4МГц, опять-же настройкой фьюзов. Вот пример на 4МГц.
Пример.jpg
Огромное спасибо за разъяснение и предостережение.

Vitalii
Сообщения: 674
Зарегистрирован: 03 фев 2011, 20:11
Откуда: Тюменская область
Контактная информация:

Re: Evolution - подключаем цифровой термометр ds18b20

Сообщение Vitalii » 27 фев 2011, 12:10

ekits_sales писал(а):
Vitalii писал(а):
ekits_sales писал(а): Залил исправленную программу, проверил на ошибку пункта 1. Без изменений. :(
Не правда :)
Изменения были, была недоработка при круглых минусовых температурах. Т.е. если были, например, целые -14 и десятичных 0, то это значит температура -15.
Соответственно температура показывалась в последовательности: -5.8, -5.9, -5.0, -6.1
Здесь исправленная версия:
ds18b20v2.zip
Здравствуйте ekits_sales! То что программу Вы под редактировали, а точнее подпрограмму Convert_Temp, я не оспариваю. Просто проверил её в живую на термостате, эффект остался тот же что и в не отредактированной, значит что то ещё необходимо менять.

Ответить

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 1 гость