Forum: Mikrocontroller und Digitale Elektronik Problem mit Spindelsteuerung an Eigenbaufräse. Arduino die Lösung?


von Dominik J. (dominik92)


Lesenswert?

Hallo

Mein Name ist Dominik, ich bin 21 Jahre alt und neu hier. Ich finde 
alles rund um den Arduino sehr interessant und wundere mich, dass ich 
nicht schon vorher darauf gestoßen bin.
Seit ca. einem Jahr bin ich dabei eine kleine Fräse auf CNC umzubauen.
Bis jetzt funktoniert auch alles sehr gut. Ich habe nur ein riesen 
Problem welches ich nun hoffentlich mit einem Arduino bzw entsprechender 
Programmierung in den Griff bekomme.
Ich bin vor einiger zeit Hardwaretechnisch von der herkömmlichen 
Parallelport Geschichte auf USB umgestiegen. Ich nutze nun ein 
China-Interface mit 16 Eingängen und 8 Ausgängen um meine Fräse mittels 
Mach3 zu steuern. Bin mit der Interface Karte eigentlich sehr zufrieden.

Der (problematische) Aufbau:

Die Interfacekarte gibt ein PWM Signal (0-5V) zur Drehzahlsteuerung aus 
(z.B. via Frequenzumrichter). Hierbei entspricht 0V = Drehzahl 0 und 5V 
= Drehzahl 6000 (in meinem Fall).
Nun nutze ich aber keinen Frequenzumrichter sondern einen 500W 24V DC 
Motor aus einem E-Scooter und einen entsprehenden Regler. Der Regler 
wird mit einem Signal von 1-3,5V angesteuert. Das konnte ich anhand 
diverser Messungen feststellen. Normalerweise unterstützen diese 
Parallelport Karten auch einen PID Regelkreis. Das heißt über einen 
Hallgeber ermittelt das Interface die ist-Drehzahl und gibt diese an 
Mach3 aus. Mach3 regelt dann das PWM Signal entsprechen um Ist an Soll 
anzupassen. Dies hat auch den Vorteil, dass der Motor auch bei niedrigen 
Drehzahlen durch die Nachregelung enorme Kraft hat. Diese Funktion ist 
für die Fräse bzw. meinen Aufbau unbedingt erforderlich.

Das Problem:

1) Leider Funktioniert dieser Regelkreis mit dem neuen USB Interface 
nicht. Natürlich habe ich das erst im Nachhinein feststellen dürfen.
2) Gehe ich mit dem 0-5V Signal des Interfaces auf den Eingang des 
Motorreglers, so ist dieses ja mit dem 1-3.5V Signal absolut garnicht 
deckungsgleich. Die Folge: Bei Solldrehzahl 2000 macht der Motor nur 200 
U/min.
3) Die 0-5V am Ausgang des Interfaces sind nicht linear bzw proportional 
zur Drehzahl. Das heißt in meinem Fall beträgt die Spannung bei 
3000U/min nicht die zu erwartenden 2,5V, sondern um die 3,5V. Ich müsste 
als für jede Drehzahl eine manuell gemessene Spannung hinterlegen 
können. Der zeitliche Aufwand wäre es mir aber wert.

Die Aufgabe:

1) Kann ich mit dem Arduino das PWM Signal des Interfaces auslesen und 
ein entsprechendes Programm schreiben, sodass ich dem 0-5V Signal feste 
Drehzahlen zuordnen kann?
2) Kann ich bezüglich auf Punkt 1 ein neues PWM Signal (1-3,5V) zur 
Motorsteuerung ausgeben welches also entsprechend proportional zum PWM 
des CNC Interfaces läuft?
3) Kann ich gleichzeitig einen PID Regler integrieren, der die 
Ist-Drehzahl misst und selbstständig nachregelt?

Das ganze nochmals praktisch bezogen:

-Ich tippe in mein Mach3 Software eine Drehzahl von 6000 U/min ein
-PWM Ausgang am interface: 5V ->Eingang Arduino 5V
-Arduino weiß "Aha, Eingangssignal 5V, also ist mein Ziel 6000U/min.
-Arduino gibt ca 3,5V aus
-Motor läuft an
-Arduino misst die Ist Drezahl, vergleicht diese mit Soll und regelt 
permanent nach.

Anhand der 0-5V am Eingang soll Arduino also wirklich nur erkennen 
welche Drehzahl ich in meinem Fräsproramm vorgebe.

Ich habe noch keine praktische Erfahrung mit Arduino. Ich möchte mich 
nun aber etwas damit befassen. Deshalb meine Frage an euch:
Ist Arduino überhaupt in der Lage das zu machen was ich vorhabe?
Wenn ja, wie gehe ich am besten alles an und welchen Arduino benötige 
ich?

Ich danke euch recht herzlich

Gruß Dominik

von MaWin (Gast)


Lesenswert?

Im Prinzip geht das.

Die Anpassung der 0-5V an 1-3.5V ist einfacher per Widerständen möglich

          +5V
           |
          R2
           |
0-5V --R1--+-- 1-3.5V
           |
          R3
           |
         Masse

> Bin mit der Interface Karte eigentlich sehr zufrieden.

Welche ist es denn ?
Normalerweise versauen USB->Parallel Adapter eine zeitkritische 
Steuerung wie Mach3 komplett.
Vielleicht solltest du vorher gucken, ob du denn überhaupt deine XYZ 
Schrittmotore noch ruckelfrei und ohne Schrittverlust steuern kannst, 
bevor du einen PIC-Regler auf uC-Basis aufbaust.

http://www.geltec.de/startup-ndash-access-ndash-basics-lehrsysteme/konzept-access-uebersicht-zum-trainingssystem/trainingssystem-access/

http://www.loetstelle.net/projekte/tiny13pid/tiny13pid.php

von Dominik J. (dominik92)


Lesenswert?

Die Karte arbeitet sehr gut. keine Schrittverluste oder Ähnliches. Bin 
auch mit dem großen Umfang an Funktionen sehr zufrieden. Die Karte 
arbeitet echt toll. Auch Störungen durch äußere Gegebenheiten konnte 
nicht noch nicht feststellen. Die Maschine und der Schaltschrank sind ja 
soweit fertig. Alles läuft sehr gut.
Es fehlt halt leider dieser DIP Regler.
Hänge ich das Interface mit dem PWM Ausgang zu Testzweken gleich an den 
Eingang des Motorreglers, so bricht mi die Spannung aus mir 
unerklärlichen Gründen zusammen. Das Heißt Sie pendelt sich dann bei ca 
3,2V ein. Es fallen also irgendwo 1,8V ab und ich erreiche die maximale 
Drehzahl nicht.
Deshalb dachte ich daran einen Arduino zu verwenden. Dein Ansatz mit dem 
Widerständen verstehe ich. Leider komme ich dann mit dem PID nicht hin. 
Wie soll der dann den von mir gewünschten Sollwert erkennen bzw 
anpeilen? Das PWM Signal am Ausgang der Steuerungskarte ist ja leider 
nicht Proportional zur Drehzahl :( Deshalb wird das auch mit einem 
einfachen PID regler schwierig. Ich möchte ja doch ungefair die Drehzahl 
anpeilen, die ich vorgebe und die diese ja weiterhin per Mach3 regeln.
Ich benötige also ein externes Bauteil welches dem PWM Signal aus dem 
Interface gleich eine Drehzahl zuordnen und diese regeln kann.

Gruß Dominik

: Bearbeitet durch User
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.