de:arduino:stepper

stepper

Schrittmotoren

Grundsätzlich gibt es zwei Möglichkeiten, Schrittmotoren von Arduino aus zu steuern. Es ist einfacher und billiger, wenn die Steuerung direkt von der Karte durchgeführt wird, d. H. Durch einige Verstärkererweiterungen wird die (normalerweise) Vierdrahtsteuerung direkt durchgeführt. Die andere, etwas teurere Lösung besteht darin, dass die anderen Funktionen in der externen Steuerung ausgeführt werden, wenn die Karte nur ein Freigabesignal, eine Richtung und einen Schrittimpuls an eine komplexe Steuerung ausgibt.

Ein weiterer wichtiger Parameter ist die Motorleistung und die Auflösung der Schritte, entlang derer das Lösungsspektrum von den einfachsten bis zu den komplexesten recht breit ist.

Vergleich verschiedener Steuerungen, ICs und Lösungen:

IC/LösungArt der LösungAusgang
Strom (Spannung)
Maximum
andere
TB6560Regler für 2- oder 4-Phasen-Motoren3.0A (peak 3,5A)- Full & 1/2-1/8, 1/16 Microstep
- eingebauter Wärmeschutz
-Stromversorgung: 10..35VDC
TB6600Regler für 2- oder 4-Phasen-Motoren3.5A (peak 4A)- Full & 1/2-1/8, 1/16, 1/32 Microstep
- eingebauter Wärmeschutz, Kühlkörper
-Stromversorgung: 10..40VDC
DM542Regler für 2- oder 4-Phasen-Hibridmotoren1.0 ~ 4.2AImpulse/Umdrehung 400 - 25.000
- kompakt kivitel
-Stromversorgung: +20..50VDC (tipikusan 36VDC)
DM556Regler für 2- oder 4-Phasen-Hibridmotoren1.8 ~ 5.6AImpulse/Umdrehung 400 - 25.000
- kompakt kivitel
-Stromversorgung: +20..50VDC (tipikusan 24-48VDC)
DM860HRegler für 2- oder 4-Phasen-Hibridmotoren2.4 ~ 7.2AImpulse/Umdrehung 400 - 25.000
- kompakt kivitel
-Stromversorgung: DC24..80V oder AC18..50V
A3967 - "EasyDriver"Regler für 2-Phasen-Motorenmax 1.5AImpulse/Umdrehung 200 - 1.600
-Stromversorgung: DC7..30V
ULN2003serieller Signalverstärker: 7 Darlington Line IC50 mA (50V)- Geeignet für die Signalverstärkung eines 4-Phasen- oder drei 2-Phasen-Motors mit geringer Leistung
L293Dserieller Signalverstärker: 4 Halb-H-Brückensteuerung600 mA (36V)- wurde nicht für Schrittmotoren erfunden, kann aber verwendet werden
L6219Schrittmotor Steuer-IC750 mA (46V)- komplette Schrittmotorsteuerung mit PWM
L297Schrittmotor Steuer-IC
L298NDoppel (FULL-BRIDGE) Leistungsverstärker-IC oder Modul4.0A- Die Ausgangsleistung ist maximal 25W
- arbeitet mit L297 zusammen

TB6560

TB6560 Die am häufigsten verwendeten CNC-Steuerungen sind TB6560-basierte Panels oder eine verbesserte Version davon. der TB6600 (siehe unten). Es wird normalerweise zum Antreiben der NEMA 17 - 23-Serie verwendet.

technische Daten

Stromversorgung: 32 VDC
Ausgangsstrom: maximal 3,0 A, 7 Ausgangsstrompegel wählbar
Ausgangsfrequenz: maximal 20 kHz
Motortyp: Kann auch für 2- und 4-Phasen-Motoren verwendet werden
Auflösung: bis zu 3200 Schritte/Umdrehung (Mikroschrittsteuerung)

ParameterMinimumTypischMaximum
Ausgangsstrom0,6 A-3.0 A (peak 3,5A)
Stromversorgung7 V DC24 V DC35 V DC
Eingangsfrequenz640 Hz-20.000 Hz
Ausgangsfrequenz0 Hz-16.000 Hz
Ausgangsspannung H/L4,5 / 0 VDC5 / 0 VDC5,5 / 0,5 VDC

TB6600

Der TB6600 ist eine erweiterte Version des TB65600. Unterschiede zwischen den beiden Typen:

ParameterTB6560TB6600
BetriebsspannungDC 10V-35VDC 10-40V
MikroschrittsteuerungFull, half, 1/4, 1/8, 1/16Full, half, 1/4, 1/8, 1/16, és 32th
Maximaler Ausgangsstrom± 3.0A± 3.5A
Momentaner maximaler Strom (peak)3.5A4A

Der TB6600 ist außerdem mit einem Kühlkörper ausgestattet. Der TB6600 ist normalerweise in zwei Versionen auf dem Markt erhältlich:

TB6600 panelTB6600 mit Gehaus

Verdrahtung des TB6600

Es ist wichtig zu beachten, dass für alle diese Steuerungen die gemeinsame Signalleitung immer an 5 V + angeschlossen sein muss.

DM542, DM556, DM860H

DM556

Die DM-Serie ist ein vielseitiges, volldigitales Laufwerk, das auf DSP-Steuerung mit modernster Steuerungssoftware basiert. Geeignet für Zweiphasen- und Vierphasen-Hybrid-Schrittmotoren.

paraméterDM542DM556DM860H
Ausgangsstrom (+peak)1.0..4.2A (3.0 RMS)1.8..5.6A (4.0 RMS)2.4..7.2A
Eingangsspannung+20..50VDC (typischerweise 36VDC)+20..50VDC (typischerweise 24..48VDC)DC24..80V oder AC18..50V
Signalstrom7~16mA (typischerweise 10mA) 7~16mA (typischerweise 10mA) 7~16mA (typischerweise 10mA)

Der Schrittmotorstrom und die Mikroschrittregelung können an den Reglern eingestellt werden.

DM-Verkabelung

Es ist wichtig zu beachten, dass für alle diese Steuerungen die gemeinsame Signalleitung immer an 5 V + angeschlossen sein muss.

A3967 - "EasyDriver"

EasyDriver V4.3

Die EasyDriver-Serie wurde von schmalzhaus entwickelt und bietet eine relativ einfache Lösung zur Steuerung von Schrittmotoren. EasyDriver benötigt ca. Es kann 750 mA pro Phase in einem bipolaren Schrittmotor ansteuern. Dies bedeutet, dass für eine Vierdraht-NEMA der maximale Stromverbrauch 1,5 A betragen kann - dies ist ziemlich dünn.

Standardmäßig gibt es 8 Einstellmodi für Mikroschritte. Wenn der Motor 200 volle Schritte pro Umdrehung ausführt, können mit EasyDriver 1600 Schritte pro Umdrehung erreicht werden. Sie können diese Einstellung leicht überschreiben, indem Sie die Pins MS1 / MS2 erden. EasyDriver basiert auf Allegro A3967 IC. Das IC-Typenblatt finden Sie hier.

Der IC verfügt über einen Wärmeschutz, schaltet spätestens über 165 °C ab, begrenzt jedoch die Steuerung über 65 °C (siehe Typenblatt oben). Die Betriebstemperatur des IC ist bereits hoch, es lohnt sich, einen zusätzlichen Kühlkörper hinzuzufügen.

Die maximale Antriebsspannung des Motors kann ca. 30 V betragen, dazu gehört die 5 V-Steuerung, es ist nur eine Stromversorgung erforderlich. Die Stromregelung kann mit dem Knopf am Bedienfeld zwischen 150 mA / Phase und 750 mA / Phase eingestellt werden.

Die Stromversorgung des Moduls muss zwischen 7V und 30V bleiben.

Den Schaltplan des EasyDriver-Moduls finden Sie hier.

EasyDriver v4.3

DIR: Richtungseingabe
STEP: Schritteingabe
GND: GND
MS1: Microstep select 1 input, siehe unten
SLP: Sleep mode (negiert!)
+5V: +5v Ausgang
GND: GND
M+: Power in + (7..30v)
GND: Power in-
MS2: Microstep select 2 input, siehe unten
ENABLE: Enable input (negiert!)
RST: Reset input (negiert!)
PFD: Percent Fast Decay Input, mode select with 3 voltage-level
B: Motor coil A
B: Motor coil A
A: Motor coil B
A: Motor coil B
CUR ADJ:

Codierung der Pins MS1, MS2 (MS:Mikroschritt):

MS1MS2Auflösung
LLFull step (2 phase)
HLHalf step
LHQuarter step
HHEighth step

Mit dem PFD können 3 Modi ausgewählt werden:

PFD bemenet > 0,6V: „slow-decay” Modi
PFD bemenet < 0,21V: „fast-decay” Modi
PFD bemenet > 0,21V és < 0,6V: „mixed-decay” Modi

EasyDriver Verdrahtung

Roundtrip-Testprogramm

Software zeigen

Software zeigen

int smDirectionPin = 2; //Direction pin
int smStepPin = 3; //Stepper pin
 
void setup(){
  /*Sets all pin to output; the microcontroller will send them(the pins) bits, it will not expect to receive any bits from thiese pins.*/
  pinMode(smDirectionPin, OUTPUT);
  pinMode(smStepPin, OUTPUT);
 
  Serial.begin(9600);
}
 
void loop(){
  digitalWrite(smDirectionPin, HIGH); //Writes the direction to the EasyDriver DIR pin. (HIGH is clockwise).
  /*Slowly turns the motor 1600 steps*/
  for (int i = 0; i < 1600; i++){
    digitalWrite(smStepPin, HIGH);
    delayMicroseconds(700);
    digitalWrite(smStepPin, LOW);
    delayMicroseconds(700);
  }
 
  delay(1000); //Pauses for a second (the motor does not need to pause between switching direction, so you can safely remove this)
 
  digitalWrite(smDirectionPin, LOW); //Writes the direction to the EasyDriver DIR pin. (LOW is counter clockwise).
  /*Turns the motor fast 1600 steps*/
  for (int i = 0; i < 1600; i++){
    digitalWrite(smStepPin, HIGH);
    delayMicroseconds(70);
    digitalWrite(smStepPin, LOW);
    delayMicroseconds(70);
  }
 
  delay(1000);
}

L297 / L298N

L297 ist ein Schrittmotor-Steuer-IC, während L298N hierfür eine (Vollbrücken-) Ausgangsstufe ist. Der L297 kann natürlich weggelassen werden. In diesem Fall muss der Arduino auch eine direkte Schrittmotorsteuerung durchführen.

Arduino + L297 + L298N

Die Arduino-Verbindung kann natürlich auf ein Projekt zugeschnitten werden. Die minimale Verbindung erfordert 2 Drähte (DIR / CLOCK), aber in komplexeren Lösungen können wir mehr steuern. IC-Pinbelegung:

L297 Pinbelegung

PinNameFunktion
1SYNCDer Ausgang des Scheduler-Oszillators, wenn mehrere ICs synchronisiert werden müssen
2GNDGND
3HOMEOpen Collector-Ausgang, der anzeigt, wann sich L297 im Ausgangszustand befindet (ABCD = 0101).
4AMotorphasenausgang zum Verstärker
5INH1Zwischenlaststromausgang (A-B)
6BB Motorphasenausgang an den Verstärker
7CC Motorphasenausgang an den Verstärker
8INH2Zwischenlaststromausgang (C-D)
9DD Motorphasenausgang an den Verstärker
10ENABLESchlüssellizenzierung. Wenn LO, dann sind INH1, INH2, A, B, C und D ebenfalls LO.
11CONTROLDer Eingang des Controllers, der den Zeitplan bestimmt. LO: Steuert INH1 und INH2, HI: Steuert den Motorphasenausgang (ABCD)
12Vs5V Stromversorgung
13SENS2Phase C und D Leistungsstufeneingang. Es wird normalerweise nicht verwendet, da die Leistungsverstärkung typischerweise von einem anderen IC durchgeführt wird, z. L298N oder ULN2003.
14SENS1Phase A und B Leistungsstufeneingang. Es wird normalerweise nicht verwendet, da die Leistungsverstärkung typischerweise von einem anderen IC durchgeführt wird, z. L298N oder ULN2003.
15VrefReferenzspannung für den Leistungsschalter. Die Spannung an diesem Eingang bestimmt die maximale Ausgangsspannung
16OSCSynchronisierungsmodus einschalten
17CW/CCWDrehung des Motors im oder gegen den Uhrzeigersinn (dies hängt auch von der physischen Verbindung ab)
18CLOCKBewegung. LO-Trigger: ein Schritt
19HALF/FULLHalben oder vollen Schritt wählen. LO: Halb, HI: Voll
20RESETEingang zurücksetzen. LO: Reset: ABCD = 0101
  • de/arduino/stepper.txt
  • 2022/04/21 15:00
  • ()