Home - Elektronik - Mikrocontroller Programmieren - Schrittmotorsteuerung Atmega32

Schrittmotorsteuerung Atmega32

ANZEIGE

Unter diesem Link findest du ein Programmierbeispiel in C für die Schrittmotorsteuerung mit Atmega32 Mikrocontroller.

Programmiert habe ich die Steuerungssoftware in AVR Studio von Atmel.

Die Schrittmotor-Software ist in der Minimalvariante in 5 Blöcke aufgeteilt:
1. main.c: Hauptprogramm. Hier wird die Sollposition des Kreuztisches vorgegeben.
2. speed_cntrl.c: Umsetzung der Steuerbefehle in Schrittmotorbewegung
3. speed_cntrl.h: Header Datei für speed_cntrl.c
4. endschalter.h: Definition der Referenzschalter für Nullpunkteinstellung
5. endschalter.c: Referenzfahrt an die Endschalter für Nullpunktbestimmung

Zusätzlich habe ich für eine Anwendung die Ventilsteuerung (ventile.c und ventile.h) implementiert.

Die Steuerung auf Basis des Atmega32 Mikrocontrollers kannst Du im folgenden Bild sehen.

Bild der Mikrocontrollersteuerung
Steuerung mit Atmega 32 Mikrocontroller

Der Mikrocontroller gibt die Signale an die Schrittmotorendstufe aus, welche die Signale verstärkt. Als Schrittmotorendstufe habe ich in meinem Projekt folgende verwendet-

Schrittmotorendstufe
Schrittmotorendstufe für die CNC Achse

Hinterlass‘ mir einfach einen Kommentar, wenn Du Fragen zum Programmcode der Atmega32 Schrittmotorsteuerung hast!

15 Gedanken zu „Schrittmotorsteuerung Atmega32“

  1. Hallo
    Leider habe ich so meine Probleme den Quelltext zu laufen zu bringen,
    von Beruf Mechaniker kein Programmierer
    Könnte man nicht den Quelltext als ZIP bekommen?
    Wäre leichter für mich Danke
    mfg. A.Barth

  2. Hallo, Berufsbedingt konnte ich mich ein halbes Jahr damit nicht mehr befassen, aber jetzt 🙂 Ich habe da noch ein paar Fragen und hoffe auf Antworten.
    PD1,2 und 3 sind als Signal 1,2 und 3 gekennzeichnet. Warum und wofür ?.
    PA0 und 1 sind auf GND geschaltet. Warum ?.
    Und als letzte Frage : Wie kommen Steuersignale in den AVR bzw über welche Steuerleitungen ?.

    1. Hallo Ingo,
      das ursprünglich von mir erstellte AVR Programm hatte eine erweiterte Funktionalität, die ich nicht vollumfänglich hier reinstellen wollte da das ganze sonst zu unübersichtlich gewesen wäre.
      Es kann sein dass die Signale PD1, PD2 und PD3 noch ein Überbleibsel davon sind, im Moment weiß ich es leider gerade selbst nicht mehr 🙂 Auch zu deiner Frage PA0 und 1 bin ich im Moment etwas überfragt. Da habe ich bei der Dokumentation wohl etwas geschlampt 😉
      Der Code muss bestimmt angepasst werden und kann vermutlich nicht 1:1 übernommen werden. Vor allem wollte ich aufzeigen wie sich Schrittmotoren mit einem AVR ansteuern lassen. Vielleicht hilft es ja dem ein oder anderem beim Umsetzen seines eigenen Schrittmotor-Projekts.

      Zu deiner zweiten Frage:
      Beim dem Code den ich hier gezeigt habe war es so, dass der AVR autonom – also ohne zusätzliche externe Hardware – gearbeitet hat. Insofern sind aktuell keine externen Steuersignale (von PC o.ä.) vorgesehen.

  3. Kann ich diese programmierung auf dem arduino uno verwenden?
    Und kommt das darauf an was für eine schrittmotoren treiber ich besorge?
    Mfg

    1. Hallo,
      für den Arduino glaube ich gibt es bereits fertige Bibliotheken bzw. auch Beispielsketches im Arduinoprogrammer. Da jeder Arduino auch einen Atmega chip besitzt sollte der gezeigte Code aber auch mit dem Arduino funktionieren.
      Der Beispielcode wurde für Schrittmotorsteuerungen geschrieben, die ein Takt-Richtungssignal (CLK/DIR) erwarten.

  4. Hallo
    leider habe ich so meine Probleme den Quelltext zu kopieren. Ich habe schon dieverse Seitencodierungen ausprobiert aber nichts hilft. So sieht das teilweise aus :
    #include <avr/io.h>
    Ich könnte das ja ändern in laufe dann aber Gefahr das im Text selbst noch jede Menge Fehler sind. Könnte man nicht den Quelltext als ZIP bekommen ?
    mfg I.Jensch

    1. Hallo Ingo,

      da war leider ein Fehler bei der Konvertierung des Programmcodes auf der Website. Ich habe den Fehler korrigiert und es sollte jetzt alles funktionieren. Falls nicht einfach melden und ich stelle es bei Bedarf noch als ZIP file online.

      Viel Erfolg!

  5. Gattewrmann Josef

    Hallo die softw. gefällt mir gut , ich brauche softe avr cnc für servomotore imt impulsgeber ca 200 pro u .m wer hat solche.

    Mfg.Gattermann Josef

  6. hi, wie genau heisst die Endstufe, wie teuer ist sie und wo bekomme ich sie her?
    Danke

    Mit freundlichem Gruß
    Sebastian

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.