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

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.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.