Positiesturing van DCmotor met 3kanaals encoder

Beste heren,

Ik heb een DC motor (6Watt, 24VDC, 72tr/min) van Maxon motor + een 3 kanaals encoder met 128counts per turn

De bedoeling is dat de Motor 1.15 toeren (147 counts) naar links of naar rechts draait en dan stopt. De motor wordt praktisch niet belast (kleine startstroom)
Er is ook geen nood aan zacht starten of stoppen, toerenregeling of stroomsturing..

Ik zoek naar een platform dat de encoder kan inlezen en de motor kan aansturen. Het enige platform dat maxon aanbied dat positiesturing heeft, is 750 euro. Maar dat platform heeft ontelbaar veel functies en ik hoop dat daarom de prijs zo hoog is.

Zijn er platformen die lager geprijsd zijn waar ik mee kan positiesturen? Van zelf een stukje programmeren heb ik geen schrik, ik moet het wel nog aanleren.

EDIT:
Het is voor een professioneel doeleinde, het is niet de bedoeling dat het in een breadbordje in elkaar zit. En ik heb de middelen niet om hier zelf een printplaat te ontwikkelen.

Dus iets programeerbaar of met software op, waar ik simpelweg een voeding en de motor & encoder op aansluit (+drukknoppen startlinks, startrechts, stop, noodstop).
Het is een detail wat ik extra in men stageopdracht neem, het alternatief 2 eindeloopjes en het is ook functioneel. Maar wil de extra uitdaging om een eleganter eindproduct te maken wel als dit kan en betaalbaar is.

Alvast bedankt
Stan

Lambiek

Special Member

Op 23 april 2015 13:13:58 schreef stannergy:
Er is ook geen nood aan zacht starten of stoppen, toerenregeling of stroomsturing..

Een motorsturing voor deze motor zou je kunnen maken met een L293D.
http://www.google.nl/url?sa=t&rct=j&q=&esrc=s&source=w…

Van zelf een stukje programmeren heb ik geen schrik, ik moet het wel nog aanleren.

Wat dacht je van een microcontroller als besturing, in combinatie met de L293D.

Als je haar maar goed zit, GROETEN LAMBIEK.

Ik zou het met een Aruino boardje doen. Pulsjes van de encoder op een interrupt pin zetten. En de motor via een transistor sturen. Ik zou een Tip 102 gebruiken. Pak een PWM uitgang van de Arduino, dan kan je eventueel ook nog de snelheid regelen. 1k Ohm tussen de basis van de transistor en de Arduino uitgang. en een diode 1n4004 ofzo tussen de collector en de +24V. Emitter naar GND. Motor aansluiten op de Collector en de +24V.

Als je de motor in je code rustig laat stoppen is de kans te ver te draaien minder. Aangezien je toch de pulsen telt, weet je of je eventueel te ver gedraaid heb en zou je hem terug kunnen draaien. Ik denk dat daar wel de grootste uitdaging in gaat zitten, de motor op het juiste punt tot stilstand te brengen.

Iets over het hoofd gezien, ik besef net dat de encoder op de motor inleest (6500 toeren) en niet op de gearbox (verhouding 1:84).
De laagst verkrijgbare resolutie is 32 cpt- encoder = 3460 counts/seconde

Ik kan me voorstellen dat dit moeilijk in te lezen is? Ik ga het idee even laten varen..

Bedankt voor de antwoorden.

Lambiek

Special Member

Op 24 april 2015 14:43:03 schreef stannergy:
De laagst verkrijgbare resolutie is 32 cpt- encoder = 3460 counts/seconde

3.460KHz is makkelijk in te lezen met een controller, heb pas nog zoiets gedaan met een pic 16F887.

Als je haar maar goed zit, GROETEN LAMBIEK.

Wat wil je eigenlijk precies aansturen? Is dit niet handiger te doen met een servo of stappenmotor?

Op 24 april 2015 14:43:03 schreef stannergy:
Iets over het hoofd gezien, ik besef net dat de encoder op de motor inleest (6500 toeren) en niet op de gearbox (verhouding 1:84).
De laagst verkrijgbare resolutie is 32 cpt- encoder = 3460 counts/seconde

Ik kan me voorstellen dat dit moeilijk in te lezen is? Ik ga het idee even laten varen..

Bedankt voor de antwoorden.

3460 interrupts per seconden is geen probleem voor een MCU welke op 16MHz werkt. Ik zou wel een H-brug gebruiken dan kun je alles eenvoudig aansturen, links, rechts om en remmen als je dat moet !.

fripster

Golden Member

Eens een wirehead,altijd een wirehead.... gopher://fripster.ydns.eu