Styra en elmotor
Det första experimentet som vi skall ta oss ann är att styra en elektrisk motor med hjälp av Arduino. Målsättningen med detta projekt är att skapa ett system där vi kan trycka en knapp för att starta och stänga av motorn. Detta kan på ytan ses vara helt komplikationsfritt och enkelt, men vi kommer att behöva hantera några knepigheter inom elektroniken för att garantera att vi inte förstör några komponenter.
För det första så stöter vi på en vanlig begränsning med Arduino, nämligen hur stora belastningar som den kan driva. Om vi tittar på Arduino’s officiella hemsida (se länk längst ner på sidan), så ser vi att en digitalutgångs maximala belastning är 20mA. Eftersom även en liten motor kan dra mer än så, behöver vi koppa in en extern strömkälla som får driva motorn. För att styra strömstyrkan från Arduino, kommer vi att använda oss utav en transistor. (Se inkoppling i steg 6, 7 och 8).
Ett andra problem som vi stöter på kan enkelt förklaras med att en motor även kan användas som generator, dvs en motor kan skapa en spänning/strömflöde. Vi behöver ta med detta i beräkningen och skapa en koppling som kan hantera detta genererade strömflöde utan att Arduino eller transistorn bränns sönder. (se vidare steg 10).
Material
För det här experimentet kommer vi att behöva följande utrustning
- 1 st. Arduino Uno Rev 3
- 1 st. Kopplingsdäck
- 1 st. Transistor (Mosfet)
- 1 st. Tryckknapp
- 1 st. Motstånd 1k ohm (pull-down)
- 1 st. Diod
- 1 st. Elmotor
- 1 st. Extern strömkälla, ex 9V-batteri
- Kopplingskablar för kopplingsdäck
Steg 1
Koppla Arduino 5V utgång till Kopplingsdäckets positiva skena nr 1 (P1).
HemSteg 2
Koppla Arduino Grd till Kopplingsdäckets negativa skena nr 1 (N1).
HemSteg 3
Placera transistorn, tryckknappen och dioden på Kopplingsdäcket.
HemSteg 4
Koppla den negativa polen på strömkällan till N1.
HemSteg 5
Koppla den positiva polen på strömkällan till Kopplingsdäckets positiva skena nr 2 (P2).
HemSteg 6
Koppla Transistorns G-ben till Arduinos digitala utgång 9 (D9).
TillbakaSteg 7
Koppla Transistorns D-ben till motorns negativa pol.
TillbakaSteg 8
Koppla Transistorns S-ben till N1.
TillbakaSteg 9
Koppla motorns positiva pol till P2.
HemSteg 10
Koppla diodens katod till motorns positiva pol och anoden till motorns negativa pol.
TillbakaSteg 11
Koppla ett pull-down motstånd mellan Arduinos digitala ingång 2 (D2) och N1.
HemSteg 12
Koppla P1 och D2 till knappen.
HemSteg 13
Koppla upp Arduino till en PC.
HemSteg 14
Ladda ner koden till Arduino via Arduiono IDE.
HemArduino kod
Kopiera följande kod till Andrduino IDE.
const int knapp = 0; // Port for knappen
const int motorn = 0; // Port för motorn
int motornPa = 0; // variabel för att hantera motorns status
void setup() {
//initialisera portarna
pinMode(knapp, INPUT);
pinMode(motor, OUTPUT);
}
void loop(){
//Kontroller om motorn är på, dvs port 9 = HIGH
motornPa = digitalRead(motor);
//Vi kollar om knappen trycks ned
if(knapp ==HIGH){
if(motornPa == HIGH){
digitalWrite(motor, LOW)
}
else{
digitalWrite(motor, HIGH)
}
}
}