Also irgendwie komme ich nicht weiter.
Habe den ganzen Tag rumexperimentiert mit bescheidenem Ergebnis.
Ich habe jetzt einen Servotester vom Conrad als Empfängerersatz genommen, dieser bringt einen 1 -2 ms Sekunden langen Impuls raus aber nur mit 3 V. Deswegen hab ich wie bereits erwähnt einen kleinen Transistor davor gebaut der mir den PinB.1 auf GND zieht und hab den internen Pullup aktivierten. An PortB.0 hängt eine LED gegen GND.
Ich habe jetzt folgendes Problem, die LED leuchtet immer schwach. Warum auch immer ist der Ausgang für 1ms an und dann 6ms aus wo das auch immer her kommt. Wenn ich den Servotester verstelle, gibt es irgendwo einen Punkt da wird die LED heller aber flackert manchmal und manchmal auch nicht. Ich kann es nicht nachvollziehen.
Das hier hab ich jetzt mal zusammen geschrieben:
$regfile = "attiny13a.dat" 'Attiny 13a
$crystal = 4800000 'Attiny @ 4,8 Mhz
$hwstack = 26 'HardwareStack
$swstack = 20 'SoftwareStack
$framesize = 10 'Framesize
'$baud = 4800
Config Portb.0 = Output 'Schaltausgang für LED an B.0
Config Pinb.1 = Input 'Anschluss am Empfänger B.2
Portb.1 = 1 'Pullupwiderstand einschalten
Config Timer0 = Timer , Prescale = 64 'Timer0 als Timer mit prescaler 64 laufen lassen
Config Int0 = Change
Enable Interrupts 'generell Interrupts Zulassen
Enable Int0 'Int0 freigeben
On Int0 Zaehlung 'Zaehlung Routine anspringen bei Signalwechsel an Int0
Dim Signal_alt As Byte 'Variable für die Empfänger Impulsbreite
Dim Signal_neu As Byte
Dim Signal As Byte
Wait 1 'einfach Mal Abwarten
Do 'Start Hauptschleife
Signal = Signal_alt - Signal_neu
If Signal >= 120 Then Portb.0 = 1 Else Portb.0 = 0
Loop
Zaehlung:
If Pinb.0 = 0 Then Signal_alt = Timer0 Else Signal_neu = Timer0
Return
Ziel soll erst mal sein die Impulslänge zu messen.
Eine PWM zu erzeugen hab ich geschafft ist aber hier nicht mehr mit drin, wollte vermeiden das es irgendwie daran liegt.
Wenn einer eine Idee hat, bin für alles Dankbar
Lesezeichen