| Форум РадиоКот 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 у штекера.Микроконтроллер размещен на отдельной плате, штекеры сенсоров располжены на другой плате, которая соединена с платой контроллера леточным кабелем. Теперь вопрос. Как мне снизить амплитуду колебаний и получить сигнал прямоугольной формы? К сожалению не снял осциллограмму во время испытаний на двигателе. Но для примера выкладываю осциллограмму снятую в кабинете. На ней видны колебания при падении сигнала, и частота их намного больше.
|
|||
| Автор: | 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В от мин до мах)значения напряжения, поэтому нормальное считывание протокола невозможно. Схемы прилагаются.
|
|||||
| Автор: | 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?
|
|||
| Автор: | Aheir [ Чт фев 28, 2008 22:18:37 ] |
| Заголовок сообщения: | |
Прошу прощения, а Вы поиском пользовались? По DS18B20 тем на форуме - штук 10. Возможно, стоило продолжить какую-нибудь из них, как считаете? |
|
| Автор: | namelos [ Пт фев 29, 2008 01:13:13 ] |
| Заголовок сообщения: | |
Aheir писал(а): Прошу прощения, а Вы поиском пользовались? По DS18B20 тем на форуме - штук 10. Возможно, стоило продолжить какую-нибудь из них, как считаете?
Уважаемый Aheir, я думал об этом. Но проблема колебания в данном случае, по-моему, никак не связана с DS18B20 или контроллером, поэтому открыл тему в цифровой технике. Но Вы, на правах модератора, можете перенести эту тему в любой соответствующий по-вашему мнению подфорум. ОК. Пусть тема живет так, по обстоятельствам далее посмотрим. |
|
| Автор: | antoniyy [ Ср мар 19, 2008 22:18:11 ] |
| Заголовок сообщения: | |
Ну тут очивидны "наводки от зажикания", недаром ведь в магнитоллах стоят фильтры |
|
| Страница 1 из 1 | Часовой пояс: UTC + 3 часа |
| Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group http://www.phpbb.com/ |
|


