Forum: Mikrocontroller und Digitale Elektronik Transistor mittels PWM steuern


von Predator (Gast)


Lesenswert?

Hi @ all

Ich habe eine Atmega16 und will an Timer 1 (OC1a) ein PWM signal 
rausbekommen und damit einen Trasistor basisseitig ansteuern. 
Softwaremäßig funkioniert das auch schon mal. Ich habe mich ein bisschen 
belesen und schonmal herrausgefunden das das PWM-Signal evtl durch einen 
Tiefpass also:    PWM----R----C----Transitor
                     |
                     |
                    GND
richtig dimensioniert werden kann.
Für mich stellt sich nur die Frage wie groß müsste R und C sein???
Frequenz = 800hz und die Periodendauer = 1,25ms

Ich habe schon etwas experimentier doch irgendwie bekomme ich den 
Trasistor nicht zum schalten da an UBE nur 0,1 V liegen
R=12,5K und C=100n

Danke für evtl Antworten

von Beginy (Gast)


Lesenswert?

Was soll der Transistor denn machen :
1) Wennn ein PWM- Signal anliegt schalten , egal, wie das Tastverhältnis 
ist
2) In der gleichen Frequenz / Tastverhältnis wie das PWM- Signal 
schalten ?

...

von Beginy (Gast)


Lesenswert?

...und handelt es sich um einen PNP oder NPN Transistor ?

von Ben _. (burning_silicon)


Lesenswert?

na erstmal ne andere grundsatzfrage. soll der transistor analog arbeiten 
oder digital?

von Predator (Gast)


Lesenswert?

Also es ist ein NPN (genauer BC547B nur für Versuchsaufbau) er soll im 
Prinzip schnell zuschalten da an Kollektor 2 leds mit vorwiderstan an 
12V hängen

Tastverhältnis müsse 100/255 sein
1
$regfile = "m16def.dat"
2
$crystal = 4000000
3
$baud = 9600
4
Dim W As Word
5
Config Timer1 = Pwm , Pwm = 8 , Compare A Pwm = Clear Up , Compare B Pwm = Clear Down , Prescale = 1
6
Compare1a = 100

wenn ich mich da nicht irgendwo geirrt habe

MfG

von roli (Gast)


Lesenswert?

hy,

guck die bitte mal deinen tiefpass an. so wie der gezeichnet ist, dann 
dieser nicht funktionieren.

http://de.wikipedia.org/wiki/Tiefpass

lg roli

von Predator (Gast)


Lesenswert?

heißt also was?

von Predator (Gast)


Lesenswert?

Er soll praktisch die Led dimmen.. Ich hatte am Oszi ein Messung 
durchgeführt und eine Recheckspannung (5V). Ohne ein Signal einzustellen 
stand der Lichtstrahl auf dem Mittelpunkt des Displays.


3V
2V   ----- -----
1V   |   | |   |
--------------------------
1V       | |   | |
2V       | |   | |
3V       ---   ---

Das Signal hatte ich raus am direkten Ausgang

von Ben _. (burning_silicon)


Lesenswert?

wenn das ding nur LEDs schalten soll vergiss den tiefpass. erzeug dir 
eine PWM mit vielleicht 3khz, so daß man den wechsel nicht mehr sieht 
und jag das direkt auf den transistor. basis-vorwiderstand von 2-5K 
nicht vergessen sonst rauchts.

und schließ die oszi-masse richtig an! aus einem AVR kommt keine 
negative spannung!

von Predator (Gast)


Lesenswert?

Also ich hatte beim Oszi Dc nicht gedrückt. Sorry. Also ich habe jetzt 
mein Programm etwas umgemodelt. F = 3921hz T = 255µS hab ich 
zumindestens abgelesen (am Oszi). den vorwiderstand hab ich 4,7K 
gewählt,doch es passiert immer noch nichts! Die Vorwiderstände bei den 
Led's sind 220Ohm, müsste eigentlich schon fast zuviel sein aber wenn 
ich ohne Transistor ansteuere dann gehts und sie brennen auch nicht 
durch.Über UBE liegen jetzt schon 0,3V aber reicht ja immernoch nicht!

von roli (Gast)


Lesenswert?

Ich sehe das genau so wie Ben __ . Bei einer LED brauchst du keinen 
Tiefpass! 3 kHz sind für die Teile ja auch schon sehr hoch.

Ich dimme meine mit etwas über 200 Hz und im Normalfall sehe ich nichts 
flimmern oder flackern.

von Beginy (Gast)


Lesenswert?

..also Tiefpass ganz raus und vom PWM- Ausgang 4,7 k Ohm direkt auf die 
Bassis des BC 547 müßte funktionieren. An der Basis müßtest Du mit dem 
Oszi eine Rechteckspannung von ca. 0,7 V messen. Prüfe mal Deinen 
Transistor- Anschluß. Die 220 Ohm als LED Vorwiderstand sind o.k., gibt 
ca. 20 mA, vorausgesetzt Du betreibst die auch an 5 V.

von Predator (Gast)


Lesenswert?

So endlich ^^ Es läuft soweit bei 244hz, Vorwiderstand des Transistors = 
4,7K.
1
$regfile = "m16def.dat"
2
$crystal = 4000000
3
$baud = 9600
4
Dim W As Word
5
Config Timer1 = Pwm , Pwm = 10 , Compare A Pwm = Clear Up , Compare B Pwm = Clear Down , Prescale = 8
6
Compare1a = 127
Also ist das ganze Frequenz abhängig ?!?

Danke erstmal für die schnelle beantwortung

von Predator (Gast)


Lesenswert?

Kommando zurück ... Der Transistor ist Defekt

von limbo! (Gast)


Lesenswert?

Hm... komische Sache.

Eigentlich sollte der Transistor ein paar kHz locker schalten können!

Da du ja ein Oszi hast kannst du ja ohne weiteres schauen, welche 
Spannung an der Basis und welche dann am Kollektor anliegt. Die 
Kollektorspannung sollte um 180° Verschoben (weil wenn BE groß - dann CE 
klein), zwischen Ub und GND herum springen und auch als Rechteckspannung 
gut erkennbar sein.

Schaltung:

                      |+Ub
                      |
                     LED
                      |
--                    |C
 |    ------       |--
 |---|      |------|
 |    ------     B |--
 |      4,7k          |E
--                    |
                     _ GND

Grüße
Markus

von limbo! (Gast)


Lesenswert?

Predator schrieb: Kommando zurück ... Der Transistor ist Defekt

Alles klar...

Grüße
Markus

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.