Forum: Mikrocontroller und Digitale Elektronik [STM32] Peltier-Element mit Stepper-Driver ansteuern


Announcement: there is an English version of this forum on EmbDev.net. Posts you create there will be displayed on Mikrocontroller.net and EmbDev.net.
von Rasmus (Gast)


Angehängte Dateien:

Lesenswert?

Hallo zusammen,

ich soll für ein Praktikum an der Uni versuchen, ein Peltier-Element mit 
einem Stepper-Treiber mittels PWM-Signal anzusteuern. Zur Verfügung habe 
ich ein STM32F401RE Controller mit dem Treiber-Board X-NUCLEO-IHM03A1 
als shield. Das Peltierlement soll heizen und kühlen, dafür soll es 
zwischen den Ausgängen A- und A+ am X-NUCLEO-IHM03A1
angeschlossen werden.

Mein momentaner Ansatz lautet wie folgt:
1) 1 step bewegen
2) Ausschalten der H-Brücken (damit am Ausgang A+ kein High-Signal 
anliegt wenn am Ausgang A- Low anliegt)
3) Pause, je nachdem welcher Duty-Cycle erwünscht ist
4) Repeat

Im Code (Schleife ignorieren, ist nur zum testen):
1
 int i=1;
2
while(i <= 10000) {
3
4
  BSP_MotorControl_Move(0, FORWARD, 1);
5
6
  /* Wait for the motor of device 0 ends moving */
7
  BSP_MotorControl_WaitWhileActive(0);
8
9
  BSP_MotorControl_CmdHardHiZ(0);
10
11
  HAL_Delay(600);
12
13
  i++;
14
}

So weit so schlecht. Leider tut der Treiber das was er machen soll und 
wechselt nach 2 Steps artig mit dem High-Signal von Ausgang A- auf A+ 
und danach vice versa, sprich die erwünschte Wirkung wird nach 2 Steps 
immer umgekehrt. Das macht auch Sinn, nach meinem Verständnis sind die 
Ausgangssignale an den 4 Ausgängen (A/B- und A/B+) jeweils überlappend 
um 90° Phasenverschoben (also Step 1+2 =  A- high; Step 2+3 = B- high; 
Step 3+4 = A+ high, Step 4+1 = B+ high).

Fällt einem von Euch vielleicht eine Möglichkeit ein den Treiber da 
auszutricksen, also dass er immer wieder die Pulse am Ausgang A- beginnt 
und nicht "durchzählt"? Ein ResetPosition-Command in der Schleife hat 
leider nicht geholfen.

Screenshot vom Signal hänge ich an (rote Kurve A+, blaue A-), das 
DataSheet für den powerStep01-Chip gibt es hier ganzen oben (Product 
Specifications): 
https://www.st.com/en/motor-drivers/powerstep01.html#documentation

Freue mich über jeden input. Vielleicht gibt es keine Lösung, aber ich 
dachte ich frage lieber hier nochmal nach bevor ich die Flinte ins Korn 
werfe.

Viele Grüße
Rasmus

: Verschoben durch Moderator
von Kevin M. (arduinolover)


Lesenswert?

Wie wäre es mit einem für die Aufgabe geeigneten Bauteil? Eine normaler 
DC Motor Treiber z.B. dem kann man das gewünschte PWM direkt geben und 
muss nicht mit den Steps knaupen. Gibt es auch als Shield.

An der Stelle wie schon so oft in dem Forum angemerkt. Peltier Elemente 
sind konstantstrom getriebene Bauteile. Da sie im Gegensatz zu einem 
Motor keine Induktivität haben produziert eine H-Brücke alleine keinen 
konstanten Strom, dadurch sinkt sie Effizienz der Elemente recht stark.

von Helmut W. (Gast)


Lesenswert?

Wenn er es für ein Praktikum wissen muss, ist es wahrscheinlich Teil der 
Vorgabe, das Teil zu benutzen und wahrscheinlich weiß er auch, dass ein 
DC-Treiber den Zweck weitaus besser erfüllen würde.
Ich stimme Kevin allerdings zu. Meiner Meinung nach geht das nicht und 
sprengt den Rahmen eines Praktikums, falls es doch ginge. Wäre aber 
selbst interessiert ob es hierfür eine Lösung gibt.

von Kevin M. (arduinolover)


Lesenswert?

Helmut W. schrieb:
> Wenn er es für ein Praktikum wissen muss, ist es wahrscheinlich Teil der
> Vorgabe, das Teil zu benutzen und wahrscheinlich weiß er auch, dass ein
> DC-Treiber den Zweck weitaus besser erfüllen würde.

Das ist mir auch klar, in dem Fall stell ich mal die Aufgabenstellung 
seitens des Lehrstuhls in Frage. Ziel sollte doch eine 
Lösungsorientierte Arbeit sein, die auch sinnvoll ist.

Mal abwarten was der TO so meint, vielleicht hat ja auch jemand lust 
sich eine Lösung zu überlegen :D

von -gb- (Gast)


Lesenswert?

Rasmus schrieb:
> heizen und kühlen

Daher wohl die Umkehrung der Stromrichtung. Ist lösbar, auch mit der PWM 
für wenig heizen oder wenig kühlen.

von Horst (Gast)


Lesenswert?

Ist es tatsächlich noch irgendwo Lehrmeinung, daß Peltier und PWM 
irgendwie vernünftig funktionieren könnte?

von Alex F. (test432)


Lesenswert?

Hallo,

Ich sehe da drei mögliche Lösungen:

1. Anstatt den Teiber "auszutrichsen" dass er immer wieder bei A- 
beginnt, kann man ihn auch einfach eine ganze Sequenz sehr schnell 
durchschalten lassen, bis er wieder bei A- ankommt. Das ganze PWM kann 
ja im Verhältnis dazu relativ langsam verlaufen (Das Peltier ist 
thermisch ja recht träge). Da fallen die paar µs mit "falscher" 
Polarität nicht ins Gewicht.

2. Das Microstepping von Controller "Missbrauchen": Wenn man zu dem 
Peltier in Serie eine Spule hängt, hat man faktisch einen Schaltwandler 
gebaut, der Spannnungen zwischen +Vcc/-Vcc erzeugen kann. Dann braucht 
man auch kein PWM mehr "on top" da man (mit gewissen Einschränkungen 
durch die Schrittauflösung) beliebige Spannungen einstellen kann.

3. Noch mal mit dem Prof sprechen. Wie andere schon gesagt haben, Ist 
ein Schrittmotor-Conroller für so was denkbar ungeeignet.

VG

von Irgend W. (Firma: egal) (irgendwer)


Lesenswert?

Horst schrieb:
> Ist es tatsächlich noch irgendwo Lehrmeinung, daß Peltier und PWM
> irgendwie vernünftig funktionieren könnte?

Warum nicht. Z.B. 1 min an und 30sek aus ist immer noch PWM wenn man die 
Pulzbreite auch variieren kann.

von Robert M. (r_mu)


Lesenswert?

Möglicherweise ist gedacht, den POWERSTEP01 auf Mikroschritt-Betrieb zu 
konfigurieren. Die PWM stellt man dann über den Mikroschritt ein, das 
Puls/Pausenverhältnis sollte sich dabei ähnlich eines Sinus verändern. 
Insgesamt würde man sich dann nur innerhalb von 2 Vollschritten bewegen.

von Robert M. (r_mu)


Lesenswert?

Alex F. schrieb:
> 2. Das Microstepping von Controller "Missbrauchen": Wenn man zu dem
> Peltier in Serie eine Spule hängt, hat man faktisch einen Schaltwandler
> gebaut, der Spannnungen zwischen +Vcc/-Vcc erzeugen kann. Dann braucht
> man auch kein PWM mehr "on top" da man (mit gewissen Einschränkungen
> durch die Schrittauflösung) beliebige Spannungen einstellen kann.

Der Mikroschritt-Generator wär ja genau die PWM, Spule sollts da keine 
brauchen.

von Guest (Gast)


Lesenswert?

Robert M. schrieb:
> Der Mikroschritt-Generator wär ja genau die PWM, Spule sollts da keine
> brauchen.

Was passiert denn beim PWM egal mit welcher frequnez? Es ist an und dann 
aus, also fließt Strom und dann keiner mehr. Sobald der Strom aus ist 
fließt die Wärme von der heißen Seite zurück und erwärmt die kalte Seite 
nochmal. Dadurch sinkt die Effizienz und das Element wird nicht so kalt 
wie es sein könnte.

Natürlich geht das ohne Induktivität und mit lückendem Strom, aber eben 
zulasten der erreichbaren temperatur. Und wie einige andere hier auch 
sollte der Anspruch einer Universität sein anständige Lösungen zu 
entwickeln.

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.