PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Wie schliese ich meine Schaltung an den RP5?



Jon
27.01.2006, 07:33
Hallo,
ich habe gestern eine Schaltung entwickelt, die schwaches Licht aus weiter Entfernung wahr nimmt und über eine LED anzeigt (schwaches Leuchten=weitweg oder wenig Licht; starkes Leuchten=nah oder starkes Licht)
Die Schaltugn:

ÄHH? Wie füge ich ein Bild ein?

Wenn mir jemand schreibt, wie das geht, kommt auch das Bild nach!!!
Und weitere Details zur Schaltung!!!

Jon

Dirk
27.01.2006, 07:39
Hallo Jon,

... klingt, als wenn deine Schaltung an einen A/D-Eingang gehört.
Oder?

Gruß Dirk

Jon
27.01.2006, 07:43
Hallo Dirk,
dass dachte ich auch schon.
Ich kann jetzt aber nicht mehr schreiben, weil ich in die Schule muss und mein Zeugnis holen.
Schreib doch kurz zurück, wie ich ein *.jpg Bild anhänge.

Jon

Dirk
27.01.2006, 09:33
... einfach im Fenster "Antwort schreiben" ganz unten auf "Attachment hinzufügen" klicken und dann mit "Durchsuchen" das File auf deiner Festplatte auswählen.

Gruss Dirk

P.S.: Drücke die Daumen wegen deinem Zeugnis!!! O:)

Jon
27.01.2006, 17:04
Hallo Dirk,
mein Zeugnis ist gut. Aber nicht mehr darüber.
Unten ist das Bild mit der Schaltung (leider nicht sehr gut gelungen, weil ich es in Paint gemalt habe)

Und jetzt meine Fragen dazu:
Wie schliese ich die Schaltung an? C vom Transistor an ad[8]?
Wo finde ich auf der Experimentierplatine ad[8]?
Wie muss ich das Programm in der Definition ändern, damit ich die Daten auslesen kann?

Hoffe auf Antworten, die mir weiterhelfen!

Jon

Dirk
27.01.2006, 18:57
Hallo Jon,

im Kollektorkreis (evtl. auch im Basiskreis) solltest du noch einen Widerstand einfügen.
Man könnte am Kollektor (C) dann auch das Signal für AD8 abnehmen. Miß mal die Spannung an C. Wenn sie auch bei heller Umgebung unter 2,5 V bleibt, ist das o.k.
Liegt sie darüber, must du zwischen C und Masse noch einen Spannungsteiler bauen, der die Spannung auf 2,5 V begrenzt.

AD8 liegt bei Y216 auf der Experimentierplatine.

Gruss Dirk

Jon
29.01.2006, 09:04
Hallo Dirk,
im Kollektorkreis habe ich noch einen 100 Ohm Widerstand eingefügt.
Zum Anschluss an der Robboter muss ich die LED raus lassen, weil sonst die Signale nicht richtig verarbeitet werden. Der Widerstand wird in ad[8] eingesteckt.

Jetzt habe ich weitere Fragen:
1.Gibt es eine Möglichkeit mehr A/D Wandler zu bekommen, ohne andere Funktionen abzuschalten?
Wenn ja, wie?

2.Gibt es bei der Programmierung eine Möglichkeit den Robboter dazu zu bringen die Helligkeit, die er beim Start hat, zu Speichern und dann im Programm zu fragen: Wenn die Helligkeit größer ist als beim Start, dann mache das und das.
Wenn ja, wie?

Jon

corone
29.01.2006, 11:11
hallo.
zu 1.) kann ich nichts sagen, zu 2. aber schon. also...

du kannst oben bei den definitionen eigene variablen definieren. dort sind bereits einige drin, hier mal ein beispiel, wie das aussieht:

define ichbineinevariable byte[8]
du kannst byte oder bit nehmen (bit is halt kleiner... ich würde an dieser stelle byte nehmen.). die zahl in klammern gibt an, an welchem 'platz' die variable später gespeichert wird. du musst darauf achten, welche plätze für byte bereits belegt sind. wenn z.b. byte[8] bereits existiert, die 9 aber noch frie ist, solltest du dann die [9] nehmen ;-)

später im programm kannst du die variable dann belegen, etwa so:

ichbineinevariable = WERTDEINESSENSORS;

diese lässt sich dann natürlich später wieder abrufen:

if (ichbineinevariable >= WERTDEINESSENSORS)
then goto irgendeinprogrammabschnitt
else goto einandererprogrammabschnitt
bei diesem beispiel würde er den früheren sensorwert (der ja gespeichert wurde) mti dem aktuellen vergleichen. nur mal so als beispiel ;-)


so, hoffe, dass ich dir helfen konnte.

gruß
Corone

Jon
29.01.2006, 15:50
Ich denke, dass ich so erstmal weiter komme. Wenn ich weitere Fragen habe melde ich mich wieder.

Jon

P.S.: Ich hoffe weiterhin auf eine Antwort zu Frage 1!!!

Dirk
29.01.2006, 18:00
Hallo Jon,

P.S.: Ich hoffe weiterhin auf eine Antwort zu Frage 1!!!
Ja, geht mit externer Hardware.
Am RP5 selbst kann man aber ja doch wohl etwas abschalten:
- Wer braucht schon den Berührungssensor?
- Wenn du selbst einen Helligkeitssensor baust, brauchst du ja die beiden eingebauten nicht!?
Macht schon drei freie AD-Wandler.

Gruss Dirk

darwin.nuernberg
29.01.2006, 22:17
1.Gibt es eine Möglichkeit mehr A/D Wandler zu bekommen, ohne andere Funktionen abzuschalten?
Wenn ja, wie?


Es gibt I²C Wandler...
Da kannst du dann viele wandler anschließen....

Der PCF 8591 hat zwar nur8-Bit auflösung (0-255) aber vielleicht reicht das ja schon?

http://www.semiconductors.philips.com/pip/PCF8591P.html

Jon
30.01.2006, 06:54
@Dirk,
Die Funktionen vorne werden, soweit ich weis, über die Steckbrücken in der Nähe des Co-Prozessors abgeschaltet.
Nur welche Brücke ist für was?

Hast du eine Schaltung für die externe Hardware?

Jon

Dirk
30.01.2006, 08:30
Hallo Jon,

Die Funktionen vorne werden, soweit ich weis, über die Steckbrücken in der Nähe des Co-Prozessors abgeschaltet.

Genau.
Da sind ja 4 Steckbrücken. Von außen (Platinenrand) nach innen sind die für:
AD4 -> MIC (Lautstärke)
AD5 -> TOUCH (Berührung)
AD6 -> LIGHTL (Helligkeit links)
AD7 -> LIGHTR (Helligkeit rechts)

Ist da eine Steckbrücke abgezogen, kannst du den A/D-Wandler für andere Aufgaben nehmen.

Mit einem externen I2C-Portexpander am Robby ist das so eine Sache, weil der I2C-Bus der CC1 nicht von deren Betriebssystem unterstützt wird. Man muss also eine Software-Lösung schreiben. Das geht zwar in Form eines emulierten I2C-Bus (such mal danach hier im Forum), macht aber etwas Arbeit. Wenn du das fertig hast, kannst du einen ADC-Expander an diesen Bus anschließen. Aber: Lohnt die Mühe?

Gruss Dirk

Jon
04.02.2006, 11:04
@Dirk,
nochmal zwei Frage:
1. Warum darf die Spannung an ad[8] nich über 2,5 Volt liegen?
Würden auch 5,0 Volt gehen, ohne etwas zu zerstören?
2. Gibt es, um mehr A/D Wandler zu bekommen, irgendwie die
Möglichkeit, wie beim USB-HUB, einen A/D-HUB zu bauen?

Jon

Dirk
04.02.2006, 16:56
Hi Jon,


1. Warum darf die Spannung an ad[8] nich über 2,5 Volt liegen?
Würden auch 5,0 Volt gehen, ohne etwas zu zerstören?
Weil die Referenzspannung beim RP5 fest auf 2,5 V eingestellt ist.
Mit 5 V würde man nicht unbedingt den A/D-Wandler zerstören, aber alles über 2,5 V würde ja nicht mehr messbar sein, also macht es keinen Sinn, eine höhere Spannung direkt anzulegen.
Wenn du aber bis 5 V messen willst, must du einen Spannungsteiler vor den Eingang setzen. Nimmst du z.B. 2x 4,7 kOhm, kannst du an den Spannungsteiler 5 V anlegen und messen.


2. Gibt es, um mehr A/D Wandler zu bekommen, irgendwie die
Möglichkeit, wie beim USB-HUB, einen A/D-HUB zu bauen?
Ja, wie darwin.nuernberg geschrieben hat, gibt es z.B. A/D-Wandler-Bausteine am I2C-Bus.

Gruss Dirk

Jon
06.02.2006, 15:50
@Dirk,
ich habe jetzt schon solange hier im Forum nach dem emulieren I2C-Bus gesucht, bis mein Vater meinte, ich solle mal schlussmachen.

Jetzt die Frage:
Weißt du, wo ich für den emulierten I2C-Bus suchen kann?
Eventuell in der Suche, aber mit welchem Begriff?

Auf die Frag, ob die Mühe lohnt, würde ich im Moment sagen, dass ich ohne diese Arbeit den Robboter nicht so erweitern kann, wie ich will. Also mach ich mir jetzt die Mühe und habe dann später hoffentlich mehr Ausbaumöglichkeiten.

Jon

Dirk
06.02.2006, 16:21
Hallo Jon,

die Routinen für den emulierten I2C-Bus hat "WINDT H.J." geschrieben, such mal nach ihm als Autor.
Sie sind im Download-Bereich:
https://www.roboternetz.de/phpBB2/dload.php?action=category&cat_id=26

Gruss Dirk

Jon
12.02.2006, 17:23
Wie wäre es mit dem I2C-Modul von Conrad?
http://www1.conrad.de/conrad/layout2/detail.fh?fh_secondid=B2C198266&fh_view_size=50&action=search&fh_eds=%c3%9f&xfh_view=search&fh_sort_by=&fh_host=www1.conrad.de&fh_session=%2fscripts%2fwgate%2fzcop_b2c%2f~flN0YX RlPTE3NTk1NDk4NDI%3d&fh_location=%2f%2fconrad_de_b2c%2fde_DE&fh_search=C-Control&fh_refview=search
Wenn des überhaupt geht!
Ich weiß es halt nicht O:)

Jon

Jon
15.02.2006, 13:10
Ich weiß nicht, aber könnte es sein, dass der oben genannte Link nicht funktioniert?
Hier noch mal ein anderer, der hoffentlich funktioniert und auch für mich verwendbar ist:

www.conrad.de
und dann Artikel-Nr.
198280 - 62
eingeben.

In der Hoffnung, dass der jetzt geht.
Was ich wissen möchte ist ja oben genannt und muss ich, denke ich, nicht wiederholt werden.

Jon

P.S.:Wenn die Meldung kommt, dass der Parameter inich in Ordnung ist Seite neu laden!

Dirk
15.02.2006, 21:22
Hallo Jon,

egal wie du's drehst und wendest:
Der Robby braucht eine Software-Lösung, wenn er I2C-Teile ansteuern soll. Das ist die von Windt.
Hardware brauchst du eigentlich nicht, höchstens 2 Pullup-Widerstände an den beiden Ports des Robby, die für SCL und SDA benutzt werden sollen.

Also: Du schließt dein Gerät mit I2C-Bus (z.B. Kompass CMPS03) an 2 freie Digital-Ports des Robby an. Von den Ports 2 Widerstände 10k an +5V.
Dann die Software von Windt so anpassen, wie es für das I2C-Gerät nötig ist. Das wars.

Gruss Dirk

Jon
16.02.2006, 13:34
Hallo Dirk,
von Windt gibt es drei Programme.
Welches ist das richtige?

Jon

Dirk
16.02.2006, 15:58
Hallo Jon,


von Windt gibt es drei Programme.
Welches ist das richtige?

Keins seiner Programme ist fertig für einen I2C-A/D-Portexpander geschrieben.
Du musst das in Eigenleistung machen.
Kauf dir evtl. zuerst die Hardware (Portexpander-IC, Pullup-Widerstände ...) und bau sie auf eine Lochrasterplatine. Dann schließ das ganze an den Robby an.
Die Software für den emulierten I2C-Bus für den CMPS03 kannst du als Grundlage nehmen.
Weitere Schritte:
Anpassen der Ports (SCL/SDA) an deine Konstruktion
Lesen des Datenblatts des Portexpander: Welche Adresse hat er? Wie wird er ausgelesen? ...
Anpassen der Software an den Bedarf des Portexpander.

Viel Erfolg!

Gruss Dirk

Jon
16.02.2006, 18:57
@Dirk,

Viel Erfolg!

Das wird ein Problem für mich sein.

Ich habe in diesem Bereich wenig Ahnung, nicht genügend Zeit und, glaube ich, etwas zu wenig Geld!!
Wenn du lust und Zeit hast, wäre es schön, wenn du mir eine Schaltung (für den CMPS03) und die Teile (Bestellnummer oder so), die ich brauche (möglichst bei Conrad, da er bei mir in der Nähe ist), schicken könntest.

!!NUR WENN DU LUST UND ZEIT HAST!!

Sonst lass es und ich muss erst mal mit den Gegebenheiten des RP5 zurecht kommen.

Jon

Dirk
17.02.2006, 18:24
Hallo Jon,

wenn du den CMPS03 (ein elektronischer Kompass mit I2C-Schnittstelle) an den Robby anschließen willst, brauchst du nur den CMPS03, 2 Widerstände 10kOhm 1/4W, einen kleinen Tastschalter, einen Elko 100 uF/16V und ein paar Kabel.
Das Ganze kannst du auf einer Lochrasterplatine oder auf der Experimentierplatine zum RP5 aufbauen.

Mehr Hardware ist nicht nötig. Die Software von Windt hast du ja.

Für deinen eigentlichen Plan einer Erweiterung um mehrere A/D-Wandler kann ich nicht helfen, weil ich so einen Baustein (z.B. PCF 8591) noch nicht selbst eingesetzt habe. Da können aber sicher andere hier helfen.
Es gibt auch Schaltungsbeispiele im Netz.

Gruss Dirk

Jon
17.02.2006, 19:02
@Dirk,
und wie schliese ich die Teile, die du oben genannt hast, zusammen?
In welcher Reihenfolge?

Jon

Dirk
18.02.2006, 11:33
Hallo Jon,


und wie schliese ich die Teile, die du oben genannt hast, zusammen?
In welcher Reihenfolge?

Kauf dir die Teile erst mal. Beim CMPS03 ist eine Anleitung zum Anschluss an den I2C-Bus dabei. Wenn dann noch etwas nicht klar ist, kannst du hier konkreter nach Details fragen.

Gruss Dirk

Jon
19.02.2006, 07:52
Hallo Dirk,
wo bekomme ich den CMPS03 her?
Wenn ich bei Conrad und ELV unter dem Begriff CMPS03 such, finde ich nichts.
Muss ich was anderes eingeben oder haben Conrad und ELV nicht den CMPS03?
Wer hatt ihn dann?

Jon

Jon
19.02.2006, 07:58
Ich habe eben auch bei Reichelt nachgaschaut.
Die haben ihn auch nicht, wenn ich unter CMPS03 suche.

Jon

Jon
19.02.2006, 12:50
Hallo Dirk,
noch eine Frage:
Ich habe jetzt versucht ein Programm auszuprobieren, bei dem der LCD benutzt wird.
Ergebnis: Der LCD zeigt nur noch schrott an.
Wenn ich jetzt aber den Anschluss an die Experimentierplatine abnehme geht's.
Liegt des am Spannungsteiler oder so?
Unten nochmal ein Bild mit der aktuellen Schaltung für meine Sensoren.
Den 100Ohm Widerstand vor ad8 habe ich wieder rausgenommen, da die Spannung sonst so niedrig ist, dass eine ordentliche Messung der Helligkeit nicht mehr möglich ist.

Jon

P.S.: Ich will weiterhin wissen, wo ich den CMPS03 herbekomme.

Jon
19.02.2006, 18:35
Es gibt I²C Wandler...
Da kannst du dann viele wandler anschließen....

Der PCF 8591 hat zwar nur8-Bit auflösung (0-255) aber vielleicht reicht das ja schon?
http://www.semiconductors.philips.com/pip/PCF8591P.html

Ist das bei Conrad die
Artikel-Nr.: 152676 - 62
oder, was ich eher glaube
Artikel-Nr.: 152668 - 62 ??
Der eine hat ein P hinten dran, der andere ein T.
Wo ist genau der Unterschied?

Was genau macht der PCF 8591 ?

Wie müsst ich ihn erweitern, damit ich ihn verwenden kann?

Jon

Dirk
19.02.2006, 18:57
Hallo Jon,


noch eine Frage:
Ich habe jetzt versucht ein Programm auszuprobieren, bei dem der LCD benutzt wird.
Ergebnis: Der LCD zeigt nur noch schrott an.
Wenn ich jetzt aber den Anschluss an die Experimentierplatine abnehme geht's.
Liegt des am Spannungsteiler oder so?
Unten nochmal ein Bild mit der aktuellen Schaltung für meine Sensoren.
Der Spannungteiler 2x 220 Ohm hat zwischen + und GND keinen Sinn: Er verbraucht nur 11 mA Strom.
Den Kollektor direkt an AD8 zu legen geht so nicht, weil der Eingang hochohmig ist. Der Transistor braucht einen Kollektorwiderstand.
Wahrscheinlich arbeitet er sowieso als Schalter (Licht an, Transistor schaltet ein). Damit wäre eine Messung nicht möglich. Um eine analoge Ausgangsspannung zu erreichen, muss man die Basis mit einem Spannungteiler auf 0,65V legen. Der Fototransistor liegt dann parallel zum oberen Widerstand (dem an +). Die Widerstände kann ich so nicht dimensionieren, müßte das auch im Aufbau probieren.

Den CMPS03 gibts bei www.roboter-teile.de

Gruss Dirk

Jon
20.02.2006, 13:43
Hallo Jon,

[quote]Der Spannungteiler 2x 220 Ohm hat zwischen + und GND keinen Sinn: Er verbraucht nur 11 mA Strom.
Ist verständlich.


Den Kollektor direkt an AD8 zu legen geht so nicht, weil der Eingang hochohmig ist.
Auch klar.


Der Transistor braucht einen Kollektorwiderstand.
Wahrscheinlich arbeitet er sowieso als Schalter (Licht an, Transistor schaltet ein).
Das tut er.


Um eine analoge Ausgangsspannung zu erreichen, muss man die Basis mit einem Spannungteiler auf 0,65V legen. Der Fototransistor liegt dann parallel zum oberen Widerstand (dem an +). Die Widerstände kann ich so nicht dimensionieren, müßte das auch im Aufbau probieren.
Sorry, aber das verstehe ich nicht.
Wenn du kannst, wäre es schön, wenn du, so wie ich, eine kleine Skizze mit Paint oder so machen würdest, damit ich es auch verstehe!!
Kann auch ohne Ohmangaben und Bauteilangaben sein!


Den CMPS03 gibts bei www.roboter-teile.de
Kann ich mir jetzt nicht kaufen.
Wenn ich meinem Vater sagen würde, dass ich den mir anschaffen will, würde der mir den Kopf abreißen!! O:)

Jon

Jon
20.02.2006, 17:23
@darwin.nuernberg
Es gibt jetzt auch von Windt einen emulierten I2C-Bus für den
PCF 8591.

Das Programm kann ich doch warscheinlich verwenden?

Dann würde ich das Problem, mit den wenigen AD-Wandler, versuchen darüber zu lösen.

Jon

P.S.:Weiterhin: Wo ist der unterschied zwischen T und P hinter dem PCF 8591 ?
Der eine ist in SMD-Bauform, der andere nicht, oder wie?