Hallo zusammen
ich hab letzt' meinen alten Lego-RCX Baustein wieder rausgekramt und irgendwie hat mich jetzt das Lego-roboter-bau fieber gepackt ^^ Nun wollte ich das ganze ein wenig anspruchsvoller gestalten und statt dem einen mitgelieferten Lichtsensor mit dem es ja relativ aufwendig ist ne Linie zu verfolgen, mir einen aus 6 CNY70 Reflexkopplern selbst bauen. Dies soll so ablaufen dass mit jeder sensor nur nen 1 bit wert ausgibt also sozusagen: dunkel: linie; hell: keine linie.
Dafür hab ich auch schon nen ganz geeigneten Schaltplan im internet gefunden:
Bild hier
(Poti R3: 100k R2:10k)
Jetzt muss ich sozusagen nur noch aus dem "digitalen" Signal der schmitt-trigger wieder ein analoges machen das dann im Baustein wieder in ein digitales verwandelt werden kann. Dummer Umweg, ich weiß, aber ich hab bei dem Baustein nunmal keine anderen möglichkeiten.
Ich weiß dass das ganze irgendwie mit Widerständen und optokopplern (Denn die Sensoren werden extern mit strom versorgt) aufgebaut werden kann, nur hab ich eben sowas noch nie wirklich gesehen und kann mir jetzt nichts konkretes drunter vorstellen. (vom berechnen der einzelnen widerstandswerte ganz zu schweigen)
Der eingang des RCX ist ein auf High(5V mit 10 kOhm pullup) liegender 10 Bit DA wandler also müsste man doch irgendwie durch gezieltes zu oder abschalten (eben durch die optokoppler) den Gesamtwiderstand zwischen GND und dem eingang des DA wandlers so regeln können dass mir am ende der DA wandler ein digitales Signal ausspuckt das mir sagt welche Sensoren Gerade weiß und welche schwarz wahrnehmen...
Nun würd ich gern wissen ob das denn alles so funktioniert wie ich mir das vorgestellt hab und was sehr freuen würde: wenn jemand grad zufällig so nen schaltplan für diese oder zumindest ne ähnliche konstrunktion hätte.
also ich hab ja bei den Sensoren ne andere VCC is später im stein... das muss man berücksichtigen... ich weiß eben nicht in wiefern der schaltplan bei mir dann sinn macht (es kann auch sein dass ichs grad nicht nachvollziehen kann was später wo angeschlossen ist...)
also die interne beschaltung des ports inst folgende
Bild hier
Deshalb müsste ich schauen dass ich sozusagen nen spannungsabfall bekomme... und dann müssen die werte der Widerstände auf den pullup abgestimmt werden oder?
Achso, die Referenzspannung ist intern festgelegt, oder wie ist das? Dann läufts wahrscheinlich nicht.
Edit:
Könnte doch gehen, wenn du da, wo "output" steht einen Elektrometerverstärker anschließt mit nem Verstärkungsfaktor, der entsprechend groß ist, sodass, wenn am Eingang die maximale Spannung (alle Sensoren an) anliegt, am Ausgang möglichst genau 5V anliegen.
Ohjeh ^^ Elektrometerverstärker... da hören meine kenntnisse wohl auch schon auf...
hmm ich hab das mal schnell mit paint skizziert wie ich mir das gedacht hab. Nur hab ich keinerlei ahnung ob das so auch funktioniert...
Also die widerstände r1,r2,...,rn haben verschiedene werte die jeweils das doppelte des vorgängers sind so könnte ich doch einen eindeutigen widerstandswert für jedes anligende signal schaffen oder bin ich da auf dem holzweg?
Also z.B für 101101 als werte die die Schmitt trigger ausgeben 1 * 1 + 0 * 2 + 1*4 + 1*8 + 0*16 + 1* 32 = 45 kOhm oder ähnlich...
Bild hier
Edit: ich merk grad dass GND für die optokoppler-LEDs auf dem bild fehlt... aber halb so wild ne?^^
Geh mal auf Wikipedia -> Operationsverstärker. Da bei den Anwendungsbeispielen steht ein "nichtinvertierender Verstärker". Den mein ich.
Zu deinem Vorschlag: Ich kenn mich nicht so gut aus, aber prinzipiell dürfte der gehen. Allerdings haben Phototransistoren, wenn ich mich nicht irre nen recht großen Widerstand, sodass das mit dem berechnen recht schwierig werden dürfte. Außerdem gibts da wieder das selbe Problem, dass die Spannung nicht ganz auf 5V kommt, man also vermutlich nicht einfach jedem Bit des gelesenen Wertes einen Sensor zuordnen kann. Ist der interne Pullup überhaupt genau genug? Ich würd den garnicht nutzen und das ganze eben wieder mit nem Elektrometerverstärker verstärken. Aber das ist dann schon wieder fast das selbe, wie mit dem R2R Netzwerk, nur wesentlich komplizierter zu rechnen.
Hmm, warum List Du die Digitalen Ausgänge der Schmittrigger nichtZitat von Thorone
einfach parallel mit nen Port ein und läßt den ADC einfach weg? OK.
da muß denn Softwaremäßig etwas geändert werden...
Oder Du nimmst einfach einen DAC Baustein, ist einfacher.
Gruß Richard
Ich denke mal, es sind nicht genug Ports frei, um jedem Sensor nen eigenen zu spendieren. Und ein DAC Baustein ist nicht wirklich einfacher, als ein r2r Netzwerk.
Kommt auf die auflösung an, wenn man ne Europlatine voo R´sZitat von justin
packen will muß man lange Löten, da ist ein DAC schneller aufgebaut.
Gruß Richard
letztendlich hab ich aber doch mit nem DAC immer noch das selbe problem... ich muss ja (siehe schaltplan des ports) den AD-Wandler-pin über nen widerstand mir ground verbinden dass so die spannung am AD wandler den gewünschten wert erreicht... ich denke mal so wie ich das gezeichnet hab müsste es doch gehen... leider so hab ich das gefühl wird das dann alles andere als linear... und ich hab keinerlei ahnung welche werte die widerstänmde haben müssten...
Lesezeichen