Hallo,

anbei mein Code.

Ich bekomme kein vernünftiges Pulseout für den 7,4 Volt Servo hin...

bei Bestromen der Schaltung fährt der Servo kurz in seine Ausgangsposition. Dann fährt er augenscheinlich den pulseout-Befehl - und mein Schaltregler (1A kann der) bzw. die Schaltung schaltet sich ab....

Ich bin echt am verzweifeln....

Der Pulseoutbefehl ist unten in der Hauptschleife...


Code:
'#############################################################################
'
' KAPRIG Control RX
' -------------------------------------
'
' Stand: 10.09.2012, ATmega8
'
'
'                                            Volt Temp.Höhe
' Sendesyntax to GROUND: $GROUND#quittierung#7,4#23,1#64
'
' Sendesyntax to KAPRIG: $KAPRIG#cmd
'
'
'  system   command  function
'  --------------------------------------------------------------
'
'  KAPRIG   0       all off -> power down
'
'  KAPRIG   1       video_5,8 GHz on
'  KAPRIG   2       video_5,8 GHz off  / BIT 2 | BIT1 | BIT0
'  KAPRIG   a       CH1 - 5740 MHz        0       0      0
'  KAPRIG   b       CH2 - 5760 MHz        0       0      1
'  KAPRIG   c       CH3 - 5780 MHz        0       1      0
'  KAPRIG   d       CH4 - 5800 MHz        0       1      1
'  KAPRIG   e       CH5 - 5820 MHz        1       0      0
'  KAPRIG   f       CH6 - 5840 MHz        1       0      1
'  KAPRIG   g       CH7 - 5860 MHz        1       1      0
'  KAPRIG   h       CH7 - 5860 MHz        1       1      1
'
'  KAPRIG   3       gps on
'  KAPRIG   4       gps off

'  KAPRIG   5       pan links
'  KAPRIG   6       pan rechts
'  KAPRIG   7       pan speed 1
'  KAPRIG   8       pan speed 2
'  KAPRIG   9       pan speed 3
'  KAPRIG   i       pan speed 4
'  KAPRIG   j       pan speed 5
'
'  KAPRIG   +       tilt up
'  KAPRIG   -       tilt down

'  KAPRIG   k       photo mode, shutter 1x photo
'  KAPRIG   l       photo mode, shutter 2x photo, 1 Sek. Abstand
'  KAPRIG   m       photo mode, shutter 3x photo, 1 Sek. Abstand
'  KAPRIG   n       photo mode, shutter 4x photo, 1 Sek. Abstand
'  KAPRIG   o       photo mode, shutter 5x photo, 1 Sek. Abstand
'  KAPRIG   p       photo mode, shutter alle 2 Sek.
'
'  KAPRIG   q       zoom in
'  KAPRIG   r       zoom out
'
'  KAPRIG   s       video mode, video start
'  KAPRIG   t       video mode, video stop
'
'  KAPRIG   x       LEDs ON
'
'#############################################################################



'-----------------------------------------------------------------------------
' Compilerinstruktionen und Compilerdirektiven
'-----------------------------------------------------------------------------

$regfile = "m8def.dat"
$crystal = 16000000                                         ' 16 Mhz Quarz
$hwstack = 64
$swstack = 64
$framesize = 64

$baud = 9600


'-----------------------------------------------------------------------------
' Definition von Ressourcen
'-----------------------------------------------------------------------------

Pwr_all Alias Portc.0                                       'Abschaltung der Servos und LM2675 (5V für GPS, Video 5,8 GHz Tx)
Pwr_gps Alias Portb.3
Pwr_video Alias Portb.0

Bit0 Alias Portd.7
Bit1 Alias Portd.6
Bit2 Alias Portd.5

5v_usb Alias Portc.2

Led_rot Alias Portc.3
Led_gruen Alias Portc.4
Led_blau Alias Portb.5
Led_weiss Alias Portb.4

Pan_a Alias Portc.5                                         ' für L293 D
Pan_b Alias Portd.2



'-----------------------------------------------------------------------------
' Definition von Konstanten
'-----------------------------------------------------------------------------

Const Adc_multi = 0.0048828125                              ' = 5.0 / 1024.0 -> ADC auflösen

Const Timer2vorgabe = 99                                    ' 10ms 6=16ms

'-----------------------------------------------------------------------------
' Definition von Variablen und Datentypen
'-----------------------------------------------------------------------------

'---- Betriebsspannung messen ----
Dim Spannung As Word
Dim Zellspannung_orig As Single
Dim Zellspannung As String * 5

'---- Commands ----
Dim Quittierung As String * 14
Dim Gpshoehe As String * 13


'---- Command empfangen xxx----

Dim Cmd As Byte



'Dim für GPS einlesen
Dim Gelesen As Byte                                         'eingelesenes Zeichen

Dim Teilstring(14) As String * 12
Dim Anzahl2 As Byte
Dim Gpsdaten As String * 98
Dim Header As String * 6
'Dim Stunde As Byte
Dim Tempstring As String * 2



'---- Temperaturmessung ----
Dim Temp(9) As Byte
Dim X As Byte
Dim Celsius As Integer
Dim T As Single
Dim Temperatur As String * 5


'---- Zähler etc. ----
Dim Zaehler_1wire As Byte

Dim Zaehler_xbee As Byte

Dim Zaehler_cam As Byte

Dim Chdk As Byte

Dim Zaehler_lipo As Byte

Dim Zaehler_quittierung As Byte
Dim Quittierung_flag As Bit

Dim Zaehler_pwm As Byte

Dim Zaehler_pwm_flag As Bit

'--- Servo ---

Dim 16ms_flag As Bit
Dim Servo As Word

Dim 16ms As Byte

'---- PWM für A293D ----
Dim A As Integer



Dim Zaehler_sec1 As Byte
Dim Zaehler_sec2 As Byte


'-----------------------------------------------------------------------------
' Konfiguration und Basiseinstellungen
'-----------------------------------------------------------------------------

'---- CONFIG ----

' RS232 Hardware
Config Serialin = Buffered , Size = 1                       ' konfig serial in
Open "COMD.4:9600,8,N,1" For Input As #1                    'PD.4 = RxD SoftUART / GPS


' ADC
Config Adc = Single , Prescaler = Auto , Reference = Avcc   'ADC Wandler definieren

' Timer0 für 1wire

' Timer1 für PWM
Config Timer1 = Pwm , Pwm = 8 , Compare A Pwm = Clear Up , Prescale = 8

' Timer2 für Servosteuerung
Config Timer2 = Timer , Prescale = 1024

' schaltbare Ausgänge
Config Pwr_all = Output                                     ' GPS- und Video-Modul sowie 5 Volt Versorgung hierfür abschalten
Config Pwr_gps = Output
Config Pwr_video = Output

Config Bit0 = Output
Config Bit1 = Output
Config Bit2 = Output

Config 5v_usb = Output

' Status-LED rot
Config Led_rot = Output
Config Led_gruen = Output
Config Led_blau = Output
Config Led_weiss = Output

' L293D für Servo als Motor
Config Portb.1 = Output
Config Pan_a = Output                                       'LD293
Config Pan_b = Output

' Servo PIN
Config Portb.2 = Output

'1wire für Temp.-Messung
Config 1wire = Portd.3                                      ' Pin für 1wire Schnittstelle festlegen, Schnittstelle wird von Bascom durch Software realisiert

'Interrupts
On Timer2 Timer2_irq

Enable Interrupts
Enable Timer1
Enable Timer2

' sonstige
Start Adc
'Declare Sub Xbee                                            ' Senderoutine, um $GROUND#... permanent zu senden

'-----------------------------------------------------------------------------
' Init
'-----------------------------------------------------------------------------


Pwr_all = 1                                                 ' bei Systemstart Peripherie (Relais) auf ON

Led_gruen = 0                                               ' Led_gruen ON für Betriebszustand

Pwr_video = 0                                               ' Video OFF
Bit0 = 1                                                    ' damit der Video Tx kein GND erhält, BITs für die Kanäle auf "1"
Bit1 = 1
Bit2 = 1

Pwr_gps = 0                                                 ' GPS OFF

Led_rot = 1                                                 ' Led_rot OFF
Led_blau = 1                                                ' Led_blau OFF
Led_weiss = 1                                               ' Led_weiss OFF

Pan_a = 0                                                   ' L293D OFF
Pan_b = 0
A = 150                                                     ' Anfangsgeschwindigkeit für PWM L293D
                                                            ' Befehlsparameter für "getusb_power" -> CHDK
Chdk = 0

5v_usb = 0                                                  ' Kamera Auslöser für "get_usb_power" OFF

Zaehler_1wire = 0                                           ' alle 16ms Zaehler auf 0
Zaehler_xbee = 0
Zaehler_cam = 0
Zaehler_lipo = 0
Zaehler_quittierung = 0
Zaehler_pwm = 0

Zaehler_pwm_flag = 1                                        ' zaehler_pwm_flag auf 1, damit grds. PWM/L293D nur Impuls macht
Quittierung_flag = 1                                        ' quittierung_flag auf 1, damit grds. Quittierung geleert wird

'Servo = 375                                                 ' Servo Mittelstellung
16ms_flag = 0

Wait 1
Pwr_gps = 1                                                 'nach einer weiteren Sek. Pwr_gps ON



'-----------------------------------------------------------------------------
' Hauptprogramm
'-----------------------------------------------------------------------------

Do



   '========== hier laufen Tests ab ==========================================




   '==========Temperaturmessung mit DS18B20Z 1Wire============================

   1wreset

   1wwrite &HCC
   1wwrite &H44

   If Zaehler_1wire = 38 Then
      Zaehler_1wire = 0
      Gosub 1wire_temp

   End If



   '==========Spannung LiPo 2S messen=========================================

   Spannung = Getadc(1)                                     ' Zelle messen und berechnen
   Zellspannung_orig = Spannung * Adc_multi
   Zellspannung_orig = Zellspannung_orig / 0.3333
   Zellspannung = Fusing(zellspannung_orig , "#.#")



   If Zellspannung_orig <= 6.4 Then                         ' Zellspannung unter/gleich 6,4 Volt (2x 3,2 Volt) dann...

      If Zaehler_lipo > 63 Then
         Gosub Lipo_saver_off

      End If


   Elseif Zellspannung_orig > 6.4 Then
           Zaehler_lipo = 0

   End If



   '==========Rx Prüfen auf GPS Eingang GPGGA=================================




  Gelesen = Inkey(#1)

   If Gelesen = 36 Then Input #1 , Gpsdaten Noecho          '36 = $
      Header = Mid(gpsdaten , 1 , 5)

      If Header = "GPGGA" Then
         Anzahl2 = Split(gpsdaten , Teilstring(1) , ",")
         Gpsdaten = ""
         Gpshoehe = Teilstring(10)

   End If




   '==========Rx Prüfen auf Befehlseingänge===================================

    If Ischarwaiting() = 1 Then
      Cmd = Inkey()
    End If




   '==========BEFEHLE Auswerten===============================================

    Select Case Cmd



   '----------ALL Power OFF---------------------------------------------------
    Case "0"
       Clear Serialin
       Cmd = ""
       Quittierung = "!!!ALL OFF!!!"
       Zaehler_quittierung = 0
       Quittierung_flag = 1
       Gosub Xbee

       Gosub Lipo_saver_off



   '----------ALL LEDs ON-----------------------------------------------------
     Case "x"
       Clear Serialin
       Cmd = ""
       Quittierung = "all LEDs ON"
       Zaehler_quittierung = 0
       Quittierung_flag = 1
       Gosub Xbee

       Led_rot = 0
       Led_blau = 0
       Led_weiss = 0

       Waitms 1000

       Led_rot = 1
       Led_blau = 1
       Led_weiss = 1



   '----------Photo Mode------------------------------------------------------
    Case "k"
       Clear Serialin
       Cmd = ""
       Quittierung = "1 Photo"
       Zaehler_quittierung = 0
       Quittierung_flag = 1
       Gosub Xbee
                                                          ' Übergabe von "Chdk"-Modus <1> für Zeit-Steuerung "get_usb_power" für CHDK
       Chdk = 1


    Case "l"
       Clear Serialin
       Cmd = ""
       Quittierung = "2 Photo"
       Zaehler_quittierung = 0
       Quittierung_flag = 1
       Gosub Xbee

       Chdk = 2


    Case "m"
       Clear Serialin
       Cmd = ""
       Quittierung = "3 Photo"
       Zaehler_quittierung = 0
       Quittierung_flag = 1
       Gosub Xbee

       Chdk = 3


    Case "n"
       Clear Serialin
       Cmd = ""
       Quittierung = "4 Photo"
       Zaehler_quittierung = 0
       Quittierung_flag = 1
       Gosub Xbee

       Chdk = 4


    Case "o"
       Clear Serialin
       Cmd = ""
       Quittierung = "5 Photo"
       Zaehler_quittierung = 0
       Quittierung_flag = 1
       Gosub Xbee

       Chdk = 5


    Case "p"
       Clear Serialin
       Cmd = ""
       Quittierung = "sec-Photo"
       'Zaehler_quittierung = 0
       Quittierung_flag = 0
       Gosub Xbee

       Chdk = 6


    Case "q"                                                ' weitere Funktionen CHDK / Canon!
       Clear Serialin
       Cmd = ""
       Quittierung = "zoom in"
       Zaehler_quittierung = 0
       Quittierung_flag = 1
       Gosub Xbee

       Chdk = 7


    Case "r"                                                ' weitere Funktionen CHDK / Canon!
       Clear Serialin
       Cmd = ""
       Quittierung = "zoom out"
       Zaehler_quittierung = 0
       Quittierung_flag = 1
       Gosub Xbee

       Chdk = 8



   '----------Video On / OFF--------------------------------------------------
    Case "1"                                                ' Video ON
       Clear Serialin
       Cmd = ""
       Quittierung = "Video ON"
       Zaehler_quittierung = 0
       Quittierung_flag = 1
       Gosub Xbee

       Pwr_video = 1


    Case "2"                                                ' Video OFF
       Clear Serialin
       Cmd = ""
       Quittierung = "Video OFF"
       Zaehler_quittierung = 0
       Quittierung_flag = 1
       Gosub Xbee

       Pwr_video = 0
       Bit2 = 1
       Bit1 = 1
       Bit0 = 1
                                                             '  Bit2 | Bit1 | Bit0

    Case "a"                                                ' BIT: 0 0 0
       Clear Serialin                                       ' CH1 5740 MHz
       Cmd = ""
       Quittierung = "CH1 : 5740MHz"
       Zaehler_quittierung = 0
       Quittierung_flag = 1
       Gosub Xbee

       Bit2 = 0
       Bit1 = 0
       Bit0 = 0


    Case "b"                                                ' BIT: 0 0 1
       Clear Serialin                                       ' CH2 5760 MHz
       Cmd = ""
       Quittierung = "CH2 : 5760MHz"
       Zaehler_quittierung = 0
       Quittierung_flag = 1
       Gosub Xbee

       Bit2 = 0
       Bit1 = 0
       Bit0 = 1


    Case "c"                                                ' BIT: 0 1 0
       Clear Serialin                                       ' CH3 5780 MHz
       Cmd = ""
       Quittierung = "CH3 : 5780MHz"
       Zaehler_quittierung = 0
       Quittierung_flag = 1
       Gosub Xbee

       Bit2 = 0
       Bit1 = 1
       Bit0 = 0


    Case "d"                                                ' BIT: 0 1 1
       Clear Serialin                                       ' CH4 5800 MHz
       Cmd = ""
       Quittierung = "CH4 : 5800MHz"
       Zaehler_quittierung = 0
       Quittierung_flag = 1
       Gosub Xbee

       Bit2 = 0
       Bit1 = 1
       Bit0 = 1


    Case "e"                                                ' BIT: 1 0 0
       Clear Serialin                                       ' CH5 5820 MHz
       Cmd = ""
       Quittierung = "CH5 : 5820MHz"
       Zaehler_quittierung = 0
       Quittierung_flag = 1
       Gosub Xbee

       Bit2 = 1
       Bit1 = 0
       Bit0 = 0


    Case "f"                                                ' BIT: 1 0 1
       Clear Serialin                                       ' CH6 5840 MHz
       Cmd = ""
       Quittierung = "CH6 : 5840MHz"
       Zaehler_quittierung = 0
       Quittierung_flag = 1
       Gosub Xbee

       Bit2 = 1
       Bit1 = 0
       Bit0 = 1


    Case "g"                                                ' BIT: 1 1 0
       Clear Serialin                                       ' CH7 5860 MHz
       Cmd = ""
       Quittierung = "CH7 : 5860MHz"
       Zaehler_quittierung = 0
       Quittierung_flag = 1
       Gosub Xbee

       Bit2 = 1
       Bit1 = 1
       Bit0 = 0


    Case "h"                                                ' BIT: 1 1 1
       Clear Serialin                                       ' CH7 5860 MHz
       Cmd = ""
       Quittierung = "CH7 : 5860MHz"
       Zaehler_quittierung = 0
       Quittierung_flag = 1
       Gosub Xbee

       Bit2 = 1
       Bit1 = 1
       Bit0 = 1



    '----------GPS ON / OFF---------------------------------------------------
     Case "3"                                               ' GPS ON
       Clear Serialin
       Cmd = ""
       Quittierung = "GPS ON"
       Zaehler_quittierung = 0
       Quittierung_flag = 1
       Gosub Xbee

       Pwr_gps = 1

     Case "4"                                               ' GPS OFF
       Clear Serialin
       Cmd = ""
       Quittierung = "GPS OFF"
       Zaehler_quittierung = 0
       Quittierung_flag = 1
       Gosub Xbee

       Pwr_gps = 0



    '----------PAN 360°-------------------------------------------------------
     Case "5"                                               ' Motor PAN 360° links
       Clear Serialin
       Cmd = ""
       Quittierung = "PAN links"
       Zaehler_quittierung = 0
       Quittierung_flag = 1
       Gosub Xbee

       Compare1a = A
       Pan_a = 1
       Pan_b = 0

       Zaehler_pwm_flag = 1
       Zaehler_pwm = 0


     Case "6"                                               ' Motor PAN 360° rechts
       Clear Serialin
       Cmd = ""
       Quittierung = "PAN rechts"
       Zaehler_quittierung = 0
       Quittierung_flag = 1
       Gosub Xbee

       Compare1a = A
       Pan_a = 0
       Pan_b = 1

       Zaehler_pwm_flag = 1
       Zaehler_pwm = 0


     Case "7"                                               ' Motor PAN 360° Speed 1
       Clear Serialin
       Cmd = ""
       Quittierung = "PAN Speed 1"
       Zaehler_quittierung = 0
       Quittierung_flag = 1
       Gosub Xbee
       A = 160


     Case "8"                                               ' Motor PAN 360° Speed 2
       Clear Serialin
       Cmd = ""
       Quittierung = "PAN Speed 2"
       Zaehler_quittierung = 0
       Quittierung_flag = 1
       Gosub Xbee
       A = 180


     Case "9"                                               ' Motor PAN 360° Speed 3
       Clear Serialin
       Cmd = ""
       Quittierung = "PAN Speed 3"
       Zaehler_quittierung = 0
       Quittierung_flag = 1
       Gosub Xbee
       A = 200


     Case "i"                                               ' Motor PAN 360° Speed 4
       Clear Serialin
       Cmd = ""
       Quittierung = "PAN Speed 4"
       Zaehler_quittierung = 0
       Quittierung_flag = 1
       Gosub Xbee
       A = 220


     Case "j"                                               ' Motor PAN 360° Speed 5
       Clear Serialin
       Cmd = ""
       Quittierung = "PAN Speed 5"
       Zaehler_quittierung = 0
       Quittierung_flag = 1
       Gosub Xbee
       A = 240



   '----------PAN Photo TOUR--------------------------------------------------
     Case "X"                                               ' Motor PAN 360° links
       Clear Serialin
       Cmd = ""
       Quittierung = "Photo Tour"
       'Zaehler_quittierung = 0
       Quittierung_flag = 0
       Gosub Xbee
       A = 160
       Compare1a = A
       Pan_a = 1
       Pan_b = 0

       Zaehler_pwm_flag = 0
       'Zaehler_pwm = 0                                      ' PWM/L293D läuft nun permanent

       Chdk = 6




   '----------TILT------------------------------------------------------------

    Case "+"                                                'And Servo >= 1500                              ' Motor TILT 90° hoch
       Clear Serialin
       Cmd = ""
       Quittierung = "S1 hoch"
       Zaehler_quittierung = 0
       Quittierung_flag = 1
       Gosub Xbee

       Servo = Servo - 30


    Case "-"                                                'And Servo <= 4400                              ' Motor TILT 90° runter
       Clear Serialin
       Cmd = ""
       Quittierung = "S1 runter"
       Zaehler_quittierung = 0
       Quittierung_flag = 1
       Gosub Xbee

       Servo = Servo + 30



    Case Else


       If Zaehler_pwm_flag = 1 Then                         ' PWM / L293D nur abschalten, wenn zaehler_pwm_flag = 1

          If Zaehler_pwm > 16 Then                          ' wenn PWM für 256ms auf L293D
             Pan_a = 0
             Pan_b = 0

          End If

       End If

       'Chdk = 0



 End Select



' --- Befehle für get_usb_power -> CHDK --- === --- === --- === --- === --- ===

 Select Case Chdk


         Case "0"                                           ' do nothing im Bezug auf Canon CHDK!


         Case "1"                                           ' 1 FOTO
            5v_usb = 0                                      ' 5V USB auf HIGH
            Zaehler_cam = 0                                 ' Zaehler_cam auf 0 um im 16ms Takt hochzuzählen!

            If Zaehler_cam > 2 Then                         ' wenn Zaehler_cam größer 2 bzw. 32ms, dann...
               5v_usb = 1                                   ' 5V USB auf Low

            End If


         Case "2"                                           ' 2 FOTOS, 1 Sek. Abstand
            5v_usb = 0                                      ' 5V USB auf HIGH
            Zaehler_cam = 0                                 ' Zaehler_cam auf 0 um im 16ms Takt hochzuzählen!

            If Zaehler_cam > 4 Then                         ' wenn Zaehler_cam größer 4 bzw. 64ms, dann...
               5v_usb = 1                                   ' 5V USB auf Low

            End If


         Case "3"                                           ' 3 FOTOS, 1 Sek. Abstand
            5v_usb = 0                                      ' 5V USB auf HIGH
            Zaehler_cam = 0                                 ' Zaehler_cam auf 0 um im 16ms Takt hochzuzählen!

            If Zaehler_cam > 6 Then                         ' wenn Zaehler_cam größer 6 bzw. 96ms, dann...
               5v_usb = 1                                   ' 5V USB auf Low

            End If


         Case "4"                                           ' 4 FOTOS, 1 Sek. Abstand
            5v_usb = 0                                      ' 5V USB auf HIGH
            Zaehler_cam = 0                                 ' Zaehler_cam auf 0 um im 16ms Takt hochzuzählen!

            If Zaehler_cam > 8 Then                         ' wenn Zaehler_cam größer 8 bzw. 128ms, dann...
               5v_usb = 1                                   ' 5V USB auf Low

            End If


         Case "5"                                           ' 5 FOTOS, 1 Sek. Abstand
            5v_usb = 0                                      ' 5V USB auf HIGH
            Zaehler_cam = 0                                 ' Zaehler_cam auf 0 um im 16ms Takt hochzuzählen!

            If Zaehler_cam > 10 Then                        ' wenn Zaehler_cam größer 10 bzw. 160ms, dann...
               5v_usb = 1                                   ' 5V USB auf Low

            End If


         Case "6"                                           ' immer Fotos jede Sekunde eines!
            5v_usb = 0                                      ' 5V USB auf HIGH
            Zaehler_cam = 0                                 ' Zaehler_cam auf 0 um im 16ms Takt hochzuzählen!

            If Zaehler_cam > 12 Then                        ' wenn Zaehler_cam größer 12 bzw. 192ms, dann...
               5v_usb = 1                                   ' 5V USB auf Low

            End If


         Case "7"                                           ' ZOOM IN
            5v_usb = 0                                      ' 5V USB auf HIGH
            Zaehler_cam = 0                                 ' Zaehler_cam auf 0 um im 16ms Takt hochzuzählen!

            If Zaehler_cam > 14 Then                        ' wenn Zaehler_cam größer 14 bzw. 224ms, dann...
               5v_usb = 1                                   ' 5V USB auf Low

            End If


         Case "8"                                           ' ZOOM OUT
            5v_usb = 0                                      ' 5V USB auf HIGH
            Zaehler_cam = 0                                 ' Zaehler_cam auf 0 um im 16ms Takt hochzuzählen!

            If Zaehler_cam > 16 Then                        ' wenn Zaehler_cam größer 16 bzw. 256ms, dann...
               5v_usb = 1                                   ' 5V USB auf Low

            End If



 End Select



' --- sonstiges ---



    If Zaehler_quittierung = 250 Then                       ' Quittierung nach 2 Sek. leeren


       If Quittierung_flag = 1 Then
          Quittierung = " connected! "                      ' kontinuierliches Senden der Parameter

       End If

    End If



    If Zaehler_xbee = 32 Then                               ' alle 500ms Senden der Parameter
       Zaehler_xbee = 0
       Gosub Xbee                                           ' kontinuierliches Senden der Parameter

    End If



    If 16ms_flag = 1 Then                                   'alle 16ms Impuls an Servo TILT 90°
       Pulseout Portb , 2 , 5000
       16ms_flag = 0

    End If





Loop
End



'----------------Timer2 "10ms" für Servosteuerung-------------------------------

Timer2_irq:                                                 ' Interrupts pro Sek. (Frequ.): 62,5
                                                            ' Interrupt alle 16000 us / 16 ms

  Incr Zaehler_1wire                                        ' Zaehler für 1wire-Abfrage
  Incr Zaehler_xbee                                         ' Zaehler zum Senden XBee
  Incr Zaehler_lipo                                         ' Zaehler um LiPo nach 1 Sekunde Abzuschalten
  Incr Zaehler_cam                                          ' Zaehler für CHDK Abschaltung "get_usb_power"
  Incr Zaehler_quittierung                                  ' Zaehler für Leeren der Quittierung
  Incr Zaehler_pwm                                          ' Zaehler für Dauer PWM
  Incr Zaehler_sec1
  Incr Zaehler_sec2

  Incr 16ms

  16ms_flag = 1
  Timer2 = Timer2vorgabe


Return



'----------------LiPo-Saver/Abschaltung "Lipo_saver"----------------------------

Lipo_saver_off:
   Quittierung = "LiPo-Saver!"                              ' Quittierung an Bodenstation
   Gosub Xbee

   Waitms 500

   Pwr_video = 0
   Pwr_gps = 0

   Led_rot = 1
   Led_gruen = 1
   Led_blau = 1
   Led_weiss = 1

   Pwr_all = 0                                              ' pwr_all off

   Powerdown

Return


'----------------sonstiges------------------------------------------------------

1wire_temp:

   1wreset
   1wwrite &HCC
   1wwrite &HBE


   For X = 1 To 9
      Temp(x) = 1wread()
   Next

   Celsius = Makeint(temp(1) , Temp(2))

   T = Celsius / 16

   Temperatur = Fusing(t , "##.#")

Return



Xbee:

Print "$GROUND" ; "#" ; Quittierung ; "#" ; Zellspannung ; "#" ; Temperatur ; "#" ; Gpshoehe


Return