Schakeling Arduino trilmotoren

Hi allemaal,

Eerder had ik in dit forum een bericht geplaatst over een projectje en dankzij jullie advies en ik een stuk verder gekomen!

Nu komt het volgende ik heb het voor elkaar gekregen om 1 trilmotor aan te sluiten op mijn Arduino Uno. Maar nu wil ik er meerdere aansluiten. De trilmotoren hoeven niet individueel te werken, maar moeten allemaal tegelijk worden aangestuurd. Hoe kan ik dit het beste doen (zonder dat ik natuurlijk kortsluiting veroorzaak)!

Ik gebruik deze kleine motoren van Parallax (https://www.parallax.com/product/28821)

Heel erg bedankt!

Mae

Hoi.

Deze motoren hebben 90 mA per stuk nodig.
Dat kun je niet veilig met een pin van de Arduino doen, daarvoor moet je een transistor gebruiken.
Naast de transistor, moet je ook een diode gebruiken, die "verkeerd om" aangesloten word tussen de beide draden van die motor.
Die diode zorgt er voor dat er geen schade zal ontstaan door de onvermijdelijke stoorpulsen die zo'n motor veroorzaakt.
De motoren kunnen tot 3.3 volt aan, dus 5 volt is geen goed idee.

Wanneer je meerdere motoren tegelijk wil aansturen, kun je dat doen door ze allemaal met een dikke transistor te sturen.
Maar eigenlijk is het een beter idee om elke motor zijn eigen transistor te geven.
Sowieso moet elke motor zijn eigen diode hebben, hoe dichter bij de motor des te beter.

Tussen de uitgang van de Arduino en de transistor moet je een weerstand opnemen.
Het is van de eigenschappen van de transistor afhankelijk wat de exact juiste waarde is, maar vaak neemt men met 1 K genoegen.
Die weerstand is er om de stroom in de "basis" aansluiting van de transistor, en in de uitgang van de Arduino te beperken, anders zouden die kunnen beschadigen.
Je kunt ze dan allemaal op een eigen pin van de Arduino aansluiten, of een paar combineren.
Maar als je gaat combineren, moet je weer goed opletten met die weerstanden.
Want als je meerdere weerstanden naast elkaar gaat zetten, word de totale weerstand lager (en dus de stroom hoger).

Verder is het zo dat wanneer je de meest toegepaste methode gaat gebruiken, je 'm andersom moet gaan aansturen:
LOW is dan aan, en HIGH word dan uit.

Maar om een meer passend antwoord te kunnen geven, moeten we eigenlijk weten welke pinnen van de (welke) Arduino je nog beschikbaar hebt.

De TS wil er 12 Aansturen. Dan mag je wel een mosfet gebruiken. ruim 1A stroom dus een Mosfet met een beetje lage RdsON is prima. Voeding van 3.3V zou ideaal zijn, maar een 5V kan ook. Eventueel een 1 Ohm weerstand in serie vanaf de + en andere kant naar alle + van de motoren. Weerstand van 5W is prima. Voor een mosfet voorbeeld zie bijv: High-Power Control: Arduino + N-Channel MOSFET - bildr
En niet die diode vergeten (bijv. een UF400x of 1N5819). Anders gaat je schakeling vreemd doen. Een een klein koel element op de Mosfet zetten. Anders kan hij zijn warmte niet kwijt.

uln2003 of iets dergelijks.

shooter:
uln2003 of iets dergelijks.

Die fikt uit bij 12 motoren

kun je niet beter met goeie transistors of relays met opto coupler gescheiden werken?

shooter:
uln2003 of iets dergelijks.

Lijkt me een goed idee.
T.S. (DMAE) stelt:

De trilmotoren hoeven niet individueel te werken, maar moeten allemaal tegelijk worden aangestuurd.

Als TS 2 stuks ULN2003 gebruikt kan op ieder van deze IC's 6 trilmotortjes worden aangesloten. (max 7)
Natuurlijk kunnen alle ingangen tegelijk aangestuurd worden vanuit een enkele arduino pin maar de lol begint pas als t.s. alle 12 ingangen met aparte digitale pinnen verbind. Er kan dan b.v. een ADC ingang gebruikt worden om een variabele te meten en afhankelijk van die waarde 1, 2 ,3 ...... tot alle motortjes tegelijk aan te sturen. (het is maar een idee).

Voeding dient wel een externe 5V voeding te zijn. Vce van een ULN2003 is bij 0.1 A ca. 1.1 volt zodat de motortjes op 3.9 volt zouden werken. Bij iedere motor een serieweerstandje van 10 ohm en de motortjes krijgen exact 3 Volt. Vrijloop diode's zitten in dit IC . Succes gegarandeerd.

Ik houd het wel bij de enkele mosfet.... Genoeg om de stroom aan te kunnen.