Hey leute, ich hab an meinen AT90CAN128-Mikrocontroller eine LED mittels Transistor angeschlossen. Um zu testen ob die LED funktioniert, hab ich über den Programmiercode zunächst die Ports auf High gesetzt: while(1) { DDRB= 0xFF; PORTB |= (1<<5); } Ich wollte nun einmal die LED in verschiedenen Helligkeitsstufen dimmen und hätte dies gerne mit dem PWM Signal gemacht. In einem älteren Testcode habe ich eine PWM für die Ansteuerung eines Servomotors realisert. Mein AT90CAN wird über einen externen Quartz mit 16 MHz betrieben, der Programmiercode sieht folgendermaßen aus void SERVOPWM (void) { DDRB |= 0xFF; TCCR1A |= 1<<WGM11 | 1<<COM1A1 | 1<<COM0A0 ; TCCR1B |= 1<<WGM12 | 1<<WGM13 | 0<<CS10 | 1<<CS11; ICR1 = 39999; OCR1A = ICR1 - 35200; } Ich habe nun versucht den Code für meine LED-Ansteuerung zu verwenden, leider ohne Erfolg. Was muss ich hier beachten bzw. noch einstellen um verschiedene Helligkeitsstufen zu erreichen ?
G0_H4rd schrieb: > Hey leute, > > ich hab an meinen AT90CAN128-Mikrocontroller eine LED mittels Transistor > angeschlossen. wie, genau, hast du das gemacht? > Um zu testen ob die LED funktioniert, hab ich über den Programmiercode > zunächst die Ports auf High gesetzt: Mach mal den Gegentest, setz den Pin auf Low und sieh nach, ob die LED dann auch ausgeht. Eventuell könnte man auch mit einm langsamen Blinken testen, ob die Ansteuerung funktionert. > void SERVOPWM (void) > { > DDRB |= 0xFF; > TCCR1A |= 1<<WGM11 | 1<<COM1A1 | 1<<COM0A0 ; > TCCR1B |= 1<<WGM12 | 1<<WGM13 | 0<<CS10 | 1<<CS11; > ICR1 = 39999; > > OCR1A = ICR1 - 35200; > } > > Ich habe nun versucht den Code für meine LED-Ansteuerung zu verwenden, > leider ohne Erfolg. Was muss ich hier beachten bzw. noch einstellen um > verschiedene Helligkeitsstufen zu erreichen ? Wenn du die Funktion auch noch aufrufst, dann müsste das funktionieren. Dein OCR1A Wert ist allerdings in der Form, dass die LED sehr hell ist. Bei hellen LED kann man aber als Mensch die einzelnen Stufen kaum noch unterscheiden. Setz halt OCR1A mal auf 'halbe' Helligkeit. Das müsste deutlich zu sehen sein
1 | OCR1A = 20000; |
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.