Konfusion bei #define Berechnung

Gast #2649236
Lesenswert?
• ▲
▼
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!

Antwort schreiben

Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt. Bitte hier nur auf die ursprüngliche Frage antworten, für neue Fragen einen neuen Beitrag erstellen.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.