im Rahmen meines ersten größeren Arduino-Projekts möchte ich ein analoges sinusförmiges 0-10V Signal mit dem Arduino erzeugen. Das Signal wird im weiteren Verlauf einen Aktor steuern und sollte daher möglichst hochaufgelöst sein, also möglichst viele Punkte pro Periode aufweisen. Ich möchte Frequenzen im Bereich 0-50 Hz realisieren. Amplitude, Frequenz etc. würde ich dann per USB dem Arduino mitteilen.
Natürlich habe ich dazu schon ein wenig im Netz recherchiert, würde mir aber gerne noch die Meinungen von einigen erfahrenen Nutzern zu dem Thema einholen. Mir stellen sich bisher folgende Fragen:
Wie gestalte ich die Spannungsversorgung? Brauche ich zwei Netzteile, also eins für das 0-10V Signal und eins für den Arduino?
Welche Bauteile Benötige ich neben dem Arduino Uno? Ist ein AD9833 Funktionsgenerator das richtige Bauteil oder könnt Ihr da etwas anderes / besseres empfehlen?
Welche Signalauflösungen kann man erreichen, 16-20bit?
Ein servohydraulischer Antrieb hat sein eigenes dynamisches Verhalten, der macht nicht alles 1:1 mit was man ihm vorgibt.
Insgesamt mußt Du Deine Schaltung optimieren zwischen:
Auflösung des DA-Wandlers
Übertragungsrate zum DA Wandler
Auflösung des Signals
Alle drei schränken die erreichbare Frequenz bzw. Genauigkeit ein. Was nützt Dir z.B. eine Auflösung von 20 Bit, wenn man dafür nur 20 Werte pro Schwingung übertragen kann?
Besser wäre vielleicht ein programmierer Signalgenerator, der selbständig einen Sinus ausgibt.
Peter-CAD-HST:
Nimm eine Suchmaschine deiner Wahl und beschäftige diese mit digital to synchro converter.
Das habe ich mal gemacht, bin aber noch nicht richtig schlau draus geworden. Da muss ich vielleicht noch ein wenig weiter lesen
uwefed:
Hast Du den Leistungsteil oder fehlt Dir der noch?
Brauchst Du einen einphasige Sinuswelle oder 3 um 120° versetzte?
Der Leistungsteil sollte im Aktor verbaut sein. Also das Signal dient allein der Vorgabe eines Eingangssignals, dazu brauche ich eine einphasige Sinuswelle.
DrDiettrich:
Ein servohydraulischer Antrieb hat sein eigenes dynamisches Verhalten, der macht nicht alles 1:1 mit was man ihm vorgibt.
Insgesamt mußt Du Deine Schaltung optimieren zwischen:
Auflösung des DA-Wandlers
Übertragungsrate zum DA Wandler
Auflösung des Signals
Alle drei schränken die erreichbare Frequenz bzw. Genauigkeit ein. Was nützt Dir z.B. eine Auflösung von 20 Bit, wenn man dafür nur 20 Werte pro Schwingung übertragen kann?
Besser wäre vielleicht ein programmierer Signalgenerator, der selbständig einen Sinus ausgibt.
Ja richtig, es geht um ein möglichst glattes Signal mit möglichst hoher Auflösung. Vielleicht hätte ich keine Werte in den Raum werfen sollen Letztlich ist die Frage ob und wie gut sich das mit dem dem Arduino abbilden lässt, und falls es geht mit welchen Bauteilen man das realisieren kann?
Zu allererst brauchst Du Anagaben zum Servo, wie Eingangssinale, Ansprechzeit, Haftung, Geschwindigkeit...
Vielleicht geht ja auch PWM, bei Hydraulik wäre das schon fast Standard.