czwartek, 3 września 2015

[8] Arduino - Sterowanie silnikiem DC

W tym poście opiszę sposób sterowania silnikiem prądu stałego przy pomocy Arduino.

Wstęp

Silniki prądu stałego zasilane są, jak sama nazwa wskazuje, prądem stałym. Pozwalają one na dokonanie zamiany energii elektrycznej na mechaniczną.

Potrzebują one większej wartości napięcia oraz prądu niż te, które może zapewnić Arduino. Często takie silniki wymagają napięcia rzędu 9-12V i prądu 1A. Oczywiście mowa tutaj o mniejszych silnikach, które możemy połączyć.

Podłączenie

W celu poprawnego podłączenie silnika prądu stałego do Arduino należy zastosować schemat przedstawiony na rysunku 1.

Rys. 1. Podłączenie silnika prądu stałego

Rysunek 2 przedstawia schemat ideowy wykonanego połączenia.


Rys. 2. Podłączenie silnika prądu stałego schemat ideowy

Każdy z przedstawionych elementów posiada osobne zadanie.
  • Tranzystor NPN - pozwala na przełączanie podawanego napięcia 9V na silnik. Służy jako przełącznik pozwalający na hamowanie lub włączenie przepływu prądu;
  • Rezystor - oddziela bazę tranzystora od pinu Arduino;
  • C1 - filtracja szumów silnika;
  • Dioda zabezpieczająca - chroni źródło zasilania przed napięciem wstecznym podanym przez silnik.

Program


Przykład zawiera program testowy, który w miarę przechodzenia kolejnych wywołań pętli zwiększa prędkość obrotową silnika.

const int SilnikDC = 3;
 
void setup() {
  pinMode(SilnikDC, OUTPUT);
}
 
void loop() {
  for(int i=0; i<=255; i++){
    analogWrite(SilnikDC, i);
    delay(15);
  }
  delay(4000);
  for(int i=255; i>=0; i--){
    analogWrite(SilnikDC, i);
    delay(15);
  }
  delay(4000);
}