PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Duty-Cycle verlängern



oratus sum
13.06.2011, 16:28
Hallo,

Ich habe folgendes "Problem"

Ich möchte eine LED mit einem MOS-FET schalten, (IRLZ34N), der FET soll wiederum von einem Modellempfänger gesteuert werden.

Grundsätzlich ist das ja kein Problem, aber ich habe mit dem Oszi nachgemessen und festgestellt, dass der Duty-Cycle des PWM-Signals vom Empfänger zwischen 5-8% liegt.
(Bei ca 50Hz)

Zum ansteuern der LED ist das natürlich nicht so toll, sie flackert nur ganz leicht vor sich hin...

Jetzt würde ich gerne mit möglichst kleinem Bauteilaufwand die An-Phase des FETs verlängern.

Ich habe da einfach an ein R-C Glied gedacht, Kondensator zwischen GND und über Widerstand zum Gate.

Brachte aber keine wirkliche Besserung...

Und bei der Gelegenheit:
Gibt es eine SMD Version vom IRLZ34N?

Da ich den FET tausendfach in Verwendung habe, da er sich so schön mit µC schalten lässt, ohne Treibe wohlgemerkt, würde ich mich über eien SMD Version freuen

Richard
13.06.2011, 17:32
Hallo,

Ich habe folgendes "Problem"

Ich möchte eine LED mit einem MOS-FET schalten, (IRLZ34N), der FET soll wiederum von einem Modellempfänger gesteuert werden.

Grundsätzlich ist das ja kein Problem, aber ich habe mit dem Oszi nachgemessen und festgestellt, dass der Duty-Cycle des PWM-Signals vom Empfänger zwischen 5-8% liegt.
(Bei ca 50Hz)

Zum ansteuern der LED ist das natürlich nicht so toll, sie flackert nur ganz leicht vor sich hin...

Jetzt würde ich gerne mit möglichst kleinem Bauteilaufwand die An-Phase des FETs verlängern.

Ich habe da einfach an ein R-C Glied gedacht, Kondensator zwischen GND und über Widerstand zum Gate.

Brachte aber keine wirkliche Besserung...

Und bei der Gelegenheit:
Gibt es eine SMD Version vom IRLZ34N?

Da ich den FET tausendfach in Verwendung habe, da er sich so schön mit µC schalten lässt, ohne Treibe wohlgemerkt, würde ich mich über eien SMD Version freuen

Ein retriggerbares Monoflop könnte klappen.

Gruß Richard

oratus sum
13.06.2011, 18:11
Hallo,

Ich habe auch schon an den NE555 gedacht, jedoch habe ich keine SMD Version davon hier, daher würde die Schaltung zu groß werden...

Als letzter ausweg würde ich mir die SMD Version vom NE555 bestellen...

PICture
13.06.2011, 18:20
Hallo!

Einfachere Beschaltung hat ein primitiver doppelter Monoflop z.B. 74HC123 in SMD. :)

Klebwax
13.06.2011, 19:25
Hallo,

Ich habe folgendes "Problem"

Ich möchte eine LED mit einem MOS-FET schalten, (IRLZ34N), der FET soll wiederum von einem Modellempfänger gesteuert werden.

Was möchtest du erreichen? Soll die LED nur an und aus geschaltet werden, oder willst du die Helligkeit steuern?

MfG Klebwax

Ceos
13.06.2011, 20:26
ich seh da grad ein Betrachtungsfehler, das ist kein PWM im klassischen Sinne! Du hast einen Puls definieter Länge, der beträgt 1,5mS +/- 0.5mS (meist etwas mehr)! Was er bräuchte wäre eine Schaltung zur Pulsdehnung (mir fällt leider ad-hoc nicht mehr die Schaltung ein)
bei manchen Empfängern verändert sich mit jeder Veränderung der Knüppellage auch die Wiederholfrequenz der Impulse, weil die Impulse nicht als Tastverhältnis interpretiert werden sonder einfach aufaddiert!

Sinngemäß: 1 Monoflop und ein FlipFlop. Der Monoflop triggert auf die steigende Flanke (oder fallende je nach System) und ist auf den Schwellwert eingestellt bei dem Geschaltet werden soll! Fällt der Monoflop, gibt er eine Flanke in das FlipFlop, dessen D-Eingang auf dem Steuersignal liegt, ist der Impuls länger, kommt am Q-Ausgang ne 1 raus, ist er kürzer als die Zeit des Monoflop ne 0 raus!

Wenn du die Helligkeit regeln willst, müsst ich mal schauen, da hab ich irgendwo auch noch ne Schaltung für.

Richard
13.06.2011, 20:58
ich seh da grad ein Betrachtungsfehler, das ist kein PWM im klassischen Sinne!



Stimmt PPM ist nicht PWM .......Das wird hier aber relativ häufig in einem Topf geworfen. :-(

PPM: http://fbim.fh-regensburg.de/~saj39122/Diplomarbeiten/Heuschrecke/documentation/Diplomarbeit/node28.html

PWM: http://de.wikipedia.org/wiki/Pulsweitenmodulation


Gruß Richard

BMS
13.06.2011, 21:01
Hallo,
gibt es vielleicht auch eine Lösung mit Analogelektronik? Also ich würde das PWM-Signal durch ein Tiefpassfilter jagen und erst mal mit einem OpAmp verstärken. Dann hätte man aus dem Rechtecksignal schonmal eine Gleichspannung die proportional zum Tastverhältnis ist.
Jetzt zur LED: Müssen wir mit einer 20mA-LED rechnen oder High-Power 1W-5W ?
Für geringe Stromstärken und damit niedrige Verlustleistungen in der Steuerung könnte eine rein analoge Lösung ausreichen. Dann könnte man eine Konstantstromquelle/-senke mit OpAmp und Transistor anfertigen.
Bei höheren Strömen/Leistungen sollte man jedoch mit PWM arbeiten um die Verluste klein zu halten.
Grüße, Bernhard

Besserwessi
13.06.2011, 21:23
Es sollte auch analog gehen, wird aber nicht so einfach. Mein Vorschlag wäre in die Richtung über ein RC Glied den Puls zu verlängern und dann über einen Komperator oder ähnliches dann wieder einen Digitalen Puls zu machen. Damit es linear wird müsste man ggf. mit Stromquellen arbeiten oder ggf. mit einem Ladungsverstärker. Einfacher wäre es vermutlich tatsächlich mit einem kleinen µC im 6 oder 8 Pin Gehäuse.

Es gibt auch FETs im SMD Gehäuse (z.B. IRLR024 im DPAK) oder IRF7103 im SO8.

Richard
13.06.2011, 22:55
Es sollte auch analog gehen, wird aber nicht so einfach. Mein Vorschlag wäre in die Richtung über ein RC Glied den Puls zu verlängern und dann über einen Komperator oder ähnliches dann wieder einen Digitalen Puls zu machen. Damit es linear wird müsste man ggf. mit Stromquellen arbeiten oder ggf. mit einem Ladungsverstärker. Einfacher wäre es vermutlich tatsächlich mit einem kleinen µC im 6 oder 8 Pin Gehäuse.

Es gibt auch FETs im SMD Gehäuse (z.B. IRLR024 im DPAK) oder IRF7103 im SO8.

Wenn es nicht die Funke sein muss und nur eine LED gedimmt werden soll, kann man ein PWM Signal sehr leicht mit dem bekannten 555 Timer erzeugen. Eine normale LED treibt der problemlos, für höhere Ströme dann halt einen Transistor oder Fed hinter dem Timer hängen. Eine einfache schnell auf Lochraster aufgebaute Schaltung.......

file:///tmp/moz-screenshot.pnghttp://www.mikrocontroller.net/attachment/70279/ne555-pwm-led-dimmer-circuit_6036.gif
http://www.reuk.co.uk/OtherImages/ne555-pwm-dimmer-circuit.gif

Gruß Richard

oratus sum
19.06.2011, 19:15
Hallo Danke für euren input!

Also PWM und PPM ist nicht das gleiche okay klar habe ich mir auch gedacht, aber da ich eigentlich am Ausgang des des Empfängers ein Rechteck alle 20-25ms habe und je nach LÄNGE des Pulses die Servostellung ermittelt wird ist das für mich irgendwie halt PWM weil die Pulsweite eben die Servoposition bestimmt.
Oder bin ich da falsch informiert?

Grundsätzlich soll eine 5W Power LED angesteuert werden. Das geht aber super mit dem IRLZ34N. 5W weil ich das ganze auf einen Quadrocopter bauen möchte um die Fluglage gut zu sehen, auch bei Tag, also vorallem unter Tags.

Eure Analogschaltungsvorschläge sind echt super und genial, muss ich mir genauer zu Gemüte führen, allerdings werden die dann doch zu groß. Ich glaube da bin ich besser dran wenn ich einen kleinen SMD AVR nehme, einen Spannungsregler und den FET.

Der IRLR024 ist ja ein angenehmer Zeitgenosse. Klein, schlatet bei 5V 14A super. Danke Besserwessi!
Ist DPACK noch Lötbar?

Wird dann wohl mein erstes SMD Projekt.

Welcher µC empfiehlt sich dafür? Auf jeden Fall ein AVR.

Ich wollte mich sowieso schon damit auseindersetzen wie man so ein Signal einließt. Hat irgendwer evtl entsprechende Links/Literatur zur Hand?

Nochmal vielen Dank!!!

021aet04
19.06.2011, 19:28
Für kleine Dinge empfiehlt sich der Attiny 45. Den gibt es im DIP8 Gehäuse. Es gibt ihn aber auch im SOIC, TSSOP, QFN und MLF Gehäuse. Fürs Steckbrett einen im DIP Gehäuse und dann in der fertigen Schaltung, falls nötig, im SOIC o.Ä Gehäuse.

Das Gute an dem ist, dass er noch mit ISP programmierbar ist.

MfG Hannes

Besserwessi
19.06.2011, 21:05
Das DPACk sollte noch gut lötbar sein. Die Abstände sind wirklich moderat - so groß kennt man es bei SMD sonst eher nicht, das ist nicht so viel kleiner als ein TO220. Je nach Größe der Kühlfläche wird man eher einen etwas größeren Lötkolben brauchen, zur Not auch mal das 80 W Brateisen.
Die Schwierigkeit wird am ehesten sein den Chip nicht den Hitzetod sterben zu lassen, weil es zu lange braucht.

Keine Angst vor SMD Teilen. Wenn man sich erstmal an Widerstände und Abblockkondensatoren als SMD (z.B. Größte 0805) gewöhnt hat, mag man nicht mehr bohren. Auch SOT23 und SOIC mit 1,27 mm Pinabstand lassen sich noch einigermaßen einzeln löten. TSSOP, QFN MLF und Co. brauchen dann schon mehr Geschick und Technik.

Ein Ansatzpunkt für das Programm wäre ggf. der Code zur Servoansteurung aus dem RN-Wiki.

Klebwax
19.06.2011, 21:33
Hallo Danke für euren input!

Also PWM und PPM ist nicht das gleiche okay klar habe ich mir auch gedacht, aber da ich eigentlich am Ausgang des des Empfängers ein Rechteck alle 20-25ms habe und je nach LÄNGE des Pulses die Servostellung ermittelt wird ist das für mich irgendwie halt PWM weil die Pulsweite eben die Servoposition bestimmt.
Oder bin ich da falsch informiert?

Wenn es PWM wäre, könntest du das Signal einfach verwenden.

Das Mass bei einer PWM ist das Impuls/Pause Verhältniss, nicht alleine seine Pulslänge. Wie du selbst sagst, ist die Pause zwischen "20ms - Pulslänge" und "25ms - Pulslänge". Es gibt also kein definiertes Puls/Pause Verhältniss.

Hier im Forum wird das Servosignal aber gerne "PWM" genannt. Das führt dann zu den üblichen Problemen: Sensoren mit PWM Ausgang (wie z.B. Accelerometer) werden direkt an Servos angeschlossen oder wie bei dir ein Servosignal an einen LED Treiber. Saubere Formulierungen erleichtern die Kommunikation und vermeiden Fehler und vor allem Frust.

Aus den Zeiten, als Mikroprozessoren noch nicht im RC Umfeld verwendet wurden, gibt es sicher Schaltungen um aus einem Servosignal ein PWM Signal, z.B. für einen Motor zu machen. So etwas ist aber nicht mehr zeitgemäß. Ein kleiner µC ist sicher der richtige Ansatz. Man muß die Pulsbreite messen, z.B. im Timerinterrupt, und daraus einen PWM mit 0% bis 100% erzeugen. Eigentlich braucht er nur 4 Pins: Versorgung, Masse, Input und Output.

MfG Klebwax

oratus sum
19.06.2011, 22:09
Hallo,

Vielen Dank für die konstruktiven Beiträge.

Dann werde ich mich mal an SMD ranschmeissen. Vorher geht es sowieso ab nach China da besorg ich mir ein haufen SMD AVRs.

Ich habe mir nocheinmal das Summensignal meines Empfängers am Oszi angeschaut und fand es ziemlich interessant wie die Pulsbreiten sich proportional zu den Knüppelstellungen verschoben haben, wirklich nett.

Servos ansteuern ist natürlich kein Problem. Nur Flanken mit dem AVR messen habe ich noch nie gemacht, wobei Interrupts habe ich schon oft verwendet.
Aber ich stelle mir das so vor:
Ich hänge das PPM-Signal an einen Interrupt-Port.
Wird dieser getriggert mit einer steigenden flanke schießt ein Counter los und ermittelt die Pulsbreite.

Da kommen allerdings zwei Fragen auf:
Wie detektiere ich wieder das Ende des Pulses? Oder kann ich an einem Interrupt-Pin sowohl eine steigende alsauch fallende flanke ermitteln?
Oder soll mein Counter einfach ständig abfragen ob Interrupt-pin = HIGH ?

Wie groß soll die Auflösung sein?
Ich schätze das ist wohl mir überlassen. Mit diesem Aufwand kann ich auch gleich die LED Blinkfrequenz steuern indem ich einen Counter alle 0.5ms um eins hochzählen lasse, das wären dann 3 Stufen.

Wobei das dann wirklich von der Counterauflösung abhängt.

Vermutlich werde ich sowieso zuerst eine Testschaltung aufbauen, den Counter nicht begrenzen sondern mit max Hz laufen lassen für eine möglichst hohe Auflösung, die Werte dann per UART ausgeben und dann Eingang mit Ausgang direkt verknüpfen. Habe ich halt einen proportionalen 5W LED blinker.

Dabei stellt sich gleich die Frage ob es nicht klüger wäre die LED mittels PWM anzusteuern und lieber die Helligkeit zu regeln. Ich schätze der FET würde das noch mitmachen oder?

Einen Sensor direkt an einen Servo anzuschließen wäre mir niemals in den Sinn gekommen, wobei die Idee garnichtmal so abartig ist. Vorausgesetzt der Sensor liefert natürlich ein PPM Signal. Wäre aber ein cooles Gerätchen wenn man z.b. Entfernungssensoren direkt an einen Fahrtregler anschließen könnte. Da würden die Entfernungssensoren proportional zu ihrer gemessen Entfernung die Motoren unterschiedlich stark ansteuern und würden so einen tollen autonomen Roboter ergeben. Cool oder? :D

Besserwessi
19.06.2011, 22:50
Man kann einige Pins so programmieren das man bei jeder Änderung einen Interrupt bekommt (Pin CHANGE bei neueren AVRs). Man kann auch in der ISR umschalt auf welche Flanke der µC das nächste mal reagieren soll.

Viel mehr als 8 Bit Auflösung wird man für ein Servosignal kaum gebrauchen. Mehr macht so eine Poti und wohl auch die Übertragung nicht mit. Bei einer 1 ms Spanne für den Servo wären das etwa 4 µs als maximal sinnvolle Zeitauflösung, es kann aber natürlich auch etwas größer sein. Trotzdem ist das etwas schnell um da extra in einer ISR hoch zu zählen. Der bessere Weg ist es einen Timer direkt laufen zu lassen, am Ende Auszulesen und ggf. dann die Skalierung umzurechnen. Solange nicht noch langsame Interrupts laufen, ist das kein Problem den Timer in der ISR auszulesen. Beim 16 Bit Timer hat man auch noch die Input Capture Funktion als Hardware Unterstützung für eine besonders hochauflösende Messung.