Eh, elvileg igen, gyakorlatilag meg van pár, a mérés módszertanából fakadó nehézség. Egyrészt, itt nem lesz negatív és pozitív értéket, hacsak nem skálázod át a 0-tól 1023-ig tartó számsort, amit az analóg bemenet konverziója után kapsz. Ehhez ismerni kell a nullátmenet helyét, amihez azért én pár száz ciklust végigmérnék és átlagolnék (ami nem lehetetlen feladat, csak ügyesen kell megválasztani a mintavételezést és a számítás módszertanát). Ha ez megvan, tudni fogod, hogy az egyes görbék pluszban vagy mínuszban vannak-e, de 0 fokos fázisszögnél rút módon mindig pluszban lesznek (szorzás után), 180 fokos fázisszögnél meg mindig negatívban. A kettő között lesz valamelyik félúton a megoldás az irányra, és ehhez bőven elég a kezdeti x mérés, hogy meghatározd, hogy melyik késik a másikhoz képest. Mert ha ez megvan, akkor megvan az irányod (nyilván ezt is érdemes kalibrálni).
Ha 20 alkalommal vesz mintát, az egy 1 kHz-es mintavételezés. Ennek igazából nincs jelentősége, mert csak pillanatnyi állapotot mér. A trükk abban van, hogy a feszültség hullámát és az áram hullámát, pontosabban azok fázisszögét nézi. Ha egyik irányban megy, akkor az 90 (plusz mínusz kevés), ha a másik irányba, akkor 270 (plusz mínusz kevés) ez az eltérés. Ezt a két érték lefutásából lehet látni egész jól. Mivel a rendszerek nem tökéletesek (kapacitív / induktív viszonylatban), így ez meglehetősen tökéletlen, pláne, hogy rengeteg zavart pakol bele a rendszerbe máshol.
Nem kell ezt belekeverni. A pillanatnyi teljesítmény az a pillanatnyi áram és a pillanatnyi feszültség szorzata. Ha ez a szorzat pozitív, akkor mondjuk mi vagyunk a fogyasztó, amikor meg negatív, akkor a termelő.
Ha a két színusz szinkronban van, akkor ez bazi egyszerű, ha nincs, akkor kicsit bonyolultabb. De nem sokkal.
Nem hall szenzor, hanem árammérő hurok, azaz current-transformer. Nincs semmi meglepő, az áramnak van iránya, és abból kijön hogy mi tápláljuk az utcát, vagy az utca minket.
Sziasztok. Van fent Ordasi Gábornak egy youtube videója (https://www.youtube.com/watch?v=g8UmQp0Xlzs) ahol hall szenzor és Arduino segítségével megméri hogy merre halad a vezetékben a váltóáram. Elsőre meredeknek tűnik, de hát ő a villamosmérnök, csak nem beszél hülyeséget. A fázisra feltette a hall szenzort, akkor plusz ampert mért, majd 180°-kal megfordította a hall szenzort, akkor meg mínusz ampert mért. A magyarázatot eléggé elnagyolta, valami olyasmit mondott, hogy a pozitív és negatív színuszhullámról (amíg körbeér) kb 20 alkalommal vesz mintát és ebből számolja valahogyan ki. A téma amúgy az volt, hogy hogyan érzékeli a villanyóra, ha a napelem miatt kifelé vagy befelé megy az áram a házból. Azt írta hogy felteszi a videó alá a forráskódot (de nem tette), és én azt kérdezném tőletek, hogy van itt olyan ember, aki érti az elvet? Mármint azt, hogy a pozitív-negatív félhullámból vett mintákból milyen logikával lehet rájönni, hogy a fázis-vezeték jobb vagy bal oldalán van-e a fogyasztó? (magyarázat kezdete 15:20-tól)
Nem a méret számít, hanem a meghajtó IC. 3-4 éve csináltam egy összehasonlítást könyvtárak és megjelenítési módszertanok között, többféle kijelzővel. Mindnél lesujtó volt az eredmény sajnos.
Ilyenkor meg nem szívni kell, hanem belenézni a könyvtárba, úgy fél óra alatt kiderül kb., hogy mi a helyzet, és ehhez lehet igazodni. Más miatt (shift register) írtam "szabdaló" programot, ami arduinon pláne egyszerű, mert alapból és egészen jól van implementálva az osztás maradék (%). Kb. 15 perc kódolás. Nyilván ezt követően át kell gondolni erősen a megjelenítést is, de az fordított sorrendben egész jól megy.
Most ugyanezzel a módszerrel rajzolgatok 2,8"-os kijelzőre bitang nagy és gyönyörű számokat. Mondjuk g'ci lassú, de nem is szempont, hogy baromi gyors legyen.
Amit a lassúságról írsz, azt én is tanúsíthatom, némelyik konkrét katasztrófa. Pl. a 0.96"-os OLED. Érdekes módon az 1,3"-os meg nem ilyen lassú.
Van amúgy egy OLED kijelzőm, hosszú és keskeny, tök szép sárga a színe, egyszerűen jó ránézni, minden oké, csakhogy változót egész egyszerűen nem ír ki a hozzá tartozó könyvtár és nem találtam jobbat. Csak karaktereket. Napokig kínlódtam vele.
Én sok esetben kifejezetten rossznak tapasztaltam meg a kijelző tartalmának törlését. A buta kijelzők gyakorlatilag 100%-a (itt most grafikusokról van szó, nem a karakteresekről) bufferből dolgozik. Ezt kell hol soros, hol párhuzamos adatvonalon teleírni konkrét grafikus tartalommal, kijelzőtől függő sorrendben (soronként, oszloponként, blokkonként, elölről, hátulról, stb.). Van pár meghajtó--könyvtár kombó, amiben kihasználták azt, hogy a képernyő megjelenítő buffer címezhető, és nem shift-registerként működik, így ha valami csak kis mértékben változik, ahhoz nem kell az egészet teleírni, elegendő csak az adott (akár pár bitnyi) részt. Amivel most dolgozom (szükségből), ott a sima frissítgetések (összesen egy 5×5 pixelnyi rész változik másodpercenként 5-ször) és a teljes újraírás között az adatfolyamban több százszoros különbség van. A clr-nél mindig kimegy az egész tartalom, pár kijelzőnél ez még szabad szemmel is jól látható villódzást eredményez.
Minden más korrekt, de ugye ez a "szép", hogy más szarjából kell néha kihozni a jót.
Pár hete értetlenkedett itt valaki, hogy miért nem kezel valami szenzort, meg hogy miért nincs az Arduino felületén ledokumentálva.
Azért, mert van egy bármilyen periféria, ami minden máshoz is használható, pl, RPi-hez, vagy tényleg akármihez, de valakinek megtetszett az Arduinohoz és írt hozzá egy könyvtárt.
Mi meg rákeresünk, megörülünk, aztán használjuk, miközben esetleg szar.
Minden könyvtárban van egy clear...() függvény, ami törli a kijelző tartalmat, azt kell ilyenkor használni.
Vagy felülírni a kiküldött tartalmat, ahogy Prof javasolta.
Minden ilyen könyvtárral játszani kell és kitapasztalni, hogy mikor mit csinál.
Irgalmatlan sokat szívtam egy OLED kijelzővel, semmiképpen nem írta ki, amit akartam. Pedig volt hozzá könyvtár.
Köszönöm a segítséget! A számlálás már megvan, megy előre-hátra, csak a kijelzéssel vagyok meg akadva. A számláló elszámol, pl. 109-ig, visszafelé ugyan számol, csak nem a megfelelő helyen tartja a számokat: 102, 101, 100, 990, 980, 970...100, 900, 800,... vagyis az értéktelen nullákat nem törli, vagy nem rakja át a számokat. Furcsállom hogy alapból ezt nem tudja az arduinó, vagy van erre valami utasítás, vagy programozással lehet elérni?
Mindegy, hogy hogyan és mire emlékszel, szerintem megalapozott a feltételezésem, hogy ha kritikusnak érzed, úgyis megnézed. (Már ha nem felejted el… ;-) )
Párszor csináltam már erős A/D konverziót mindenféle alapon, legutóbbi esetekben a mostani elsődleges STM32 alapú cuccokon. Az STM saját rapid prototyping platformja (már az egyik, mert több van nekik) tartalmaz egy alaplapi programozót (mint az Arduino lapkák zöme), aminek van egy dual-led státuszjelzője. Alapból nem is lenne gond, már ameddig a tápolás az USB-ről megy, mert addig a programozó alapállapot szerint hallgat, pontosabban az USB forgalmat figyeli. Node ahogy nincs USB handshake és/vagy máshonnan kapja a tápot, akkor hibát jelez és elkezd villogni az egyik LED. Hiába brutál erős a táp (felfelé kvázi „no limit”, legalábbis abban a nagyságrendben, amiről most beszélgetünk), ez a pislogás már elég ahhoz, hogy elhúzza a komparátorok tápfeszét, így a mért értékekben volt egy „csodás” négyszögjel. Szoptam vele egy darabig (oké, pár extra órát), aztán kiiktattam az egészet. Namost itt plusz pár milliamperről van szó, és nem is kifejezetten közel az MCU lábaihoz (legalábbis a tápvonalat tekintve), mégis brutálisan beleszólt. A konkrét oknak nem mentem utána, most volt egy megérzésem, hogy maga a megoldás kavar be ennyire (ilyenkor váltogatja a sink/source/float állapotot a lábon, kihasználva a led dióda jellegét).
Igazából arra akartam kilyukadni, hogy ha egy ilyen pár milliamperes (10 körül/alatt) vicc belehasal egy alapvetően érzékeny rész működésébe, akkor egy hányaveti módon leválasztott induktív terhelés vagy egy hitvány kínai 5 V-os relé modul (a maga 140 mA körüli fogyasztásával) mennyire meboríthatja az egész rendszert...
Egészen pontosan 40 mA/láb és 200 mA/tok (technikailag Vss). De ezek az abszolút maximum értékek, és még korlátoz az is, hogy az épp meghajtott lábak egy vagy több I/O porton ülnek-e, mert itt is van egy harmadik limit..
A 20 mA nagyjából az „üzembiztos maximum”, amit nem túl sűrű kapcsolgatás mellett még elvisel az IC, ezért is van a legtöbb dobozban 220 ohmos ellenállás a rengeteg vörös led mellett.
De.
Én praktikussági okból mindenkinek azt tanácsolom, aki kérdezi és meg is fogadja, hogy 5 és 10 mA között tervezzen, több okból:
10 mA és 20 mA között a legtöbb lednél nincs szignifikáns fényességkülönbség (5 és 20 között már van, de nem biztos, hogy van praktikus jelentősége),
ha „teljesítmény” meghajtás kell, úgyis a sink javasolt elsődlegesen (sőt, az IC adatlapja is inkább ezt, mint a source-t pártolja), ott pedig a mindenféle innen-onnan összejövő eredő kapacitások miatt jobb lesz, ha inkább egy kapcsolót (tranzisztortól felfelé valami) vezérel, mint direktben az eszközt, nem beszélve arról, hogy ha számít a felfutó él meredeksége (MOS-FET-eknél például), ott egy direkt erre a célra kitalált eszköz összehasonlíthatatlan előnyöket fog hozni néhány, nem biztos, hogy szignifikáns hátrány mellett,
megszokás (lásd még a történetet alább): ha az ember már reflexből, odafigyelés nélkül kezdi úgy, hogy ellenállás-led, vagy ellenállás-tranzisztor, akkor számottevően csökken annak az esélye, hogy akkor, amikor kritikus, kifelejti.
Van még egy kiegészítő szépség is, és erről pont egy Arduino Napos előadáson volt szó: pár éve még inkább az volt a tipikus, hogy az ilyen (mármint előtétellenállás nélküli) szettek azért nem lettek nagyon gyorsan a füst martalékai, mert a számítógép USB kimenete és/vagy maga az USB kábel nem bírt nagyobb áramot produkálni, mint a működéshez még elegendő kb. 200-300 mA. Vagyis hiába szaladt volna meg a rendszer akár 1 A-ig (már legalábbis amíg el nem kezdett füstölni), nem tudott, mert nem bírta a táp. Ez már nem annyira jelentős, a legtöbb mostani USB vígan elbír 1 A körül bármivel, de a sima USB-C hivatalosan is kell tudjon 3 A-t.
Ez termèszetes. Ebbe nem voltam biztos hogy optocsatolóval kezdődik, sose mèlyedtem ebbe bele. Az áramot mindennèl megszoktam mèrni. Mennyivel szoktál egy atmegát beterhelni összesen? Èn 8 csatornás relè modult már meg szoktam tranyózni, nem emlèkszek de asszem 50mA 1 csatorna.
Az SSR-ek szerintem eleve optoval kezdődnek, de meg kell mérni a konkrét típus áramfelvételét és ha bele fér a 20mA-be, akkor szerintem nem kell semmi, mehet direktben. Ha necces, egy sima tranzisztor bőven elég neki (még a FET is túlzás).
Viszont az áramfelvételtől függően hűtőborda kellhet rá!
Mindent tápot letettem földre, vezetèkárnyèkot is letettem, de nem sokat segített, ezzel kezdtem. Most úgynèz ki, hogy így jó lesz... Bár 15 fokban nem tudom rendesen kipróbálni, mert nem megy napokig, csak èjszakára. Jövő tèlre kiszedem a mágneskapcsolókat meg az ssr modulokat, ès 3 fázisú ssr fogja indítani a motorokat, aminek a vezèrlèse egyenesen mehet e arduinoról, így a leválasztást is kihagyom. Mi a vèlemènyetek erről?
Na talán megoldódott, rátettem elősször egy ilyen trafós tápot, talán javult, valamennyi idő után elment a kijelző (kb6 óra), talán kèsőbb, de ebbe nem vagyok biztos, második körben a relè modult lecserèltem ssr relè modulra, ès a 12v tettem 30nf 16kohm RC szűrőt plusz lehúztam egy DC konverterrel 9vra, az ardu 5v kimenetère ami megy az lcd-re, oda pedig egy 10nf 16kohm RC szűrőt. Így 1 napja nem ment el a kijelző, ès lefagyás se volt. Arra gondoltam, hogy mèg tutibb legyen, kihagyom a mágneskapcsolókat, meg a ssr relè modult, ès 3fázisú ssr relèvel vezèrlem a motorokat. 3 fázisú ssr van èrtelme optocsatolóval leválasztani?
A 7805-öt hűtés nélkül 300 mA fölött nem terhelnék, de maga az ötlet egyébként pártolandó.
Egy időben hegyekben álltak itthon az ilyen tápok (meg volt pár "generál" laptop táp, egyik sem nagyon márkás, bár így is elég drága darab). Vicces feszültségek és tranziensek jöttek ki egyikből-másikból terhelésre. Az induktív terhelést pl. kifejezetten rühellték.
Rendben most mondjuk megállítottam a fűtèst mert jó idő van, ennyire nem tud visszamodulálni. Emlèkeim sztem otthon hánykolódik ilyen valahol. Kipróbálom ès jelzem.
Van olyan kivitel,amiben LM317-es van,különböző ellenállások átkapcsolásával. Ez egy gyilkos eszköz! Ha a visszacsatolás a kapcsoló hibájából megszakad,max.-ra ugrik a kimenet... Én fix 7805-re cseréltem (tantálokkal és kerámia kondikkal valamint a ki és a bemenetet áthidaló védődiódával,kikeresve azt a trafó lábat,amelyik a stabilhoz szükséges és elegendő feszt.adta.) Nem nagy durranás megcsinálni,de roppant stabil és megbízható kis táp lett belőle.Kísérletekhez pont elegendő teljesítménnyel.