Сигнал от DS18B21

Обсуждаем цифровые устройства...
Ответить
Родился
Сообщения: 14
Зарегистрирован: Пт июл 06, 2007 12:42:02

Сообщение namelos »

Здравствуйте, уважаемые коллеги. Собрал устройство, контролирующее температуру на 12 цилиндрах двигателя на основе ATMega16 и температурных датчиках DS18B21. При установке на двигатель выяснилось, что при падении или поднятии фронта сигнала (signal line) возникают колебания с частотой около 770кГц, амплитуды которых увеличиваются при отсоединении сенсоров. Контроллер опрашивает одновременно(параллельно) все сенсоры. Если остается подсоединенными только 2 сенсора, измерение температуры невозможно из-за сильных колебаний на сигнальном проводе. Питание схемы осуществляется через dc/dc конвертер, на нем падения напряжения не наблюдается. Установлены : подтяжка 1.5к, защитный резистор на входе контроллера 270 Ом, 2 защитных диода 1N4148 у штекера.Микроконтроллер размещен на отдельной плате, штекеры сенсоров располжены на другой плате, которая соединена с платой контроллера леточным кабелем.
Теперь вопрос. Как мне снизить амплитуду колебаний и получить сигнал прямоугольной формы?
К сожалению не снял осциллограмму во время испытаний на двигателе. Но для примера выкладываю осциллограмму снятую в кабинете. На ней видны колебания при падении сигнала, и частота их намного больше.
Вложения
osci.PNG
осцилограмма
(10.54 КБ) 924 скачивания
Реклама
ARV
Ум, честь и совесть. И скромность.
Аватара пользователя
Сообщения: 18783
Зарегистрирован: Чт дек 28, 2006 08:19:56
Откуда: Новочеркасск

Сообщение ARV »

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

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

Мой уютный бложик... заходите!
Контактная информация:
Реклама
Родился
Сообщения: 14
Зарегистрирован: Пт июл 06, 2007 12:42:02

Сообщение namelos »

Спасибо за ответ.
Вы правы с датчиком ошибся, описАлся. Правильно будет DS18B20.
Каждый датчик посажен на отдельный порт мк.
Картинку привел для примера, замеры проводил в кабинете, где нет сильных электро/магнитных помех. Здесь как раз все и работает.
Вредные колебания на сигнальной линии имеют частоту 770кГц (1,3 мкс) и их амплитуда превышает пороговые(threshold) (до 4В от мин до мах)значения напряжения, поэтому нормальное считывание протокола невозможно.
Схемы прилагаются.
Вложения
pitanie.PNG
(13.4 КБ) 839 скачиваний
µC.PNG
(21.41 КБ) 874 скачивания
sensor.PNG
(10.66 КБ) 686 скачиваний
ARV
Ум, честь и совесть. И скромность.
Аватара пользователя
Сообщения: 18783
Зарегистрирован: Чт дек 28, 2006 08:19:56
Откуда: Новочеркасск

Сообщение ARV »

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

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

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

почему 8 проводов? на одном все датчики не работают даже в лаборатории, что ли?
если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе
при взгляде на многих сверху ничего не меняется...

Мой уютный бложик... заходите!
Контактная информация:
Реклама
Эиком - электронные компоненты и радиодетали
Родился
Сообщения: 14
Зарегистрирован: Пт июл 06, 2007 12:42:02

Сообщение namelos »

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

Сообщение namelos »

снял осциллограмму на сигнальной линии при подключенном сенсоре. Как видно из нее, размах колебаний намного меньше. Что же может уменьшать амплитуду?! внутренняя емкость сенсора Cpp?
Вложения
osci2.PNG
(10.3 КБ) 513 скачиваний
Реклама
Модератор
Аватара пользователя
Сообщения: 4517
Зарегистрирован: Пн апр 03, 2006 11:43:25
Откуда: Санкт - Петербург

Сообщение Aheir »

Прошу прощения, а Вы поиском пользовались? По DS18B20 тем на форуме - штук 10. Возможно, стоило продолжить какую-нибудь из них, как считаете?
Оптимизм х (Опыт + Знания) = const
Контактная информация:
Родился
Сообщения: 14
Зарегистрирован: Пт июл 06, 2007 12:42:02

Сообщение namelos »

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

ОК. Пусть тема живет так, по обстоятельствам далее посмотрим. :) Aheir
Родился
Сообщения: 16
Зарегистрирован: Ср янв 03, 2007 15:08:55

Сообщение antoniyy »

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

Вернуться в «Цифровая техника»