- 12V Akku mit 280 Ah bauen         
Ergebnis 1 bis 10 von 17

Thema: Atmega168 Timer initialisieren und an/aus-schalten

Baum-Darstellung

Vorheriger Beitrag Vorheriger Beitrag   Nächster Beitrag Nächster Beitrag
  1. #8
    Erfahrener Benutzer Robotik Visionär Avatar von oberallgeier
    Registriert seit
    01.09.2007
    Ort
    Oberallgäu
    Beiträge
    8.694
    Zitat Zitat von erik_wolfram Beitrag anzeigen
    ... Ich weis, dass 3 Timer eigentlich zu wenig für diese Aufgabe ist ...
    Kannst Du mir bitte erklären, wieso Du weißt, dass drei Timer für diese Aufgabe zu wenig sind ? ? ?

    Schau Dir doch bitte da oben an, wie ich meine Lösung für 10 Servos gemacht habe. Auf einem (E I N E M) Timer, bei dem ich beide Output Compare Units von Timer1 benutze. Eine als Takt für den sequentiellen Servopuls und einen für die tatsächliche Pulslänge in dem gerade aktuellen Pulsabschnitt. Ausrüstung: mega328/20 MHz, clk/64 => 312 500 Hz, OCR1A = 6250 => alle 20 ms ein Interrupt. Das geht bei mir mit 10 mal OCR1A = 800. Ergibt 25,6 ms - hab ich schon erfolgreich getestet. Nutzbar sind bei mir Pulse - gesteuert durch OCR1B zwischen 780 und 120, dann gehts bis in die Anschläge. Die Pulse werden in der ISR der Output Compare Unit A gestartet. Für einen 90° Schwenk brauche ich bei meinen Servos und der genannten Controllereinstellung ziemlich genau ne OCR1B-Differenz von 300. Oberer OCR1B-Wert bei einem 90°-Schenk wären also 120+300, mindestens 420. WENN ich zwölf Servos bräuchte, dürfte ich also 1/12tel als Takt nehmen . Andersrum - der 90°-Schwenk würde nicht mal an die Grenze der Funktion meiner Servos gehen.

    Viele Servos kommen ohne Störung mit mehr als 20 ms Periodenzeit aus, dies ist ein allgemein verbreitetes Statement. Nachteil: ich habe es eben NICHT an allen, sogar nur an gaaanz wenigen Servos getestet. Die eben genannte Controllereinstellung macht eine Periodendauer von satten 25 ms. Wie gesagt, bei mir läufts.

    Zitat Zitat von erik_wolfram Beitrag anzeigen
    ... Ich weis, dass 3 Timer eigentlich zu wenig für diese Aufgabe ist ...
    Ich meine eben, dass bei Deinen zwei Timern schon einer zuviel beschäftigt wird.

    Nachträge: wenn Dir die 300 Ticks für 90° eine zu grobe Auflösung bieten, kannst Du auch bei 20 MHz mit clk/8 fahren - dann wird für OCR1A 50000 fällig - gibt auch 20 ms. Für OCR1B gäbs dann wieder das Zwölftel *ggg*, und diese Auflösung kann wohl kein handelsübliche Modellbauservo bieten.

    Ach so, ich hoffe Dir ist klar, dass dies alles auch für den m168 gilt. Für andere Quarze musst Du eben selber rechnen.
    Geändert von oberallgeier (08.01.2013 um 23:45 Uhr) Grund: Nachtrag geschrieben
    Ciao sagt der JoeamBerg

Ähnliche Themen

  1. LED an und aus schalten
    Von Lightstorm im Forum C - Programmierung (GCC u.a.)
    Antworten: 23
    Letzter Beitrag: 12.03.2010, 10:49
  2. Timer 2 als PWM bei Atmega168
    Von timmy83 im Forum Basic-Programmierung (Bascom-Compiler)
    Antworten: 3
    Letzter Beitrag: 23.03.2008, 16:49
  3. Über USB einfach ein und aus schalten
    Von Forchtenauer im Forum PC-, Pocket PC, Tablet PC, Smartphone oder Notebook
    Antworten: 8
    Letzter Beitrag: 10.03.2008, 23:59
  4. Timer und PWM im Tiny25 initialisieren ?
    Von grumpf im Forum C - Programmierung (GCC u.a.)
    Antworten: 6
    Letzter Beitrag: 27.01.2008, 19:58
  5. Problem mit Timer und Atmega168
    Von applican im Forum C - Programmierung (GCC u.a.)
    Antworten: 3
    Letzter Beitrag: 26.07.2007, 01:25

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •  

Solar Speicher und Akkus Tests