lieg
Vytvořené odpovědi
-
AutorPříspěvky
-
vlada@liskovic.cz
Účastníkje mozne, ze problem je v tom, ze na interupt vstupech nemam debounce kondenzator?
Zbyšek Voda
ÚčastníkDobrý den, tak ještě zkuste nasdílet váš kód 🙂
peter57
ÚčastníkTak pánové, moc děkuji za pomoc nakonec jsem tam dal tu diodu. Funguje to bez problému.
posjirka
Účastníkno já si myslim, že je to způsobeno použitím. měnit referenci a přitom mít zapojené na jiném analog.vstupu vyšší hodnotu je už z principu špatně. zkus zajet joystickem na s´tranu k zemi a zkus to . Případně dej Joystick na stejný potenciál jako je refernční napětí (nepoužívej interní) ….
vlada@liskovic.cz
Účastníktak jsem vyzkousel skoro vsechny priklady, jeden z nich je vcelku funkcni, dost se to zlepsilo, ale porad to tak polovinu kroku ztraci. Co s tim? Jinou desku? Jiny displej s mensi obsluznou knihovnou? Docela me to prekvapilo, protoze jinak mi arduino slouzilo fakt spokojene i na daleko slozitejsi veci 🙂
Leo
ÚčastníkUž funguje 🙂
Dik všem.peter57
Účastníkjo takhle to bylo myšleno… já furt nechápal tu diodu v tom děliči…. ááha to by taky šlo a DPS by se nemuselo předělávat jen by se vyhodil ten odpor a hodila se tam ta dioda… beru to na vědomí… a moc děkuji… ale furt mě štve to, že to nejde udělat tak jak to mám napsané.. prostě nevím proč to nejde 🙁
ještě mě došlo že se asi zapoměl dát kondenzátor na AREF a někde jsem myslím četl že i když se používá vnitřní reference že by tam měl být…
posjirka
Účastníkpánové ,proč to řešíte tak složitě ….
vezměte si, že budete mít konstantní zdroj 0,7V (dioda).
Když necháme refenreční napětí = napájecí napětí tak při 5V to bude třeba hodnota 200, když klesne napětí baterie na 3,5V tak to bude hodnota 400 (té konstaktny 0,7V) …peter57
ÚčastníkTaky jsem se někde dočetl o tomto problému dal jsem analogRead() asi 6x pod sebe, skoušel jsem to i s delay() nepomohlo to… a ten převod sám o sobě funguje naprosto super, dokuď neměním reference. Když tam jednou nastavím analogReference(INTERNAL); tak to funguje super.. když si na zdroji dám 4,2V tak LED krásně zeleně září. Postupně ubírám napětí tak to žloutne až červená a u 3,4V začne LED červeně blikat přesně tak jak to po ní chci.
ale v tom momentu kdy se v kodu začne přehozavot analogReference(INTERNAL); a analogReference(DEFAULT); je furt ten DEFAULT zkoušel jsem to napsat i taktodo{ analogReference(INTERNAL); batt = analogRead(A6); }while(batt < 100);
a tím se mi program zasekne…
do batt se mělo uložit číslo od 0-1023 a v referenci na 1,1V pro napětí od 3,4-4,2 by hodnoty měli být 790 – 1000 +-MiK
ÚčastníkJá si myslím, že problém nebude v referenci, ale v příliš velkých odporech v děliči na tom vstupu A6.
Problém s příkazem analogRead() je v tom, že přepne multiplexer na požadovaný vstup a okamžitě načte hodnotu napětí. Jenže kvůli vnitřní kapacitě vstupu a velkému sériovému odporu se to měřené napětí nestačí ještě ustálit.
Už jsem jednou podobný problém řešil a stačilo dát to měření napětí na A6 2x za sebou s nějakou krátkou pauzou:
batt = analogRead(A6);
delay(50);
batt = analogRead(A6);Třeba tady o tom taky něco píšou (a tu pauzu mezi dvěma stejnými měřeními tam ani nemají):
https://www.quora.com/Why-is-a-little-delay-needed-after-analogRead-in-ArduinoDruhým řešením by bylo snížení (třeba 10x) hodnoty odporů v tom děliči.
Strojek
Účastníkdaria: diky … to je ono , pak je tam jeste jak se ti kalibruje . 🙂
darira
ÚčastníkJsem si říkal na co jiného než na akvárium se PH měření dá ještě použít.
Kamarád mě posílal tento odkaz, je tam něco o PH modulu i trimrech.
https://forum.arduino.cc/index.php?topic=336012.msg2643184#msg2643184
„Blue potentiometer close to BNC: pH offset.
Blue potentiometer close to pins: limit adjustment.“
Ať ti to měří :), také mám tento modul pro měření PH v akváriu.Kice
ÚčastníkMoje boli z TME. Vedľa seba na hliníkovom chladiči. Podľa mňa to nie je säčiastka na nákup z číny.
Aleš
ÚčastníkJá jsem jich testoval 6ks z ebay, zapojené najednou do Arduina. V mikrotenovém sáčku ponořené do vody. Čidla ukazovala od 20 do 22°C. Mám ještě z dřívější doby jedno čidlo od Dallasu, kupované u Farnella, a to používám jako referenční. I když také nevím, jestli ukazuje správnou teplotu 😉
Strojek
Účastníkph metr budu pouzivat v akvariu a podle toho spinat el. magneticky ventil pro Co2
darira
ÚčastníkMůžu se zeptat, na jakou aplikaci budeš PH sondu používat.
Vojtěch Vosáhlo
ÚčastníkPředpokládal bych že si s trimry můžete s trimry „pohrát“ a zjistit to. Pokud jste dostal nějaký roztok na kalibraci, můžete to udělat podle něj. Lepší možnst by asi byla zjistit označení IC a hodit ho sem. Nejspíš se vše bude dát najít v datasheetu.
Strojek
Účastníkdekuji, tohle pomohlo … a jeste jestli nekdo nevi ty trimry , kterym se co kalibruje ..
peter57
ÚčastníkMoc děkuji za odpověď,
jen nechápu úplně k čemu mi tam bude… ta dioda se otevře a bude na ní cca 0,7V a je jedno kdy to budu měřit ale vždy na ní bude toto napětí a ten odpor 400k na sobě bude mít zbytek.Muj problém je software… z nějakého důvodu vadí AD převodu když furt měním reference. Tak vlastně měla znít moje otázka… jak často popřípadě s jakýma podmínkami mohu měnit reference analogového napětí z napájecí a interní(1,1V) a z5.
jde mi číst stav bateri tak jak to mám… funguje to super. ale musím pouřít vnitří referenci na 1.1V
analogReference(INTERNAL);
a když v kodu uplně v jiné metodě, která se pustí třeba 100ms po převodu mám kvuli měření joy
analogReference(DEFAULT);
tak přestane fungovat převod té baterie 🙁
další HW řešení mě napadlo takové že bych nastavil referenci jen jednou a to na AREF kam bych přes stabilizátor přivedl 3.3V, který bych musel přivést i na joy. tím by joy fungoval a nasavil bych dělič třeba 1/2 takže napětí baterie by bylo 1,75-2,1 což se do 3.3 vejde ALE to znamená předělat DPS… furt si myslím že by to šlo nějak udělat kodem…
ArduXPP
ÚčastníkStačí hledat, http://www.ebay.com/itm/Liquid-PH-Value-Detection-Sensor-Module-Monitoring-Control-/311449281847 dole obrázek.
posjirka
Účastníkjak jsem psal, místo odporu 100k použij nějáký pevný stabilizátor. …. pro začátek třeba tu mojí zatracovanou diodu … obyč. dioda 1b4001 katodou na zem, anodou na analogový pin.
Kice
ÚčastníkLuke_CZ dík za reakciu.
Kritizovaný čas konverzie nie je pre plánované použitie podstatný. Tiež zbernica nebude dlhšia ako cca 20m. Snáď sa s ňou vysporiadam a nebude treba riešiť symetrickú RS485. Takže stále uvažujem použiť DS18b20.Ku kritikom presnosti by som chcel poznamenať, že treba rozlišovať absolútnu presnosť a rozlišovaciu schopnosť čidla. S klonmi nemám skúsenosť, ale aj originál má presnosť +/-0,5 °C a rozlišovačka je 0,1°C. Testoval som 3 kusy DS18B20 tepelne zviazané a nameraná hodnota pri izbovej teplote sa nelíšila o viac ako 0,1°C.
peter57
Účastníktakhle to je zapojene… omlouvám se je to v malování
Attachments:
peter57
ÚčastníkProcesor je napájen přímo z baterie. Na ADC vstupu mám dělič který mi v závislosti na stavu baterie srazí napětí na cca 0,7-1,05 V proto používám tu referenci 1,1V.
jak píšeš, REF napětí se mi mění v závisloti na stavu baterie což je pro mě dobře kvuli tomu posuvníku…jedná se o joy. funkci měření mi neovlivňuje. jen mi jde o program. Nějak přestává fungovat, když furt měním reference. když čtu napští na joy (což je dělič) potřebuju referenci v závisloti na napájení… aby byla 0 furt v 0 a aby byl celý rozsah použit. pro měření Baterie potřebuju referenci 1,1 V abych určil stav té baterie.
Attachments:
posjirka
Účastníkneuvádíš jak je to zapojený …. máš tam stabilizator pro napájení mikroprocesoru, nebo přímo z baterie ?
Pokud ze satbilizátoru tak bych baterii dal přes odporový dělič a měřil výsledke. Doporučuju vyopočítat pro napětí tak 2/3 reference. Tady se počítá s tím, že s emění napětí baterie a refernční napětí zůstává stejné.
Druhá varinata je , že napájíš mikroprocesor přímo z baterie a tím pádem se ti mění i refernční napětí. v tom případě na baterii použij nějáký stabilizátor pro přesné refernční napětí (jen ne diodu ta je dost teplotně závislá), v nouzovém případě i klasický stabilizátor 7803 pro 3V. Pak budeš mít obrácenou logiku : snížení hodnoty analogvého pinu indikuje snížení napětí bateri / referenční napětí …Posuvník jako termín nechápu, předpokládám, že je to nějáký potenciometr připojený mezi zem a refenreční napětí, pak ti neovlivńuje funkci měření …
posjirka
Účastníkproto říkám, víc než 9 bitu je zbytečný luxus …
Ladis_Kv
ÚčastníkSuper dík za aktivitu a nápady.Aspoň je vidět že to tu někdo čte.
Jinak tipek si s tím dost vyhrál.Ale jsou to staré typy rolet a dost velké „heblo k tomu“.
I když ze začátku mě to taky napadlo.:-D
Ale chci to na novější žaluzie a ještě aby nebylo nic vidět-jen kabely…bohužel.Ale půjdou vidět jen kousek.
Na fotce je vidět motorek s převodovkou a druhá fotka je žaluzie zepředu (v černém rámečku bude motorek).
Ale vše bude ještě chvíli trvat.
Jinak už jsem to zkoušel a motorek to utáhne.Dále budu pokračovat(pokud mi to půjde)
na ovládání-buď dálkovým ovladačem a nebo bluetooth.
Tak pokud chcete,tak raďte.Budu to potřebovat.Aleš
Účastníkje hezké když ty čínské klony ukazují teplotu na 0,1°C, když mají toleranci větší než +-1°C 🙂
posjirka
Účastníkono je dobré říct i to „b“.
750ms prodlevy je pouze u 2 drátového/parazitního zapojení.
U 3 drátového již není. Používání 12-bitového rozlišení je opět dle mého názoru zbytečnost. v základu je 9 bitů (tedy po 0,5stC) a vše ostatní se řeší tak, že se udělá víc měření a průměruje se. To je taky jeden z důvodu té prodlevy.
Délka 200m je usměvná, nicméně okolo 50m ve stíněném kabelu (např.stíněné FTP) už není výrazný problém a jde jen o to držet si pravidlo 1 zemnícího bodu.Zbyšek Voda
ÚčastníkNení zač. Pokud se vám teď nechce prokousávat teorií, můžete použít kód z té sekce Interrupt Example (the Encoder interrupts the processor). Uses both Interrupt pins. Proměnná encoder0Pos udává polohu enkodéru – ve vašem případě plní funkci vaší proměnné counter.
-
AutorPříspěvky