- fchao-Sinus-Wechselrichter AliExpress         
Seite 4 von 5 ErsteErste ... 2345 LetzteLetzte
Ergebnis 31 bis 40 von 43

Thema: LCD von Pollin und RN-Control geht net

  1. #31
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    22.05.2005
    Ort
    12°29´ O, 48°38´ N
    Beiträge
    2.731
    Anzeige

    Powerstation Test
    Was ich mich frage, warum es Probleme mit den Pins gibt, das steht doch gross auf beiden PlatinenSeiten daneben, die fehlenden kann man sich rauszählen.

  2. #32
    Benutzer Stammmitglied
    Registriert seit
    01.05.2006
    Beiträge
    56
    mit der nummerierung hab ich eigentlich den portC aufm RNControl gemeint...

    und der pin 1 wird schon mit
    portc.1 angesteuert? in der dokumentation stand was von portc.0 ??? ich bin ein wenig verwirrt...

    nur damit niemand denkt ich bin der totale newbie-..... 3 IR Sensoren und 2 Servos sorgen schon für eine kollisionsfreie fahrt!

    edit: morgen poste ich fotos/skizzen vom anschluss und meinen quelltext.. bin grad aber noch unterwegs.. danke für die unterstützung bis hier!!

  3. #33
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    22.05.2005
    Ort
    12°29´ O, 48°38´ N
    Beiträge
    2.731
    Wollte nur gefragt haben

    In der Computerwelt beginnt alles bei 0, deshalb ist PortC.0 der 1. Pin am Stecker. Geht dann auch nur bis PortC.7 was der 8. Pin an Stecker ist.

    Das wäre aber schön in dern Beschreibnung des RN-Control zu sehen,
    zB beim Port C : Pin1 PC0 / SCL ...

    Man muss dann also nur schauen wo an diesem Wannenstecker Pin 1 ist, und dieser ist mit einem Pfeil gekennzeichnet, zwar nicht recht auffällig, aber wenn mans weiss das es ein Pfeil ist, sieht man ihn auch
    Auf der Seite der Aussparung ist ein kleines Dreieck, und dort ist Pin 1, hintendran Pin2 usw.

    Du kannst Dir auch mal die Doku zum RN-LcdAdapter anschauen, da kann auch mit einem 10-pol. Kabel verbunden werden.

  4. #34
    Benutzer Stammmitglied
    Registriert seit
    01.05.2006
    Beiträge
    56
    jungs es geht jetzt!!!!!!!!!!

    pins falsch belegt..
    ich dachte dass es bei eins anfängt.. bei meinen Servos am portd.3 und portb.3 isses jedenfalls so ???????????????? komisch..
    am port C musste ich einen weniger nehmen.. und einen hatte ich ausversehen vertauscht.. (gedanklich im quelltext)...

    aber jetzt funzt es ... ich mach noch fotos.

    danke!!!!!!!!!!!!!!!!!!

  5. #35
    Benutzer Stammmitglied
    Registriert seit
    01.05.2006
    Beiträge
    56
    toll.. irgendwie zeigt er pro zeile net mehr an als 8 zeichen oder so.. der rest wird abgeschnitten..
    und es wird irgendwie langsamer das programm...
    das muss ich noch optimieren..

  6. #36
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    29.12.2005
    Ort
    Nähe Mainz
    Alter
    33
    Beiträge
    3.467
    Wie sieht denn dein Prog jetzt aus?

    jon
    Nice to be back after two years
    www.roboterfreak.de

  7. #37
    Benutzer Stammmitglied
    Registriert seit
    01.05.2006
    Beiträge
    56
    Code:
    $regfile = "m32def.dat"
    
    
    
    $crystal = 16000000                                         'Quarzfrequenz
    $baud = 9600
    
    
    
    
    
    
    'Timer
    Config Timer2 = Timer , Prescale = 1024
    On Timer2 Timer_irq
    Const Timervorgabe = 100
    Enable Timer2
    
    
    
    Config Lcd = 16 * 2
    Config Lcdpin = Pin , Db4 = Portc.0 , Db5 = Portc.1 , Db6 = Portc.4 , Db7 = Portc.2 , E = Portc.3 , Rs = Portb.4
    Config Lcdbus = 4
    
    
    
    'Servo Config
    Config Servos = 2 , Servo1 = Portd.3 , Servo2 = Portb.3 , Reload = 10       'Turmservo x
    Config Portd = Output
    Config Pinb.3 = Output
    
    
    Enable Interrupts
    'Ende Servo Config
    
    Config Adc = Single , Prescaler = Auto                      'Für Tastenabfrage und Spannungsmessung
    
    Config Pina.7 = Input                                       'Für Tastenabfrage
    Porta.7 = 1                                                 'Pullup Widerstand ein
    
    
    Const Ref = 5 / 1023                                        'Für Batteriespannungsberechnung
    
    
    
    Dim Volt As Single
    Dim D As Integer
    Dim I As Byte
    Dim L As Integer
    
    Dim H As Integer
    Dim K As Integer
    Dim M As Integer
    Dim N As Integer
    
    Dim S As Integer
    
    
    Dim A0 As Integer
    Dim A1 As Integer
    Dim A2 As Integer
    Dim A3 As Integer
    Dim A2_l As Integer
    Dim A2_l1 As Integer
    Dim A2_l2 As Integer
    Dim A2_l3 As Integer
    Dim A2_lm As Integer
    
    
    Dim A2diff1 As Integer
    Dim A2diff2 As Integer
    
    
    Dim A2_r As Integer
    Dim A2_r1 As Integer
    Dim A2_r2 As Integer
    Dim A2_r3 As Integer
    Dim A2_rm As Integer
    Dim A2_wd As Integer
    
    Dim Groesser As Integer
    Dim Pos As Integer
    
    
    Dim X As Integer
    Dim Y As Integer
    
    '-------------------------
    Dim Center As Integer
    Dim Left As Integer
    Dim Right As Integer
    Dim Leftmax As Integer
    Dim Rightmax As Integer
    Dim Right1 As Integer
    Dim Right2 As Integer
    Dim Right3 As Integer
    Dim Left1 As Integer
    Dim Left2 As Integer
    Dim Left3 As Integer
    
    
    Left = 130
    Right = 70
    Left1 = 135
    Left2 = 150
    Left3 = 165
    Right1 = 65
    Right2 = 50
    Right3 = 35
    
    Leftmax = 180
    Rightmax = 20
    Center = 100
    
    
    S = 0
    
    
    
    
    Servo(1) = Center
    '-------------------------
    
    
    Dim Center2 As Integer
    Dim Oben As Integer
    Dim Unten As Integer
    Dim Obenmax As Integer
    Dim Untenmax As Integer
    
    Oben = 90
    Unten = 110
    Obenmax = 70
    Untenmax = 130
    
    
    Servo(2) = Center
    
    
                                                   'String auf Display anzeigen
    
    
    
    '-------------------------
    
    'Ports für linken Motor
    Config Pinc.6 = Output                                      'Linker Motor Kanal 1
    Config Pinc.7 = Output                                      'Linker Motor Kanal 2
    Config Pind.4 = Output                                      'Linker Motor PWM
    'Ports für rechten Motor
    Config Pinb.0 = Output                                      'Rechter Motor Kanal 1
    Config Pinb.1 = Output                                      'Rechter Motor Kanal 2
    Config Pind.5 = Output                                      'Rechter Motor PWM
    Config Timer1 = Pwm , Pwm = 10 , Compare A Pwm = Clear Down , Compare B Pwm = Clear Down
    Pwm1a = 0
    Pwm1b = 0
    Tccr1b = Tccr1b Or &H02                                     'Prescaler = 8
    
    
    
     Sound Portd.7 , 200 , 400
     Wait 3
     Cls                                                        'loesche das LCD Display
     Locate 1 , 1                                               'Cursor auf 1 Zeile, 1 Spalte
     Lcd "init..."
    Sound Portd.7 , 200 , 400
    Sound Portd.7 , 200 , 400
    Wait 1
    
    Cls                                                         'loesche das LCD Display
     Locate 1 , 3                                               'Cursor auf 1 Zeile, 1 Spalte
     Lcd "start..."                                             'String auf Display anzeigen
    
    
    
    
    
    
    
      L = 100                                                   'beschleunigen
       Do
          Servo(1) = L
          Waitms 20
          L = L + 1
       Loop Until L > 170
    
    
     'Motoren Einschalten!!!
    Portb.0 = 1
    Portb.1 = 0
    Portd.5 = 1
    
    Portc.6 = 0
    Portc.7 = 1
    Portd.4 = 1
    
       Pwm1a = 600
       Pwm1b = 600
       L = 170                                                  'beschleunigen
      Do
          Servo(1) = L
          Waitms 20
          L = L - 1
       Loop Until L < 30
    
    
       Pwm1a = 0
       Pwm1b = 0
    
    
      Servo(1) = 100
    
    
    
    
    
       '------------------
    Wait 1
    
    Cls                                                         'loesche das LCD Display
     Locate 1 , 1                                               'Cursor auf 1 Zeile, 1 Spalte
     Lcd "Starte"
     Locate 2 , 1
     Lcd "programm"
    
    
    
    Servo(2) = 100
    
    
    
    
    Sound Portd.7 , 200 , 400
    
    Wait 1
    
    'Motoren Einschalten!!!
    Portb.0 = 1
    Portb.1 = 0
    Portd.5 = 1
    
    Portc.6 = 1
    Portc.7 = 0
    Portd.4 = 1
    
    
    
    
    
    
    '###################################
    Cls                                                         'loesche das LCD Display
     Locate 1 , 1                                               'Cursor auf 1 Zeile, 1 Spalte
     Lcd "Go"
    
    L = 0                                                       'beschleunigen
       Do
          Pwm1a = L
          Pwm1b = L
          Waitms 30
          L = L + 50
       Loop Until L > 1023
    
    
    
    
    'Scout Routine *#*#*#*#*#*#
    '*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#
    
    N = 0
    
    Do
    
    
    Servo(1) = Center
    Servo(2) = Center
    
    
    Anfang:
    
    
    N = N + 1
    
    
    
    
    
    
    'Messung der Abstände:
    Start Adc
    A0 = Getadc(0)
    A1 = Getadc(1)
    A2 = Getadc(2)
    D = Getadc(6)
    
    Volt = D * Ref
    Volt = Volt * 5.2941
    
    
    
    If Volt < 5.8 Then Gosub Akkuwarnung
    
    If A0 > A1 Then
    If A0 > 255 Then
    If A0 < 290 Then Gosub Rechtslenken
    End If
    End If
    
    If A1 > A0 Then
    If A1 > 255 Then
    If A1 < 290 Then Gosub Linkslenken
    End If
    End If
    
    If A0 > 290 Or A1 > 290 Or A2 > 340 Then Gosub Ausweichen
    
    If N > 1000 Then Gosub Kameradrehung1
    
    If M = 2 Then Gosub Kameradrehung2
    
    If M = 3 Then
        Servo(1) = 100
        M = 0
    
    End If
    
    If S > 15000 Then Gosub Idlemode
    
    
    
    M = 0
    
    
    H = 0
    
    
    
    
    'Motoren Einschalten!!!
    Portb.0 = 1
    Portb.1 = 0
    Portd.5 = 1
    
    Portc.6 = 1
    Portc.7 = 0
    Portd.4 = 1
    
    
    
    
    
    
    Pwm1a = 1023
    Pwm1b = 1023
    
    
    
    
    
    Loop
    
    
    
    
    
    
    '++++++++++++++   S U B s    ++++++++++++++++++++++++++++++++++
                  '|||||||||||||||||||||||
                  'VVVVVVVVVVVVVVVVVVVVVVV
    
    Akkuwarnung:
    
    Cls                                                         'loesche das LCD Display
     Locate 1 , 1                                               'Cursor auf 1 Zeile, 1 Spalte
     Lcd "Volt="
     Locate 2 , 1
     Lcd Volt                                                   'String auf Display anzeigen
    
    
       Do
    
        Pwm1a = L
        Pwm1b = L
        Waitms 40
        L = L - 10
        Loop Until L < 1
    
        Pwm1a = 0                                               'Linker Motor aus
        Pwm1b = 0                                               'rechter Motor aus
    
    
       '****** S O S **********
       Sound Portd.7 , 200 , 400
       Waitms 100
       Sound Portd.7 , 200 , 400
       Waitms 100
       Sound Portd.7 , 200 , 400
       Waitms 100
       Sound Portd.7 , 1000 , 400
       Waitms 200
       Sound Portd.7 , 1000 , 400
       Waitms 200
       Sound Portd.7 , 1000 , 400
       Waitms 200
       Sound Portd.7 , 200 , 400
       Waitms 100
       Sound Portd.7 , 200 , 400
       Waitms 100
       Sound Portd.7 , 200 , 400
    
    
    
    Start Adc
    A0 = Getadc(0)
    A1 = Getadc(1)
    A2 = Getadc(2)
    
     Servo(2) = 100
    L = 100                                                     'beschleunigen
       Do
          Servo(2) = L
    
          Waitms 30
          L = L + 1
       Loop Until L > 130
    
    
    
    
    
    
    Goto Ende
    
    
    
    
      'Soll sich noch ausrichten damit er weit sehen kann
       '
       '
       '
      Return
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    '************* AUSWEICHEN ******************
    Ausweichen:
     Cls                                                        'loesche das LCD Display
     Locate 1 , 1                                               'Cursor auf 1 Zeile, 1 Spalte
     Lcd "Hindernis"
     Locate 2 , 1
     Lcd "erkannt"
    
    '## STOP
    Pwm1a = 0
    Pwm1b = 0
    
    
    H = H + 1                                                   'Dead Lock Zähler
    
    If H > 5 Then Goto Deadlock
    Servo(1) = Right
    
       Waitms 150
    'Servo kopf drehen, rechts links vermessen.
      A2_r = Getadc(2)                                          'Sensor links auslesen und A2_l zuweisen
    
    
    Servo(1) = Left
    
       Waitms 250
    'Servo kopf drehen, rechts links vermessen.
      A2_l = Getadc(2)
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
       Waitms 150
    
    Servo(1) = 100
    
    
    'Sensordatenauswertung
    '-------------------------------------------
    
    
    
    
    
    If A2_r > A2_l Then                                         'wenn links mehr platz als rechts
    
    
    
    If A0 > A1 Then                                             ' Dann Zurückfahren Und Nach Links Drehen
    
    
    'stop
    Pwm1a = 0
    Pwm1b = 0
    
    'Linker Motor rückwärts
       Portc.6 = 0                                              'bestimmt Richtung
       Portc.7 = 1                                              'bestimmt Richtung
       Portd.4 = 1                                              'Linker Motor EIN
    
    'Rechter Motor vorwärts
       Portb.0 = 1                                              'bestimmt Richtung rechter Motor
       Portb.1 = 0                                              'bestimmt Richtung rechter Motor
       Portd.5 = 1                                              'rechter Motor EIN
    
    '###########
    'nach links drehen
    
    Pwm1a = 1023
    Pwm1b = 1023
    
    Waitms 350
    
    'stop
    Pwm1a = 0
    Pwm1b = 0
    
    End If
    
    
     '<<<<<< >>>>>>>>>>> >>>>>>>>>> <<<<<<<<<<<<<<
    
    
    
    
     If A1 > A0 Then                                            ' Dann Zurückfahren Und weit Nach links Drehen
    
    
    'stop
    Pwm1a = 0
    Pwm1b = 0
    
    'Linker Motor rückwärts
       Portc.6 = 0                                              'bestimmt Richtung
       Portc.7 = 1                                              'bestimmt Richtung
       Portd.4 = 1                                              'Linker Motor EIN
    
    'Rechter Motor vorwärts
       Portb.0 = 1                                              'bestimmt Richtung rechter Motor
       Portb.1 = 0                                              'bestimmt Richtung rechter Motor
       Portd.5 = 1                                              'rechter Motor EIN
    
    '###########
    'nach links drehen
    
    Pwm1a = 1023
    Pwm1b = 1023
    
    Waitms 750
    
    'stop
    Pwm1a = 0
    Pwm1b = 0
    
    End If
    
    
    
    
    
    
    
    Cls
    
    
    
    
    
    
    
    
    End If
    
    
    
    
    
    
    
    
    
    '------------------------------
    
    
    
    If A2_l > A2_r Then                                         'wenn rechts mehr platz als links
    
    
    If A1 > A0 Then                                             'dann zurückfahren und nach rechts drehen
    
    
    'stop
    Pwm1a = 0
    Pwm1b = 0
    
    Servo(2) = Unten
    
    'Rechter Motor rückwärts
       Portb.0 = 0                                              'bestimmt Richtung rechter Motor
       Portb.1 = 1                                              'bestimmt Richtung rechter Motor
       Portd.5 = 1                                              'rechter Motor EIN
    
    
    'Linker Motor vorwärts
       Portc.6 = 1                                              'bestimmt Richtung
       Portc.7 = 0                                              'bestimmt Richtung
       Portd.4 = 1                                              'Linker Motor EIN
    
    
    
    '###########
    'nach rechts drehen
    
    Pwm1a = 1023
    Pwm1b = 1023
    
    Waitms 550
    
    'stop
    Pwm1a = 0
    Pwm1b = 0
    
    End If
    
    '<<<<<<<<<<<<<<>>>>>>>>>>>>>>>>< <<<<<<<<<<<< >>>>>>>>>>>>>
    
    If A0 > A1 Then                                             'dann zurückfahren und weit nach rechts drehen
    
    
    'stop
    Pwm1a = 0
    Pwm1b = 0
    
    Servo(2) = Unten
    
    'Rechter Motor rückwärts
       Portb.0 = 0                                              'bestimmt Richtung rechter Motor
       Portb.1 = 1                                              'bestimmt Richtung rechter Motor
       Portd.5 = 1                                              'rechter Motor EIN
    
    
    'Linker Motor vorwärts
       Portc.6 = 1                                              'bestimmt Richtung
       Portc.7 = 0                                              'bestimmt Richtung
       Portd.4 = 1                                              'Linker Motor EIN
    
    
    
    '###########
    'nach rechts drehen
    
    Pwm1a = 1023
    Pwm1b = 1023
    
    Waitms 850
    
    'stop
    Pwm1a = 0
    Pwm1b = 0
    
    End If
    
    
    
    
    End If
    
    
    
    
    Goto Anfang
    
    
    
    Return
    
    
    
    
    
    
    
    
    '************ Rechtslenken ****************
    Rechtslenken:
    
    
    
    H = H + 1                                                   'Dead Lock Zähler
    
    If H > 5 Then Goto Deadlock
    
    Servo(1) = 110
    Servo(2) = Oben
    
    Pwm1a = 1023
    Pwm1b = 300
    
    Waitms 250
    
    Pwm1a = 1023
    Pwm1b = 1023
    Servo(1) = 100
    
    Goto Anfang
    
    Return
    
    
    
    
    
    
    
    
    
    
    
    
    '************ linkslenken ****************
    Linkslenken:
    
    
    
    H = H + 1                                                   'Dead Lock Zähler
    
    If H > 5 Then Goto Deadlock
    
    Servo(1) = 90
    Servo(2) = Oben
    Pwm1b = 1023
    Pwm1a = 300
    
    Waitms 250
    
    Pwm1a = 1023
    Pwm1b = 1023
    Servo(1) = 100
    
    Goto Anfang
    
    Return
    
    
    
    
    
    
    
    
    
    
    
    
    '************ Abstand ****************
    Abstand:
    
    
    
    
    M = 1
    
    
    
    
    
    Goto Anfang
    
    Return
    
    
    
    '*****************
    
    Kameradrehung1:
    
    
    Pwm1a = 1023
    Pwm1b = 1023
    
    X = 100
    
    
    Do
          Servo(1) = X
          Waitms 20
          X = X + 5
       Loop Until X > 130
    N = 0
    
    
    
    M = 2
    
    Goto Anfang
    
    Return
    
                   '**********************
    
    Kameradrehung2:
    
    Pwm1a = 1023
    Pwm1b = 1023
    
    X = 130
    
    Do
          Servo(1) = X
          Waitms 20
          X = X - 5
       Loop Until X < 70
    X = 100
    
    M = 3
    
    Goto Anfang
    
    Return
    
    
    
    
    
    
    
    
    
    Timer_irq:
    Timer2 = Timervorgabe
    
    S = S + 1
    
    
    
    Return
    
    
    
    
    
    
    
    
    
    
    Idlemode:
    
    
    Cls                                                         'loesche das LCD Display
     Locate 1 , 1                                               'Cursor auf 1 Zeile, 1 Spalte
     Lcd "Ausrichtung"
     Locate 2 , 1
     Lcd "gestartet"
    
    Pwm1a = 0
    Pwm1b = 0
    
    Servo(2) = 90
    
    
    Servo(1) = Right3
       Waitms 450
      A2_r3 = Getadc(2)                                         'Sensor links auslesen und A2_l zuweisen
    
    
    Servo(1) = Right2
       Waitms 350
      A2_r2 = Getadc(2)
    
    Servo(1) = Right1
       Waitms 350
      A2_r1 = Getadc(2)
    
      Servo(1) = Center
       Waitms 350
      A2 = Getadc(2)
    
    Servo(1) = Left1
       Waitms 350
      A2_l1 = Getadc(2)
    
    Servo(1) = Left2
       Waitms 350
      A2_l2 = Getadc(2)
    
    Servo(1) = Left3
       Waitms 350
      A2_l3 = Getadc(2)
    
    
    
    
    
    
    'Größten Wert suchen - mit 2 Werte vergleichen und kleineren ignorieren
    Y = 0
    
    If A2_r3 > A2_r2 Then
    Groesser = Right3
    Pos = 800
    Y = 1
    End If
    
    If A2_r2 > Groesser Then
    Groesser = A2_r2
    Pos = 500
    Y = 1
    End If
    
    If A2_r1 > Groesser Then
    Groesser = A2_r1
    Pos = 250
    Y = 1
    End If
    
    If A2 > Groesser Then
    Groesser = A2
    Pos = 0
    Y = 1
    End If
    
    If A2_l1 > Groesser Then
    Groesser = A2_l1
    Pos = 250
    Y = 2
    End If
    
    If A2_l2 > Groesser Then
    Groesser = A2_l2
    Pos = 500
    Y = 2
    End If
    
    If A2_l3 > Groesser Then
    Groesser = A2_l3
    Pos = 800
    Y = 2
    End If
    
    
    
    If Y = 1 Then
    
     'Rechter Motor rückwärts
       Portb.0 = 1                                              'bestimmt Richtung rechter Motor
       Portb.1 = 0                                              'bestimmt Richtung rechter Motor
       Portd.5 = 1                                              'rechter Motor EIN
    
    
    'Linker Motor vorwärts
       Portc.6 = 0                                              'bestimmt Richtung
       Portc.7 = 1                                              'bestimmt Richtung
       Portd.4 = 1                                              'Linker Motor EIN
    
    
    
    '###########
    'nach rechts drehen
    
    Pwm1a = 1023
    Pwm1b = 1023
    
    Waitms Pos
    
    'stop
    Pwm1a = 0
    Pwm1b = 0
    
    End If
    
    
    
    
    
    If Y = 2 Then
    
     'Rechter Motor rückwärts
       Portb.0 = 0                                              'bestimmt Richtung rechter Motor
       Portb.1 = 1                                              'bestimmt Richtung rechter Motor
       Portd.5 = 1                                              'rechter Motor EIN
    
    
    'Linker Motor vorwärts
       Portc.6 = 1                                              'bestimmt Richtung
       Portc.7 = 0                                              'bestimmt Richtung
       Portd.4 = 1                                              'Linker Motor EIN
    
    
    
    '###########
    'nach rechts drehen
    
    Pwm1a = 1023
    Pwm1b = 1023
    
    Waitms Pos
    
    'stop
    Pwm1a = 0
    Pwm1b = 0
    
    
    End If
    
    Servo(1) = 100
    
    
    Servo(2) = 70
    
    Wait 1
    
    A2 = Getadc(2)
    
    
    
    
    
    
    
    
    
    S = 0
    
    
    Do
    
    
    
    
    
    A2diff1 = Getadc(2)
    
    Waitms 500
    
    A2diff2 = Getadc(2)
    
    A2_wd = A2diff2 - A2diff1
    
    If A2_wd > 30 Then
    S = 32000
    End If
    
    
    Cls                                                         'loesche das LCD Display
     Locate 1 , 1                                               'Cursor auf 1 Zeile, 1 Spalte
     Lcd A2diff1
    
    Loop Until S > 30000
    
    S = 0
    
    Servo(1) = 100
    Servo(2) = 100
    
    Goto Anfang
    
    Return
    
    
    
    
    
    
    
    
    
    Deadlock:
    
    Cls                                                         'loesche das LCD Display
     Locate 1 , 1                                               'Cursor auf 1 Zeile, 1 Spalte
     Lcd "Deadlock"
    
    
    Sound Portd.7 , 300 , 200
    Sound Portd.7 , 300 , 800
    Sound Portd.7 , 300 , 200
    Sound Portd.7 , 300 , 800
    Sound Portd.7 , 300 , 200
    Sound Portd.7 , 300 , 800
    
    
    
    
     'Linker Motor rückwärts
        Portc.6 = 0                                             'bestimmt Richtung
        Portc.7 = 1                                             'bestimmt Richtung
        Portd.4 = 1                                             'Linker Motor EIN
    
       'Rechter Motor rückwärts
        Portb.0 = 0                                             'bestimmt Richtung rechter Motor
        Portb.1 = 1                                             'bestimmt Richtung rechter Motor
        Portd.5 = 1
    
    
        Pwm1a = 900
        Pwm1b = 900
    
        Sound Portd.7 , 300 , 200
    Sound Portd.7 , 300 , 800
    Sound Portd.7 , 300 , 200
    Sound Portd.7 , 300 , 800
    Sound Portd.7 , 300 , 200
    Sound Portd.7 , 300 , 800
    Sound Portd.7 , 300 , 200
    
    
        Waitms 450
    
        Pwm1a = 0
        Pwm1b = 0
    
    
         'Linker Motor rückwärts
        Portc.6 = 0                                             'bestimmt Richtung
        Portc.7 = 1                                             'bestimmt Richtung
        Portd.4 = 1                                             'Linker Motor EIN
    
       'Rechter Motor rückwärts
        Portb.0 = 1                                             'bestimmt Richtung rechter Motor
        Portb.1 = 0                                             'bestimmt Richtung rechter Motor
        Portd.5 = 1
    
        Pwm1a = 700
        Pwm1b = 700
    
    
        Waitms 250
    
    
    
    
    
        Pwm1a = 0
        Pwm1b = 0
    
    Goto Anfang
    
    
    
    Return
    
    
    
    
    Ende:


    das ist mein komplettes programm...



    interessieren dürfe dich aber nur der Anfang.. wie ich das LCD konfiguriert habe..

    irgendwie bin ich schon arg an der leistungsgrenze des RN control..

    der timer1 für PWM und ein Timer2 für ungefähr zeitgesteuerte pausen stören sich glaub teilweise.. jedenfalls zucken die Servos viel mehr als ohne den zweiten timer..

    gleichzeitig verlangsamt das LCD mein komplettes system..
    normalerweise hat sich er servoturm alle 2 sekunden gedreht und rechts links während dem fahren vermessen.. (radarähnlich)..
    das geschieht jetzt alle ~10 sek..
    obwohl ich als bedingung genannt habe, dass er nach 1000 do/loop schleifen jedesmal diese bewegung machen soll.. :-\

  8. #38
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    29.12.2005
    Ort
    Nähe Mainz
    Alter
    33
    Beiträge
    3.467
    1. Verwendest du wirklich einen 16MHZ Quarz? Nochmal bei den Fusebits kontrollieren.
    2.Du verwendest extrem viele variablen. Das kann bewirken, dass er zum Durchlaufen des Progs länger braucht.

    jon
    Nice to be back after two years
    www.roboterfreak.de

  9. #39
    Benutzer Stammmitglied
    Registriert seit
    01.05.2006
    Beiträge
    56
    ja schon.. wurde ja schon von werk eingestellt und ich habs grad kontrolliert..

    mh ja.. die variablen könnte ich mal bereinigen.. ich denk mit ein paar weniger komme ich aus..

  10. #40
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    29.12.2005
    Ort
    Nähe Mainz
    Alter
    33
    Beiträge
    3.467
    *Pfff*
    Ich bin etwas ratlos. Vielleicht geht es ja, wenn ud ein paar Variablen rasgeschmissen hast, besser.

    jon
    Nice to be back after two years
    www.roboterfreak.de

Seite 4 von 5 ErsteErste ... 2345 LetzteLetzte

Berechtigungen

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

fchao-Sinus-Wechselrichter AliExpress