- 3D-Druck Einstieg und Tipps         
Seite 1 von 2 12 LetzteLetzte
Ergebnis 1 bis 10 von 44

Thema: Projekt Mähroboter

Hybrid-Darstellung

Vorheriger Beitrag Vorheriger Beitrag   Nächster Beitrag Nächster Beitrag
  1. #1
    Erfahrener Benutzer Begeisterter Techniker
    Registriert seit
    05.11.2009
    Ort
    Gerblingerode
    Alter
    58
    Beiträge
    207
    Habe den Akku hinter den Rädern, und trotzdem fast zu viel Gewicht auf den Vorderrädern.
    Gehe mal davon aus, das Du Schleppräder vorne hast, da mag es bei zu viel Gewicht störend sein,
    denn die müssen ja immer in Ihre Richtung gedrängt werden, bei ungünstiger Stellung benötigt man da sehr viel kraft.

    Die Kette muss gekapselt werden, es ist unglaublich was sich alles an Schmutz und Staub sammelt.
    Danke für den Tipp, muss ich in meiner Planung mit einbeziehen ...

    Dafür ist die Achse eine DC Motors aber auch nicht geeignet. Die zulässigen Axiallasten sind meist recht gering.
    Daher besser die Lenkachse massiv ausführen und lagern, daran kann man immer noch den Servo anflanschen
    Möchte den Aufwand natürlich so gering wie Möglich halten, habe einen Winkel-Getriebemotor mit zweifach gelagerter 10mm Welle in der Auswahl,
    werde aber das Lenkrad als Modul auslegen, Falls doch eine Nachbesserung von Nöten ist ...
    Geändert von Feuerring (07.07.2016 um 13:29 Uhr)
    Gruß Ralf ... Projekt-Beschreibungen www.greinert-dud.de ... "Alle sagten: Das geht nicht. Dann kam einer, der wusste das nicht und hat's gemacht."

  2. #2
    Erfahrener Benutzer Begeisterter Techniker
    Registriert seit
    05.11.2009
    Ort
    Gerblingerode
    Alter
    58
    Beiträge
    207
    Update ...

    habe heute meine beiden Funk-Module (HC-11 433MHz) bekommen und gleich mal ausprobiert,
    Aus meinem Büro im Haus, habe ich die Funkverbindung über das gesamte Grundstück ausgetestet und mit einem mobilen Modul alles abgelaufen ...

    Später soll der Funk-Transmitter für den PC dann draußen am Haus (Grundstück-Mitte) angebracht werden, um eine 100% Abdeckung zu gewährleisten.

    Habe aber Probleme mit dem SET-Mode ... wollte mal mit der Einstellung der Kanäle spielen ,
    also Funk-Modul Pin(5) auf GND gelegt, dann an das entsprechende Modul über die TTL-Schnittelle AT bzw ATV gesendet ... keine Reaktion

    Sobald ich Pin(5) wieder auf HIGH schalte, funktioniert das Modul nach wie vor und kommuniziert mit dem anderen und überträgt bzw. empfängt Daten ...

    Hat da einer einen Tipp für mich ... was mache ich falsch
    Gruß Ralf ... Projekt-Beschreibungen www.greinert-dud.de ... "Alle sagten: Das geht nicht. Dann kam einer, der wusste das nicht und hat's gemacht."

  3. #3
    Erfahrener Benutzer Begeisterter Techniker
    Registriert seit
    05.11.2009
    Ort
    Gerblingerode
    Alter
    58
    Beiträge
    207
    Update ...

    habe mir mal Gedanken über die Module und dessen Funktionen / Verkabelung gemacht ...

    Klicke auf die Grafik für eine größere Ansicht

Name:	Verkabelung_Module_001.jpg
Hits:	53
Größe:	28,2 KB
ID:	31786

    Ist nur erst mal ein Grund-Konzept ... Details folgen dann bei der Umsetzung.

    Es wird eine MASTER_STOP_Leitung geben, wird diese auf LOW gezogen schalten alle Motor_Treiber ab,
    diese Leitung kann dann von verschiedenen Modulen auf LOW gezogen werden ( NOT-AUS-Taster / Cover wird angehoben / Störung im System usw. )

    Die Stromversorgung der verschiedenen Module (Nano) kann vom Master abgeschaltet werden z.B. Standby in der Ladestation / neustart bei Störung ...

    Der Master bekommt ein Watchdog und muss auch im Standby immer laufen, die Verbindung zum PC ist zwingend, bei einem Time-out geht der Bot in Standby ...
    Gruß Ralf ... Projekt-Beschreibungen www.greinert-dud.de ... "Alle sagten: Das geht nicht. Dann kam einer, der wusste das nicht und hat's gemacht."

  4. #4
    Erfahrener Benutzer Begeisterter Techniker
    Registriert seit
    05.11.2009
    Ort
    Gerblingerode
    Alter
    58
    Beiträge
    207
    Update ...

    im Anhang noch mal das Grund-Konzept in einer besseren Auflösung.

    Beschreibung der Baugruppen (Module) von links nach rechts

    Lenk-Modul:
    Nano als I2C-Slave

    schreiben 1 Byte ' Drehrichtung und Winkel vom Lenkrad

    76543210
    Rwwwwwww

    R = Richtung 1=Rechts / 0=Links
    w = Wert als Winkel 0-90°


    lesen 4 Byte ' Raum-Koordinate x / y 16Bit 65535 x 65535 cm ( +/- 320m )

    Antrieb-Modul
    Nano als I2C-Slave

    schreiben 2 Byte

    76543210 | 76543210
    Raaaaaaa | Rbbbbbbb

    R = Richtung 0=vorwärts / 1=Rückwärts
    a = Motordrehzahl
    geregelt (linker-Motor) 0-127 / 0-100%
    b = Motordrehzahl geregelt (rechter-Motor) 0-127 / 0-100%

    bei Motordrehzahl =0 Motor-B
    rake

    Weg-Strecke-Modul
    Nano als I2C-Slave

    lesen 6 Byte ' Zähler 24 Bit je Motor +/- 8388608 mm (~ +/- 8300m)

    76543210 | 76543210 | 76543210 | 76543210 | 76543210 | 76543210
    Vaaaaaaa | aaaaaaaa | aaaaaaaa | Vbbbbbbb | bbbbbbbb | bbbbbbbb

    V = Vorzeichen 1=Negativ 0=positiv
    a = 23 Bit Wert Motor(links)
    b = 23 Bit
    Wert Motor(rechts)

    schreiben 4 Byte ' Weg-Vorgabe 16Bit je Motor als Interrupt-Ausgang
    76543210 | 76543210 | 76543210 | 76543210
    aaaaaaaa | aaaaaaaa | bbbbbbbb | bbbbbbbb

    a =
    16 Bit Wert Motor(links)
    b = 16 Bit Wert Motor(rechts)
    Wert = 0 kein Interrupt, ansonsten wird ein Interrupt ausgegeben wenn ein Wert als Differenz erreicht wird

    Mähwerk-Modul
    Nano als I2C-Slave

    Ansteuerung der Burshless-Treiber mit Drehzahlregelung und Sense für Strom

    schreiben 1 Byte

    76543210
    abcwwwww

    a = Mähwerk_1 vorn_links 1=an 0=aus

    b = Mähwerk_2 vorn_rechts 1=an 0=aus
    c = Mähwerk_3 Mitte 1=an 0=aus
    w = Wert 0-31 Drehzahl-Vorgabe für alle Motoren

    lesen 3 Byte ' je Motor 8Bit Status / Strom

    Schleifen-Modul
    Nano als I2C-Slave

    lesen 8 Byte ' Status und Feldstärke
    76543210 | 76543210 | 76543210 | 76543210 | 76543210 | 76543210 | 76543210 | 76543210
    xxiiiiii | xxaaaaaa | P1111111 | P2222222 | P3333333 | P4444444 | P5555555 | P6666666

    x = nicht verwendet
    i = 1= Sensor in der Schleife 0=
    Sensor nicht in der Schleife
    a = 1= Sensor außerhalb der Schleife 0= Sensor nicht außerhalb der Schleife
    p = Polarität 0=positiv 1=negativ
    1-6 = Wert Feldstärke 0-127 für jeden Sensor
    zum einfachen erkennen der Schleife brauchen nur die ersten beiden Byte eingelesen werden
    für die exakte Schleifen-Fahrt können noch die weiteren 6 Byte für die Feldstärke der Sensoren eingelesen werden.

    Master-Modul
    Nano als I2C-Master

    Steuert die I2C-Slave_Module und hält die Verbindung zum PC
    Führt Remote-Befehle vom PC halbautomatisch aus, bzw. Funktion Zufall-mähen / Schleifen-Rand-Fahrt(mähen) Vollautomatisch aus

    jedes I2C-Slave-Modul bekommt ein Interrupt-Ausgang dieser wird einzeln oder als Sammelleitung vom Master abgefragt,
    um so schnell auf Events der Slave zu reagieren ohne diese permanent über I2C zu pollen ...

    PCF 8574 (I2C)
    Zusätzliche Ein / Ausgänge für den Master

    Der BOT bekommt als Eingabe ein Schlüssel-Schalter EIN-AUS-Reset und einen NOT-AUS-Botton,
    als Ausgabe nur ein paar Status-LEDs und einen Summer(Hupe)

    Zusätzliche Funktionen
    z.B. Abstandsmessung können durch zusätzliche Module (I2C) problemlos nachgerüstet werden ...

    Durch den Aufbau mit I2C-Nano-Modulen, kann ich die Einzelnen Funktionen am PC über einen I2C-Adapter super in Ihrer Funktion testen und fertig programmieren,
    es werden auch so Zeitkritische Funktionen voneinander getrennt ...








    - - - Aktualisiert - - -

    Teil_Bilder Grund-Konzept ...


    Miniaturansichten angehängter Grafiken Miniaturansichten angehängter Grafiken Verkabelung_Module_001b.jpg   Verkabelung_Module_001_Antrieb.jpg   Verkabelung_Module_001_Lenkrad.jpg   Verkabelung_Module_001_Mähwerk.jpg   Verkabelung_Module_001_Weg-Strecke.jpg  

    Verkabelung_Module_001_Schleife_Master.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."

  5. #5
    Erfahrener Benutzer Begeisterter Techniker
    Registriert seit
    05.11.2009
    Ort
    Gerblingerode
    Alter
    58
    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."

  6. #6
    Erfahrener Benutzer Begeisterter Techniker
    Registriert seit
    05.11.2009
    Ort
    Gerblingerode
    Alter
    58
    Beiträge
    207
    Update ...

    muss mich korrigieren ... die Bascom Befehle ( I2creceive / I2csend ) arbeiten zuverlässig !!!

    wenn man wie ich aber die Befehle mit falsch dimensionierte Variablen verwendet, muss man sich nicht wundern das diese sich aufhängen.

    Habe zum testen mehrere zigtausend mal die Module über I2C angesprochen (schreiben und lesen) ... alles ohne Probleme ...
    Gruß Ralf ... Projekt-Beschreibungen www.greinert-dud.de ... "Alle sagten: Das geht nicht. Dann kam einer, der wusste das nicht und hat's gemacht."

  7. #7
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    11.12.2007
    Ort
    weit weg von nahe Bonn
    Alter
    39
    Beiträge
    3.416
    gestern hatte mir ein Kollege einen Tipp gegeben, cih sollte mir eine Quietscheente an den Arbeitsplatz legen
    immer wenn ich ein Problem habe weil etwas nicht funktioniert wie es soll, soll ich der Qietscheente erzählen was mein Problem ist um dann von selber auf Lösung zu kommen


    iss aber manchmal wirklich so ... Stunde um Stunde versenkt .. dann mal mit nem Kollegen drüber reden und plötzlich sieht man den Wald wieder den man vorher vor lauter Bäumen einfach nicht gefunden hat
    Es gibt 10 Sorten von Menschen: Die einen können binär zählen, die anderen
    nicht.

  8. #8
    Erfahrener Benutzer Begeisterter Techniker
    Registriert seit
    05.11.2009
    Ort
    Gerblingerode
    Alter
    58
    Beiträge
    207
    es ist die SMBus Logic im Atmega Controller und wenn du dir das Manual mal genaudurchließt steht es auch explizit drin dass nur ein stretch von max. 25ms gestattet ist,
    was danach passiert habe ich experimentell ermittelt
    Danke für diese wichtige Info, muss mir die Doku noch mal genau durchlesen ... habe mir bislang auch nur die Slave Abarbeitung, so weit wie ich es brauchte angesehen ...

    PS: Das Ende vom Lied, wir haben den Sensorhersteller(also Messgeber) mehr oder minder zusammengestaucht für die unvollständige Dokumentation und dann für einen anderen Zulieferer entschieden
    Bin jetzt kein Hersteller, habe aber meinen TWI-Slave so schlank es geht gehalten, nur Daten übergeben / übernehmen und nach der Übernahme werden die Daten erst verarbeitet ....

    muss ich mal versuchen nach zu messen, wie lange so eine Übergabe beansprucht und wie lange bzw. ob der CLK gestretcht wird ... 25 ms ist aber auch ganz schön lang ...
    wenn man bedenkt das ein Takt gerade mal 0,01 mS (100kHz) dauert ... werde auf jeden Fall weiter über Erfolge und Rückschläge berichten ...
    Gruß Ralf ... Projekt-Beschreibungen www.greinert-dud.de ... "Alle sagten: Das geht nicht. Dann kam einer, der wusste das nicht und hat's gemacht."

  9. #9
    Erfahrener Benutzer Begeisterter Techniker
    Registriert seit
    05.11.2009
    Ort
    Gerblingerode
    Alter
    58
    Beiträge
    207
    Update ...

    den Schleifen-Generator habe ich soweit fertig.

    jetzt geht es an die Sensoren, dafür habe ich Relais(60V) bei pollin erstanden,
    diese lassen sich gut zerlegen um die Spule heraus zu bekommen ...

    Als Auswerte-Schaltung habe ich mir zwei Ausführungen überlegt,
    1= mit analogen Ausgang und 2= mit digitalem Ausgang ... die Schaltungen sind noch ungetestet ...

    https://www.roboternetz.de/community...1&d=1474588150
    Miniaturansichten angehängter Grafiken Miniaturansichten angehängter Grafiken Schleifen_Sensoren_002.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."

  10. #10
    Meiner Erfahrung nach muss man zuerst die Schaltung testen, danach weitere Schritte unternehmen...

Seite 1 von 2 12 LetzteLetzte

Ä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
  •  

LiFePO4 Speicher Test