- Akku Tests und Balkonkraftwerk Speicher         
Ergebnis 1 bis 10 von 22

Thema: Servo 180 Grad drehen

Hybrid-Darstellung

Vorheriger Beitrag Vorheriger Beitrag   Nächster Beitrag Nächster Beitrag
  1. #1
    Erfahrener Benutzer Roboter-Spezialist Avatar von RolfD
    Registriert seit
    07.02.2011
    Beiträge
    414
    Hallo Globi,
    es tut mir ja leid, das ich dich mehr oder weniger offen kritisiere aber ich sehe von Dir in erster Linie Aktionismus aber wenig Fakten. Und das Problem haben wohl alle, die Dir helfen wollen. Zum anderen hat sich dein "Problem" scheinbar von einer fehlenden Klammer o.ä. hin zu einem komplexen Thema verschoben - und alles ohne das DU auch nur eine Zeile Code postest. Ich hab versucht Dir zu erklären, das es für eine Diagnose wichtig ist, genaue Angaben zu haben und man muss Dir immer noch alles an Infos einzeln aus der Nase ziehen... das ist weder angemessen noch hilfreich. Für uns nicht.. und damit für dich nicht. Das ist schlicht und einfach ignorant von Dir.

    Du kannst davon ausgehen, das weder die Libs noch der Compiler irgendwelche Dich tangierenden Probleme haben - versuch also nicht an Baustellen zu stricken die keine sind. Poste den Code so wie du denkst das er laufen sollte - z.B. ggf. mit Dirks Servocode - dann die genauen Fehlermeldungen incl. Zeilennr. oder ggf. das ganze Projekt als zip und dann kann man weiter schauen. Alles andere ist Kaffesatzleserei.. und das seid dem ersten Post zum Thema. Und erwarte bitte nicht, das hier einer deine Programme schreibt, wir können Dir aufs Pferd helfen was wir auch gerne tuen, aber reiten musst du schon selbst. Dazu gehört auch, das man sich informiert, wie ein Servo angesteuert wird, was PWM ist, wie man PWM Impulse generieren kann und letztlich ausgibt. Erst dann bist du selbst nämlich in der Lage, solche Probleme auch zu beheben und sinnvolle Änderungen vor zu nehmen. Das Forum wie auch das Wiki hält reichlich Wissen dazu vor, das Dir fehlt. Ändere das. Das ist learning by doing... nicht andere Programme abschreiben!
    Schau Dir nur einfach mal deinen letzten Post an - da steht absolut nichts, was aktuell an welcher Stelle wie schief läuft. Wie soll man da bitte helfen? Du bist sicher nicht zu doof dafür, aber zu oberflächlich, zu ungenau, zu hektisch, kommunikativ eine Katastrophe und zu wenig am Weg zum Ziel als am Ziel selbst interssiert. Dirks Servolib (und viele andere Ansätze) funktionieren. Das ist ein Fakt, den Du nicht mit "geht nicht" mal so eben aus der hohlen Hand negieren kannst nur weil dein Servo sich nicht rührt oder dein Compiler sich wegen Trennzeichen beschwert. Radbruch hat oben auch schon Fehlerquellen aufgezeigt, auf die Du noch nicht eingegangen bist.
    Sorry ... aber wenn Du Erfolg suchst, dann geh bitte den Weg mit dem andere auch Erfolg haben. Schritt für Schritt. Das fängt bei deiner eigenen Information zum Thema an und geht bis hin zu eindeutig kommunizierten Problemstellungen hier.. und nicht allein mit einer Stichwortliste was Du alles geändert hast! Denn darunter können wir uns genau 0 vorstellen.
    Hier sitzen min. 3 erfahrene Leute im Thread, die Dir helfen möchten aber Dank deiner magelhaften Angaben nicht können. Und dies ist nicht der erste Post, der dich explizit und deutlich darauf hinweist. Bedenke dies bei deinem nächsten Post bitte.

    Manchmal hat man eben so Fälle, wo Leute Supportresistent sind. Vielleicht überlegst du mal, welche Infos DU bräuchtest, um so ein Problem bei jemand anderem zu lösen - mal abgesehen von einer "Fixundfertig"-Lösung die du schon aus Prinzip hier nach der Vorgeschichte hoffentlich nicht bekommst.
    LG Rolf
    Geändert von RolfD (30.03.2011 um 01:09 Uhr)
    Sind Sie auch ambivalent?

  2. #2
    Erfahrener Benutzer Robotik Einstein Avatar von Dirk
    Registriert seit
    30.04.2004
    Ort
    NRW
    Beiträge
    3.803
    @Globi:
    Ich habe eine neue Base "...\RP6Lib\RP6baseservo\ mit RP6BaseServoLib.h & *.c
    Wenn du die Servos mit meiner Lib (Link in 29.3., 18:34 siehe oben!) ansteuern willst, geht das nur mit den Original-Libs des RP6, denn dafür sind sie geschrieben.

    Wie gesagt: Poste mal dein Programm und die veränderten Libs.

    Grundsätzlich ist es nicht gut, viele Dinge gleichzeitig zu verändern (andere Libs, neues Programm, unbekannte Programmteile von anderen Leuten ...). Bleib am besten erst bei den Original-Libs, bis du das alles besser verstehst.
    Gruß
    Dirk

  3. #3
    Neuer Benutzer Öfters hier
    Registriert seit
    28.03.2011
    Beiträge
    8
    Hallo alle miteinander,
    nun habe ich es endlich geschaft (nach eingehender Literatur) und fachkundiger anleitung in etwa 13 Forumsbeiträge
    Die Ansteuerung von Port ADC0 läuft ja über DDRA |= 1; und in der Positionsbestimmung PORTA |= 1; .
    Mein Programm:
    Code:
    #include "RP6RobotBaseLib.h"
    
    uint8_t i;
    int main(void)
    {
       initRobotBase(); 
       DDRA |= 1; 
    
       while(true)
       {
          for(i=0;i<100; i++)
          {
             PORTA |= 1;
             sleep(5);
             PORTA &= ~1;
             sleep(200-5);
          }
    	  for(i=0;i<100; i++)
          {
             PORTA |= 1;
             sleep(15);
             PORTA &= ~1;
             sleep(200-15);
          }
          for(i=0;i<100; i++)
          {
             PORTA |= 1;
             sleep(25);
             PORTA &= ~1;
             sleep(200-25);
          }
    	  for(i=0;i<100; i++)
          {
             PORTA |= 1;
             sleep(15);
             PORTA &= ~1;
             sleep(200-15);
          }
       }
       return(0);
    }
    Nun meine Frage: wie kann ich den ADC1 Port ansteuern?
    Ich habe keine brauchbaren Infos gefunden wie ich den Port 1 ansteuern kann.
    könnte mir vieleicht jemand helfen?
    danke

  4. #4
    Erfahrener Benutzer Roboter-Spezialist Avatar von RolfD
    Registriert seit
    07.02.2011
    Beiträge
    414
    ADC1 ist ein normaler Port pin und definiert in RP6RobotBase.h

    #define ADC1 (1 << PINA1) // ADC1 (Input)

    Folglich kannst Du den als Port steuern wie auch deine anderen Portleitungen.

    Details zum ADC findest Du im Datenblatt des Prozessors, welche auf der RP6 CD zu finden ist.

    Und da ich nicht nur meckere, lobe ich nun doch mal das du am Thema dran bleibst.
    LG Rolf
    Sind Sie auch ambivalent?

  5. #5
    Moderator Robotik Visionär Avatar von radbruch
    Registriert seit
    27.12.2006
    Ort
    Stuttgart
    Alter
    62
    Beiträge
    5.799
    Blog-Einträge
    8
    Sensationell, Glückwunsch zum Erfolg :)

    ADC1 ist der zweite Portpin und wird mit

    DDRA |= 2; // Datenrichtung Ausgang
    PORTA |= 2; // high
    PORTA &= ~2; // low

    angesprochen. Beispiel:
    PHP-Code:
    int main(void)
    {
       
    initRobotBase();
       
    DDRA |= 1+2;

       while(
    true)
       {
          for(
    i=0;i<100i++)
          {
             
    PORTA |= 1;
             
    sleep(5);
             
    PORTA &= ~1;
             
    PORTA |= 2;
             
    sleep(15);
             
    PORTA &= ~2;
             
    sleep(200-5-15);
          }
    ... 
    Bild hier  
    Atmel’s products are not intended, authorized, or warranted for use
    as components in applications intended to support or sustain life!

Berechtigungen

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

12V Akku bauen