1/1023 duty cycle noch zu hell

Gast #2349199
Lesenswert?

Hallo,

ich habe mit dem PIC16F716 eine PWM einprogrammiert aufgebaut, der eine 
7-Segment-Anzeige dimmt.

Ich betreibe den PIC mit 4.194304MHz, und die interne 10Bit PWM ist auf 
die höchste Auflösung eingestellt (Obergrenze Timer2 = 255).

Leider ist auf der untersten Stufe
1
CCPR1L = 0; DC1B0 = 1; DC1B1 = 0;
was einem Wert von 1 entspricht bei einem Maximalwert von 1023 die 
Anzeige immer noch zu hell um in einem dunklen Raum verwendet zu werden 
(Wecker).

Was kann ich tun? Hoier noch mein gesamter Initialisierungs-Code für die 
PWM des PIC16F716:
1
  // *****
2
  // PWM settings
3

4
  // enable PWM mode
5
  CCP1M0 = 0;
6
  CCP1M1 = 0;
7
  CCP1M2 = 1;
8
  CCP1M3 = 1;
9

10
  // only RB3 as an output, all other pins as digital IOs
11
  P1M0 = 0;
12
  P1M1 = 0;
13
  
14
  // PWM duty cycle
15

16
  // (two LSB of 10 Bit value)
17
  DC1B0 = 0;
18
  DC1B1 = 0;
19

20
  // (eight MSB of 10 Bit value)
21
  CCPR1L = 0;
22

23
  // upper limit of Timer2
24
  PR2 = 0xff;
25

26
  // set prescaler of Timer2 to 1:1
27
  T2CKPS0 = 0;
28
  T2CKPS1 = 0;
29

30
  // turn it on
31
  TMR2ON = 1;

Gruß
Jens
Moderator (Firma: Titel) Persönliche Seite #2349226
Lesenswert?

Jens schrieb:
> Leider ist auf der untersten StufeCCPR1L = 0; DC1B0 = 1; DC1B1 = 0;was einem 
Wert von 1 entspricht bei einem Maximalwert von 1023 die
> Anzeige immer noch zu hell um in einem dunklen Raum verwendet zu werden
> (Wecker).
Hast du mal nachgemessen, ob du auch tatsächlich 1:1023 multiplext? 
Oder evtl. dein Schalttransistor langsam abschaltet...
Gast #2349376
Lesenswert?

Hallo, danke für eure Antworten. Die DC ist schon so OK, schon oft 
angewendet. Ich würde eben die größeren Vorwiderstände gerne vermeiden, 
weil ich das ganze schon aufgebaut habe, dem Beschenkten die LEDs aber 
etwas zu hell in der niedrigsten Stufe sind. Ich würde ungerne die 
Platine neu aufbauen.. Daher dachte ich, es gibt vielleicht einen netten 
Trick oder so.

Gruß
Jens
Gast #2349378
Lesenswert?

Jens schrieb:
> Daher dachte ich, es gibt vielleicht einen netten
> Trick oder so.

Wenn die PWM schnell genug ist, kannst du ja noch eine langsame 
Software-PWM draufsetzen, indem du einen Zähler mitlaufen läßt und nur 
ab und zu einen der PWM-Pulse zur Anzeige durchläßt

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren