Hallo zusammen Ich arbeite gerade an einem Projekt an dem ich 4 Brushlessmotoren ansteuern muss. Die drei Anschlüsse schalte ich mit Hilfe eines Schieberegisters oder Portselector und einem FET. Hat jemand eine Idee wie ich das Softwaretechnisch in C lösen kann. Die 4 Signale sollen immer ausgegeben werden. Es wird im AVR immer fortlaufend gerechnet wie die Motoren regeln müssen. Gruss Sandro
Ich glaube kaum, dass dir jemand bei der Informationslage wirkliche Hilfe anbieten kann. Ich verstehe noch nicht einmal, ob du gerade wirklich versuchst PWM in Software zu realisieren. Das ist i.d.R. nämlich eine schlechte Idee. Dafür gibt es die Timer/Counter mit den entsprechenden OCx Pins. Die Timer/Counter bieten hierfür extra den "phasenkorrekten" Modus an.
Last das mal mit den Motoren;) Sagen wir ich habe einfach ich brauche 4 Rechteck Signal von 0 bis 20kHz
Sandro schrieb: > Last das mal mit den Motoren;) Sagen wir ich habe einfach ich brauche 4 > Rechteck Signal von 0 bis 20kHz Und was spricht dann gegen die Verwendung der Timer/Counter? Wir wissen ja nicht welchen AVR du konkret einsetzt, aber die meisten bieten 2-3 Timer/Counter mit jeweils 2 PWM Ausgängen (A und B) an.
Grundsätzlich nichts;) http://www.mikrocontroller.net/articles/Soft-PWM Hier wird ja das ganze erklärt, aber wie kann ich jetzt die 4 Frequenzen bestimmen? Ich sage mal ich verwende ein ATmega32U4.
Oder gibt es in IC das man Serial ansprechen kann und das dann die Frequenz ausgibt?
Der AVR kann das in Hardware. Das hier sind die richtigen Artikel: http://www.mikrocontroller.net/articles/FAQ#Was_macht_ein_Timer.3F http://www.mikrocontroller.net/articles/AVR-GCC-Tutorial/Die_Timer_und_Z%C3%A4hler_des_AVR
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.