Fórum témák

» Több friss téma
Fórum » Léptetőmotorok (vezérlése)
Lapozás: OK   95 / 164
(#) l0rika válasza guliver83 hozzászólására (») Máj 28, 2013 /
 
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?
(#) vicsys hozzászólása Jún 9, 2013 /
 
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
(#) Massawa hozzászólása 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.
(#) pipi válasza Massawa hozzászólására (») Jún 9, 2013 /
 
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
(#) pipi válasza vicsys hozzászólására (») Jún 9, 2013 /
 
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
(#) Massawa válasza pipi hozzászólására (») Jún 9, 2013 /
 
É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
(#) pipi válasza Massawa hozzászólására (») 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
(#) Massawa válasza pipi hozzászólására (») 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.

(#) pipi válasza Massawa hozzászólására (») Jún 10, 2013 /
 
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
(#) Zoli_bácsi válasza vicsys hozzászólására (») Jún 10, 2013 /
 
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.
(#) Massawa válasza vicsys hozzászólására (») Jún 10, 2013 /
 
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.)
(#) Zoli_bácsi válasza Massawa hozzászólására (») Jún 10, 2013 /
 
Teljesen jogos. No de ezt hívják úgy, hogy tervezés
(#) vicsys válasza Massawa hozzászólására (») Jún 10, 2013 /
 
Ö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!
(#) Massawa válasza vicsys hozzászólására (») Jún 10, 2013 /
 
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).
(#) vicsys válasza Massawa hozzászólására (») Jún 10, 2013 /
 
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...
(#) Massawa válasza vicsys hozzászólására (») Jún 10, 2013 /
 
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.
(#) vicsys válasza Massawa hozzászólására (») Jún 10, 2013 /
 
Köszönöm. Nálam a gravitáció nem szól bele és reteszelni sem kell. Azért ez tanulságos volt.
(#) kaqkk válasza Zoli_bácsi hozzászólására (») Jún 10, 2013 /
 
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
(#) Zoli_bácsi válasza kaqkk hozzászólására (») 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.
(#) Zoli_bácsi válasza kaqkk hozzászólására (») Jún 10, 2013 /
 
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
(#) kaqkk válasza Zoli_bácsi hozzászólására (») Jún 10, 2013 /
 
Akkor nem egy uln ről beszélünk
(#) vicsys válasza kaqkk hozzászólására (») Jún 10, 2013 /
 
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
(#) Zoli_bácsi válasza vicsys hozzászólására (») 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
(#) kaqkk válasza Zoli_bácsi hozzászólására (») 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

uln2003.pdf
    
(#) Zoli_bácsi válasza kaqkk hozzászólására (») 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.
(#) kaqkk válasza Zoli_bácsi hozzászólására (») Jún 10, 2013 /
 
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
(#) vicsys válasza kaqkk hozzászólására (») Jún 10, 2013 /
 
De a GND-vel (8) igen...?
(#) kaqkk válasza vicsys hozzászólására (») 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
(#) vicsys válasza kaqkk hozzászólására (») Jún 10, 2013 /
 
Szerintem meg az alábbi algoritmus, kielégítene:
- GND bekapcs
- motor birizgál
- GND kikapcs
Nos?
(#) kaqkk válasza vicsys hozzászólására (») Jún 10, 2013 /
 
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
Következő: »»   95 / 164
Bejelentkezés

Belépés

Hirdetés
XDT.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