- LiFePO4 Speicher Test         
Seite 2 von 3 ErsteErste 123 LetzteLetzte
Ergebnis 11 bis 20 von 23

Thema: Motor soll bis zu einem Taster-Druck drehen

  1. #11
    Benutzer Stammmitglied
    Registriert seit
    15.05.2006
    Beiträge
    38
    Anzeige

    Powerstation Test
    Inzwischen hab ich zwar rausgefunden, dass der Taster als Öffner fungierte, hab ihn jetzt auf Schließer umgestellt, aber funktionieren tut das alles immernoch nicht.

    Naja, notfalls muss ich mir was anderes einfallen lassen, den Motor immer wieder in die Ausgangsstellung zu bringen

  2. #12
    Benutzer Stammmitglied
    Registriert seit
    23.02.2006
    Beiträge
    40
    Bei deiner Konfiguration muss es so heissen: Config Int1 = rising,
    da du ja von 0 auf 1 schaltest. Ansonsten poste doch etwas mehr code,
    vielleicht liegt der Fehler wo anders?

  3. #13
    Benutzer Stammmitglied
    Registriert seit
    15.05.2006
    Beiträge
    38
    Hier mal der ganze Code, wie ich ihn momentan habe:
    Code:
    'Port-Deklarationen
    Config Pinb.0 = Input
    Config Pind.1 = Input
    Config Pind.2 = Input
    Config Pind.3 = Input
    Config Pinb.1 = Output
    Config Pind.6 = Output
    Config Pind.0 = Output
    
    'Einstellungen
    'Aux = 1680                                                  'Wie lang soll der AUX an sein (in ms)
    Startbs = 3                                                 'Wie lang soll der Startbildschirm angezeigt werden (in sec.)
    Ist = 0                                                     'Startwert für den Ist-Wert
    Soll = 1                                                    'Startwert für den Soll-Wert
    
    
    
    'Den Ports Namen geben (nur fürs Layout)
    Taster Alias Pinb.0
    Ledtast Alias Portb.1
    Ledaux Alias Portd.6
    Lederr Alias Portd.0
    Manual Alias Pind.1
    Rst Alias Pind.2
    Motor Alias Pind.3
    
    
    'LED3 "Gerät nicht bereit / Fehler" aktivieren
    Lederr = 1
    
    'Display-Optionen
    Cursor Off
    Cls
    Config Lcd = 20 * 4
    Config Lcdpin = Pin , Db4 = Portb.4 , Db5 = Portb.5 , Db6 = Portb.6 , Db7 = Portb.7 , E = Portb.3 , Rs = Portb.2       '
    
    'Startbildschirm anzeigen
      Locate 1 , 1
      Lcd "Sebastian Rietig &"
      Locate 2 , 1
      Lcd "  Tjark Radewaldt"
      Locate 3 , 1
      Lcd " SkinnerMaus 3000+"
      Locate 4 , 1
      Lcd "    Skinner-Box"
    
    'Startbs Sekunden den Startbildschirm aneigen, dann Anige löschen un Gerät freigeben
     Wait Startbs
     Cls
    
       Lederr = 0
    
    'Arbeitsbldschirm anzeigen
       Locate 1 , 1
       Lcd " SkinnerMaus 3000+"
       Locate 2 , 1
       Lcd "Soll:" ; Soll
       Locate 3 , 1
       Lcd "Ist :" ; Ist
       Locate 4 , 1
       Lcd "Waiting for Signal"
    Do
    'Taster entprellen und bei High zu "Tasteran" springen
    Entprell:
       Debounce Taster , 1 , Tasteran
       Debounce Manual , 1 , Manualan
       Debounce Rst , 1 , Rstan
    
    'Wenn der Taster gedrückt wurde, in diese Schleife springen
    Tasteran:
    Do
    If Taster = 1 Then
       Ledtast = 1
       Locate 4 , 1
       Lcd "Input high        "
       Ist = Ist + 1
       Locate 3 , 1
       Lcd "Ist :" ; Ist
    
          If Ist = Soll Then
             Locate 4 , 1
             Lcd "AUX enabled       "
             Ledaux = 1
             Ledtast = 0
    '         Waitms Aux
    '         Locate 4 , 1
    '         Lcd "Waiting for Signal"
    '         Ledaux = 0
    
             Soll = Soll + 1
             Ist = 0
             Locate 2 , 1
             Lcd "Soll:" ; Soll
    
             Locate 3 , 1
             Lcd "Ist :" ; Ist ; "   "
          End If
    
       Do
       Loop Until Taster = 0
    Else
       Locate 4 , 1
       Lcd "Waiting for Signal"
       Ledtast = 0
       Goto Entprell
    
    End If
    Loop
    
    
    'Bei Druck auf die Manual-Taste
    Manualan:
    Do
    If Manual = 1 Then
       Locate 4 , 1
       Lcd "Manual Mode       "
       Ledaux = 1
    '   Waitms Aux
    '   Locate 4 , 1
    '   Lcd "Waiting for Signal"
    '   Ledaux = 0
    
       Do
       Loop Until Manual = 0
    Else
       Locate 4 , 1
       Lcd "Waiting for Signal"
       Goto Entprell
    End If
    Loop
    
    ' Bei Druck auf die Reset-Taste
    Rstan:
    Do
    If Rst = 1 Then
          Wait 3
          If Rst = 1 Then
       Locate 4 , 1
       Lcd "Resetting Data       "
       Lederr = 1
       Ist = 0
       Soll = 1
       Locate 2 , 1
       Lcd "Soll:" ; Soll ; "    "
       Locate 3 , 1
       Lcd "Ist :" ; Ist ; "    "
          End If
       Do
       Loop Until Rst = 0
    Else
       Lederr = 0
       Ledaux = 0
       Locate 4 , 1
       Lcd "Waiting for Signal"
       Goto Entprell
    End If
    
    Loop
    
    
    
    Motoraus:
             Ledaux = 0
             Locate 4 , 1
             Lcd "Waiting for Signal"
    Return
    
    Loop
    End
    ledaux schaltet ein Reed-Relais, an dem Der Motor hängt
    motor ist der Taster an der Achse, er ist mitm 10k-Ohm-Widerstand zu GND gezogen

    Sobald ich das Programm auf dem µC starte (egal ob faling oder rising) und die "Manual"-Taste drücke, zuckt der Motor und beim dritten Male zeigt das Display nur noch irgendwelche Sonderzeichen an, die sich bei irgendwelchen Taster-Impulsen munter verändern.

  4. #14
    Benutzer Stammmitglied
    Registriert seit
    23.02.2006
    Beiträge
    40
    spontan fällt mir auf, das die Ein und Ausgänge mit
    config portx.x =output nicht pinx.x= output konfiguriert werden
    das gilt auch für die Inputs, den Rest muss ich noch anschauen

  5. #15
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    16.04.2005
    Ort
    Aarau
    Alter
    41
    Beiträge
    982
    ich denke nicht dass dies mit dem interrupt so funktioniert... durch das prellen des tasters werden auch beim anfahren des motors, wenn der taster wieder freigegeben wird einige flanken am interrupt ankommen und das programm sofort wieder anhalten...

    sorry wenn es schon erwähnt wurde... habe nicht den ganzen tread genau gelesen...

    gruss bluesmash

  6. #16
    Benutzer Stammmitglied
    Registriert seit
    15.05.2006
    Beiträge
    38
    Ich habe jetzt mal komplett die INTs weggelassen und die Wait-Routinen, die bestimmten, wie lange ledaux high bleiben soll, durch folgenden Schnipsel ersetzt:
    Debounce Motor , 1 , Motoraus1
    Motoraus1:

    an der 2. Stelle heißen die Label motoraus2, damit es eindeutig bleibt.
    Aber ncihtmal dies funktioniert.. Obwohl es ohne problemlos funktioniert.. die Batteriespannung ist ok (9V Netzteil) der Anlaufstrom kann nicht zu hoch sein (Netzteil schafft 1,2A, es funktioniert ohne Taster ja)...

    Ich habe keine Ideen mehr, muss ich mich halt damit abfinden, dass es nicht klappt

    Vielen dank für eure Hilfe =D>

  7. #17
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    16.04.2005
    Ort
    Aarau
    Alter
    41
    Beiträge
    982
    probier doch mal folgendes (pseudocode):

    Code:
    do
    if start=0 then
        motor=1
        waitms 200
    end if
    
    if motor = 1 and taster=0 then
     stop motor
    end if
    loop

  8. #18
    Erfahrener Benutzer Robotik Einstein Avatar von Vitis
    Registriert seit
    06.01.2005
    Ort
    Südpfalz
    Alter
    50
    Beiträge
    2.253
    wie schauts aus mit Freilaufdioden?
    Wie haste den Brown out eingestellt, evtl. diefer
    setzen?
    Vor den Erfolg haben die Götter den Schweiß gesetzt

  9. #19
    Benutzer Stammmitglied
    Registriert seit
    15.05.2006
    Beiträge
    38
    Hab jetzt ne Freilaufdiode (1N4007 antiparallel zum Motor) eingebaut und das Programm stürzt nicht mehr so leicht ab, aber dennoch zuckt der Motor nur, sobald er was machen soll.

    BoD steht auf 1,7V

  10. #20
    Erfahrener Benutzer Robotik Einstein Avatar von Vitis
    Registriert seit
    06.01.2005
    Ort
    Südpfalz
    Alter
    50
    Beiträge
    2.253
    Man müsste in den Schaltplan schauen ob sich da noch was
    eingeschlichen hat ... haste zufällig n Speicheroszi
    um die Eingangsspannung mal anschauen zu können?
    Einbrüche, Spitzen etc. Auch die Beschaltung des Reset währ wichtig
    zu sehen ... oder mal einfach Bilder vom Gesamtaufbau hier rein
    stellen, evtl. sieht man da nen Schwachpunkt
    Vor den Erfolg haben die Götter den Schweiß gesetzt

Seite 2 von 3 ErsteErste 123 LetzteLetzte

Berechtigungen

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

Solar Speicher und Akkus Tests