Moin zusammen, Ich möchte in einem aktuellen Projekt eine Spule bei Resonanz mit ca. 375 kHz ansteuern. Dazu wurde bereits eine Gegentakt Endstufe entwickelt, welche positive und negative Spannungen am Ausgang erzeugt. Ein Arduino UNO soll nun zwei Signale liefern, welche jeweils einen Transistor aktivieren. Da kein Sinussignal benötigt wird, soll Amplitude am Ausgang einfach über die Pulsweite der Steuersignale erzeugt werden. Mit meiner aktuellen Timer Konfiguration bekomme ich prinzipiell das Signal was ich haben möchte, jedoch nur mit einem Bruchteil der Resonanzfrequenz der Spule. Meine Frage ist nun: Habe ich die Möglichkeit den Zählerstand der Counter zu limitieren, damit dieser das runterzählen z.B. schon bei 127 beginnt? Habe mich nun tagelang durch die Foren gelesen und bin nicht so wirklich fündig geworden. Gruß, Sebastian
Sebastian schrieb: > Habe mich nun tagelang durch die Foren gelesen und bin nicht so wirklich > fündig geworden. Die Minimal-Leistung die du erbringen müsstest wäre dein Programm zu zeigen, und zwar in einer Form dass sie den Regeln die hier beim Posten angegeben werden, gerecht wird.
hI >Habe mich nun tagelang durch die Foren gelesen und bin nicht so wirklich >fündig geworden. Wie wäre es, einfach das Datenblatt deines Contrller zu lesen? MfG Spess
Sebastian schrieb: > Mit meiner aktuellen Timer Konfiguration bekomme ich prinzipiell das > Signal was ich haben möchte, jedoch nur mit einem Bruchteil der > Resonanzfrequenz der Spule. Ohne Code hilft das nicht viel... Wenn du die Arduino Umgebung benutzt, sind die Timer bereits anderwärtig eingestellt (Datails dazu finden sich in der Wiring Lib) > > Meine Frage ist nun: Habe ich die Möglichkeit den Zählerstand der > Counter zu limitieren, damit dieser das runterzählen z.B. schon bei 127 > beginnt? Hier empfiehlt sich ein Blick in Datenblatt des ATMega328... Innerhalb der Arduino IDE würde sich der Timer2 anbieten (soweit ich weiß wird der nur benutzt für den Tone Befehl)... beim AVR Studio ist der Timer egal. Hier wäre der Fast PWM Modus brauchbar (OCRA + Prescaler stellen die Frequenz ein und OCRB + "Clear OC2B on Compare Match" - Modus stellen die Impulslänge ein)
Sebastian schrieb: > Ich möchte in einem aktuellen Projekt eine Spule bei Resonanz mit ca. > 375 kHz ansteuern. > ... > Da kein Sinussignal benötigt wird, soll Amplitude > am Ausgang einfach über die Pulsweite der Steuersignale erzeugt werden. Erhoffe dir aber keine zu hohe Auflösung bei der Pulsweitenmodulation. Dein Arduino Uno läuft maximal mit 16MHz.
Wolfgang schrieb: > Erhoffe dir aber keine zu hohe Auflösung bei der Pulsweitenmodulation. > Dein Arduino Uno läuft maximal mit 16MHz. Das hat jetzt was genau mit Arduino zu tun? Manchmal kann auch ein niedriger Takt günstiger sein für die optimale Einstellung. Hängt ja nicht nur vom Takt ab.
Checker schrieb: > Manchmal kann auch ein niedriger Takt günstiger sein für die optimale > Einstellung. Hängt ja nicht nur vom Takt ab. Wenn du ein sinusähnliches Ausgangssignal von 375kHz per PWM erzeugen willst, muss zunächst die PWM-Frequenz deutlich über der Frequenz des zu generierenden Signals liegen und die Basisfrequenz für das PWM-Signal muss noch mal um den Faktor der Auflösung über der PWM-Frequenz liegen. Was genau würdest du da für einen Takt für eine optimale Einstellung vorschlagen, um ein Signal mit der Resonanzfrequenz der Spule zu erzeugen?
Wolfgang, laut TO benötigt er kein Sinus. Alles andere hängt von der gewünschten Auflösung ab, dann kann man Prescaler, Top und Controller Takt in optimalen Einklang bringen, wenn dieser noch flexibel ist.
wobei das alles egal ist, hab mal gerechnet, bei 375kHz ist der Prescaler 1. Im Fast PWM Modus wäre TOP 42, was letztlich 377,4kHz wären. In anderen Modi würde der TOP Wert und damit die Auflösung gleich oder noch geringer sein. Phase Correct TOP 21. Da helfen auch keine 20MHz statt 16MHz. Der TO muss mit der groben Einstellung leben oder einen anderen µC verwenden. Oder Spezial ICs.
> 377,4kHz
?
16 MHz / 42 = 380.95 kHz
16 MHz / 43 = 372.09 kHz
18 MHz / 48 würde passen, aber den Quarz bei einem Arduino tauschen ...?
Und die Auflösung könnte ein Problem bleiben.
Hallo, ich hatte auch mit 20MHz gerechnet und habe die Zahlen verhauen. Sorry. 20MHz / 52 = 377,4kHz 20MHz / 53 = 370,4kHz Piccolo sieht auch interessant aus.
Xmega verwenden, 32MHz, PWM-Out kann mittels Hires-Unit bei einigen Typen mit 8 multipliziert werden, d.h., 256Mz / 682 = 375.366 KHz mfg Achim
Checker schrieb: > Wolfgang, laut TO benötigt er kein Sinus. Er wird einen bekommen, ob er will oder nicht. Sebastian schrieb: > Spule bei Resonanz mit ca. 375 kHz ansteuern. Die Ansteuerung ist beinahe egal. Wenn das Ding in Resonanz ist, reichen sogar Nadeln als Ansteuerung, so ala Class C Endstufe MfG Klaus
Falk B. schrieb: > Hochauflösende PWM gibt es u.a. beim PICCOLO. Oder beim ATtiny25/45/85 wenn der Timer 1 mit 64 MHz aus der PLL versorgt wird. Sebastian schrieb: > Da kein Sinussignal benötigt wird, soll Amplitude > am Ausgang einfach über die Pulsweite der Steuersignale erzeugt werden. Resonanz ist Resonanz. Da dürfte die Pulsweite nicht viel an der Amplitude machen. Viel eher kannst Du die Amplitude über die Anregungsfrequenz regeln.
@Tom (Gast) >> Hochauflösende PWM gibt es u.a. beim PICCOLO. >Oder beim ATtiny25/45/85 wenn der Timer 1 mit 64 MHz aus der PLL >versorgt wird. Naja, dann schau dir mal an, welche Zeitauflösung der PICCOLO kann. Dagegen sind 64 MHz PWM-Takt ein Witz.
Tom schrieb: > Resonanz ist Resonanz. Da dürfte die Pulsweite nicht viel an der > Amplitude machen. Natürlich lässt sich über die Pulsweite die Amplitude steuern, zumindest solange die Schwingungsamplitude kleiner als der Pegel des PWM-Signals ist. Über das PWM-Tastverhältnis (und die Phasenlage) wird dann die Energie festgelegt, die in den Schwingkreis reingepumpt wird. Stell dir den Extremfall mit Tastverhältnis 0 vor. Dem Schwingkreis wird keine Energie zugeführt, also wird auch nichts schwingen. Bei fester Anregungsfrequenz ohne Rückkopplung wird der Schwingkreis allerdings nie exakte in Resonanz laufen. Die Schwingungsamplitude hängt dann auch von der Güte ab.
Falk B. schrieb: > Naja, dann schau dir mal an, welche Zeitauflösung der PICCOLO kann. > Dagegen sind 64 MHz PWM-Takt ein Witz. Ok, dann rechnen wir mal nach: 1. ATtiny25/45/85: Taktfrequenz 8 MHz, nach PLL: 64 MHz bei einer 8-Bit PWM (256 steps) bleibt eine PWM-Frequenz von 250 kHz. Der Abstand zwischen zwei benachbarten Schritten beträgt 15,625 ns oder 15625 ps. 2. TI Piccolo [1]: Hier wird mit einer MEP von 150 ps geworben. Das ist Faktor 100. Wenn man etwas weiter sucht, findet man auch ein Dokument, welches die High-Resolution PWM beschreibt [2]. Dort gibt es auch eine Gegenüberstellung (siehe Anhang). Die 60 MHz Sysclkout sind mit dem ATtiny vergleichbar. Die HRPWM bringt gegenüber der normalen PWM 6,5 Bits mehr an Auflösung. Das passt ganz gut zu dem Faktor von oben: 2^6,5 = 90 Vorteil: - Faktor 100 bessere Auflösung Nachteil: - Einarbeitung in ein neues System (32 Bit) mit verteilter Dokumentation; Immerhin gibt es das Composerstudio inzwischen für alle Plattformen und offenbar ohne Einschränkungen. Ob die Empfehlung zum Piccolo für den TO die Richtige ist, wage ich zu bezweifeln: - es ist unklar, ob die hohe Auflösung bzw. Frequenz hier gebraucht wird (keine Anforderung vom TO genannt) - es ist unklar, ob TO mit der Komplexität des Piccolo klarkommt (liest Foren statt Datenblätter) Möglicherweise ist auch meine Empfehlung schon zu komplex: Immerhin wird der ATtinyx5 nicht auf den gängigen Arduinoboards verbaut. Und nicht jeder kann bzw. will Platinen machen und löten. [1] http://www.ti.com/lit/ds/sprs523l/sprs523l.pdf [2] http://www.ti.com/lit/ug/spruge8e/spruge8e.pdf PS.: Ich mag die Dokumentnummerierung von TI. Die ist supergriffig... (Wer Ironie entdeckt, darf sie behalten.)
@Tom (Gast) >Hier wird mit einer MEP von 150 ps geworben. Das ist Faktor 100. EBEN! >- Faktor 100 bessere Auflösung >Nachteil: >- Einarbeitung in ein neues System (32 Bit) mit verteilter >Dokumentation; Immerhin gibt es das Composerstudio inzwischen für alle >Plattformen und offenbar ohne Einschränkungen. Tja, so eine Lösung fällt halt nicht vom Himmel und von Ratiopharm gibt's auch nichts. So ein Pech aber auch.
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.