Ich wollte nur wissen, ob ich
an PortC den Sensor auslesen
und gleichzeitig die Motoren
ansteuern kann? Das kann
ich nicht aus dem Datenblatt
entnehmen...
Belegungsplan habe ich nicht,
da mir die Idee mit den Sensoren
erst später kam und ich vorher
das Controllerbord auf Kollisions-
Sensoren ausgelegt habe. Ich
habe die Motoren an Port C
angeschlossen, weil ich das ganze
sehr klein halten wollte und Port C
am besten dazu passte. Den MicroC
und die Polwender für die Motoren
habe ich auf 7cm * 5cm bekommen,
da ist dann nicht viel mit umbauen.
Kann man jetzt den Sensor auslesen
über den Port C auslesen und die
übrigen Pins von Port C als Output
verwenden?
Steht aber drin, sonst könnte es niemand sonst dir sagen.
OK, ich will das trotzdem mal gelten lassen. Zugegeben, ich hab schon manches in den Datenblättern verzweifelt wiederzufinden versucht, die sind ja doch recht umfänglich. Ist schon auch Erfahrungssache, Manuals auf die "richtige Weise" diagonal zu lesen; die Erfahrung macht es dann, dass man schnell an der passenden Stelle sucht.
In der Regel (ich arbeite mit PICs) können um der Flexibilität willen die ADC-Pins einzeln oder zumindest in verschiedensten Konstellationen (ältere PICs)als digitale I/Os oder ADC-Eingänge konfiguriert werden. Notfalls musst du ein wenig umlöten.
Gut, gut, das klingt schon recht kompakt. Zur Not wird das das Herz eines späteren Kleinprojekts und die neue LP-Größe muss sich dem aktuellen Projekt anpassen. Aber sieh erstmal zu, ob es doch klappt.
Aber nicht ärgern: Mit dem BER-Effekt (auch Schönefeld-Effekt genannt) befindest du dich in "bester" Gesellschaft mit hochbezahlten "Profis".
Hallo!
Langsam arbeite ich mich in das Thema ein. Ich habe den Sensor GP2Y0A21YK0F. Abbildung 5 im Datenblatt zeigt: Analog Output Voltage vs. Distance to Reflective Objekt. Im Bereich bis 10cm verhält sich der Sensor so, wie abgebildet. Doch dann bleibt die Spannung bei ca. 2,55V konstant, ganz gleich in welcher Entfernung ein Hindernis auftritt.
Kann ich davon ausgehen, dass der Sensor beschädigt ist?
Oder liegt ein Denkfehler, Anschlußfehler vor?
V0 liegt an einem ADC-Pin. GND und VCC sind auch entsprechend angeschlossen. Die Schaltung mit den Kondensatoren und Widerständen, um eine stabile Spannungsversorgung zu haben, habe ich noch nicht eingebaut.
Kann mir jemand weiterhelfen?
Gruß, karwenzman
Hallo karwenzman.
Zunächst Willkommen im Forum.
Leider hat deine Frage nicht viel mit dem Thema des TO (Thread Owner, Eröffner des Themas) zu tun. Bitte erstelle beim nächsten Mal einen eigenen Thread für deine neue Frage. Dort können wir gerne dein Problem weiterbehandeln.
Vielleicht lässt sich dein Problem aber schnell aus der Welt schaffen, daher hier eine Erste Hilfe:
Warum misst du überhaupt gezielt, wenn die dringend angeratene Pufferung der Versorgung nicht gegeben ist? Das macht nicht wirklich Sinn!
Sind die 2,55Volt die unmittelbare, mit Multimeter gemessene Ausgabespannung oder vielleicht der (nur falsch umgerechnete) Ausgabewert des D/A-Wandlers im µController? Falls JA, dann wird dessen Eingang schlicht im oberen Anschlag kleben.
Davon kann dich niemand abhalten, aber diese Vermutung scheint mir eher unbegründet.
Es hat einige Zeit gedauert...
Bei Bedarf werde ich einen neuen Thread starten - danke RoboHolIC.
Mittlerweile habe ich folgendes ausprobiert:
http://www.segor.de/L1Bausaetze/gp2d12.shtml
http://www.rn-wissen.de/index.php/Bild:Sharp_filter.png
Leider hat sich das verhalten des Sensors nicht verändert. Die ADC-Werte schwanken nur zwischen 700 und 595. Größere Distanzen werden nicht gemessen.
ADC_Set(ADC_VREF_VCC,ADC6);
ADC6_RAW = ADC_Read();
ADC6_VOLT = 5.0/1023.0*ADC6_RAW;
Werde den Sensor umtauschen.
Früher hast du aber behaupte, dass nur Werte bis 255 ausgegeben werden. Der ADC-Wertebereich 700..595 sind aber ca. 3,4..2,9Volt. Irgendwie kriege ich das jetzt nicht zusammen. Immerhin hast du die heikle Versorgungspufferung scheinbar nachgeholt.
Strahlt dein Sensor wirklich in den freien Raum?
Hast du Gelegenheit (gehabt), die Spannungen am Sensor mit einem Oszilloskop anzusehen?
Hast du auch mal mit einem Multimeter gemessen? Vielleicht ist die ADC-Configuration schlicht fehlerhaft? Sensor schon mal StandAlone gemessen? Bitte mach das mal und berichte: Signalleitung offen, keine Verbindung zum Controllerboard; es ist denkbar, dass ein Pullup-Widerstand das analoge Signal verfälscht und an die Aussteuergrenze bringt. 700 bzw. 3,4Volt wäre nach Kennlinie ja ganz OK, aber vielleicht kriegt der Ausgangstreiber die Leitung wegen einen Pullups nicht so recht Richtung GND getrieben. Das würde zur beschriebenen Kurzsichtigkeit den Sensors passen.
Lesezeichen