Zoals u weet, zijn elektromotoren van drie hoofdtypen: collector-, stepper- en servoaandrijvingen. In dit artikel zullen we kijken naar het aansluiten van een collectormotor op een Arduino met behulp van een motorstuurprogramma op basis van de L9110S-chip of iets dergelijks.
Noodzakelijk
- -Arduino;
- - een personal computer met de Arduino IDE ontwikkelomgeving;
- - motordriver L9110S of vergelijkbaar;
- - collector elektromotor;
- - aansluitdraden.
instructies:
Stap 1
Je kunt een elektromotor niet rechtstreeks op de Arduino-pinnen aansluiten: het risico bestaat dat de pin waarop de motor is aangesloten, verbrandt. Om verschillende soorten elektromotoren veilig op de Arduino aan te sluiten, is een zelfgemaakte of commercieel gemaakte motordriver vereist. Er zijn veel verschillende motorrijders. De meest voorkomende typen zijn HG788, L9110S, L293D, L298N en andere. Motordrivers hebben stroomkabels, motorkabels en besturingskabels. In dit artikel gebruiken we een motordriver op basis van de L9110S-microschakeling. Meestal worden er printplaten geproduceerd die de aansluiting van meerdere motoren ondersteunen. Maar voor de demonstratie redden we het wel met één.
Stap 2
De eenvoudigste motoren zijn geborstelde motoren. Deze motoren hebben slechts twee stuurcontacten. Afhankelijk van de polariteit van de spanning die erop wordt toegepast, verandert de draairichting van de motoras en verandert de grootte van de aangelegde spanning de rotatiesnelheid.
Laten we de motor aansluiten volgens het bijgevoegde schema. De voeding van de motordriver is 5 V van de Arduino, om de snelheid van de motorrotor te regelen, worden de stuurcontacten aangesloten op de Arduino-pinnen die PWM (pulse width modulation) ondersteunen.
Stap 3
Laten we een schets schrijven om een collectormotor te besturen. Laten we twee constanten declareren voor de benen die de motor besturen, en één variabele voor het opslaan van de snelheidswaarde. We zullen de waarden van de variabele Snelheid overbrengen naar de seriële poort en zo de snelheid en draairichting van de motor veranderen.
Maximale rotatiesnelheid - bij de hoogste spanningswaarde die de motordriver kan leveren. We kunnen de rotatiesnelheid regelen door spanningen te leveren in het bereik van 0 tot 5 volt. Omdat we digitale pinnen met PWM gebruiken, wordt de spanning erop geregeld door de opdracht analogWtirte (pin, value), waarbij pin het nummer is van de pin waarop we de spanning willen instellen, en het waardeargument een coëfficiënt is die evenredig is aan de spanningswaarde, met waarden in het bereik van 0 (pinspanning is nul) tot 255 (pinspanning is 5 V).
Stap 4
Laad de schets in het Arduino-geheugen. Laten we het lanceren. De motor draait niet. Om de rotatiesnelheid in te stellen, moet een waarde tussen 0 en 255 worden verzonden naar de seriële poort. De draairichting wordt bepaald door het teken van het getal.
Verbind met behulp van een willekeurige terminal met de poort, stuur het nummer "100" - de motor begint met een gemiddelde snelheid te draaien. Als we "min 100" geven, begint het met dezelfde snelheid in de tegenovergestelde richting te draaien.