INFO: Dieses Forum nutzt Cookies...
Cookies sind für den Betrieb des Forums unverzichtbar. Mit der Nutzung des Forums erklärst Du dich damit einverstanden, dass wir Cookies verwenden.

Es wird in jedem Fall ein Cookie gesetzt um diesen Hinweis nicht mehr zu erhalten. Desweiteren setzen wir Google Adsense und Google Analytics ein.

Antwort schreiben 
 
Themabewertung:
  • 0 Bewertungen - 0 im Durchschnitt
  • 1
  • 2
  • 3
  • 4
  • 5
PWM schneller machen...?
30.01.2016, 12:56
Beitrag #1
PWM schneller machen...?
Hallo,

wir sind gerade dabei ein relativ großes LED Panel zu programmieren um damit Fotos und Filme machen zu können. Da man bei PWM ein sehr starkes flackern sieht ist diese Funktion leider unbrauchbar um die LEDs zu dimmen. Wir haben auch schon versucht das PWM selber zu erstellen mithilfe von delayMicroseconds() um es schneller zu machen. Leider ohne Erfolg. Leider leuchtet manchmal gar nichts und manchmal ist es egal wie groß die delays sind, es leuchtet immer gleich hell und flackert extrem trotz delays von nur wenigen Mikrosekunden. Naja, lange Rede kurzer Sinn: Gibt es eine Funktion mit welcher sich ein schnelleres PWM erstellen lässt oder womit man die Einstellungen von PWM so ändern kann, dass es schneller ist?

Danke für Eure Antworten

Max
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
30.01.2016, 16:43
Beitrag #2
RE: PWM schneller machen...?
Zu meinen Verständnis, wie sieht dein jetziges Programm aus?
Bestimmt interessiert das Andere auch!

Nicht jeder Neuling in einem Forum hat keine Ahnung über die Materie!
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
30.01.2016, 18:02
Beitrag #3
RE: PWM schneller machen...?
int PotiPin = A0;
int ButtonPin = 3;
int MOSFETPin = 10;
int Zustand = 100;
int WertPoti = 0;
int WertPotiO = 0;
int Wert = 0;
int Wert2 = 0;
int gcd = 0;
int WertHelp;
int Wert2Help;


void setup() {
pinMode(PotiPin, INPUT);
Serial.begin(9600);
}

void loop() {



Wert = map(analogRead(PotiPin), 0, 1023, 0, 100);


//Kuerzen();
Leuchten();
Serial.print(Wert);
// Serial.print(" ");
// Serial.print(Wert2);
// Serial.print(" ");
// Serial.println(gcd);
}



//void Kuerzen() {
// if (Wert != 0 && Wert2 != 0) {
// WertHelp = Wert;
// Wert2Help = Wert2;
//
// gcd = GCD(WertHelp, Wert2Help);
//
// Wert = Wert / gcd;
// Wert2 = Wert2 / gcd;
//
//
// }
//}

void Leuchten() {

digitalWrite(MOSFETPin, HIGH);
delayMicroseconds(Wert);
digitalWrite(MOSFETPin, LOW);
delayMicroseconds(100-Wert);
}

//
//int GCD (int a, int b) {
// if (b == 0) {
// return a;
// }
// else {
// return GCD (b, a % b);
// }
//}











Dokumentation gibt es leider keine aber es sollte trotzdem halbwegs verständlich sein.... hoffe ich(y)


Ich weiss leider auch gerade nicht wie ich Code einfügen kann.... naja
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
31.01.2016, 18:13
Beitrag #4
RE: PWM schneller machen...?
Weil sich hier bisher keiner gemeldet hat, erbarme ich mich mal.

Ihr wollt in letzter Instanz "Bilder und Filme machen"

Wie soll man das verstehen?
Der Arduino soll LEDs ansteuern, gut.
Das kann er auch.
Aber maximal in der Menge der Ausgänge, obendrein braucht es PWM dazu.
Die sind aber nunmal noch weniger verfügbar am Arduino.

Dann braucht es mehrfarbige LEDs und pro LED dann 3 Signale vom Arduino.

Um ein Bild darzustellen, braucht es mindestens 320x240 Pixel.
Reduzieren wir es meinetwegen auf 160x120 Pixel
Dann sind es "nur" 19200 Pixel
Bleiben wir auch bei nur Einer Farbe, dann braucht man auf diesem Weg:
19200 Pins oder rund 400 Arduino Mega

Dann muss man die ganzen Arduinos noch vernetzen, und irgendwie die Bilder in Kommunikation wandeln und wieder zurück.

Bei Euch klemmt es aber schon bei dem Betrieb einer LED an einem Pin...?!


Naja, macht mal weiter....


So, jetzt zur eigentlichen Frage.

Schneller als über den PWM geht's ganz sicher nicht per Software.
PWM läuft unabhängig vom Programm.
Mit setPWMFrequency(6,1); z.B. Setzt man die Frequenz von PWM an Pin 6 auf das Maximale herauf.

Sollte das immernoch Flackern, dann helfen entweder Kondensatoren zum Glätten oder Glühbirnen.


Ob das was wird?!
Big Grin

Binatone
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
31.01.2016, 19:35
Beitrag #5
RE: PWM schneller machen...?
Ok danke für die Antwort! Um das zu klären wir wollen kein Display bauen sondern nur eine sehr helle Lampe aus 20 10w LEDs. Diese werden über ein ausreichend großes MOSFET angesteuert. Das mit dem Kondensator scheint mir eine gute Lösung... Wie groß müsste dieser denn dann ungefähr sein? Gibt es da Formeln zur Berechnung?
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
31.01.2016, 22:28
Beitrag #6
RE: PWM schneller machen...?
was gibts denn an einer PWM zu glätten?
Nichts aber auch rein gar nichts!

Wenn eine Lampe oder eine LED flackert, dann hat das doch nur mit der
betreffenden Ausgangsfrequenz zu tun. Wenn man etwas flackern sieht,
dann ist das unterhalb 50Hz, wo das menschliche Auge das noch warnehmen
kann. So und nun ist doch die Frage, welche Ausgangsfrequenz am PWM
ansteht!?

Für eine gut funktionierende PWM sollten über 5 KHz oder ein Vielfaches anstehen,
aber das ist im Einzelfall zu klären, was damit angesteuert werden soll.

Ein Kondensator am PWM Ausgang ist Nonsens und eher kontraproduktiv.
Es gibt nichts zu glätten, und es wäre auch ein echtes Problem mit einem
Elko (den man ja normalerweise zum Glätten einer noch mit Wechselspannung
versehenen Gleichspannung verwendet), eine hohe Rechteckfrequenz glätten zu
wollen.

Desweiteren kann das Problem auch daran liegen, dass der Hardwareaufbau
der Mosfetschaltung mit hohem Stromdurchsatz nicht korrekt ist. Es kann
durchaus sein, dass an einem bestimmten Punkt der Eingangsfrequenz
am Gate des Mosfets die Umschaltung durch die Trägheit des Mosfets
nicht mehr sauber statt findet. Du gibts an, dass ihr einen LED Scheinwerfer
aus 20*10 W LED`S ansteuern wollt.

Das wären dann nach Adam Riese:
20*10= 200W und bestimmt haben die LEDs 12 V DC Betriebsspannung,
so dass ein Strom von P= U*I > I= P/U
16,7 A. So und das schafft kein Mosfet diesen Strom so umzuschalten
ohne dass diesem nicht mit einem GatePower-IC vorschaltet.

Wahrscheinlich liegt da der Hund begraben!
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
01.02.2016, 06:50
Beitrag #7
RE: PWM schneller machen...?
Naja gut, den Kondensator vergessen wir besser, in Ordnung.

Ich vermute mittlerweile eine Leuchtdiode aus dem KFZ Bereich, die unterschiedliche Spannungen verträgt (12-24V)

Die ist natürlich nicht regelbar!
Sie hat ne Spannungsregelung eingebaut, die immer versucht, die LED auszulasten, was sich bei z.B. 6 Volt in einem "Pumpen" oder "Flackern" bemerkbar macht
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
Antwort schreiben 


Möglicherweise verwandte Themen...
Thema: Verfasser Antworten: Ansichten: Letzter Beitrag
  Schneller Speicher für Due Laura 3 431 27.11.2015 13:21
Letzter Beitrag: Thorsten Pferdekämper
  Wie kann ich die Zahl 5 zu 05 machen? Much 2 723 20.09.2015 14:46
Letzter Beitrag: Wampo
  Rotary Encoder: schneller drehen > Wert mehr verändern Foto-Ralf 7 1.422 28.02.2015 15:50
Letzter Beitrag: HaWe
  Programm lesbarer machen basst_scho 7 2.449 19.10.2014 20:50
Letzter Beitrag: tito-t

Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste