PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : I2C Ports in Bascom ändern



FlashCube
07.10.2006, 17:30
Hallo,

Ich bastle im Moment an einem 6-Beinigem Roboter.
Die 18 Servos werden von 2 ATMEGA8 gesteuert.
Diese beiden Atmegas sollen jetzt wiederum von einem dritten Atmega8 über I2C gesteuert werden.
Meine Frage:
Ist es egal welche Pins ich mit SDA und SCL belege, solange ich sie in Bascom auch so konfiguriere?
Oder muss ich die SDA/SCL Pins nehmen, die in ATMEGA-Datenblatt stehen?... (Diese sind auf meinem Board aber schon vergeben)...
Ich könnte es ja auch ausbrobieren, aber da ich noch nie etwas mit I2C gemacht hab würde ich gerne viele Fehlerquellen ausschliessen...

danke soweit...

PS: Bei Interesse kann ich auch mal ein paar Bilder von dem Bot posten.

PicNick
07.10.2006, 17:44
Also: Bei Hardware-TWI kann man nur die Pins aus dem Datenblatt nehmen. Bei Software-I2C kannst du wählen.

Beim Master kannst du ruhig die Software Variante nehmen

Aber bei den Slaves ist das dann schon ein wenig eckiger, da wär die Hardware schon besser

linux_80
07.10.2006, 17:46
Hallo,

ich würde ja auch meinen, das es für Timing besser wäre das Hardware-TWI zu verwenden, denn das kann mit 18 Servos schon ziemlich eng werden.

FlashCube
07.10.2006, 17:58
Hallo,

Wenn ich bei den Slaves die Hardware-TWI nehme, fehlen mir dadurch aber jeweils 2 A/D-Wandler, die ich aber für die Kraft- (bzw. Strom-) Messung der Servos brauche. Die AtMegas laufen alle mit 16MHz - könnte das vielleicht doch für Software-I2C langen?... ich werds wohl ausbrobieren müssen.

linux_80
07.10.2006, 20:04
Die Servos brauchen ein ziemlich genaues Signal, um eine bestimmte Position zu halten, wenns im Timing einen kleinen aussetzer gibt, zB. weil der IRQ gesperrt wird oder so, machen alle Servos einen hopser.
Kommt halt drauf an was angesteuert wird.
Es hat da mal jemand ein Testprogramm gehabt für den Tiny auf dem RNBFRA, 8-[
weiss nicht ob er TWI hat, der 90S2313 glaub ich nicht, also ging das da auch per Software-I2C die Servos anzusteuren, weiss nicht wieviel das gleichzeitig waren. :-k
Mal die Suche anwerfen ;-)

Dirk
07.10.2006, 20:39
Es hat da mal jemand ein Testprogramm gehabt für den Tiny auf dem RNBFRA,
weiss nicht ob er TWI hat, der 90S2313 glaub ich nicht, also ging das da auch per Software-I2C die Servos anzusteuren, weiss nicht wieviel das gleichzeitig waren.

Guckst du 'mal da:
https://www.roboternetz.de/phpBB2/viewtopic.php?t=21164

Gruß Dirk