Schrittmotor-Controller (Stepper): Unterschied zwischen den Versionen
Keine Bearbeitungszusammenfassung |
|||
(Eine dazwischenliegende Version von einem anderen Benutzer wird nicht angezeigt) | |||
Zeile 10: | Zeile 10: | ||
* Haltestromschaltung für stabile Armpositionen | * Haltestromschaltung für stabile Armpositionen | ||
* Watchdogschaltung gegen Prozessorfehlfunktion | * Watchdogschaltung gegen Prozessorfehlfunktion | ||
== Hardware == | == Hardware == | ||
Zeile 17: | Zeile 15: | ||
* [[RS-232|RS-232]] zur Kommunikation mit einem Steuerrechner | * [[RS-232|RS-232]] zur Kommunikation mit einem Steuerrechner | ||
* Ansteuerung über einen parallelen Bus mit 3-zu-8 Adressdecodern (74*138) | * Ansteuerung über einen parallelen Bus mit 3-zu-8 Adressdecodern (74*138) | ||
== Bekannte Probleme == | == Bekannte Probleme == | ||
* | * derzeit sind keine Probleme bekannt :) | ||
* es ist die in der Dokumentation beschrieben Hardwareänderung am MAX232 zu beachten | * es ist die in der Dokumentation beschrieben Hardwareänderung am MAX232 zu beachten | ||
Zeile 27: | Zeile 23: | ||
Das komplette Projekt mit allen Schaltplänen, PCB-Layouts, Assembler-Sourcecodes und Dokumentation in einem Paket: | Das komplette Projekt mit allen Schaltplänen, PCB-Layouts, Assembler-Sourcecodes und Dokumentation in einem Paket: | ||
[[Media:Lmn_steppercontroller.zip|Lmn_steppercontroller.zip]] | [[Media:Lmn_steppercontroller.zip|Lmn_steppercontroller.zip]] | ||
Zeile 34: | Zeile 28: | ||
== Kontakt & Diskussion == | == Kontakt & Diskussion == | ||
Ich freue mich über jeden Kommentar. Also schreibt hier oder per Mail (irgendwo in dem Paket versteckt) Eure Kommentare und Anregungen. Wer hat sich's angeschaut, nachgebaut, teilweise verwendet oder einfach nur für großen Mist befunden? | Ich freue mich über jeden Kommentar. Also schreibt hier oder per Mail (irgendwo in dem Paket versteckt) Eure Kommentare und Anregungen. Wer hat sich's angeschaut, nachgebaut, teilweise verwendet oder einfach nur für großen Mist befunden?! | ||
Noch einige Bemerkungen zur Schaltung. Wie beschrieben, wird der interne Oszillator des [[AVR|ATmega8]] benutzt, obwohl per [[RS-232|RS-232]] mit einem PC kommuniziert wird. Es geht trotzdem... Man muss halt dazu sagen, dass die Funktion damit möglicherweise nur in einem eingeschränkten Temperaturbereich und bei 5 V Betriebsspannung gegeben ist. Da derzeit keine dynamische Anpassung der Taktfrequenz an die Datenrate der Schnittstelle implementiert ist, kann es zu Fehlübertragungen kommen, wenn der Oszi zu weit driftet. Es gibt auch keine speziellen Schaltkreise für die Stepper, keine Zaubereien mit spezieller Ansteuerung, nur der einfachstmögliche Weg per Schalttransistorarray. | Noch einige Bemerkungen zur Schaltung. Wie beschrieben, wird der interne Oszillator des [[AVR|ATmega8]] benutzt, obwohl per [[RS-232|RS-232]] mit einem PC kommuniziert wird. Es geht trotzdem... Man muss halt dazu sagen, dass die Funktion damit möglicherweise nur in einem eingeschränkten Temperaturbereich und bei 5 V Betriebsspannung gegeben ist. Da derzeit keine dynamische Anpassung der Taktfrequenz an die Datenrate der Schnittstelle implementiert ist, kann es zu Fehlübertragungen kommen, wenn der Oszi zu weit driftet. Es gibt auch keine speziellen Schaltkreise für die Stepper, keine Zaubereien mit spezieller Ansteuerung, nur der einfachstmögliche Weg per Schalttransistorarray. |
Aktuelle Version vom 9. April 2013, 17:57 Uhr
von Benutzer:Yahp
Die im folgenden dargestellte Schaltung ist ein einfaches Controllersystem zur Ansteuerung von bis zu 32 unipolaren Schrittmotoren. Gedacht ist das System als Strahlschalter einer Laseranlage, doch mit geringem Aufwand kann die Software angepasst werden, um beliebige andere Aufgaben mit Schrittmotoren zu erledigen. Als Strahlschalter werden SANKYO-MSAF200A91 (C*nrad-Restposten) verwendet. Bei anderen 12 V Schrittmotoren ist natürlich der maximal zulässige Strom der Leistungstreiber (ULN2803) zu beachten.
Features
- Betrieb von bis zu 32 Motoren mit maximal 2 kHz
- Interruptsteuerung für gleichzeitige Ansteuerung aller Motoren
- schnelle und störungssichere Kommunikation mit Steuerrechner über RS232
- automatische Nullung der Spiegelarme bei Systemreset
- Haltestromschaltung für stabile Armpositionen
- Watchdogschaltung gegen Prozessorfehlfunktion
Hardware
- ATmega8 mit internem RC-Takt 8 MHz
- RS-232 zur Kommunikation mit einem Steuerrechner
- Ansteuerung über einen parallelen Bus mit 3-zu-8 Adressdecodern (74*138)
Bekannte Probleme
- derzeit sind keine Probleme bekannt :)
- es ist die in der Dokumentation beschrieben Hardwareänderung am MAX232 zu beachten
Download des Projekts (Schaltpläne, PCB-Layouts, Sourcecode, Dokumentation)
Das komplette Projekt mit allen Schaltplänen, PCB-Layouts, Assembler-Sourcecodes und Dokumentation in einem Paket:
Kontakt & Diskussion
Ich freue mich über jeden Kommentar. Also schreibt hier oder per Mail (irgendwo in dem Paket versteckt) Eure Kommentare und Anregungen. Wer hat sich's angeschaut, nachgebaut, teilweise verwendet oder einfach nur für großen Mist befunden?!
Noch einige Bemerkungen zur Schaltung. Wie beschrieben, wird der interne Oszillator des ATmega8 benutzt, obwohl per RS-232 mit einem PC kommuniziert wird. Es geht trotzdem... Man muss halt dazu sagen, dass die Funktion damit möglicherweise nur in einem eingeschränkten Temperaturbereich und bei 5 V Betriebsspannung gegeben ist. Da derzeit keine dynamische Anpassung der Taktfrequenz an die Datenrate der Schnittstelle implementiert ist, kann es zu Fehlübertragungen kommen, wenn der Oszi zu weit driftet. Es gibt auch keine speziellen Schaltkreise für die Stepper, keine Zaubereien mit spezieller Ansteuerung, nur der einfachstmögliche Weg per Schalttransistorarray.