Forum: Mikrocontroller und Digitale Elektronik Motorsteuerung via Notebook


von Andreas (Gast)


Lesenswert?

Hallo Leute,
Ich stehe im Moment vor folgendem Problem:
Ich habe hier eine Motorsteuerung, die im Moment über eine SPS-S7 läuft. 
Und die Software dazu, welche mit Movicon erstellt wurde (Motor kann am 
PC gesteuert werden) ist eher schlecht gemacht.
Nun soll die SPS-Steuerung vollständig ersetzt werden.
Ich wollte ein C# Programm schreiben, über das ich dann Signale über die 
Serielle Schnittstelle empfange/sende und damit den Motor steuere.
Nur weiß ich noch nicht so recht, wie ich das anstelle mit der Hardware.
Wäre da ein Mikrocontroller zwischen PC und Motor eine gute Idee?
Habe in dem Gebiet noch nicht so viel Erfahrung. Was noch dazu kommt 
sind:
-2 Sensoren, die jeweils Signale geben wenn eine Endposition erreicht 
ist
-1 Kraftaufnehmer, der später Kräfte messen soll

Gibt es evtl. eine bessere Lösung?
Ich danke euch schonmal im Voraus :)

MfG Andreas

von Matthias S. (Firma: matzetronics) (mschoeldgen)


Lesenswert?

Andreas schrieb:
> Wäre da ein Mikrocontroller zwischen PC und Motor eine gute Idee?

Wenn du nur eine serielle Schnittstelle bedienst, kommst du damit sehr 
schnell an die Grenzen dessen, was du steuern kannst, du musst also auf 
die andere Seite des Schnittstellenkabels einen 'Befehlsempfänger' 
bauen, der die Kommandos und Daten des Notebooks empfängt und auf die 
Sensoren und Motoren, Relais oder was auch immer umsetzt.
Das kann man selber bauen oder auch fertig kaufen, bzw. aus Komponenten 
und Bausteinen zusammen setzen.
Messwerte und Schaltkontakte erfassen und Leitungen steuern und schalten 
kann man z.B. mit einem USB Messlabor wie das hier:
http://www.cesys.com/products/cebo-lc/

Die Industrie liefert Komponenten gerne mit Modbus und Profibus, dafür 
gibt es auch hunderte von Baugruppen.
Für eine einfache Aufgabe wie die deinige kannst du dir auch einen MC 
programmieren, vorzugsweise einen, der schon USB Unterstützung 
mitbringt, bzw. auf der Platine hat. Das kann im simpelsten Fall einer 
der zahlreichen Arduinos sein.
http://www.arduino.cc

: Bearbeitet durch User
von Stefan F. (Gast)


Lesenswert?

Das Timing verhalten von Windows ist für solche Regelungen nicht gut 
geeignet. Dein Programm kann jederzeit mal für einen Moment angehalten 
werden und die Ausführungsgeschwindigkeit ist nicht konstant. Alleine 
deswegen brauchst du zwischen Sensor und PC einen Hardware-Puffer. Und 
dann fangen die nächsten Probleme an. Dein Algortihmus muss imstande 
sein, die Zeitpunkte der Messungen rückwirkend zu berücksichtigen. Denn 
das was da gerade seriell (oder wie auch immer) empfangen wird, sind 
möglicherweise Werte, die aus der Vergangenheit stammen.

Es ist deutlich einfacher, Motor-Regelungen mit Mikrocontrollern 
umzusetzen, die vom PC aus ihre Befehle erhalten. Die Befehle würde man 
so gestalten, dass sie auch funktionieren, wenn der PC mal eine Weile 
abwesend ist. Zum Beispiel:

- Fahre sofort mit 1 Meter pro Sekunde bis zum Endschalter.
- Komme um 19:30:59 mit 0,5 Meter pro Sekunde zurück zur 
Ausgangsposition.

von Frank E. (Firma: Q3) (qualidat)


Lesenswert?

Willst du das unbedingt selber machen, oder darf es auch ein par Euro 
kosten? Schreib doch mal eine Mail: info(at)qualidat.com

von Stefan F. (Gast)


Lesenswert?

Was ist denn das für eine komische Webseite?: http://www.qualidat.com/

Hat mit Elektronik gar nichts zu tun. Die Gestaltung finde ich - ähh - 
gewöhnungsbedürftig. Inhaltlich ist nicht viel enthalten. Die Ladezeit 
ist extrem mangelhaft. Und sie hat kein Impressum.

Eine Google Suche nach "Q3 Qualidat" bringt mich auch nicht weiter.

@Frank Kesselbach: Wo kann man sich über deine Firma informieren?

von Matthias S. (Firma: matzetronics) (mschoeldgen)


Lesenswert?

Stefan U. schrieb:
> Was ist denn das für eine komische Webseite?: http://www.qualidat.com/

Ich lande direkt in der joomla Hilfe - was aber vermutlich nicht im 
Sinne des Website Inhabers ist.

von Andreas (Gast)


Lesenswert?

Danke euch schonmal für die Antworten. Zu der Frage ob ich es selber 
machen möchte:
Ja, denn es ist als ein Projekt gedacht für mich, da ich im Moment 
dualer Student Elektrotechnik bin und gerade das 2. Semester hinter mir 
habe.
Ich werde es mal mit einem Arduino versuchen umzusetzen, da ich zufällig 
gerade einen hier rumliegen habe.

MfG Andreas

von Frank E. (Firma: Q3) (qualidat)


Lesenswert?

Stefan U. schrieb:
> Was ist denn das für eine komische Webseite?: http://www.qualidat.com/
>
> Hat mit Elektronik gar nichts zu tun. Die Gestaltung finde ich - ähh -
> gewöhnungsbedürftig. Inhaltlich ist nicht viel enthalten. Die Ladezeit
> ist extrem mangelhaft. Und sie hat kein Impressum.
>
> Eine Google Suche nach "Q3 Qualidat" bringt mich auch nicht weiter.
>
> @Frank Esselbach: Wo kann man sich über deine Firma informieren?

Ja, wie sagt man: "Der Schuster hat die schlechtesten Schuhe". Die 
Webseite ist ene nicht konfigurierte Joomla-Installation (CMS), ohne 
Inhalt. Wollte vor einiger Zeit das Ganze neu aufsetzen, bin dann aber 
wegen viel anderer Arbeit nicht weiter gekommen. Dafür bitte ein Sorry.

Aber mal allgemein: Wir verstehen uns als "Problemlöser" für 
individuelle Lösungen in Hard und Software. Immer, wenn es keine 
käufliche Fertiglösung gibt, können wir etwas anbieten. Übrigens: Unsere 
Kunden müssen immer erst bei Übergabe einer wirklich funktionsfähigen 
Lösung bezahlen - also Null Risiko und kein Stress! :-)

von Matthias S. (Firma: matzetronics) (mschoeldgen)


Lesenswert?

Andreas schrieb:
> Ich werde es mal mit einem Arduino versuchen umzusetzen, da ich zufällig
> gerade einen hier rumliegen habe.

Das klingt doch gar nicht schlecht. Eine Motorregelung bzw. -steuerung 
macht der kleine Bursche mit links und dein Job ist es nun, einen 
Befehlsinterpreter zu programmieren, der dir Kommandos von der seriellen 
USB verbindung interpretiert.
Das schöne ist, das du das zuerst auch mit einem Terminal Programm vom 
PC aus testen kannst, ohne gleich dein eigens Programm auf dem PC 
schreiben zu müssen.

von Andreas (Gast)


Lesenswert?

Eine Frage hätte ich noch:
Die Induktivschalter und der Kraftaufnehmer arbeiten mit 24V.
Der Arduino arbeitet aber ja soweit ich weiß mit 5V.
Könnte ich das ganze dann einfach über Spannungsteiler lösen?

von MaWin (Gast)


Lesenswert?

Andreas schrieb:
> Ich wollte ein C# Programm schreiben, über das ich dann Signale über die
> Serielle Schnittstelle empfange/sende und damit den Motor steuere.

Welches Notebook hat denn noch serielle Schnittstellen ?

Und warum gerade C# wenn es um Echtzeitanwendungen geht ?

Natürlich, alles abhängig von den Anforderungen, die je eher relaxt sein 
können. Notebooks mit Mobile-Prozessoren eignen sich aber beispielsweise 
nicht für Schrittmotorsteuerungen bei CNC wie Mach3, der Takt ist viel 
zu ungenau.

Ob ein externes Modul, beispielsweise Arduino, sinnvoll oder notwendig 
ist, ist bei der oberflächlichen Problembeschreibung auch unklar. 
Vielleicht tut es der Arduino ja komplett.

von Andreas (Gast)


Lesenswert?

Also, es handelt sich um einen Schrittmotor, der etwas hoch und runter 
fahren soll.
Am Laptop soll das ganze gesteuert werden und es sollen auch 
Rückmeldungen für den Benutzer vorhanden sein, wie beispielsweise dass 
die Sicherheitstür offen steht, dass gerade der obere Endpunkt erreicht 
ist usw.
Und eine serielle Schnittstelle hat mein Laptop natürlich nicht, aber es 
gibt ja verschiedene Konverter.

von Michael B. (laberkopp)


Lesenswert?

Andreas schrieb:
> Also, es handelt sich um einen Schrittmotor, der etwas hoch und runter
> fahren soll.
> Am Laptop soll das ganze gesteuert werden und es sollen auch
> Rückmeldungen für den Benutzer vorhanden sein, wie beispielsweise dass
> die Sicherheitstür offen steht, dass gerade der obere Endpunkt erreicht
> ist usw.
> Und eine serielle Schnittstelle hat mein Laptop natürlich nicht, aber es
> gibt ja verschiedene Konverter.

Hast du noch ein paar Salamischeiben zum nachliefern, vielleicht eine 
ganze Wurst ?

USB->Seriell Adapter taugen normalerweise nicht zur 
Schrittmotorsteuerung. Notebooks taugen normalerweise nicht zur 
Schrittmotosteuerung.

Rückmeldung mit 1 LED daß die Tür offen ist und 1 LED daß der obere 
Totpunkt erreicht ist, kann auch ein Arduino, dazu benötigt man kein 200 
x 200 Pixel true color RGB Icon.

von Andreas (Gast)


Lesenswert?

Es soll aber alles Auf dem Bildschirm zu sehen sein.

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
Noch kein Account? Hier anmelden.