Starterkit - Zoetrope - Motor heult?

Hallo Leute,

bin Anfänger und baue gerade das Zoetrop Beispiel aus dem Starterkit nach. Mit Hilfe von diesem Thread passen die wackeligen Potentiometer entlich gut auf das breadboard. Soweit tut es nun.

Frage: Wenn ich jetzt den Potentiometer langsam hochdrehe, heult der Motor (TT-Motor) erst eine Weile nur. Erst ab einem bestimmter Wert (ca. motorSpeed = 40) läuft er dann auch los. Das "heulen" macht mich nervös. Ist das normal?

  // read the value of the pot and divide by 4 to get 
  // a value that can be used for PWM
  motorSpeed = analogRead(potPin)/4; 
  
  Serial.print("motorSpeed=");
  Serial.println(motorSpeed);

Danke für Hinweise!

Grüße
Thomas

Ich vermute, dass das heulen, das du meinst, das brummen ist, das durch die magnetfelder entsteht.
Ein (Elektro-)Motor dreht sich ja, weil Strom durch ihn fließt, welcher ein Magnetfeld erzeugt. Ist das Magnetfeld noch zu schwach, um den Motor in Bewegung zu setzen (besser gesagt den Rotor), so hört man nur ein Brummen. Das ist ganz normal und hat man bei jedem Motor.

LG

Fipsi

Hallo Fipsi,

danke für den Tipp. Der Ton ist "relativ" hoch. Keine Ahnung ob es nun heult oder brummt. Ist auf jeden Fall störend. Wie bekommt man den "Brummton" weg. Gibt es leisere Motoren?

EDIT

Hab mir mal mit diesem Codeteil beholfen. Wenn motorSpeed zu klein ist, den Motor anzutreiben, dann setze ich ihn gleich auf 0.

  // read the value of the pot and divide by 4 to get 
  // a value that can be used for PWM
  motorSpeed = analogRead(potPin)/4; 
  
  if (motorSpeed < 40) {
   motorSpeed = 0;
  }

Danke!
Thomas

Wenn das Geräusch als störend empfunden wird, kann man auch einfach die PWM-Frequenz erhöhen. Normalerweise liegt diese bei 490 bzw. 980 Hz, also im hörbaren Bereich. Lässt sich aber leicht umkonfigurieren, wie hier beschrieben. Alles über 16 kHz sollte nicht mehr zu hören sein. Du musst allerdings aufpassen, je nachdem welchen PWM-Kanal du benutzt veränderst du auch die Geschwindigkeit des millis-Timers und musst evtl. andere Stellen im Code entsprechend anpasssen (wenn du millis(), delay() oder Servos benutzt).

Gruß,
Marv

Hallo Marv,

genial. Damit läßt sich der Sound des Motor anpassen (Porsche, Ferrari, Lamborghini).

Habe im Setup() dies eingebaut..

  /* Set PWM Frequenz PIN 9 to */
  setPwmFrequency(enablePin, 1);

Klasse, was da alles möglich. Hat mir sehr geholfen.

Danke!
Thomas

Vorischt bei PWM und höheren Frequenzen bei Motor belastungen. Je höher die PWM Frequenz desto höher die Elektischen Verluste im Motor. Je höher die Belastung für den Motor (höherer Strom) desto mehr Verluste auch in deinem Motor, das sind die Verluste beim Magentisieren bei 500Hz halt 500/s Strom bzw. Sapnnung an bzw. aus. Bei 16kHz 16000/s da es bei jedem Einschalen Verluste gibt sind sie halt bei höheren Frequenzen auch mehr. Auch die Ansteuerung des Motors muss diese Frequenzen aushalten.
Ich würde weil ich den Motor nicht kenne auf 4-6kHz gehen sind zwar immer noch hörbar aber angenehmer. Soll es ein "leiserer" Motor sein müsste man über Brushless Motoren mit Controller nachdenken je nach Anwendung.

Gruß
DerDani

Hallo DerDani,

danke für die Ergänzung. Ok, ich habe das Ganze nochmal angepaßt. So klingt es wie ein Traktor :wink:

  /**
  * The base frequency for pins 3, 9, 10, and 11 is 31250 Hz.
  * The divisors available on pins 5, 6, 9 and 10 are: 1, 8, 64, 256, and 1024.
  * Set PWM Frequenz PIN 9 to 
  */
  
  setPwmFrequency(enablePin, 1024);

Zwei Bilder im Anhang mit meiner Spielerei. Ist ja alles nur ein erster Test.

Ich lerne, es gibt viel zu lernen ... :slight_smile:

Danke!
Thomas