-         

Ergebnis 1 bis 4 von 4

Thema: Timing Probleme nach Powersave Modus

  1. #1

    Frage Timing Probleme nach Powersave Modus

    Anzeige

    Hallo zusammen,

    ich verzweifle gerade an einem Problem mit dem Powersafe Modus. Ich möchte einen Futterautomaten bauen der sich per Bluetooth programmieren lässt. Da das Gerät später per Akku betrieben wird möchte ich möglichst energiesparend arbeiten. Inzwischen habe ich den Programmcode soweit gekürzt wie es nur geht um mögliche Fehlerquellen auszuschließen. Mir ist schon klar das er so keine sinnvolle Funktion mehr erfüllt, es geht mir nur um das Phänomen.

    Die $PROG Zeile ist drin damit klar ist das auch die Fuse-Bits korrekt gesetzt sind.

    Code:
    $prog &HFF , &HE2 , &HDF , &HFF
    $regfile = "m48def.dat"
    $crystal = 8000000
    $baud = 9600
    $hwstack = 32
    $swstack=24
    $framesize=24
    
    Config Portd.2 = Input
    
    Config Timer1 = Pwm , Pwm = 8 , Compare A Pwm = Clear Up , Prescale = 64
    Stop Adc
    Stop Ac
    Stop Watchdog
    
    Config Date = Dmy , Separator = Dot
    Config Clock = Soft
    Date$ = "19.02.16"
    Time$ = "12:00:00"
    
    Enable Interrupts
    
    'Variable
    Dim Menge1 As Word
    Dim Alarm1 As String * 8
    Dim N As Word
    Alarm1 = "12:00:05"
    Menge1 = 10
    
    'Programmbeginn
    Waitms 1500
    Do
      If Time$ = Alarm1 And Menge1 > 0 Then
         'Motoranlaufen lassen ca. 3Sek
         For N = 120 To 255
             Pwm1a = N
             Waitms 22
         Next N
         Wait Menge1
      End If
      Pwm1a = 0
      If Pind.2 = 0 Then Config Powermode = Powersave Else Config Powermode = Idle
    Loop
    
    End


    Vergessen wir mal die ganze Bluetooth-Geschichte, die ist ja hier gar nicht mehr drin und war offensichtlich nicht für den Fehler verantwortlich.
    Das Programm funktioniert jetzt folgendermaßen.
    Der Chip wacht jede Sekunde aus dem Powersave Modus auf, da dann ein Pufferüberlauf an Timer2 stattfindet. Der wird durch die Config Clock Routine ausgelöst. Dazu habe ich einen Uhrenquartz an TOSC1 und TOSC2 angeschlossen.
    Das Aufwachen funktioniert offensichtlich, da der Motor um "12:00:05" auch anläuft.
    Was mir ein Rätsel bleibt ist warum es einen Unterschied macht ob der Chip aus dem Powersafe Modus, oder aus dem Idle Modus aufwacht.

    Liegt an Pind.2 eine logische 1 an klappt alles wunderbar, der Motor dreht sich insgesamt ca. 13Sekunden. (Idle Modus)
    Liegt an Pind.2 eine logische 0 an läuft der Motor ca. 95 Sekunden. (Powersafe Modus)
    Ich kann mir dieses Verhalten beim besten Willen nicht erklären. Es muss etwas damit zu tun haben das der Chip nach dem Idle Modus scheinbar nicht mehr mit 8MHz arbeitet...

    Hat jemand eine Idee woran das liegen kann?

    Viele Grüße,
    Tobias

  2. #2
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    18.05.2007
    Ort
    Berlin
    Alter
    46
    Beiträge
    765
    Hallo,

    ich kann Timer2 nirgends im Code entdecken.
    Wenn das Herz involviert ist, steht die Logik außen vor! \/

  3. #3
    Hallo Peterfido,

    der Timer2 wird von der Config Clock Routine benutzt und automatisch gesetzt.

  4. #4
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    18.05.2007
    Ort
    Berlin
    Alter
    46
    Beiträge
    765
    Hallo,

    ja klar.

    Im Datenblatt unter Errata steht so einiges mit dem asynchronen Timer. Ansonsten würde ich probieren, nach dem Aufwachen die CLKPR-Clock Prescale Register nochmals zu setzen. Evtl. wird da was beim 'Schlafenlegen' geändert. Im Datenblatt Punkt 6.11.
    Wenn das Herz involviert ist, steht die Logik außen vor! \/

Ähnliche Themen

  1. AT90USB162 Timing Probleme
    Von jwsk im Forum C - Programmierung (GCC u.a.)
    Antworten: 2
    Letzter Beitrag: 15.11.2011, 20:19
  2. Timing-Probleme mit RS232 ..
    Von linuxer7 im Forum Open Source Software Projekte
    Antworten: 3
    Letzter Beitrag: 04.02.2011, 17:19
  3. Timing Probleme mit Ultraschall..
    Von linuxer7 im Forum Sensoren / Sensorik
    Antworten: 4
    Letzter Beitrag: 10.01.2011, 17:45
  4. Antworten: 8
    Letzter Beitrag: 27.01.2010, 12:59
  5. Portbeschaltung nach Timing Diagram HILFE!
    Von Actron im Forum Software, Algorithmen und KI
    Antworten: 9
    Letzter Beitrag: 19.03.2008, 21:24

Berechtigungen

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