Fórum témák
» Több friss téma |
Fórum » Léptetőmotorok (vezérlése)
Én Atmellel csinálnám (arra vagyok berendezkedve), de még nem vagyok biztos teljesen az algoritmusban. A mozgási határok tul tágak az egyszerü megoldáshoz. A cél az, hogy megtaláljam az optimális sebességet és gyorsulást/lassitást.
A feladatban kimondottan fontos a T idö, és az ehhez tartozo lépésszám - mert ennyi idö alakk kell a berendezésnek a megfelelö irányba fordulnia. Ugy gondoltam, hogy választott idö ( pl.T= 10 mp 1/3-t szánom a gyorsitásra és lassitásra, mig a maradék idöben a választott lépések számához igazitott sebességgel forogna. Ez még mindig elég sok ismeretlenes feladat, de már egyszerübb, mint az eredeti ötlet volt. Ebböl az is kiadodhat, hogy a motor nem megy max sebességgel, és ennek az értéke nagyobb, mint az átlag sebesség. Pl. Ha 1000 lépést kell megtennie 10 mp alatt ( választott értékek -az átlag 100 lépés/ s lenne ami = 100Hz), akkor 1,5 mp alatt kell >100Hz-t elérnie majd ezzel a lépés gyakorisággal kell mennie 7 mp -n át, majd lelassulnia 0-ra. Nem tudom, hogy lehet-e fix gyorsulási idövel számolni (a T idö 2x1/6 ) vagy ez is változzon az elméleti átlag sebesség függvényében. Más legyen, ha 10 mp alatt 50 vagy 5000 lépést kell megtenni. ( a 2 érték kb az a tartomány, amit a motor egy ciklusban fordulhat.). A hozzászólás módosítva: Jún 9, 2013
Én a gyorsitást/lassitást fixre venném, amit a mechanika tud, hány lépés alatt, milyen időrövidüléssel, ezt levonva az össz lépésszámból/időből, és tudva a teljes időt adódik a többi. Nagyon lényeges szerintem hogy az idő mennyire esik közel a mechanika idejéhez.
Ha túl nagy az idő, akkor akár lehet hogy gyorsításra lassitásra egyáltalán nincs szükség. Egyébként nyilván a feladat dönti el hogy milyen sebességű gyorsítás/lassítás szükséges, szóval az a trapéz sebességdiagram hogy kell kinézzen, szóval nagyon pontosan definiálni kell a feladatot, szóban elmondva egyszerű, de belegondolva elég bonyi algoritmus tud kijönni... A hozzászólás módosítva: Jún 9, 2013
Pontosan az a kinom, hogy mikor, hogyan döntsem el a trapéz felfutási szögét. Csak nagyon lassu mozgásnál lehet ezt elhanyagolni, viszont ha fixre veszem a szögét, akkor meg gondban leszek, ha a választott idö rövidebb, mint a fel/lefutási idö összege, azaz a trapézból hárömszög lesz.
![]() Szoval erre probálok ötleteket szerezni, no meg a programozásra, hogyan lehet a trapéz szögét kezelni. Utoljára vagy 30 éve csináltam ilyesmit, de azt még CMOS hardwares és némi mechanikai uton ( lendkerék), és a mai napig müködik, igaz sima DC motorral, s most ezt kellene kicserélni léptetömotorra.
ha pici az idő nyilván 3szög lesz, ezt a mechanika dönti el mit bír sebességben, vagyis nem tud max-ra felgyorsulni, mert már a lassítást kell kezdje, és ez így van jól
Az elgondolás jó. Az ULN Common lábát lehetne kapcsolgatni egy-egy tranzisztorral. Úgynevezett "enable" funkció. Egy vezérlő sín, amin rajta vannak a step jelek, amit minden ULN megkap, és csak az az ULN lesz aktív, aminek bekapcsolod egy tranzisztorral a Common közös lábát. PNP tranyóval a +UT tápot szakítod, vagy NPN tranyóval, a 9-es lábat szakítod GND felé. Szerintem jó ez elgondolásod, amit kitaláltál. Fölösleges túlbonyolítani, ez az elegáns megoldás szerintem.
Ez feltételezi, hogy a motor nincs mechanikailag leterhelve, vagy önzáro áttételt hajt ( csiga ). Ugyanis ha az ULN dissabled modban van, akkor a motor tekercsein nem folyik áram, igy a motor könnyen elfordithato (akár a terhelés is elmozdithatja) - azaz megszünik az öntarto hatás. ( Ha ilyesmire szükség van, akkor latchos meghajto kell, aminek külön lehet engedélyeztetni a bemenetet a kimenet meg az utolso aktiv állapotban marad.)
Teljesen jogos. No de ezt hívják úgy, hogy tervezés
Öntartásra és egyéb dolgokra nincs szükség, mert áramszünet esetén null pozícióba inicializál és kezdődik előröl a folyamat. Úgy tervezem, hogy 2 végállás között fog oda-vissza mocorogni. Semmi más.
Zoli_bácsi, neked is köszi!
Ne keverjük a dolgokat, a motorjaid szinte állandoan áramszüneti állapotban lesznek! (az 50 motorból egyidejüleg csak 1 fog mocorogni, a többi áramtalan lesz).
Arra gondoltam, hogy ilyenkor a motor a terhelés hatására elfordulhat, hiszen áramtalan, ez nem ugyanaz, mint amikor kikapcsolod az egész szerkezetet beleértve a vezérlö elektronikát is).
Terhelés, tulajdonképpen nincs rajta, emiatt a 2 végállás, csupán szimpla fizikai állapot és ennyi. Bár most már értem, hogy mit is magyarázol...
Csak azért mondtam, mert nemrég egy barátom szellözö lamellákat hajtott igy meg, s ö is sporolni akart ezzel azzal, igy csak akkor volt áram alatt a motor, amikor müködtetni kellett, aminek az lett a vége, hogy a huzat is kinyitotta a lamellákat a becsapott ajtorol nem is szolva.
Köszönöm. Nálam a gravitáció nem szól bele és reteszelni sem kell. Azért ez tanulságos volt.
Zoli bácsi ! Szerintem te összekeversz valamit ! Ha az uln common lábát gnd re húzom az összes kimenet gnd -n lesz (lámpateszt) Ha vcc re kerül akkor visszafutás dióda lesz minden kimeneten ,ez nem jó enable lábnak! Nézd csak meg a datasheet-ben .
A hozzászólás módosítva: Jún 10, 2013
A Common lábat nem GND-re, hanem tápra, vagy sehova. A common tulajdonképpen a kimeneti tranzisztor kollektora. Tehát az uln nyitott kollektoros kimenet, a common láb a közös +ut. Ha a közös (common) lábikó be van kötve tápra, akkor a kimeneteken is lesz jel, ha nincs bekötve, nem lesz jel. Ugyanis nincs mihez jelet mérni.
Mondom. Néztem. A Common a közös táp. Ha nem adsz tápot az ic-nek, nem megy. Ha adsz, megy. Gyakorlatilag "enable" funkciónak is felfogható.
A hozzászólás módosítva: Jún 10, 2013
Akkor nem egy uln ről beszélünk
Az ULN2803-nál a 8-as láb a GND (ezt lehetne vezérelni) és a 9-es a diódák közöse. Vagy nem jól gondolom...?
A hozzászólás módosítva: Jún 10, 2013
A 10-es láb az gyakorlatilag a tranyó mező kollektorai, vagyis a +ut táp, vagyis a diódák közösei. Ha nem adunk ide +ut tápot, akkor nem megy az ic. Ha adunk ide +ut tápot, akkor megy az ic. Vagy a GND-t, vagy a tápot lehet kapcsolgatni, ergo működtetni a tranzisztormezőt, avagy sem. Ha nem kötjük a commont sehová akkor elvileg nyitott kollektoros mezőt kapunk.
A hozzászólás módosítva: Jún 10, 2013
Akkor elbeszéltünk egymás mellett ! a common a 9 láb én arról beszéltem (ez belső diódákkal kapcsolódik az összes kimenetre) te viszont a tápról beszélsz... A pdf ben a 8 as láb a gnd (rajz a 4. oldalon) Táp külön nincs a tranzisztormezón , mert a terhelést kapcsolja gnd re, tehát a motoron keresztül jut a + a kollektorokra .
A hozzászólás módosítva: Jún 10, 2013
Idézet: „Táp külön nincs a tranzisztormezón , mert a terhelést kapcsolja gnd re, tehát a motoron keresztül jut a + a kollektorokra .” Ez pontosan így van, igen. Viszont a common lábra is szükség van, ezt is a tápra kell kötni.
Igen ! Ha induktív a terhelésed ő védi meg a tranyókat az induktív "visszarúgástól" és ha gnd re kapcsolod akkor minden kimenetet gndre húz "lámpateszt" funkció .Hidd el hogy evvel nem lehet engedélyezni-tiltani a működést .
A hozzászólás módosítva: Jún 10, 2013
A gnd ki ki be kapcsolásával megoldható, de ha a commont gnd re kapcsolod a motor minden lába gnd re kerűl " tartóáram" ! Én inkább a motorok közös + lábának a ki be kapcsolásával operálnék (mint a kijelzők multiplex üzeme) Így egy uln elég lenne és minden motor + kivezetésén egy tranyó vagy egy udn es + os tranzisztormező
A hozzászólás módosítva: Jún 10, 2013
Szerintem meg az alábbi algoritmus, kielégítene:
- GND bekapcs - motor birizgál - GND kikapcs Nos?
Ez is jó , de mivel kapcsold a gnd-t? Így viszont egy uln 2 motort tud meghajtani . viszont a másik megoldással 2x akárhányat
A hozzászólás módosítva: Jún 10, 2013
Tranzisztor, FET, PIC kimenete vagy valami.
A te döntésed , vagy két motoronként egy uln és egy fet , vagy minden motorra egy fet és egyetlen uln ...
Tekintettel arra, hogy (szerény becslésem szerint elég lesz a PIC kimenete a meghajtáshoz) és tranya is 14Ft valamint az ULN is csak 50Ft/db. , ez nem tétel.
Egyébként mit fog csinálni az a sok piciléptetőmoci??
A hozzászólás módosítva: Jún 10, 2013
Kaqkk barátomnak tökéletesen igaza van. Összeraktam egy tesztpadon, és a common lábat ha lekötöm testre, akkor is világít a led, ha felkötöm tápra akkor is. Tehát igazából a GND lábbal lehet operálni. Ha a bemenet nincs bekötve, vagy GND-n van, akkor a common GND-re kapcsolásával aktívvá válik a kimenet. Én tudtam rosszul, Kaqkknak igaza van!!
|
Bejelentkezés
Hirdetés |










