Hoe twee DC motortjes synchroon laten draaien?

Dag iedereen,

Uit twee (identieke) CD-Romspelers heb ik het mechanisme om de tray te openen gesloopt, met als bedoeling er een minivoertuigje mee te bouwen. Het ene motortje zou de linkerwielen laten draaien, het andere de rechterwielen.

Om het voertuigje rechtdoor te laten rijden, moeten de motortjes uiteraard synchroon draaien. Nu heb ik ze samen eens aangesloten op 2V, en visueel blijven ze ongeveer synchroon voor zo'n 4-5 rotaties. Daarna begin je een duidelijk verschil te zien.

Wat is nu de beste optie om zo'n voertuigje te bouwen? Volgens mij heb ik twee opties.

Optie 1: ik voorzie beide motortjes (of asjes) van een encoderwiel uit bijvoorbeeld een printer, en probeer via PWM de motortjes synchroon te laten lopen.

Optie 2: ik zwier de DC motortjes er uit, en stap over op stappenmotortjes.

Zijn er nog andere opties?

Ik kan natuurlijk ook één motortje gebruiken als aandrijving en een servo gebruiken om een stuurinrichting te maken, maar ik zou het graag zonder willen doen.

Alvast bedankt voor de input!

Marlon

Arco

Special Member

Arco - "Simplicity is a prerequisite for reliability" - hard-, firm-, en software ontwikkeling: www.arcovox.com
maartenbakker

Golden Member

Als ze visueel synchroon lopen gedurende 4 a 5 rotaties is het snelheidsverschil erg klein. Het gaat ook om een exact gelijke snelheid en niet om het synchroonlopen. Je hoeft dus geen stappenmotoren of dergelijke kunstgrepen toe te passen.

Je zou elk motortje van een tacho kunnen voorzien en de feedbacklus zo afregelen dat ze even hard gaan. Sturen kun je dan doen door in de feedback in te grijpen.

Andere mogelijkheid is het voertuigje feedback geven van de grondsnelheid, dan heb je meteen een soort ABS/ASR. Die feedback zou je met wieltjes, voelertjes of ultrasoon kunnen doen, maar een optische muis is misschien beter en leuker.

P.S. Als hij niet autonoom hoeft te kunnen rijden, hoef je eigenlijk niet eens electronische feedback te gebruiken. Je moet dan gewoon ergens de interface tussen aandrijving en bediening calibreren (eigenlijk justeren).

www.elba-elektro.nl | "The mind is a funny thing. Sometimes it needs a good whack on the side of the head to jar things loose."

Ik neem aan dat je ze met een microcontroller gaat aansturen? Je kunt periodiek de voeding naar de motortjes onderbreken, wachten tot ze stroomloos zijn, en dan de spanning meten. Die spanning is de tegen-EMK, en afhankelijk van de snelheid van de motor. Dit kun je in hooguit een paar milliseconden doen (vooral afhankelijk van de tijd die nodig is om ze stroomloos te maken), dus dat merk je niet in de aandrijving.

Je hoeft ze sowieso alleen "ongeveer" even hard te laten draaien; zelfs als ze exact even hard draaien, zal je voertuigje niet precies rechtdoor rijden, vanwege mechanische effecten (verschillend slippen van de wielen e.d.).

Je zou ook kunnen kiezen voor een acceratie- en gyroscoop sensor (een IMU), en daarmee de yaw-rate op 0 proberen te houden. Wederom, op de lange termijn zal het voertuig toch scheef gaan, maar op de korte termijn is dat waarschijnlijk goed genoeg.

Ik zou wel iets grotere motoren nemen dan die kleine DC motortjes, ik verwacht niet dat ze genoeg koppel kunnen leveren, hoe klein je voertuigje ook is.

Een manager is iemand die denkt dat negen vrouwen in één maand een kind kunnen maken

Ik heb een keer een soort elektronisch differentieel geprobeerd te maken. Beide wielen voorzien van een pulsgever (uit een computermuis dacht ik). De aldus gegenereerde pulsen in een fase detector (4046) gestopt. De beide motoren had ik in de collectors van een long-tailed-pair geschakeld.
Het fout signaal van de 4046 gebruikte ik als stuursignaal om het evenwicht tussen de twee transistors van het long-tailed-pair te sturen.

Normaal als beide wielen even snel gaan staat het long-tailed-pair in het midden. Het fout signaal staat op de halve spanning. Gaat een wiel langzamer draaien dan zakt (stijgt bij het andere wiel) dan wordt de transistor met de langzame motor meer open gestuurd en de snelle motor meer dicht. Wielen en motoren blijven dus altijd even snel draaien.

Wil je een bocht maken (zoals bij een tank) dan introduceer je gewoon een fout signaal op stuuringang van het long-tailed-pair

Het werkte wel een beetje. Ben nooit verder gekomen als een provisorische testopstelling. Maar ik heb er nooit foto's, schema's of zoiets van gemaakt. Dat was toen nog niet zo in zwang zeg maar.

Ik vond dit wel lollig. Een analoge schakeling met digitale componenten die iets doet dat tegenwoordig alleen met tussenkomst van een cpu gedaan zou worden

Kruimel

Golden Member

In theorie zal een gecommuteerde permanente magneetmotor een rotatiesnelheid moeten hebben die recht evenredig is met de spanning, en een koppel dat recht evenredig is met de stroom. Hoe kleiner de motor wordt, hoe dominanter de elektrische en mechanische weerstanden meespelen, dus dat werkt nu in je nadeel, maar in theorie zou het domweg parallel schakelen al een aardig resultaat moeten opleveren.

Voorwiel gebruiken als compensator ?
rijden we recht, niets aan de hand.
afwijking naar links/rechts : tegenover gestelde motor remmen.

potmetertje en zelfs wat analoog spul is genoeg.

uC'tje is nog makkelijker.

Krampachtig de motortjes sync te krijgen/houden is niet zinvol. De rijrichting of het doel moet bepalen wat er moet gebeuren, dat is efficiënter.

Kijk even naar een Velleman MK127.

Niet als oplossing, maar als inspiratie. Ook gewoon keihard analoog.

Damn the torpedoes, full speed ahead!
Lambiek

Special Member

Op 20 juni 2018 23:28:50 schreef Marlon:
Om het voertuigje rechtdoor te laten rijden, moeten de motortjes uiteraard synchroon draaien.

Hoe ga je dat voertuigje besturen? Of wat gaat dat voertuigje besturen? Of moet het autonoom gaan rijden?

Als je haar maar goed zit, GROETEN LAMBIEK.

Op 20 juni 2018 23:28:50 schreef Marlon:

Optie 1: ....

Optie 2: ...

Optie 3; Handmatig sturen.:)

Beide wielen domweg even hard laten draaien gaat je probleem maar ten dele oplossen. Al deels genoemd; Wegdek/vloer niet waterpas, mechanische speling op de assen, wielslip.

Gr.

Erik

Gewoon de twee motortjes in serie. Dan hebben beide motortjes dezelfde koppel.

Kruimel

Golden Member

Dat merkte ik al op inderdaad, maar in serie is dan precies de foute oplossing, want je wil gelijke snelheid en niet gelijk koppel. Gelijk koppel betekent dat enig klein verschil in weerstand in de aandrijflijn de wagen scheeftrekt.

[Bericht gewijzigd door Kruimel op vrijdag 22 juni 2018 22:46:52 (13%)

Dan moet je ze parallel zetten. Dan krijgen ze niet de zelfde stroom ( dus koppel), maar dezelfde spanning (dus snelheid).

Ik mag aannemen dat dit vanaf het begin al gedaan is en dat onvolkomenheden in het systeem de wielen scheef trekken.

four NANDS do make a NOR . Kijk ook eens in onze shop: http://www.bitwizard.nl/shop/

Eerst en vooral bedankt iedereen voor de vele antwoorden, ik heb alvast veel bijgeleerd!

Op 22 juni 2018 10:27:31 schreef Lambiek:
[...]
Hoe ga je dat voertuigje besturen? Of wat gaat dat voertuigje besturen? Of moet het autonoom gaan rijden?

Misschien had ik dat beter opgenomen in mijn initiële post. De bedoeling is om stap voor stap een soort van "robot" voertuigje te maken, dat zowel autonoom als op afstand bediend kan rijden. Om dat te bereiken, wou ik in stapjes werken, bijvoorbeeld:

  • Een autootje met 4 wielen dat rechtdoor kan rijden (aandrijving links + aandrijving rechts). Ik was al begonnen met achteraandrijving en twee wieltjes vooraan die stuurden, maar vanwege de eenvoudigere constructie overschakelen naar een wagentje zonder sturende wieltjes.
  • Datzelfde wagentje laten sturen (door de motortjes individueel verschillend aan te sturen, ala tankcontrole). Commando's worden gewoon gegeven via een Arduino
  • Het wagentje van op afstand te besturen (bekabeld), waarbij de controller de arduino commando's geeft
  • Overschakelen van bekabeld naar draadloos met twee arduinos en communicatiemodules
  • Autonomie mode
  • Remote camera, etc...

Als alles eenmaal behoorlijk lijkt te werken, de schaal vergroten van een mini-wagentje naar iets wat ook degelijk het terrein op kan.

Op 20 juni 2018 23:40:07 schreef Arco:
Zoiets?: https://www.banggood.com/2S6A-Micro-Dual-Bi-Directional-Speed-Controll…

Als ik het goed heb, heb ik hiervoor motortjes nodig met drie draden: +, -, en een signaal. De DC motortjes die ik heb, hebben enkel een + en -. Kan ik die alsnog gebruiken, of heb ik dan andere motortjes nodig?

Op 21 juni 2018 00:19:32 schreef maartenbakker:
Je zou elk motortje van een tacho kunnen voorzien en de feedbacklus zo afregelen dat ze even hard gaan. Sturen kun je dan doen door in de feedback in te grijpen.

Andere mogelijkheid is het voertuigje feedback geven van de grondsnelheid, dan heb je meteen een soort ABS/ASR. Die feedback zou je met wieltjes, voelertjes of ultrasoon kunnen doen, maar een optische muis is misschien beter en leuker.

Daarmee dat ik naar een encoder van een printer aan het kijken was, maar ik heb hier ook nog enkele PCBs van oude muizen liggen. Dat is idd ook een interessante optie. Verder heb ik nog een hoop van die obstacle avoidance sensoren liggen, die kan ik eigenlijk ook wel eens proberen te gebruiken.

Op 21 juni 2018 00:29:12 schreef SparkyGSX:
Ik neem aan dat je ze met een microcontroller gaat aansturen? Je kunt periodiek de voeding naar de motortjes onderbreken, wachten tot ze stroomloos zijn, en dan de spanning meten. Die spanning is de tegen-EMK, en afhankelijk van de snelheid van de motor. Dit kun je in hooguit een paar milliseconden doen (vooral afhankelijk van de tijd die nodig is om ze stroomloos te maken), dus dat merk je niet in de aandrijving.
[...]
Ik zou wel iets grotere motoren nemen dan die kleine DC motortjes, ik verwacht niet dat ze genoeg koppel kunnen leveren, hoe klein je voertuigje ook is.

De bedoeling is ze idd met een Arduino te sturen. De motortjes op zich leveren wellicht niet genoeg koppel, maar ik hoop dat het hele mechanisme met tandwieltjes en overbrenging alsnog voldoende is.

Op 21 juni 2018 00:29:50 schreef Ex-fietser:
Ik heb een keer een soort elektronisch differentieel geprobeerd te maken. [...]

Mijn kennis reikt niet ver genoeg om je 100% te begrijpen, maar ik begrijp de opzet wel, lijkt me ook heel interessant om eens uit te proberen. Thanks!

Op 21 juni 2018 23:18:41 schreef Kruimel:
[...] maar in theorie zou het domweg parallel schakelen al een aardig resultaat moeten opleveren.

Ah kijk, dat heb ik dus nog niet geprobeerd - da's dus al één van de volgende stappen die ik ga proberen.

Op 23 juni 2018 07:20:40 schreef rew:
Dan moet je ze parallel zetten. Dan krijgen ze niet de zelfde stroom ( dus koppel), maar dezelfde spanning (dus snelheid).

Ik mag aannemen dat dit vanaf het begin al gedaan is en dat onvolkomenheden in het systeem de wielen scheef trekken.

Je mag dat aannemen, maar dat wist ik dus nog niet :)
Ik begrijp de opmerkingen ivm serie en parallel nu wel, maar dan lopen de motortjes altijd gelijk. En da's ook niet de bedoeling, want hoe stuur je dan?

Op 22 juni 2018 04:17:24 schreef Hunter:
Kijk even naar een Velleman MK127.

Niet als oplossing, maar als inspiratie. Ook gewoon keihard analoog.

Helaas ben ik niet helemaal mee hoe die kit mij kan helpen...

Nogmaals bedankt iedereen!

Marlon

Je hoeft ze niet direct parallel te zetten, zolang ze dezelfde spanning krijgen zouden ze op ongeveer dezelfde snelheid moeten gaan draaien als ze gelijk belast worden.

Met tandwieltjes kun je het koppel wel vergroten, maar dan gaat de snelheid omlaag, en je hebt altijd wat verliezen. Het klinkt alsof je nu hele kleine motortjes gebruikt, en voor zo'n tank besturing heb je fors koppel nodig omdat de wielen zijwaarts moeten slippen.

Een manager is iemand die denkt dat negen vrouwen in één maand een kind kunnen maken
Arco

Special Member

Printje in mijn link is gewoon voor 2 draads motortjes. Aansturing met servopulsen. (zit volgens mij standaard in picbasic...)

Arco - "Simplicity is a prerequisite for reliability" - hard-, firm-, en software ontwikkeling: www.arcovox.com

Als de motoren op de achterwielen zitten die enkel voor of avhterui kunnen, dus gern stuur, gaan ze vanzelf syngroon draaien. Ze worden immers mechanische verbonden doormiddel van de weg.

PE2BAS
Lambiek

Special Member

Op 24 juni 2018 21:54:13 schreef Marlon:
Misschien had ik dat beter opgenomen in mijn initiële post. De bedoeling is om stap voor stap een soort van "robot" voertuigje te maken, dat zowel autonoom als op afstand bediend kan rijden. Om dat te bereiken, wou ik in stapjes werken, bijvoorbeeld

Daar is ook niets mis mee, dan zie je de verschillen ook goed bij verschillende stappen.

Een autootje met 4 wielen dat rechtdoor kan rijden (aandrijving links + aandrijving rechts). Ik was al begonnen met achteraandrijving en twee wieltjes vooraan die stuurden, maar vanwege de eenvoudigere constructie overschakelen naar een wagentje zonder sturende wieltjes.

En dat lukt? of gaat dat al niet zoals verwacht?
Als je het echt synchroon wil laten lopen moet je toch gaan meten en sturen denk.

Datzelfde wagentje laten sturen (door de motortjes individueel verschillend aan te sturen, ala tankcontrole). Commando's worden gewoon gegeven via een Arduino

En waar laat je de Arduino dan op reageren, of laat je de Arduino een commando geven voor links, rechts, of rechtdoor. Dit zie ik eigenlijk alleen maar als test functie.

Het wagentje van op afstand te besturen (bekabeld), waarbij de controller de arduino commando's geeft

Dat zou ook nog draadloos kunnen, bijv. via infrarood, of via een 433MHz zend ontvanger, of met bijv. een modelbouw afstandsbediening met bijbehorende ontvanger. De ontvanger kun je dan inlezen met je Arduino of een ander type controller.

Overschakelen van bekabeld naar draadloos met twee arduinos en communicatiemodules

Waarom twee Arduino's?, kan toch met één.

Autonomie mode

Je zou hem het licht kunnen laten opzoeken, of een lijn kunnen laten volgen, enz.

Remote camera, etc.....

Dat wordt nog een dingetje denk, maar wel leuk.

Als alles eenmaal behoorlijk lijkt te werken, de schaal vergroten van een mini-wagentje naar iets wat ook degelijk het terrein op kan.

Dat lijkt mij een goede volgorde. :)

Als het allemaal niet al te snel hoeft te gaan, zou je misschien eens naar een paar RB35 motoren kunnen kijken, die heb je met verschillende vertragingen en zijn lekker sterk.

En als je de regelaar zelf wil maken, is dit misschien iets voor je.

https://www.circuitsonline.net/artikelen/view/54

Via de terugkoppeling kun je al wat meer regelen.

Als je haar maar goed zit, GROETEN LAMBIEK.

Als je wat meer informatie zoekt over robotjes en rechtdoor rijden vindt je hier meer informatie : http://wiki.robotmc.be/index.php/Odometrie
Ook altijd welkom bij onze bijeenkomsten, in Belgie is dit in Sint Katelijne Waver, Thomas More hogeschool, in Nederland is het in Amersfoort (HCC Robotica)

Lambiek

Special Member

Op 25 juni 2018 10:11:01 schreef RP6conrad:
..., in Nederland is het in Amersfoort (HCC Robotica)

Zijn ze verhuist dan, het was toch in Hooglanderveen?

Als je haar maar goed zit, GROETEN LAMBIEK.

Jawel, het is nog steeds Hooglanderveen, maar dit is vlak bij Amersfoort!
Disselplein 6
Amersfoort
Gelderland
3829 MD
Nederland

De MK127 is een printje met twee motortjes dat naar een lichtbron rijdt. Uiterst simpel, rijdt recht, zonder synchronisatie.

Damn the torpedoes, full speed ahead!
Lambiek

Special Member

Ik denk dat de TS zelf iets wil maken. :)

Als je haar maar goed zit, GROETEN LAMBIEK.