Archiv verlassen und diese Seite im Standarddesign anzeigen : Brauche Hilfe mit dem I2C Bus!
Anfänger-Joe
20.03.2005, 15:30
Habe ein Problem.
Ich habe mir die C-Controll 2 unit von Conrad besorgt. Nun wollte ich einen Ultraschallendfernungsmesser an den I2C Bus anschliesen und die von dem Sensor erzeugten Signale in die C-Control einspielen und dort dann über einen Digitalport ausgeben. Dieses Signal will ich über ein Interface von Fischertechnik in den Computer einspielen.
Mein Problem ist nun, das ich die erzeugten Messungen des Ultraschall Sensors zwar in die Unit reinbekomme aber nicht raus, WER KANN MIR HELFEN?[-o<
Leider habe ich in der Anleitung und in dem Buch Messen Steuer und Regeln keine Andwort darauf gefunden.
der anfänger-joe
Hallo Joe,
stell doch 'mal Dein Prog ein.
Willst Du die serielle Schnittstelle zwischen CC2 und CC1 nehmen?
Was willst Du übertragen?
Arbeitest Du mit dem ccrp5.c2 Modul?
Gruß Dirk
Anfänger-Joe
20.03.2005, 18:19
Hallo Dirk
Was meinst du mit dem Prog einstellen?
und ist mit CC2 und CC1 die Control Unit gemeint?
Übertragen will ich die Daten, die ich aus dem Ultraschallmodul ( http://www.roboter-teile.de/Shop/pd1098469088.htm?categoryId=0 ) erhalte. Dieses wird wie ein EEPROM angesteuert. Mit einem OSSi habe ich auch schon gemessen, ob ich überhaupt Daten aus dem Ultraschallmodul erhalte, was auch der Fall war. Nun habe ich wie schon gesagt das Problem, das ich die Daten in die unit rein bekomme aber nicht über die Digitalports ausgeben kann. Übertragen will ich eigendlich nur das, was aus dem Ultraschallmodul selbe rauskommt, da es schon fertige Messergebnisse sind. Nur leider kann ich sie nicht direkt in das Interface einspielen, da ich mit diesem keinen I2C Bus auslesen kann. Soweit ich es der Beschreibung des Modules entnommen habe, erhalte ich aus dem Ultraschallmesser einen 16 Bit Code.
Ich habe gerade eben nach dem ccrp5.c2 Modul geguckt und habe es auch gefunden. Benutzt habe ich es nicht. Bin noch nicht dahinter gekommen was es genau tut. Wie mein Name schon sagt, bin Anfänger :)
Das ist die erste Aufgabe, die meine unit erfüllen soll
MfG
Joe
1. ja: CC1 = C-Control 1 bzw 2
2. mit einstellen meint er wahrscheinlich reinstellen, d.h. du sollst dein programm hier veröffentlichen, damit andere mal en blick drüber werfen können :wink:
Anfänger-Joe
20.03.2005, 19:12
Ok, hier ist das Programm:
/************************************************** *
EEPROMtest.C2
Schreib-/Lesetest f¸r
serielle EEPROMs(24C32 bis 24C512)
************************************************** **/
//------------
thread main
//------------
{
int buffer[4], i;
string s;
loop
{
i2c.start(0xE0);
i2c.write(0);//Bit 0 bis 7 des Datenzeigers
i2c.write(81);//Messen in cm
i2c.stop();
sleep 65;
i2c.start(0xE0);
i2c.write(0);//Bit 0 bis 7 des Datenzeigers
i2c.start(0xE0);//Repeated Start f¸r Lesezugriff
buffer[2]=i2c.read();
buffer[3]=i2c.readlast();
i2c.stop();
lcd.clear();
for i= 0 ... 3
{
lcd.put(buffer[i]+0*30);
}
ports.setn(0,buffer[4]);
sleep 1000;
}
}
MfG
Joe
Hallo Joe,
ich habe noch nicht ganz klar, ob Du einen CCRP5 hast. Wenn nicht, sind meine Vorschäge nicht unbedingt tauglich, aber auch dann läuft die Verbindung zwischen CC2 (C-Control II Unit) und CC1 (C-Control I) identisch.
Die mögliche Verbindung CC2-CC1 wäre die serielle Schnittstelle. Du must mit der CC2 also den Inhalt von buffer in Form von 2 Bytes (= 16 Bit) an die serielle Schnittstelle senden (put (x)). Die CC1 empfängt die Bytes (get ()).
Von dort kannst Du die Bytes ja genauso an den PC senden. Es stellt sich aber bei dem Ganzen die Frage, ob die CC1 dazwischen nötig ist, denn die CC2 kann ja mit ihrer seriellen Schnittstelle auch direkt mit dem PC reden.
Wenn ein Fischertechnik-Interface noch zwischengeschaltet werden soll (?), muss die CC1 wohl über 8 (?) I/O-Ports mit dem Interface verbunden sein, oder? Da müßtest Du dann 2x den "8-Bit-Port" übertragen, um den ganzen Messwert zu übermitteln.
Warum brauchst Du denn diese lange Übertragungskette (CC2-CC1-Fischertechnik-PC)??
Gruß Dirk
Anfänger-Joe
20.03.2005, 20:50
Hallo Dirk,
ich glaube, da ist ein Missverständniss aufgetreten. Die Signale sollen nicht in eine CC1 gesendet werden, habe die gar nicht.
Die Signale sollen direkt in den Computer (Direkt ist hier relativ, da es sich um Telemetrie Daten handelt sollen diese über Funk übermittelt werden, wobei das immoment noch nicht wichtig ist, immoment benutze ich ein Flachbandkabel um die unit mit dem Interface zu verbinden.). Wobei ich das Interface benötige, den mein Computer hat keine Serielle Schnittstelle, jedenfeils der nicht, welchen ich dafür benutzen möchte. Mein altes Power Book besitzt zwar einen Modem/Drucker Port, an den ich mit einem Seriellen Adapter ran kann, jedoch ist dies nicht mehr so fit, wie es dafür sein sollte.
Außerdem habe ich keinen Adapter von USB auf Seriell.
Und zu dem ccrp5, ich habe ein System Modul gefunden, habe aber kein Hardware Modul, falls es das ist, was du meinst.
MfG
Joe
Hallo Joe,
ich kann nicht optimal helfen, weil ich immer noch nicht ganz verstehe, wie Deine Hardware aussieht, z.B. so:
1. I2C-Ultraschallmodul
2. CC2
3. Fischertechnik-Interface
4. Dein PC
Verbindungen:
Zwischen 1 und 2 : I2C
Zwischen 2 und 3 : 8-Bit-Digitalport ???
Zwischen 3 und 4 : Serielle Schnittstelle (ich kenne nur dieses Fischertechnik-Interface, das über ein serielles Kabel am PC hängt! Ich weiß zwar, dass es wohl auch eine USB-Variante vom Fischertechnik-Interface gibt,- aber egal.)
Dich interessiert ja wohl nur die Verbindung 2 - 3, also CC2 <-> Fischertechnik-Interface:
Hier müßtest Du den 8-Bit-Wert in buffer über den Byteport der CC2 ausgeben und mit Deinem Fischertechnik-Interface einlesen (wie dort zum Auslesen von Schaltern beschrieben).
Gruß Dirk
Anfänger-Joe
23.03.2005, 12:17
Hallo Dirk,
da ich immoment Krank bin konnte ich erst jetzt andworten.
Es wäre vielleicht doch möglich, die CC2 direct über die Serielle Schnittstelle an den PC an zu schliesen, da ich demnächst vielleicht ein Lap Top mit windows zur Verfügung gestellt bekomme. Allerdings, wie kann ich die Daten von der CC2 über die eigenen Serielle Schnittstelle in den Computer schicken? Und was Brauche ich am Computer für eine Software um diese Daten aus zu lesen?
MfG
Joe
Hallo Joe,
gute Besserung! Die CC2 braucht nichts weiter, um sie an eine serielle Schnittstelle anzuschließen.
Das Adapter-Kabel liegt ja in der Packung dabei.
Auf Seite des PC brauchst Du ein "Terminal-Programm", z.B. miniterm.exe (wird mit der CC1 mitgeliefert). Geh' mal googeln!
Gruß Dirk
Anfänger-Joe
24.03.2005, 16:48
Hallo Dirk,
Danke, geht mir schon wieder bessser, aber der Arzt hat gesagt ich soll mich schonen und bei dem schönen Wetter hier spaziergänge machen.
Nach dem Programm werde ich mal suchen, jedoch habe ich noch nicht den Befehl in c2 gefunden, um die Daten über die serielle Schnittstelle auszugeben. Oder ich habe ihn in der Anleitung überlessen. Es wäre nett, wenn du mir dabei auch noch helfen könntest.
MfG
Joe
Hallo Joe,
die Befehle zur seriellen Aus-/Eingabe sind put und get aus dem Modul swcom.c2 bzw. hwcom.c2.
Siehe Anleitung S. 99 ... 102
Gruß Dirk
Powered by vBulletin® Version 4.2.5 Copyright ©2024 Adduco Digital e.K. und vBulletin Solutions, Inc. Alle Rechte vorbehalten.