- Labornetzteil AliExpress         
Seite 3 von 3 ErsteErste 123
Ergebnis 21 bis 26 von 26

Thema: "Config Servo" in Bascom - Warum so krumme Werte??

  1. #21
    Erfahrener Benutzer Roboter Genie Avatar von Willa
    Registriert seit
    26.10.2006
    Ort
    Bremen
    Alter
    44
    Beiträge
    1.273
    Anzeige

    Praxistest und DIY Projekte
    Vielleicht kann ich an dieser Stelle mal eben alle Interessierten aufs Wiki verweisen, denn ich habe einen Beitrag über das Ansteuern von Servos geschrieben:
    https://www.roboternetz.de/wissen/in...rvoansteuerung
    Sauerbruchs Code mag wunderbar funktionieren, für einige Anwendungen kommt er aber wegen dem Befehl "Waitms" nicht in Frage.
    Viele Grüße, William
    -> http://william.thielicke.org/

  2. #22
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    15.01.2007
    Ort
    Göttingen
    Beiträge
    706
    Klar sind Pausen von 2ms für Servoansteuerungen nicht akzeptabel. Zum Glück ist ja aber sofort zu erkennen, dass waitms2 in meinem Beispielcode nur dazu dient, die 2000 Abstufungen zwischen 1ms und 2ms Impulsdauer über 4 Sekunden durchlaufen zu lassen.

    Und ein schöner Artikel im Wiki, btw...

    Gruß et al.,

    Daniel

  3. #23
    Erfahrener Benutzer Roboter Genie Avatar von Willa
    Registriert seit
    26.10.2006
    Ort
    Bremen
    Alter
    44
    Beiträge
    1.273
    Lol, ich habe 20ms gelesen und nicht gesehen dass das nur zur soll-signal generierung dient.... Bei 20ms denkt man ja automatisch an die Servorefreshrate....
    Aber deine Ansteuerung läuft nur mit 30Hz? Geht das auch schneller...? Ich habe bei meinem Code einen ziemlichen Unterschied z.B. zwischen 80Hz und 20Hz Ansteuerungsrate festgestellt (Haltekraft)... Wieviele Servos kannst du mit dieser Methode ansteuern? Kannst ja den Wiki-Artikel noch erweitern, wäre ja schön wenn da mehrere Methoden vorgestellt werden. Dein Ansatz scheint ja nur sehr wenig Code zu benötigen.
    Viele Grüße, William
    -> http://william.thielicke.org/

  4. #24
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    14.12.2005
    Beiträge
    161
    ...und er erzeugt ein perfektes Signal am Oskar.... Die 30Hz stellten noch kein Problem dar. Mir wären 50 zwar auch lieber, aber man kann nicht alles haben... Mit 8Mhz müssten doch dann 60 Hz rauskommen wenn ich mich jetzt Gedanklich nicht komplett vertan habe, oder?

    Es gehen allerdings nur Servos am Compare1a, 1b und 2 (beim Mega da die durch die Timer-Hardware PWM gesteuert werden. Aber wie William schon bemerkt hat, ganz wenig Code ist nötig und schön einfach zu handeln.

    Gruß
    Markus

  5. #25
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    15.01.2007
    Ort
    Göttingen
    Beiträge
    706
    @ Markus:

    Exakt - bei 8MHz dürften es so etwa 60 Hz sein - und die Abstufung verfeinert sich auf 4000. Der Nachteil bleibt natürlich, dass in der Tat nur 2 1/2 Servos angesteuert werden können. Das halbe bezieht sich auf den Timer2, der zwar PWM-fähig ist, aber halt nur 8 Bit hat. Vielleicht reicht das ja für was "grobes"...

    @ Willa:

    Das war ja nur ein wenig über PWM - und darüber ist ja schon viel & gut im RN-Wiki geschrieben worden. Und so schöne Dinge wie softwareseitiges "durchschleifen" der Eingangsimpulse - das kann mein Codeschnipsel natürlich nicht. Sollte auch nur eine Art Beleg dafür sein, dass man die vollen 16 Bit des Timer1 für PWM ausnutzen kann...

    Bleibt bedeutsam,

    Daniel

  6. #26
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    14.12.2005
    Beiträge
    161
    @Daniel

    ohne Deinen Hinweis und Versuch wäre ich gar nicht auf die Idee gekommen, das man auch mit Bascom den Timer für PWM auf die vollen 16Bit bekommt. Wer weis für was wir/ich das noch gebrauchen werde.

    Eines ist mir aber schon klar geworden, öfters doch mal ins Datenblatt schauen und die Register evtl. gleich direkt per Hand setzten.....

    Also nochmals vielen Dank für den Hinweis!

    @Willa

    Ich habe gestern mal mit Deiner Variante gespielt. Auf Mega8 und 3,686400 Mhz umgeschrieben. Funktioniert auch sehr gut! Schön hier ist tatsächlich die "freie" Anzahl der Servos und der Anpassung der Periodenzeit. Habe es auf ca. 55 (1ms Impulslänge)Hz bzw. 49,5 Hz (2ms Impulslänge) laufen. Damit funktioniert fast alles im R/C-Bereich. Die Aktuelle Servoauflösung liegt hier bei 3686. Das reicht, glaube ich

    Ich werde Deine Lösung verwenden und weiter ausbauen.

    Vielen Dank dafür und Grüße

    Markus

Seite 3 von 3 ErsteErste 123

Berechtigungen

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

Solar Speicher und Akkus Tests