Например TDA7294

Форум РадиоКот :: Просмотр темы - Сигнал от DS18B21
Форум РадиоКот
https://radiokot.ru/forum/

Сигнал от DS18B21
https://radiokot.ru/forum/viewtopic.php?f=2&t=8268
Страница 1 из 1

Автор:  namelos [ Чт фев 28, 2008 13:22:01 ]
Заголовок сообщения:  Сигнал от DS18B21

Здравствуйте, уважаемые коллеги. Собрал устройство, контролирующее температуру на 12 цилиндрах двигателя на основе ATMega16 и температурных датчиках DS18B21. При установке на двигатель выяснилось, что при падении или поднятии фронта сигнала (signal line) возникают колебания с частотой около 770кГц, амплитуды которых увеличиваются при отсоединении сенсоров. Контроллер опрашивает одновременно(параллельно) все сенсоры. Если остается подсоединенными только 2 сенсора, измерение температуры невозможно из-за сильных колебаний на сигнальном проводе. Питание схемы осуществляется через dc/dc конвертер, на нем падения напряжения не наблюдается. Установлены : подтяжка 1.5к, защитный резистор на входе контроллера 270 Ом, 2 защитных диода 1N4148 у штекера.Микроконтроллер размещен на отдельной плате, штекеры сенсоров располжены на другой плате, которая соединена с платой контроллера леточным кабелем.
Теперь вопрос. Как мне снизить амплитуду колебаний и получить сигнал прямоугольной формы?
К сожалению не снял осциллограмму во время испытаний на двигателе. Но для примера выкладываю осциллограмму снятую в кабинете. На ней видны колебания при падении сигнала, и частота их намного больше.

Вложения:
Комментарий к файлу: осцилограмма
osci.PNG [10.54 KiB]
Скачиваний: 905

Автор:  ARV [ Чт фев 28, 2008 13:54:16 ]
Заголовок сообщения: 

Прежде всего, надо устранить неточности:
1. Не существует датчика DS18B21, по крайней мере на сайте производителя о нем ничего не известно
2. Для 1-Wire микросхем рекомендована подтяжка 4,7К. хотя допускается и меньше/больше
3. не очень понятна конкретная схема включения датчиков (питание, МК и т.п.)

теперь по картинке: всплески в 50 наносекунд мне кажутся несущественными для работы датчика, т.к. они присутствуют во всех цифровых сигналах (для ТТЛ их уровень гораздо больше бывает). гарантированно проверена работа одновременно с 4-я датчиками по трем проводам на расстояния до 9М (при стандартной подтяжке). Думаю, проблема не в лишних импульсах, а в некорректной работе программы МК, т.е. нечеткой выдержке временных интервалов протокола.

Автор:  namelos [ Чт фев 28, 2008 14:30:27 ]
Заголовок сообщения: 

Спасибо за ответ.
Вы правы с датчиком ошибся, описАлся. Правильно будет DS18B20.
Каждый датчик посажен на отдельный порт мк.
Картинку привел для примера, замеры проводил в кабинете, где нет сильных электро/магнитных помех. Здесь как раз все и работает.
Вредные колебания на сигнальной линии имеют частоту 770кГц (1,3 мкс) и их амплитуда превышает пороговые(threshold) (до 4В от мин до мах)значения напряжения, поэтому нормальное считывание протокола невозможно.
Схемы прилагаются.

Вложения:
sensor.PNG [10.66 KiB]
Скачиваний: 673
µC.PNG [21.41 KiB]
Скачиваний: 854
pitanie.PNG [13.4 KiB]
Скачиваний: 831

Автор:  ARV [ Чт фев 28, 2008 15:50:38 ]
Заголовок сообщения: 

имхо, колебания такой амплитуды - это что-то подозрительное.

если отказаться от резистров 240 Ом, свить и экранировать провода, идущие к датчикам (по 3 провода на датчик отдельно) - не поможет ли? Еще варианты: разместить "подтяжки" либо ближе к каждому датчику, либо разделить на пару удвоенного сопротивления - один ближе к МК, другой ближе к датчику.

кроме того: эти колебания что, не заканчиваются? если мне память не изменяет, то для надежного определения уровня в 1-Wire требуется ожидать около 14 мкс - неужели за 10 мкС уровень не устанавливается стабильно?!

почему 8 проводов? на одном все датчики не работают даже в лаборатории, что ли?

Автор:  namelos [ Чт фев 28, 2008 17:18:22 ]
Заголовок сообщения: 

К сожалению, колебания незатухающие. У меня так и сделано- по 3 провода отдельно на датчик, кабель экранирован. Чтобы не морочиться с инициализацией датчиков, повесил каждый отдельно на ногу мк. Плату разместил в стальном ящике.
Дело как раз и не в датчиках, когда они подключены, мах мин колебания всего 0,5В. А вот когда я начинаю их отсоединять, тогда и увеличивается амплитуда. Амплитуда также увеличивается при включении подсветки LCD экрана через ULN2003 до 0,7В.
Подозреваю, что проблема лежит управлении контроллера сигнальной линии. Так например, если я управляю не 12 ножками, а всего лишь 8, амплитуда колебаний меньше, правда, это я обнаружил в лаборатории, и не знаю, как будет на двигателе. Где-то есть индуктивность. Плату залил GND полигонами полностью верх и местами снизу.
А что даст, если я уберу резисторы (которые кстати поставил по рекомендации tycha... :)) )?

Автор:  namelos [ Чт фев 28, 2008 19:09:55 ]
Заголовок сообщения: 

снял осциллограмму на сигнальной линии при подключенном сенсоре. Как видно из нее, размах колебаний намного меньше. Что же может уменьшать амплитуду?! внутренняя емкость сенсора Cpp?

Вложения:
osci2.PNG [10.3 KiB]
Скачиваний: 499

Автор:  Aheir [ Чт фев 28, 2008 22:18:37 ]
Заголовок сообщения: 

Прошу прощения, а Вы поиском пользовались? По DS18B20 тем на форуме - штук 10. Возможно, стоило продолжить какую-нибудь из них, как считаете?

Автор:  namelos [ Пт фев 29, 2008 01:13:13 ]
Заголовок сообщения: 

Aheir писал(а):
Прошу прощения, а Вы поиском пользовались? По DS18B20 тем на форуме - штук 10. Возможно, стоило продолжить какую-нибудь из них, как считаете?

Уважаемый Aheir, я думал об этом. Но проблема колебания в данном случае, по-моему, никак не связана с DS18B20 или контроллером, поэтому открыл тему в цифровой технике. Но Вы, на правах модератора, можете перенести эту тему в любой соответствующий по-вашему мнению подфорум.

ОК. Пусть тема живет так, по обстоятельствам далее посмотрим. :) Aheir

Автор:  antoniyy [ Ср мар 19, 2008 22:18:11 ]
Заголовок сообщения: 

Ну тут очивидны "наводки от зажикания", недаром ведь в магнитоллах стоят фильтры

Страница 1 из 1 Часовой пояс: UTC + 3 часа
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
http://www.phpbb.com/