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
Der an diesem Beitrag angefügte Anhang ist entweder nur im eingeloggten Zustand sichtbar oder die Berechtigung Deiner Benutzergruppe ist nicht ausreichend.

.... so groß, wie ein kleines Smartphone, nicht besonders genau, aber hervorragend geeignet um im Wohnzimmer (da programmiere ich zu 99.9%) mal schnell eine Kurve aufzuzeichnen. Nennt sich DSO Nano (erste Generation).