-
+ Antworten
Seite 7 von 9 ErsteErste ... 56789 LetzteLetzte
Ergebnis 61 bis 70 von 85

Thema: RP6Control M32: Library für 8 Servos

  1. #61
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    01.12.2010
    Ort
    Dörpen
    Alter
    17
    Beiträge
    120
    hey trainmen!
    es liegt nicht am servo, denn ich habe es mit anderen servos auch schon ausprobiert, immer wieder das gleiche geräusch.
    es muss wohl an etwas anderes liegen.
    also ein display habe ich momentan auch gar nicht angeschlossen.
    LG Marcel

  2. #62
    Erfahrener Benutzer Begeisterter Techniker
    Registriert seit
    22.05.2009
    Ort
    Berlin
    Beiträge
    378
    Was passiert denn wenn Du den Servo mal von Hand drehst in Mittelstellung und dann probierst ?
    MfG TrainMen

  3. #63
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    01.12.2010
    Ort
    Dörpen
    Alter
    17
    Beiträge
    120
    es passiert weiterhin nichts..
    allerdings sind mir noch 2 sachen aufgefallen, die ich noch nicht genannt hatte.
    1. wenn man das programm startet leuchten bei der base von den 6 leds die linken leds deutlich heller als die rechten! die rechten leuchten nur sehr schwach-
    2. wenn man das programm startet, kann man es nicht mehr durch betätigen des start/stop-Tasters beenden!
    Ist das wirklich beides normal?
    MFG

  4. #64
    Erfahrener Benutzer Begeisterter Techniker
    Registriert seit
    22.05.2009
    Ort
    Berlin
    Beiträge
    378
    die Frage mit der Stromversorgung hast Du nicht beantwortet!
    Ich kenne Dein Programm nicht, vielleicht solltest Du es mal hier reinstellen und bist Du dir sicher alles richtig angeschlossen zu haben und auch die Servos dafür geeignet sind ?
    MfG TrainMen

  5. #65
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    01.12.2010
    Ort
    Dörpen
    Alter
    17
    Beiträge
    120
    Hey!
    Also ich habe wie bereits gesagt einfach das Demo-Programm, das Dirk auf der ersten Seite gepostet hat, genommen!
    Code:
    // Uncommented Version of RP6ControlServo.c
    // written by Dirk
    // ------------------------------------------------------------------------------------------
    
    #include "RP6ControlServoLib.h"
    
    uint16_t pos = 0;
    
    int main(void)
    {  
    	initRP6Control();
    
    	initLCD();
    
    	showScreenLCD("################", "################");
    	mSleep(1500);
    	showScreenLCD("<<RP6  Control>>", "<<LC - DISPLAY>>");
    	mSleep(2500); 
    	showScreenLCD(" Servo - Test 1 ", "  Version 1.00  ");
    	mSleep(2500);
    	clearLCD();
    
    	setLEDs(0b111111);
    	mSleep(500);
    	setLEDs(0b000000);
    	
    	initSERVO(SERVO1 | SERVO2);
    
    	startStopwatch2();
    	
    	while(true)  
    	{
    
    		if (getStopwatch2() > 48) {
    			servo1_position = pos;
    			servo2_position = pos;
    			setCursorPosLCD(0, 0);
    			writeStringLCD_P("Servopos.: ");
    			writeIntegerLCD(pos, DEC);
    			writeStringLCD_P("   ");
    
    			pos++;
    			if (pos > RIGHT_TOUCH) {pos = 0;}
    			setStopwatch2(0);
    		}
    
    		task_SERVO();
    
    		mSleep(3);
    	}
    	return 0;
    }
    Als Servos benutze ich 2x den Rs2, dann 1 mal den Es-05 und 1 mal den TG9E,
    aber das ist wiegesagt bei allen Servos das gleiche Problem!

    die Frage mit der Stromversorgung hast Du nicht beantwortet!
    Nein, ich nehme also Stromversorgung die 5 Volt VDD vom Roboter!

    LG Marcel
    Geändert von radbruch (12.08.2011 um 16:07 Uhr) Grund: Programm eingefügt

  6. #66
    Erfahrener Benutzer Begeisterter Techniker
    Registriert seit
    22.05.2009
    Ort
    Berlin
    Beiträge
    378
    Nimm doch mal eine externe Stromversorgung und versuch es dann. Denke aber daran GND mit dem Roboter zu verbinden. Ich geh mal davon aus das Deine Stromversorgung vom RP6 zusammenbricht.
    MfG TrainMen

  7. #67
    Erfahrener Benutzer Roboter Genie Avatar von SlyD
    Registriert seit
    27.11.2003
    Ort
    Paderborn
    Alter
    29
    Beiträge
    1.493
    http://www.roboternetz.de/community/threads/46023-!!!M32-st%FCrzt-mit-Servo-ab!!!?p=441994#post441994
    http://www.roboternetz.de/community/...l=1#post476073

    Einfachste möglichkeit wäre es mit einem LC Tiefpass (die Dimensionierung natürlich an die Servos anpassen - bei mehreren entsprechend dickere Spulen und Kondensatoren oder für jeden Servo einzeln) in der Versorgungsleitung zu filtern.
    Besser wäre ein zweiter 1.5A 5V Spannungsregler nur für die Servos, und am besten das mit eigenen Akkus.

    MfG,
    SlyD

  8. #68
    Neuer Benutzer Öfters hier
    Registriert seit
    16.12.2012
    Beiträge
    17

    Fuer WIFI-Modul?

    Hallo Dirk,

    Durch meinen Thread bin ich auf deine Bibliothek verwiesen wurde. Wie kann ich sie so umaendern, dass sie mit dem WIFI-Modul M256 funktioniert?

    Ich habe bisher die c und h datei ins makefile eingebunden und alles was sich auf RP6Control bezieht zu RP6M256 umgeaendert (includes und inits).

    Jetzt bekomme ich beim kompillieren trotzdem Fehlermeldungen wie z.b.:

    Code:
    ../RP6Lib/custom/RP6ControlServoLib.c:42: error: 'FALSE' undeclared here (not in a function)
    ../RP6Lib/custom/RP6ControlServoLib.c: In function 'initSERVO':
    ../RP6Lib/custom/RP6ControlServoLib.c:84: error: 'IO_PC2' undeclared (first use in this function)
    ../RP6Lib/custom/RP6ControlServoLib.c:84: error: (Each undeclared identifier is reported only once
    ../RP6Lib/custom/RP6ControlServoLib.c:84: error: for each function it appears in.)
    ../RP6Lib/custom/RP6ControlServoLib.c:85: error: 'IO_PC3' undeclared (first use in this function)
    ../RP6Lib/custom/RP6ControlServoLib.c:86: error: 'IO_PC4' undeclared (first use in this function)
    ../RP6Lib/custom/RP6ControlServoLib.c:87: error: 'IO_PC5' undeclared (first use in this function)
    ../RP6Lib/custom/RP6ControlServoLib.c:88: error: 'IO_PC6' undeclared (first use in this function)
    ../RP6Lib/custom/RP6ControlServoLib.c:89: error: 'IO_PC7' undeclared (first use in this function)
    ../RP6Lib/custom/RP6ControlServoLib.c:90: error: 'IO_PD5' undeclared (first use in this function)
    ../RP6Lib/custom/RP6ControlServoLib.c:91: error: 'IO_PD6' undeclared (first use in this function)
    ../RP6Lib/custom/RP6ControlServoLib.c: In function 'startSERVO':
    ../RP6Lib/custom/RP6ControlServoLib.c:141: error: 'TIMSK' undeclared (first use in this function)
    ../RP6Lib/custom/RP6ControlServoLib.c:142: error: 'TRUE' undeclared (first use in this function)
    ... usw.

    Was muss ich tun?

  9. #69
    Erfahrener Benutzer Robotik Einstein Avatar von Dirk
    Registriert seit
    30.04.2004
    Ort
    NRW
    Beiträge
    3.643
    Ja, ich hatte deinen Post schon gesehen.
    Ich hatte keine Neuauflage der M32-Servo-Lib für die M256 geplant, weil die M256 so viele Hardware-PWM-Ausgänge hat, dass man eigentlich keine Servo-Lib braucht, die eine "Soft-PWM" macht.

    Wenn du trotzdem die M32-Lib anpassen willst, gibt es diese Aufgaben:
    1. Im Header:
    - Im Abschnitt "Servo ports:" müßtest du die Portpins der M256 eintragen, die du auf der M256 nutzen willst. Die Bezeichnung der IO-Portpins (7. Spalte) findest du hier: http://www.rn-wissen.de/index.php/RP6v2#Port-Verwendung.
    Nehmen wir an, du willst für SERVO1 den Portpin PB4 nehmen, dann müßte da stehen:
    #define SERVO1_PULSE_ON (PORTB |= OC2A_PI4) // PB4
    #define SERVO1_PULSE_OFF (PORTB &= ~OC2A_PI4)
    Genau so machst du es mit allen 8 Ports für die Servos.

    2. In der Lib (.c-Datei):
    - In der Funktion initSERVO() müssen die Zeilen: if (servos & SERVOx) ... angepaßt werden: Wenn du für SERVO1 den Port PB4 festgelegt hattest, müßte die Zeile für SERVO1 so aussehen:
    if (servos & SERVO1) {DDRB |= OC2A_PI4; PORTB &= ~OC2A_PI4;}
    Die anderen 7 Zeilen müssen auch an die jeweiligen Portpins für Servos 2..8 angepaßt werden.

    - Timer1 muss genau wie bei der M32 auf CTC Modus 4 und clk/8 konfiguriert werden. Das sind die Zeilen zwischen cli() und sei(). Du müßtest die Registerbezeichnungen der M32 und der M2560 vergleichen und an die M2560 anpassen. Ich habe gerade nicht die nötige Zeit dazu. Kleinere Änderungen sind auch in startSERVO() und stopSERVO() zu machen.

    Das war's dann. Wenn du irgendwo nicht weiter kommst: Schreib hier noch mal!
    Gruß
    Dirk

  10. #70
    Neuer Benutzer Öfters hier
    Registriert seit
    16.12.2012
    Beiträge
    17
    Hi Dirk, wollte nur kurz melden dass Alles wunderbar geklappt hat!

    Ich musste nur noch zusaetzlich "FALSE" und "TRUE" in "false" und "true" aendern (irgendwie gefiel das dem Compiler nicht),
    dann TIMSK ueberall zu TIMSK1 machen.
    Die Timerkonfiguration scheint gleich zu sein bei beiden Modulen.

    Vielen Dank!

    MM2forever

+ Antworten
Seite 7 von 9 ErsteErste ... 56789 LetzteLetzte

Berechtigungen

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