-
        

Seite 1 von 2 12 LetzteLetzte
Ergebnis 1 bis 10 von 15

Thema: GP2D12 als digitalsensor?

  1. #1
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    01.06.2004
    Beiträge
    118

    GP2D12 als digitalsensor?

    Anzeige

    Hallo,
    ich hab den Sharp GP2D12 Analog-Sensor. Habe aber keine ADC-Ports mehr an meinem AVR. Ich habe jetzt den sensor über einen Transistor angeschlossen. Ich möchte jetz das der Transistor 5V schaltet wenn an der Basis ne bestimmte Voltzahl von der Lichtschranke anliegt. Aber ich glaube das Transistoren grundsätzlich bei ca. 1,5V schalten oder so. Kann ich vielleicht die Lichtschranken-ausgangsspannung auf ein bestimmtes Niveau angleichen damit sie bei einer bestimmten entfernung diese 1,5V überschreitet?

    Vielen Dank für eure hilfe.

    Gruß, Markus

  2. #2
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    01.06.2004
    Beiträge
    118
    Ich hab grad nach ein bischen stöbern im Conrad bemerkt das es für sowas sogenannte Schwellwertschalter gibt. Hat da jemand erfahrung damit? Welchen nimmt man denn da am besten?

  3. #3
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    04.09.2004
    Ort
    Bürstadt
    Alter
    30
    Beiträge
    383
    Ich kenn mich da auch nicht so aus.. aber ein Schmitt Trigger (oder?) vergleicht 2 spannungen und wenn eine höcher ist dann schaltet er auf High..
    Nobody is Perfect
    Visit www.ringo.roboterbastler.de last update: 23.05.2009

  4. #4
    Super-Moderator Lebende Robotik Legende Avatar von Manf
    Registriert seit
    30.01.2004
    Ort
    München
    Alter
    64
    Beiträge
    12.370

  5. #5
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    02.02.2004
    Ort
    Greifswald
    Alter
    37
    Beiträge
    102
    Mensch! Das ist die Funktion eines Komparators, eine der absoluten Grundschaltungen des Operationsverstärkers.

    Der nichtinvertierende Eingang (+) kommt an dein Sensor-Signal,
    der invertierende Eingang (-) an ein Poti, womit du den Schwellenwert einstellen kannst,

    und mit dem Ausgang kannst du einen Transistor oder den AVR-Pin direkt ansteuern.

    Wenn du Hysterese hinzufügt (die zeigt das Diagramm von Manf), kannst du ausschließen, dass der Komparatorausgang chaotisch hin- und herschaltet, wenn Sensorausgang und Schwellenwert fast deckungsgleich sind und minimal fluktuieren. Du erhältst damit eine Beruhigung des Ausgangssignals.

    Eine Alternative wäre, die AD-Ports mit einem Multiplexer umzuschalten.

    Ein Transistor (Silizium) schaltet ab etwa 0,6 V.

    Jan
    Kommt hier noch jemand aus Greifswald?
    Dann könnte man ja mal ein gemeinsames Projekt starten . . .

  6. #6
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    17.10.2004
    Ort
    PB
    Beiträge
    123
    Guten Abend!

    Warum nimmst du nicht einfach den PCF8591 von Phillips?
    Der wandelt dir sogar bis zu 4 analoge Signale in digitale Form um und schiebt dir das digitale Signal auf den I²C Bus.
    Einen Digital/Analog Wandler hat der Chip auch noch integriert.
    Edit: Nur so als kleine Korrektur: Transistoren schalten ab 0,7V Basisvorspannung durch. (Jedenfalls die meisten)

    Grüße,
    Jonas

  7. #7
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    01.06.2004
    Beiträge
    118
    Danke für die vielen Antworten. Das mit dem PCF8591 klingt mal ganz gut. Allerdings habe ich noch nie mit diesen von-IC-zu-anderem-IC-bussen zu tun gehabt. Dieser I²C-Bus ist das gleiche wie der SPI von meinem ATmega162 oder? Hat jemand zufällig schon einen Bascom-Codeschnipsel zum ansteuern eines PCF8591?

  8. #8
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    02.02.2004
    Ort
    Greifswald
    Alter
    37
    Beiträge
    102
    Ich würde dir eher einen Multplexer vorschlagen, das ist ein billiges CMOS-4000er IC, mit dem du aus einem AD-Eingang bis zu 16 machen kannst. Der Baustein heißt CD4067. Such dir mal bei Google ein Datenblatt. Du brauchst kein neues Bus-Protokoll zu implementieren, das müsstest du beim I2C-CHip PCF8591 tun. I2C ist nicht SPI.

    Ich verwende es selber auch in meinem Robot. Es braucht 4 Digitalports, um den jeweiligen Eingang zu selektieren und einen AD-Pin für seinen Ausgang.

    ICh habe bei meinem Aufbau die oberen 4 Pins des AD-Ports als Outputs definiert, und den Eingang AD0 als Analogeingang benutzt. Den internen AD-Multiplexer setzt du also für immer auf Eingang 0. Auf die oberen Pins schreibst du einfach die Nummer des Kanals, den du auslesen willst. Dann startest du die AD-Konversion.

    So opferst du zwar 4 Pins, bekommst aber 16 dafür. Und der PCF8591 hat glaube ich auch nur 2 oder 4 AD-Kanäle.

    Gruß,

    Jan
    Kommt hier noch jemand aus Greifswald?
    Dann könnte man ja mal ein gemeinsames Projekt starten . . .

  9. #9
    Gast
    Ja aber der CD4067 ist ja nur ein multiplexer. Wenn ich das richtig verstanden hab brauch ich ja trozdem einen AD-Port an meinem Atmega an den ich dann halt über den CD4067 mehrere analog-spannungen anlegen kann ja? Mein Problem ist das die beiden AD-Pins des Atmegas als zweite funktion das 2.UART haben. Und das UART hab ich schon angeschlossen und will das nicht wieder abreißen wenns schon funktioniert. Somit habe ich keinen AD-Pin mehr frei und kann mir den CD4067 sparen oder?

  10. #10
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    01.06.2004
    Beiträge
    118
    Hoppla, war nicht eingeloggt

Seite 1 von 2 12 LetzteLetzte

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •