Fórum témák

» Több friss téma
Fórum » Arduino
A klónok CH340 Soros-USB illesztőjének drivere (Letöltés)
Lapozás: OK   743 / 839
(#) zoz11 válasza cua hozzászólására (») Aug 24, 2022 /
 
A poti helyén majd egy nyomás távadó lesz, ha emelkedik a nyomás akkor szépen lépésenként nyitja a szelepet, ha csökken a nyomás, akkor meg zárná vissza.
(#) Massawa válasza zoz11 hozzászólására (») Aug 24, 2022 /
 
Akkor nem igy kellene csinálnod. Meghatározni a szelep mozgási tartományát. ( hány lépés a nyitás L).
A nyomásérzékelö jelét átmappelni annyi lépésre amennyire kell ( lásd fennt).
Azaz a nyomásérzékelö az fogja meghatározni hány lépést tesz meg a motor. Ha csökken a nyomás ( az utolso beolvasott érték nagyobb, mint az aktuális) akkor az irányjelzö flag forditja a motor forgási irányát.
Itt is jo lenne a lépéseket relativizálni, mert az abszolut érték nem lesz egyszerü.
Azaz, ha változik a nyomás egy egységnyi valamivel, akkor egységnyi lépést forduljon a motor.
Ez lényeges lesz az irányváltás pillanatában.
( esetleg egy extra számláloval korlátoznatod a forgás mennyiséget - azaz a motor ne forduljon ki egy adott pl 0-200 intervallumbol).
(#) sargarigo válasza zoz11 hozzászólására (») Aug 24, 2022 /
 
Ez azért nem annyira egyszerű hogy ha középen van akkor jó, aztán majd forgatunk valamit!
Jelöljünk ki egy középpontot a potival, és adjunk neki valamennyi hiszterézis lehetőséget, hogy ne ciceregjen állandóan. Aztán ha a poti kimozdult ebből a holtpontból, akkor megnézzük hogy mekkora az eltérés (hibajel), amivel arányosítunk egy motorelfordulást, vagyis lépésszámot. Ha odafordult a motor a helyére, akkor a potival mért jel elvileg megint nulla hibaértéket kellene hogy produkáljon, vagyis marad nyugalmi állapotban amíg megint el nem mozdul. Tehát nem folyamatosan tekerjük azt a motort, hanem csak ha hibajel van, akkor egyszer eltekerjük a helyére, és várjuk a következő hibajelet. Ez azért már erősen szabályozástechnika, remélem nem élesben van rá szükséged! Azt javaslom, hogy előbb miniben készítsd el, hogy kitapasztald a dolgok buktatóit, mert lesznek bőven. Hátha így nem robban fel semmilyen nyomástartály!
A magam részéről ehhez nem tudok többet hozzátenni, nem értek hozzá. Esetleg a fuzzy logika, vagy a pid technika lehet neked megoldás, abba merülj el egy kicsit. Szerintem.
(#) sargarigo válasza sargarigo hozzászólására (») Aug 24, 2022 /
 
Közben tovább gondoltam a dolgot, és ha más már nincs, akkor megoldható a dolog!
Van egy szenzorod, ami egy jeltartományban ad neked jelet. Legyen mondjuk 0..5V.
Ezt tudod mérni. A szelepnek van egy mozgási tartománya, mondjuk 0..180fok. A léptető motorod mondjuk 1.8°-os, 200 lépést tud. Ekkor 100 lépés lesz a 180fok. A 0V-hoz hozzárendelsz 0 fokot, az 5V-hoz 180fokot, esetünkben 100 lépést. Erre mondta Massawa hogy mappeld a bemenetet a kimenethez. Így ha mozog a potid, akkor követi a szeleped is. A gond az, hogy mondjuk áramszünet után tudni kellene az aktuális pozíciót, nehogy ész nélkül elkezdje tekerni a szelepet.
A hozzászólás módosítva: Aug 24, 2022
(#) Elektro.on válasza sargarigo hozzászólására (») Aug 24, 2022 /
 
Szerintem ha simány nyomástól teszi függővé a szelep állását, akkor a nyomása fel le fog hintázni egyfolytában. Szerintem is valami PID féle szabályuzás kellene neki.
De erősen függ attól is, hogy minek a nyomását méri. Valami gáz halmaz állapotú, vagy folyadék?
(#) Massawa válasza sargarigo hozzászólására (») Aug 24, 2022 /
 
Ezért irtam, hogy kezelni kell a tartomanyt is. Vagy a bekapcsoláskor el kellene menni az egyik meghatározott végpontba és az lesz a 0 pont.
De jobb lenne esetleg a motoron egy poti, aminek a helyzete aránylag pontosan mérhetö/olvashato, azaz áramszünet után is tudja a proci, hogy hol áll a motor/szelep.
(#) Josi777 válasza zoz11 hozzászólására (») Aug 24, 2022 /
 
Ez egy tipikus szabályozási feladat és az Arduino könyvtárak között van is rá megoldás, PID library.
Ahogyan ezt Elektro.on kolléga is említette.
(#) zoz11 válasza sargarigo hozzászólására (») Aug 24, 2022 /
 
Köszönöm szépen mindenkinek a rengeteg választ, átgondolom a dolgokat, és akkor ezek tudatában indulok el.
Első körbe csak asztalon teszt körülmények között fog üzemelni.
A nagy nyomáslengéstől nem tartok, nem okoz problémát.
Áramszünet esetén sincs gond, mert indulásnál koppanásig visszaforgatom a szelepet.
Első neki futásnak egyszerűnek tűnt
(#) cua válasza zoz11 hozzászólására (») Aug 24, 2022 /
 
Idézet:
„Első neki futásnak egyszerűnek tűnt”

Ez mindig igy kezdodik!
(#) sargarigo válasza zoz11 hozzászólására (») Aug 25, 2022 /
 
Szívesen, remélem sikerül!
(#) LMartin2000 hozzászólása Aug 26, 2022 /
 
Sziasztok!
Nem rég kezdtem el foglalkozni a digitális elektronikával -egy arduino uno segítségével-, olyan kérdésem lenne, hogy a mikrovezérlők bemenetein mennyire édemes a lehuzó ellenállásos bemenetet használni?
Illetve azt is megköszönném, hogyha valaki esetleg érthetően letudná nekem írni, hogy miért fontosak ezek a le és felhúzó ellenállasok, mert az interneten nem találtam eddig kielégítő magyarázatot... egyedül egy olyan gondolat fogalmazodott meg bennem, hogy ugye ezekben a mikrovezérlőben MOSFET-ek vannak, amik ugye feszültség hatására nyitnak/zárnak, azaz áram nem folyik rajtuk, ez helyes elgondolás?
Igazából most éppen egy olyan kapcsolást szeretnék megvalósítani, hogy van egy bemenetem ami egy gombon keresztül kap feszültséget ha lenyomom a gombot akkor az egyik I/O porton - amelyik kimenetnek van definiálva - feszültség lesz.
Nyilván a program kicsit öszetettebb, ha kétszer nyomom megy 1másodpercen belül a gombot akkor 30másodpercig van kimenet, ha csak egyszer akkor egészen addig amíg újra nem nyomom meg a gombot.
(#) Massawa válasza LMartin2000 hozzászólására (») Aug 26, 2022 / 1
 
A procik portjai univerzalisak, azaz ki és bemenetek is lehetnek. Gyakorlatilag ez azt jelenti, hogy ha bemenetnek van programozva, akkor a “levegöben log” azaz nincs meghatározva a bemenetn a feszültség szintje. Emiatt kell ezt a felhasználonak biztositani ( vagy a belsö pullupokat bekapcsolni vagy külsö ellenállással felhuzni a logikai magas szintre). Amikor digitális a bemenet annak csak két szintje lehet, azért kell az egyiket definiálni. Ha analog a port bemenete, akkor nem kell felhuzo ellenállás, de vigyázni kell mert a bemeneti impedancia kb 10 kOhm, azaz pl egy poti sem lehet ettöl nagyobb értékü a közvetlen bemeneten.
Ha ez külsö ellenällással történik a felhuzás, akkor az ellenállást ugy kell megválasztani, hogy az ne terhelje feleslegesen a portot, ha kimenet lesz.
A kimeneti áram definállva van, azaz az is mennyi áramot tud a port kiadni, meg az is mennyit tud lehuzni a földre. Ez a két érték nem mindig egyforma.
Ezért legyen mindig kézzel a proci adatlapja.
(#) Régi motoros válasza LMartin2000 hozzászólására (») Aug 26, 2022 / 1
 
Helló!
Ha egy vezetéken (bemeneten) nincs le vagy felhúzó ellenállás, akkor a parazita kapacitások miatt feltöltődhet valamilyen feszültségszintre, úgy mondják, hogy az aktuális bemenet "lebeg". Ez a digitális áramkörökben, főleg ahol valamilyen CPU van, nem megengedett. Akkor jön elő a probléma, ha a bemenet az átváltási küszöb környéki feszültség generálódik zavarok hatására, ilyenkor a bemenet véletlenszerűen sorozatban is állapotot válthat úgy érzékeli a bemeneti egység.
(#) Josi777 válasza LMartin2000 hozzászólására (») Aug 26, 2022 / 1
 
Az Arduino UNO-n lévő procinak csak felhúzó ellenállása van, ami bekapcsolható. Többnyire arra van, hogy a bemenetként definiált port ne "lebegjen", azaz beálljon egy logikai állapotba, ebben az esetben magas lesz. Így nincs szükség további alkatrészre, elég egy nyomógomb, ha a digitális bemeneten egy gombnyomást szeretnél detektálni. Amúgy a témáról bővebben rengeteg ismeretanyagot találhatsz, ha bővebben szeretnél róla tudni.
A megvalósítandó feladathoz pedig kiindulásként annyit, hogy elsősorban a nyomógomb prell mentesítését kell megoldani, számolni a lenyomásokat és az első gombnyomás után indítani egy timert (ez jelen esetben praktikusan a millis() függvény értékének a tárolása). Majd a második lenyomásnál ellenőrizni, hogy eltelt-e már az 1 sec (a millis() miatt valójában 1000 msec). Ha nem, akkor az a dupla gombnyomás volt, ha pedig már letelt, akkor újra indul a timer és törlődik a számláló. A kimenet kezeléséhet szintén érdemes egy timert használni és kerülni a delay() használatát.
Természetesen más megoldás is lehetséges, ez csak egy ötlet.
(#) LMartin2000 hozzászólása Aug 26, 2022 /
 
Köszi a gyors válaszokat!
Így már kezd kitisztulni a kép
Akkor ha jól értem a mikrovezérlők bemenetei alap állapotukban mindig egyet vesznek fel(a felhúzó ellenállás miatt), és nullát amikor például egy nyomógombbal lehúzzuk.
Tehát ha én jelet adok egy bemeneten az valójában megszünteti a jelet. Hiszen a GND-re húzás miatt a bemeneten nulla_(LOW) lesz.
A programba pedig nem az írom, hOGY mikor egyes_(HIGH) a bemenet akkor kapcsoljon fel a lámpa - kimenetként definiált I/O portra tegyen feszültséget -, hanem épp ellenkezőleg, akkor kapcsoljon a lámpa ha bemenet nulla_(LOW), igaz?
A hozzászólás módosítva: Aug 29, 2022
Moderátor által szerkesztve
(#) vargham válasza LMartin2000 hozzászólására (») Aug 26, 2022 / 1
 
Idézet:
„a mikrovezérlők bemenetei alap állapotukban mindig egyet vesznek fel”

Nem. Alapértelmezetten bemenet szokott lenni a láb.
Ha a programodban BEKAPCSOLOD a felhúzó ellenállást, akkor felhúzza tápfeszültségre, de nem hajtja meg kimenetként. Ez fontos különbség.
Ha olyan a mikrokontroller, akkor lehúzó ellenállás is lehet benne.
(#) Massawa válasza LMartin2000 hozzászólására (») Aug 26, 2022 / 1
 
Alapvetöen a modern logikai áramkörokben jobb, ha az aktiv állapot a LOW. ( a föld GND) alapbol mindenütt közös és jol definiált, a HIGH meg sok esetben kétséges illetve változhat is.
(#) Josi777 válasza LMartin2000 hozzászólására (») Aug 27, 2022 / 1
 
A kérdésedre a válasz, hogy igen, alapvetően jól gondolod. Persze a felhúzó ellenállás bekapcsolása opcionális, de egyszerűbbé teszi pl. a nyomógombok kezelését (már amennyiben közel vannak a panelhez).
(#) kapu48 válasza LMartin2000 hozzászólására (») Aug 27, 2022 /
 
Ha tanfolyamot keresel ajánlom ezt a sorozatott:
Cserny István: Arduino tanfolyam kezdőknek és haladóknak
(#) sargarigo válasza LMartin2000 hozzászólására (») Aug 27, 2022 /
 
Itt egy másik tanfolyam is: Bővebben: Link
(#) mnyugger válasza LMartin2000 hozzászólására (») Aug 27, 2022 /
 
Sőt. Itt egy harmadik.
Ez az első rész, de ma volt a harmadik rész.
(#) Kovidivi válasza Skori hozzászólására (») Szept 9, 2022 /
 
Ebbe én is belefutottam, mert nem egyértelmü, hogy most a .hex fájl tartalmazza a bootloadert, vagy bootloaderes Arduino-hoz passzol a .hex
Egyébkent a fájl mérete alapján látszódik, hogy a _with_bootloader fájl nagyobb, az XLoader-hez pedig a without_bootloaderes fájlt kell választani.
(#) f2f2 hozzászólása Szept 19, 2022 /
 
ELM327 programozásához ért valaki ?
AL re kapcsolva nem jöttem rá hogyan lehet SP5 (ISO 14230-4 fast init) módban
hosszabb üzenetet küldeni ? 8at tudok 9.el el se küldi.

Kössz
(#) bbb válasza f2f2 hozzászólására (») Szept 19, 2022 /
 
Eredeti, vagy klón? Firmware verzió?
(#) f2f2 válasza bbb hozzászólására (») Szept 19, 2022 /
 
1.4b vagy 1.5
lehet hogy klón
A protokol 5 enged hosszabb üzenetet vagy sem ?
(#) Helios hozzászólása Szept 20, 2022 /
 
Sziasztok.

Szimmetrikus tápfeszt szetetnék mérni Arduino-val. Hogyan lehetne ezt megoldani? Tudtok segíteni? (Az erősítőm tápját szeretném mérni.)
A hozzászólás módosítva: Szept 20, 2022
(#) Josi777 válasza Helios hozzászólására (») Szept 20, 2022 /
 
A negatív tápfeszhez képest méred a GND-t és a +tápot feszültségosztón keresztül.
(#) Helios válasza Josi777 hozzászólására (») Szept 20, 2022 /
 
Esetleg egy rajzot tudsz mellékelni? Egyszerre szeretném monitorozni mindket tartományt.
(#) proba válasza Helios hozzászólására (») Szept 20, 2022 /
 
A negatív tápot az arduinó pozitív tápjához képest osztod, a pozitívot meg a testhez képest. Aztán némi számolás, és minden a helyére kerül.
(#) benjami válasza Helios hozzászólására (») Szept 20, 2022 /
 
Valami ilyesmi.
A hozzászólás módosítva: Szept 20, 2022

oszto.png
    
Következő: »»   743 / 839
Bejelentkezés

Belépés

Hirdetés
Lapoda.hu     XDT.hu     HEStore.hu
Az oldalon sütiket használunk a helyes működéshez. Bővebb információt az adatvédelmi szabályzatban olvashatsz. Megértettem