Forum: Mikrocontroller und Digitale Elektronik CMU Cam2 - Kommunikation mit µC über UART


von Tilman W. (tilman)


Lesenswert?

Hallo.

Ich versuche, eine CMUCam2 (Carnegie Mellon University Camera zur 
Farberkennung) mit einem M16C62 Mikrocontroller anzusteuern. Dazu 
schicke ich via UART einen Steuerstring vom µC an die Kamera, und zwar 
z.B.: "tc" für Track Color... normalerwiese sollte die Kamera jetzt in 
den Modus der Farberkennung wechseln, aber sie reagiert nicht. Wenn ich 
den gleichen Befehl über meinen PC an die Cam schicke, klappt es 
einwandrei (mit USB-->TTL Konverter Kabel). Woran liegt das ? Gleicher 
Befehl - vom PC gehts, vom Mikrocontroller aus nicht...ich verstehs 
nicht. Weiss jemand Rat ? Die Einstellungen am Mikrocontroller (Baud 
Rate, Parity, Stop-Bits, Daten Bits) sind exakt die gleichen wie am 
PC...

von inoffizieller WM-Rahul (Gast)


Lesenswert?

Müsste es vielleicht "TB" (also Großschreibung) heissen?
Kannst du denn per PC mit dem Controller kommunizieren?

von Tilman W. (tilman)


Lesenswert?

nein, Gross/Kleinschreibung spielt keine Rolle.
Ja, mit dem PC klappt die Kommunikation wie gesagt problemlos.
Die Kommunikation zwischen Controller und Kamera ist das Problem. 
Irgendetwas stimmt da nicht.

von Tilman W. (tilman)


Lesenswert?

Das Ganze scheint ein Pegelproblem zu sein. Ich hab am Ausgang (Tx) des 
µC nur 0,9 V gemessen. Zwischen 3 und 5 V wäre aber normal. Andererseits 
kann ich damit trotzdem an meinen PC Daten senden, das TTL--> RS232 
Konvertermodul (MM232R mit FTDI Chip) scheint da toleranter zu sein als 
die CMUCam...

von karl-heinz (Gast)


Lesenswert?

du must 10 und 13 als chr dranhängen, vielleicht reicht 13 auch schon 
aus.

von karl-heinz (Gast)


Lesenswert?

also "TB" + chr(13)

mfg

von Tilman W. (tilman)


Lesenswert?

Nee, Karl-Heinz, das isses nicht. Ich habe es die ganze Zeit über schon 
mit 0x0d (entspricht 13 HEX) am Ende gemacht. Das ist nicht das Problem. 
Es geht glaub ich echt um ein Pegelproblem... der M16C62 ist Open Drain 
integriert...d.h. glaub ich, ich brauch einen PULL UP Widerstand, der 
mir den Tx Pin hochzieht, wenn ich das in der Theorie richtig verstanden 
habe. Ich probier das jetzt mal...hoffe nur, mir raucht der Controller 
nicht ab !
Dann wünsche ich mir selbst mal viel Glück :-|

von Tilman W. (tilman)


Lesenswert?

So. Das Problem ist gelöst. Mein Verdacht war richtig und ein Blick ins 
Datenblatt kommt immer gut. Da steht:
"Since TxD2 Pin is N-channel open drain, this pin needs pull-up 
resistor".
Also einen 1,8k Widerstand zwischen Tx2 vom M16C62 und dem Rx-Pin der 
Kamera gehängt, mit 5 Volt "Bordspannung" connected und es ging. Mann - 
da macht man was mit. Den heutigen Feierabend habe ich mir verdient.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.