DC-motor

Beskrivelse
DC-motoren (likestrømsmotoren) er den vanligste motortypen. DC-motorer har normalt bare to ledninger, ei positiv og ei negativ. Hvis du kopler disse to ledningene direkte til et batteri, vil motoren rotere. Hvis du bytter om på plasseringa av ledningene, vil motoren rotere i motsatt retning.
En DC-motor består av en rotor (ei aksling) og en stator. Når motoren leder strøm, skapes det et magnetfelt. Akslinga begynner å rotere når motoren tilføres ei spenning på over 3 V.
Vanlige motorer for småelektronikk kan brukes på spenninger opp til 40 V og strømstyrker på opp mot 200 mA (200 milliampere). Arduinoen er ikke bygd for å handtere så stor strømgjennomgang. Derfor er det viktig at du bruker en transistor som tåler tilstrekkelig med strøm for å drive motoren.
Fordi vi i skaper magnetfelt i slike motorer, kan det oppstå spenningspulser når spenninga slås av og på. Da er det viktig at du bruker en diode mellom pluss- og minussida på motoren. Den skal hindre overspenning på transistoren når strømmen brytes for å stoppe motoren.
Bruksområder
I dag brukes elektriske motorer til det meste der noe skal gå rundt eller bevege seg, for eksempel i elektriske kjøkkenartikler, vaskemaskiner, pumper, vifter, vindusviskere, datadisker, leketøy som skal bevege seg, og elektriske biler.

Kopling
Når du skal kople en DC-motor, er det viktig at du undersøker hvor stor spenning og hvor kraftig strøm motoren krever. Noen motorer kan kjøres direkte fra Arduinoen, mens andre krever at du benytter en ekstern spenningskilde, for eksempel et 9 volts batteri. Det kan også hende at motoren kan kjøres direkte fra Arduinoen så lenge den ikke belastes, men at det kreves mer strøm enn Arduinoen kan levere, hvis motoren skal gjøre et arbeid.
Du må også bruke en transistor for å kontrollere strømgjennomgangen og en diode for å redusere spenningstopper i oppkoplinga.

Når du kopler DC-motorer til en Arduino, kan du også bruke spesialtilpassa skjold med ekstern spenningsforsyning som kan monteres på toppen av Arduinoen.
Koplingsskjema
Et elektrisk koplingsskjema er et viktig verktøy når du skal feilsøke en krets. Illustrasjonen under viser et koplingsskjema for en DC-motor tilkopla en Arduino:
Minuspolen til motoren er kopla til Arduinoens 5V, og Arduinoens GND er kopla til jordinga til transistoren. Arduinoens D9 er kopla til inngangen til transistoren via en 1k-resistor. Utgangen til transistoren er kopla til plusspolen til motoren. Det er også kopla en diode mellom plusspolen og minuspolen.

Programmering
En DC-motor kan du styre på ulike måter. Den enkleste måten er å skru motoren på slik at den går med maksimalt turtall helt inntil programmet stoppes.
Du kan også styre motoren ved å oppgi et fast turtall den skal rotere med. Du kan ikke oppgi turtallet direkte, men må velge en verdi mellom 0 og 255, der 0 tilsvarer fullt turtall og 255 tilsvarer stillstand. Ønsker du for eksempel at motoren skal gå med halvt turtall, må du oppgi halvparten av verdien mellom 0 og 255, det vil si ca. 128.
Hvis du vil at det skal være mulig å regulere turtallet på motoren mens den går, kan du kople til et potensiometer. Da må Arduinoen lese verdien fra potensiometeret og lagre denne i en variabel. Verdien i variabelen skrives så til motoren.
Eksempel: Motor på, maksimalt turtall
I dette programeksempelet skal motoren starte og gå på maksimalt turtall så lenge programmet kjøres. Du kan ellers velge hvilken pinne du vil bruke for tilkopling, men i eksempelet vårt er motoren kopla over pinne 9, som er en PWM-pinne.
Eksempel: Motor på, forhandsdefinert turtall
Hvis du heller vil at motoren skal gå på et fast turtall du har forhandsbestemt, må du bruke en variabel som bestemmer turtallet.
Turtallet reguleres på en skala fra 0 til 255, der 0 er fullt turtall og 255 er avslått motor. I dette eksempelet er variabelen turtall satt til 128. Tallet ligger midt imellom 0 og 255, noe som tilsier at motoren skal gå med halv hastighet.
Eksempel: Variabelt turtall
Du kan også styre turtallet ved hjelp av et potensiometer. Da endrer du på turtallet med en vribryter. For å få til dette må Arduinoen lese innstillinga på potensiometeret og lagre denne verdien i variabelen turtall. Så må den sende denne verdien til motoren.

Koplingsskjemaet nedenfor viser en Arduino tilkopla en DC-motor. Turtallet på DC-motoren reguleres av en transistor, og DC-motoren har ekstern spenningsforsyning via et 9 volts batteri.

Utfordring
Kan du tenke deg andre sensorer som kan regulere en motor?
(Tips: Har du opplevd at det er varmt på rommet ditt og du kunne tenkt deg ei vifte? Hva om du bruker en temperatursensor til å regulere en DC-motor som er kopla til ei vifte? Tenk deg at vifta skal stå stille når det er kaldt, og gå fortere jo varmere det blir.)