Fórum témák
» Több friss téma |
Hello! Ha nem kell ide-oda rángatni a szelepet akkor bizony a Helipot a jó irány. Mert létezik többfordulatú abszolút értékű enkóderek, csak az áruk is húzós..
Szia/sziasztok!
Mindkettőtöknek válaszolok mivel nagyjából ugyanazt írtátok. Gondoltam a helikális potméterre, bár azok elég robosztusak, a motorom meg kicsi teljesítményű, mivel egy könnyen forgatható tűszelepet kell mozgatnia. De egyébként elég sűrűn kellene mozognia, mivel egy rendszer hűtését kellene optimális szinten tartania, korrigálnia. Szervo motorból nincs olyan ami ezt egyszerűen megoldja?
Egyszerű encoder, (csillagkerék+induktív vagy optokapu) impuzusokat fel/le számlálja értéket folyamatosan elmenti. Iparban többfordulatos abszolút jeladó.
Nem olyan nagyok azok csak drágák.
A csillagkerekes encoderrel csak az a problémám, hogy azt minden egyes indulásnál kalibrálni kell, végállás kapcsolókkal. Egy hasonló van a kazán huzatszabályzómban, (nem ecoder, hanem léptető motor) ami minden indulásnál le kell hogy nullázza magát, hogy onnan számolja a lépéseket. És az is téved időnként, és elmászik a pozíciója.
Még a hall szenzoron gondolkodtam. Azzal csak annyi a problémám, hogy forgó mágnessel csak fél fordulatig tudok pozicionálni, a lineáris mozgatás megoldása meg kicsit macerás, bár a 3D nyomtatóval sok mindent meg tudok oldani. A hozzászólás módosítva: Szept 14, 2022
Jé, én ennél eddig csak nagyobbakat láttam.
Ki tudja milyen felbontás kellene, de létezik mágneses szög jeladó is: Bővebben: Link. Ez csak egy fordulatot tud, de lehet áttételezni.
Fórum: Ki mit épített? (#) HeZ válasza vorosj hozzászólására (») Válasz • Ápr 28, 2022
Ez az AS5600-án alapuló I2C buszos Grove mágneses abszolút elfordulás érzékelő panel (7,74€) nálam is tökéletesen működik - 12 bites, tehát a teljes kört 4096 abszolút értékre felosztja, lehet kezdő és végpontot tanítani, 360 fokos szögértéket, mágnes jelenlétet, mágneses térerőt kiolvasni.
Vannak többfordulatú trimerek. Bővebben: Link Ezek elég kicsik tudnak lenni, de meg kell küzdened a tengelykapcsolat kialakításával, számolnod kell a kotyogásukkal, és persze nem arra vannak kitalálva, hogy óránkét több százszor végigtekergesd.
Köszönöm mindenkinek az eddigieket, de még nem léptem tovább, mert a potméterrel és a hall szenzorral is az a problémám, hogy valahogyan áttételeznem kell és azzal biztos hogy a kottyanás miatt problémám lesz.
Nincs valaki aki járatos a modell szervo motorokban? Mert szerintem azzal lenne a legegyszerűbb megoldani a problémám. Azt tudom hogy vannak több fordulatú szervok, viszont azt nem, hogy azok pozíció visszajelzése hogyan működik, van-e abszolút pozíció visszajelzésük. Ha valaki járatos ebben a témában, kérem írja meg, vagy küldjön linket ahol utána tudok nézni. Köszi, Laca
Már bocs! De tanácsot kérsz, de sem a körülfordulások számát, sem a pontossági igényedet nem adod meg. Így ha tudnék, akkor sem tudnék válaszolni..
Elnézést!
A körülfordulások száma legalább tíz kell hogy legyen, mert annyi a szelep teljesen zárt, illetve nyitott állapota között a különbség. A pontosság annyira nem lényeges, 5-10° belefér, mivel hőmérséklet függvényű dinamikus szabályozásról van szó, így úgyis korrigálja magát. A hozzászólás módosítva: Szept 16, 2022
Itt láthatsz egy példát, ahol többfordulatú trimert barkácsoltak be egy MG995-ös szervóba, így többfordulatú lett belőle.
A 10 fok hiba, a 3600 fokhoz képest 0,28% hibát jelent. De a szelep állás/áramlás linearitása ezzel köszönő viszonyba sem lesz..
Köszönöm, ez tetszik!
Évente párszor lenne használva a szerkezet, úgyhogy nagy valószínűséggel kibírná a trimer is. És a szervó se túl drága, úgyhogy mindenképp átgondolandó.
Nem gondolom hogy ez probléma, hiszen a szoftver egy adott hőmérséklet tartására lesz kihegyezve, úgyhogy nem számít a linearitás. Ráadásul azt sem tudom, hogy a szelep önmagában mennyire lineárisan működik a fordulataihoz képest. A lényeg hogy a megadott hőmérséklet alatt valamennyit zárjon, fölötte nyisson, úgy hogy a legközelebb tartsa a hűtővizet a megadott értékhez.
Oké, én úgy látom, hogy ez egy légtechnikai szűkítő, amit általában munkahengerek lefúvatásánál használnak a mozgás sebesség korlátozásához..
De minden a szabályozás követelményeitől függ, ami elsőre egyszerűnek szokott látszani, de azért nem az. Minden esetre a végrehajtó nemlinearitása gondot szokott okozni a szabályozási hurokban. De majd meglátod megfelelő-e vagy sem. A szelepből ítélve ez nem lesz egy komoly dolog.. De nem tudom, hogy az átáramló mennyiség számodra megfelelő-e, kipróbáltad-e, hogy lehet vele kézzel szabályozni. (De én mindig szkeptikusabb vagyok, mint azt valami indokolná, nem kötelező rám hallgatni!) A hozzászólás módosítva: Szept 16, 2022
A modell szervo motorokból nem nyerhető ki az aktuális pozíciójuk (elméletileg lehetséges, de gyakorlatilag túlságosan pontatlan). Ezeknek a motoroknak a bemenetére egy pozíció adat kerül és erre a pozícióra próbálnak beállni. Miután nem azonnal veszi fel ezt a pozíciót, ezért legalább addig kell ciklikusan küldeni ezt az értéket, amíg el nem éri a kívánt pozíciót. Ha nem csak pozícióra állásra van szükség, hanem erőt is ki kell fejteni, akkor folyamatosan biztosítani kell ezt a jelet, hogy a motorra ható erő ne mozdítsa ki a pozíciójából. Ez röviden a motor elvi működése. Amiről te beszélsz, az a 360 fokos modell szervó, ami gyakorlatilag egy kis áttételes DC motor. Ilyenkor egy normál motorhoz képest a vezérlésében van csak különbség, ami abban nyilvánul meg, hogy a pozíció jel nem magát a pozíciót jelenti, hanem a forgás irányát és sebességét (erről itt bővebbet nem írnék róla, hogy miért).
Ami a számodra a lényeg, hogy nem kinyerhető belőle, hogy hány fordulatot tett és éppen milyen pozícióban áll. Ezért egy szelep állításához nem célszerű a használata. Sokkal inkább megfelelő lehet egy áttételes enkóderes DC motor, mint pl. ez: Mini áttételes DC motor
Ha neked a hömérséklet szabályozása a célod nem kell semilyen szervo, hiszen a proci tudja, hogy milyen hömérsékletet kell elérni, és ahhoz egy szelepállás tartozik. Neked maximum egy idözitöt kell berakni a programba, meg a szelep elött és utánna kell a hömérsékletet mérni a különbség adja a szelepállást.
Azaz a bekapcsolás után egy bizonyos ideig nem kell mozgatni a szelepet, csak a hömérsékletet mérni. Ebböl kiderül a szelep aktuális állása, és innentöl veszi át a proci a vezérlést. Általában elég a végállásokat védeni egy mikrokapcsoloval stb. Söt a modern megoldás az, hogy méred a motor áramát és ha az növekszik, akkor megállitod, mert a végállásban van. Mindössze 2 drot kell vezetéknek. Ilyen megoldások vannak az ujabb autokban mindenféle zárakhoz és egyébb mozgatott elemekhez ( ablakmozgato motor stb ).
Rátapintottál a lényegre! Pont ilyen áttételes mini DC motorom van. Azt hiszem ezt fogom valamilyen módon összekombinálni egy többfordulatú trimerrel, mert bár a hallszenzor "kopásállóbb" de csak nagyon nehezen tudnám megoldani a mechanikai kivitelezést, mert az vagy csak fél fordulatig működik, vagy lineárisan kellene mozgatnom a mágnest.
Egyébként egy egylépcsős lepárló hűtését szeretném vele automatizálni.
Josi77 & Laca13
Szerintem itt van egy kis félreértés. A szervo pozicioját meglehetösen pontosan méri a belsö poti vagy enkoder, azaz ott nagyon pontosan lehet tudni hol áll a motor, és ehhez a poziciohoz meg meglehetösen pontos impulzusszélesség tartozik. Azaz ha bekapcsolás után a proci ezt az impulzusszélességet küldi ki, akkor a motor meg sem moccan.. A hiba a gondolatmenetben ott van, hogy ezt a helyzetet a külsö procira akarjátok bizni, holott annak csak az lenne a feladata, hogy az adott állapothoz, hömérsékletekhez stb meghatározza a motor állását, és ha kell ezt az adatot mentse el az eepromba, azaz bekapcsolás után onnan olvassa ki hol is áll a motor/szelep. Ezt meg a szervoval meglehetósen pontosan meg lehet oldani, hiszen annak az állása nagyon pontosan a beküldött impulzusok szélességének felel meg. Azaz nincs semmi szükség arra, hogy a proci tudja hol van az adott pillanatban a szervo, hanem csak az kell meghatároznia, hol kell lennie, azaz teljesen mindegy, hogy hol van a bekapcsolás pillanatában, amint a proci tudja hol kell állnia, (pl 50%) elküld 50%os PWM jelet és a motor azonnal a középállásba fog fordulni. Ha ezt a jellemzöt elmented, akkor mindent kikapcsolhatsz, és uj bekapcsolás után ugyanezt az állást tudja kommunikalni. A többfordulatú szervo is pontosan ugyanigy müködik, de ott a kimeneten van egy áttétel, ami a kb 270 fokos fordulatot megsokszorozza ( többnyire 3*360 fokra). Ráadásul akkora áttételeket amik ilyen szervokban vannak kivülröl már alig lehet mozgatni, azaz a szelep magátol nem tud mozdulni. Ha gondolod beépithetsz egy önzáro áttételt ( csiga ) ami kizárja, hogy állo ( kikapcsolt ) motornál mozduljon a szelep. Vannak drágább nagyon pontos fém szervok, amik több kilos dolgokat is tudnak mozgatni, robotkarokat emelni. Nem a poziciojának a kiolvasásával kell veszödni, hanem cél elérésével. A szelep esetében még egy kis mozgás is megengedhetö azaz a kivánt állapotnál egy kicsit tul is szabályozhat meg vissza is, azaz a kimeneti hómérséklet nagyon pontosan betarthato. A hozzászólás módosítva: Szept 18, 2022
Lassan összeállt a szelep vezérlésem és már csak egy problémám maradt. Ha valamiért túlzár, vagy túlnyit a vezérlés, a szelep megszorul. A vezérlést egy esp32 végzi, és potméter adja a pozíciót az ADC pinen keresztül. Azonban ez a megoldás (a hall szenzoros se) nem teljesen pontos, így időnként túlszalad a végállásokon. Mechanikus végálláskapcsoló nem jön szóba, mivel a szelep többfordulatos. Áramot kell mérnem, ami szerintem megoldható egy shunt-tel, viszont probléma hogy a motorvezérlő és a motor 5v-on megy, az esp32 viszont max. csak 3,3v bemeneti jelet bír el. Nem tudom jó-e, de én arra gondoltam, hogy a shunt után egy egyszerű feszültségosztóval leosztom a kapott jelet és azt küldöm mérésre. Nem akarok bonyolult megoldást, a lényeg csak annyi, hogy bizonyos áramfelvétel fölött le tudja állítani a mozgatást.
A söntön pici feszültség szokott keletkezni, különben nem nevezhető söntnek, hanem fűtőbetét
Ezt a pici 100mV nagyságrendű feszt nem kell tovább osztani... A söntöt a negatív ágba kell tenni és mérhető. Ha csak a pozitív ágba tudod tenni, akkor szintáttevő kell, nem fesz osztó. De lehet felesleges "méricskélni", oda lehet tenni egy komparátort, amit figyel az ESP és/vagy blokkolja elektronikusan is a motort
Köszönöm. Biztos igazad van, bár én méregettem úgy hogy a negatív ágba tettem a söntöt, ( 22ohm) és nekem a sönt után bizony közel 5v jött le teljes blokkolásnál. Nem szeretnék több aktív alkatrészt is beépíteni, ha megoldható néhány ellenállással.
22ohm nagyon sok... Az az 5V veszteség is nagyon sok lehet a motor szempontjából. max pár száz mV-ot szoktak söntre megengedni/használni. De lehet így is, csak akkor azt inkább fűtőbetétnek hívjuk és azt a meleget is kell tenni valahová...
Ha nagyon nem akarsz műverősítőt betenni... megnézed az ESP ADC mérési tartományát, oszd akár 4-el (legyen tartalék), ezt biztonsággal tudja mérni... erre méretezd a söntödet.
Konkrétan most nem emlékszem, de a motorom csupán pár száz milliampert vesz fel még blokkolva is, szerintem ezért nem fűt még a 0,25W-os ellenállás sem. Nagyon pici fogaskerék áttételes motor.Tény, a veszteség biztos hogy nem jó a motornak, mivel eleve motorvezérlővel megy, ami önmagában is levesz a tápfeszből. (A veszteség nem 5v, az a tápfesze a motornak) A 22ohm úgy lett, hogy ez volt itthon. De ugye ha kisebb söntöt teszek be, akkor még inkább megnő a rajta mért feszültségem. Én tettem egy próbát, és a sönttel párhuzamosan csináltam egy feszültségosztót két ellenállásból, 10K, 33K, így ezen blokkolásnál mértem 170mV-ot, egyébként meg pár tíz mV-ot. Ez így miért nem jó?
Kisebb söntnél miért lenne nagyobb a rajta eső fesz? Végülis csinálhatod fesz osztóval is...
ezt írtad: "( 22ohm) és nekem a sönt után bizony közel 5v jött le " 5V esett a söntön? Akkor az 5/22 230mA, 5*230mA az 1.1W, vagyis a 0.25W-os ellenállás tuti jó fűtőtest, jó rövid távon elviselheti, de nem lesz hosszúéletű...
Jól elbeszélünk egymás mellett. Nem mondtam hogy a söntön eső fesz lesz nagyobb, pont az ellenkezőjét próbáltam leírni,
Idézet: tehát kisebb lesz a feszültségesés. Azt sem sikerült összehoznunk, hogy az 5v az a tápfesz, és nem a feszültségesés, . Ez az eredeti probléma lényege, mivel az esp ADC lába ezt nem viseli. „inkább megnő a rajta mért feszültségem.” A feszültség esés a 22ohmon, kevesebb mint 1v. Tehát a 0,9/22 az 0,04mA, 5*0,04 az meg 0,2W. Valószínűleg ezért nem melegszik még a motor blokkolásánál sem, még a 0,25W-os ellenállás sem. Persze jobb lenne kisebb ellenállású sönttel, mert a motor tápfeszét minél kevésbé kéne levennem, viszont akkor a mérni kívánt feszültségem is még nagyobb lesz. Ezért gondoltam a feszültségosztóra. Csinálok kanthal huzalból egy egy-két ohmos söntöt, és ahhoz csinálok egy megfelelő értékű feszültségosztót.
Nem értem hol a gond. Ha a negativ ágba teszed a söntöt ezek szerint 0-1V feszültség lesz rajta, ami belefér az esp mérési tartományába...
|
Bejelentkezés
Hirdetés |