Fórum témák

» Több friss téma
Fórum » 4017-el matrix alapu vezérlés pcvel
Lapozás: OK   1 / 3
(#) Prome hozzászólása Jan 30, 2011 /
 
Sziasztok

Sok motort kellene vezérelnem pcvel, minimális pénzből.

Parasztos megoldásra gondoltam:

A paralel port 2-es és 3-as lábával meghajtanék egy egy 4017-es IC-t, (kivánt darabszámu órajelet adnék) melyek az ábra szerint mátrikba vannak kötve, de a matrixban tranzisztorok vannak.

Amelyik tranzisztor megkapja a kollektorára is és a bázisára is a feszültséget, megnyit s továbbadja a feszültséget. Így a matrix tranzisztorainak egy elemén az emiteren megjelenik a jel.

Ezt softveresen idővezérelve állitgatni lehetne, s igy eldöntve melyik a motor kapjon tápot.

Működhet ez igy szerintetek, mert ha igen, akkor néhány száz Ft.ból 64, dupla annyi pénzből meg 256 motor vagy egyéb eszköz lehetne vezérelhető.

köszi
(#) idlob válasza Prome hozzászólására (») Jan 30, 2011 /
 
Elvileg lehetséges, de számolj azzal, hogy a 4017 csak belülről Johnson számláló, kifelé N-ből 1 ként viselkedik, így a motorokra 1/bekapcsolt-motorok-száma kitöltési tényezővel jut a vezérlés.*
Latchekkel, vagy léptetőregiszterrel viszont kvázi statikussá tehető, és szerintem egyszerűbb is.
*Javítás: bocs, nem is, mert körbe kell léptetni a számlálókat, tehát 1/körebéréshez-szükséges-lépések-száma, ami mégrosszabb.
(#) konam válasza Prome hozzászólására (») Jan 30, 2011 /
 
Szia milyen paraméterű motort szeretnél vezérelni és a motor mit működtetne?
(#) Prome hozzászólása Jan 30, 2011 /
 
köszi a gyors válaszokat.

Latchről és léptetőregiszterről még nem hallottad, alapszinten ismerem a témát. De utána nézek.
Amugy kis modelmotorokról van szó, 3-12 volt egyenáramu, játékokból kiszerelt, illetve van amelyik 12V-os s valamilyen meghajtóban volt, ha jól emlékszem cdben.


Láttam egy egyszerű kapcsolást 4N25-ös optocsatolóval.
Arra gondoltam, a benne levő ledet potolom egy BC182 szerű tranyóval, (pnp, npn, most nem tudom, a harmadik láb pedig egyenesen egy BD135 bázisára megy ami 12V-ra van kötve. Ez ugy tudom kb 1 ambert bir 12 voltnál.

A védelmet ugy oldom meg, hogy van néhány régi 286-osom, azzal fogok kisérletezni, s ha kinyuvad akko r belátom költenem kell optocsatolóra.
De ha sikerül akkor plusz bc182 (vagy 181) és BD 135 kell motoronként.
Elsőre nem lesz sok motor, csak néhánnyal kisérletezem, hogy egyáltalán megy e, de ha működik akkor folyamatosan növelném a számát.

Több mindenhez kell a vezérlés.
Az egyik ötlet hungarocelből dombornyomat faragása forró tükkel. A mozgatási mechanikán is gondolkoztam, de olyasmi ötlet is van, hogy forog a tömb egy tányéron, s a motor csak ki és be tolja a forró tűket.

Szóval egy sajátságos megközelitésű cnc.
(#) Prome válasza idlob hozzászólására (») Jan 30, 2011 /
 
"Latchekkel, vagy léptetőregiszterrel "

Kicsit utána néztem ezeknek.
Tudsz tippeket adni melyik tipusok jók erre a célra, hogy jobban tájékozódhassak erről a lehetőségről?
Köszi
(#) Prome válasza idlob hozzászólására (») Jan 30, 2011 /
 
pl. 74LS573-ra gondoltál?

lptbov1.gif
    
(#) idlob válasza Prome hozzászólására (») Jan 30, 2011 /
 
Ha nem is pontosan így, de nagyon hasonlóképp!
Csatoltam két lehetséges verziót, még fogok hozzá némi magyarázatot fűzni, csak most időhiányban vagyok.
(#) proba válasza idlob hozzászólására (») Jan 30, 2011 /
 
Az első nem gondolnám hogy működik. A bázison befolyó áram a kollektortól függetlenül próbálja/nyitja az emitterre kötött tranzisztort, ezáltal plusz veszteséged keletkezik a motoron.
Az eredeti 4017-es mátrixot sem gondolnám életképesnek.A tranzisztorok kicsit furcsán viselkednek fordított bázis emitter feszültség esetén.
A mátrixok vagy optocsatolóval ,vagy egy ÉS kapuval a mátrixpontokon tudnak egy földhöz képesti kimenő jelet adni,amivel már a motor tranzisztora vezérelhető.
Esetleg ha az ic-k kimenetét megerősíti egy egy tranzisztorral,és a mátrixba a motorokat köti egy egy soros diódával ,elérheti hogy egyszerre az egy oszlophoz /sorhoz tartozó motorokat külön külön vezérelheti.
A második viszont valószínűleg jó eredményt fog adni,egyszerűen vezérelhető,és egyszerű.
Esetleg még a sorba kötött shift regiszterek lennének egyszerűbbek ,de azt nehezebb programozni,kicsit lassabb reagálásúak.
(#) Prome válasza Prome hozzászólására (») Jan 30, 2011 /
 
Jónak tőnik ez a 74LNxxx ic, egy gondom van vele:

Egy másik 4099 ha jól emlékszem IC segitségével 4 is egybeköthető, s ekkor 64 motor vezérelhető.
5 IV cel, darabja kb 100 FT.

Ellenben ha a 4017-ből kötünk mátrixba kettőt, az is 64 motort vezérel meg.

Ha a dupláját, kettőt kettőt kötünk matrixba, az már 256 motor vezérlése, 4 IC-vel.
Ujabb kettő hozzáadásával ujra duplázódik, 6 IC-vel már több mint 500 motor. És így tovébb, 8 IC-vel már ezer motor vezérelhető, s még mindig csak 2 kimenet van lefoglalva a spárhuzamos portból.

Való igaz ennek sok a hátránya, egyszerre csak egy motor foroghat, azonban ennek van egyben egy előnye is. Mivel egy motor forog csak egyszerre, a motor forgásirányát egyetlen egy paralel port csatlakozóval megoldhatjuk további IC halom összeépitése nélkül egy egyszerű irányváltó relé segitségével.
(#) Prome válasza idlob hozzászólására (») Jan 30, 2011 /
 
Köszi. Jól értelmezem, hogy az első mátrix?
Mert az jobban tetszene a magasabb motorszám miatt.

Proba! Még próbálom értelmezni amit irtál. Lehet elirtam a kollektort s emitert összecseréltem. Azt hiszem akkor nincs forditott feszültség. Vagy Tévedek? Mindenestre köszönöm az eddigi hozzászólásokat, nagyban segit majd a döntésben melyiket válasszam, mert hát müködésképtelen áramkört nem szeretnék épiteni a 4017-esekből, bármennyire is tetszik ez a saját agyszüleményem.

Még azon gondolkozom, nem lehetne e valami alacsony költségű módon megcimezni a motorokat.
Ha pl 20 morzejelhez hasonló sorozattól kapcsolna be egy egy motor, akkor egyetlen vezetékkel megoldható lenne egy egy motor vezérlése, mert az összes megkapná egyszerre de csak az indulna be amelyiknek cimzem. Így a végtelenségig szaporitható lenne a motorok száma. Bár ez már itt erősen offtopic, csak gondolkozok mindenféle megoldáson.
De ez lenne a legelegánsabb nem? A PC tud generálni ilyen jeleket, a kérdés mennyire bonyolult ezt fogadni és értelmezni.
Azt hinném csak 20 tranzisztor sor kell, ami csak egy bizonyos késleltetés után billen át, ha túl rövid a jel akkor nem billen át, ha tul hosszu akkor meg tulbillen s eljut az utolsó tranyóig is ami értelmezi hogy nem rá került sor. Persze ennél bonyolultabb, de örülnék ilyen irányu tippnek is.
(#) idlob válasza Prome hozzászólására (») Jan 31, 2011 /
 
Probának B-E irányban folyó árammal kapcsolatban teljesen igaza van, azóta már nekem is eszembejutott (eredetileg ezért jöttem fel), sajnos nem időben :vigyor5: , de ez a fórum, a "több szem többet lát" nagy előnye.

A 40xx család használatáról most lebeszélnélek. Egyrészt a TTL-CMOS összekapcsolás egyáltalán nem triviális, másrészt a kimenetük kevésbé terhelhető, és összességében sokkal érzékenyebbek.
74-es sorozatból is a 74HCT a szerencsésebb.

Az irányváltást nem tudom, hogyan képzelted el, de igazán egyszerű megoldást egyik fajta megoldással se látok.

A mátrix úgy gondolom megoldható, csak nem a vezérlést, hanem a motorokat kell mátrixba kötni. A csatolt kép csak a séma szemléltetésére van, az alkatrésztípusok ex-has lettek kiválasztva. A tranzisztoroknak el kell bírniuk az hozzájuk tartozó sor/oszlop összes motorának áramát (ha az összes mehet egyszerre). Védődiódák nincsenek feltüntetve, de azok úgyis kellenek minden variációhoz.
Vezérléshez 4017 helyett (fent említett okok miatt) inkább sregeket használnék, pl. a már szóba került 74HC595-t, így 3 portlábbal megoldható a működtetés, és egyszerre több motor is üzemelhet. Az lpt_lt képen direkt van 9 tároló, hogy látszódjék, hogyan lehet az őket vezérlő léptető regisztereket kaszkádolni, az alapján a mátrixot is ki lehet bővíteni "végtelen" nagyra.
Bár azért, ha már 8 motornál több kell, akkor is gondolkodj el, hogy nincs-e egyszerűbb módszer.

Felmerült még egy kérdés bennem, bár ez szorosan nem ide tartozik, de az egyszerű DC motorok pozíciójáról hogyan fogsz értesülni? Szerintem ez keményebb dió lesz, mint a vezérlés többi része.

mtx2.png
    
(#) idlob válasza idlob hozzászólására (») Jan 31, 2011 /
 
74HC595 az 74HCT595 (esetleg 74LS595, de ilyet talán már nem is gyártanak) akart lenni. Iagzából HCT is CMOS csak ért TTL-ül is
(#) Prome válasza idlob hozzászólására (») Jan 31, 2011 /
 
Az irányváltást ugy gondoltam megoldani, hogy a motorok tápfeszültsége egy kétkörös polaritásváltó relén keresztül megy, s ez az egyik parallel port kivezetésre van kötve. Így a motor beinditásával együtt a PC programja meghatározza, hogy mi legyen a polaritás.
Mivel a mátrix miatt egyszerre ugyis csak egy motor mehet, erre elég egy kivezetés is a port-tól.

A pozicióváltást pedig - mivel a motorfordulatszám áttételezve lesz, s az utolsó tengelynek fokban kell elfordulnia max 180 fokot (polaritásváltással megvan a 360) erre gondoltam potmetert tenni. A potméter által küldött feszültség pedig meghatározza a tengely valós elfordulási pozicióját. A motorvezérlő program akár meg is tanulhatja így ebből mennyi a felfutási és a leállási periódus ideje.
Azt még nem tudom, hogyan fogom az analóg feszültség jelet binárissá tenni, nem akartam itt feltenni mert off, bár a problémának ami miatt a fórumot nyitottam szerves része. Lehet a topic nevét kéne megváltoztatni, hogy ne legyen off?

Köszi a választ, próbálom felfogni de azt hiszem holnap folytatom, mert majd leesek a székről.

8-nál sokkal több motort kell meghajtani, de a költség is sokat számit.
Ezért gondoltam mátrixra, de a 4017-en kivűl mást nem ismerek.
Jó az UAA170-t igen, de analóg feszültséggel vezérelni a motorokat nagyon bizonytalannak tűnik.

Lenne még egy durva kérdésem:

Nagyon mondják máshol, hogy a PC-n 2 paralel port lehetséges.
Mi van ha ezeket kötöm matrixba?
Akkor nem kell se 4017, se a másik, "csak" 64 tranyó. És van 64 motorvezérlésem.

Elsőre nem is kell mind, elég a harmada-negyede.
(#) Prome válasza idlob hozzászólására (») Jan 31, 2011 /
 
Idézet:
„nekem is eszembejutott (eredetileg ezért jöttem fel), sajnos nem időben”


Még időben mert még nem épitettem meg, így még nem purcant ki egy Pc, 4 db 4017 vagy a másik, s 64 tranyó.

Még csak elméleti modellezés folyik
(#) Prome válasza Prome hozzászólására (») Jan 31, 2011 /
 
Idézet:
„Nagyon mondják máshol, hogy a PC-n 2 paralel port lehetséges. Mi van ha ezeket kötöm matrixba?”


De most már gyorsan lefekszem mielött kitalálom, hogy 2 db duplaportos 386-ost kaszkádba kötök, majd ebből kettőt mátrixba.
(van ennyi a padláson)
(#) idlob válasza Prome hozzászólására (») Jan 31, 2011 /
 
Tehát az összes relé párhuzamosan lenne kötve? Így azt hiszem értem.

Igen, lehet több parallel portod, és használhatsz 2 darabot mint mátrix.
(#) BEMcorp válasza Prome hozzászólására (») Jan 31, 2011 /
 
Hi!
Többször írtad a 4017-eshez kapcsolva, hogy 8x8-as (64-es) mátrixot hajtasz meg vele. Ebben csak azt nem értem, hogy legrosszabb esetben is, ha pl a 0. kimenetet meghagyod 'off'-nak, akkor is 9x9 (81-es) rendszered lenne. Sőt, mivel elég csak a sort vagy az oszlopot kikapcsolni, így 10x9 motorod lehetne.
Vagy tévedek?
De ha minél több motort kell vezérelni, akkor miért nem 2db 16-os demultiplexert használsz? 2x4bitet tudnál közvetlenül levenni 1 lptről, és rögtön vezérelhetsz ~256 motort.
De, persze ebben is tévedhetek...

/Szerk.: közben kicsit utána néztem: pl. a 74159-es ttl ic (adatlap) Persze, ennek valamilyen modernebb változata, 74LS159, vagy 74HCT159... stb. /
(#) proba válasza idlob hozzászólására (») Jan 31, 2011 /
 
A motorokkal sorba egy egy dióda kell.Mert a szomszédos sor/oszlop vezetéken keresztül fals áramot kapnak a motorok.
(#) proba válasza Prome hozzászólására (») Jan 31, 2011 /
 
Gondolom a polaritás váltást még nem gondoltad át rendesen.Szerintem minden motorhoz egy jelfogó nem igazán költséghatékony.Egyben nem igazán tudod őket váltani ,mert a tranzisztorok polaritásérzékeny kapcsolók,ezért az egészen egyben nem lehet polaritást váltani.Ha minden motort H-hídba kötsz akkor a shift regiszteres/tárolós megoldással egy motorhoz 1/4 ic+ 4(6) tranzisztor jut költségként ,ami jóval kevesebb az 1 jelfogónál.Ha viszont jelfogód van rogyásig akkor azokat multiplexeld a motorok helyett ,ekkor motoronként egy jelfogó kell ,plusz egy polaritásváltásra.Esetleg még szimmetrikus táppal valahogyan egyszerűsíthető a polaritásváltás ,vagy egy dupla műveleti erősítővel motoronként.
(#) proba válasza proba hozzászólására (») Jan 31, 2011 /
 
Ha az ic-k kimenetére raksz egy egy jelfogót ,és ezeknek az érintőire kötöd mátrixba a motorokat, akkor elég egy jelfogó a polaritásváltásra,és 32 jelfogó elég 255 motorhoz.
(#) idlob válasza proba hozzászólására (») Jan 31, 2011 /
 
Értem mire gondolsz, de az csak értelmetlen vezérlőjel esetén fordulhat elő, és mivel a program "olcsóbb", inkább az figyeljen mint a dióda. Vagy van még olyan lehetőség is amit nem vettem észre?
(#) proba válasza idlob hozzászólására (») Jan 31, 2011 /
 
Bizony bizony.Nem véletlenül minden mátrixolt áramkörben valami dióda féle van.A barna szín nem igazán kívánatos,főleg hogy nem is csak ez az egy van,csak a többit nem rajzoltam be.(de tetszés szerint bővíthető,egyre kisebb áramokkal , van egy jópár variáció, még egy ekkora mátrix esetén is)

kerülő.GIF
    
(#) Prome válasza proba hozzászólására (») Jan 31, 2011 /
 
Csak most értem haza.
Köszönöm a sok hozzászólást.
mivel alapvetően mechanikus vagyok, eltart egy Darabig mig mindezt értelmezem is, és válaszolok is.
Szerencsére régen sokat programoztam, így van némi fogalmam a logikához

Elösször erre a polaritásváltó reléhez szolok hozzá.
Az elképzelés az volt, hogy a tranzisztorok a motoroknak csak áramod adnak. Mindig másiknak.
A relé meg csak a motorok tápfeszültségének a polaritását szabják meg. Így egy relé kellett volna az összes motorhoz.
De kezdem sejteni hol a hiba a gondolatmenetemben. A motorok nincsenek galvanikusan elválasztva a tranzisztoroktól. Ezért a polaritásváltás ép a tranzisztorok működését boritaná fel.
Annyi relém sajnos nincs ahány motorom. De nem is örülnék ennyi bonyolitásnak, hisz annyi kábel lenne, hogy nagyon nehéz lenne kiigazodni köztük, s millió hibaforrás lenne.

Ezért gondolkozom kábelmentes megoldáson.
Mi van ha az egész motormátrix egy hurokban van, amiben impulzusok keringenek?

Hasonlót már fevetettem.
A szikratáviróhoz hasonlóan átbillenhetnének tranzisztorok, s tulajdonképpen szikrával - rádiójellel, stb. lehetne kábelmentesen megcimezni a motorokat.
Ez esetben nem matrixról beszélünk, s a szikrákat programból lehetne adni, a galvanikus levállasztás teljesen korrekt. A polaritásváltás persze ugyanugy baj, ehhez valóban motonkénti relé kell.
(#) Prome válasza BEMcorp hozzászólására (») Jan 31, 2011 /
 
Eddig nem gondolkoztam 2 port matrixba kötésén.
Amúgy hány parallel port lehet egy számitógépen? Mert ugy emlékszem com portokból nem csak kettő lehet, anak sokkal több.

Apróbb gond van: a 74159-et eddig 4 Euróért láttam, s kettő kell.

Persze a 4017 ha jól emlékszem 150 Ft és 4 kell ehhez, ugyhogy ha az elöző jobb megooldás akkor elönyt élvez, főleg ha jóval kevesebb alkatrész kell hozzá.

A végösszeg az ami számit.

Jól gonndolom, hogy a 74159 is kaszkádba köthető?

De ha ez a több paralel port megoldás akkor lehet nem is kell nagyon vacakolni?

Mivel a költségcsökkentés sokat számit, lehet a polaritásváltást kiváltom inkább teljes átfordulással.
Ekkor lehet nem kell se 4017, se multiplexer, csak motorként egy erősebb transzisztor?

(Mintha lenne 8-as optocsatoló egy tokban, a biztonság iyg egyszerű lenne. Jól emlékszem?) emlékszem
(#) proba válasza proba hozzászólására (») Jan 31, 2011 /
 
Bocsánat, az alsó érintett motor melletti motoron is átmegy.(azt sajna kihagytam.)
(#) Prome válasza proba hozzászólására (») Jan 31, 2011 /
 
Tegyük fel hogy beérem tengelykörbefordulással, s nem kérem a polaritásváltást.
A mátrixba kötött parallel portok egyforma feszültségüek, de ha más értékű ellenálláson keresztül megy a motornyitó tranzisztorokhoz akkor diódavédelem nélkül is meglesz a relativ polaritás.
Ha jól gondolom, a 8*8-as (példa) parallel matrixhoz
csak 256 tranyó kell és 512 ellenállás.
Plusz a motorok.
(Polaritásváltásról lemondva.)
Jól gondolom?
(#) proba válasza Prome hozzászólására (») Jan 31, 2011 /
 
Hát igen ha bonyolítunk,akkor azt legalább tegyük rendesen.Minden motorhoz egy számláló,hogy hanyadik szikrát adja a pc.Esetleg egy szikra felismerő ,hogy ez éppen az előző motor adta... Villámláskor meg mind leesik a helyéről mert nem tudja mit csináljon.
(#) Prome válasza proba hozzászólására (») Jan 31, 2011 /
 
Az ábrát jelenleg nem értem.
Pedig nézem, nézem...
(#) proba válasza Prome hozzászólására (») Jan 31, 2011 /
 
Rajzold le amit gondolsz teljesen mondjuk 4*4=16 motorra.Úgy ahogyan a valóságban megépítenéd.
(#) BEMcorp válasza Prome hozzászólására (») Jan 31, 2011 /
 
A 74159-et csak mint példát akartam mutatni, azóta már én is láttam, hogy beszerezhetetlen. Bármilyen 4>>16 demultiplexer tökéletes lenne. És a nagy előnye, hogy közvetlenül címezhetsz egy-egy motort, nem kell végigpörgetni az egészet, ha a mátrix másik végén jön a következő motor.
Persze a 2 lpt is jó lehet, ha meg tudod oldani a programban a címzéseket (ehhez már annyira se konyítok, utoljára Pascalban villogtattam az lpt-n a ledeket)
Következő: »»   1 / 3
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