Fórum Root.cz

Hlavní témata => Software => Téma založeno: TomasP 03. 07. 2012, 12:52:04

Název: Arduino a DS18B20
Přispěvatel: TomasP 03. 07. 2012, 12:52:04
Zdravím,
potřebuji rady ohledně Arduina, už to vzdávám....
Koupil jsem za pár korun Arduino Mega2560 připojil k PC a nechal blikat diodu - vše OK, ale jakmile se o něco pokusím sám tak NIC:
1) chtěl jsem získat teploty z čidla DS18B20 - zapojil jsem ho dle tohoto schématu:
http://milesburton.com/Dallas_Temperature_Control_Library
tzn na pin 1 jsem připojil GND a na pin 2 před resistor jsem připojil kabel do digital 53 na arduinu a za resistor 5V z arduina - těch 5V a GND jsem připojil do části POWER na arduinu, avšak čidlo se hned začne neskutečně hřát (asi odešlo, co?) nevím co teď ... :( zkoumal jsem i http://www.root.cz/clanky/arduino-merime-a-zobrazujeme-fyzikalni-veliciny/ ale bez úspěchu.
2) chtěl bych ještě připojit ventilátor (otáčky podle teploty) jak to udělám? Pokud se nepletu, stačilo by připojit 12V zdroj na červený a černý drát a žlutý připojit k arduinu a otáčky NEJAK regulovat pomocí PWM - jedná se o ventilátor k PC...

DEKUJI ZA VEŠKERÉ RADY! Myslel jsem, že když víceméně umím programovat, tohle bude hračka, ale jsem ztracen... Popřípadě pokud se najde dobrá duše z Třebíče/Znojma/Brna, která by mi pomohla osobně se zapojením, také bych se nezlobil....
Název: Re:Arduino a DS18B20
Přispěvatel: Pavouk106 03. 07. 2012, 13:14:19
Kamarád mi o víkendu ukazoval Arduino Lillyboard (nebo tak něco, prostě to růžový kolečko :-) ) a měl k němu připojený analogový čidlo (typ nevím, můžu zjistit). To Tvoje je digitální a jede na 1-Wire bus sběrnici. (mám ho doma a měří, ale ne přes Arduino)

Zjistil bych si, jestli se tedy Arduino s ním bude umět po tomhle bavit (resp. přijímat data). Čidlo je napájený tuším jen 5V, na to taky bacha.
Název: Re:Arduino a DS18B20
Přispěvatel: TomasP 03. 07. 2012, 13:20:38
Arduino 100% umí 1-Wire, jen já si s ním nemohu poradit.... No k čidlu jsem připojil 5V viz. bod 2, ale neskutečně se přehřívá (hned sem je vytahl) těch 12V je myšleno na ten ventilátor.
Název: Re:Arduino a DS18B20
Přispěvatel: Ondřej Caletka 03. 07. 2012, 13:23:42
Ten ventilátor z PC musí mít čtyři dráty. Pokud má tři, pak ten třetí drát slouží k měření otáček, regulovat je potřeba přímo napájecí napětí. Teprve čtyřdrátové ventilátory mají PWM vstup, to je právě ten čtvrtý drát.
Název: Re:Arduino a DS18B20
Přispěvatel: Pavouk106 03. 07. 2012, 13:26:03
Ta víc bohužel neporadím, Arduino jsem pouze viděl :-) Jen jsem chtěl napsat vše co o tom já sám vím. Pak jsem ale ještě projel narychlo článek na rootu a 1-Wire je ok. Jestli se hrozně hřeje a je fakt dobře zapojené, tak bude pravděpodobně KO. Moje čidlo se nehřeje ani trochu a krátkodobě jsem ho vystavil i teplotě 120 stupňů celsia :-) A měří pořád ok. Doporučení by mohlo znít: kup nový čidlo. Ale je možný, že jen vyhodíš prachy, pokud ho (opět) spálíš... :-( Bohužel, víc fakt neporadím.
Název: Re:Arduino a DS18B20
Přispěvatel: TomasP 03. 07. 2012, 14:29:30
Děkuji všem, jak tedy zjistím v arduinu otáčky na tomto 3 drátkovém ventilátoru? A jak regulovat napětí - automaticky, pomocí potenciometru je mi to k ničemu...

No jestli to čidlo mám správně zapojené, zapojil jsem ho jak jsem psal, našel jsem však i návod na připojení všech 3 konektorů např. zde: http://www.rentron.com/PICX4.htm proto se ptám, jestli nemá někdo zkušenosti....  díky

btw: hledal jsem všude po netu ale v AJ je to na mě moc složité proto se ptám tady, snad chápete ...
Název: Re:Arduino a DS18B20
Přispěvatel: albert 03. 07. 2012, 14:33:49
Skús pozrieť sem: http://bildr.org/2011/07/ds18b20-arduino/
Sú tu veľmi dobré tutoriály.
Alebo sem: http://www.arduino.cc/playground/Learning/OneWire/
http://stuff.nekhbet.ro/2009/08/23/how-to-use-the-ds18s20-and-ds18b20-temperature-sensors-with-arduino.html
Ja ho používam bez knižnice, len teraz nie som doma. Ináč by som ti poslal aj program, ktorý číta teploty.
Název: Re:Arduino a DS18B20
Přispěvatel: Pavouk106 03. 07. 2012, 14:45:29
Otáčky větráku zjistíš ze žlutého drátu, ale co v něm je za signál, to nevím (jestli z toho leze něco digitálního, nebo jen nějaké pulzy...).

Jak regulovat větrák, co má dva/tři dráty (černej + červenej, případně + žlutej)? Na černej 0 (zem, mínus), na červenej + (většinou 12V) a žlute je na odečet otáček. Regulace probíhá snížením napětí. Některý větráky dokážou běžet třeba i na 5V, jiný se zastavujou už při 10V. Takže mezi černej a červenej musíš přivést regulovaný napětí. Jestli tohle Arduino umí (různý výstupní napětí), to nevim.
Název: Re:Arduino a DS18B20
Přispěvatel: TomasP 03. 07. 2012, 14:56:01
@Albert: prosím tě, až budeš doma, hodil by jsi ho sem vč. fotky jak to máš zapojené? Díky moc!

Já to testuji na :
http://pastebin.com/h0e2tMsj

Zapojení:
https://picasaweb.google.com/lh/photo/LFS4u8mHCNIqOwMUbet4iNMTjNZETYmyPJy0liipFm0?feat=directlink
černý - GND (power)
zelený - Digital 53 (na konci arduina, hned nad GND)
červený - 5V (power)

S tím kodem mi to píše No more addresses...
Název: Re:Arduino a DS18B20
Přispěvatel: TomasP 03. 07. 2012, 14:59:27
ROM = 28 CC 30 CA 3 0 0 BE
  Chip = DS18B20
  Data = 1 DE 1 4B 46 7F FF 2 10 1F  CRC=1F
  Temperature = 29.87 Celsius, 85.77 Fahrenheit
No more addresses.

ROM = 28 CC 30 CA 3 0 0 BE
  Chip = DS18B20
  Data = 1 DE 1 4B 46 7F FF 2 10 1F  CRC=1F
  Temperature = 29.87 Celsius, 85.77 Fahrenheit
No more addresses.

Teploty již čte! Paráda! DIKY VSEM!!! Už jen vyřešit ten ventilátor ...
Název: Re:Arduino a DS18B20
Přispěvatel: albert 03. 07. 2012, 14:59:57
Tu je niečo o tom ako sa regulujú otáčky motora: http://www.ladyada.net/make/mshield/use.html. A samozrejme pošlem aj zapojenie aj program.
Název: Re:Arduino a DS18B20
Přispěvatel: TomasP 03. 07. 2012, 15:15:30
Myslíte, že budu muset koupit nový motor shield, nebo bude stačit : L298N, DC motor driver (http://freehold.4fan.cz/upload/img/zbozi/aukro/arL298N0.jpg) , který jsem dostal samozřejmě bez jakehokoliv návodu, to buď najdu nebo by někdo mohl poradit...
Název: Re:Arduino a DS18B20
Přispěvatel: kmarty 03. 07. 2012, 15:58:19
Regulace probíhá snížením napětí. Některý větráky dokážou běžet třeba i na 5V, jiný se zastavujou už při 10V. Takže mezi černej a červenej musíš přivést regulovaný napětí. Jestli tohle Arduino umí (různý výstupní napětí), to nevim.
Asi pisu pozde, ale osobne bych to resil radeji stridou signalu nez snizenim napeti. Snaze se to reguluje (zmena je linearni) a zaroven to umoznuje podstatne vetsi rozsah otacek. Napeti zustava stejne, meni se jen strida signalu.
Název: Re:Arduino a DS18B20
Přispěvatel: albert 03. 07. 2012, 16:05:39
Ten shield je zrejme niečo podobné ako: http://www.rcubestation.com/r3cart/index.php?route=product/product&product_id=75
Tu je niečo o čítaní otáčok: http://arduino.cc/playground/Main/ReadingRPM
A tu je presne to čo sa snažíš urobiť: http://www.uchobby.com/index.php/2007/09/23/arduino-temperature-controlled-pc-fan/
Niečo na fóre: http://www.arduino.cc/cgi-bin/yabb2/YaBB.pl?num=1231205087
Aj tu: http://www.arduino.cc/cgi-bin/yabb2/YaBB.pl?num=1289231634
A aj tu je niečo podobné ako robíš: http://www.barnesian.com/2011/05/arduino-powered-smart-fan-controller.html
Název: Re:Arduino a DS18B20
Přispěvatel: TomasP 03. 07. 2012, 16:09:47
Díky všem, zejména pak Albertovi! Myslel jsem, že umím hledat - neumím! Pokud se mi povede vše zprovoznit dám sem kódy, pokud ne ještě se budu ptát....
Název: Re:Arduino a DS18B20
Přispěvatel: Pavouk106 03. 07. 2012, 16:16:11
Asi pisu pozde, ale osobne bych to resil radeji stridou signalu nez snizenim napeti. Snaze se to reguluje (zmena je linearni) a zaroven to umoznuje podstatne vetsi rozsah otacek. Napeti zustava stejne, meni se jen strida signalu.

Samozřejmě, ale je zdravé ovládat nePWM větráček pomocí PWM? Otázka byla, jak zjistit a změnit otáčky na 3pin větráčku. Já bych je měnil voltáží, ne pomocí PWM...
Název: Re:Arduino a DS18B20
Přispěvatel: albert 03. 07. 2012, 16:18:31
Určite otáčky riadiť striedou (PWM). To Arduino urobí bez problémov. No a keďže som už doma tak tu je odkaz na čítanie teploty (čo už síce máš vyriešené - ale nevadí): http://mynerdstuff.blogspot.sk/2012/02/dallas-ds18b20-temperature-sensor-and.html

Název: Re:Arduino a DS18B20
Přispěvatel: Pavouk106 03. 07. 2012, 16:35:35
Určite otáčky riadiť striedou (PWM). To Arduino urobí bez problémov. No a keďže som už doma tak tu je odkaz na čítanie teploty (čo už síce máš vyriešené - ale nevadí): http://mynerdstuff.blogspot.sk/2012/02/dallas-ds18b20-temperature-sensor-and.html

Já se akorát ptám, jestli lze střídou (PWM) regulovat otáčky i u větráku, který má jen 3 piny??? Má -, + a senzor otáček. I do takového větráku lze nahnat PWM? - by bylo - (GND) a na + by se hodil výstup z PWM? Lze to bez poškození větráku (i dlouhodobým provozem)?
Název: Re:Arduino a DS18B20
Přispěvatel: albert 03. 07. 2012, 17:14:55
Áno dá sa to. Motor sa nepoškodí. Tak sa to robí keď nechcete znižovať napätie, pretože vtedy samozrejme klesá aj výkon motora. Ak otáčky regulujete striedou výkon neklesá (ale to zrejme viete). Ja som pomocou toho robil pohyb fotoaparátu kým som nemal krokový motor. Je tiež dobré vedieť, že určite sa nedá regulovať v plnom rozsahu od 0 otáčok po maximum, pretože motor už pri určitej frekvencii nereaguje. Ak máte napr. rozsah regulácie o 0 do 255, tak použiteľný rozsah bude okolo 100 niekde v rozmedzí tých 255. Pri niektorom motore napr od 30 do 130 a pri inom napr od 90 do 190 a zvyšok rozsahu už nebude použiteľný. Ja mám dva motory a na každom je rozsah iný, pretože sú rôzneho výkonu.
Název: Re:Arduino a DS18B20
Přispěvatel: kmarty 03. 07. 2012, 17:39:31
...jestli lze střídou (PWM) regulovat otáčky i u větráku, který má jen 3 piny???
Procy by neslo, je to obycejny vetracek. Akorat ma navic hallovu sondu jejiz druhy konec je pripojen na zem.
Název: Re:Arduino a DS18B20
Přispěvatel: TomasP 03. 07. 2012, 17:43:23
Uff.... tak jsem si to všecko "pročetl" a pochopil jsem vleký kulový....
Koukal jsem na:
http://2.bp.blogspot.com/-O1SGwz3442Q/Thowmy86I0I/AAAAAAAAAao/FvsjX7hkXL4/s1600/RPM.png
To bych zvládl zapojit, koupit ten Mosfet, ale dyd tam má je 2 dráty, nechápu... A proč to má napojené do VIN? A ještě jeden, dyd andurio dává pouze max 5V a on má 12V ventilátor...
A pak u toho čtení otáček jsem nepochopil na který pin v anduriu to má napojené, co tam má dále za součástky... potřeboval bych to vysvětlit v CZ s tou AJ prostě nevím co a jak...

Potřebuji to regulovat v rozsahu 0 - 100% teoreticky by se dal koupit silnější ventilátor, ale nutně potřebuji mít stop stav.
Název: Re:Arduino a DS18B20
Přispěvatel: TomasP 03. 07. 2012, 17:45:19
Teď tu koukám, bavíte se o halovo sondě atd... Pokud se někdo doopravdy pokusí mi vysvětlit co a jak zapojit, tak prosím jak pro "blbce" ... co a kam .... popř pokud by bylo lepší použít ten L298N tak jak na něj... Diky
Název: Re:Arduino a DS18B20
Přispěvatel: Pavouk106 03. 07. 2012, 17:46:09
...jestli lze střídou (PWM) regulovat otáčky i u větráku, který má jen 3 piny???
Procy by neslo, je to obycejny vetracek. Akorat ma navic hallovu sondu jejiz druhy konec je pripojen na zem.

Tak jednoduchou informaci jsem potřeboval vědět :-) V tom případě se omlouvám za zasvinění vlákna mojí nechápavostí a díky za poučení ;-) Hallova sonda teda dává na žlutém drátu pulzy? Lze to tedy měřit jako frekvenci? Pak už přestanu prudit :-)
Název: Re:Arduino a DS18B20
Přispěvatel: kmarty 03. 07. 2012, 17:49:34
Hallova sonda teda dává na žlutém drátu pulzy? Lze to tedy měřit jako frekvenci? Pak už přestanu prudit :-)
Jj, presne tak.
Název: Re:Arduino a DS18B20
Přispěvatel: Pavouk106 03. 07. 2012, 17:52:06
Hallova sonda teda dává na žlutém drátu pulzy? Lze to tedy měřit jako frekvenci? Pak už přestanu prudit :-)
Jj, presne tak.

Hustý! Díky za objasnění spousty věcí. A hodně štěstí tazateli, ať se to podaří rozhýbat ;-)
Název: Re:Arduino a DS18B20
Přispěvatel: TomasP 03. 07. 2012, 18:31:55
Pavouku, díky snažím se na to přijít sám, ale jsem z těch všech schémat spíš domatenej, než abych něco pochopil, že já nešel na nějakého elektronika, to bych to měl už dáno hotové....
Ale jinak, našel jsem ten svůj tady: http://arduino-info.wikispaces.com/MotorDrivers ten spodní, mám stejný přepínač (jen jinde) a i piny na přepnutí, jen netuším jak to zapojit.
Tipl bych to:
OUT 1  +
OUT 2  -
VCC + 12V z externího zdroje
GND  - z externího zdroje

ale co s arduinem, aby reguloval otáčky... netuším... a pak jen vyřešit to čtení otáček ze žlutého kablíku a mělo by být hotovo

Pokud však k této regulaci existuje lehčí cesta, prosím prosím.... popřípadě to už i zaplatím za funční schéma a návod pro "blbce" :-D
Název: Re:Arduino a DS18B20
Přispěvatel: Mirek Prýmek 03. 07. 2012, 23:57:46
Ale jinak, našel jsem ten svůj tady: http://arduino-info.wikispaces.com/MotorDrivers ten spodní, mám stejný přepínač (jen jinde) a i piny na přepnutí, jen netuším jak to zapojit.
Tipl bych to:
OUT 1  +
OUT 2  -
VCC + 12V z externího zdroje
GND  - z externího zdroje

Čau, s Arduinem si taky trochu hraju, ale normální motorky jsem zatím nepotřeboval, jenom krokový. Navíc elektrotechnik taky nejsem, takže prosím povolanější, aby mě kdyžtak opravili, dík.

To zapojení VCC a GND je určitě dobře. Podle toho schématu pod tím obrázkem by se mělo OUT1 zapojit na jeden drát motorku a OUT2 na druhej (je jedno, kterej je kterej). Ten čip na desce umí dva klasický motorky, takže druhej se může připojt na OUT3 a OUT4.

Pak se to ovládá pomocí těch pinů IN1, IN2, IN3, IN4 - první dva pro první motor, druhý dva pro druhej. Plus ta horní řada pinů, jak jsou tam ty jumpery, tak to je asi ENA a ENB, ne? Na obrázku to moc není vidět.

H-můstek funguje tak, že do motoru pustí proud jedním nebo druhým směrem podle toho, co je na vstupech (IN1, IN2). Tabulku hodnot vstupů máš v tomhle datasheetu http://www.sparkfun.com/datasheets/Robotics/L298_H_Bridge.pdf - obrázek 6 na str. 6.

Ty směr ovládat nepotřebuješ, takže ti stačí dva stavy:
IN1=L, IN2=H  -> motor jede
IN1=L, IN2=L  -> motor nejede
- rychlost motorku pak můžeš ovládat pomocí střídání těchto stavů ( viz http://arduino.cc/it/Tutorial/PWM ).

Takže polopaticky:
* jumpery tam nech tak, jak jsou na obrázku (pokud to dobře chápu, přivádí se jima trvale H na ENA a ENB)
* IN1 připojit na GND Arduina
* IN2 připojit na libovolnej PWM pin Arduina
* motorek ovládat klasicky pomocí PWM (viz ten link výš)

Pokud bys chtěl ovládat i směr, tak by se to muselo udělat jinak (PWN na ENA), ale to asi teda nebudeš potřebovat.

Se snímáním rychlosti nepomůžu, do tohohle zelí už elektrotechnikům nepolezu :)

Název: Re:Arduino a DS18B20
Přispěvatel: Mirek Prýmek 04. 07. 2012, 00:07:18
Jo a ještě bych málem zapomněl: na GND musíš připojit nejenom GND externího zdroje, ale i GND Arduina (tenhle čip nemá oddělené napájecí a logické okruhy).
Název: Re:Arduino a DS18B20
Přispěvatel: TomasP 04. 07. 2012, 01:48:10
Díky! Vše jsem zapojil dle tvých rad, jen ještě před zapnutím počkám na jednu odpověď - ten přepínač má být sepnutý nebo ne? Sepnutý = zamáčknutý...
Název: Re:Arduino a DS18B20
Přispěvatel: Mirek Prýmek 04. 07. 2012, 01:59:02
Pokud správně chápu schéma, je to vlastně vypínač napájení. Takže zkus tak nebo tak :) Při poloze zapnuto by měla svítit dioda (nejspíš ta označená "5V POWER").
Název: Re:Arduino a DS18B20
Přispěvatel: TomasP 04. 07. 2012, 07:04:09
Miro, díky! Dle tvých rad šlape... Vlastně to PWM funguje jak dioda - digitalWrite(9, HIGH) a točím naplno a LOW stojím, ale pokud tam dám něco jako 10, tak to nereaguje, dá se to nějak? Jednou mi to reagovalo a točil se pomale, ale teď se se mnou odmítá bavit...
Název: Re:Arduino a DS18B20
Přispěvatel: Petr 04. 07. 2012, 07:58:00
digitalWrite je funkce, ktera na pin posle bud 5 V nebo 0 V. Pokud bys chtel neco mezi, musis pouzit funkci analogWrite. Ale nejlepsi bude te odkazat na web Arduina - http://arduino.cc/en/Reference/AnalogWrite (http://arduino.cc/en/Reference/AnalogWrite)
Je fajn, ze se zkousis v Arduinu vrtat, ale radeji to res na foru Arduina. Uz na oficialnim webu je spousta tutorialu (i tutorial na PWM), na foru se pak uchrochtas blahem. Preci jen tohle je server o trosku necem jinem a ne vzdy se tady dohledas spravnych informaci.
Tim ale nerikam, ze nepomuzeme  ;)
Název: Re:Arduino a DS18B20
Přispěvatel: TomasP 04. 07. 2012, 09:02:50
Petře, díky za radu koukal jsem do tutoriálu od Mirka  - http://arduino.cc/it/Tutorial/PWM a proklikl jsem se sem: http://arduino.cc/en/Reference/AnalogWrite a zde jsem podle " call to analogWrite() (or a call to digitalRead() or digitalWrite() on the same pin " usoudil, že je jedno co použiji, moje chyba!

Na rootu jsem našel nějaké články o arduinu a ve fóru něco bylo, tak jsem se zeptal zde, oficiální fórum v AJ mi nedělá dobře, přeci jen je pro mne lepší polopatické vysvětlení v CZ...

Tímto děkuji všem co se snažili poradit :)
Název: Re:Arduino a DS18B20
Přispěvatel: Mirek Prýmek 04. 07. 2012, 09:04:47
Miro, díky! Dle tvých rad šlape... Vlastně to PWM funguje jak dioda - digitalWrite(9, HIGH) a točím naplno a LOW stojím, ale pokud tam dám něco jako 10, tak to nereaguje, dá se to nějak? Jednou mi to reagovalo a točil se pomale, ale teď se se mnou odmítá bavit...
Rádo se stalo :)

Ne, když použiješ digitalWrite, tak ten pin používáš jako normální digitální výstup (0/1). Jak píše Petr, pokud ho chceš použít jako PWM, musíš použít analogWrite(pin, byte)

Ještě mě teď napadla jedna věc: ten switch S1 zapíná vyrábění 5V z napětí, který napájí motorek. Takže pokud ho budeš mít zapnutej, **nesmíš** na svorku "+5" připojit 5V z Arduina, to by mohlo dělat neplechu.

A ještě jedna poznámka: pokud bys tohle řešení chtěl nasadit na víc místech, nebo by ti bylo líto Arduina, tak si můžeš to stejný zapojení vyrobit podstatně levněji než Arduino+shield. Většina součástek, co tam je, je totiž spíš pro tvoje pohodlí při pokusech. Úplně v pohodě bys to samý mohl docílit pomocí kontroleru Attiny+můstek. V tomhle případě je pokud se nepletu i můstek zbytečnej a můžeš klidně použít darlingtony. Kromě těhle dvou švábů nepotřebuješ asi žádný jiný součástky, maximálně nějakou drobnost v ceně korun.

Attiny je kolem 50Kč: http://www.gme.cz/mikroprocesory-atmel-avr-tiny/attiny25-20pu-p432-223/
Jednodušší můstek za 40: http://www.gme.cz/obvody-pro-rizeni-motoru-mustkove-budice/l293d-p399-017/
Pole darlingtonů 14: http://www.gme.cz/tranzistorova-pole/uln2002a-p380-004/

Takže se to v klidu dá zrealizovat za nějakých sedmdesát korun. Jako programátor Attiny použiješ Arduino. Attiny má dva PWM výstupy, takže jím můžeš ovládat taky dva motorky. Použít Arduino+tenhle shield je hodně overkill :)
Název: Re:Arduino a DS18B20
Přispěvatel: TomasP 04. 07. 2012, 09:28:19
JJ s tím analog mi to šlape díky za rady, nějak mi nedošlo že digital = 1 a 0 ...

Teď to je jak kdyby jsi na mě mluvil čínsky, ale určitě se na to kouknu... Tohle řešení bylo zvolený díky lehké rozšířitelnosti např o logování na SD kartu, display.... časem se nejspíše připojí i nějaké senzory kouře/ohně atd a bude sloužit nejen jako řízení odvětrávání, ale bezpečnostní systém atd.... A ten shield je tam kvůli rezervě, původně měl být regulovaný tuším 48V motor :)

Ještě mě napadla jedna věc na kterou bych se zeptal, pokud má ventilátor detekci rotace (http://www.gme.cz/dc-ventilatory-80x80-mm/ventilator-sunon-me80251v1-f99-p625-332/) dá se to v arduinu využít, nebo je lepší použít "žlutý kabel" a z něj načíst otáčky a řešit to tak?
Název: Re:Arduino a DS18B20
Přispěvatel: Mirek Prýmek 04. 07. 2012, 09:34:43
Ještě mě napadla jedna věc na kterou bych se zeptal, pokud má ventilátor detekci rotace (http://www.gme.cz/dc-ventilatory-80x80-mm/ventilator-sunon-me80251v1-f99-p625-332/) dá se to v arduinu využít, nebo je lepší použít "žlutý kabel" a z něj načíst otáčky a řešit to tak?
Tak to nevím, jak je to udělaný. Ale předpokládám, že detekce rotace bude jenom dvoustavová (točí se/netočí se) jako kontrola, že se větráček nezadřel. Pokud to tak je, tak pokud by ti tahle detekce stačila, tak se to určitě z Arduina bude vyčítat snadněji, protože to čtení otáček bude složitější (budeš muset počítat počet pulzů za vteřinu - a to nebude zas tak jednoduchý, zvlášť pokud budeš chtít, aby Arduino zároveň dělalo i jiné věci).
Název: Re:Arduino a DS18B20
Přispěvatel: Ondřej Caletka 04. 07. 2012, 10:21:08
Procy by neslo, je to obycejny vetracek. Akorat ma navic hallovu sondu jejiz druhy konec je pripojen na zem.
Každý větráček má Hallovu sondu aby se vůbec otáčel, je to totiž takový stejnosměrný motor naruby - na statoru je několik pootočených vinutí, na rotoru jen permanentní magnet. A protože v takovémto provedení naruby není snadné vyrobit mechanický komutátor, jako u klasického motorku, používá se komutátor elektronický, který přepíná proud do cívek statoru právě podle signálu z hallovy sondy.
Odborně se takovému motoru říká BLDC (http://en.wikipedia.org/wiki/Brushless_DC_electric_motor), ale technicky jde o totéž, co střídavý synchronní motor (http://en.wikipedia.org/wiki/Synchronous_motor) s permanentními magnety.

Stejný signál je pak i na třetím drátu z větráku, tuším, že jde o 4 pulzy na jednu otáčku. Pozor na to, že pulzy mají amplitudu shodnou s napájecím napětím, takže pokud větrák napájíš 12V, polezou z měřicího výstupu taky 12V impulzy a to může odpálit CPU na arduinu (nevím, jestli nejsou vstupy nějak chráněny, ale moc bych na to nespoléhal) Chce to tedy omezit (třeba sériovým odporem a paralelní zenerovou diodou) výstupní napětí na 5V.

Já se akorát ptám, jestli lze střídou (PWM) regulovat otáčky i u větráku, který má jen 3 piny??? Má -, + a senzor otáček. I do takového větráku lze nahnat PWM? - by bylo - (GND) a na + by se hodil výstup z PWM? Lze to bez poškození větráku (i dlouhodobým provozem)?
PWM je jeden ze způsobů regulace napětí, používá se mimo jiné v každém spínaném zdroji. Takže ano, není důvod, proč by to nešlo. Jen bude potřeba postavit nějaký booster (třeba tento (http://www.uchobby.com/index.php/2007/09/23/arduino-temperature-controlled-pc-fan/)), protože z CPU poleze 0 a 5 V, kdežto do větráku je potřeba pouštět 0 a 12 V.
Název: Re:Arduino a DS18B20
Přispěvatel: Mirek Prýmek 04. 07. 2012, 10:35:15
Jen bude potřeba postavit nějaký booster (třeba tento (http://www.uchobby.com/index.php/2007/09/23/arduino-temperature-controlled-pc-fan/)), protože z CPU poleze 0 a 5 V, kdežto do větráku je potřeba pouštět 0 a 12 V.

Hezky zapojeni, diky za odkaz, Ondro. Jenom by me zajimala jedna vec: jaka frekvence vlastne leze z toho PWM? (Desitky Hz nebo daleko vic?) Je mozny pouzit jakejkoliv optoclen, nebo by to ty pomalejsi nemusely stihat?
Název: Re:Arduino a DS18B20
Přispěvatel: Petr 04. 07. 2012, 11:13:47
PWM u Arduina ma priblizne 490 Hz (opet odkazu http://arduino.cc/en/Reference/AnalogWrite (http://arduino.cc/en/Reference/AnalogWrite)), coz by mely stihat snad vsechny.
Název: Re:Arduino a DS18B20
Přispěvatel: Mirek Prýmek 04. 07. 2012, 11:17:03
PWM u Arduina ma priblizne 490 Hz (opet odkazu http://arduino.cc/en/Reference/AnalogWrite (http://arduino.cc/en/Reference/AnalogWrite)), coz by mely stihat snad vsechny.
Aha, to jsem prehlidl, diky. Ona totiz u Atmegy muze byt frekvence ruzna (az desitky kHz), takze mi slo o to, jak je to default u Arduina.
Název: Re:Arduino a DS18B20
Přispěvatel: kmarty 04. 07. 2012, 17:12:32
Odborně se takovému motoru říká BLDC (http://en.wikipedia.org/wiki/Brushless_DC_electric_motor), ale technicky jde o totéž, co střídavý synchronní motor (http://en.wikipedia.org/wiki/Synchronous_motor) s permanentními magnety.
Vim, ale nechtel jsem do toho vnaset dalsi, pro tento ucel zbytecnou, komplikaci.

Každý větráček má Hallovu sondu aby se vůbec otáčel
Kazdy nemusi. Otacky/prepinani civek si muze kontrolovat i jen zpetnou magnetickou indukci z tech civek (ale pak je myslim nutne aby mel tri civky, resp pocet polu aby byl nasobkem tri - kvuli prvotnimu roztoceni spravnym smerem).
Název: Re:Arduino a DS18B20
Přispěvatel: kmarty 04. 07. 2012, 17:13:32
Aha, ono to mas dokonce zmineny v tom BLDC odkazu ("sensorless controllers").
Název: Re:Arduino a DS18B20
Přispěvatel: TomasP 08. 07. 2012, 22:25:26
Pánové, ještě mám jeden dotaz na ventilátoru co jsem vyndal z PC nějaký Xinrulian vše šlape OK, ale na Sunonu (http://www.gme.cz/dc-ventilatory-80x80-mm/ventilator-sunon-me80251v1-g99-p625-211/) při analogWrite nižším jak 255 se ventilátor ani neroztočí... Přiznám se, že na pokusy nepoužívám 12V, ale jen 9V trafo, může to být tím?
Název: Re:Arduino a DS18B20
Přispěvatel: TomasP 08. 07. 2012, 22:46:31
Nejde mi edit (asi skrz registraci) tak to dám jako nový post - nevím proč, ale přestalo to fungovat i na tom druhém ventilátoru! Při analogWrite(1, 255) se oba točí naplno, při nižším tak Sunon píská a ten druhý NIC! Přičemž pokud se oba točí svítí diody L2 a L3 a pokud dám nižší, tak sunon píská a svítí pouze L2 a L3 nic...
Název: Re:Arduino a DS18B20
Přispěvatel: Mara 05. 01. 2016, 15:00:53
Zdar klucí a omlouvám se za vytažení teto mrtvoly ;)
Umi v tom někdo?
Na první stránce tu dal TomasP  odkaz.
http://pastebin.com/h0e2tMsj

Tam to načita adresu čidel.

 for( i = 0; i < 8; i++) {
    Serial.write(' ');
    Serial.print(addr, HEX);
  }

Nechcí ji načitat s čidla ale zadavat natvrdo.
Vi někdo jak na to?

Něco podobného je tady
http://henrysbench.capnfatz.com/henrys-bench/ds18b20-arduino-user-manual-introduction-and-contents/ds18b20-arduino-users-manual-part-3-reading-a-single-temperature/ 

DeviceAddress tempSensor = {0x28, 0xFF, 0x2B, 0x45, 0x4C, 0x04, 0x00, 0x10};
Ale s knihovnou DallasTemperature.h je to strašně shnile: