Микроконтролери и електроника
http://mcu-bg.com/mcu_site/

Термостат DS1621 и комуникация
http://mcu-bg.com/mcu_site/viewtopic.php?f=7&t=9935
Страница 1 от 3

Автор:  tiger [ Нед Мар 04, 2012 10:53 pm ]
Заглавие:  Термостат DS1621 и комуникация

Измерената температура от термостата я чета от микроконтролер по I2C. За да тествам термостат функциите сложих един светодиод през 330 ома на изхода на термостата. Всичко е ОК, докато диода не светне. Когато свети за температура по комуникацията ми връща най-често 255, макар че понякога връща 31 или реалната температура. Явно светодиода го товари или има друга причина за това объркване?
Може ли да ми препоръчате схема за управление на реле 12/220 V от този термостат, имайки в предвид посочения ефект?

Автор:  didofen [ Пон Мар 05, 2012 3:44 pm ]
Заглавие:  Re: Термостат DS1621 и комуникация

какъв е контролера, на кой пин е светодиода?

Автор:  tiger [ Пон Мар 05, 2012 4:14 pm ]
Заглавие:  Re: Термостат DS1621 и комуникация

Atmega16L е контролера. За комуникацията използвам PD3 и PA0. Светодиода го закачам на Tout на термостата. Намерих код за комуникация с този термостат и го преправих, т.к. липсваха функции. Ако трябва и него да го постна ще е довечера

Автор:  tgi [ Пон Мар 05, 2012 4:20 pm ]
Заглавие:  Re: Термостат DS1621 и комуникация

Точно тоя - 1621 - съм го ползвал като термометър ама не съм му пипал термостата.

Но това, което описваш прилича на клякане на захранването като пуснеш лампата по-скоро,
има ли шанс да е това? Реле не ти трябва, то ще яде и повече от светодиода. Гледам, че
изходите на 1621 са доста кекави, може и токът от LED-а да повдига масата вътре в чипа
или нещо подобно. Най-добре накарай термостата да контролира транзистор (през примерно
2 кила в базата на 3904, BC817 или нещо там) и сложи LED-а в колектора.

[edit] Всъщност питаш за реле в крайна сметка, писах мислейки, че искаш с него да
палиш светодиода :D :D .
Пак същото трябва да стане, само да не забравиш диода паралелно на намотката
на релето :) [/edit]

Автор:  Cekins [ Пон Мар 05, 2012 4:29 pm ]
Заглавие:  Re: Термостат DS1621 и комуникация

Виж - снощи набързо погледнах даташита на термометъра, ама не видях да му дават максимална консумация на Out пина. Само е споменато че е гарантирано някакво ниво - 1mа при sorce и 4ma при sink. Затова първо пробвай с 1кОм съпротивление и светодиода минуса му към пина а +-са на 5 волта (през резистора естествено). За контрол на реле се ползва транзистор (примерно BC337) - схемата - 2-3 кОм между пина и базата, емитера на GND, колектора към единия край на бобината на релето. Другия край на бобината на +. Между двата извода на бобината се слага диод - чертичката на диода към +.

Автор:  tgi [ Пон Мар 05, 2012 4:47 pm ]
Заглавие:  Re: Термостат DS1621 и комуникация

То ако има 5 волта захранване може и с MOSFET, 2N7002 примерно (спестява цял резистор :D ).
И на 3.3 може, ама със 7002 чак за реле може и да извади лош късмет, BSS123 ще е
по-добре. Ако е на 2.7 нахранен обаче най-добре да не мисли за MOSFET-ове.

Автор:  itso.t [ Пон Мар 05, 2012 4:51 pm ]
Заглавие:  Re: Термостат DS1621 и комуникация

tgi написа:
То ако има 5 волта захранване може и с MOSFET, 2N7002 примерно (спестява цял резистор :D ).

Нищо не спестява. Пак е хубаво да има гейтов резистор, та ако "цъфне" мосфета, да не "върже" термостата... :D

Автор:  tgi [ Пон Мар 05, 2012 5:23 pm ]
Заглавие:  Re: Термостат DS1621 и комуникация

Бе да, вярно, ама едно е "хубаво е да", друго е "трябва".
После шансът да гръмне FET-ът така, че гейтът да даде накъсо с дрейна
е много нисък, обикновено дават накъсо дрейн-сорс (то и това не се случва
никак често :D ). Но за едната бройка за експерименти човек би го сложил,
особено ако няма запас от термометри (а тия не са от най-евтините, над $5 са).

Автор:  tiger [ Пон Мар 05, 2012 9:59 pm ]
Заглавие:  Re: Термостат DS1621 и комуникация

Cekins написа:
Затова първо пробвай с 1кОм съпротивление и светодиода минуса му към пина а +-са на 5 волта (през резистора естествено).

Няма проблеми така
Cekins написа:
За контрол на реле се ползва транзистор (примерно BC337) - схемата - 2-3 кОм между пина и базата, емитера на GND, колектора към единия край на бобината на релето. Другия край на бобината на +. Между двата извода на бобината се слага диод - чертичката на диода към +.

Мерси за предложението

tgi написа:
То ако има 5 волта захранване може и с MOSFET, 2N7002 примерно (спестява цял резистор :D ).
И на 3.3 може, ама със 7002 чак за реле може и да извади лош късмет, BSS123 ще е
по-добре. Ако е на 2.7 нахранен обаче най-добре да не мисли за MOSFET-ове.

С МОС никога не съм се занимавал. Доколкото знам с МОС ще е по-икономично. Ако може конкретна схема за него + съвети за свързването, ако има нещо по-специфично от PNP/NPN транзисторите

tgi написа:
(а тия не са от най-евтините, над $5 са).

Точно това е мостра, макар че ако не беше дошла може би щях да си го купя

ПП: Но май има някакъв проблем - забелязах, че дори и нищо да няма на Tout се появява спад в напрежението с периодичност горе-долу през колкото време се чете температурата. Когато откача комуникационните жички няма проблем.

ПП2: Сложих порта, който използвам за SDA да преминава от състояние "изход" към "вход" по-рано и обратното по-късно. Не помогна. Преди преминаването от "изход" към "вход" свалих изхода в 0. Оправи се, но не съвсем. Преди промяната диода на захранването на платката премигваше и мултицета за момента спадаше на 4.9.. и нещо волта. Сега диода не мига, но доста рядко (през 10-тина секунди да речем) мултицета пак показва спадане.

Автор:  Cekins [ Пон Мар 05, 2012 11:35 pm ]
Заглавие:  Re: Термостат DS1621 и комуникация

Хъ... Да не "окъсяваш" I2C-то - дата линията и от двете страни трябва да приема стойности 0 и нищо. Демек за да пратиш 1, правиш пина вход, съответно и слейв дивайса прави същото. Затова се слага и 5-10 кОм пулъп към линията. По принцип и клок линията се прави така заради разни други режими на шината.

Автор:  tiger [ Вто Мар 06, 2012 9:42 pm ]
Заглавие:  Re: Термостат DS1621 и комуникация

Благодаря, нямах представа за това, а от кода, който намерих тази част липсваше. За сега сложих резистор само на SDA и работи добре, дори и при 330 ома на светодиода на Tout температурата прочетени през I2C е нормална.

Автор:  Cekins [ Вто Мар 06, 2012 11:06 pm ]
Заглавие:  Re: Термостат DS1621 и комуникация

Еми нормално :) Принципно не е задължително изходните транзистори да изгорят ама всичко ти кляка. То и затова е хубаво да се ползва хардуерен модул I2C щото той тия неща си ги прави автоматично.

Автор:  tgi [ Сря Мар 07, 2012 12:58 am ]
Заглавие:  Re: Термостат DS1621 и комуникация

А бе прави автоматично ама от 4-те различни I2C-та дето съм писал два бяха
с готов модул в чипа, два аз ги bitbang-чих. Ми последните ми струваха само
часове да ги направя (едното на HC11, другото на TMS...5420 DSP); "готовият
модул" на MPC5200-то докато го подкарам ми отиде цял ден, а докато мина през
всичките перверзии и подкарам модула на MCF52211-то си загубих *3 дни*(!).
Като и в трите случая говорех на практика с едно и също, DS1621 термометър
и един eeprom (има чат-пат и друго ама то не ме е бавило, зорът беше докато
тръгнат познатите неща).

И за pullup резисторите - 5-10 кила е много слабо. Аз слагах по 2 кила докато наскоро
не ме ухапа (flyback конверотр със 100 волта пикове на милиметър от I2C жицата)
и понякога успяваше да ме смути. Чак като ги сложих по 1 кило миряса работата
(е, преди това се възползвах да изчистя софтуера да не се впечатлява от тия
работи, те ставаха веднъж на няколко минути и мина време докато се усетя какво става).

Автор:  Cekins [ Сря Мар 07, 2012 10:53 am ]
Заглавие:  Re: Термостат DS1621 и комуникация

За обикновенно използване до 100kHz 5-10 си е нормално. Където има шумове нещата вече отиват в друга губерния :) А и трябва да се внимава да не се премине допустимия ток на SDA на комуникиращите устройства, щото вече не се знае кое колко ще работи. Аз и по 680 ома съм слагал ама си е съвсем на границата на slave-а. Колкото до хардуера - нямам богат опит (все пак съм си скромен пикоборец) но примерно на 16-ки и 18-ки модула е в общи линии гаден ама поне сам се оправя с пиновете. Докато на 24-ките ми се стори по елегантен. и въпреки всичко и двата не могат да работят 100% самостоятелно... Софтуерен съм писал един път ама той е доста модифициран I2C (14 битови данни?!?!) и ack когато му дойде музата на slave-а - между 150 и 250ms.

Автор:  tgi [ Сря Мар 07, 2012 3:22 pm ]
Заглавие:  Re: Термостат DS1621 и комуникация

На въпросната платка има 4 I2C неща на бъса дето го дърпат, всяко се оправя
с 1 кило към 3.3-те волта - но е близо до специфицирания максимум, не помня
колко, ама за 5 волта може и да го мине та ако потрябва бих гледал пак.

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