Werbung
Hallo semperit!Zitat von semperit
UNGETESTET:
Damit solltest du nicht nur PWM0A, sondern auch PWM0B (an PB1) zur Verfügung haben.Code:Config Timer0 = Pwm , Compare A Pwm = Clear Down , Compare B Pwm = Clear Down , Prescale = 64
mfg
Gerold
:-)
PS: Mit einer Taktfrequenz von 9,6 MHz und einem Prescaler von 1024, solltest du auf ca. 36,6 Hz PWM-Frequenz kommen.
9600000/1024/256 = 36,62109375
Um genau auf 25 Hz zu kommen, müsstest du den ATtiny13 extern mit 6553600 Hz takten. Dieser Takt müsste an PB3 angeschlossen werden. Das wird wohl nichts.
25 * 256 * 1024 = 6553600
.
für die einstellbare Frequenz habe ich eine Lösung gefunden
Nur regiert der µC nicht darauf wenn ich PB.2 auf Masse ziehe. Dann sollte das PWM Signal sich eigentlich ändern.Code:$regfile = "ATtiny13.dat" '$crystal = 4800000 Dim Hi As Byte Dim Lo As Byte Dim Phase As Bit Dim Get_break_signal As Bit Dim B As Byte Const Reload = 95 'um 24 Hz zu erzeugen 4,8Mhz/8/64 $hwstack = 10 'Eingefügt Weil die Standardvorgaben $swstack = 10 'für den Tiny13 zu $framesize = 20 'hoch sind. Ddrb = &B00000011 Portb = &B00000100 Lo = Reload - 13 Hi = Reload - Lo Phase = 1 Config Timer0 = Timer , Prescale = 8 On Timer0 Timer_isr Enable Timer0 Enable Interrupts Declare Function Get_break_signal() As Byte Do nop Loop Timer_isr: If Phase = 1 Then If Get_break_signal() = 1 Then Portb.0 = 1 Else Portb.0 = 0 End If Portb.1 = 0 Load Timer0 , Lo Phase = 0 Else If Get_break_signal() = 1 Then Portb.0 = 0 Else Portb.0 = 1 End If Portb.1 = 1 Load Timer0 , Hi Phase = 1 End If Return Function Get_break_signal() As Byte Local Bt As Byte For Bt = 1 To 3 If Portb.2 = 0 Then Get_break_signal = 0 Exit Function End If Next Bt Get_break_signal = 1 End Function
Hallo ihr Bremslichtbastler,
auch wenn das Thema schon 6 Jahre zurückliegt hab ich noch eine Frage dazu. Kann man die Schaltung auch so umbauen, dass es für das Bremslicht kein zweite 12 Volt Leitung benötigt wird? Ich habe mir vorgestellt, dass man ein zweite Masse dafür benutzt. Da könnte man einfach einen Bremslichtschalter nehmen der nur ein Kabel hat und die Masse schließt.
Viele Grüße
Lars
Grundsätzlich ist es möglich. Am einfachste wäre es wenn du einen "Hauptschalter" einbaust, der die Schaltung mit der Versorgung verbindet. Die beiden Schalter für Rücklicht und Bremslicht würde ich auf einen Eingang geben (z.B. PB3 Rücklicht, PB4 Bremslicht) und gegen Masse schalten. Du musst jedoch einen Pullup einbauen bzw einschalten. Das Programm musst du jedoch umschreiben. Ich würde mir auch noch Gedanken über die Stromversorgung machen (z.B. Schaltwandler), damit die Effizienz gesteigert wird.
MfG Hannes
Lesezeichen