avolites
Vytvořené odpovědi
-
AutorPříspěvky
-
posjirka
Účastníkgratuluju a myslím to vážně. našel jsi chybu a chceš jí řešit, resp. zjistil jsi že ti to nefunguje jak chceš. Teˇ%d přichází ta nudnější část, která je ovšem nejpodstatnější.
Doporučuju si stáhnout toto:
http://www.stahuj.centrum.cz/podnikani_a_domacnost/ostatni/diagram-designer/
Je to program pro tvorbu diagramů. Já zkusím do toho předělat to co máš namyšlené a musíme to odladit.
Pak jen uděláme progrma podle toho diagramu.
Je to nutné pro odchytání funcke programu a jeho případných chyb. Dej mi chvliku času …johnyhol
ÚčastníkVýborně, díky moc!To už je veselejší 🙂 Ještě bych ale potřeboval poradit.
Tady je další fáze:#define davkovaniPelet 6 //dávkování pelet – šnek
#define spirala 5 //zapalovací spirála
#define ventilator 3 //ventilátor
#define alarm 10 //signalizace poruchy
#define prostorovyTermostat 12 //prostorový termostat
#define kotlovyTermostat 2 //kotlový termostat
#define fotobunka 8 //fotobuňka pro kontrolu plamenevoid setup() {
pinMode(davkovaniPelet, OUTPUT);
pinMode(spirala, OUTPUT);
pinMode(ventilator, OUTPUT);
pinMode(alarm, OUTPUT);
pinMode(prostorovyTermostat, INPUT);
pinMode(kotlovyTermostat, INPUT);
}void loop() {
if (digitalRead(prostorovyTermostat) == HIGH && digitalRead(kotlovyTermostat) == HIGH){
digitalWrite(davkovaniPelet, HIGH);
delay(12000);
digitalWrite(davkovaniPelet, LOW);
digitalWrite(ventilator, HIGH);
digitalWrite(spirala, HIGH);
delay(60000);
digitalWrite(spirala, LOW);
}if (digitalRead(fotobunka) == HIGH){
digitalWrite(spirala, LOW);
delay(5000);
digitalWrite(davkovaniPelet, HIGH);
delay(1000);
digitalWrite(davkovaniPelet, LOW);
delay(1000);
}
}Do prvních podmínek to takhle funguje jak má, ale potom bych potřeboval aby to při zapálení pelet (fotobuňka vidí plamen) vypnulo žhavící spirálu a po pauze 50s začalo dávkování pelet (10s běh dopravníku/10s stání) do doby než vypne kotlový termostat nebo prostorový. (časy v programu jsou 10x menší kvůli testování) Takhle jak to mám, mě to zapne dávkování pelet až vyprší čas (60000) žhavení, dá to jenom jednu dávku a vypne to dávkování.
posjirka
Účastníkco ty na to?
// regulace automaticky kotel // v01 // autor Johnyhol // uprava by JP 2016 // konstanty - pri kompilaci se nahradi v prikazech a nezabiraji misto v pameti #define zapalovaciDavka 6 //zapalovací dávka pelet #define spirala 5 //spirála #define ventilator 3 //ventilátor #define prostorovyTermostat 12 //prostorový termostat #define kotlovyTermostat 2 //kotlový termostat void setup() { // nastaveni vstupu/vystupu pinMode(zapalovaciDavka, OUTPUT); pinMode(spirala, OUTPUT); pinMode(ventilator, OUTPUT); pinMode(prostorovyTermostat, INPUT); pinMode(kotlovyTermostat, INPUT); } void loop() { // kdyz budou oba termostaty sepnute sepni zapalovaci davku if (digitalRead(prostorovyTermostat) == HIGH && digitalRead(kotlovyTermostat) == HIGH){ digitalWrite(zapalovaciDavka, HIGH); } }
johnyhol
ÚčastníkAhoj všem. Tak jsem se po dvou týdnech studií a zkoušení pustil do zkušebního zapojení a napsání programu pro řídící jednotku. Zatím jsem chtěl jenom vyzkoušet to, když stlačím tlačítko (prostorový termostat) a pokud bude druhý taky stlačený (kotlový termostat) tak se rozsvítí ledka (šnek začne dávkovat zapalovací dávku pelet). Takže pro začátek taková malá simulace toho, když zapne prostorák tak se spustí šnek a začne dávkovat pelety. Bez tý podmínky druhýho tlačítka to funguje, ale když přidám podmínku tak to pořád funguje stejně, stisk druhýho tlačítka nemá vliv.
Tady pokus o program:
[code]
int cteni;
int led=6; //zapalovací dávka pelet
int led2=5; //spirála
int led3=3; //ventilátor
int tlacitko=12; //prostorový termostat
int tlacitko2=2; //kotlový termostatvoid setup() {
pinMode(led, OUTPUT);
pinMode(led2, OUTPUT);
pinMode(led3, OUTPUT);
pinMode(tlacitko, INPUT);
pinMode(tlacitko2, INPUT);
}void loop() {
cteni=digitalRead(tlacitko);if (tlacitko2 = HIGH){
digitalWrite(led, cteni);}
[/code]
Poradíte prosím kde dělám chybu?
Díky!antena
ÚčastníkDík za radu, já jsem původně touto cestou chtěl jít, nicméně pro tuto konstrukci potřebuji jeden digi výstupní pin, jeden analog vstupní a dva na i2c, přijde mi to jako plýtvání,
protože i kód zabere pár řádků. S ATMEGA328 by to bylo z tohoto pohledu knihoven jednodušší, nicméně pro jednoduchá zapojení jsou ATTiny dostačující a to je důvod dotazu.posjirka
Účastníknapadlo mě udělat to pomocí funkce map().
Mám na mysli:
aktuální uhel je 10st. chci 30st.
rozdělíš si to na lineární stupnici o 10 hodnotách a pak z ní uděláš logaritmickou.ideově asi takto:
val = map(value, 10, 30, 1, 10); // (vstupni hodnota, před, po, min.krok, max, krok)
servo1 = 7*val; // nastav na 70%
delay(500); // pauza 0.5s
servo1 = 9*val; // nastav na 90%
delay(500); // pauza 0.5s
servo1 = 10*val; // nastav na 100%
delay(500); // pauza 0.5sšlo by to ?
Diego
ÚčastníkDiky. Mam tam odkaz Aktualni data z meteostanice. Nebo mrkni sem http://elektronika2011.cz/pocasi
Srazkomer sem tam mel ale nakonec sem ho zrusil kuli chybamposjirka
Účastníktohle jsou krásné projekty. Taky chceme s hasičama postavit malou meteostanici. Tento tvůj projekt je velmi dobrou inspirací. Máš někde na WEBu vizualizaci? Nenašel jsem jí tam, pouze měsíční statistiky. S Exosite jsem ještě nepracoval a nejdřív zvažují co všechno měřit. Neměl jsi tam i měřič srážek ?
posjirka
Účastníkporadím ti jedinou věc. Kašli na ATTiny.
Neušetříš nic, budeš se trápit s knihovnami a vymýšlet vymyšlené.
Taky jsem touto cestou chtěl párkrát jít a vždy jsem se vrátil k ATMEGA328.
Dost místa na cokoliv, neřešíš složitá připojení, dostatek pinů téměř na cokoliv a dostupné, hromadně používané odzkoušené knihovny.
Nemluvím ještě o paměti typu RAM, která u ATTINY není nekonečná a rychle se zaplní.Zbyšek Voda
ÚčastníkTo vypadá dobře:)
Nimbus
ÚčastníkPřesně to mi taky napadlo 🙂 Díky, jsem o něco chytřejší
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. -
AutorPříspěvky