- 3D-Druck Einstieg und Tipps         
Seite 2 von 3 ErsteErste 123 LetzteLetzte
Ergebnis 11 bis 20 von 24

Thema: wie viel Servos kann ich ansteuern

  1. #11
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    24.04.2005
    Ort
    Bayern
    Alter
    38
    Beiträge
    336
    Anzeige

    Praxistest und DIY Projekte
    geht das mit Basic nicht irgend wie? Oder Bascom, was isn das? Da solls ja schon Befehle für Servos geben.

  2. #12
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    18.03.2004
    Beiträge
    111
    SIGNAL(SIG_OVERFLOW0) { //alle 1ms aufgerufen
    TCNT0 = 131; //Zaehler wieder vorladen

    if (count < (WIEDERHOLRATE-1)) { //sofort zurueck
    count++;
    return;
    }

    if (count == (WIEDERHOLRATE-1)) { //Servogrundpuls 1ms
    PORTD |= 0xec; //Pins D2-7 an, 0,1,4 lassen
    count++;
    return;
    }

    if (count == WIEDERHOLRATE) { //Servopulse 0...1ms
    for (i = 0; i <= 254; i++) {

    if (servo1 == i) //Servopin LOW
    PORTD &= ~( 1<<PD2 );

    if (servo2 == i)
    PORTD &= ~( 1<<PD3 );

    if (servo3 == i)
    PORTD &= ~( 1<<PD5 );

    if (servo4 == i)
    PORTD &= ~( 1<<PD6 );

    if (servo5 == i)
    PORTD &= ~( 1<<PD7 );

    /* for (w=0; w<= WAIT; w++){
    asm volatile ("nop");
    } */
    }

    PORTD &= 0x13; //Alle Servopins LOW

    count= 0;
    return;
    }

  3. #13
    Neuer Benutzer
    Registriert seit
    02.05.2005
    Ort
    Kaufbeuren
    Alter
    47
    Beiträge
    1
    Hallo Leute,

    jetzt schaltet mal nen Gang runter. Ich finde es persönlich recht schade, daß es zwischen Produzenten und Endanwendern immer so kracht. Ich bin glücklicherweise beides...

    Und immer dran denken: Wenn niemand, der an der Herstellung und dem Verkauf etwas verdienen würde, hätte keiner Bock, sich den Vertrieb für sowas anzutun. Und dann gäbe es keine AVRs für €2,75 und dann könntest Du, lieber Starchild dir deinen AVR auf einer Lochrasterplatine aufbauen....;->

    Zur Frage mit der Ansteuerung.
    Wenn man noch keine große Erfahrung mit Servos hat, und sich diese auch nicht aneignen möchte, ist mit einem möglichst weit vorgefertigtem System sicher am Besten beraten.
    Ich würde dafür einfach mal im Archiv der Elektor etwas herumstöbern.

    Für einfache Anwendungen sind auch die Bausätze bei Conrad nicht schlecht...

    Dann kommt es immer auf die Anwendung an. Ich habe auch schon eine Servoansteuerung für einen Motorenprüfstand, man mag es nicht glauben, ganz ohne uC realisiert.

    Die Atmel Serie setzen wir auch sehr häufig ein.

    Doch zum AVR muß man ganz klar sagen. Ohne Ahnung vom Programmieren- keine Chance. Denn schließlich sollen die Servos ja nicht nur angesteuert werden, sondern auch eine gewisse Funktionalität erfüllen. Welcher uC der bessere ist kommt auf die Anwendung und eigene Erfahrung an.
    Was möchtest du denn machen?

  4. #14
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    04.11.2003
    Ort
    Dresden
    Alter
    60
    Beiträge
    409
    Hallo Starchild,

    eigentlich wollte ich in dem Thread nichts mehr schreiben, weil ich nichts davon habe, wenn das hier weiter eskaliert. Ich habe keinen angegriffen, dennoch habe ich ein Interesse daran, dass die von mir vertriebenen Produkte nicht mit fadenscheinigen Argumenten schlecht gemacht werden.

    Mit deinem Programmstück können wirklich nur AVR-Insider etwas anfangen, soviel steht fest.
    Wie dem auch sei, ich habe es mal interessehalber getestet (12 Servos, Mega8, 16MHz, TCNT0=6, TCCR0=CK64, WAIT=3). Das Ergebnis ist gut (kaum Jitter), solange der Controller nichts anderes macht. Kommen Kommunikationsroutinen (andere Interrupts) hinzu, wird's Brühe.
    Mal ganz abgesehen davon, dass es wirklich vollkommen daneben ist, in einer Interruptroutine bis zu 1ms in irgendwelchen Schleifen rumzuhängen. Das nur zum Zitat von weiter oben: "schlecht programmiert".

    Auch evtl. schon mal überlegt was passiert, wenn alle Servos (oben stand mal was von bis zu 30 Stück) mit einem Schlag loslaufen? Ein gutes (leistungsstarkes) Servo, wie man es für einen Läufer verwendet hat einen Anlaufstrom von gut 1A. Das ist beim SD20 nun wiederum kein Thema, weil die Servos nacheinander angesteuert werden, beim SD21 (21Kanäle) werden immer nur 3 Servos gleichzeitig bedient.
    Auch bietet der SD20 eine komfortable Dehnung des Bereiches (extended Mode, zur Anpassung des Drehbereiches der Servos) wo man die resultierende Pulszeit mit einer einfachen Formel bestimmen kann. Das vermisse ich hier. Kann man natürlich durch eine Programmänderung auch hinkriegen, das entsprechende Wissen vorausgesetzt.

    Nicht falsch verstehen. Es gibt sehr gute Alternativen zu den verbreiteten Servocontrollern. Man kann die Funktionalität unter gewissen Voraussetzungen bei vielen Controllern gut mit in das Programm integrieren. Verschiedene Compiler (E-Lab, BASCOM) aber z.B. auch die PICAXE bieten entsprechende Funktionen mit an. Aus gutem Grund sind diese "fertigen" Funktionen zumeist aber auch auf 8 Servos begrenzt.

    Dein Programm ist ein Ansatz, daraus lässt sich was brauchbares machen, mehr nicht.

    @pm: ich gebe dir vollkommen Recht.


    Viele Grüße
    Jörg

  5. #15
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    18.03.2004
    Beiträge
    111
    Ich weis ja das es nicht die Ideallösung ist, aber für meinen Zweck funktioniert es wunderbar.
    Es gibt auch mit bidirektionaler UART-kommunikation, 6x AD - Wandlung und 3 PWM Ausgängen bei mir keinerlei Störungen, da der Timer/Counter Überlaufinterrupt nach Reset und den externen Interrupts die höchste Priorität hat. Alle anderen Interruptroutinen sind extrem kurz (Auswertung in Mainloop)
    Der Vorteil meines Systemes ist, das der Controller eben noch in 19 von 20ms etwas anderes erledigen kann und das auch macht.
    Das mit dem Anlaufstrom könnte schon stimmen, ist bei mir mit 5 starken Ruderservos aber noch nie aufgetreten.

  6. #16
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    24.04.2005
    Ort
    Bayern
    Alter
    38
    Beiträge
    336
    ich möchte mit den Servos so eine Art Arm ansteuern. Ich habe mir jetzt auch ein Buch bestellt "programmieren der AVR...". ich hoffe, dass das mir ein wenig weiter hilft. Ist der amega8 dann ein guter Einstieg oder was meint ihr?

  7. #17
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    24.04.2005
    Ort
    Bayern
    Alter
    38
    Beiträge
    336
    ich habe nun schon 6 Servos direkt am Atmega angeschlossen und das funktioniert super. werde nun weitere 6 Servos anschließen. denke dass das auch keine Probleme gibt. ich verstehe nur nicht warum es dann solche Servocontroller gibt.

  8. #18
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    18.03.2004
    Beiträge
    111
    Ich auch nicht.
    Unflexibel und / oder teuer

  9. #19
    Super-Moderator Lebende Robotik Legende Avatar von Manf
    Registriert seit
    30.01.2004
    Ort
    München
    Alter
    71
    Beiträge
    13.075
    Zitat Zitat von Starchild
    Ich auch nicht.
    Unflexibel und / oder teuer
    Es gibt ja genug Gelegenheit eigene Lösungen positiv darzustellen. Nun zieh' doch nicht ewig über das andere her, das provoziert doch nur eine Diskussion die dann mühsam gelöscht werden muß, weil hier der technische Teil des Forums ist.
    Manfred

  10. #20
    Gast
    Wenn's unbedingt so viele Servo's sein sollen, dann verteil doch die Rechenarbeit auf mehrere Controller (der übersicht halber). Einer dient ausschließlich der Datenkommunikation zwischen dem Hauptrechner (PC???) und den anderen Controllern die sich mit der Bewegung der Servos beschäftigen. Und damit die Sache richtig spaß macht und die Servo steuernden Controller auch was zu tun haben könntest Du doch für jeden Servo einen Closed Loop aufbauen um immer zu wissen wo sich die Ruderhörner wirklich befinden. Ob man nun einen µC mehr oder weniger braucht dürfte bei Hobbyanwendungen doch wohl kaum eine Rolle spielen.
    Ausserdem sollten sich auf diese Weise Fehler in der Programmierung deutlich schneller auffinden lassen. Im Multiplexverfahren (Servos werden nacheinander angesteuert) lassen sich ohne weiteres 8 Servos an einen µC anschließen so lange er entsprechend viele Ausgänge besitzt.
    @Starchild: Da Du ja auf dem aktuellen Stand der Dinge bist wollte ich nur noch erwähnen das der Controller auch bei einer Multiplexansteuerung der Servos den größten Teil der Zeit mit nichtstun verschwenden und dabei keine 6 PWM-Kanäle braucht. Hier spielen aber andere Sachen eine größere Rolle. Aber wir wissen ja nun das Du es besser kannst...

    mfG der Anmeldefaule E-Fan

Seite 2 von 3 ErsteErste 123 LetzteLetzte

Berechtigungen

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

Solar Speicher und Akkus Tests