Motorsteuerung über Poti & Transistor


Bastelseite Display + Antriebe Sensoren C++


Als Bauteile verwenden wir:

1 Arduino
1 Poti 470 kΩ
1 Widerstand 1 k Ω (braun, schwarz, rot)
1 Diode 1N4004
1 Elektromotor 12 Volt
1 Akku mit 12 Volt

Motor mit Poti & TIP120 - 1

Wer kein OLED-Display hat, kann es getrost weglassen. Am Ende dieser Seite kommt der Sketch einmal ohne Display, dafür mit Serieller Ausgabe und als Zweites mit Display-Ausgabe



Versuch 1a


Nachdem ich alles nach meinem Plan angeschlossen hatte, lud ich den Sketch hoch:
Aktiviere den seriellen Monitor in der IDE, damit alles sichtbar wird.
Am seriellen Plotter dafür sind alle zwei Werte sichtbar: Eingelesener Potiwert und den Ausgabewert.

Öffnet den Sketch in einem eigenen TAB:  motor-poti-tip120.ino 

/*  motor-poti-tip120.ino
 *
 *  Steuerung eines Elektromotors über Fremdspannung
 *  mittels TIP 120 und einem Poti mit 470 kOhm
 */
 
int potianschluss = A1;
int motorpin = 5;
int potiwert = 0;
int ausgabe = 0;


void setup() {
  Serial.begin(9600);
  Serial.println("   Auslesen eines Potis:  ");
  Serial.println("---------------------------");
  delay(2000);
  pinMode(5, OUTPUT);
}

void loop() {

  potiwert = analogRead(potianschluss);
  ausgabe = map(potiwert, 0, 1023, 0, 255);
  
  Serial.print("Poti-Wert: ");
  Serial.print(potiwert);
  Serial.print(" - ");
  Serial.print("Ausgabe-Wert: ");
  Serial.println(ausgabe);
  Serial.println("---------------------------");

  delay(10); // kurze Pause zum Datenverarbeiten
  // und Zeit zum Lesen lassen!

  analogWrite(motorpin, ausgabe);
  delay(100);

}



Versuch 1b


Nachdem Versuch 1 gut lief, erweiterte ich ihn um eine Prozent-Ausgabe über die map-Funktion
prozent = map(potiwert, 0, 1023, 0, 100); Folgende Ausgabe (von 0 bis 100) in Prozent wird dadurch automatisch umgerechnet. Jede Änderung am Poti bewirkt auch eine Änderung der Werte.
Aktiviere den seriellen Monitor in der IDE, damit alles sichtbar wird.
Am seriellen Plotter dafür sind alle drei Werte sichtbar: Eingelesener Potiwert, Ausgabewert und die Prozentangabe.

Öffnet den Sketch in einem eigenen TAB:  motor-poti-1b.ino 


/*  motor-poti-1b.ino
 *
 *  Steuerung eines Elektromotors über Fremdspannung
 *  mittels TIP 120 und einem Poti mit 470 kOhm
 *  und Serieller Ausgabe in Prozent.
 */

int potianschluss = A1;
int motorpin = 5;
int potiwert = 0;
int ausgabe = 0;
int prozent = 0;

void setup() {
  Serial.begin(9600);
  Serial.println("   Auslesen eines Potis:  ");
  Serial.println("---------------------------");
  delay(2000);
  pinMode(5, OUTPUT);
}

void loop() {

  potiwert = analogRead(potianschluss);
  ausgabe = map(potiwert, 0, 1023, 0, 255);
  prozent = map(potiwert, 0, 1023, 0, 100);

  Serial.print("Poti-Wert: ");
  Serial.print(potiwert);
  Serial.print(" - ");
  Serial.print("Ausgabe-Wert: ");
  Serial.print(ausgabe);
  Serial.print(" - ");
  Serial.print("Prozent: ");
  Serial.print(prozent);
  Serial.println(" %");

  delay(10); // kurze Pause zum Datenverarbeiten
  // und Zeit zum Lesen lassen!

  analogWrite(motorpin, ausgabe);
  delay(100);

}



Ausgabe am Seriellen Monitor von Versuch 2


Hier sieht man sehr deutlich, wie die drei Werte unterschiedlich steigen: von 0 bis 1023 am Poti, 255 am Ausgabe-Wert und 100 bei Prozent. Diese kombinierten Werte werden allein über die map-Funltion erreicht.


Auslesen eines Potis:  
---------------------------

Poti-Wert: 0 - Ausgabe-Wert: 0 - Prozent: 0 %
Poti-Wert: 52 - Ausgabe-Wert: 12 - Prozent: 5 %
Poti-Wert: 125 - Ausgabe-Wert: 31 - Prozent: 12 %
Poti-Wert: 173 - Ausgabe-Wert: 43 - Prozent: 16 %
Poti-Wert: 213 - Ausgabe-Wert: 53 - Prozent: 20 %
Poti-Wert: 274 - Ausgabe-Wert: 68 - Prozent: 26 %
Poti-Wert: 344 - Ausgabe-Wert: 85 - Prozent: 33 %
Poti-Wert: 391 - Ausgabe-Wert: 97 - Prozent: 38 %
Poti-Wert: 440 - Ausgabe-Wert: 109 - Prozent: 43 %
Poti-Wert: 463 - Ausgabe-Wert: 115 - Prozent: 45 %
Poti-Wert: 497 - Ausgabe-Wert: 123 - Prozent: 48 %
Poti-Wert: 543 - Ausgabe-Wert: 135 - Prozent: 53 %
Poti-Wert: 594 - Ausgabe-Wert: 148 - Prozent: 58 %
Poti-Wert: 635 - Ausgabe-Wert: 158 - Prozent: 62 %
Poti-Wert: 684 - Ausgabe-Wert: 170 - Prozent: 66 %
Poti-Wert: 726 - Ausgabe-Wert: 180 - Prozent: 70 %
Poti-Wert: 769 - Ausgabe-Wert: 191 - Prozent: 75 %
Poti-Wert: 803 - Ausgabe-Wert: 200 - Prozent: 78 %
Poti-Wert: 871 - Ausgabe-Wert: 217 - Prozent: 85 %
Poti-Wert: 923 - Ausgabe-Wert: 230 - Prozent: 90 %
Poti-Wert: 1002 - Ausgabe-Wert: 249 - Prozent: 97 %
Poti-Wert: 1023 - Ausgabe-Wert: 255 - Prozent: 100 %
Poti-Wert: 1023 - Ausgabe-Wert: 255 - Prozent: 100 %


Am Seriellen Plotter sieht es dann folgendermaßen aus:



Übersicht Seiten Anfang Weitere Elektromotoren


brixelweb.de