-         

Seite 3 von 5 ErsteErste 12345 LetzteLetzte
Ergebnis 21 bis 30 von 44

Thema: Projekt Mähroboter

  1. #21
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    05.11.2009
    Ort
    Gerblingerode
    Alter
    50
    Beiträge
    188
    Anzeige

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

  2. #22
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    05.11.2009
    Ort
    Gerblingerode
    Alter
    50
    Beiträge
    188
    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."

  3. #23
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    11.12.2007
    Ort
    weit weg von nahe Bonn
    Alter
    32
    Beiträge
    2.058
    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.

  4. #24
    Erfahrener Benutzer Robotik Einstein Avatar von 021aet04
    Registriert seit
    17.01.2005
    Ort
    Niklasdorf
    Alter
    29
    Beiträge
    4.414
    Beim Messen mit dem Oszi muss man ebenfalls aufpassen. Bei mir war die Eingangskapazität des Tastkopfes das Problem.

    MfG Hannes

  5. #25
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    05.11.2009
    Ort
    Gerblingerode
    Alter
    50
    Beiträge
    188
    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
    manchmal braucht man einfach nur eine andere Info " z.B. ... wieso macht Du das denn so umständlich ?" ... wenn man sich fest gebissen hat, sieht man oft die alternativen nicht mehr ...

    Habe im Bascom-Forum leider deswegen ein Rüffel bekommen ... wollte unbedingt die I2C-Slave-Routine als Interrupt laufen lassen, und es wollte einfach nicht klappen ...

    Im Zuge der Umsetzung habe ich aber festgestellt das es gar nicht so Vorteilhaft war, da noch andere Zeitkritische Interrupt-Routinen dann gestört werden ... also blieb es beim pollen in der Hauptschleife ...
    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. #26
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    05.11.2009
    Ort
    Gerblingerode
    Alter
    50
    Beiträge
    188
    Update ...

    heute habe ich mich noch mal mit dem Power_Management der Module beschäftigt ...

    Der Master kann darüber die Module einzeln abschalten und so auch bei Störungen dieses neu starten,
    zum Glück habe ich heute eine Lieferung MosFet bekommen,
    denn alle Ports vom Modul müssen vor dem Abschalten vom System-BUS getrennt werden.
    Der abgeschaltete Controller zieht sonst alle Leitungen runter.

    Schaltet der Master das Modul ein Power_EN = HIGH wird das Modul und alle angeschlossenen Baugruppen mit Strom versorgt,
    der PIN PD6 wird als Ausgang geschaltet und auf 1 gesetzt, durch das Power_EN am FET wird dieser PIN aber auf LOW gezogen.

    Schaltet der Master nun auf Power_EN = LOW werden alle Leitungen vom BUS getrennt, am PIN PD6 liegt nun HIGH an und erhält so die Stromversorgung für das Modul, in einer Timer-Routine wird dieser PIN abgefragt, ist dieser HIGH wird zu einem Label (Abschalten ) gesprungen,
    alle wichtigen Parameter können nun ins EEProm geschrieben werden, danach wird PD6 auf LOW gesetzt, die abschalt Routine wartet nun
    in einer do / Loop Schleife solange bis das Modul aus ist ...


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

Name:	Power_Managment_001.jpg
Hits:	19
Größe:	35,5 KB
ID:	31883
    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. #27
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    05.11.2009
    Ort
    Gerblingerode
    Alter
    50
    Beiträge
    188
    Update ...

    habe das Bus-Konzept noch mal überarbeitet und die Module entsprechen angepasst.
    Die Module haben alle eine Grundschaltung die das abtrennen vom BUS beim abschalten beinhaltet und einheitliche LED-Anzeigen
    für ( POWER / I2C-Transfer / Ready-Event / NOT-AUS )

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

Name:	Modul_Grund_Schaltung_001.jpg
Hits:	12
Größe:	63,9 KB
ID:	31892 Klicke auf die Grafik für eine größere Ansicht

Name:	Modul_Antrieb_Schaltung_002.jpg
Hits:	13
Größe:	53,0 KB
ID:	31893





    hier ein kleines Video, wo man mal die BUS-Funktion und das fertige Modul(Antrieb) sehen kann... VIDEO
    Gruß Ralf ... Projekt-Beschreibungen www.greinert-dud.de ... "Alle sagten: Das geht nicht. Dann kam einer, der wusste das nicht und hat's gemacht."

  8. #28
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    05.11.2009
    Ort
    Gerblingerode
    Alter
    50
    Beiträge
    188
    Update ...

    da ich mich als nächstes mit den Schleifen-Sensoren und dessen Modul beschäftigen möchte,

    brauche ich erstmal einen Schleifen-Strom Generator ...

    Die Leiterplatte wird auch gleich später noch die Steuerung der Basis-Station (Garage) übernehmen,
    dieses Basis-Modul kann über den gleichen RS-232 Transmitter wie der PC und der Bot mit diesen dann auch kommunizieren.

    Aufbau Basis-Modul mit vorerst nur dem Schleifen-Strom Generator:

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

Name:	Basis_Modul_003.jpg
Hits:	8
Größe:	32,3 KB
ID:	31903

    Der Schleifen-Strom-Kondensator wird über ein MosFet(P-Kanal) geladen, wobei die Ladespannung vom MCU überwacht wird und beim erreichen des Soll-Wert
    abgeschaltet wird, dann wird die Strom-Schleife an den geladenen Kondensator geschaltet über ein MosFet(N-Kanal) ...
    Die beiden mosfets werden über spezielle Treiber angesteuert, um die Flanken möglichst steil zu bekommen ...
    Die Nand-Gatter dienen allein nur der Verriegelung, so das immer nur ein mosfet durchgesteuert werden kann ...

    Das dazugehörige Test-Programm, kann über die RS-232 mit folgenden Befehlen gesteuert werden,
    LOOP_OFF
    LOOP_ON|xxx

    (xxx = Sollwert CU Lade-Schluss-Spannung)
    HTML-Code:
                        1
    xxx = UC * ------------------
                  5V/1024 * 3,16
    Code:
    '  Projekt Mäh-Roboter
    '  R. Greinert
    '  08 / 2016
    '
    '  Basis-Modul
    '
    '  - Strom-Schleife  ( Test-Programm )
    '
    ' ------------ Bascom - Parameter ------------------------
    
    
    $regfile = "m328pdef.dat"
    $crystal = 16000000
    $hwstack = 100
    $swstack = 100
    $framesize = 100
    $baud = 19200
    
    
    ' ------------ DIM ------------------------
    Dim T1x As Byte                                             ' Zähler 1/1000
    Dim T2x As Byte                                             ' Zähler 1/100
    Dim T3x As Byte                                             ' Zähler 1/10
    
    
    Dim Loop_on As Byte
    
    
    ' ------------ ADC ------------------------
    Config Adc = Single , Prescaler = Auto
    Dim Adc_w As Word                                           ' analog - wert
    Dim Adc_s As Word                                           ' AD sollwert
    
    
    ' ------------ Ports-Config ------------------------------
    Config Portb.0 = Output                                     ' Laden
    Config Portb.1 = Output                                     ' Entladen
    Config Portb.5 = Output                                     ' Herzschlag
    Portb.0 = 0
    Portb.1 = 0
    
    
    ' ------------ RS232 - Input ------------------------
    Config Serialin = Buffered , Size = 40
    Dim Na As String * 30                                       ' RS232 Input-String
    Dim Nax As String * 30                                     ' RS232 Input-UCASE-String
    Dim Si As Byte                                                 ' RS232 Input Zeichen
    ' ------ Split -------
    Dim Sb As Byte                                                ' Split_Zähler
    Dim Sbx(5) As String * 10                                ' Split_Array
    
    
    ' ------------ Timer_0 Zeitvorgabe ------------------------------
    Config Timer0 = Timer , Prescale = 256
    On Ovf0 Timer0_ovf
    Enable Timer0
    
    
    Enable Interrupts
    
    
    Print "Start_Main"
    
    
    Do
        If Ischarwaiting() <> 0 Then
          Si = Inkey()
          If Si <> 13 And Si <> 10 And Len(na) < 30 Then
             Na = Na + Chr(si)
          Else
             Nax = Ucase(na)
             Sb = Split(nax , Sbx(1) , "|")
             If Sbx(1) = "STATUS" Then
                 Print "ACK|" ; Nax
             Elseif Sbx(1) = "LOOP_ON" Then
                 Print "ACK|" ; Nax
                 Adc_s = Val(sbx(2) )
                 Loop_on = 1
             Elseif Sbx(1) = "LOOP_OFF" Then
                 Print "ACK|" ; Nax
                 Loop_on = 0
                 Portb.1 = 0
             Else
                 Print "NAK|" ; Nax
             End If
             Na = ""
          End If
       End If
    Loop
    
    
    Timer0_ovf:
       ' ---- Timer_0 ----- Interrupt alle 1 mS ----------------
       Timer0 = 194                                             ' Resrwert = 61
       Incr T1x
       Adc_w = Getadc(7)                                        ' AD_7 einlesen
       If Adc_w > Adc_s Then Portb.0 = 0                        ' Sollwert(UC) ereicht = Laden abschalten
    
       If T1x > 9 Then
          ' -------- Zeitbasis 10 mS ------------------
          Incr T2x
          T1x = 0
          If Loop_on = 1 Then
             If T2x = 1 Then
                 ' --- entladen ----
                 Portb.0 = 0
                 Portb.1 = 1
             Elseif T2x = 4 Then
                 ' --- laden ----
                 Portb.1 = 0
                 Portb.0 = 1
             End If
          End If
          If T2x = 8 Then Portb.5 = 0                           ' Herzschlag-LED (ein)
    
          If T2x > 9 Then
             ' -------- Zeitbasis 100 mS ------------------
             Incr T3x
             T2x = 0
    
             If T3x > 9 Then
                T3x = 0
                ' -------------  Zeitbasis 1 Sec -------------------
                ' Print "AD=" ; Adc_w
                Portb.5 = 1                                     ' Herzschlag-LED (aus)
             End If
          End If
       End If
    Return
    Return
    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. #29
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    05.11.2009
    Ort
    Gerblingerode
    Alter
    50
    Beiträge
    188
    Update ...

    benötige da mal die Hilfe der Profis, komme mit meinem Wissen an die Grenze ...

    habe die abgebildete Schalung so aufgebaut, das Entladen der ELKOS, derzeit mit 10.000 uF funktioniert super,
    der MosFet (N-Kanal) 169A bleibt kalt ... bekomme bereits bei 6-9V Ladung super Sprikes in einer provisorischen
    Sensor-Spule ( altes Relais 24V ) in der unmittelbaren Nähe der Schleife recht gute Ergebnisse.
    Je nach Ausrichtung der Sensor-Spule zur Schleife sind die Sprikes komplett positiv oder negativ ...

    Aufnahme-Leistung je nach Ladeendspannung der Elkos ... 6-12 Watt bei 12V

    Was mir aber noch nicht gefällt, der MosFet (P-Kanal) 75A zum laden der Elkos wird recht warm ...
    beide MosFet haben einen RDS von 0,02 Ohm ...

    Eigentlich sollte der MosFet (P-Kanal) wie der N-Kanal mit diesen FET-Treiber voll durchsteuern, es liegen aber um die 0,5V am besagten Fet(S-D) ...

    was habe ich nur übersehen
    Miniaturansichten angehängter Grafiken Miniaturansichten angehängter Grafiken WAVE_Sensor.jpg   Schleifen_Generator_005.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. #30
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    05.11.2009
    Ort
    Gerblingerode
    Alter
    50
    Beiträge
    188
    Update ...

    habe heute noch mal den Schleifen-Generator überarbeitet ...

    die Temperatur-Probleme an den Lade-MosFet habe ich einfach durch einen Kühlkörper beheben können,

    Zum testen habe ich RL und Cx noch mal angepasst, RL je 18 Ohm und Cx = 3x 4700 uF.

    Strom-Aufnahme des Generator bei 12V Ladespannung(100%) ca. 1,5A

    Auch habe ich verschiedene Finder-Relais geopfert ... 24VDC / 24VAC und 230VAC

    Mit der 230V Spule mit Kern habe ich die besten Ergebnisse bekommen,
    in unmittelbarer Nähe des Schleifen-Draht hatte ich Wert um die 100V Peek, in der Schleife (3m Durchmesser) in der Höhe von 50 cm immer noch mehrere Volt ...

    Morgen geht es wenn ich Zeit finde weiter, ansonsten nächste Woche ... jetzt geht es erstmal ins Bett
    Miniaturansichten angehängter Grafiken Miniaturansichten angehängter Grafiken Schleifen_Generator_006.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."

Seite 3 von 5 ErsteErste 12345 LetzteLetzte

Ähnliche Themen

  1. Gardena Mähroboter
    Von nero123 im Forum Staubsaugerroboter / Reinigungs- und Rasenmähroboter
    Antworten: 15
    Letzter Beitrag: 11.03.2017, 18:47
  2. Mähroboter Steuerung wo bekommt man sowas
    Von junge003 im Forum Staubsaugerroboter / Reinigungs- und Rasenmähroboter
    Antworten: 14
    Letzter Beitrag: 11.07.2016, 13: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, 08: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, 12: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, 16:40

Berechtigungen

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