Florian
03.01.2010, 14:51
Hallo allerseits! :)
Vielleicht hat es der Eine oder Andere schon festgestellt, ich bin in letzter Zeit eher seltener hier ... aber das nicht ohne Grund.
Ich befinde mich mittlerweile mitten im 1. Semester meines Studiums:
BSc Mikrosystemtechnik am Imtek (Uni Freiburg)
Als Motivation gibt es im 1. Semester ein Projekt, das als Wettbewerb ausgelegt ist.
Dabei sollen in kleinen Gruppen Lego-Roboter (Generation Mindstorms RIS 1.5) gebaut werden.
Diese sollen einer Linie folgen (auch in einem Tunnel -> dunkel), Hindernissen auf der Linie ausweichen und eine Steigung entweder an Farbmarkierungen oder besser, eben an der Steigung erkennen, um die darauf folgende 90° Kurve langsamer zu passieren.
Ansich kein Problem, denkt sich der eingefleischte Roboter-Bastler, ein AVR, ein paar Sensoren, Motortreiber und Motoren, Programm schreiben, fertig.
Allerdings müssen wir den RCX und 4 Standardmotoren für den Antrieb verwenden, Zusatz-Elektronik ist allerdings erlaubt.
Da die Sensor-Eingänge des RCX ja bekanntlich sehr beschränkt sind, dachte ich mir, schließe ich einen AVR an, der die Sensoren auswertet und die aufbereiteten Daten dann analog an den RCX weitergibt.
Nun ist das Problem, dass der RCX im passiven Sensor-Modus einmal GND und einmal den ADC-Pin mit Pullup 10k gen 5V bietet.
Ich muss also, um eine Spannungsänderung im ADC messen zu können, die Spannung gen GND runterziehen, den Pullup kann man leider nicht abschalten.
Da stellt sich die Frage, wie mache ich das am besten?
Ich möchte auf jeden Fall eine externe Spannungsquelle verwenden, diese ist stabilisiert auf 5V.
Dann könnte ich ja eigentlich die RCX-Masse mit der Masse meiner Elektronik verbinden und mit Hilfe der AVR-Pins und einer Hand voll Widerstände Vcc nach unten ziehen, oder?
Je nachdem wie viele Pins ich dann auf GND setze, könnte ich dann wie beim R2R-Netzwerk die Spannung einstellen, bloß anders herum...?
Sehe ich das soweit richtig, oder habe ich einen Denkfehler?
Liebe Grüße
Florian
Vielleicht hat es der Eine oder Andere schon festgestellt, ich bin in letzter Zeit eher seltener hier ... aber das nicht ohne Grund.
Ich befinde mich mittlerweile mitten im 1. Semester meines Studiums:
BSc Mikrosystemtechnik am Imtek (Uni Freiburg)
Als Motivation gibt es im 1. Semester ein Projekt, das als Wettbewerb ausgelegt ist.
Dabei sollen in kleinen Gruppen Lego-Roboter (Generation Mindstorms RIS 1.5) gebaut werden.
Diese sollen einer Linie folgen (auch in einem Tunnel -> dunkel), Hindernissen auf der Linie ausweichen und eine Steigung entweder an Farbmarkierungen oder besser, eben an der Steigung erkennen, um die darauf folgende 90° Kurve langsamer zu passieren.
Ansich kein Problem, denkt sich der eingefleischte Roboter-Bastler, ein AVR, ein paar Sensoren, Motortreiber und Motoren, Programm schreiben, fertig.
Allerdings müssen wir den RCX und 4 Standardmotoren für den Antrieb verwenden, Zusatz-Elektronik ist allerdings erlaubt.
Da die Sensor-Eingänge des RCX ja bekanntlich sehr beschränkt sind, dachte ich mir, schließe ich einen AVR an, der die Sensoren auswertet und die aufbereiteten Daten dann analog an den RCX weitergibt.
Nun ist das Problem, dass der RCX im passiven Sensor-Modus einmal GND und einmal den ADC-Pin mit Pullup 10k gen 5V bietet.
Ich muss also, um eine Spannungsänderung im ADC messen zu können, die Spannung gen GND runterziehen, den Pullup kann man leider nicht abschalten.
Da stellt sich die Frage, wie mache ich das am besten?
Ich möchte auf jeden Fall eine externe Spannungsquelle verwenden, diese ist stabilisiert auf 5V.
Dann könnte ich ja eigentlich die RCX-Masse mit der Masse meiner Elektronik verbinden und mit Hilfe der AVR-Pins und einer Hand voll Widerstände Vcc nach unten ziehen, oder?
Je nachdem wie viele Pins ich dann auf GND setze, könnte ich dann wie beim R2R-Netzwerk die Spannung einstellen, bloß anders herum...?
Sehe ich das soweit richtig, oder habe ich einen Denkfehler?
Liebe Grüße
Florian