Frage zu PWM & Motorauswahl

```
Hallo Leute,

ich habe jetzt eine Weile experimentiert, das heißt ich habe einen alten Kassettenrekorder-Motor
(12V=) via Shield/PWM angesteuert um unterschiedliche Drehzahlen “zu erzeugen”.

Dabei ist mir aufgefallen, dass der Motor erst ab ~35 (von 254) Pulsen anläuft.

Danach kann ich bis 80 Pulsen die  Drehzahl steigern, bis 254 gibt es dann keine signifikannte Änderung.

Der Motor scheint in eine Art Sättigung zu kommen.

Ich verwende folgendes Shield : Adafruit Motor/Stepper/Servo Shield for Arduino - Latest Version 2.3!
(By the way, wie kann ich hier die Schriftgöße einstellen ?).

Kenndaten des Shields:
```

  • 4 H-Bridges: TB6612 chipset provides 1.2A per bridge (3A peak) with thermal shutdown protection, internal kickback protection diodes. Can run motors on 4.5VDC to 13.5VDC.

  • Up to 4 bi-directional DC motors with individual 8-bit speed selection (so, about 0.5% resolution)

```
[tt]Ich verwende ein Netzteil mit 13V/850mA .

Sollte ich einen Motor mit weniger Nennspannung verwenden (zb 9V) ?

Bekommt der Motor evtl. nicht genug Strom ?

Viele Grüße
Harry
```
[/tt]

ich habe einen alten Kassettenrekorder-Motor (12V=) via Shield/PWM angesteuert um unterschiedliche Drehzahlen "zu erzeugen".

Ein Kasettenrekorder sollte möglichst immer mit gleicher Geschwindigkeit laufen.
Das hat natürlich Grenzen. Aber deiner scheint ziemlich gut gewesen zu sein :wink:

michael_x:
Ein Kasettenrekorder sollte möglichst immer mit gleicher Geschwindigkeit laufen.
Das hat natürlich Grenzen. Aber deiner scheint ziemlich gut gewesen zu sein :wink:

Ist ein reiner Zufall, dass es ein Kasettenrekorder-Motor ist, der wurde nicht mehr benötigt
und er war einfach auszubauen. ;D Der (noch zu findende) Motor (egal woher) soll einen möglichst
großen Drehzahlbereich abdecken.
Das ist sozusagen die Anforderung, die hinter den Fragen meines Ursprungs-Posts steht.

Grüße Harry

Ein Gleichstrommotor ist nicht einfach zu steuern, seine Drehzahl hängt stark von der Last etc. ab. Deshalb wird normalerweise ein Tacho-Generator benutzt, um die Spannung bzw. den Strom zu regeln. Fertig zu kaufen gibt's das als "linerarer Servo", aber selbst machen geht natürlich auch. Mit einem Schrittmotor (Stepper) ist es noch einfacher, die Drehzahl zu regeln, da gibt man sie einfach vor über die Pausenzeit zwischen den Schritten.

DrDiettrich:
Ein Gleichstrommotor ist nicht einfach zu steuern, seine Drehzahl hängt stark von der Last etc. ab. Deshalb wird normalerweise ein Tacho-Generator benutzt, um die Spannung bzw. den Strom zu regeln. Fertig zu kaufen gibt’s das als “linerarer Servo”, aber selbst machen geht natürlich auch. Mit einem Schrittmotor (Stepper) ist es noch einfacher, die Drehzahl zu regeln, da gibt man sie einfach vor über die Pausenzeit zwischen den Schritten.

Hm,

ich glaube meine Intention ist nicht rübergekommen.

Ich möchte nicht supergenau steuern, ich möchte nur den Wertebereich PWM (0 - 254) “komplett nutzen”.

Fragt nicht warum, ist einfach so. Wenn es nicht geht ist das auch nicht schlimm.

Wenn ich Parameter wie Motor/Spannung/Strom dafür ändern muss, dann ist die Frage, welche und wie ?

Grüße
Harry

Wofür möchtest Du den Wertebereich nutzen? Solange Du das Verhalten des Motors nicht verstanden hast, nützt das garnichts. Die Drehzahl läßt sich nicht über PWM oder Strom oder Spannung steuern, dazu braucht es einen Regler.

HarryR:
Ich möchte nicht supergenau steuern, ich möchte nur den Wertebereich PWM (0 - 254) "komplett nutzen".

Fragt nicht warum, ist einfach so. Wenn es nicht geht ist das auch nicht schlimm.

Du musst dir einen normalen Motor suchen. Damit er im möglichst kompletten Bereich läuft, brauchst du einen sehr leichtgängigen. Allerdings wirst du immer ein gewisses Mindest-PWM-Signal brauchen. Ein Motor für Solarmodelle könnte gut sein. Ein Kassettenrekorder-Motor hat eine eigene Derhzahlregelelektronik eingebaut, damit er möglichst unabhängig von der Spannung (Batteriebetrieb) und Leichtgängigkeit der Kassette mit der gleichen Drehzahl läuft.

Sobald der Motor etwas "arbeiten " muss, bricht sofort die Drehzahl ein. Lastwechsel wirken sich auch auf die Drehzahl aus. Deswegen Regelung.

Evtl. käme ein BL Motor mit ESC mit eingebauter Regelung in Frage. Musst mal was zum Einsatzzweck schreiben.

Theseus:
Du musst dir einen normalen Motor suchen. Damit er im möglichst kompletten Bereich läuft, brauchst du einen sehr leichtgängigen. Allerdings wirst du immer ein gewisses Mindest-PWM-Signal brauchen. Ein Motor für Solarmodelle könnte gut sein. Ein Kassettenrekorder-Motor hat eine eigene Derhzahlregelelektronik eingebaut, damit er möglichst unabhängig von der Spannung (Batteriebetrieb) und Leichtgängigkeit der Kassette mit der gleichen Drehzahl läuft.

MEIN Kassettenekordermotor hat keine eigene Drehzahlregelung !

Grüße Harry

HarryR:
Danach kann ich bis 80 Pulsen die Drehzahl steigern, bis 254 gibt es dann keine signifikannte Änderung.

Der Motor scheint in eine Art Sättigung zu kommen.

Das deutet halt stark auf eine Regelung hin und es wäre die plausibelste Erklärung. Man sieht sie nicht unbedingt von außen, sondern erst wenn man den Motor zerlegt. Da wir den Motor nicht sehen können, können wir natürlich nur mutmaßen, weshalb sich der Motor unerwartet verhält.

Ich hatte selbiges Problem mit einem Bi-Polarem Motor. Dort war ab einer gewissen Drehzahl auch mal feierabend und stottern angesagt. Ich habe dann eine Elektronik gebau, welche mit einem PWM Ausgang gesteuert wird. Inklusive Strombegrenzung! Erst ab 18 Volt lief der Motor rund und auch in höheren Drehzahlen. Des weiteren musst du dafür sorgen, dass die spannung durch selbstinduktion des Motos schneller abfällt (BYV27, diese Dioden nutze ich für meinen großen Schrittmotor). Anders gefragt.. ist es denn ein Schrittmotor?

frannek:
Ich hatte selbiges Problem mit einem Bi-Polarem Motor. Dort war ab einer gewissen Drehzahl auch mal feierabend und stottern angesagt. Ich habe dann eine Elektronik gebau, welche mit einem PWM Ausgang gesteuert wird. Inklusive Strombegrenzung! Erst ab 18 Volt lief der Motor rund und auch in höheren Drehzahlen. Des weiteren musst du dafür sorgen, dass die spannung durch selbstinduktion des Motos schneller abfällt (BYV27, diese Dioden nutze ich für meinen großen Schrittmotor). Anders gefragt.. ist es denn ein Schrittmotor?

Hi,

PWM , Dioden etc macht ja mein shield, darum kümmere ich mich nicht,
das shield bekommt via i2c Befehle .. fertig ..

Nein es ist kein Schrittmotor, ein ganz normaler Gleichstrommotor.

Hast du die Spannung einfach (von x Volt) auf 18Volt erhöht ?

Viele Grüße

Harry

  • Ein mittels Stromsteuerung betriebener bipolarer Schrittmotor braucht ein Mehrfaches der Motornennspannung als Versorgungsspannung (sagt Uwe; ich verwende beispielsweise den Treiber DRV8825).

  • Das verwendete Motorshield betreibt Schrittmotoren mit Spannungssteuerung, da muß die Versorgungsspannung der Motornennspannung entsprechen. Übrigens müssen alle am Shield angeschlossenen Motoren mit der selben Spannung betrieben werden können.

  • Der verwendete DC-Motor benötigt eine Versorgungsspannung, die der Nennspannung entspricht. Ein Mehrfaches der Nennspannung sollte ihn überhitzen. Das habe ich aber praktisch noch nicht probiert :slight_smile:

Alle Angaben nach bestem Wissen und ohne Gewähr!

agmue:

  • Ein mittels Stromsteuerung betriebener bipolarer Schrittmotor braucht ein Mehrfaches der Motornennspannung als Versorgungsspannung (sagt Uwe; ich verwende beispielsweise den Treiber DRV8825).

  • Das verwendete Motorshield betreibt Schrittmotoren mit Spannungssteuerung, da muß die Versorgungsspannung der Motornennspannung entsprechen. Übrigens müssen alle am Shield angeschlossenen Motoren mit der selben Spannung betrieben werden können.

  • Der verwendete DC-Motor benötigt eine Versorgungsspannung, die der Nennspannung entspricht. Ein Mehrfaches der Nennspannung sollte ihn überhitzen. Das habe ich aber praktisch noch nicht probiert :slight_smile:

Alle Angaben nach bestem Wissen und ohne Gewähr!

o Das verwendete Motorshield betreibt AUCH Schrittmotoren
o Mit geeigneten Vorwiderständen kann ich auch Motoren mit unterschiedlicher Spannung betreiben.
Bei mir : 12V Gleichstrommotor + 5V Schrittmotor (mit dicken Vorwiderständen, das wärmt das Märklin-Gerüst der Teststellung schön an)

Meine Frage ist leider immer noch nicht beantwortet. Ich betreibe einen ungeregelten primitiven Gleichstrommotor (12V) mit dem Shield im PWM-Betrieb. PWM ist aus meiner Sicht eine Regelung bei der ich gepulste Spannung an einen Motor anlege, der in diesem Fall wie ein Kondensator wirkt. Er glättet die Pulse durch seine Trägheit/etc und im Endeffekt sieht es so aus, als ob man mit PWM-Werten zwischen 0 und 254 eine Spannung zwischen 0 Volt und der Nennspannung an den Motor anlegt. Daraufhin läuft er gar nicht (0) - langsam (35) - schneller (60) - so schnell wie es halt geht (80).
Ich frage mich, warum ich bei meinem Motor grob gesagt nur einen kleinen PWM-Bereich sinnvoll nutze. Ich lasse mal die Lastfrage weg, die das simple Modell wie eben beschrieben natürlich komplizierter macht. Bei mir ist es so, dass ich in einem Bereich von ~ 35 - 80 PWM Drehzahlen (über Untersetzung) zwischen 5 und 18 U/sec erzeuge. Darüber bleibt die Drehzahl gleich, darunter steht der Motor. Was kan ich machen um "mehr" vom PWM-Bereich zu nutzen:
a) Bei Spannung 12 Volt ein Motor mit weniger Nennspannung (9V) .. da wird der Motor im Grunde mit "mehr" Power im hohen PWM-Breich angesteuert.
b) Bei Spannung 12 Volt ein Motor mit höherer Nennspannung (15V) .. da dauert es vielleicht länger bis der Motor im hohen PWM-Breich in die Sättigung kommt und die Drehzahl sich nicht mehr erhöht.

Grüße Harry

HarryR:
o Das verwendete Motorshield betreibt AUCH Schrittmotoren

Ich finde das Shield toll, weil es den Arduino entlastet und wollte auch nicht das Gegenteil behaupten. Meine Betonung liegt auf Stromsteuerung beim DRV8825 und Spannungssteuerung beim Shield, womit ich auf die 18 Volt von frannek reagiert habe. Er spricht möglicherweise über stromgesteuerte Schrittmotoren, Du aber über einen Gleichstrommotor.

HarryR:
o Mit geeigneten Vorwiderständen kann ich auch Motoren mit unterschiedlicher Spannung betreiben.
Bei mir : 12V Gleichstrommotor + 5V Schrittmotor (mit dicken Vorwiderständen, das wärmt das Märklin-Gerüst der Teststellung schön an)

Mit getakteter Heizung geht auch das. ::slight_smile: Hast Du einen Märklinkran?

HarryR:
Meine Frage ist leider immer noch nicht beantwortet.

Möglicherweise fragst Du ja nach der Quadatur des Kreises?
Aber ich versuche es mal mit einer These: Wenn Du den Motor bremst, brauchst Du mehr als 80 PWM, um den Motor auf 18 U/sec zu bringen. Die Werte 80 bis 255 brauchst Du also eventuell für den Belastungsfall. Willst Du den Motor denn belasten?

Bei mir ist es so, dass ich in einem Bereich von ~ 35 - 80 PWM Drehzahlen (über Untersetzung) zwischen 5 und 18 U/sec erzeuge. Darüber bleibt die Drehzahl gleich, darunter steht der Motor. Was kan ich machen um "mehr" vom PWM-Bereich zu nutzen:

Wenn oben rum zu viel Luft ist, dann mußt Du die Motorspannung niedriger machen, bis der Motor erst bei 100% (255) seine volle Drehzahl erreicht.

Wenn dann unten rum noch zu viel Luft ist, dann mußt dafür sorgen, daß der Motor bei 0% schon mit Strom versorgt wird, am einfachsten mit einem Widerstand parallel zum Treiber.

Dann kannst Du den vollen PWM Bereich nutzen, zumindest im Leerlauf. Wenn der Motor dann unter Last nicht mehr das macht, was Du erwartest, dann siehst Du selbst, daß Du das Problem anders anpacken mußt.

DrDiettrich:
Wenn oben rum zu viel Luft ist, dann mußt Du die Motorspannung niedriger machen, bis der Motor erst bei 100% (255) seine volle Drehzahl erreicht.

Wenn dann unten rum noch zu viel Luft ist, dann mußt dafür sorgen, daß der Motor bei 0% schon mit Strom versorgt wird, am einfachsten mit einem Widerstand parallel zum Treiber.

Dann kannst Du den vollen PWM Bereich nutzen, zumindest im Leerlauf. Wenn der Motor dann unter Last nicht mehr das macht, was Du erwartest, dann siehst Du selbst, daß Du das Problem anders anpacken mußt.

Hallo zusammen,

nach reiflicher Überlegung werde ich mal mit 9V Spannungsversorgung versuchen den "Bereich oben" auszuschöpfen.

Danke für die Beiträge , ich werde berichten wie es ausgegangen ist.

Grüße
Harry

HarryR:
nach reiflicher Überlegung werde ich mal mit 9V Spannungsversorgung versuchen den "Bereich oben" auszuschöpfen.

Rechnerisch ergeben sich 12 V * 80 / 255 = 3,7 V, wobei dann noch der "Widerstand parallel zum Treiber" eine Rolle spielt.

Ich bin gespannt!