Автор Тема: Программа TempControl  (Прочитано 110392 раз)

Оффлайн Бегемот

  • User
  • *
  • Сообщений: 2
  • Репутация: +0/-0
    • Личное сообщение (Оффлайн)
www.medfather.narod.ru
« Ответ #40 : Октября 02, 2009, 14:38:54 »
Не могу изменить сообщение выше.
увеличение времени преобразовнаия и отключение быстрого опроса не помогла

Оффлайн rgl

  • User
  • *
  • Сообщений: 6
  • Репутация: +0/-0
    • Личное сообщение (Оффлайн)
www.medfather.narod.ru
« Ответ #41 : Октября 10, 2009, 18:44:19 »
Цитата: Бегемот
Здравствуйте.
собрал схему №4 http://www.medfather.narod.ru/Images/scheme4.gif, подключил датчик DS1820, запустил программу TempControl v1.1.0.1 , она выдает что сеть 1-wire не обнаружена. датчик рабочий. подскажите в чем может быть проблема?
   Здравствуйте!
    Если вы собрали схему в точности по ссылке и подключили датчик в режиме паразитного питания (т.е., две его крайних ноги на землю), то он толком может и не работать. Как правильно выше отмечал Новичёк, эта схема не предназначена для такого режима - подтягивающий резистор (R1+R2) слишком велик и на линии сигнал будет мизерным. Проблемы с этой схемой у меня исчезли после замены R1 и R2 на 560 ом и 1,3 Ком соответственно (минимально допустимое сопротивление подтягивающего резистора - 1,5 Ком). Питание у меня берется с 4-й ноги разъема (DTR) через диод (чтобы начисто отсечь отрицательные импульсы), а 7-я нога вообще не задействована. Схема проверялась с тремя датчиками (типов DS1820 и DS18B20) и со всеми упоминавшимися в моих постах программами - проблем никаких не было. Устройство с двумя датчиками уже 3 месяца в эксплуатации и работает очень хорошо.
    Если вы подаете на датчик внешнее питание +5 В, то проблем быть не должно и без всяких изменений схемы. Проверяйте тогда целостность транзисторов и правильность сборки (только не соединяйте 4-ю и 7-ю ноги, как показано на схеме, а берите питание от 4-й). Надеюсь, что в настройках программы вы правильно выбрали порт - COM1, COM2
или еще какой, к которому вы подключили свой адаптер (определите перебором, если не знаете). Тип адаптера должен определяться как DS9097U. Как выбирается порт в TempControl уже не помню (у меня установлена TempKeeper).

Успехов!

Оффлайн AntonGr

  • Member
  • **
  • Сообщений: 15
  • Репутация: +0/-0
    • Личное сообщение (Оффлайн)
www.medfather.narod.ru
« Ответ #42 : Ноября 02, 2009, 14:10:08 »
Цитата: rgl
Если вы собрали схему в точности по ссылке и подключили датчик в режиме паразитного питания (т.е., две его крайних ноги на землю), то он толком может и не работать. Как правильно выше отмечал Новичёк, эта схема не предназначена для такого режима - подтягивающий резистор (R1+R2) слишком велик и на линии сигнал будет мизерным. Проблемы с этой схемой у меня исчезли после замены R1 и R2 на 560 ом и 1,3 Ком соответственно (минимально допустимое сопротивление подтягивающего резистора - 1,5 Ком). Питание у меня берется с 4-й ноги разъема (DTR) через диод (чтобы начисто отсечь отрицательные импульсы), а 7-я нога вообще не задействована. Схема проверялась с тремя датчиками (типов DS1820 и DS18B20) и со всеми упоминавшимися в моих постах программами - проблем никаких не было. Устройство с двумя датчиками уже 3 месяца в эксплуатации и работает очень хорошо.

Здравствуйте. Возможно мои вопросы покажутся глупыми, но я не могу не спросить. Разбираюсь со схемой №4, логику ее работы я вроде понял, но хотелось бы разобраться в электрических параметрах.
Вот например в описании, которое приведено выше вы уменьшили величину потдягивающих резисторов до 1,86кОм, таким образом вы при подключении 3 датчиков на шину 1-Wire обеспечили ток в цепи порядка 1,6мА. Можно было бы еще уменьшить сопротивление, но тогда вырос бы ток и тепловые потери на резисторах. Но это вы сделали для обеспечения паразитного питания, а если оставить схему без изменения (с питанием от внешнего источника - линии DTR), то сопротивление подтягивающих резисторов будет 3,8кОм, вот тут у меня возник вопрос, в даташите на датчик написано, что подтягивающий резистор должен быть 4,7кОм (он же является и токоограничивающим при открытии транзистора внутри датчика). А тут получается, что мы устанавливаем ток больший, чем описано в документации. Подскажите, почему так? Чем можно было бы аргументировать такой выбор?

Подскажите, чем обусловлено минимальное значение подтягивающего резистора на уровне 1,5кОм.
« Последнее редактирование: Ноября 03, 2009, 08:52:47 от AntonGr »

Оффлайн saidb

  • Member
  • **
  • Сообщений: 10
  • Репутация: +0/-0
    • http://
    • E-mail
    • Личное сообщение (Оффлайн)
www.medfather.narod.ru
« Ответ #43 : Ноября 03, 2009, 14:53:26 »
[quote name='AntonGr' date='2.11.2009, 14:10' post='30419']
(он же является и токоограничивающим при открытии транзистора внутри датчика). А тут получается, что мы устанавливаем ток больший, чем описано в документации.

На практике получается что датчику не страшно питатся нормальными 5-тью вольтами, взятыми из компьютера -никаких ограничений тока им не надо. Через все квартиру идет три провода - земля, данные и 5-ть вольт из компьютера и в нужных местах висят ds18s20  8шт. и ds2405 5шт. и все работает уже не первый год. Адаптер используется DS9097U-009.

18s20 работат и с неподключенной 3-ей ногой - без 5-ти вольт.
но...
при оптягивании термоусадкой - перегрел зажигалкой и датчик заклинило на 85-ти градусах:(
при подключении 3-ей ноги к +5в - все нормализовалось.
вообще - достаточно живучие - из горсти датчиков и ключей - как я не издевался при экспериментах - все выжили... а ключи при кз - засыпали и при сбросе питания - восстанавливались...
« Последнее редактирование: Ноября 03, 2009, 22:32:48 от saidb »

Оффлайн AntonGr

  • Member
  • **
  • Сообщений: 15
  • Репутация: +0/-0
    • Личное сообщение (Оффлайн)
www.medfather.narod.ru
« Ответ #44 : Ноября 05, 2009, 20:06:54 »
Цитата: saidb
(он же является и токоограничивающим при открытии транзистора внутри датчика). А тут получается, что мы устанавливаем ток больший, чем описано в документации.

На практике получается что датчику не страшно питатся нормальными 5-тью вольтами, взятыми из компьютера -никаких ограничений тока им не надо. Через все квартиру идет три провода - земля, данные и 5-ть вольт из компьютера и в нужных местах висят ds18s20  8шт. и ds2405 5шт. и все работает уже не первый год. Адаптер используется DS9097U-009.

18s20 работат и с неподключенной 3-ей ногой - без 5-ти вольт.
но...
при оптягивании термоусадкой - перегрел зажигалкой и датчик заклинило на 85-ти градусах:(
при подключении 3-ей ноги к +5в - все нормализовалось.
вообще - достаточно живучие - из горсти датчиков и ключей - как я не издевался при экспериментах - все выжили... а ключи при кз - засыпали и при сбросе питания - восстанавливались...

То что он нормально питается от 5В, то в этом нет ничего удивительного, но вот я сомневаюсь, что после сигнала чтения памяти в датчик линия DATA подтягивается до 5В без резистора. Если датчику надо будет передать "0", то он закоротит свой транзистор на землю, и через него пойдет ток порядка 50мА, что он выдержит врятли.

А вам случаем не доводилось видеть от датчика температуру 43 градуса. Я делал программу для WinCE, в ней было несколько потоков, так у меня датчик присылал переодически 43 градуса. Мне удалось обойти косяк заключив функцию чтения информации датчика в тег "критично ко времени", но это как-то не красиво. Я тоже использовал адаптер DS9097U-009, но вот решил попробовать без него обойтись.

Оффлайн saidb

  • Member
  • **
  • Сообщений: 10
  • Репутация: +0/-0
    • http://
    • E-mail
    • Личное сообщение (Оффлайн)
www.medfather.narod.ru
« Ответ #45 : Ноября 05, 2009, 22:00:06 »
[attachment=1132:opto_semistor.JPG][attachment=1132:opto_semistor.JPG][quote name='AntonGr' date='5.11.2009, 20:06' post='30464']
но вот я сомневаюсь, что после сигнала чтения памяти в датчик линия DATA подтягивается до 5В без резистора. Если датчику надо будет передать "0", то он закоротит свой транзистор на землю, и через него пойдет ток порядка 50мА, что он выдержит врятли.
А вам случаем не доводилось видеть от датчика температуру 43 градуса.

43 градуса не видел.
А по поводу подтяжки линии данных я ничего не делал... хотя может моя обвязка ключей на что то влияет... схему прикладываю...
« Последнее редактирование: Ноября 05, 2009, 22:20:26 от saidb »

Оффлайн ser_mos

  • User
  • *
  • Сообщений: 3
  • Репутация: +0/-0
    • Личное сообщение (Оффлайн)
www.medfather.narod.ru
« Ответ #46 : Декабря 24, 2009, 16:02:26 »
Цитата: AntonGr
Здравствуйте. Возможно мои вопросы покажутся глупыми, но я не могу не спросить. Разбираюсь со схемой №4, логику ее работы я вроде понял, но хотелось бы разобраться в электрических параметрах.
Вот например в описании, которое приведено выше вы уменьшили величину потдягивающих резисторов до 1,86кОм, таким образом вы при подключении 3 датчиков на шину 1-Wire обеспечили ток в цепи порядка 1,6мА. Можно было бы еще уменьшить сопротивление, но тогда вырос бы ток и тепловые потери на резисторах. Но это вы сделали для обеспечения паразитного питания, а если оставить схему без изменения (с питанием от внешнего источника - линии DTR), то сопротивление подтягивающих резисторов будет 3,8кОм, вот тут у меня возник вопрос, в даташите на датчик написано, что подтягивающий резистор должен быть 4,7кОм (он же является и токоограничивающим при открытии транзистора внутри датчика). А тут получается, что мы устанавливаем ток больший, чем описано в документации. Подскажите, почему так? Чем можно было бы аргументировать такой выбор?

Подскажите, чем обусловлено минимальное значение подтягивающего резистора на уровне 1,5кОм.

Схема 4 с полевыми транзисторами моя  Тепловые потери на резисторах не имеют значиения, токи и напряжения слишком маленькие, 2-3 мВт. Сопротивление подтягивающего резистора по даташиту высокое, непонятно зачем там сделали его таким высоким, это ограничивает дальность работы датчика. Главный враг 1-wire емкость провода. Поэтму получается масса парадоксов, телефонная "лапша" работает лучше чем экранированная витая пара, потому что в витой паре проводники близко друг к другу, а в телефонном растояние между ними 5 мм (емкость соответственно ниже в 2 раза примерно).

Резистор маленького сопротивления быстрее подтягивает шину к +5В, насчет того что датчик не сможет справится с током подятжки спорно, так как там обычный ключ на землю 2-3 мА он должен теоретически "замкнуть" на себя, однако меньше 1кОм резисторы не делают, вроде не тянет датчик такой ток, можно осцилографом посмотреть. 1,5 - 2,0 кОм похоже самое лучшее что можно применить для протяженных линий.

Насчет паразитного питания интересная особенность, работает от 3,5В до 5В, но напряжение должно быть стабильным. Если ради благих целей подсоединить конденсатор большой емкости к питанию, точность снижается! Я делал так что конденсатор заряжается паразитным питанием и при измерении отдает энергию на вход питания. Но при измерении датчик начинает потреблять около 1мА, напряжение на конденсаторе снижатется и датчик врет, он похоже учитывает напряжение в начале измерения и корректирует исходя из него результат. Результат обратный от желаемого
http://ntk.intbel.ru - скада в реальном времени, картинка диспетчера

Оффлайн ser_mos

  • User
  • *
  • Сообщений: 3
  • Репутация: +0/-0
    • Личное сообщение (Оффлайн)
www.medfather.narod.ru
« Ответ #47 : Декабря 24, 2009, 16:34:16 »
Цитата: rgl
(R1+R2) слишком велик и на линии сигнал будет мизерным. Проблемы с этой схемой у меня исчезли после замены R1 и R2 на 560 ом и 1,3 Ком соответственно (минимально допустимое сопротивление подтягивающего резистора - 1,5 Ком).

Интересное дополнение!

Цитировать
Питание у меня берется с 4-й ноги разъема (DTR) через диод (чтобы начисто отсечь отрицательные импульсы), а 7-я нога вообще не задействована.

Отрицательные имульсы гасятся на стабилитроне, обычно выход СОМ порта имеет сопротивление 3 Ком, и ток больше 4мА соответственно не выдается. На шине питания в худшем случае будет -1В, так как датчики бездействуют им без разницы, но может и пойти через них обратный ток..  могут нагреться на доли градуса. При работе программы вроде как напряжение положительное и лишние токи по схеме течь не должны.

Дополнительный диод, отсекающий отрицательное напряжение имеет побочный эффект, на нем падает 0,75В, если датчик кушает 1мА, на внутреннем сопротивлении СОМ порта падает 3В, на диоде 0,75, к линии +5В даже без стабилитрона придет 8,25В. Это в идеальном случае, есть порты на ноутбуках, или адаптеры что выдают меньшие напряжения, меньшие токи, тогда датчику может не хватить напряжения для нормальной работы. Можно ставить диод Шотки, тогда потери будут всего 0,3В. В обычном случае просто "лишняя" деталька.

Цитировать
Проверяйте тогда целостность транзисторов и правильность сборки (только не соединяйте 4-ю и 7-ю ноги, как показано на схеме, а берите питание от 4-й).

С двух ног больший ток можно снять. 1 ножка в идеальном случае даст (12-5В)/3КОм = 2.1 мА всего. В неидеальном меньше. Если программа подаст на ногу "7" +12В, на ножку "4" -12В, впринципе тоже ничего страшного, СОМ порт работает нормально, будет через драйвер СОМ порта течь ток небольшой, около 100 мВт внутри компьютера думаю не повредят...
Другое дело если хватает только ножки "7" можно ничего не придумывать и "4" не использовать.
http://ntk.intbel.ru - скада в реальном времени, картинка диспетчера

Оффлайн ser_mos

  • User
  • *
  • Сообщений: 3
  • Репутация: +0/-0
    • Личное сообщение (Оффлайн)
www.medfather.narod.ru
« Ответ #48 : Декабря 24, 2009, 16:53:59 »
Цитата: rgl
Причина оказалась банально простой - датчики видимо малость подгорели. Дело в том, что в адаптере (схема №4) у меня поначалу выгорал полевик. RS232 через неисправный адаптер мог шибануть по датчикам -12-тью вольтами, а предел их "терпимости" как известно всего лишь от -0,5 до +6V.

В датчиках есть защитные диоды (прозваниваются мультиметром даже), от -12 защитят, +12 тоже, ток должен пройти через защитные диоды, стабилитрон и на "землю".
Вот если +5В питание датчиков отсоединить, то +12В вольт поданные на вход данных могут повредить датчик. Подключенные датчики почти неубиваемые, вот если отсоединить +5В, или землю и подать разные напряжения, сжечь их можно.
http://ntk.intbel.ru - скада в реальном времени, картинка диспетчера

Оффлайн harbor

  • Member
  • **
  • Сообщений: 24
  • Репутация: +0/-0
    • Личное сообщение (Оффлайн)
www.medfather.narod.ru
« Ответ #49 : Января 07, 2010, 19:45:38 »
подскажите, собрал термометр на DS1820(самая первая мс серии) делал с внешним питанием и на паразитном, картина таже:
датчик виден, считываются данные из РОМ и записываются
а температура бегает возле -55 и не меняется, хоть на мороз выстави, хоть паяльником подогревай
перепробовал уже все программы которые есть.. обидно

схему делал как http://msevm.ru/main/therm/ds18b20.htm
так и http://www.digit-el.com/files/open/ds18x20/ds18x20.html

может кто помочь запустить градусник?

Оффлайн AntonGr

  • Member
  • **
  • Сообщений: 15
  • Репутация: +0/-0
    • Личное сообщение (Оффлайн)
www.medfather.narod.ru
« Ответ #50 : Января 08, 2010, 02:42:57 »
Цитата: harbor
подскажите, собрал термометр на DS1820(самая первая мс серии) делал с внешним питанием и на паразитном, картина таже:
датчик виден, считываются данные из РОМ и записываются
а температура бегает возле -55 и не меняется, хоть на мороз выстави, хоть паяльником подогревай
перепробовал уже все программы которые есть.. обидно

схему делал как http://msevm.ru/main/therm/ds18b20.htm
так и http://www.digit-el.com/files/open/ds18x20/ds18x20.html

может кто помочь запустить градусник?

А контрольные суммы при этом ROM и  Scratchpad сходятся?

Оффлайн harbor

  • Member
  • **
  • Сообщений: 24
  • Репутация: +0/-0
    • Личное сообщение (Оффлайн)
www.medfather.narod.ru
« Ответ #51 : Января 08, 2010, 08:25:52 »
Цитата: AntonGr
А контрольные суммы при этом ROM и  Scratchpad сходятся?
а как это узнать?

Оффлайн AntonGr

  • Member
  • **
  • Сообщений: 15
  • Репутация: +0/-0
    • Личное сообщение (Оффлайн)
www.medfather.narod.ru
« Ответ #52 : Января 08, 2010, 16:09:37 »
Цитата: harbor
а как это узнать?
Ну ты говоришь, что можешь считывать и записывать в память термометра, так ты разве не проверяешь на достоверность полученные данные. Посмотри карту памяти термометра, там показано, какие биты содержат значение контрольной суммы.

Оффлайн AntonGr

  • Member
  • **
  • Сообщений: 15
  • Репутация: +0/-0
    • Личное сообщение (Оффлайн)
www.medfather.narod.ru
« Ответ #53 : Января 08, 2010, 16:51:49 »
Цитата: harbor
подскажите, собрал термометр на DS1820(самая первая мс серии) делал с внешним питанием и на паразитном, картина таже:
датчик виден, считываются данные из РОМ и записываются
а температура бегает возле -55 и не меняется, хоть на мороз выстави, хоть паяльником подогревай
перепробовал уже все программы которые есть.. обидно

схему делал как http://msevm.ru/main/therm/ds18b20.htm
так и http://www.digit-el.com/files/open/ds18x20/ds18x20.html

может кто помочь запустить градусник?

Я конечно не профессионал пока, но вот что по схемам могу сказать. Первая мне вообще не понятно как работает, а вот во второй сопротивление 4k7 я бы снизил, на нем сильно большое падение напряжения и на вход RxD приходит низкий уровень. Возможно, что приходящее значение считывается не правильно, но это опять таки должна показать проверка контрольной суммы.

Оффлайн AntonGr

  • Member
  • **
  • Сообщений: 15
  • Репутация: +0/-0
    • Личное сообщение (Оффлайн)
www.medfather.narod.ru
« Ответ #54 : Января 08, 2010, 17:17:09 »
Цитата: ser_mos
С двух ног больший ток можно снять. 1 ножка в идеальном случае даст (12-5В)/3КОм = 2.1 мА всего. В неидеальном меньше. Если программа подаст на ногу "7" +12В, на ножку "4" -12В, впринципе тоже ничего страшного, СОМ порт работает нормально, будет через драйвер СОМ порта течь ток небольшой, около 100 мВт внутри компьютера думаю не повредят...
Другое дело если хватает только ножки "7" можно ничего не придумывать и "4" не использовать.
Вот этот момент я не понял. Я за пример беру свой контроллер, там стоит драйвер линии RS-232, у которого выходы обладают сопротивлением 300 Ом, но при этом максимальный ток ограничен уровнем 12мА. Еще где-то читал, что не смотря на то, что спецификация на RS-232 указывает нагрузоную способность выводов на уровне 500мА, большинство драйверов не позволяют подключать нагрузку более 10мА. А этого в принципе хватает для питания 6 датчиков, что вполне достаточно.

Оффлайн harbor

  • Member
  • **
  • Сообщений: 24
  • Репутация: +0/-0
    • Личное сообщение (Оффлайн)
www.medfather.narod.ru
« Ответ #55 : Января 09, 2010, 08:01:41 »
Цитата: AntonGr
Ну ты говоришь, что можешь считывать и записывать в память термометра, так ты разве не проверяешь на достоверность полученные данные. Посмотри карту памяти термометра, там показано, какие биты содержат значение контрольной суммы.

дело в том, что свою программу я не писал, а использовал программу авора (http://www.digit-el.com/files/open/ds18x20/ds18x20.html)
ну и в ней же показывается запись и чтение. я могу записывать байты для аларма и считывать их(даже в другой программе)
а вот сами регистры темпы считываются как-то не так или не оттуда вобще берутся может. возможно у моего датчика просто другое представление данных

и потом, прием данных идет чтоли через DTR ? мне казалось что через RXD ногу
« Последнее редактирование: Января 09, 2010, 08:36:21 от harbor »

Оффлайн AntonGr

  • Member
  • **
  • Сообщений: 15
  • Репутация: +0/-0
    • Личное сообщение (Оффлайн)
www.medfather.narod.ru
« Ответ #56 : Января 09, 2010, 19:11:29 »
Цитата: harbor
дело в том, что свою программу я не писал, а использовал программу авора (http://www.digit-el.com/files/open/ds18x20/ds18x20.html)
ну и в ней же показывается запись и чтение. я могу записывать байты для аларма и считывать их(даже в другой программе)
а вот сами регистры темпы считываются как-то не так или не оттуда вобще берутся может. возможно у моего датчика просто другое представление данных
и потом, прием данных идет чтоли через DTR ? мне казалось что через RXD ногу

К сожалению я этой программой не пользовался, по судя по скриншотам она показывает правильная сумма CRC или нет.
Конечно прием осуществляется через RxD, но на этот вход надо что-то подать, а единственным источником питания является DTR, поэтому работают они вместе. Дело в том, что в этой схеме на вход поступают только однополярные уровни, в чем может быть проблемы, т.к. это не соответствует спецификации RS-232. Вроде к этой схеме и моя программа подойдет. Могу скинуть проверить.

Оффлайн harbor

  • Member
  • **
  • Сообщений: 24
  • Репутация: +0/-0
    • Личное сообщение (Оффлайн)
www.medfather.narod.ru
« Ответ #57 : Января 09, 2010, 20:54:46 »
Цитата: AntonGr
К сожалению я этой программой не пользовался, по судя по скриншотам она показывает правильная сумма CRC или нет.
Конечно прием осуществляется через RxD, но на этот вход надо что-то подать, а единственным источником питания является DTR, поэтому работают они вместе. Дело в том, что в этой схеме на вход поступают только однополярные уровни, в чем может быть проблемы, т.к. это не соответствует спецификации RS-232. Вроде к этой схеме и моя программа подойдет. Могу скинуть проверить.
а у вас по какой схеме собран?
скинтье пожалуйста, попорбую

Оффлайн AntonGr

  • Member
  • **
  • Сообщений: 15
  • Репутация: +0/-0
    • Личное сообщение (Оффлайн)
www.medfather.narod.ru
« Ответ #58 : Января 10, 2010, 00:08:49 »
Цитата: harbor
а у вас по какой схеме собран?
скинтье пожалуйста, попорбую
пишет, что адрес не видит

Оффлайн harbor

  • Member
  • **
  • Сообщений: 24
  • Репутация: +0/-0
    • Личное сообщение (Оффлайн)
www.medfather.narod.ru
« Ответ #59 : Января 10, 2010, 11:55:47 »
ну у меня 1780@mail.ru
или maxn1780@gmail.com

 

Последние сообщения на форуме: