Hallo Hannes,
es ist wirklich so, es gibt bei Empfängern große Unterschiede und das teilweise auch bei gleichen Herstellern.
Wenn man einen Empfänger mit den z. B. typichen 4,8V betreibt, gibt es keine Garantie das an einem Servoausgang auf der Impulsleitung auch 4,8V anliegen.
Ganz klar, das läßt sich nur mit dem Oszi messen.
Ich hatte schon Schaltungen aus dem Internet nachgebaut, an einem Servotester haben diese dann funktioniert und an einem Empfänger nicht.
Seit dem bau ich mir einen Tansistor davor, den bekommt man immer noch unter und es funktioniert zuverlässiger.
@Daniel
Ok das mit dem Überlauf hab ich verstandenIch bin es nur nicht gewohnt, ich programmier in 16 Bit Systemen da findet ein Byte nicht so die Verwendung und mit der Variable WORD läßt sich nur beschränkt rechnen. Und Integers sind vorzeichenbehaftet.
Manchmal kann die Lösung doch so einfach sein
Ich habe bisher nur ganz kleine Sachen selbst gemacht. Wie ist das mit den Interrupts. Ich möchte den Int0 verwenden mehr hat der Tiny eh nicht. Das ist Pin B.1 ok wie genau funktioniert das? Springt der bei jedem Flankenwechsel in die ISR routine und bearbeitet diese genau einmal?
Also sowohl bei steigender als auch bei fallender Flanke?
Ich bin übersa Wochenende nicht zuhause und komme mal wieder nicht zum testen.
Aber könnte das so funktionieren? Wenn die Routine Zaehlung bei Int0 ausgelößt wird.
Zaehlung:
If Pinb.1 = 0 Then Signal_alt = Timer0 Else Signal_neu = Timer0
Return
Soweit ok den Timer Konfiguriere ich dann auch also nur als "Config Timer0 = Timer ; Prescaler 8"
Das heißt ich kann dann um ne PWM zu erzeugen einen vergleichswert nehmen, beim erreichen den Ausgang einschalten und wenn der Timer überläuft den Ausgang wieder auf null setzen. Das kommt dann im Endeffekt diesem Fast-PWM Mode ungefähr gleich.
Da hab ich jetzt ja mal ne paar anhaltspunkte.
Vielen Dank euch bis hierher schon mal
Lesezeichen