- MultiPlus Wechselrichter Insel und Nulleinspeisung Conrad         
Seite 1 von 2 12 LetzteLetzte
Ergebnis 1 bis 10 von 13

Thema: Codeproblem: Motor und Sensor

  1. #1
    Erfahrener Benutzer Begeisterter Techniker
    Registriert seit
    16.05.2004
    Beiträge
    304

    Codeproblem: Motor und Sensor

    Anzeige

    E-Bike
    HI!
    Ich hab ein Problem bei diesem Code:

    Code:
    list p=16f84a		
    include <p16f84a.inc>
    
    init
        bsf     STATUS, RP0    
        movlw   B'00000000'   
        movwf   TRISB 
        bcf     STATUS, RP0    
        clrf    PORTB
    
    main
    	btfsc PORTA,2
    	call right
    	btfsc PORTA,3
    	call left
    	call forward
    	goto main 
    
    left
    	bcf PORTB,0
    	bcf PORTB,1
    	bsf PORTB,2
    	bcf PORTB,3
    	return
    right
    	bsf PORTB,0
    	bcf PORTB,1
    	bcf PORTB,2
    	bcf PORTB,3
    	return
    	
    forward
    	bsf PORTB,0
    	bcf PORTB,1
    	bsf PORTB,2
    	bcf PORTB,3
    	return	
    	
    
    end
    Und zwar sind am Port RA2 und RA3 einfache Sensoren mit einem TTL Pegel und an RB0 bis RB3 ein L293 mit 2 Motoren.

    Je nach dem welcher Sensor einen High Pegel macht, soll dann ein Motor stehen bleiben, aber es tut sich gar nix. Nur einer der Motoren dreht sich und je nach dem wie Pegel der Eingänge steht, dreht sich dieser einmal schnell, einmal langsam und einmal sehr langsam.

    Ich hoffe ich konnte mein Problem schildern und dass mir jemand helfen kann. Zum evtl leichterem Verständnis hab ich den Schaltplan eingefügt. Es ist ein einfacher Roboter der einer Linie nachfahren soll. Die Sensoren sind zZ einfache Tasten weil ich dachte dass es daran liegen könnte, aber es wars nicht.
    Miniaturansichten angehängter Grafiken Miniaturansichten angehängter Grafiken pprob.jpg  

  2. #2
    Erfahrener Benutzer Lebende Robotik Legende Avatar von PICture
    Registriert seit
    10.10.2005
    Ort
    Freyung bei Passau in Bayern
    Alter
    73
    Beiträge
    11.077
    Hallo djdune!
    Ich habe zuerst Dein Schaltplan kurz Angeschaut und habe ich festgestellt, das der L293D nicht richtig beschalted ist. Meine Meinung nach müssen die alle Gnd pins mit 0V verbunden werden. Bei Dir sind sie nicht.
    http://www.datasheetarchive.com/
    Hol Dir, bitte, ein Datenblatt fur L293D und bringe seine Bechaltung zur Ordnung. Wenn Hardware OK wird und die Motoren werden bei Steuerung des L294 direkt mit Tasten richtig laufen, dann schaue ich mir den Code an. (Wenn´s immer noch nicht funktioniert.)
    MfG

  3. #3
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    17.08.2004
    Ort
    Winterthur
    Beiträge
    312
    Hallo

    Meine Meinung nach müssen die alle Gnd pins mit 0V verbunden werden.
    Sind die nicht intern verbunden? Alle anschliessen hätte dann rein thermische Gründe.
    Mal nachmessen...

    Gruess
    Fritzli

  4. #4
    Neuer Benutzer Öfters hier
    Registriert seit
    04.08.2005
    Ort
    Wien
    Beiträge
    16
    Sind die nicht intern verbunden? Alle anschliessen hätte dann rein thermische Gründe.
    Also soweit ich weiß, ist es doch so, dass 2 Gnd zu Vss1 und 2 anderen zu Vss2 gehören. Irgendwo hab ich gelesen, dass es wichtig ist alle zu verbinden.

    Ich muss aber sagen, dass ich es nicht durchgemessen habe.

  5. #5
    Erfahrener Benutzer Begeisterter Techniker
    Registriert seit
    16.05.2004
    Beiträge
    304
    Das ist nicht das Problem. Ich hab das jetzt auf einem Digital-Übungskoffer aufgebaut. Auch wenn ich Leds an die Ausgänge schließe, kommt je nach Schaltzustand das Bitmuster raus, dass eigentlich sein sollte

  6. #6
    Erfahrener Benutzer Lebende Robotik Legende Avatar von PICture
    Registriert seit
    10.10.2005
    Ort
    Freyung bei Passau in Bayern
    Alter
    73
    Beiträge
    11.077
    Hallo djdume!
    Sorry! Das mit dem Gnd stimmt, ich habe das übersehen. Jetzt habe ich das Datenblatt noch mal ganz genau angeschaut und stimmt noch mit Vs und Vss (pin10 und Pin20 von L293D) nicht. Enweder ist es falsch verbunden, oder stimmt die Pinbeschreibung auf Deinem Schaltplan nicht. Die beiden pins (10 und 20) müssen mit +5V verbunden werden. Laut Deinem Schaltplan pin10 ist mit pin 9 vom PIC verbunden. Das pin 20 habe ich auf Deinem Schaltplan gar nicht gefunden. Prüfe das noch, bitte.
    MfG

  7. #7
    Neuer Benutzer Öfters hier
    Registriert seit
    04.08.2005
    Ort
    Wien
    Beiträge
    16
    Servus,

    @PICture: Vs ist doch Pin 8 und Vss Pin 16.
    Pin 10 is In 3 und das ist meiner Meinung nach korrekt.

    Ich hab mir mal das Datenblatt, das du verwendest angeschaut. Das sind zwei Gehäuse drin.
    SO(12+4+4) das ist aber ein L293DD und
    PDIP(12+2+2) das ist der L293D

    Versuch mal alle 4 Gnd pins auf masse zu legen, vielleicht ist es ja doch so, dass die nicht verbunden sind. (Werde das morgn (eigentlich heute) mal Probieren.

    Ansonsten seh ich von der Ansteuerung mit deinen Routinen kein Problem, obwohl ich von PIC ned viel ahnung hab.

    Müsste Vdd am PIC nicht auch auf der Versorgung hängen (nehm mal an, ist nur ned in der Zeichnung eingetragen.)
    mfg
    beast


    Rechtschreibfehler sind Kunst,
    und Kunst ist schön,
    daher sind Rechtschreibfehler auch schön.

  8. #8
    Erfahrener Benutzer Lebende Robotik Legende Avatar von PICture
    Registriert seit
    10.10.2005
    Ort
    Freyung bei Passau in Bayern
    Alter
    73
    Beiträge
    11.077
    Hallo beast!
    Irgendwie verstehe ich das ganze nicht mehr. Ist das nicht L293D wie auf dem Schaltplan? Ich habe ein Datenblatt von
    www.datasheetarchive.com
    für L293D angeschaut. Was für ein IC ist tatsächlich in der Schaltung?
    MfG

  9. #9
    Erfahrener Benutzer Begeisterter Techniker
    Registriert seit
    16.05.2004
    Beiträge
    304
    Ich hab ja alles richtig belegt. Wenn ich per Taster die Pegel anlege funktioniert das ja mit beiden Motoren in beide Richtungen. Es ist ja nur der Code der Probleme macht.

  10. #10
    Neuer Benutzer Öfters hier
    Registriert seit
    04.08.2005
    Ort
    Wien
    Beiträge
    16
    @ PICture
    das ist ein L293D den er verwendet den mit einem PDIP16-gehäuse.

    @djdune sry, dann hab ich dich falsch verstanden und kann dir leider nicht helfen.
    mfg
    beast


    Rechtschreibfehler sind Kunst,
    und Kunst ist schön,
    daher sind Rechtschreibfehler auch schön.

Seite 1 von 2 12 LetzteLetzte

Berechtigungen

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

12V Akku bauen