Hallo,
ich weiß, dass es zum Thema Servoansteuerung schon so viele Threads gibt, nur leider hab ich keinen gefunden wo der Servo mit nem PCF8574 angesteuert wird, und auch keinen wo meine Probleme behandelt werden.

Also ich hab einen RP6 ohne M32 mit einer Erweiterungsplatine wo der PCF8574A drauf ist, andessen seinen I/O Ports die Signalservoleitung liegt.

Mein momentaner Code sieht so aus:
Code:
//Servoansteuerungs Test

#include "RP6RobotBaseLib.h"
#include "RP6I2CmasterTWI.h"

#define PCF8574_Schreiben 0b01110000


void ServoAnsteuern( uint8_t grad)
{
if(getStopwatch1() >= 20){  // Alle 20 ms Impuls senden

setStopwatch1(0);

I2CTWI_transmitByte(PCF8574_Schreiben, 0b00001000);  // Signal auf High

sleep(grad); // Signaldauer

I2CTWI_transmitByte(PCF8574_Schreiben, 0b00000000); // Signal auf Low

}

}


void I2C_transmissionError(uint8_t errorState)
{
   writeString_P("I2C ERROR - TWI STATE: 0x");
   writeInteger(errorState, HEX);
   writeChar('\n');
}


int main(void)
{
 initRobotBase();
   
 I2CTWI_initMaster(100);
 
 I2CTWI_setTransmissionErrorHandler(I2C_transmissionError);
 
 startStopwatch1();
 
 uint8_t grad = 15; // = 1,5ms -> normalerweise Mittelstellung
  
 while(true)
 {
 
  ServoAnsteuern(grad);
 
  task_I2CTWI();
 
 }
 
 return 0;
}
Momentan eben erst mal nur zum Testen, es soll eben nur in Mittelstellung gefahren werden und gehalten werden.

Nun meine Probleme:

1. Einerseits hab ich einen TOP LINE MINI SERVO Y-3009 von Conrad (http://www.conrad.de/ce/de/product/2...archDetail=005) drangehängt. Dieser fährt zwar auf die Position zittert aber ständig + - 10grad hin und her.

2.Andererseits hab ich einen TOP-LINE STANDARD SERVO RS 2 JR ebenfalls von Conrad (http://www.conrad.de/ce/de/product/2...archDetail=005) drangehängt, dieser fährt allerdings nur an den rechten Anschlag und drückt weiter (Ich hab auch schon alle möglichen Impulsdauern ausprobiert, zwichen 0,1 und 10 ms - leider keine Änderung).

Vielen Dank schon jetzt für dei Antworten

MFG DERICH