PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Fragen zu I²C



freq.9
10.01.2005, 18:51
1) Welche verschiedenen I²C gibt es?
2) Es würde doch gehen, einen kleinen Roboter mit 2 Servo´s (4 Räder aber 2 mit Antrieb) + 1 LCD mit einem I²C zu basteln, oder?
2.1) "Welchen" I²C bräuchte man?

Hab heut mit meinem Lehrer (Fachpraxis) gesprochen und daher diese Fragen :D...

Kjion
10.01.2005, 19:34
zu 1.) Es gibt nur eine I2C Technik ( wurde von Philips entwickelt ). Es gibt höchstens noch andere Namen dafür ( TWI bei Atmel oder so )

zu 2.) Ja, warum nicht ??

zu 2.1.) ehrlich gesagt verstehe ich nicht ganz was du meinst ...

MfG Kjion

stegr
10.01.2005, 19:37
1.) I²C ist ein Bussystem (siehe weiter unten bei den Grundlagenartikeln in diesem Forum) und es ist von Philips entwickelt worden. Allerdings gibt es eine Reihe von kompatiblen Systemen, z.B. von Microchip oder Atmel.

2.) Selbstverständlich geht das. Du kannst natürlich nicht deine Servos direkt an den Bus hängen, aber deine Ansteuerelektronik kann entsprechend gestaltet werden, dass man sie an den Bus anschließen kann.

2.1) Siehe 1.) - Les dir mal den Grundlagenartikel durch (Link (https://www.roboternetz.de/phpBB2/viewtopic.php?t=4585)).

MfG
Stefan

freq.9
10.01.2005, 19:57
zu 2.1.) ehrlich gesagt verstehe ich nicht ganz was du meinst ...

Ja das muss ja was "materielles" sein, was man anfassen kann.

churchi
10.01.2005, 20:01
I2C selber kannst du nicht "anfassen".
Nur die ICs, µCs (Atmel (--> TWI)) die es unterstützen kann man anfassen.

stegr
10.01.2005, 20:02
I²C ist ein Bussystem, kein spezieller IC. Manche IC's, zum Beispiel einige Mikrocontroller haben eine Unterstützung für dieses Bussystem eingebaut.
Es gibt auch spezielle Bausteine, die über I²C angesteuert werden (sogar recht viele) - aber du brauchst immer einen I²C-Master... Und das ist in der Regel ein Mikrocontroller.

EDIT: irgendwie bin ich heute immer eine Minute zu langsam... ;)

freq.9
10.01.2005, 20:05
stegr: hehe

Also sozusagen die RN-CONTROL 1.4 könnte man nutzen oder das I2C-Relaisboard? Was ist dann das RNBFRA 1.2, denn das scheint mir fast das gleiche zu sein, jedoch steht hier (https://www.roboternetz.de/phpBB2/viewtopic.php?t=1511) nichts von I²C oder so.

freq.9
11.01.2005, 15:30
wenigstens noch das Posting hier drüber beantworten? ;) wäre nett ^^

Kjion
11.01.2005, 15:42
Wofür den benutzen ??
Um einen I2C Bus aufzubauen ?? Dafür kann man im Prinzip jeden AVR und auch die meisten anderen µC benutzen. Oder wolltest du was anderes wissen ??

Das RNBFRA 1.2 hat übrigens auch einen I2C Anschlussstecker ...


... denn das scheint mir fast das gleiche zu sein
Lies dir doch mal die Dokumentationen dazu durch ( im Downloadbereich ) ...

MfG Kjion

freq.9
11.01.2005, 16:27
Also ich habe hier schon des öfteren gehört, dass ich für meine "Hirngespenste" einen I²C-Bus nutzen könnte aber wo steckt der I²C-Bus drin? Kann sein, dass es schon gesagt wurde aber irgendwie verstehe ich das nicht oder so :!

Mobius
11.01.2005, 16:42
Also, wie ich's weiß ist das I²C-Bus einfachzwei Kabel, die dann auf (beim PIC) 3 Beinen (Read, Write, Clock) aufgespalten werden. Der Begriff selber definiert ein Übertragungsprotokoll, ca. vergleichbar mit dem TCP/IP. D.h. man hat fest definierte Standards, die, wenn man sie einhält zu einer Reibungslosen kommunikation zwischen grundverschiedenen µCs/Modulen führen.

Naja, ich hoff, das Hilft :D
MfG
Mobius

Kjion
11.01.2005, 20:04
Wie gesagt I2C ist ein vereinbarung für ein Protokoll. In dem Sinne steht es nirgendwo "drin". Man kann es aber halt fast überall reinpacken ;-)

Im Prinzip beschreibt I2C die Komunikation von einem Master mit mehrern Slaves über zwei Leitungen ( Clock und Daten ). Lies dir mal die entsprechenden Dokumente von Philips dazu durch...

MfG Kjion

stegr
11.01.2005, 21:06
2.1) Siehe 1.) - Les dir mal den Grundlagenartikel durch (Link (https://www.roboternetz.de/phpBB2/viewtopic.php?t=4585)).

Von ganz oben...
Wobei ich die Philips-Application-Notes auch sehr stark empfehlen kann...
aber für den ersten Einstieg reicht auch dir Link hier oben...

und vor dem nächsten Post, bitte erst lesen... ;)

MfG
Stefan

freq.9
11.01.2005, 21:08
Dann mal so. Was wird denn bei nem kleinen Roboter (mit I²C) als Master genutzt? Ein µC? Was wäre dann beispielsweise ein Slave? Ne Gebtriebemotoransteuerung?

darwin.nuernberg
11.01.2005, 21:10
Nochmal Langsam:

I2C oder IIC oder TWI meinen das gleiche.

Phillips hat sich das Recht auf I2C sichern lassen, daher nennen es andere Hersteller eben anders.

I2C = I²C = IIC = Inter IC (integrated Ciruit) Communication
TWI = Two Wire Interface


An einem I2C oder auch TWI (oder sonst wie genannt) können mehrere Geräte gleichzeitig angeschlossen, aber nicht gleichzeitig angesprochen / abgefragt werden sondern immer einer nach dem anderen (die Reihenfolge ist egal).

Aber nur einer darf der Chef (Master) sein, Pasta (oder basta?).

Prinzipiell reichen zwei Signalleitungen aus (Data und Clock = SCL und SDA)

Masse (0V) braucht man immer,

[highlight=yellow:b39c2f25e7]Also mindestens 3 Leitungen.[/highlight:b39c2f25e7]

oft wird dann zusätzlich noch eine Verorgungsleitung (VCC = +5V TTL Pegel) mit dazugelegt

und soweit ich gesehen habe gibt es bei aller oder den Meisten noch eine
IRQ (Interuptrequest/Unterberechungsanforderung) Leitung,
damit der Master (Atmel oder andere Prozessoren wie PIC oder BasicStamp oder oder oder)
auch mal für sich dahin wursteln können ohne ständig den Bus überwachen zu müssen, was auch relativ viel Zeit kostet.
(Ein IRQ wird / sollte nur bei Bedarf ausgelöst werden)

Es können auch mehrere Prozessoren untereinander über I2C kommunizieren (wie muuss ich selber noch testen), aber das RNMotor St hat ja einen Mega 8 drauf, und das teil funzt.

churchi
12.01.2005, 11:52
Aber nur einer darf der Chef (Master) sein, Pasta (oder basta?).


I2C ist multimasterfähig, wenn die MasterICs das auch unterstützen (AVRs sind glaub ich alle Multimasterfähig (ATMega128 auf jeden Fall, denn da hab ich das Datenblatt gelesen))

ich denke basta ist richtig :-s

12.01.2005, 12:35
natürlich ist der I²C multimasterfähig, ist ja auch so gebaut, aber dennoch kann immer nur ein Gerät Master sein
wenn dieser dann fertig ist und den Bus freigegeben hat, kann wieder ein anderes Gerät Master werden

es sind alle AVRs multimasterfähig, sofern sie Hardware-TWI implementiert haben, ist zumindest beim 8er auch so und die werden das ja nicht bei denen zwischen dem 8er und dem 128er ändern...

wie man mehrere AVRs über TWI kommunizieren lassen kann, ist in anderen Threads erklärt, in einem(ka, wie der genau heißt) hab ich auch Code für den Master und den Slave gepostet

freq.9
12.01.2005, 16:48
Könntet ihr mal nochmal bisl zurückspulen und bisl weiter oben gucken? :D hatte da nochmal was gefragt und sofort danach kam ne weitere Nachricht und somit glaube ich, dass mein Posting unter gegangen ist :!

https://www.roboternetz.de/phpBB2/viewtopic.php?p=52462#52462 :D

Kjion
12.01.2005, 16:57
Bei deinem Roboter wäre den meinetwegen der Steuerungs µC der Master. Die Getriebemotorsteuerung müsste dann einen eigenen µC haben der das I2C Protokoll verarbeiten kann, dann könnte sie auch als Slave dienen...
Ein Slave kann aber auch etwas beliebiges anderes sein. Beispielsweise ein PCF8574 Portexpander zum ansteuern von LEDs oder was dir auch immer einfällt...

Frage damit beantwortet ??

MfG Kjion

freq.9
12.01.2005, 20:19
RN-CONTROL -> RN MOTOR ST I2C -> Schrittmotor

Würde sowas gehen?

Mal für doofe:
Der I²C sendet A´s und B´s. Diese können aber von anderen Sachen nicht verarbeitet werden, da sie nur C´s und D´s verstehen. Also packt man ein µC davor, der die A´s zu C´s und die B´s zu D´s umwandelt?

Verstanden habe ich zumindest schonmal wie der I²C arbeitet (grob) und, dass es ein Protokol ist und keine Hardware.
Btw: Wo gibt es denn eine Getriebemotoransteuerung mit I²C? Bei robotikhardware wo ich immer rumguck um mich über Teile zu informieren (grob) unterstützen diese ja kein I²C. Lediglich die RN-MOTOR aber die sind für Schrittmotoren. Wenn würde ich jedoch Getriebemotoren haben wollen :)

Pascal
12.01.2005, 20:35
Der I²C sendet A´s und B´s. Diese können aber von anderen Sachen nicht verarbeitet werden, da sie nur C´s und D´s verstehen. Also packt man ein µC davor, der die A´s zu C´s und die B´s zu D´s umwandelt?


was willst du uns damit sagen?!?
meinst du damit, dass das RN-Motor Daten vom µC erhält und an den Motor weiterleitet, weil diese sich nicht direkt verständigen können?

oder, zweite Variante, du meinst die Zuordnung der Daten auf dem I²C-Bus, die geht nämlich anders, als man es aus deiner Beschreibung entnehmen könnte...der Master sendet erst mal eine Addresse an alle(jedes I²C-Gerät hat eine eigene Addresse, standartmäßig 7-bit) und die Kommunikation läuft ab da nur noch mit dem addressierten µC ab, man kann also Daten hinsenden oder sich welche senden lassen

freq.9
12.01.2005, 20:50
erste Variante *duck* (ich verstehs halt noch nicht so und darum frag ich ja hier)

Das mit der Adressierung kenn ich aus unserem AT-Unterricht (Automatisierungstechnik), denn da arbeiten wir mit einem MFA (kA was das grad heisst) und da hat uns unser Lehrer mal gezeigt wie das mit der Adressierung funktioniert.

freq.9
13.01.2005, 20:27
RN-CONTROL 1.2(/1.4= -> Getriebemotoransteuerung (mit I²C) -> Getriebemotor

Sowas würde dann doch gehen, oder? o.O

bhm
13.01.2005, 21:11
ich verstehe die Frage nicht ganz.
a) RN-Control könnte 2 Getriebemotoren direkt ansteurn.
b) RN-Control könnte via I2C ein anderes Board (welches) mit I2C 'fernsteuern'.
beides ja.
ciao . bernd

freq.9
13.01.2005, 21:22
Achso das geht sogar direkt?

Omfg jau ich sehs grad -.- Ich hatte letzens was anderes angeguckt scheint mir so, denn das Pic vom RN-C 1.4 ist mir neu o.O... Hat ich wohl was falsches angeguckt :!

bhm
13.01.2005, 21:43
Da stellt sich dann natürlich die Frage welche Motoren, bzw weiviel Strom. Der L293 von RN-Control kann nicht sooo viel (genaue Zahl hab ich gerade nicht im Kopf, so um 1A) . Be mehr Strom kommt dann doch wieder zB RN-Motor ins Spiel. Aber auch da hätte man die Möglichkeit die beiden über RS232 oder I2C zu verbinden. Kommt immer drauf an, was man will ...
ciao .. bernd

freq.9
13.01.2005, 22:19
RN-C 1.4 hat nen L293D also auch nur 0,6A... Wäre es da nicht möglich den L293N reinzupacken, denn der würde ja dann 2A vertragen?

bhm
13.01.2005, 23:20
ich glaube der 'N' hat keine Freilaufdioden eingebaut. Die müsste man dann extern nachrüsten.

Frank
13.01.2005, 23:34
Ja so ist es wohl. Bei 2A müsstest du aber auch größeren Kühlkörper drauf setzen, das wird alles etwas eng.
Wenn du wirklich 2 A brauchst, kannst du auch L293 raus nehmen und zwei L298 mit Dioden auf Experimentierplatine drauf setzen. Das ganze kannst du dann mit einem Flachkabel und DIL-Stecker der in die IC-Fassung vom L293 paßt, bequem verbinden.

freq.9
14.01.2005, 05:56
Oh jau das wäre gut, wenn das gehen würde.

Also steht schonmal das RN-CONTROL 1.4 auf meiner Wunschliste (+ 2 L298 zum umrüsten). Da kann ich dann also die Getriebemotoren anschliessen. Zudem wollte ich noch einen LCD dransetzen. Muss das eigentlich I²C sein? Hab ich gestern so vermütet aber muss es überhaupt I²C sein?

bhm
14.01.2005, 08:26
öhm, mit 2 L298 könnte man dann aber 4 DC-Motoren ansteuern, war das gewünscht?
Und ein LCD-Display kann man (im Prinzip) auch noch direkt (kein I2C) anschliessen (min. 6 Pins), irgendwann werden dann aber die Pins knapp.
ciao .. bernd

freq.9
14.01.2005, 14:04
Also ich habe heute mit meinem AU-Lehrer gesprochen und der meinte, dass ich 2 Getriebemotoren mit je 0,5A locker an den L293D anschliessen kann, da es pro Kanal 0,6A sind, nur müsse ich den dann ein wenig Kühlen, da er ein bisl wärmer wird.

Also wäre das über I²C besser mitm LCD, oder?

bhm
14.01.2005, 14:22
Kann man nicht pauschal sagen, je nachdem was noch angeschlossen werden soll. Ausserdem schätze ich, dass I2C-LCDs teurer sind. Da ich aber keins kenne, bin ich da nicht sicher.
ciao ... bend

freq.9
14.01.2005, 14:26
Naja werd ich dann mal gucken. Zurzeit stehen diese Sachen auf meiner Wunschliste. Vllt. ist da noch was bei was unsinnig ist, oder es fehlt noch was garvierendes, so würd ich mich freuen, wenn ihr mir da helfen könntet. Also später solls ein fahrendes Brett werden :D Also ne Platte mit 4 Rädern erst einmal.

1 x Spanplatte (350x200x10mm)
1 x RN-CONTROL 1.4
2 x Getriebemotor (Vielseitiger Faulhaber Winkelgetriebemotor)
4 x Räder
2 x Ultraschallsensor (SRF04)

freq.9
14.01.2005, 20:34
Hier mal mal ne kleine Übersicht gemacht, wie mein Roboter später aussehen soll.