www.mikrocontroller.net

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


Autor: biggie (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Matthias Lipinsky (lippy)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>1MHz-PWM-Frequenz bei einer Auflösung von 8 Bit.

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

Autor: Michael G. (linuxgeek) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
biggie wrote:

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

Sicherlich nicht mit einem AVR.

Autor: Benedikt K. (benedikt) (Moderator)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Fred (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: 6639 (Gast)
Datum:

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

Autor: biggie (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Benedikt K. (benedikt) (Moderator)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: biggie (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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!

Autor: Kai G. (runtimeterror)
Datum:

Bewertung
0 lesenswert
nicht 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!

Autor: Karl Heinz (kbuchegg) (Moderator)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: 6639 (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Kai G. (runtimeterror)
Datum:

Bewertung
0 lesenswert
nicht 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...

Autor: biggie (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Michael G. (linuxgeek) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: 6639 (Gast)
Datum:

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

Autor: Hendi (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Hendi (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
ah, wieder einer schneller :)

Autor: Axel R. (axelr) Flattr this
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Kai G. (runtimeterror)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: biggie (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: avion23 (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
LEDs, vor allem Highpower-LEDs, haben auch eine Kapazität. Unter 
http://fingers-welt.de/gallerie/eigen/elektro/lase... 
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.

Autor: Jankey (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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 ..

Autor: Gast (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Kai G. (runtimeterror)
Datum:

Bewertung
0 lesenswert
nicht 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...

Autor: biggie (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Steve (Gast)
Datum:

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

Autor: Jankey (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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 :)

Autor: biggie (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Matthias Lipinsky (lippy)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: avion23 (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: kopfkratzer (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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 ?

Autor: Εrnst B✶ (ernst)
Datum:

Bewertung
0 lesenswert
nicht 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...

Autor: gast (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: biggie (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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....

Autor: biggie (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Martin Kohler (mkohler)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Martin Baumgärtner (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.