keresek: elektronikai kapcsolás

üdv.

keresek egy diy/hobby/easy áramkört, ami két irányban tud hajtani egy dc motort, (3-4-5-6) kaputól (3-4-5-6) kapuig (mondjuk reed, mert óccó, de "meghallgatok" egyéb variánsokat is).

az elképzelés:
egy (a nyomtatók fejének mozgatásához használt sín és a szíjhajtás alapú) szerkezeten a dc motor addig mozgatja a szíjra rögzített mágnest, amíg az eléri a reed-et. nyilván oda-vissza irányban gondolkodom, tehát az elektornikához kell kettő nyomógomb is. értelemszerűen kettő végálláskapcsolót is szeretnék beiktatni.
kicsi, 5-12 V feszültséggel üzemelő motort szeretnék meghajtani. ha valami úton-módon fixen beállíthatnám a kívánt fordulatszámot, annak borzasztóan tudnék örülni (nem kell irdatlan sebességgel pörögnie a motornak).

alternatívaként borzasztóan tudnék örülni egy olyan áramköri kapcsolásnak, ami léptetőmotort hajt meg (ez esetben a kibelezett scanner és nyomtató teljes mozgatóarzenálját felhasználhatom ugyanerre a célra). viszont ide nem kellenek a kapuk, helyette (szerintem) valahogyan tanítani kellene az elektronikát a 0 pozícióra, valamint a megadott 3-4-5-6 pozíciónak a 0-hoz való "lépéstávolságára".
mivel ez utóbbi jóval bonyolultabb, gondolom nem sokan vannak, akik ilyesmivel szórakoztak, de hátha.

ha kérdés van, elő vele bátran.

köszönöm :)

Hozzászólások

Szerintem jó kiindulási pont lehet például ez: https://www.sparkfun.com/products/13257 (de számtalan ilyesmi áramkört lehet kapni) Érdemes sorban utána olvasni, hogy miket tud, segít a tervezésben is ha minél több lehetőséget megismersz.

DC motort fix fordulatszállam hajtani csak úgy tudsz, ha van visszajelzésed arról, hogy éppen milyen fordulattal forog a motor, tehát van valami amit mérsz, és ez alapján csinálsz egy szabályzót. Persze meg lehet úgy is csinálni, hogy egy fix kitöltési tényezőjű PWM-mel hajtod (ez egyszerű), ami nagyjából fix sebességet fog adni addig, ameddig a rendszer paraméterei nem változnak nagyon meg.

Léptető motort hajtani pont hogy még egyszerűbb is, mivel nem kell semmit mérni vagy visszacsatolni, egyszerűen csak ki kell adni a megfelelő impulzusokat, ami hajtja a motort. Megtanítani a pozíciókat miután minden más már működik szerintem egyszerűbb mint a projekt többi része. Persze a 0 pozíció jeladót nem nagyon lehet megspórolni így sem, az mindenképpen kell IMHO.

leptetomotor + a4988-as vezerlo modul es egy arduinoval vezerles, oszt jonapot! ennel egyszerubben mar nem lehet megoldani.

Ha van érzéked az elektronikához, akkor a kulcsszavak: avr vagy pic mikrovezérlő, illetve h-bridge (híd kapcsolás).
Ha nincs, akkor occsó kínai megoldás:
h-bridge driver: http://www.dx.com/p/l9110-dual-channel-h-bridge-motor-driver-module-for…
arduino nano: http://www.dx.com/p/arduino-nano-v3-0-81877

Léptetőmotorhoz dupla h-híd kapcsolás kell, vagy erre kitalált stepper motor driver (a linkelt driver egyébként vagy két DC, vagy egy stepper meghajtásához jó)

// Happy debugging, suckers
#define true (rand() > 10)

Ha ardura lőssz, a fordulatszám szabályozás nem olyan rettenetesen bonyolult buli. Kell valami dekóder tárcsa (gyakorlatilag egy kerek, lukacsos korong), amivel lehet fordulatot mérni. Nyilván függ attól, hogy milyen motorod van, imho ha lehet, ne a hajtott tengelyre tedd (mert az áttét után az lassabban forog, egro nem lehet olyan pontosan mérni).

Ezt be kell tenni fotointerruptorba (amiben ahogy forog, ugye hol átvilágít a led, hol nem, ergo hol van jel, hol nincs). Ennek a kimenete megy az ardura egy interrupt rutinra, amivel lehet számolni mondjuk a tickek darabszámát, aztán némi időközönként számolni fordulatszámot az eltelt idő és a tüskék számából (és itt nem mindegy ugye, hogy milyen frekvenciával van ugye a kimenő jel, minél kisebb, annál nagyobb a minimális intervallum, amihez már elfogadható mérési hiba társul). Alternatívaként igazából minden két jel között mindig lehet számolni egy sebességet az eltelt időből, de nekem elég jitteres lett az eredmény így, mikor játszottam vele.

Némiképp jobban kifejtve itt:
http://heliosoph.mit-links.info/make-your-own-rotary-encoder/
és itt http://heliosoph.mit-links.info/photointerrupter-basics/ (az alján vannak next post linkek)

Az alsóban levő cucc itthon kb 250 forint, kell még hozzá egy ellenállás (a másikra jó az ardu beépített felhúzó ellenállása).

Ugye a motorvezérlő h bridges panalek tipikusan pwmmel vezérelhetőek, uh már csak annyi a feladat, hogy az elvárt és mért rpm közötti hibával korrigáld a pwm jelet, így lehet szabályozott fordulaton tartani a motort.

Ami még érdekes lehet, hogy az ardun alapvetően elég korlátozott a "rendes" interruptos bemenetek száma (2, max 4). Ezen segít a pin change interrupt lib, de arra figyelj, hogy leonardon (meg amin ATmega32u4 van, asszem még a mini ilyen) ez is igen korlátos.

Ebayen, banggoodon, aliexpressen vannak motor shiledek meg arduk is igen bagóért.
https://code.google.com/p/arduino-pinchangeint/