Hallo
Ich Suche einen Atmega der bis zu 20mhz schaft bei mindestens 4Timern (mehr wären auch nicht schlecht wobei egal ob 8 oder 16bit).
Frage gibt es soetwas überhaupt?
lg manhunt
Hallo
Ich Suche einen Atmega der bis zu 20mhz schaft bei mindestens 4Timern (mehr wären auch nicht schlecht wobei egal ob 8 oder 16bit).
Frage gibt es soetwas überhaupt?
lg manhunt
Hab mal geschaut auf der Atmel Seite, es gibt wohl nur entweder
3 Timer mit 20 MHz oder
>3 Timer mit 16 MHz...
Wozu brauchst du die ganzen Zeitgeber überhaupt?
Wenn wirklich mehr als 3 Zeitgeber verwendet werden müssen, könntest du dir auch so eine Art "Zeitgeber Modifier" schreiben
Gedachte Funktionsweise:
Die Lib stellt den Timer immer auf den nächtst kürzesten Wert und löst dann den Aufruf dieser Methode auf.
Dann stellt er den Timerwert auf den nächsten Timer Wert ein, usw usw...
Hallo
Frage welche uC mit mehr als 3 Timern und 16 mhz hast du gefunden?
lg manhunt
Atmel stellt da eine hübsche Parametertabelle bereit
http://atmel.com/dyn/products/param_...&Direction=ASC
die habe ich auch lokal bei mir in der "was-ist-interessant+wichtig"-Directory.
Mehr als 3 Timer haben diese hier: AT90CAN128 Automotive, AT90CAN32 Automotive, AT90CAN64 Automotive, ATmega128, ATmega162, ATmega64, ATmega1280, ATmega1281, ATmega128RZAV, ATmega128RZBV, ATmega2560, ATmega2561, ATmega256RZAV, ATmega256RZBV, ATmega640 - aber eben alle 16 MHz. Die höher getakteten kannst Du ja selber aus der Tabelle rausklabüsern.Zitat von manhunt
Ciao sagt der JoeamBerg
Hallo
Danke nach so einer Tabelle habe ich gesucht.
Um die Frage zu beantworten warum ich so viele Zeitnehmer brauche.
Also ich habe 2x Servo per Hardware PWM, 1xfür Messdaten Erfassen, 1xZeitmessung...
lg manhunt
Hallo manhunt,
ich würde die Servos dann eher über einen Timer bzw. ISR steuern. Du brauchst nicht für jeden Servo je einen Timer.
Wenn du es aber so machen möchtest gibts vielleicht eine Möglichkeit die Zeitmessung mit der Messdatenerfassung zu koppeln? Dann machst du halt die Erfassung der Messdaten abhängig von der Zeitmessung.
Gruß MeckPommER
Mein Hexapod im Detail auf www.vreal.de
Dafür reicht 1 TImer. Die unterschiedlichen PwM-Rampen werden dann, beispielsweise mit OCR1A und OCR1B gemacht - so laufen auch meine Motoren mit EINEM TImer und trotzdem unterschiedlichen PwM-Rampen.Zitat von manhunt
Ich hatte mir einen 50µs-Interrupt gemacht, der eine uint16_t-Variable hochzählt bis max. etwa 60000, das wären dann 3 sek. Diese Zeitmarke ist für allerlei nutzbar.Zitat von manhunt
Zum Beispiel habe ich meine Encoder auf extINT0 und ~1 gelegt, lese dort die o.g. Zeitmarke aus und verarbeite auch den möglichen Überlauf.Zitat von manhunt
Bei meinem Dottie habe ich aktuell 2 Motor-PWMs an Timer0 hängen, getrennt regelbar natürlich, das Signal nutze ich ausserdem für einen entsprechenden Takt für meine Entfernungsmessung, meine irLED mit 36 kH läuft auf Timer1, und Timer2 macht mir den erwähnten 50µs-Takt. Ausserdem bediene ich in der ISR vom Timer2 noch die Rampe für den 5ervo, auf dem mein Sharp hängt (am Strohhalm *ggggg*). Blos nicht die Übersicht verlieren *gggggggg*.
Ciao sagt der JoeamBerg
Hallo
Ihr habt ja recht.
oberallgeier könnte ich dich später mal per icq oder sonstigem chat mal ein bischen was zum correct phase mod fragen?
lg manhunt
Du kannst doch auch hier fragen.
Es gibt schon Anwendungen auf einem AVR, wo 12 oder mehr Servos mit einem Timer gesteuert werden - dann eben in Software. Such mal im Forum danach.
Im Prinzip ja, aber als alter Mann habe (brauche) ich doch kein icq *schnief* . Ich bin ja schon froh, dass bis zu mir an den Waldrand das DSL (noch) läuft - mit Datenraten die an frühere digitale Licht-Datenübertragungsstrecken (Rauchzeichen) erinnern. Deine Fragen sind sicher hier in aller Öffentlichkeit zu klären. Dein Vorteil ist ja, dass da auch geübtere PwMmer helfen können.Zitat von manhunt
Ausserdem habe ich Dir doch in Deinem 5ervo-PwM-Thread (m)eine komplette Codesammlung dazu gegeben. Meine Kommentare zusammen mit Seitenangaben vom ATmel-doc sollten doch reichen!?
Ciao sagt der JoeamBerg
Lesezeichen