Fórum témák
» Több friss téma |
Fórum » Léptetőmotorok (vezérlése)
Igen ez sokban eltér és másat már nem építek, mivel nincs időm arra is.
A híd kapcsolgatásánál vannak gondjaim...mármint az A és B kapcsolásánál állandóan rövidzár lép fel. Ha a FET meghajtó IC-ket 6V-al táplálom akkor van amikor megy viszonylag jól, viszont ha nagyobbal akkor már teszi az eszét. A motorok tekercsére jutó és az IC-ket meghajtó tápforrás nem azonos, csak a földjük, ezért nem értem, hogy hogyan tudják befolyásolni egymást?
Egy kis ötletelési segítséget kérnék egy elgondolásomhoz.
Tételezzük fel, hogy van 50db. 4 vezetékes mini léptető motorom és ezeket szeretném vezérelni külön külön. Hogy ne legyen drága és alkatrésztemető az elektronika, a vezérlést egy PIC adná és motoronként lenne 1-1 smd ULN meghajtó IC. Ha mindegyik ULN bemenetét egyszerre vezérlem, akkor már csak egy chip enable/disable bemenet kellene rájuk és akkor már bármikor mehetne bármelyik, ugyanarról a vezérlő jelről. Vajon, hogy lehetne megoldani? Tiltsam a közös testet egy-egy tranyával? Vagy van valami elegánsabb megoldás? A hozzászólás módosítva: Jún 9, 2013
Sziasztok.
Ötleteket keresek, hogyan lehetne egy léptetömotort optimálisan vezérelni. A feladat a következö. A kezelö beadja, hogy hány lépést tegyen meg ( ST) és erre mennyi idö áll rendelkezésre (T). A motornak állo helyzetböl kell indulni fokozatos gyorsulással és ugyanigy kell megállnia a célban ST lépés után. A motormeghajto irányjelet és lépésimpulzst fogad. Kösz az ötleteket.
Hali!
Ez csak szoftver kérdése... Miben vársz segítséget? Hasonlót csináltam, de ott kikisérleteztem a motor max sebességét, max gyorsulását, (hány lépés alatt éri el a max-ot), a lassítást a gyorsítási lépések felére vettem. Biztos szükséges az időt megadni, nem jó ha mindig fix sebességre gyorsul? Rövidebb időt úgyis hiába adnának meg mint amit a mechanika tud, a számítást meg jócskán bonyolítja... Pic18f2620 végzi a vezérlést
Hali!
Milyen ULN-re gondolsz? Shift regiszteres? nem lehet az egészet egy (vagy több) soros láncba fűzni? Az is kérdés hány lábú Pic-et választanál
É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
|
Bejelentkezés
Hirdetés |