PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Robby direkt mit C-Control Unit verbinden?



snoopomatic
02.10.2004, 19:12
Hi!

Kann ich die digitalen Ports meines Robbby direkt mit denen meines C-Control Unit Board verbinden, (die Geräte arbeiten nicht an derselben Stromquelle)?

Grüße und Dank:

Snoopomatic

Flite
02.10.2004, 19:32
Mit wieviel Spannung laufen sie? Beide mit 5V?

Du musst GND der beiden Spannungsquellen verbinden - dann kannst du auch die Controller zusammenschalten. Voraussetzung ist, dass beide mit der selben Spannung arbeiten. Sonst brauchst du Pegelwandler (je nach Anwendung unidirektionale oder bidirektionale).

Grüße
Flite

snoopomatic
02.10.2004, 19:47
Mit wieviel Spannung laufen sie? Beide mit 5V?

Du musst GND der beiden Spannungsquellen verbinden - dann kannst du auch die Controller zusammenschalten. Voraussetzung ist, dass beide mit der selben Spannung arbeiten. Sonst brauchst du Pegelwandler (je nach Anwendung unidirektionale oder bidirektionale).

Grüße
Flite

Offengesagt bin ich mir da nicht so ganz sicher, müßte die Spannung nicht identisch sein, da die Plattform in beiden Fällen eine C-Control ist?

Flite
02.10.2004, 19:53
ist möglich, dass sie identisch ist. Ich habe nie mit der Ccontrol gearbeitet und weiß nicht, ob es da verschiedene Typen gibt.

Bei den AVRs gibt es sowohl 5V als auch 3,3V Typen. Daher muss man hier aufpassen.

Viele Grüße
Flite

snoopomatic
02.10.2004, 19:58
ist möglich, dass sie identisch ist. Ich habe nie mit der Ccontrol gearbeitet und weiß nicht, ob es da verschiedene Typen gibt.

Bei den AVRs gibt es sowohl 5V als auch 3,3V Typen. Daher muss man hier aufpassen.

Viele Grüße
Flite

Besten Dank dann erstmal - werd das mit den Spannungen dann erstmal abchecken.

Schöne Grüße und vergnüglichen Abend:

Snoopomatic

Dirk
03.10.2004, 11:22
Hallo snoopomatic,

wenn Du GND von beiden Plattformen verbunden hast, kannst Du Digitalports von beiden Systemen direkt verbinden.
[highlight=red:6824c16920]Einer von beiden verbundenen Digitalports muss aber immer als EINGANG definiert sein, der "Partner" dann als AUSGANG. Es dürfen nie 2 Ausgänge miteinander verbunden sein.[/highlight:6824c16920]

Gruß Dirk

RCO
03.10.2004, 14:43
Also wenn es dabei um eine Art Datenübertragung gehen soll, und das ist vermutlich der Sinn, dann geht das auch einfacher. Nim dir einfach nen Nullmodemkabel, und verbinde die beiden RS232 Anschlüsse. Da sparst du Ports, kannst schneller senden und musst kein nicht bit in Bytes umrechnen.

Dirk hat allerdings Recht, eigentlich sollte es nach verbinden der MAssen funktionieren, ist ja bei anderen übertragungen auch so, 1. Masse 2. Data...

MFG Moritz

snoopomatic
03.10.2004, 14:57
Hallo!

Das mit den Seriellen Schnittstellen hört sich ja interessant an! Bei mir siehts folgendermaßen aus: habe eine C-Control Unit mit App-Board, Display und Tastatur, das möchte ich, quasi als "intelligents Terminal" mit dem Robby kombinieren - so entlaste ich den dessen Prozessor und kann auch Erfahrungen mit der Kommunikation von Microcontrollern sammeln...

Was den Hinweis betrifft nie zwei miteinander verbundene Ports als Ausgänge zu schalten - OK! Aber sind die Ports beim Einschalten, oder so vielleicht undefiniert und können so den (vielleicht gerade ebenfalls undefinierten) Ports auf der Gegenseite schaden? Bin jetzt nicht sicher, ob das Quatsch ist, ging mir nur gerade so durchn Kopf...

Danke nochmal für die Tips!

Grüße:
Snoopomatic

RCO
03.10.2004, 15:08
Das ist doch perfekt, dann würde ich das auf jeden Fall über Rs232 machen. Da brauchst du nur ein Kabel, und nicht irgendwie ne BAsel-konstruktion.
Du hast doch bestimmt schon Dante auf dem PC mit nem Terminal ausgelesen, oder , also 'Print' bei C-control. Auf der anderen Seite brauchst du dann nur 'Get' gelaube ihc, hab lange nciht mehr damit gearbeitet, und du empfängst ein Byte. Dann könnte Robby direkt noch Statusmeldungen zurückschicken, die du über dein Display ausgibts, z.B.:
Batteriespannung niedrig, Hinderniss gefunden etc.

Das ist meiner Meinung nach 10 mal einfacher, als da irgendwie das ganze mit Drähten zu verbidnen, die man Abfragt, und das klappt dann nicht richtig, oder so. Außerdem sparst du Ports und die Geschwindigkeit ist auch höher.
Überlegs dir!
Eigentlich gibts halt bei allen uCs fertige Kommunikationssysteme, USART (oder UArt), TWI, ISP, 1wire... RS232

MFG Moritz

snoopomatic
03.10.2004, 15:32
@Moritz: Jo - stimmt die Möglichkeit bietet sich wirklich an, nur daß das Austesten wohl etwas umstädnlich wird, weil man ständig hin- und herstöpseln muß... aber die Vorteil der Methode sind in der Tat größer. Ich hab nur erst überlegt, obs im CCBASIC überhaupt ein Gegenstück zu PRINT gibt, aber das scheint ja der Fall zu sein, so wie Du schreibst - na dann kanns ja, sobald wieder Zeit ist, los gehen!

Viele Grüße:

Snoopomatic

RCO
03.10.2004, 15:47
ALso ein Gegenstück zu print gibt 'in any case'! Ich hbas selbst schon über den PC germacht. Zum austesten, kannst ud auf der einen Seite mit Print an den PC senden. Dann könntest du einfach über Print jede Sekunde was senden, und sagen, wenn z.B. über geht das entsprechende ankommt gibst du was auf dem LCd aus. Dann weißt du, dass es käuft. Ich würds am besten so machen, dass du immer da empfangene übers LCd ausgibts, denn es gibt ja glaub ich auch input, das eine spukt dir das empfangene Byte aus, also 234 oder so, und das andere glaub ich nen Bcuhstaben. Musst du aml in der Hilfe nachlesen.

Schon gefunden:


Byteweise Schnittstellenkommunikation
Die Befehle GET und PUT bieten die Möglichkeit, einzelne Bytes über die serielle Schnittstelle zu übertragen.


PUT x
GET var
x Term, dessen Ergebnis auf ein Byte reduziert wird
var Bezeichner einer definierten Variable

Die Variable var dient zur Aufnahme des seriell empfangenen Bytes. Der GET-Befehl wartet solange, bis ein Byte empfangen wurde.


Einlesen von Werten
Um einem BASIC-Programm Daten während des Programmlaufs über die serielle Schnittstelle zuzuführen, beispielsweise Benutzereingaben von einem Terminal, kann der INPUT-Befehl benutzt werden.
INPUT var
var Bezeichner einer definierten Variable

Die Variable var dient zur Aufnahme des seriell empfangenen Wertes.

Der Wert wird im Textformat von der seriellen Schnittstelle erwartet, abgeschlossen durch ein Carriage Return Byte (&H0D). Der INPUT-Befehl wartet solange, bis ein Wert vollständig empfangen wurde.

Was das mit dem Carriage-Ding heißt, weiß ich nicht, hab ich aber auch nie gebraucht!

MFG Moritz

pebisoft
03.10.2004, 23:02
hallo, ich habe mein robby total ausgebaut.
habe zusätzlich 2x avr-board und 1x c-control und 6x akku 1.2 volt
in der 1. etage draufgebaut.
die motorsteuerung/antrieb habe ich vom robby getrennt, und wird über pwm vom 1. avr ausgeführt (6 batterien nur für motorantrieb).
der robby schickt alle steuerdatendaten über die serielle schnittstelle an dem 2. avr zur auswertung. von da aus schicke ich die daten an die c-control zur speicherung (wenn nötig), habe in der c-control ein 32kbyte speicherbaustein für die datenspeicherung eingebaut (2,50 euro bei reichelt) und den 8kbyte rausgeschmissen. der 2. avr wertet alle daten aus und gibt die motorbefehle an den 1. avr zur durchführung. mit dem lcd-display von der c-control kann ich wahlweise daten von dem avr lesen oder aber auch von der c-control.
ich habe im vorderen bereich in der 1. etage ein steckbrett montiert für den l298-baustein (motoantrieb) und einen zusätzlichen tsop17..!
es macht riesigen spass, alle komponenten harmonisch zu verbinden und dabei ganz interessante versuche zu machen (datenspeicherung, kommunikation rs232, ir usw.). ich brauch jetzt nicht mehr peinlichs darauf zu achten, ein programmierfehler mit dem c-control-robbybasic zu machen machen. die batterieladung habe ich auch durch einen 6-poligen kippschalter vom robby getrennt.
bis bald

RCO
03.10.2004, 23:41
Fotos währen bei so ner beschreibung immer interessant.
Warum verwendest du überhaupt noch die C-control?
Die AVR bieten doch sogar mehr speicher.

MFG Moritz

pebisoft
04.10.2004, 19:06
hallo, hier sind 2 fotos.
eine avr-platine habe ich wieder entfernt.
die robbyplatine schickt sämtliche erfassten daten, die es gibt über die
serielle schnittstelle zum avr-16. der wertet alle daten aus und steuert die
motoren (strom vom akkupack auf dem brett) über den l293d der auf dem steckbrett
montiert ist. da nur noch ein adc-port auf dem robby frei ist , klemme ich alle
zusätzlichen adc-sensoren auf dem avr-16 zum auswerten. das display wird vom avr-16 über
der c-control mit benutzt. so kann ich durch softwaresteuerung selber festlegen, von welchem
board die werte und andere sachen angezeigt werden sollen. auf der c-control habe ich den
eprom 24c256 (32kbyte) für 2 euro von reichelt eingebaut. hier kann mit abzug des
basicprogrammes ca 30kbyte daten dauerhaft gespeichert werden, die der avr-16 während der
erkundung der c-control zur speicherung übermittelt hat. der e-prom 24c256 kann mehrere
100000mal gelöscht werden (für 2euro...). der akkupack im robby versorgt nur die 3 platinen.
vorn auf dem steckbrett ist ein tsop 1736 der von meiner fernbedienung die daten für den
avr-16 empfängt oder aber nach wunsch (softwaremässige steuerung) auch ir-daten vom robby.
durch diese bastelarbeit habe ich sehr viel kennengelernt und noch nicht ausgelernt.
das steckbrett vorn drauf ist gold wert für die versuche, kann ich zum lernen nur empfehlen.
der robby ist ja auch zum lernen da, das man immer was neues ausprobiert.
die kommunikation untereinander mit verschiedenen controllern hat einen
grossen lernerfolg gebracht (klasse). die motoren habe ich vom robby abgekoppelt
weil die elektroniknische steuerung unterdimensioniert ist.
der c-control war mir beim wechselhaften laufen der motoren machmal abgeschmiert.
die abkopplung war aber auch noch ein bastelgrund, mein wunsch war, den robby-controller
nur für die datenerfassung/übertragung zu nehmen. wenn jetzt mal der l293d kaputt geht
durch überbeanspruchung der motoren, kann ich ihn schnell auswechseln.
folgende dinge habe ich schon mit erfolg gelernt: tsop1736, ir-dioden, l293d, gemeinsame
displaybenutzung, datentransfer mit ir und über kabel, datenspeicherung auf dem c-control,
umgang sharp-sensoren usw.
es gibt noch sehr viele versuche, packen wirs an.

pebisoft
04.10.2004, 19:08
2. foto