-         

Ergebnis 1 bis 4 von 4

Thema: Optokoppler an Drehgeber auslesen

  1. #1
    Benutzer Stammmitglied
    Registriert seit
    21.05.2004
    Alter
    34
    Beiträge
    50

    Optokoppler an Drehgeber auslesen

    Anzeige

    Hallo!

    Hab mich schon etwas heruninformiert, bin aber leider noch nicht ganz schlau geworden.

    Ich habe einen Optokoppler CNY70. (Anhang)

    Den würde ich gerne mit dem Roboterboard RNBFRA 1.2 "auslesen". Also ich habe mir gedacht, ich schließe ihn an den Drehgebereingängen an. Wenn dann die Messpunkt am Sensor vorbei kommt wird ein Impuls ausgegeben. (Hi/Lo Flanke - oder umgekehrt?)
    Es sind keine hohen Drehzahlen im Spiel. Also um genau zu sein, möchte ich nur wissen, wann der Sensor etwas misst - quasi wann das Rad eine bestimmte Position hat. Sobald es dort ist, soll es sich dann wieder in die andere Richtung drehen. Aber das nur nebenbei.
    Es geht also NICHT um Umdrehungszahl, sondern eher um eine bestimmte Position.

    Mein Problem, ist, dass ich nicht weiß wie ich das in Bascom schreiben soll. Im Datenblatt des Boards steht, dass ein Porgramm im Forum verfügbar sein wird, aber ich habs nicht gefunden - warscheinlich gibt es das noch nicht.
    Ich bräuchts aber schon

    Hoffe ihr könnt mir da etwas weiterhelfen.

    mfg

    Dave
    Angehängte Dateien Angehängte Dateien

  2. #2
    Super-Moderator Robotik Visionär Avatar von PicNick
    Registriert seit
    23.11.2004
    Ort
    Wien
    Beiträge
    6.836
    Hi, dave !

    schau mal Bascom Help:

    On INT0 Interrupt_PIN1

    CONFIG INTx = state
    Where X can be 0,1 and 4 to 7 in the MEGA chips.

    Remarks

    state LOW LEVEL to generate an interrupt while the pin is held low. Holding the pin low will generate an interrupt over and over again.

    FALLING to generate an interrupt on the falling edge.
    RISING to generate an interrupt on the rising edge..

    alles da.

    mfg robert


    edit: gilt für rn-Bus 33/34
    INT0 / INT1

  3. #3
    Benutzer Stammmitglied
    Registriert seit
    21.05.2004
    Alter
    34
    Beiträge
    50
    Hab jetzt mal das geschrieben:

    Code:
    $regfile = "m32def.dat"
    $crystal = 8000000
    
    Config Portd = Input
    Config Portc = Output
    
    
    On Int0 Interrupt_pin1
    
    Config Int0 = Rising                                        'Interrupt 0 bei L/H-Flanke auslösen
    Enable Int0                                                 'Externen Interrupt 0 einschalten
    Enable Interrupts                                           'Interrupts global zulassen
    
    
    Do
       If Pind.3 = 1 Then
       Print "Pind.3 = 1"
       Else
       Print "Pind.3 = 0"
    
       End If
    Loop
    
    End
    Dann kommt aber die meldung:
    Error: 219 Line 10: Int0 - Int3 ar always low level triggered in the mega

    Hab mein Problem hier gefunden:
    http://www.roboternetz.de/phpBB2/zei...rag.php?t=5581

    Mal schaun, was ich da schaff.

    Btw: Muss ich da noch eine außenbeschaltung machen, oder ist der CNY70 ready to go?
    Kann ich den direkt ans Board anschließen?

    mfg, Dave

  4. #4
    Super-Moderator Robotik Visionär Avatar von PicNick
    Registriert seit
    23.11.2004
    Ort
    Wien
    Beiträge
    6.836
    Hi,
    Gut, Low-Level is eh gut, wir wissen ja nicht, wie vernudelt die Flanke ausschauen wird.
    Vorwiderstand ca 220 Ohm für die LED an Plus
    Transistor emitter GND, Kollector Pull up 4k7 (ca)
    und am kollektor nimmst du die Spannung ab.
    Geht auch im Trockenen zu messen. Pull up ev. anpassen.
    mfg robert

Berechtigungen

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