jemiki8453
Vytvořené odpovědi
-
AutorPříspěvky
-
Leo
ÚčastníkA na github je přimo Modified UTFT library working with ILI9327 8-bit for example 3.5
https://github.com/dgolda/UTFTZkoušel jsem ho tak jak jsem ho stahl i přepsat UTFT-master\tft_drivers\ili93\initlcd.h tím jeho kodem.
Ani nemrk.
Co mužu dělat špatně?ArduXPP
ÚčastníkProdávající tam informuje, že byl displey testován ILI9327 ,
Leo
ÚčastníkTak jedine co se mi na tom podařilo rozjet je Mcufriend_kbv_2.8
Je to ale uplně světle a displej blika.:(Vojtěch Vosáhlo
ÚčastníkTak supr, pak napiš jestli to pomohlo, já myslel že je rušení z relé…
Dík, vím co ferit je ale nebyl jsem si jistej jak je to v češtině, znám to hlavně v angličtině ?TgmMrrCZ
ÚčastníkPo rozmluvě s jedním známým co se živí návrhem masážních van zkusím dostat RC člen opravdu přímo na motor. Ve vodě se prý EM nešíří, ale i těch cca 30cm kabelu co koukalo z nádrže funguje jako anténa která šíří EM pulzy všude.
Ještě jednou, není problém s relé ani jeho cívkou, to je všechno vyzkoušené. Jde o rušení z toho motorku při zapnutí/vypnutí.
Vojta : Feritové jádro je takovej ten váleček co bejvá u monitoru, televize atd na flexošňůře?
Aleš
ÚčastníkBaterku jsem myslel jenom na vyzkoušení. Tím se zjistí, kudy se to rušení do arduina dostává.
Vojtěch Vosáhlo
ÚčastníkProkoukl jsem ňejaká ta fóra a zkusil bych přinejmenším několik věcí. Hlavně asi ten optoizolátor jak psali ostatní. Mimochodem pokud je indukce z cívky na relé, mohlo by být dobré řešení SSR relé. To by se mělo indukce zbavit nadobro. Jinak kondík a feritové jádro (snad je to tak česky) by mohli taky pomoct.
Schéma vypadá jako úplnej standard.
Edit: To rušení by se mohlo k procesoru dostávat i z cívky relé. Doporučil bych odizolovat to relé a pak se uvidí.TgmMrrCZ
ÚčastníkAsi takhle :
http://imgur.com/a/8Ea5S
Baterku na 12V nějakou mám tak to zkusím napájet přes ní. Chápu to správně, že navrhujete aby sem jí tam měl napořád a ona pak vlastně bude dělat oddělení od trafa 230V přes které se asi nese to rušení?
TgmMrrCZ
ÚčastníkPáni, přijdu z oběda na odpolední a takovejch odpovědí 🙂
Udělám takovej malej výcuc, vím že je to dlouhý ale všechny věci o kterých píšete tam jsou, takže TL:DR :
Výstup z Arduina => mosfet => 12V DC relé => Pumpa 230V. Cívka relé je napájena z trafa 230/12 které napájí obě Arduina, přes relé je to oddělené od 230V. Na výstupu z relé mám zásuvku, když z ní vyndám čerpadlo relé cvaká a čipy běží (repro nelupe). S lampičkou místo čerpadla – 60W odporová zátěž se taky nic neděje.
Schéma dodám za pár chvil, jsem v práci a každou chvíli po mě někdo něco chce 🙂
PS : Tahle chybka s indukční zátěží není až zas tak neobvyklá, na netu se to docela řeší ale já sem zatim nenašel nic spolehlivýho.
https://www.google.cz/search?q=arduino+freeze+230v&ie=utf-8&oe=utf-8&client=firefox-b&gfe_rd=cr&ei=zYT_V4SUJ6Hs8weh6KbIBALeo
ÚčastníkZjistěte si, jestli je na displeji opravdu řadič ili9488 jak píšou. Já tam mám ili9341
To zjistím jak?
Nahoře je info s te utility LCD_ID_readreg.ino.
reg(0x00BF) 01 01 22 15 81 00 ILI9481, HX8357-B
reg(0x00D3) 03 03 24 04 ILI9341, ILI9488Změřte si, kam máte zapojené signály.
Jak to změřím? Měřak mam.
Propojím displej s arduinem 3V3,5V a GND a proměřít piny.
Ale jak poznam, který je ktrý?Aleš
Účastník1. Stáhněte si knihovnu Adafruit_TFTLCD
2. Změřte si, kam máte zapojené signály. Já mám např:
#define LCD_CS A3 // Chip Select goes to Analog 3
#define LCD_CD A2 // (RS)Command/Data goes to Analog 2
#define LCD_WR A1 // LCD Write goes to Analog 1
#define LCD_RD A0 // LCD Read goes to Analog 0
#define LCD_RESET A4 // Can alternately just connect to Arduino’s reset pin
3. Zjistěte si, jestli je na displeji opravdu řadič ili9488 jak píšou. Já tam mám ili9341
Hrál jsem si s tím asi 3 dny, než jsem ho rozchodil. Postahoval jsem snad všechny knihovny, které na internetu jsou, ale nakonec se to podařilo 🙂Attachments:
Luke_CZ
ÚčastníkTakže:
1, odrušení elektromotoru – ano řeší se RC členem
2, napájení arduina – jak to máš řešený? Bez schématu ti těžko někdo poradí, vypadává to při sepnutí, nebo vypnutí?
3, spínání AC – určitě dej galvanické oddělení (optočlen, relé)Vojtěch Vosáhlo
ÚčastníkPřesně tak. Chtělo by to zjistit co to resetuje a případně to izolovat od AC.
Aleš
ÚčastníkZkoušel jste ta arduina napájet z baterek? Jak se to bude chovat?
Luke_CZ
ÚčastníkA co to oddělit optočlenem a tím spínat ten MOSFET?
Vojtěch Vosáhlo
ÚčastníkZajímavý je že je indukce tak velká, a že něco takového může zaseknout arduino. Předpokládám že zdroj toho zaseknutí bude napájení arduina ze sítě. Nemohl by pomoci třeba DC/DC izolovaný měnič před arduinem nebo zenerova dioda jako svodič těchto špiček na zem? Abych řekl pravdu tak o indukci moc nevím a ty rady co jsem napsal neřeší praskání v reproduktorech a další problémy. Mohlo by to ale vyřešit resety arduina.
Držím palce ?pardalos
ÚčastníkZkus sen hodit zdrojový kód. Klidně můžeme komunikovat. Začínám se tomuto problému nyní věnovat. Chtěl bych rozchodit jak Ethernet shield tak modul co mám doma. Možná potom WIFI modul :).
Ladis_Kv
ÚčastníkDíky za názor,ale obávám se že lankový snímač by mi byl k ničemu.Jak jsem psal dříve,tak převážně se mi jedná zatím o roztahování a zatahování žaluzii podle denního světla.
Takže vytahovat zatím nebudu.Ale možná do budoucna se to bude hodit.
díkyCuore
ÚčastníkObávám se, že encoder je cesta do pekel. Budeš tam mít spoustu mechanických vůli a čím dáš encoder blíž k motoru, tím bude proměřování větší. Takže zbytečná práce. V průmyslu se na tyto aplikace používají tzv. Lankové snímače což je kombinace encoderu a lankového bubnu. Konec lanka připevníš na spodní lištu žaluzií a měříš přesnou polohu.
Ladis_Kv
ÚčastníkNo díky.Až to nahodím fyzicky na žaluzku,tak budu zjištovat,jestli by tam šel dát nějaký koncák…
Budu informovat.
Dík 😉petan
ÚčastníkPo restartu je proměnná otevřeno false. A vlastně všechny proměnný jsou po restartu 0, LOW, false, …
A protože si ji nikde neukládáš a ani nezjišťuješ koncákem, tak se ti spustí kód za else (je světlo) a druhá podmínka taky (negované false je true).
Právě takovejhle problém se řeší u těch dveří. Po restartu nevědí kde jsou (během výpadku napájení s nimi někdo mohl pohnout atd.). Takže se po zapnutí napájení provede inicializace. Najde si to koncovou polohu, zresetuje se to a už to frčí…
Jedna varianta je ukládat poslední stav do EEPROM, ale ta na to není moc vhodná. Lepší by byl ten koncák, který by definoval jednu jistou stranu.
Ladis_Kv
ÚčastníkTak kolik otáček,to ještě přesně nevím.Zítra budu zkoušet přímo na žaluzii.Sehnal jsem si starší,tak můžu laborovat.
Hele ještě mám menší problém.Když arduino resetuji,tak v poloze otevřeno při resetu se spustí cyklus a když resetuji v režimu zavřeno,tak se neděje nic-tak to má být.Jsou tam jen dva stavy.Zavřeno a otevřeno.Jak bys to ošetřil?Kdyby přes den vypnul proud tak by to otevíralo dvakrát… 🙁
Mám to zatím jen časově.Koncáky a enkoder zatím nemám.
tady je funkční prográmek (zatím)
int ldr = A0;
int ldr_value = 0;
boolean otevreno;
void setup()
{
pinMode(8,OUTPUT);
pinMode(9,OUTPUT);
//pinMode(A0,INPUT);
Serial.begin(9600); //spuštění serioveho rozhrani
}
void loop()
{
ldr_value = analogRead(ldr); //čte hodnoty čídla
Serial.println(ldr_value);
if(ldr_value > 500){ //první podmínka (stmívání)
if(otevreno){
zavri();
}
}
else{
if(!otevreno){ //druhá podmínka (rozednění)
otevri();
}
}
}
void zavri(){
digitalWrite(8,HIGH); // pro dc motor
digitalWrite(9,LOW);
delay(150);
otevreno = false;
vypni();
}
void otevri(){
digitalWrite(8,LOW); // pro dc motor
digitalWrite(9,HIGH);
delay(800);
otevreno = true;
vypni();
}
void vypni(){
digitalWrite(8,LOW); // pro dc motor
digitalWrite(9,LOW);
delay(1000);
}Leo
ÚčastníkHm, že by nebyl problém v displejích ale na židli.:(
Můj první displej tak tápu v neznámu.
Kukal jsem na to video.
Má tam
Adafruit-GFX-Library-master
Mcufriend_kbv
Touch-Screen-Library-masterV Mcufriend_kbv – examples je GLUE_Demo_480x320.ino
Bisplej sproblikava ale na šiřku ve 2/3 vidím jak se tam něco vykresluje, ale je to uplně světle, skoro to nejde vidět.
Co ještě dělam špatně?Luke_CZ
ÚčastníkA co Google?
BTW: uTFT není pro UNO dobrá, bere příliš mnoho SRAM, no on ani ten displej s tím rozlišením pro UNO není to pravé ořechové
L.
petrcaltik
ÚčastníkDíky za reakci..
S tím přenosem je to tedy zcela dostačující, to byla moje hrubá neznalost! Vzdálenost a terén bude tedy asi největší problém, protože trať nemusí být přímá, může vést třeba i lesem a v neposlední řadě pro plnohodnotné využití by trať mohla mít délku až 2km. NRF24L01 už mám, takže se pravděpodobně pokusím časomíru sestrojit a uvidím jak spolehlivé to bude.. S tím RCT jsem pracoval tak, že když se změnila hodnota sekund, začal jsem počítat setiny podle funkce millis(), ale byl právě problém s tím, že někdy trvala změna třeba 98 setin a někdy zase 101, takže absolutně nepoužitelné…posjirka
Účastníkna dotaz zda signál poletí stejnou dobu … je vhodne si prostudovat alespon zaklady radiokomunikace. Radiove vlny se šíří téměř rychlosti světla. V základu se měni pouze frekvence nosné vlny a způsob modulace. Ber to tak, že nejnižší rychlost přenostu bude okolo 9,6kbaud tedy 9600 bytu/s. Přenos informace o 10 bytech zanamená dobu přibližne 0,001s. To beru jako nejhorší stav. při přenosu 115kbaud jsme na uplně jiných časech.
Spíš mě zaráží těch 500m. Při použití vysílače na 2,4GHZ s přidanou anténou by to mělo mít dosah okolo 2km, ale v praxi jsem to ještě nezkoušel a je tu i otázk aterénu/příme viditelnosti:
http://www.arduino8.cz/komunikujeme-bezdratove-s-nrf24l01-1-cast-zapojeni/
ohledně přesnosti, funkce millis() řeší dobu běhu strojového času v 0,001s a je tu i funkce micros(), která dělá to samé v 0,000001s … takže 0,01s rozlišení bych se nebál. Jak jsi řešil odečet času z RTC? ten ti totiž v těchto případech nepomůže.
1. jeho rozlišení je v řádech 1s
2. přenos dat, adresování ,… nějáký čas zabere a přesnost pod 1s je mimo
3. při použití tohoto čipu jako generátoru zbytečně zatížích přerušení a s přesnosti si stejně moc nepomůžeš.
Navrhuji použití internícho strojového času Arduina a detekci start/stop jako body pro záznam aktuální hodnoty millis(). Výsledný čas je pak jen prostým odečtem těchto 2 hodnot.
pár příkladů:
http://www.c-sharpcorner.com/uploadfile/7d4524/stopwatch-using-push-button/
http://duino4projects.com/barista-championship-brewing-stopwatch-%E2%80%A2-introduction-using-arduino/petrcaltik
ÚčastníkDíky za reakci,
primárně jsem myslel použít časomíru pro lyžovaní, kde na startu by byla branka, tedy nějaký spínač a v cíli fotobuňka. Pro základní použití se bavíme o vzdálenostech cca 500m a tedy čas do 2 minut. Chápu dobře tedy, že při protnutí branky na startu by se vyslal signál do spodní stanice s fotobňkou a vlastní časomírou, tím by se zahájilo měření? Následné přerušení paprsku by čas zastavilo? Je jistota, že signál poletí vždy stejnou dobu? Měl jsem za to, že takovýto přenos není úplně nejpřesnější proto myšlenka se synchronizací. Pokud by byla přesnost do jedné setiny sekundy, tak by to bylo plně vyhovující.
Díky, za případné další reakce…poloman
ÚčastníkOno to má dvě slabiny:
– ten posuv (motor/šnek) je celý zapouzdřený, otočná část je jen z boku
– z toho uhlí je strašlivý bordel
Takže reálně připadá mimo sahání do AC v úvahu asi jen ten magnet na tom šneku z toho boku. Jako try1 půjdu asi do toho optoizolátoru, to se mi líbí nejvíc, pořád se snažím cílit na to, abych to před tím bordelem schoval do bedny od regulátoru.Každopádně díky za užitečné rady. Když to bude fungovat, tak výsledek vysdílím. 🙂
posjirka
Účastníkchápu to správně, že chceš mít 2 fotobuńky kažkou s vlastní RTC a posílat si čas prolnutí? To se ti nikdy nepodaří synchornizovat …
Lepší řešení by bylo použit 1 RTC ve vlastní časomíře a od fotobuněk přijímat jen signál prolnutí. čas by se bral s interní RTC časomíry.
O jakých intervalech/časech se vlastně bavíme ?
Jinak RTC může generovat i určitou frekvenci, pro lepší synchornizaci než jen sledování času….petan
ÚčastníkPokud budeš dokupovat enkodér, tak je lepší ho dát na co nejrychlejší část motorku. Ono by potom mohlo dělat na tej hlavní hřídeli jenom pár pulzů a rozlišení je rázem v tahu. To se mi pak jeví lepší ten motor „vše v jednom“ jak si posílal.
Kolik potřebuješ otáček motoru (myslím už za převodovkou) na přetočení žaluzií do poloh? pokud by to bylo do deseti otáček, tak by si mohl koupit nějaký mrňavý servo, to vykuchat, potenciometr připojit na hřídel, posílit výstupy původní elektroniky a v podstatě by si měl výkonný servo vlastní konstrukce. Navíc velice jednoduše ovládatelný (jsou na to knihovny).
Serva bez zpětné vazby se používají třeba u kotlů. To se otočí o 90° třeba za dvě minuty. Rychlost je celkem spolehlivá, takže se dá dobře řídit. Když se pak vrací do „nulové polohy“ a tak kontrolér pustí ovládací impulz delší, aby byla jistota, že je v nulové poloze – provede se najetí na referenční bod.
-
AutorPříspěvky