hallo an alle! Ich hoffe mir kann jemand helfen bei folgendem Problem. Aufhänger ist eine Software basierte Servoansteuerung, die ich gerade mache. Dabei benutze ich den Timer1 vom mega644, stelle mit ocr die Zeit ein zu der das Steuersignal zurückgenommen werden muss. Dabei kann ja einigermaßen Problemlos alles auf mehrere Kanäle erweitert werden - sonst würde ich den pwm pin benutzen. Klappt auch, die Frage an der ich hänge ist folgendes: Wenn ich die gewünschten Zeiten per Hand ausrechne ist alles gut, aber da ich das Servo Timing nicht genau weiß und komfortablerweise die Zeiten per define angebe, habe ich ein Brett vorm Kopf. z.B. Zeiten in us #define T_MIN 600 #define T_MAX 1200 #define T_DEAD 8000 #define COUNT_MIN T_MIN*F_CPU/8000000 Ich möchte jetzt das Servo Signal in 8 bit angeben: 0 entspricht minimaler Stellung, also T_MIN und 255 Maximaler Stellung. 127 Mittelstellung Dann wäre also pro bit PWM Signal die Zeit im ocr einzustellen: COUNT_MIN + PWM_VALUE*(T_MAX-T_MIN)*F_CPU/255/8000000 pro bit 5.88 us. nur wie gehe ich da mit den Kommas um? Werden die nicht einfach abgeschnitten und ich gehe mit 5 us ins rennen? Damit liegt man ja totasl daneben. Ich hoffe die Frage erklärt zu haben und ihr könnt mir erklären wie ich sowas #define technisch in den Griff kriege. Über T_MIN, T_MAX und T_DEAD in Verbindung mit einem U8 pwm_val. schönen Dank!
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.