Hallo, ich muss einen Schrittmotor steuern und suche einen geeignetes Mikrocontroller-Board. Zu meiner Anwendung: Auf dem Bild erkennt man die Anordnung aus dem Schrittmotor, einer Kupplung, den Metallstift für die Lichtschranke, der Mikrometerschraube sowie einem Kraftaufnehmer. Der Schrittmotor bewegt den Kraftaufnehmer hinunter, bis ein kleiner Mikroschalter, der sich darunter befindet, geschaltet hat. Danach soll der Schrittmotor den Kraftaufnehmer wieder hochbewegen, dabei wird noch der Rückschaltpunkt ermittelt. Die ermittelten Werte, bestehend aus Schaltpunkt sowie Rückschaltpunkt, sollen mit Hilfe eines PCs ausgewertet werden. Ein Mikrocontrollerboard soll die Steuerung des Motor und das merken der gegangenen Schritte übernehmen. Dabei müssen nach jedem Schritt die Kontakte des jeweiligen Mikroschalters abgefragt werden. (Öffner geöffnet? und Schliesser geschlossen?). Der Motor soll anschliessend wieder in seine Homeposition fahren und sobald die Freigabe vom PC kommt mit der Messung des nächsten Schalters beginnen. Der PC erhählt seine Freigabe wiederum von einer eingesetzten SPS. Diese übernimmt das heranfahren des Kontaktierschlittens sowie das fixieren des Schalters mit einem Niederhalter. Bisher lief die Steuerung und die Messauswertung auf einem DOS-PC. Nun soll die Anlage neuentwickelt werden, da ständig Probleme mit dem Schrittmotor auftraten (Fehlschritte). Die Signale für den Schritt und die Richtung wurden bisher im PC generiert. Nun soll die gesammte Steuerung auf einem Board ausgelagert werden um den PC zu entlasten. Das Mikrocontorllerboard müsste genügend digitale Ein-/Ausgänge besitzen und ebenfalls mindestens einen analogen Eingang für den Kraftaufnehmer mitbringen. Der Kraftaufnehmer soll z.B. den Referenzpunkt ermitteln, indem ein Schalter-Dummy in die Vorrichtung gelegt wird und der Motor 5 mal bis zu dem Punkt des Schalter-Dummys herrunterfährt und daraus den Mittelwert für den Referenzpunkt bildet. Es soll ebenfalls die Möglichkeit gegeben sein einen Timer für eine Verzögerung zu programmieren. Die Verzögerung muss variabel sein. (für Beschleunigungs und Abbremsvorgänge) Der Timerbaustein sollte möglichst hochauflösend sein. Die Ansteuerung des Motor sollte in etwa so aussehen: for (i=0;i<stepWidth;i++){ step --> 1 delay(0.00125); // z.B. 1.25ms warten step --> 0 // Hier macht der Motor einen Schritt delay(0.00125); // z.B. 1.25ms warten position++; // Schrittmerker // Hier die Abfrage der Kontakte // z.B. wenn Schalter geschaltet -->break; } Wichtig ist ebenfalls die Kommunikation und der Datenaustausch mit dem PC (Freigabesignale, Fehersignale, Position des Schaltpunktes, usw...) Kennt sich jemand mit solchen Anwendungen aus? Und, hab ihr eine Ahnung welches Board man da am besten verwenden kann. Gruss Oliver
Hallo Oliver ich habe für eine ähnliche Anwendung zu prüfen von Mikroschaltern aufgebaut. Dabei werden Volaufweg, Rücklaufweg,Nachlaufweg, Differenzweg und Leerlaufweg ebenfalls mit einer von einem Schrittmotor angetriebenen Mikrometerschraube vermessen. Das ganze ist mit einem 8051 realisiert. Die Frage ist was für einen Schrittmotor Du einsetzt, Polzahl, Strangstrom, Schrittwinkel, max. Schrittzahl etc. Wie ich auf dem Bild erkenne hast Du eine Faltenbalgkupplung zwischen Schrittmotor und Mikrometerschraube,hast Du da keine Probleme da die Spindel der Mikrometerschraube sich doch axial mitändert? Gruß Hans-Jügen
Je nach Schrittmotorleistung und -bauart (uni- oder bipolar) ist ein bestimmter Treiber notwendig. Dessen Ansteuerung kann eigentlich jeder x-beliebige Controller übernehmen. Bei der Datenübertragung gehe ich von RS232 bzw. USB (virtuelle serielle Schnittstelle) aus. Wenn man einen etwas "grösseren" Controller verwendet, könnte man sich die SPS vermutlich auch sparen... @Hans-Jürgen: >Wie ich auf dem Bild >erkenne hast Du eine Faltenbalgkupplung zwischen Schrittmotor und >Mikrometerschraube,hast Du da keine Probleme da die Spindel der >Mikrometerschraube sich doch axial mitändert? Bei der Mikrometerdschraube bewegt sich doch der Zapfen aus dem Gehäuse heraus, oder sehe ich das falsch?
Hallo Hans-Jürgen, ich verwende einen bipolaren Schrittmotor. Der Schrittmotor wird im Vollschritt betrieben, d.h. 1 Schritt entspricht 0.0025 mm. Ich glaube, müsste aber nochmal genau nachschauen, das entspricht einem Schrittwinkel von 1.8°. Meine Schrittmotorkarte "ESD-1200" im bisherigen System liefert 2A. Aha, Faltenbalgkupplung - Danke für die Info, wusste ich noch nicht - Probleme welcher Art hattest Du mit dieser Kupplung? Ich hab gerade jemanden aus der Produktion gefragt, der sagte mir diese Kupplung sei in einem anderem Aufbau schonmal gebrochen. Hast Du in Deinem Programm auch nach jedem Schritt die Kontaktierung der Schalter überprüft? Gruss Oliver
Hallo unsichtbarer WM-Rahul, ja das siehst Du genau richtig der Zapfen bewegt sich aus dem Gehäuse der Mikrometerschraube hinaus. Auf die SPS können wir jedoch nicht verzichten, da die SPS auch andere Komponenten in der Anlage steuert auf die ich keinen Einfluss habe. Gruss Oliver
Hallo Oliver, ich habe mal eine Foto begefügt (eigendlich sollten es 2 werden mit beiden Endlagen).Worauf ich hinaus wollte ist: Wenn die Mikrometerschraube betätigt wird wandert die Skale mit dem Noninus auf der mm Skala vor bzw.zurück den gleichen Weg macht auch die Betätigungsschraube. In deinem Falle heist das das die Faltenbalgkupplung gedehnt bzw. gestaucht wird un dafür ist sie nicht vorgesehen und wird brechen. Ich habe das Problem mit einer Vielzahnwelle gelöst. Ich habe ebenfalls nach jedem Schritt den Schalterzustand abgefragt, der Datenaustausch mit dem PC über RS232 abgewickelt. Gruß Hans-Jürgen
Hallo Hans-Jürgen, verstehe! Vielen Dank für den Tipp mit der Vielzahnwelle. Wie hast Du denn Deine Verzögerung realisiert. Timer-Baustein? 8253/8254? Wenn ja wie geschieht das mit dem Zugriff über den 8051? Hast Du einen Zähler mit jedem Timer-Takt erhöhen lassen bis der vorgegebene Verzögerungswert mit dem Zählerwert übereinstimmt? -->Schleife solange bis der Zählerwert erreicht ist, dann nächsten Schritt usw.? Falls Du noch mehr Informationen hast, wäre ich sehr daran interessiert. Ich erarbeite dieses Thema im Zuge meiner Diplomarbeit und ich befasse mich damit schon sehr ...zu lange. Gruss Oliver
Hallo Oliver, ich habe die komplette Ansteuerung und Auswertung nur mit einem 8051 gemacht. Für die Schrittmotoransteuerung habe ich einen TCA3727 eingesetzt. An und für sich ist das ganze recht einfach zu realisieren. Da ich dieses Prüfmittel für die Firma entwickelt habe kann ich es nicht so einfach hier im Forum veröffentlichen. Ich kann Dir aber gerne Auszugsweise einige Informationen zukommen lassen (Schaltplan/Progammcode).Um dieses Projekt aber zu ende zu führen benötigst Du einen C-Compiler (Keil) Die Hardware ist simpel und eine angepasste Leiterplatte ist bei Beta-Layout für ein paar Euro zu haben. Du kannst mir ja Deine Email mitteilen dann schicke ich Dir ein paar Infos, das kann aber ein paar Tage (2..3) dauer weil ich diese Woche nicht mehr dazukomme. Ich habe noch ein Bild anghängt das die Mikometerschraube in der andern Endlage zeigt. Gruß Hans-Jürgen
Hallo Hans-Jürgen, vielen Dank für Deine Unterstützung, ich würde mich natürlich sehr darüber freuen, wenn Du mir ein paar Informationen zukommen lassen könntest. In der Hochschule haben wir auch den 8051 programmiert. Dabei haben wir yVision von Keil verwendet. Handelt es sich dabei um denselben Compiler, weißt Du das zufällig? Ich weiß zwar nicht ob ich meine E-Mail Adresse mitsenden darf, aber ich wüsste nicht was dagegensprechen sollte, also: oliver.herpel@gmx.de Gruss und vielen Dank im Voraus Oliver
Hallo Oliver, das ist genau die richtige Entwicklungsumgebung. Ich stelle Dir was zusammen und schicke es Dir per Email zusammen mit meiner Tel. Nr. für evtl. Rückfragen. Gruß Hans-Jürgen
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.