Oleg_IT 0 1 июля, 2005 Опубликовано 1 июля, 2005 · Жалоба Работаю с программной реализацией интерфейса с ds18B20. Возможно организовать паразитное питание с помощью пинов МК т.е. без MOSFET пранзистора? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Гость Miron 1 июля, 2005 Опубликовано 1 июля, 2005 · Жалоба Работаю с программной реализацией интерфейса с ds18B20. Возможно организовать паразитное питание с помощью пинов МК т.е. без MOSFET пранзистора? <{POST_SNAPBACK}> Можеш попробывать Я правда так ни разу не делал. Основной вопрос удастся ли тебе вытянуть нужный ток для датчика (или нескольких если их много) с ножки микроконтроллера потребление ds18B20 возрастает в момент преобразования температуры и записи в EEPROM Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Oleg_IT 0 1 июля, 2005 Опубликовано 1 июля, 2005 · Жалоба Я пробую, но не получается. выдает или 85 (преобразования не было) или 127.... (все единицы). Тока должно хватить, у датчика не более 2 мА, а пин тянет до 20. Может я чего не понимаю, после соответствующих команд ставлю на оба пина (TXD и RXD) по единице на выход, жду секунду... и получаю константу. Напряжения тоже хватает, около 5 В. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Гость Miron 1 июля, 2005 Опубликовано 1 июля, 2005 · Жалоба Я пробую, но не получается. выдает или 85 (преобразования не было) или 127.... (все единицы). Тока должно хватить, у датчика не более 2 мА, а пин тянет до 20. Может я чего не понимаю, после соответствующих команд ставлю на оба пина (TXD и RXD) по единице на выход, жду секунду... и получаю константу. Напряжения тоже хватает, около 5 В. <{POST_SNAPBACK}> А задержку на преобразование выдерживаеш если паразитное питание то время преобразования температуры может достигать 1 секунды Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Oleg_IT 0 1 июля, 2005 Опубликовано 1 июля, 2005 · Жалоба Выдерживаю. Жду секунду. Может мало? Кстати, пользуюсь функцией __delay_cycles(…); Сколько максимум она может дать? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Oleg_IT 0 1 июля, 2005 Опубликовано 1 июля, 2005 · Жалоба Да, ещё один вопрос. Паразитное питание ставится на преобразование Convert T [44h] и на чтение Copy Scratchpad [48h]. Со временем преобразования всё ясно, 1 с., а сколько нужно держать питание при чтении? Не вижу я этого в даташите. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Гость Miron 1 июля, 2005 Опубликовано 1 июля, 2005 · Жалоба Выдерживаю. Жду секунду. Может мало? Кстати, пользуюсь функцией __delay_cycles(…); Сколько максимум она может дать? <{POST_SNAPBACK}> Секунды мне всегда хватало за глаза. А насчет функции ничего сказать не могу я весь обмен с этими датчиками писал сам А вообще датчик то у вас отвечает на другие команды? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Гость Miron 1 июля, 2005 Опубликовано 1 июля, 2005 · Жалоба Да, ещё один вопрос. Паразитное питание ставится на преобразование Convert T [44h] и на чтение Copy Scratchpad [48h]. Со временем преобразования всё ясно, 1 с., а сколько нужно держать питание при чтении? Не вижу я этого в даташите. <{POST_SNAPBACK}> Там есть - в описании этой команды рекомендуется время не менее 10 миллисекунд Copy Scratchpad [48h] This command copies the scratchpad into the E2 memory of the DS18B20, storing the temperature trigger bytes in nonvolatile memory. If the bus master issues read time slots following this command, the DS18B20 will output 0 on the bus as long as it is busy copying the scratchpad to E2; it will return a 1 when the copy process is complete. If parasite-powered, the bus master has to enable a strong pullup for at least 10 ms immediately after issuing this command. Да еще по этой команде память не читается а только копируется из ЕЕПРОМ В ОЗУ (или блокнот как они называют) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Oleg_IT 0 1 июля, 2005 Опубликовано 1 июля, 2005 · Жалоба Датчик (датчики, до трёх ставлю) живые, по трёх проводной схеме работают хорошо. С паразитным питанием отвечают на запрос по ROM, выводил на индикатор, ROM-ы правильные. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Гость Miron 1 июля, 2005 Опубликовано 1 июля, 2005 · Жалоба Я пробую, но не получается. выдает или 85 (преобразования не было) или 127.... (все единицы). Тока должно хватить, у датчика не более 2 мА, а пин тянет до 20. Может я чего не понимаю, после соответствующих команд ставлю на оба пина (TXD и RXD) по единице на выход, жду секунду... и получаю константу. Напряжения тоже хватает, около 5 В. <{POST_SNAPBACK}> Тогда может все дело в конфигурации пинов AVR По идее мы должны делать так При обмене данными пин который работает вместо транзистора конфигурируется как вход При преобразовании температуры конфигурируем его как выход в 1 По окончании задержки на преобразование переводим его в исходное состояние (вход) и начинаем читать температуру Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Stanislav 0 1 июля, 2005 Опубликовано 1 июля, 2005 · Жалоба Я пробую, но не получается. выдает или 85 (преобразования не было) или 127.... (все единицы). Тока должно хватить, у датчика не более 2 мА, а пин тянет до 20. Может я чего не понимаю, после соответствующих команд ставлю на оба пина (TXD и RXD) по единице на выход, жду секунду... и получаю константу. Напряжения тоже хватает, около 5 В. <{POST_SNAPBACK}> DS18B20, как отмечено ранее, увеличивает ток потребления в момент преобразования, причем он имеет импульсный характер. Убедитесь с помощью осциллографа, нет ли значительных кратковременных просадов на линии паразитного питания во время преобразования. Кстати, DSовцы в даташыте не зря на "паразитной" схеме изобразили P-канальный половик. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Serjio 0 3 июля, 2005 Опубликовано 3 июля, 2005 · Жалоба А нельзя поставить возле датчика диод и конденсатор, и запитать им датчик. Схема двухпроводная, а для датчика-как с внешним питанием. Я когдато так делал, работало на ура, только следите, чтобы на линии долго 0 не висел - емкость периодически требуется заряжать. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Oleg_IT 0 4 июля, 2005 Опубликовано 4 июля, 2005 · Жалоба А нельзя поставить возле датчика диод и конденсатор, и запитать им датчик. Схема двухпроводная, а для датчика-как с внешним питанием. Я когдато так делал, работало на ура, только следите, чтобы на линии долго 0 не висел - емкость периодически требуется заряжать. <{POST_SNAPBACK}> Что-то я не совсем понял идею. Что на что там должно замыкаться? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
bialix 0 4 июля, 2005 Опубликовано 4 июля, 2005 · Жалоба Обычная выпрямительная схема. г-------------------- TxD/RxD of DS1820 | ------+-----|>|-+-------- Vcc of DS1820 | --- --- | +---------- GND of DS1820 | --- Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Serjio 0 4 июля, 2005 Опубликовано 4 июля, 2005 · Жалоба Абсолютно правильно, можно еще последовательно с диодом сопротивление килоом на 10, чтобы бросков небыло. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться