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