- 3D-Druck Einstieg und Tipps         
Seite 1 von 3 123 LetzteLetzte
Ergebnis 1 bis 10 von 23

Thema: ADC0 am RP6

  1. #1
    Benutzer Stammmitglied
    Registriert seit
    26.12.2008
    Beiträge
    30

    ADC0 am RP6

    Anzeige

    Powerstation Test
    Hi hab an Weihnachten einen RP6 bekommen und jetzt wollt ich mal en Servo am ADC0 beim RP6 anschließen, aber was muss ich programmieren dass sich der Servo dann auch bewegt.

  2. #2
    Moderator Robotik Visionär Avatar von radbruch
    Registriert seit
    27.12.2006
    Ort
    Stuttgart
    Alter
    61
    Beiträge
    5.799
    Blog-Einträge
    8
    Hallo

    Es gibt unzählige Möglichkeiten ein Servo anzusteuern. Eine kleine Auswahl:

    https://www.roboternetz.de/phpBB2/ze...=338771#338771

    Glückwunsch zum RP6 und willkommen im RN-Forum (das auch eine Suchfunktion hat).

    Gruß

    mic
    Bild hier  
    Atmel’s products are not intended, authorized, or warranted for use
    as components in applications intended to support or sustain life!

  3. #3
    Benutzer Stammmitglied
    Registriert seit
    26.12.2008
    Beiträge
    30
    ja schon aber gib mir mal en beispiel code den ich benutzen kann wenn den servo am ADC0 angeschlossen hab.
    Bei dem link den du gepostet hast kam nur was wo ma des am XBUS anschließt.
    und ich glaub da gibts dann auch en quellcode unterschied

    Gruß Robin

  4. #4
    Moderator Robotik Visionär Avatar von radbruch
    Registriert seit
    27.12.2006
    Ort
    Stuttgart
    Alter
    61
    Beiträge
    5.799
    Blog-Einträge
    8
    Das hier kannst du auch für adc0 verwenden:

    https://www.roboternetz.de/phpBB2/ze...ag.php?t=45180

    Ein besseres Konzept als meine verwirrenden Versuche
    Bild hier  
    Atmel’s products are not intended, authorized, or warranted for use
    as components in applications intended to support or sustain life!

  5. #5
    Benutzer Stammmitglied
    Registriert seit
    26.12.2008
    Beiträge
    30
    Also ganz ehrlich...
    ich bekomm des nich hin

  6. #6
    Moderator Robotik Visionär Avatar von radbruch
    Registriert seit
    27.12.2006
    Ort
    Stuttgart
    Alter
    61
    Beiträge
    5.799
    Blog-Einträge
    8
    Mein RP6 ist grad eingemottet, ich kann's deshalb nicht testen:
    Code:
    // Servoansteuerung mit sleep(), Servoimpuls an ADC0                 10.1.09 mic
    
    #include "RP6RobotBaseLib.h"
    
    int main(void)
    {
    	initRobotBase();	// initialisieren
    	DDRA |= 1;			// Datenrichtung Port A Bit 0 (das ist ADC0) auf Ausgang
    
       while(true)			// endlos Impulse für Servomitte senden
       {
    		PORTA |= 1; 	// Ausgang auf high setzen (Impulsstart für Servo)
    		sleep(15); // sleep(1) verzögert ca. 100µsec, sleep(15) dann ca. 1,5ms=Servomitte
          PORTA &= ~1; 	// Ausgang auf low setzen (Impulsende für Servo)
          sleep(200-15); // 20ms-Impulslänge warten vor nächstem Impuls
       }
    	return(0);
    }
    Die Beschreibung von sleep() in der Library:
    /**
    * Delay with the help of the 10kHz timer.
    * sleep(10) delays for *about* 1ms! Not exaclty, as we do not use assembly routines
    * anywhere in this library!
    *
    * This is a blocking routine, which means that the processor
    * will loop in this routine and (except for interrupts) the
    * normal program flow is stopped!
    * Thus you should use the Stopwatch functions wherever you can!
    *
    * Example:
    * sleep(1); // delay 1 * 100us = 100us = 0.1ms
    * sleep(10); // delay 10 * 100us = 1000us = 1ms
    * sleep(100); // delay 100 * 100us = 10000us = 10ms
    * // The maximum delay is:
    * sleep(255); // delay 255 * 100us = 25500us = 25.5ms
    */
    void sleep(uint8_t time)
    {
    for (delay_timer = 0; delay_timer < time;
    }
    Infos zum Impulstimeing der Servos gibt's im RN-Wissen.

    Gruß

    mic
    Bild hier  
    Atmel’s products are not intended, authorized, or warranted for use
    as components in applications intended to support or sustain life!

  7. #7
    Benutzer Stammmitglied
    Registriert seit
    26.12.2008
    Beiträge
    30
    tut nich kann aber auch sein dass der Servo falsch eingesteckt ist ?
    bei mir is des
    Schwarze Kabel an 3
    Rote Kabel an 2
    und weiß an 1

  8. #8
    Moderator Robotik Visionär Avatar von radbruch
    Registriert seit
    27.12.2006
    Ort
    Stuttgart
    Alter
    61
    Beiträge
    5.799
    Blog-Einträge
    8
    Hallo

    Das Programm habe ich nun getestet und wie erwartet funktioniert es auch leidlich. Deine Pinbelegung scheint nicht zu passen:

    Bild hier  
    (Anklicken!)

    Die Anschlüsse ADC0 und 1 passen leider nicht zu den Standartservosteckern, +(VDD,1) und -(GND,2) sind vertaucht. Allerdings kann man recht einfach die Servostecker umbelegen:

    https://www.roboternetz.de/phpBB2/ze...=356247#356247

    Viel Erfolg

    mic
    Bild hier  
    Atmel’s products are not intended, authorized, or warranted for use
    as components in applications intended to support or sustain life!

  9. #9
    Benutzer Stammmitglied
    Registriert seit
    26.12.2008
    Beiträge
    30
    hey danke jetzt funktioniert alles

  10. #10
    Benutzer Stammmitglied
    Registriert seit
    26.12.2008
    Beiträge
    30
    ich hab dein code kopiert und jetzt bewegt sich der Sensor nach rechts, da ich mich beim prorammieren nich no auskenn ne neue frage:
    wie beweg ich den sensor jetzt nach links

    Gruß Robin

Seite 1 von 3 123 LetzteLetzte

Berechtigungen

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

LiFePO4 Speicher Test