Forum: Mikrocontroller und Digitale Elektronik schnelle pwm (8Bit, 1MHz)


von biggie (Gast)


Lesenswert?

Hallo,

ich lese hier schon sehr lange mit und habe auch schon sehr oft gute 
Hilfestellungen bekommen.
Für mein derzeitiges Projekt habe ich einen ATmega16 mit 3 PWM-Ausgängen 
programmiert (RGB-LED). Leider ist es nun so, dass die maximal 
PWM-Frequenz mit einem externen 8MHz-Quarz bei weitem nicht für die 
Anwendung ausreicht.
Gefordert sind 1MHz-PWM-Frequenz bei einer Auflösung von 8 Bit. Ich 
hoffe, dies ist mit einem AVR möglich, so dass ich mein Programm nur ein 
kleines bißchen abändern muss.

Leider habe ich mit der Suchfunktion und auch im Internet noch nichts 
passendes gefunden.

Ich hoffe, ihr könnt mir helfen.

Vielen Dank!

Gruß
biggie

von Matthias L. (Gast)


Lesenswert?

>1MHz-PWM-Frequenz bei einer Auflösung von 8 Bit.

Wenn du mir einen Atmel zeigst, der 256MHz Timertakt produzieren und 
verarbeiten kann...

von Michael G. (linuxgeek) Benutzerseite


Lesenswert?

biggie wrote:

> Gefordert sind 1MHz-PWM-Frequenz bei einer Auflösung von 8 Bit. Ich

Sicherlich nicht mit einem AVR.

von Benedikt K. (benedikt)


Lesenswert?

Matthias Lipinsky wrote:
>>1MHz-PWM-Frequenz bei einer Auflösung von 8 Bit.
>
> Wenn du mir einen Atmel zeigst, der 256MHz Timertakt produzieren und
> verarbeiten kann...

Der XMega kann zumindest 128MHz...

Für was bitte braucht man 1MHz PWM Frequenz ? Selbst wenn die Anzeige 
gemultiplexed wird, sind 1MHz viel zu hoch. Die meisten LEDs sind ohne 
aufwendige Ansteuerung nicht mal so schnell.

Es gibt einen dsPIC dessen Timer laufen mit fast 1GHz (nicht wirklich, 
aber es wurde einiges getrickst umd die Auflösung zu erhöhen). Das ist 
u.a. der 30F2020. Der macht bei einer 8bit PWM immer noch 3,75MHz. Dazu 
hat er eine 480MHz PLL.

von Fred (Gast)


Lesenswert?

Hi,

also 1MHz PWM-Frequenz bei 8bit Auflösung wäre wie schon geschrieben 
256MHz Grundtakt. Damit wirst Du Dir schwer tun.
Du hast aber auch was von RGB-LED geschrieben. Wenn diese einfach so 
betrachtet werden sollte eine PWM-Frequenz von 50-100Hz locker 
ausreichen, damit es nicht mehr als Flimmern wahrgenommen wird. Nur wenn 
Du die LEDs per Videokamera oder so anschaust würde eine höhere Frequenz 
Vorteile bringen.
Oder willst Du die RGB-LEDs als Datenüberträger nutzen (nette Idee, aber 
warum dann 8bit)?
Schreib doch einfach mal, was Du damit vor hast, vielleicht gibt's ja 
praktischere Lösungen.
Gruß

Fred

von 6639 (Gast)


Lesenswert?

Es gibt einen PIC der kann das. Der 30F2023 hat bis 480MHz auf dem 
Zaehler. Da kommt natuerlich nicht gratis, sondern kostet 220mA.

von biggie (Gast)


Lesenswert?

nicht gleich in der luft zerreißen ;-)

1MHz sind defenitiv gefordert und vielleicht weiß ja jemand eine 
Möglichkeit, womit man das erreichen kann. Zur Not müsste das Programm 
nochmal neu geschrieben werden. Ich hoffe nur, dass es irgendwie möglich 
ist.

Den XMega hab ich mir gerade mal schnell angeschaut. Das geht evtl in 
die richtige Richtung.

Vielen Dank!

gruß
biggie

von Benedikt K. (benedikt)


Lesenswert?

biggie wrote:
> 1MHz sind defenitiv gefordert und vielleicht weiß ja jemand eine
> Möglichkeit, womit man das erreichen kann. Zur Not müsste das Programm
> nochmal neu geschrieben werden. Ich hoffe nur, dass es irgendwie möglich
> ist.

Direkt per PWM geht nicht per AVR Timer PWM und 8bit. Nur mit externer 
Hardware die schneller läuft.
Sag also wozu das notwendig ist, ansonsten kann dir niemand einen 
brauchbaren Tip geben. 1MHz für LEDs ist nämlich ziemlicher Schwachsinn, 
wenn es keinen wirklichen Grund dafür gibt.

von biggie (Gast)


Lesenswert?

Nur wenn
Du die LEDs per Videokamera oder so anschaust würde eine höhere Frequenz
Vorteile bringen.

@Fred:
Genau so ist es!

@6639
Werde mir den PIC mal anschauen! Vielen Dank!

von Kai G. (runtimeterror)


Lesenswert?

>1MHz sind defenitiv gefordert und vielleicht weiß ja jemand eine
Aber bei 8-Bit mit einem Systemtakt unter 256 MHz nicht möglich!! Such 
dir einen Baustein aus, der das kann, oder schränke die Anforderungen 
ein.

Wir können dir beim Herabsetzen der Anforderungen gerne helfen, aber 
dazu müssten wir wissen, was du vorhast!

von Karl H. (kbuchegg)


Lesenswert?

biggie wrote:
> nicht gleich in der luft zerreißen ;-)

Kein Problem.

>
> 1MHz sind defenitiv gefordert

Da sich hier keiner vorstellen kann, wozu man eine 1Mhz
PWM im Zusammenhang mit LED brauchen müsste: Könntest du trotzdem
erklären, was das werden soll?

Ev. ist ja auch die Forderung unsinnig und man kann mit dem
Forderer noch mal darüber reden. Wäre nicht das erste mal,
dass sich hinten nach rausstellt: Ich hab die Zahl halt mal
genannt, damit überhaupt mal eine Zahl da ist. Wenns mit 1MHz
nicht geht, dann ist 1kHz auch OK.

von 6639 (Gast)


Lesenswert?

Alternativ kannst du auch ein CPLD nehmen, Clock mit PLL auf 256MHz ran 
und irgendwie laufen lassen. Ist sehr muehsam. Die XMega sind noch nicht 
da. Nimm den PIC. Die paar Register zu schreiben ist nicht so schwierig.

von Kai G. (runtimeterror)


Lesenswert?

>Nur wenn
>Du die LEDs per Videokamera oder so anschaust würde eine höhere Frequenz
>Vorteile bringen.

Sehe dennoch keinen triftigen Grund über 1kHz zu gehen...

von biggie (Gast)


Lesenswert?

ich werde prüfen, ob die Forderung unumstößlich ist. danach kann ich 
mehr sagen.

Vielen Dank soweit. Habt mir schon sehr weiter geholfen!

Zur Anwendung:
Beleuchtung einer Kamera mit RGB-LED. Die hohe Frequenz wurde zur 
Minimierung von Fehlern durch statistische Ereignisse gefordert.

von Michael G. (linuxgeek) Benutzerseite


Lesenswert?

biggie wrote:
> Zur Anwendung:
> Beleuchtung einer Kamera mit RGB-LED. Die hohe Frequenz wurde zur
> Minimierung von Fehlern durch statistische Ereignisse gefordert.

Da ist aber 1MHz dennoch ganz schoen hochgegriffen.
Dann wirste entweder entsprechende externe Peripherie brauchen oder das 
ganze halt mit programmierbarer Logik aufziehen, die solche 
Geschwindigkeiten ermoeglicht. Aber wie schon gesagt wurde: Die LEDs 
sind auch nicht unendlich schnell, da muesstest Du schon entsprechende 
Bauteile, die solche Frequenzen ueberhaupt abkoennen, auftreiben.

Warum soll das ganze denn ueberhaupt gemultiplext werden? Fuer eine 
Beleuchtung reicht ja wohl ein "statisches" Licht, was macht es fuer 
einen Sinn, da den ganzen Farbraum darstellen zu wollen. Ist das eine 
ABM oder tatsaechlich ein realistisches Projekt?

Michael

von 6639 (Gast)


Lesenswert?

Ja, das Licht muss wahrscheinlich nicht gepulst werden, DC ist gut. Dann 
ist irgendeine kleinere Frequenz auch gut.

von Hendi (Gast)


Lesenswert?

... und es stellt sich die Frage, ob nicht eine kontinuierliche 
Helligkeitssteuerung hier sinnvoller wäre.
Damit würde man nichtmal mit einer Rapatronic das Risiko eingehen, in 
den "Dunkelphasen" der PWM zu knipsen.

Gruß,
Hendi

von Hendi (Gast)


Lesenswert?

ah, wieder einer schneller :)

von Axel R. (Gast)


Lesenswert?

Auch der koplette Fabraum ließe sich "linear" gedimmt sicher brauchbar 
darstellen.
Im Gegenteil: PWM und Kamera gibt immer unerwünschte Stroboskopeffekte.

Man kan natürlich auf die Vsync einrasten und nur jede vierte Zeile 
gerastert ausleuchten, wenn man zB. richtig Power braucht 
(IR-Scheinwerfer).

Kommt eben ganz auf den Verwendungszweck an.

Gruß
Axelr.

von Kai G. (runtimeterror)


Lesenswert?

>Beleuchtung einer Kamera mit RGB-LED. Die hohe Frequenz wurde zur
Sicher, dass ihr das wollt? Der Farbumfang ist verglichen mit GLÜHlampen 
echt bescheiden. Wenn es darum geht den Weißpunkt einzustellen geht auch 
ein Halogenspot mit Filter oder einfach eine Lichtquelle mit x=0.33, 
y=0.33 und dann nachbearbeiten. Bin jetzt kein Fotoexperte, aber LEDs 
halte ich für ungeeignet.

Ansonsten auf jeden Fall per DC ansteuern.

von biggie (Gast)


Lesenswert?

ok, es schaut wohl so aus, als ob pwm für die aufgabe nicht die 
geeignetste ist.
kommen wir mal auf die dc steuerung:
im moment steuert die pwm einen fet an, der eine konstantstromquelle für 
die led schaltet. da jede led ca. 350mA zieht, weiß ich im Moment nicht, 
wie ich das ganze analog ansteuern soll...
wenn ich die pwm mit nem Tiefpass filtere, dann kann ich ja solche 
ströme nicht rausziehen.
ich stehe gerade auf dem schlauch... :-(

danke!

gruß
biggie

von avion23 (Gast)


Lesenswert?

LEDs, vor allem Highpower-LEDs, haben auch eine Kapazität. Unter 
http://fingers-welt.de/gallerie/eigen/elektro/laserjam/laserjam.htm 
findet man ein paar Infos zu den Problemen die in solchen Dimensionen 
auftreten können. Der Author nennt 11pF für seine sehr schnellen 
IR-LEDs.
Deine RGB-Led dürfte um Dimensionen hierüber liegen.


Zusammen mit der Zuleitungsinduktivität dürftest du einen Step-down 
wandler gebaut haben, der sehr schlecht funktioniert. Deine LED leuchtet 
also durchgehend bei 1MHz.

Intelligenter wäre wohl eine Konstantstromquelle: 8-Bit PWM-glätten auf 
opamp als zielsignal geben, mit opamp gut gekühlten power-mosfet 
steuern.

von Jankey (Gast)


Lesenswert?

sagmal is die ganze welt dumm? oder wieso versucht jeder Bastler eine 
Frequenz von einige MHZ auf seine LEDs zu jagen wenn die größten 
hersteller der Welt für LED Applikationen bei LCD Fernsehern alle 
zwischen 200 und 600Hz ihre LEDs befeuern...

omg leute, das is nicht wie bei einem Auto wo mehr PS automatisch einen 
größeren iP€nis bringt ...

200~600Hz, damit fährt die ganze welt ..

von Gast (Gast)


Lesenswert?

Um Probleme mit der Verlustleistung zu umgehen, kannst du ja vor den von 
avion23 vorgeschlagenen Stromregler noch eine einstellbare 
Spannungsquelle (Schaltregler) schalten, um die Eingangsspannung der 
Stromquelle so zu wählern, dass die Verluste über dem Längstransistor 
der Stromquelle immer minimal sind.

von Kai G. (runtimeterror)


Lesenswert?

>200~600Hz, damit fährt die ganze welt ..
Weil es hier im Forum bekennende Leute gibt, die bis 1 kHz noch flackern 
wahrnehmen können. =)

Zudem sollte man auch immer die Möglichkeit in Betracht ziehen, dass 
Interferenz-Erscheinungen beim Abfilmen auftreten können.

Ansonsten hat dein Beitrag den Informationsgehalt einer Dose Bohnen...

von biggie (Gast)


Lesenswert?

@jankey:

ich lasse mich ungern als dumm bezeichnen, nur weil ich auf ein problem 
nicht auf anhieb die passende lösung habe. ich dachte, dafür wäre ein 
forum da.

da aber scheinbar auch du zu "dumm" bist den ganzen thread zu lesen, wo 
ich schon erläutert habe, warum eine frequenz von 1MHz notwendig ist, 
gebe ich auf deinen kommentar rein gar nichts.

@avion23:
im moment läuft die schaltung ja nicht mit 1MHz. Im Moment bewege ich 
mich maximal mit 8MHz/256. Nur leider ist es so, dass diese Frequenz für 
die Kamera nicht ausreicht.

Ich verstehe auch nicht den Unterschied zwischen meiner beschriebenen 
Schaltung und deinem Vorschlag...?

Gruß
biggie

von Steve (Gast)


Lesenswert?

Wie wäre es mit einem getakteten Stromregler? Vermeidet große Verluste 
und liefert beinahe DC.

von Jankey (Gast)


Lesenswert?

Dumm bist du ganz bestimmt nicht, aber du gehst in die Falsche 
richtung...

hm also scheinbar handelt es sich um eine Highspeed Camera, und wenn 
8MHz/256 echt zu langsam ist --> versuchs mal mit einer Stromquelle und 
keiner PWM :) und die Spannung zur Speisung der Stromquelle würde ich 
recht genau anpassen dann sind die verluste klein :)


@Kai.: Es gibt auch bekennende Leute die aus der Steckdose erkennen 
können ob es sich um Atomstrom handelt :)

von biggie (Gast)


Lesenswert?

ok, dass hört sich doch jetzt alles schon sehr vielversprechend an.
werde mich jetzt noch ein bißchen damit beschäftigen müssen, aber so 
hoffnungslos wie heute morgen siehts schon gar nicht mehr aus...

danke

gruß
biggie

von Matthias L. (Gast)


Lesenswert?

Nimm, wie schon vorgeschlagen,  ne getaktete Stromquelle. Die kannst du 
mit 8MHz/256 betreiben, erzeugt statt Wärme einen (fast) DC-Strom für 
die LED.

von avion23 (Gast)


Lesenswert?

@biggie
Klar gibt's nen Unterschied zwischen 1MHz PWM und Konstantstrom. Den 
solltest du aber selbst erkennen.

Ich vermute, dass keine Frequenz für dein Problem ausreicht weil du es 
nicht definieren kannst. Du hast auch noch nicht gesagt, warum du die 
LEDs überhaupt takten möchtest.

Für alle anderen gibt es folgende möglichkeiten:
- Konstantstromquelle aus PWM,RC-Glied,Opamp,mosfet+shunt. Evtl. vorher 
Eingangsspannung anpassen.
- Konstantstromquelle mit step-down-wandler + shunt
- PWM-synchron zur Kamerafrequenz.

von kopfkratzer (Gast)


Lesenswert?

Mal eine ganz bescheuerte Frage:
Warum nicht mit dem µC ein elektronisches Poti ansteuern das dann 
entsprechend die Leistung regelt ?
Oder hab' ich da was überlesen ?

von Εrnst B. (ernst)


Lesenswert?

kopfkratzer wrote:

> Warum nicht mit dem µC ein elektronisches Poti ansteuern das dann
> entsprechend die Leistung regelt ?

Ist einfach zu viel Aufwand und zu teuer...
Er braucht ja eh einen OpAmp+Transistor pro Kanal, da kann er auch 
gleich den OpAmp mit einer aus dem PWM-Signal erzeugten Spannung 
ansteuern.

Ein elektronisches Poti würd zwar wohl etwas weniger Ripple auf dem 
Ausgangsstrom geben, aber ob das den Preis rechtfertigt...

von gast (Gast)


Lesenswert?

> ...elektronisches Poti...
> Oder hab' ich da was überlesen ?

Naja, der Nennstrom pro LED beträgt 350mA. Mit elektronisches Poti wirst 
du da direkt nicht weit kommen. Wenn direkt, dann Motorpoti, welches 
diese Verlustleistung verkraften kann. Oder einfach Schaltungen, wie 
oben schon angeführt.

von biggie (Gast)


Lesenswert?

>Du hast auch noch nicht gesagt, warum du die
>LEDs überhaupt takten möchtest.


Getaktet einfach nur, weil es zuerst als einfachste Möglichkeit 
erschien, die LED's zu dimmen. Hat ja auch soweit ganz gut funktioniert. 
Wenn man es mit dem Auge betrachtet....

von biggie (Gast)


Lesenswert?

>Für alle anderen gibt es folgende möglichkeiten:
>- Konstantstromquelle aus PWM,RC-Glied,Opamp,mosfet+shunt. Evtl. vorher
>Eingangsspannung anpassen.
>- Konstantstromquelle mit step-down-wandler + shunt

Hallo,

kann mir vielleicht jemand ein kleines Schaltbild zu diesen beiden 
Möglichkeiten geben? Ich blick grad nicht durch, wie ich damit die LEDs 
dimmen kann?

Vielen Dank!

Gruß
biggie

von Martin K. (mkohler)


Lesenswert?

biggie wrote:
> Getaktet einfach nur, weil es zuerst als einfachste Möglichkeit
> erschien, die LED's zu dimmen.
Falls es wieder mal PWM werden sollte: nimm ein FPGAè!
Da habe ich erst kürzlich eine 8fach PWM implementiert mit 200kHz bei 
8Bit PWM, es würde problemlos auch höher gehen. Machte bei mir aber 
nicht Sinn, weil die Optokoppler vorher schlapp machten.

von Martin Baumgärtner (Gast)


Lesenswert?

Hallo,

ich habe genau das gleiche Problem:
Um die 1 MHz, denn die Kamera hat eine kürzeste Verschlusszeit von 
1/12000.

Um da den Fehler bei ca. 1% zu halten braucht man diese Frequenz, das 
ist schon alles.

Und PWM Ansteuerung ergibt eine klare Abhängigkeit von Einschaltdauer 
und Helligkeit, die habe ich bei einer Stromsteuerung eben nicht.
Da muss ich eine Tabelle erzeugen, bevor ich anfange.

Gruß


Martin

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.