MiK
Vytvořené odpovědi
-
AutorPříspěvky
-
posjirka
Účastníkasi bych šel cestou mít 4 drátové připojení přímo v měřícím přístroji + 1 kanál si vyčlenit na bezdrátové čidlo s možností jej přiřadit ke kanálu č.1 (např.).
Když máš LCD 2×16 zn tak by to mohlo mít přibližně tyto stavy:0123456789012345
1:1000C 2:1000C
3:1000C 4:1000CV:1000C 2:1000C
3:1000C 4:1000CV:ERROR 2:ERROR
3:ERROR 4:ERRORObávám se, že při použití 4 bezdrátových čidel budeš mít rozdílené výsledky (napětí baterie) nebo vůbec žádné (jedno čidlo zaruší druhé).
Máš na výber bud bluetooth (seriová linka), NRF24l01 (SPI na 2,4Ghz), 433MHz (pouze vysílač/přijímač seriové linky)- WIFI ti nabízet nebudu, protože předpokládám, že né vždy budeš mít k dispozici WIFI sí´t, a k ní hesla.
433MHz není na přesné logované měření, občas se ti zaruší a tím paralela více čidel není ideální. Na meteostanici nevadí, když minutu nedostane správnou teplotu, tady by ti to asi vadilo.
Bluetooth je super, seriová linka jen ten dosah dost hapruje. 1 zařízení není problém, ale víc jsem nikdy nezkoušel.
nrF24L01 je bluetooth v jiném kabáťě s vlastní modulací.Asi bych ti doporučil 433MHz. To není tak složité, dá se ověřit správnost dat a vše je levné a dostupné. Dosah je závislý na napájení vysílače.
posjirka
Účastníkv podstatě ne, protože neovládáš servo. Přesněji říkáš mu na jaký uhel má přejít, nikoliv jak rychle. To si řídí servo samo. Má vlastně na rotoru potenciometr, který udává aktuální uhel , ty pošleš požadovaný uhel a jeho vlastní elektronika si tyto srovnává svuj uhel s nastaveným….
Takže ne neovlivníš, leda bys mi postupně měnil uhel. Tedy né dát mu chci 90st. ale chci 85, 88, 89, 90, …s nějákým intervalem třeba 500ms aby měl téměř stopku. Opakovací frekvence signálu je 50 Hz. Doba přejetí serva je závisla na použitém modelu. U profi regulačních servech třeba na aramtury se udává doba přejetí 0-180st. třeba 240s. U tebou použitého serva bys to musel změřit a myslím, že bude závislá na zátěži. Asi ti nezbude nic jiného než experiment ….
Jarda_1
Účastníkano, ceny jsou super a výběr velký, celý pásek lze spínat bez problémů jedním tranzistorem
posjirka
Účastníkkoukám, že hexfety výrazně zlevnili. Pamatuju, že stáli přes 200 kč /ks.
Proto jsem se jim vyhýbal. Za tu cenu je to super a plný souhlas, včetně zapojení.Jarda_1
ÚčastníkZapojení
(oba odpory lze vynechat)Attachments:
Jarda_1
ÚčastníkTo: posjirka
já bych tento tranzistor nepoužil a když tak s předřadným tranzistorem, cena bude menší než uvedený chladič který nebude potřeba a ušetří se i místo na desce.
Určitě bych takové experimenty nedoporučoval začátečníkům, tranzistor nebude plně otevřen, bude se zbytečně hřát.
A nevidím žádný důvod proč nevěnovat pozornost správnému výběru tranzistoru (označení : Logic-Level Gate Drive). Z dostupných s velkou rezervou např: IRL3803, v GME za 40,-Kčposjirka
Účastníka po jake době zežloutne/zčerná?n Můžeš sem dát schéma a popis funkcí.
Možná by to pomohlo v začátcích …vnouzirozbijsklo
ÚčastníkJá osobně to mám tak, že arduinem přes PWM řídím dva tranzistory, na něj jsou napojený 12V zdroj a led pásky celkem asi 2x 5 metrů. Doporučuji vysoce svítivé led pásky s čipy 5630.
Nezapomenout je dostatečně chladit a jestli máte na akvátku krycí skla, určite bych nebral pásek zalitý do silikonu. Teplotou zežloutně až zčerná.posjirka
ÚčastníkSouhlas, nicméně 60W na 12V = 5A.
Při rozdělení na 2 sekce po 2,5A bude např.IRF530 využita na 15%.
Jeho Ugs je 20V i přes to při napětí 5V má max. proud 20A.
Jeho vnitřní odpor rozhodně nebude 1 Ohm ale i kdyby byly aby to výkonová ztráta 2,5W, na což stačí malý chladič ve tvaru U. Při chladiči 20K/W a okolí teplotě 30 st.C by mělo mít pouzdro teplotu max. 80 st C. To je k jeho max. 150 st.C hodně vzdálené :).
Stačí při návrhu PCB počítat s malým chladičem, rozdělit to na 2-3 sekce v tu chvíli jde o minimální proud a tudíž i výkonovou ztrátu.Tahle potvůrka malá má 13,5K/W
http://www.gme.cz/v4330n-p620-008max. teplota pouzdra při použití 2 sekcí (2 chladiče, 2 tranzistory) bude max. teplota pouzdra cca 63 st.C.
A to je to drobek 3x2x1 cm …Jarda_1
Účastníkale pozor na výběr Mosfetu, obvzláště při zapojení dle schématu z předchozího příspěvku, Mosfet potřebuje k plnému otevření a k tomu nízkému odporu nějaké napětí na Gate, toto napětí lze vyčíst z datasheetu příslušného tranzistoru, a většinou hodnoty bývájí udávány při napětí na Gate kolem 10V. Z výstupu PWM u Arduina bude maximálně 5V a dle uvedeného schématu ho navíc snížíte napěťovým děličem, takže důsledně vybrat Mosfet nebo zapojení upravit.
posjirka
Účastníkjak říká kolega, MaR jsou nedostudovaní elektrikáři. Nezvládli víc než 24V 🙂
měl jsem na mysli toto např.:
http://2.bp.blogspot.com/-6SwMWGU5bNg/T1KLpEr6d_I/AAAAAAAAAUE/Jq26WyCZavw/s1600/pwm-mosfet.pngProstě výkonový tranzistor spíná LED pásek a pomocí PWM (pulzně šířková modulace) ti může regulovat výkon od 0 do 100% po 255 krocích. Linearita není ideální ale mnohem lepší než podobné řízení LED žárovek na 230V.
Není to složité.
Tady je základní tutorial jak to funguje:
https://www.arduino.cc/en/Tutorial/FadeVlastně ti periodicky bude pomalu rozsvěcet a zase zhasínat LED diodu.
Když dáš delay na třeba 100 ms bude to od 0-100% trvat 25500ms = 25s.
Tam už uvidíš jak to vypadý v jednotlivých krocích.MOSFET nebo obecně FET tranzistor se používá protože má nízký odpor v sepnutém stavu a tak nepotřebuje složité chlazení a nedochází ke zbytečným ztrátám.
Jen pozor na statickou elektřinu. Ta jej může zničit. Takže nepájet trafopájkou ale mikropájkou, nebo dát do tišťáku patici/svorkovnici a do ní dát nožičky tranzistoru.Breaker
ÚčastníkDobrý den, děkuji za odpověď. Jsem elektrikář ale se slaboproudem nemám moc velké zkušenosti. S mosfet tranzistory jsem nikdy nepracoval. Co se týče arduina tak jsem absolutní začátečník, zvládnu čtení analogové hodnoty digitální spínání pinů, výppis údajů na display a další drobnosti. V arduinu vidím velký potenciál a tak bych ho chtěl využít pro to stmívání akvária jen si nevím rady jak přesně na to. Jak přesně by to fungovalo s tím mosfetem ? Pokud by bylo možné plynule regulovat jak celého osvětlení zároveň (60w) bylo by to super. Prosím o rozvedení myšlenky pro amatéra. Děkuji
Simakai
ÚčastníkAhoj
objednal jsem si funduino mega plus hromadu komponent a už se těším, až to budu dávat dohromady. Některé komponenty mi půjdou bůhví odkud, protože jsem objednával z http://www.dx.com což je nějaký zahraniční obchod.
Nastudoval jsem si příslušnou problematiku, tak snad mě nic nezaskočí.
Pokud bych chtěl projekt do budoucna rozšířit, určitě by se mi hodilo vyřešit bezdrátový přenos z čidel, protože občas by se hodilo měřit povrchovou teplotu na kamnech a uvnitř kamen, které mohou být rozlezlé přes několik místností (i do patra) a pak je problematické použít od teplotních čidel kabely až k duinu. Nevíte o nějakém řešeném případu, že by k jednomu duinu bylo připojeno bezdrátově několik čidel? Samotné čidlo by sestávalo ze senzoru, driveru, vysílače a baterie. A tedy na duinu by byl buď 1 přijímač nebo několik přijímačů (nevím, jak se toto řeší).
posjirka
Účastníkz mého pohledu je mnohem efektivnější a hlavně BEZPEČNĚJŠÍ použít zdroj 12V, čímž oddělíme tu nebezpečnou část pro lajka od té bezpežné (stačí zdroj pro LED pásky), ten by napájel jak arduino tak LED. LED pásky bych spínal přes MOSFET tranzistor a máte 255 stupňové spínán, bez nebezpečí dotyku s 230V. Uvědomte si, že jste blízsko akvária a tam není prostor na hrdinství. Radši ať shoří zdroj, než aby to někoho zabilo.
Není to finančně náročné a přitom relativně BEZPEČNÉ řešení.
Když to shrnu finančně.
zdroj 50VA cca 400kč, arduino 250Kč, univers.deska + mosfet cca 100 Kč, Ledpásek 200 Kč (dá se koupit i 5m za 150 Kč ale je to o štěstí). K tomu pár drátků, odpor, … celkem cca 950 kč.Pokud nejste elektrikář s pár lety praxe, NEPOUŠTĚJTE SE DO PRÁCE S NEBEZPEČNÝM ELEKTRICKÝM PROUDEM.
posjirka
Účastník4 ten driver pro termočlánky využívá SPI rozhraní.
Otázka zní jak přpeínat termočlánky.
Kdyby s epoužilo 4x tento driver, tak je to vcelku finanční zátěž ale elekgantní přepínání měření.
Při přepínání pomocí relé, nebo cmos obvodů je to finanční méně náročné ale rozhodně to bude přesnější. Doba na zotavení po přepnutí, atd…
Na tom samé SPI portu bude i čteška SD karet.
Nevím ale tuší, že na spi rozhraní je možno navěsit max. 4 zařízení. Je třeba se podívat na možnosti zda exituje „virtuální SPI“.
Lepší by bylo I2C rozhraní pro termočlánky.
LCD 2×16 je v pohodě.
počty pinů:
LCD 6 pinů
SD 4 piny
termočlánky 4 piny (přepínání)
tlačítka 2 piny
LED diody 2 piny (šlo by součit s tlačítky).
RTC modul (I2c) 2 piny – neví jestli bude potřeba
Celkem mi to vychází na 18-20 pinů.Pamě´t na tento program by mohla stačit 23kb.
Takže podle I/O a paměti by ti mohlo stačit Arduino UNO.
Když si nejsi jistý kup Arduino MEGA, tam je všeho dost.
Na Ebay stojí cca 350 kč, u nás 500-1000 kč,
http://aukro.cz/funduino-mega-2560-r3-kabel-avr-arduino-i6015916346.html
k tomu rovnou koupit universální PCB:
http://aukro.cz/prototyp-shield-dps-arduino-mega2560-plosny-spoj-i6020062810.html
Na něj dáš jak LCD tak tlačítka, led a nejspíš i Drivery.
256kb paměti bude aboslutně dostačující a nelimitující.
Kompatk ti už předurčuje i mechanické řešneí , můžeš to napájet čím chceš 7-12V (7-9V doporučeno) nebo přes USB. Přes něj to inaprogrmauješ amůžeš postupně oživovat.Jinak termočlánek typu „k“ je vlastně označení charakteristiky anemyslím si, že by se měnil podle výrobců.
posjirka
Účastníknení zač …
posjirka
Účastníko tomto mini arduinu vím a už jsem o něm několikrát uvažoval.
Na internetu je docela dost návodů na vlastní stavbu a tak předpokldám, že funguje.
Jestli se na to v nejbližší době nkdy dostanu zkusím si jej naprogramovat a vyzkoušet.
Mám te´d spíš problém s výrobou PCB ….klachma
ÚčastníkSuper, s tímhle tranzistorem to funguje. Mockrát díky vám oběma!
Breaker
ÚčastníkDobrý den, mám v plánu osvětlení akvária led pásky a chtěl bych je řídin pomocí arduina – rozednívání , stmívání. Problem je v tom že jsem uplný začátečník a nevím si vůbec rady jak začít. Na osvětlení akvaria použiju asi 60w, ale takový příkon asi pwm výstup z arduina nezvládne. Proto bych chtěl pásek rozdělit na cca 5 sekcí a jen jednu z nich ovládat přes pwm. Ostatní by se připojovaly pomocí relátek.
Potřebuji poradit ohledně typu arduina, které pro mě bude nejvhodnější, dále jaký vybrat obvod realného času a lcd display. Má představa je taková že bych mohl pomocí displaye a tlačítek nastavovat který den se má v kolik hodin rozsvěcet a zhasínat, abych v případě potřeby nemusel upravovat samotný program.
Uvítám jakoukoliv radu.jan123
ÚčastníkOmlouvám se příloha byla ve špatném formátu.
Attachments:
posjirka
Účastníkchybami se člověk učí … 🙂
posjirka
Účastníknejde mi otevřít příloha ….
pepa48
ÚčastníkDíky vám moc 🙂 posjirka měl pravdu chyba v projektu byla u mě (v sestavení obvodu) .. Takže už to jede 🙂 ..
posjirka
Účastníkjaký je rozdíl mezi byte a char ? 🙂
obojí je 8-bitová proměnná, jen se jinak zobrazuje, resp. je to jiný pohled na stejnou kombinaci 8 bitů.
Nevím na co to chceš, ale 433MHz je opravdu jen pro přenos jednoduchého kodu. Těch rušení v okolí je spousta (meteostanice, centrální ovl. auta, bezdrátové zvonky ,…).
Navíc je to jednosměrná komunikace.
Nepíšeš ovšem k čemu to chceš, tak je těžké poradit……posjirka
Účastníknemáš zač. Tu hrubou stupnici jsem tam navrhoval od začátku proto, že nikdy neudržíš ruku ve stejné vzdálenosti od čidla. To čidlo taky nikdy nedá 2x po sobě stejný výsledek už jen proto, že se musí počítat z dozvukem předcházejícího signálu , nerovnosti plochy, atd atd.
Ani průměr několika hodnot ti nepomůže a budeš mít nejen velký rozptyl, ale navíc tě to bude stát spoustu času.
Zkoušel jsem zkrátit čas smyčky na 500ms a nefunguje to špatně, navíc je to celkem rychlý.Rád jsem pomohl,…
Nacelnik
ÚčastníkAhoj, několikrát jsem četl tvůj kód a kombinace map a constrain je to pravé – vždycky jsem to řešil nějakým matematickým vzorcem, tyhle fce to udělají jednodušeji a najednou mi to dává smysl….
děkuji ti moc, touhle ukázkou jsi mi ušetřil několik dní života.
Pěkný den a večer.
Davidposjirka
Účastníkhotovo, odzkoušeno, vyřešeno. Až to vyzkoušíš v realitě zjitíš pro je zbytečné a krajně nevhodné hrát si s lineární stupnicí. Po odzkoušení pak celou serivou komunikaci zakomentuj ať ti zbytečně nezkouší odesílat data. zdržuje to procesor a může se i resetnout.
// LED ovládaná rukou v.2 // by JP 2016 // přiblížením ruky se reguluje intzenzita jasu LED od 0 do 100% jasu. // zatím ve 12 krocích 0 - 240 PWM // jemnější nastavení už téměř nejde dosáhnout. // nová intenzita se nastavuje přiblížením ruky na dobu 2s // V.2 - použito funkce map() pro nastavení citlivosti // knihovna EEPROM #include <EEPROM.h> int echoPin = 2; // přijímač int trigPin = 3; // vysílač long distance = 0; // čas odezvy / vzdálenost int LED = 10; // pin s LED diodou s PWM řízením long lastDistance = 0; // hodnota posledního měření int pwm = 0; // hodnota PWM long max_dist = 1500; // maximalni vzdalenost v ms long min_dist = 100; // minimalni vzdalenost v ms long kroku = 6; // pocet stupnu intenzit, kdy 0 = vypni, max = nereaguj takze pocet stupnu je koku-1 byte adresa = 1022; // adresa záznamu v EEPROM void setup() { Serial.begin(9600); pinMode(echoPin, INPUT); pinMode(trigPin, OUTPUT); pinMode(LED, OUTPUT); pwm = EEPROM.read(adresa); // načtení poslední hodnoty z EEPROM analogWrite(LED, pwm); // zápis PWM } void loop() { // vysílám impulz digitalWrite(trigPin, LOW); delayMicroseconds(2); digitalWrite(trigPin, HIGH); delayMicroseconds(10); digitalWrite(trigPin, LOW); // měřím délku odezvy distance = pulseIn(echoPin, HIGH); Serial.print(distance); distance = map(distance, min_dist, max_dist, 0, kroku); // prepocet na stupne intenzity svitu LED distance = constrain(distance, 0, kroku); // omezení přepočtu na nastevný rozsah Serial.print("/"); Serial.print(distance); Serial.print("/"); Serial.println(kroku); if (lastDistance == distance){ if (distance < kroku){ pwm = distance * (255/(kroku-1)); // přepočet na PWM analogWrite(LED, pwm); // zápis PWM // změna oproti záznamu v EEPROM if (pwm != int(EEPROM.read(adresa))) { EEPROM.write(adresa, pwm); // záznam do EEPROM Serial.print("Zapis do EEPROM ..."); } } } Serial.print("Aktualni PWM ..."); Serial.println(pwm); lastDistance = distance; // předání záznamu posledního měření delay(1000); }
posjirka
Účastník…nechám to tu chvilku odležet, nemám moc dobrý den a vznikla by zbytečná hádka bez řešení….. nech to být, hol jsem starý morous….
posjirka
Účastníknapíšu to hodně mírně : jaké máš zkušenosti s touto oblastí ???
Mám na mysli aplikace senzorů v reálném světě.Nacelnik
ÚčastníkTu epromku bych použil pouze v při prvním zápisu „nastavení“, a pak ppři změně. tu změnu počítám tak 1 -2x za týden. Takže 100000/2 je mraky týdnů.
ad1) to se dá vyřešit matematicky ( např každé 2 cm = 1 PWM) + přidat argument – více jak 51cm – ignoruj
ad3) Jak to myslíš? To jsem nepochopil…Můžeš mi dát konkrétní příklad?D.
-
AutorPříspěvky