- LiFePO4 Speicher Test         
Seite 4 von 4 ErsteErste ... 234
Ergebnis 31 bis 37 von 37

Thema: Start mit Arduino?

  1. #31
    Erfahrener Benutzer Robotik Einstein Avatar von Rabenauge
    Registriert seit
    13.10.2007
    Ort
    Osterzgebirge
    Alter
    55
    Beiträge
    2.198
    Anzeige

    Praxistest und DIY Projekte
    Die "Enable"-Pins sind die, die die Drehzahl steuern, das ist richtig. Erkennst du hier:

    Code:
    analogWrite(ENABLE1, i);       // Motor 1 Speed
            analogWrite(ENABLE2,i);      // Motor 2 Speed
    Dort werden die "analog" geschrieben-sprich, da wird der PWM-Wert ausgegeben.
    Die anderen beiden (pro Motor) scheinen lediglich umgepolt zu werden (LOW legt den Pin auf Masse, HIGH auf 5V), um quasi den Motor umzupolen, für vorwärts und rückwärts.
    Lass dich nicht davon beirren, dass auch die Enable-Pins Digitalpins sind, das macht nix!
    Auch kann man die ohne weiteres Digital beschreiben (dann bleibt er HIGH so lange ich ihn nicht auf LOW setze) oder eben "analog"- das ist nix anderes als ne Folge von zeitlich abgestimmten HIGH`s und LOW`s.

    Aber damits einfach geht, müssen eben die enable-Leitungen (Vorschlag: nenn sie einfach mal PWM1-4, wirds besser verständlich) an Pins liegen, die der Arduino als PWM-Pins nutzen kann.
    Bei den anderen Leitungen ist das Wurst, da kannst du alles für nehmen.
    Grüssle, Sly
    ..dem Inschenör ist nix zu schwör..

  2. #32
    Neuer Benutzer Öfters hier
    Registriert seit
    21.05.2014
    Alter
    55
    Beiträge
    25
    Hallo Rabenauge,
    Es klappt immer noch nicht. Beim hochgebocktem Chassis schon, sobald das Ding auf dem Boden steht, fährt es vor und zurück, Er zuckt nur mal kurz nach links. Drehen auf der Stelle geht einfach nicht. Auch die Räder lassen sich leicht festhalten, wenn die Motoren drehen. Könntest Du Dir bitte die dreh-Funktion anschauen? Evtl. ohne der Rampe? Länger drehen?


    Hier noch ein paar daten...

    Du wolltest eine stromlaufplan des Chassis:

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

Name:	2014_06_14_verdrahtung_chassis.jpg
Hits:	12
Größe:	61,9 KB
ID:	28409

    die zusätzlichen Verbindungen sehen so aus:
    ----------------------------------------------------------------------

    Farbe Pin Motor-shield

    br 8 S2_ENA_M_3
    sw 9 S2_ENB_M_1
    gn 53 S2_IN_1
    ws 51 S2_IN_2
    or 49 S2_IN_3
    ge 47 S2_IN_4

    rt 10 S1_ENA_M_4
    br 11 S1_ENB_M_2
    gr 52 S1_IN_1
    vi 50 S1_IN_2
    sw 48 S1_IN_3
    bl 46 S1_IN_4
    -------------------------------------------------------------------------
    das ist der code:
    Code:
    //bridge S1
        
        #define S1_IN_1 52    // H-bridge_1 OUT1.1
        #define S1_IN_2 50    // H-bridge_1 OUT1.2
        #define S1_ENB_M_2 11    // H-bridge_1 Enable motor-2
        #define S1_IN_3 48     // H-bridge_1 OUT2.3
        #define S1_IN_4 46     // H-bridge_1 OUT2.4
        #define S1_ENA_M_4 10    // H-bridge_1 Enable motor-4
        
    //bridge S2
    
        #define S2_IN_1 53     // H-bridge_2 OUT1.1
        #define S2_IN_2 51     // H-bridge_2 OUT1.2
        #define S2_ENA_M_3 8    // H-bridge_2 Enable motor-3
        #define S2_IN_3 49     // H-bridge_2 OUT2.3
        #define S2_IN_4 47     // H-bridge_2 OUT2.4
        #define S2_ENB_M_1 9    // H-bridge_2 Enable motor-1
     
    //     boolean running = false;
    
        void setup() 
        {
          // setup Motor 1 pins
          pinMode(S1_IN_1, OUTPUT);
          pinMode(S1_IN_2, OUTPUT);
         
          // setup Motor 2 pins
          pinMode(S1_IN_3, OUTPUT);
          pinMode(S1_IN_4, OUTPUT);
          
          // setup Motor 3 pins
          pinMode(S2_IN_1, OUTPUT);
          pinMode(S2_IN_2, OUTPUT);
         
          // setup Motor 4 pins
          pinMode(S2_IN_3, OUTPUT);
          pinMode(S2_IN_4, OUTPUT);
        }
        void vorwaerts()
        
        {
          //Motor_1 & 2 vorwärts
          digitalWrite(S1_IN_1, LOW);   // set leg 1 of the H-bridge_1 low
          digitalWrite(S1_IN_2, HIGH);  // set leg 2 of the H-bridge_1 high
          digitalWrite(S1_IN_3, LOW);   // set leg 3 of the H-bridge_1 low
          digitalWrite(S1_IN_4, HIGH);  // set leg 4 of the H-bridge_1 high
        
          //Motor_3 & 4 vorwärts
          digitalWrite(S2_IN_1, LOW);   // set leg 1 of the H-bridge_2 low
          digitalWrite(S2_IN_2, HIGH);  // set leg 2 of the H-bridge_2 high
          digitalWrite(S2_IN_3, LOW);   // set leg 3 of the H-bridge_2 low
          digitalWrite(S2_IN_4, HIGH);  // set leg 4 of the H-bridge_2 high
          Ramp(0,255,2,10);
        }
        void rueckwaerts()
        {
          //Motor_1 & 2 rückwärts
          digitalWrite(S1_IN_1, HIGH);  // set leg 1 of the H-bridge_1 low
          digitalWrite(S1_IN_2, LOW);   // set leg 2 of the H-bridge_1 high
          digitalWrite(S1_IN_3, HIGH);  // set leg 3 of the H-bridge_1 low
          digitalWrite(S1_IN_4, LOW);   // set leg 4 of the H-bridge_1 high
          
          //Motor_3 & 4 rückwärts
          digitalWrite(S2_IN_1, HIGH);  // set leg 1 of the H-bridge_2 low
          digitalWrite(S2_IN_2, LOW);   // set leg 2 of the H-bridge_2 high
          digitalWrite(S2_IN_3, HIGH);  // set leg 3 of the H-bridge_2 low
          digitalWrite(S2_IN_4, LOW);   // set leg 4 of the H-bridge_2 high
          Ramp(0,255,2,10);
       }
       void drehen_links()
       {
          //Motor_1 & 2 vorwärts
          digitalWrite(S1_IN_1, HIGH);   // set leg 1 of the H-bridge_1 low
          digitalWrite(S1_IN_2, LOW);  // set leg 2 of the H-bridge_1 high
          digitalWrite(S1_IN_3, LOW);   // set leg 3 of the H-bridge_1 low
          digitalWrite(S1_IN_4, HIGH);  // set leg 4 of the H-bridge_1 high
        
          //Motor_3 & 4 rückwärts
          digitalWrite(S2_IN_1, HIGH);   // set leg 1 of the H-bridge_2 low
          digitalWrite(S2_IN_2, LOW);  // set leg 2 of the H-bridge_2 high
          digitalWrite(S2_IN_3, LOW);   // set leg 3 of the H-bridge_2 low
          digitalWrite(S2_IN_4, HIGH);  // set leg 4 of the H-bridge_2 high
          Ramp_dreh(0,255,2,20);
       }  
        
        void loop() 
        {
          vorwaerts();
          rueckwaerts();
          drehen_links();
        }
    
        void Ramp(int Start, int End, int Inc, int Del) //int Motor entfernt
        {
          /* Ramps from PWM of Start to End
             adding Inc each time
             delay of Del MS each time thru the loop
          */
            
          for(int i=Start;i<End;i = i + Inc) 
          {
            analogWrite(S1_ENA_M_4, i);       // Motor 4 enable
            analogWrite(S1_ENB_M_2, i);       // Motor 2 enable
            analogWrite(S2_ENA_M_3, i);       // Motor 3 enable
            analogWrite(S2_ENB_M_1, i);       // Motor 1 enable       
            delay(Del);
          }
          
        }
    
    void Ramp_dreh(int Start, int End, int Inc, int Del) //int Motor entfernt
        {
          /* Ramps from PWM of Start to End
             adding Inc each time
             delay of Del MS each time thru the loop
          */
            
          for(int i=Start;i<End;i = i + Inc) 
          {
            analogWrite(S1_ENA_M_4, i);       // Motor 4 enable
            analogWrite(S1_ENB_M_2, i);       // Motor 2 enable
            analogWrite(S2_ENA_M_3, i);       // Motor 3 enable
            analogWrite(S2_ENB_M_1, i);       // Motor 1 enable       
            delay(Del);
          }
          
        }
    von dem Code habe ich schon einighes verstanden, weiss aber echt nicht was ich noch probieren könnte...
    Geändert von ahave (14.06.2014 um 20:56 Uhr)
    Gruß ahave

  3. #33
    Erfahrener Benutzer Robotik Einstein Avatar von Rabenauge
    Registriert seit
    13.10.2007
    Ort
    Osterzgebirge
    Alter
    55
    Beiträge
    2.198
    Hm-"einiges" verstehen funktioniert bei sowas nicht.
    Das klappt, wenn man Bausätze hat mit Herstellersupport-aber nich, für den halben üblichen Preis, aus China.

    -dein Anhang wird mir als "ungültig" angegeben vom Forum-da ist wohl was nich richtig.

    Deine Pinbelegung mag funktionieren, aber besser lässt du die Pins ab 45 aufwärts FREI.
    Ebenfalls 8 und 9 (wenn möglich).
    Warum?
    Da oben in der Gegend liegt die Hardware-SPI-Schnittstelle beim MEGA. Brauchst du momentan vermutlich nicht, aber besser frei halten-vielleicht willst sie mal nutzen, und dann musst wieder umbauen.
    20 und 21 ebenfalls-das ist die I2C, und dir braucht man wirklich öfter, weils jede Menge Geräte gibt, die da klaglos (und: GEMEINSAM) anzuschlieesen gehn.

    Was deinen Code angeht: ich krieche grade im Seeteufel: http://www.rc-modellbau-schiffe.de/w...threadid=28193 herum, Tisch voll, Kopf raucht, ich gucks mir an, aber kann ein, zwei Stunden dauern, ok?

    - - - Aktualisiert - - -

    Sodele. Bin mal über deinem Code und *grausen!!
    Lern mal programmieren-es hilft wirklich.

    Hab noch nicht alles sortiert ABER:

    In der Hauptschleife rufst du die funktion vorwärts() auf.

    die wiederum ruft die Rampe() auf- soweit, so gut. ABER: du gibst der, pro Durchlauf, 20 MILLISEKUNDEN. Also zwanzig tausendstel einer Sekunde-in der Zeit erhöht die den PWM-Wert jedesmal um 1.
    Wie lange dauert es, bis diese Rampe durchlaufen ist, wenn wir nur 200 Werte haben?
    Ungefähr 5 Sekunden.
    Geh bitte mal nicht davon aus, dass die Motoren bei PWM-Werten unter, sagen wir, 20, überhaupt _irgendwas_ tun.
    Das heisst, es ist _noch_ weniger.
    Du erwartest also von deinem kleinen Roboter, dass er binnen, sagen wir, vier Sekunden aus dem Stand auf Vollgas beschleunigt, und das, obwohl er die halbe Zeit zu wenig Strom dafür bekommt.
    Unter Last laufen die Motoren nämlich ziemlich sicher auch bei nem PWM-Wert von 20 noch nicht an!
    Und selbst, wenn die das schaffen würden: die müssen auch noch die passende Drehzahl erreichen. Das aber können sie praktisch nie, weil sie nunmal weit träger sind als deine Rampe-die PWM läuft einfach davon.
    Daher das Ruckeln unter Last: so gegen Ende hin, wenn dann die Motoren endlich genug Strom bekommen, _wollen_ sie loslaufen-dann aber ist die Rampe abgelaufen und nix gibts.

    Aufgebockt gehts deutlich besser. Ohne Last drehn die Motoren einfach eher los.
    Was kannst du tun?

    Das einfachste ist es, das delay() mal zu verlängern. Wirst sehen, das hilft.
    Zu Forschungszwecken würd _ich_ mal ne Ausgabe der aktuellen PWM auf die serielle Konsole geben, dann kannst du bequem gucken, ab welcher PWM sich überhaupt was tut an den Motoren, und in Zukunft nur noch diesen Bereich nutzen.
    Im übrigen ist _dieses_ Programm mit den Rampen lediglich ne Demo, damit man erstmal sieht, wie das überhaupt funktioniert. Wenn man echte Beschleunigungsrampen programmieren will, muss mans nen bisschen anders angehen, auch, weil eben bei nem PWM-Wert von 1-10 sich nix tut.
    Ich schreib dir mal ein kleines Programm, mit dem der Robbi nen Stück (da ich die Hardware nur von Bildern kenne, kann ich dir nicht sagen, wie weit, also pass auf!) vor und dann auch wieder zurück fahren sollte.
    FAHREN-nicht nur im Stand mit den Rädchen wackeln.
    Dauert paar Minuten...

    - - - Aktualisiert - - -

    Sodele.
    Wenn du clever bist, findest du allein raus, was das Programm genau macht, BEVOR du es überträgst und startest.
    Testen kann ichs nicht, aber es sollte funktionieren.
    Sollte einer der Motoren falsch rum laufen, dann tausch die entsprechenden Pins aus (am Arduino meine ich)- das Programm kannst du später fein als Grundgerüst hernehmen.

    Code:
    /* ich habe deine, vorher angegebene Pinbelegung übernommen (sind nur andere Namen, weiter nix),
        wenn du die Verkabelung änderst, musst du die entsprechenden Pin-Nummern bei den defines eintragen!
        Die Variable "gasVorgabe" stellt die Motoren auf Halbgas, du kannst, indem du sie veränderst (zwischen
        0 und 255) testen, ab wann der Roboter überhaupt los fährt, und auch, wie schnell er werden kann.
        Drehen hab ich jetzt nicht eingebaut, da ich nicht weiss, welche Motornummer an welcher Stelle des
        Roboters verbaut ist. */
        
        #define M1aPin 52    // Motor1,Kabel a
        #define M1bPin 50    // Motor1 Kabel b
        #define M1GasPin  11  // PWM Motor1
        #define M2aPin 48     // Motor2 Kabel a
        #define M2bPin 46     // Motor2 Kabel b
        #define M2GasPin 10    // PWM Motor2
        
        #define M3aPin 53     // Motor3 Kabel a
        #define M3bPin 51     // Motor3 Kabel b
        #define M3GasPin 8    // Motor3 PWM
        #define M4aPin 49     // Motor4 Kabel a
        #define M4bPin 47     // Motor4 Kabel b
        #define M4GasPin 9    // Motor4 PWM
     
     int gasVorgabe=128;  // hier legen wir fest, wie schnell die Motoren laufen, wenn du den Wert erhöhst
                                    // laufen sie schneller, max. 255
        void setup()  // hier legen wir lediglich alle Motorenpins als Ausgänge fest und stellen sicher, dass die Motoren
        {                  // nicht einfach los laufen
          pinMode(M1aPin, OUTPUT);   //Motor1
          pinMode(M1bPin,OUTPUT);    
          pinMode(M1GasPin,OUTPUT); //PWM Motor1
          pinMode(M2aPin, OUTPUT); // Motor2
          pinMode(M2bPin,OUTPUT);
          pinMode(M2GasPin,OUTPUT); //PWM Motor2
          pinMode(M3aPin, OUTPUT); //Motor3
          pinMode(M3bPin,OUTPUT);
          pinMode(M3GasPin,OUTPUT); // PWM Motor3
          pinMode(M4aPin, OUTPUT); //Motor4
          pinMode(M4bPin,OUTPUT);
          pinMode(M4GasPin,OUTPUT);// PWM Motor4
          analogWrite(M1GasPin,0);
          analogWrite(M2GasPin,0);
          analogWrite(M3GasPin,0);
          analogWrite(M4GasPin,0);
          delay(2000); // 2 Sekunden, um die Fingr vom Roboter zu nehmen, ehe.....
        }
        
        void vorwaerts() //******** vorwärts fahren für ungefähr 2 Sekunden ******************
        {
          //Motor_1 & 2 vorwärts
          digitalWrite(M1aPin, LOW);   // Motor1 Richtung festlegen
          digitalWrite(M1bPin, HIGH); 
          digitalWrite(M2aPin, LOW);   // Motor2 Richtung festlegen
          digitalWrite(M2bPin, HIGH);
         digitalWrite(M3aPin, LOW);   // Motor3 Richtung festlegen
          digitalWrite(M3bPin, HIGH); 
          digitalWrite(M4aPin, LOW);  // Motor4 Richtung festlegen
          digitalWrite(M4bPin, HIGH);  
          analogWrite(M1GasPin, gasVorgabe); //und hier schalten wir die PWM auf alle vier Motoren
          analogWrite(M2GasPin,gasVorgabe);
          analogWrite(M3GasPin,gasVorgabe);
          analogWrite(M4GasPin,gasVorgabe);
          delay(2000); // zwei Sekunden fahren,
          analogWrite(M1GasPin,0); //Dann alle vier Motoren stoppen (schont die Getriebe ;) )
          analogWrite(M2GasPin,0);
          analogWrite(M3GasPin,0);
          analogWrite(M4GasPin,0);
         }
        void rueckwaerts() //***Rückwärts gehts genauso, nur dass jeweils die A-undB-Pins "umgedreht" werden***
        {
           digitalWrite(M1aPin, HIGH);   // Motor1 Richtung festlegen
          digitalWrite(M1bPin, LOW); 
          digitalWrite(M2aPin, HIGH);   // Motor2 Richtung festlegen
          digitalWrite(M2bPin, LOW);
         digitalWrite(M3aPin, HIGH);   // Motor3 Richtung festlegen
          digitalWrite(M3bPin, LOW); 
          digitalWrite(M4aPin, HIGH);  // Motor4 Richtung festlegen
          digitalWrite(M4bPin, LOW);  
          analogWrite(M1GasPin, gasVorgabe); //und hier schalten wir die PWM auf alle vier Motoren
          analogWrite(M2GasPin,gasVorgabe);
          analogWrite(M3GasPin,gasVorgabe);
          analogWrite(M4GasPin,gasVorgabe);
          delay(2000); // zwei Sekunden fahren,
          analogWrite(M1GasPin,0); //Dann alle vier Motoren stoppen (schont die Getriebe ;) )
          analogWrite(M2GasPin,0);
          analogWrite(M3GasPin,0);
          analogWrite(M4GasPin,0);
        }
      
        
        void loop()  //******* das Hauptprogramm, in dem es rund geht... ***********
        {
          for (int i=0; i<3; i++) //machen wir das Ganze einfach dreimal...
          {
          vorwaerts();
          delay(500); //halbe Sekunde warten, zum "bremsen"
          rueckwaerts();
          delay(500); // das selbe nochmal, damit wir nicht aus voller Fahrt rückwärts auf volle Fahrt vorwärts gehn
          }
          while(1); //stoppt das Programm, da stehende roboter leichter einzufangen sind ;)
        }
    Lies bitte die Kommentare im Programm auch und spiel mal mit der PWM-Variable etwas rum.
    Aber Vorsicht: ich hab nicht die kleinste Ahnung, wie schnell das Ding werden kann, nich, dass dein Papa nachher ne neue Wohnungstüre von mir will.
    Grüssle, Sly
    ..dem Inschenör ist nix zu schwör..

  4. #34
    Neuer Benutzer Öfters hier
    Registriert seit
    21.05.2014
    Alter
    55
    Beiträge
    25
    Zitat Zitat von Rabenauge Beitrag anzeigen
    Hm-"einiges" verstehen funktioniert bei sowas nicht.
    am Anfang muss es so gehen - ich habe in den letzten 2 Wochen mehr über den arduino gelernt als ich für möglich gehalten hätte. Probieren geht doch manchmal über studieren...

    Zitat Zitat von Rabenauge Beitrag anzeigen
    -dein Anhang wird mir als "ungültig" angegeben vom Forum-da ist wohl was nich richtig.
    müsste jetzt gehen...

    Zitat Zitat von Rabenauge Beitrag anzeigen
    Lern mal programmieren-es hilft wirklich.
    das tue ich doch hier, oder?

    Zitat Zitat von Rabenauge Beitrag anzeigen
    Lies bitte die Kommentare im Programm auch und spiel mal mit der PWM-Variable etwas rum.
    Aber Vorsicht: ich hab nicht die kleinste Ahnung, wie schnell das Ding werden kann, nich, dass dein Papa nachher ne neue Wohnungstüre von mir will.
    keine bange

    Deine Kommentare sind schon stark...

    die nächsten 4 Tage hast Du ruhe von mir - bin unterwegs im Harz, kann also auch dein Rennautoprogramm nicht testen...

    danke für die Hilfe...
    Gruß ahave

  5. #35
    Erfahrener Benutzer Robotik Einstein Avatar von Rabenauge
    Registriert seit
    13.10.2007
    Ort
    Osterzgebirge
    Alter
    55
    Beiträge
    2.198
    Na dann viel Spass-pack mal die Schneeschuhe ein, hier waren vorhin bloss noch neun Grad..

    Und Ruhe: och, so lange du nicht zuuu anspruchsvoll wirst-so Kleinigkeiten mach ich gerne mal nebenbei. da gehnts voran.
    Grüssle, Sly
    ..dem Inschenör ist nix zu schwör..

  6. #36
    Neuer Benutzer Öfters hier
    Registriert seit
    21.05.2014
    Alter
    55
    Beiträge
    25
    hi,
    frage zu Deinem Motorshield - vielleicht kann ich daraus etwas auf die meinen ableiten...

    Ich habe Gestern noch die Spannung am Eingang des Motorshields gemessen - 7,6V - die momentane Spannung des Accupacs. An den Motorklemmen - wenn der Motor lief - lagen nur 5V an. Ist es bei Deinem auch so? Warum wird nicht die volle Accuspannung genommen? Das müsste doch der Motor abkönnen oder?

    Du hattest Recht - es ist kalt hier...
    Gruß ahave

  7. #37
    Erfahrener Benutzer Robotik Einstein Avatar von Rabenauge
    Registriert seit
    13.10.2007
    Ort
    Osterzgebirge
    Alter
    55
    Beiträge
    2.198
    Nö.
    Meins reicht das durch, was reinkommt. Aber: deine Teilchen da sind völlig anders aufgebaut, also nicht wirklich vergleichbar, auch wenns die gleichen Treiber sind.
    Möglicherweise sind die genau auf _diese_ Motoren zugeschnitten, und rücken deshalb nicht mehr raus, weil deine Minimotoren mehr eben nicht vertragen würden, bzw. dann das Plastikgetriebe auseinandernähmen?

    Ausserdem: _wann_ hast du gemessen?
    Hoffentlich nich, während das Testprogramm von mir lief, unverändert?
    Dann ist die Sache klar: ich hab die Gas-Variable nur auf 128 gestellt (damits dein Botchen nicht gleich zerlegt, hab keine Ahnung, was der bei Vollgas macht), also nur halbe Leistung. Wenn du mal nachdenkst, wie eine PWM-Motorregelung funktioniert, ist klar, dass du in der Summe nicht die volle Spannung an den Motoren haben konntest...um da die Spannung, die wirklich kommt (die Treiber schalten nur immer ein und aus) zu messen, müsstest du schon nen Oszilloskop haben.
    Grüssle, Sly
    ..dem Inschenör ist nix zu schwör..

Seite 4 von 4 ErsteErste ... 234

Ähnliche Themen

  1. [ERLEDIGT] [ARDUINO] 2 Motoren + Servo mit dem Arduino Uno steuern
    Von Torrentula im Forum C - Programmierung (GCC u.a.)
    Antworten: 0
    Letzter Beitrag: 31.08.2011, 16:31
  2. Problem mit Start/Stop Taster
    Von Zizibee im Forum Robby RP6
    Antworten: 13
    Letzter Beitrag: 22.04.2010, 10:09
  3. Antworten: 7
    Letzter Beitrag: 15.06.2009, 16:30
  4. Start mit Programmsprache C??
    Von Pilotzi im Forum PIC Controller
    Antworten: 14
    Letzter Beitrag: 29.02.2008, 13:40
  5. [ERLEDIGT] Simulator start mit ad port
    Von der noob im Forum Controller- und Roboterboards von Conrad.de
    Antworten: 4
    Letzter Beitrag: 17.08.2004, 12:14

Berechtigungen

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

12V Akku bauen