- LiFePO4 Speicher Test         
Ergebnis 1 bis 10 von 44

Thema: Projekt Mähroboter

Baum-Darstellung

Vorheriger Beitrag Vorheriger Beitrag   Nächster Beitrag Nächster Beitrag
  1. #12
    Erfahrener Benutzer Begeisterter Techniker
    Registriert seit
    05.11.2009
    Ort
    Gerblingerode
    Alter
    59
    Beiträge
    207
    Update ...

    habe mich heute mit der Motor-Ansteuerung befasst ... Es funktioniert auf jeden Fall schon mal ...

    noch über die RS232 angesteuert, später über I2C-Slave ...

    Mit den Gebern am Motor wird die Drehzahl über die Interrupt-Eingänge INT0 / INT1 und den Timer0 erfasst ( Frequenzmessung ).

    Über RS232 kann ich die Geschwindigkeit Test-weise vorgeben (0 / 25 / 50 / 100 / 130 )

    Der Motor-Treiber wird über ein PWM angesteuert und entsprechend nachgeregelt ... da muss ich aber noch mal ran und die Beschleunigungskurve anpassen ...

    Da ich Bascom und Nano Neuling bin hat es mich doch schon ein wenig gefordert ... zum Einstieg genau das richtige


    Code:
    ' ------------ Bascom - Parameter ------------------------$regfile = "m328pdef.dat"
    $crystal = 16000000
    $hwstack = 100
    $swstack = 100
    $framesize = 100
    $baud = 19200
    
    
    Print "Start_Main"
    
    
    ' ------------ Timer_0 ------------------------
    Config Timer0 = Timer , Prescale = 256
    On Ovf0 Tim0_isr
    Enable Timer0
    
    
    ' ------------ PWM (Timer_1) -------------------
    Config Portb.1 = Output
    Config Portb.2 = Output
    Config Timer1 = Pwm , Pwm = 8 , Compare A Pwm = Clear Up , Compare B Pwm = Clear Up , Prescale = 64
    
    
    ' ------------ RS232 - Input ------------------------
    Config Serialin = Buffered , Size = 40
    
    
    ' ------------ DIM ------------------------
    Dim Na As String * 30                                       'RS232-Input-String
    Dim Si As Byte                                              'RS232 Input
    Dim Z0 As Integer
    Dim Z1 As Integer
    Dim Z0x As Word
    Dim Z1x As Word
    Dim Tx As Byte
    Dim Tmx As Byte
    Dim P1 As Byte
    Dim P2 As Byte
    Dim V1 As Word
    Dim V2 As Word
    
    
    ' -------- Interrupt 
    Config Int0 = Falling
    Config Int1 = Falling
    Enable Int0
    Enable Int1
    On Int0 Int0_sub
    On Int1 Int1_sub
    
    
    Enable Interrupts
    
    ' -------- Hauptschleife ----------------------
    Print "Start_Main Hauptschleife"
    Do
        ' Hauptschleife
        If Ischarwaiting() <> 0 Then
          Si = Inkey()
          If Si <> 13 And Si <> 10 And Len(na) < 30 Then
             Na = Na + Chr(si)
          Else
             If Ucase(na) = "STATUS" Then
                Print "ACK;STATUS"
    
    
                Print "Status Z0x=" ; Z0x ; " Z1x=" ; Z1x
             Elseif Ucase(na) = "ON" Then
                Print "ACK;ON"
                Print "ON;"
             Elseif Ucase(na) = "OFF" Then
                Print "ACK;OFF"
                Print "OFF;"
             Elseif Ucase(na) = "0" Then
                Print "ACK"
                V1 = 0 : V2 = 0
                Print "V= " ; V1
             Elseif Ucase(na) = "25" Then
                Print "ACK"
                V1 = 25 : V2 = 25
                Print "V= " ; V1
             Elseif Ucase(na) = "50" Then
                Print "ACK"
                V1 = 50 : V2 = 50
                Print "V= " ; V1
             Elseif Ucase(na) = "100" Then
                V1 = 100 : V2 = 100
                Print "V= " ; V1
             Elseif Ucase(na) = "130" Then
                V1 = 130 : V2 = 130
                Print "V= " ; V1
             Else
                Print "NAK;" ; Na
             End If
             Na = ""
          End If
       End If
    Loop
    
    
    Tim0_isr:
       ' ---- Timer_0
       Incr Tx
    
    
       If Tx > 31 Then
          Tx = 0
          Incr Tmx
          Z0x = Z0
          Z0 = 0
          Z1x = Z1
          Z1 = 0
    
    
          If V1 < Z0x And P1 < 255 Then
             P1 = P1 + 5
          End If
    
    
          If V1 > Z0x And P1 > 0 Then
           P1 = P1 - 5
          End If
    
    
          If V2 < Z1x And P2 < 255 Then
             P2 = P2 + 5
          End If
    
    
          If V2 > Z1x And P2 > 0 Then
             P2 = P2 - 5
          End If
    
    
       Compare1a = P1
       Compare1b = P2
    
    
       End If
    
    
       If Tmx > 9 Then
          Print "Status Z0x=" ; Z0x ; " Z1x=" ; Z1x ; " P1=" ; P1 ; " P2= " ; P2
          Tmx = 0
       End If
    Return
    Return
    
    
    
    
    Int0_sub:
       Incr Z0
    Return
    Return
    
    
    
    
    Int1_sub:
       Incr Z1
    Return
    Return
    Miniaturansichten angehängter Grafiken Miniaturansichten angehängter Grafiken Test-Aufbau_Motor_Antrieb.jpg   Antrieb_decoder_001.jpg   PC-Terminal.jpg  
    Gruß Ralf ... Projekt-Beschreibungen www.greinert-dud.de ... "Alle sagten: Das geht nicht. Dann kam einer, der wusste das nicht und hat's gemacht."

Ähnliche Themen

  1. Gardena Mähroboter
    Von nero123 im Forum Staubsaugerroboter / Reinigungs- und Rasenmähroboter
    Antworten: 17
    Letzter Beitrag: 13.05.2017, 16:10
  2. Mähroboter Steuerung wo bekommt man sowas
    Von junge003 im Forum Staubsaugerroboter / Reinigungs- und Rasenmähroboter
    Antworten: 14
    Letzter Beitrag: 11.07.2016, 12:01
  3. Ardumower Modulares Mähroboter System (zum mitmachen und nachmachen)
    Von naneona im Forum Vorstellungen+Bilder von fertigen Projekten/Bots
    Antworten: 3
    Letzter Beitrag: 07.03.2014, 07:51
  4. Verkaufe Günstige Husqvarna Automower Mähroboter gebraucht
    Von LeBelfort im Forum Kaufen, Verkaufen, Tauschen, Suchen
    Antworten: 0
    Letzter Beitrag: 02.03.2014, 11:56
  5. newbee konzept: mähroboter
    Von stripmower im Forum Vorstellung+Bilder+Ideen zu geplanten eigenen Projekten/Bots
    Antworten: 1
    Letzter Beitrag: 28.05.2009, 15:40

Berechtigungen

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

Labornetzteil AliExpress