Forum: Mikrocontroller und Digitale Elektronik Galvosteuerung mit PWM


von Dom M. (dominic_h)


Angehängte Dateien:

Lesenswert?

Hallo miteinander,

ich bin momentan Schüler an einer Technikerschule. Dort müssen wir im 
letzten Jahr eine Projektarbeit mit einem selbst gewähltem Thema machen. 
Interessehalber habe ich mich dazu entschlossen mit eine Mikrocontroller 
eine Galvoscannereinheit zu steuern um einfache geometrische Figuren an 
eine Wand zu projizieren.

Folgende Hardwarekomponenten benutze ich dazu:

ATMEL Evaluationsboard V2

ATmega32

Galvo System: AXJ-V20 closed-loop scanner
- Signal Eingangsspannnug: +-5V DC
- Anschlussspannung: +-15V DC
- Scan Geschwindigkeit: 20Kpps bei +-20° optischer Ablenkung
Lasermodul
- Betriebsspannung 5V DC
- Leistung 1mW
- Laser Klasse 2

Mit PWM wollte ich die beiden Galvos ansteuern. Hatte dies auch mit 
meinem Projektbetreuer und einem anderen Lehrer besprochen. Die beiden 
sagten mir, dass dies ohne Weiteres funktionieren würde. Auch der 
Händler, bei dem ich das Galvo System gekauft habe meinte es wäre kein 
Problem, dies mit PWM und dem ATmega32 zu realisieren.

Leider ist nicht immer alles so einfach wie es scheint. Mit meinem 
Projektbetreuer macht es keinen Sinn darüber sprechen, denn wie ich 
feststellen musste hat er anscheinend noch weniger Ahnung von der 
Materie als ich. Jetzt bin ich quasi mitten im Projekt und muss mich 
durchkämpfen.
Ich weiß, damit hätte ich mich vorher auseinandersetzen sollen. Aber da 
mir mein Projektbetreuer sagte, es sei egal ob PWM oder DA-Wandler, ich 
solle das nehmen was mir eher liegt, habe ich mich für PWM entschieden.

Folgende Fragen haben sich bei mir aufgetan. (Ich habe auch schon viele 
Stunden damit zugebracht im Internet eine passende Lösung zu finden, 
dies war aber leider nicht so erfolgreich.)

1. PWM liefert mir 0V bis 5V, die Galvos brauchen -5V bis +5V, somit 
lenken die Spiegel nur in eine Richtung aus. Wie kann ich mit einer 
OPV-Schaltung das PWM-Ausgangssignal dahingehend verstärken, negieren 
oder den Offset verschieben das ich -5V bis +5V erhalte? Habe auch schon 
in Multisim herumprobiert, aber mit den OPV-Schaltungen kenne ich mich 
einfach zu wenig aus.

2. Dann bin ich mir auch nicht ganz sicher, ob die Galvos auf Dauer das 
PWM-Signal verkraften. Wäre es sinnvoll die abrupten Wechsel mit jeweils 
einem RC Tiefpass abzurunden?

Wenn noch etwas unklar sein sollte, gebt mir bitte bescheid. Ich bin für 
jede Hilfe dankbar.

Viele Grüße gulo gulo

von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


Lesenswert?

Dom M. schrieb:
> - Scan Geschwindigkeit: 20Kpps bei +-20° optischer Ablenkung
> Mit PWM wollte ich die beiden Galvos ansteuern.
Wenn deine Galvos so schnell sind, dann muss deine PWM um ein VIELFACHES 
schneller sein (z.B. Faktor 100). Also ca. 2MHz. Und damit du dann noch 
256 Bit unterbringst, muss der PWM-Zähler mit 512MHz zählen...

> 2. Dann bin ich mir auch nicht ganz sicher, ob die Galvos auf Dauer das
> PWM-Signal verkraften. Wäre es sinnvoll die abrupten Wechsel mit jeweils
> einem RC Tiefpass abzurunden?
Nur so kann es überhaupt gehen. Denn deine Galvos sind ja schon 
fertige Einheiten, die eine Analoge Spannung in einen Winkel umformen. 
Wenn du die Mit z.B. 100kHz PWM anfährts, dann werden die nur wie blöd 
hin- und herzittern...

Praktisch bedeutet das: deine billige Analogausgabe basierend auf einer 
PWM wird das Ganze so schnarchlangsam machen, dass dir ganz schnell der 
Spass vergeht. Mein Tipp: schließ einen externen DAC über SPI an den uC 
an.

von Ernst O. (ernstj)


Lesenswert?

Zu deiner Frage wegen des Signalpegels schau mal hier:

http://www.mikrocontroller.net/articles/Operationsverst%C3%A4rker-Grundschaltungen#Der_Addierer_.28Summierverst.C3.A4rker.29

am besten ist es du schnappst dir ein Steckbrett und probierst die 
Schaltungen mit Opamp ein wenig aus.

Wahrscheinlich brauchst du dann auch eine symmetrische 
Versorgungsspannung, Alternative hierzu wäre die Erzeugung eines 
künstlichen GND mit einem Opamp (steht auch in dem zitierten Artikel)

von Dom M. (dominic_h)


Lesenswert?

Hi,

danke für die Antwort.

Lothar Miller schrieb:

> Wenn deine Galvos so schnell sind, dann muss deine PWM um ein VIELFACHES
> schneller sein (z.B. Faktor 100). Also ca. 2MHz. Und damit du dann noch
> 256 Bit unterbringst, muss der PWM-Zähler mit 512MHz zählen...


16 MHz  64  (180+1) = 1381.2Hz wäre meine maximal Frequenz, allerdings 
kann ich in dem Fall nur Kanal B nutzen.

16 MHz  64  256 = 976.5625Hz ist die maximal Frequenz für A und B 
gleichzeitig

oder liege ich da falsch?

>
> Praktisch bedeutet das: deine billige Analogausgabe basierend auf einer
> PWM wird das Ganze so schnarchlangsam machen, dass dir ganz schnell der
> Spass vergeht. Mein Tipp: schließ einen externen DAC über SPI an den uC
> an.

Das ist leider nicht möglich für die Projektarbeit. Da ich ein 
Pflichtenheft erstellen musste, in dem ich ich nicht definiert habe, 
dass ich einen externen DAC nutzen werde. Für die private Fortsetzung 
des Projektes werde ich dies dann aber so machen.

Die Galvos müssen laut Pflichtenheft auch nur eine minimale 
Gewschwindigkeit von 12kpps erreichen. Und ich muss auch nur z.B. einen 
Kreis, Rechteck oder Dreieck darstellen können.

Mein größtes Problem ist die -5V bis +5V aus dem PWM Signal zu 
generieren,
wenn ich das geschafft habe bin ich schon sehr froh.

von Max H. (hartl192)


Angehängte Dateien:

Lesenswert?

Dom M. schrieb:
> Mein größtes Problem ist die -5V bis +5V aus dem PWM Signal zu
> generieren,
Versuch's mal damit: Anhang
Das PWM Signal musst du vorher aber glätten.

von m.n. (Gast)


Lesenswert?

Dom M. schrieb:
> Das ist leider nicht möglich für die Projektarbeit. Da ich ein
> Pflichtenheft erstellen musste, in dem ich ich nicht definiert habe,
> dass ich einen externen DAC nutzen werde.

Ich sehe das anders. Niemand kann von Dir verlangen, eine Entwicklung 
vorab soweit zu planen, daß sie unverändert zum Erfolg wird. Dein 
Ansatz, die Schaltung einfach und kostengünstig zu halten, ist ja völlig 
in Ordnung.

Wenn Du aber begründest, warum die Schaltung verbessert werden mußte, um 
die gewünschte Funktion zu erreichen, kann doch Niemand etwas dagegen 
sagen: das ist Entwicklung!

Ein großes Lob für Deine präzise Frage. Das findet man hier extrem 
selten!

von Praktiker (Gast)


Lesenswert?

ernst oellers schrieb:
> Wahrscheinlich brauchst du dann auch eine symmetrische
> Versorgungsspannung,

Man könnte besser sagen "mit Sicherheit".

Eine OP-Schaltung kann am Ausgang nur Spannungen liefern, die zwischen 
den Versorgungsspannungsgrenzen liegen. Symmetrisch muss sie nicht genau 
sein, ab für negative Ausgangssignale braucht man auch eine negative 
Versorgungsspannung. Wenn der OP kein Rail-o-Rail Typ ist, ist der 
nutzbare Bereich sogar noch weiter eingeschränkt.

von Wolfgang (Gast)


Lesenswert?

Dom M. schrieb:
> Das ist leider nicht möglich für die Projektarbeit. Da ich ein
> Pflichtenheft erstellen musste, in dem ich ich nicht definiert habe,
> dass ich einen externen DAC nutzen werde.

Wenn du ein paar I/O-Pins frei hast, kannst du dir mit ein paar 
Widerständen natürlich auch selber einen DAC zusammenbauen.
Steuere mit deinen I/O-Pins einfach ein R2R-Netzwerk an. Die Bit-Zahl, 
d.h. die Auflösung deines ADC richtest du dann ggf. nach der Anzahl der 
verfügbaren I/O-pins.

Ein Beispiel findest du in der MiniDDS-Schaltung von Jesper:
http://www.myplace.nu/avr/minidds/

von Dom M. (dominic_h)



Lesenswert?

Vielen Dank für Eure Antworten.

Ich habe die Schaltung mit einem RC Tiefpass 2ter Ordnung in Multisim 
aufgebaut. Die Simulationsergebnisse schauen meiner Meinung nach 
vernüftig aus.

Nun würde es mich noch Interessieren ob ich noch etwas übersehen habe. 
In der Praxis sind die Dinge nicht immer so einfach wie in einer 
Simulation. Leider habe ich nicht so viel praktisch Erfahrung.

von Max H. (hartl192)


Lesenswert?

Dom M. schrieb:
> ob ich noch etwas übersehen habe
Eine 3H Spule könnte ein bisschen zu groß sein.

von Amateur (Gast)


Lesenswert?

In grauer Vorzeit, hat mal einer meiner Lehrer die Behauptung 
aufgestellt, dass Spiegel, zusammen mit ihrem Antrieb, eine nicht 
unerhebliche Masse haben.
Ich habe ihm das wirklich geglaubt.

Also vergiss mal, eventuelle Geschwindigkeitsprobleme des 
Mikroprozessors und stell erst mal fest, wie schnell der Spiegel 
überhaupt zappeln kann...

Da Antrieb und Spiegel im Allgemeinen eine Einheit bilden, solltest Du 
Dir viel mehr über diese Gedanken machen.

Ist der Antrieb z.B. magnetisch, so kann es sein, dass der Spiegel, bei 
höheren PWM-Frequenzen nur noch heizt und nicht mehr wackelt.
Je schneller die Bewegungen stattfinden sollen, desto höher muss die 
PWM-Grundfrequenz sein. Dies wiederum schlägt voll auf den 
ausgangsseitigen Tiefpass durch, der seinerseits...
Bei geringer PWM-Frequenz leidet hierdurch, vor allem, die 
Reaktionsgeschwindigkeit.

Ein paar prima Resonanzpunkte, sowohl im "erlaubten" Bereich als auch 
darüber hinaus, kannst Du ebenfalls schon mal einkalkulieren.

von Wolfgang (Gast)


Lesenswert?

Dom M. schrieb:
> Ich habe die Schaltung mit einem RC Tiefpass 2ter Ordnung in Multisim
> aufgebaut. Die Simulationsergebnisse schauen meiner Meinung nach
> vernüftig aus.

Der Nachteil bei deiner Schaltung ist, dass eine Spule als Filterelement 
schnell sehr unhandlich werden kann und dass du dein Filter am Ausgang 
nicht belasten kannst, ohne es zu belasten.

Mit aktiven Filtern lassen sich solche Filter auch ohne Spulen 
realisieren.

http://www.beis.de/Elektronik/Filter/ActiveLPFilter.html

Trotzdem wird dein Analogsignal langsam, wenn du es über die 
Tiefpassfilterung eines PWM-Signales generierst. Je nach gewünschter 
Genauigkeit mußt du sehr weit mit der Grenzfrequenz des Filters runter 
gehen.

http://www.lothar-miller.de/s9y/archives/11-RC-Glied-fuer-PWM.html

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.