Hallo @ all,
falls schon mal einer von euch darüber gestolpert ist: ein Servo-(PWM-)Treiber via I²C/TWI.
Verwendet wird der Baustein PCA9685 mit 16 Ausgängen und 12-Bit Auflösung. Da dieser IC 6(!) Address-Pins hat, kann man damit also theoretisch (2^6)*16=1024 Servos ansteuern.
Der PCA9685 erzeugt die PWM-Frequenz vollkommen selbständig und der µC muß nur die Werte übergeben. Natürlich kann man damit auch LEDs ansteuern und hat dann die gesamte PWM-Auflösung von 12-Bit zur Verfügung.
Passende Boards gibt's bei div. Online-Aktionshäusern/-Händlern ab ca. 4€.
Die Auflösung für ein Servo mit 50Hz (=20ms Periodendauer) im Bereich 1-2ms On-Zeit liegt bei 205. D.h. 205=1ms=Servo-Null und 410=2ms=Servo-Maximum. Viele Servos arbeiten allerdings mit einem erweiterten Bereich von z.B. 0.5-2.5ms On-Zeit und damit mit einem höheren Werte-Bereich. Man könnte auch die Frequenz auf z.B. 60Hz erhöhen (wenn das Servo mitspielt) und auch dann wäre der Werte-Bereich höher.
Gruss
Harry
PS: Kein vollständiges Programm, nur das was man dazu benötigt
PS, die 2.: Falls einer von euch eine Quelle für den IC alleine hat, wäre ich an ein paar davon interessiert .
[Edit]Oben war ein Fehler drin
falls schon mal einer von euch darüber gestolpert ist: ein Servo-(PWM-)Treiber via I²C/TWI.
Verwendet wird der Baustein PCA9685 mit 16 Ausgängen und 12-Bit Auflösung. Da dieser IC 6(!) Address-Pins hat, kann man damit also theoretisch (2^6)*16=1024 Servos ansteuern.
Der PCA9685 erzeugt die PWM-Frequenz vollkommen selbständig und der µC muß nur die Werte übergeben. Natürlich kann man damit auch LEDs ansteuern und hat dann die gesamte PWM-Auflösung von 12-Bit zur Verfügung.
Passende Boards gibt's bei div. Online-Aktionshäusern/-Händlern ab ca. 4€.
Die Auflösung für ein Servo mit 50Hz (=20ms Periodendauer) im Bereich 1-2ms On-Zeit liegt bei 205. D.h. 205=1ms=Servo-Null und 410=2ms=Servo-Maximum. Viele Servos arbeiten allerdings mit einem erweiterten Bereich von z.B. 0.5-2.5ms On-Zeit und damit mit einem höheren Werte-Bereich. Man könnte auch die Frequenz auf z.B. 60Hz erhöhen (wenn das Servo mitspielt) und auch dann wäre der Werte-Bereich höher.
Gruss
Harry
PS: Kein vollständiges Programm, nur das was man dazu benötigt
PS, die 2.: Falls einer von euch eine Quelle für den IC alleine hat, wäre ich an ein paar davon interessiert .
[Edit]Oben war ein Fehler drin
You must be logged in or your permissions are to low to see this Attachment(s).