Arduino im RC-Modellbau

Einklappen
X
 
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge
  • Bernhard Kerscher
    Senior Member
    • 26.04.2010
    • 3318
    • Bernhard

    #91
    AW: Arduino im RC-Modellbau

    Hallo zusammen,
    da ich hier nicht nur Infos saugen, sondern auch was dazu bei tragen möchte.
    Stell ich mal kurz mein kleines "Nachtflugheli" Projekt vor.
    Ausgangsbasis ist ein vorhandener 500er Heli den ich mit wenigen Schritten zum Nachtflugheli umbauen kann.
    Ich hab mir hierzu eine uni weiße Haube bestellt und mir fürs Heck einen Träger aus 3mm PS Platten gefertigt auf denen ich dann nach meinen Vorstellungen LED Strips in versch. Farben geklebt habe.
    Angesteuert wird das ganze über ein Arduino Mini Pro.
    und vier Mosfets IRF540N
    Das Board als auch die Mosfets sind für dieses Projekt wohl etwas ßberdimensioniert, aber das war halt vorhanden.
    Steuern lässt sich die Beleuchtung über einen Empfängerkanal.
    Grundstellung: Rote LEDs an der Haube pulsieren langsam.
    Stellung 1: Fenster LEDs blau kommen zu den pulsierenden roten hinzu.
    Stellung 2: Das komplette Heck/Haube und Fenster haben dauerlicht, das ist zum Fliegen gedacht.
    Stellung 3: Die bunten LEDs gehen aus und die Weißen erzeugen Strobolicht

    Eingelesen wird auf Pin2 über Pulse in
    Ausgänge 3;9;10;11 über 100Ohm Widerstand auf die Mosfets die Masseseitig die LED Stripes schalten.

    Den Code kann ich bei Bedarf posten.

    So nun noch ein par Bilder:
    Angehängte Dateien
    Selber denken schadet nicht ! YouTube

    Kommentar

    • Bernhard Kerscher
      Senior Member
      • 26.04.2010
      • 3318
      • Bernhard

      #92
      AW: Arduino im RC-Modellbau

      Heck und "in Funktion"
      Leider kann ich euch den Strobo nicht Fotografieren....
      Angehängte Dateien
      Selber denken schadet nicht ! YouTube

      Kommentar

      • ariyor
        Member
        • 10.02.2008
        • 94
        • Martin
        • Flugort Köln und Umland

        #93
        AW: Arduino im RC-Modellbau

        An dem Code wäre ich/wären wir auf jedenfall sehr interessiert (bin Anfänger und kann nur dazulernen)!

        Gruß
        Martin
        [FONT="Arial"]Phantasie ist wichtiger als Wissen, denn Wissen ist begrenzt ;-)[/FONT]

        Kommentar

        • Bernhard Kerscher
          Senior Member
          • 26.04.2010
          • 3318
          • Bernhard

          #94
          AW: Arduino im RC-Modellbau

          Gerne, stelle ich morgen ein!
          Abber nur am Rande... ich bin auch kein Profi und habe mir die Codeteile durch Copy and Paste zusammen geklaut
          Selber denken schadet nicht ! YouTube

          Kommentar

          • Bernhard Kerscher
            Senior Member
            • 26.04.2010
            • 3318
            • Bernhard

            #95
            AW: Arduino im RC-Modellbau

            Hier mal wie versprochen der Code, anregungen erwünscht

            /*
            Lichtsteuerung by B.Kerscher
            */


            int rc_pin = 2; //Empfߤngereingang
            int rc_signal; // Wert der vom Empfߤnger ߼bermittelt wird
            int led1 = 9; //PWM Ausgang Fenster LEDs
            int led2 = 10; //PWM Ausgang Haube LEDs
            int led3 = 11; //PWM Ausgang Heck LEDs
            int led4 = 3; //PWM Ausgang Flash LEDs
            int brightness = 0; // Helligkeit
            int step = 2; // Steps


            void setup() {

            pinMode(rc_pin, INPUT);
            pinMode(led1, OUTPUT);
            pinMode(led2, OUTPUT);
            pinMode(led3, OUTPUT);
            pinMode(led4, OUTPUT);
            funktion();
            }

            int rc_read() // Funktion um RC-Kanal auszulesen
            {
            int rc_in = pulseIn(rc_pin, HIGH, 100000);
            return rc_in;
            }


            void loop() {

            rc_signal = rc_read(); // aktuellen RC-Wert abfragen

            if(rc_signal >= 1200 && rc_signal <=1400) { // Schaltvorgang
            digitalWrite(led3, 0);
            digitalWrite(led4, 0);
            haube();
            analogWrite(led1, brightness);
            }

            else if (rc_signal >=1401 && rc_signal <=1750) {
            digitalWrite(led1, 1);
            digitalWrite(led2, 1);
            digitalWrite(led3, 1);
            digitalWrite(led4, 0);
            }

            else if (rc_signal >=1751 && rc_signal <=2000) {
            digitalWrite(led1, 0);
            digitalWrite(led2, 0);
            digitalWrite(led3, 0);
            digitalWrite(led4, 1);
            delay(50);
            digitalWrite(led4, 0);
            delay(50);
            }

            else {
            digitalWrite(led1, 0);
            digitalWrite(led3, 0);
            digitalWrite(led4, 0);
            haube();
            }
            }


            void funktion() { // Funktionstest - Init

            delay(2000);
            analogWrite(led1, 10);
            analogWrite(led2, 10);
            analogWrite(led3, 10);
            delay(500);
            analogWrite(led1, 0);
            analogWrite(led2, 0);
            analogWrite(led3, 0);
            delay(1000);
            analogWrite(led4, 10);
            delay(500);
            analogWrite(led4, 0);
            delay(3000);
            }

            void haube() { // Pulsieren der Haube

            analogWrite(led2, brightness);
            brightness = brightness + step;
            if (brightness == 0 || brightness == 100) {
            step = - step;
            }
            delay(25);
            }
            Selber denken schadet nicht ! YouTube

            Kommentar

            • gaudeamus
              gaudeamus

              #96
              AW: Arduino im RC-Modellbau

              vielleicht auch für alle hier im Forum interessant

              Kommentar

              • Taumel S.
                Senior Member
                • 31.12.2008
                • 26320
                • Helfried
                • Ã?sterreich

                #97
                AW: Arduino im RC-Modellbau

                Wem wie mir trotz der Erklärungen hier im Thread bislang nicht ganz klar war, wie man die Programme von so einem vergleichsweise teuren (20€) und für Modellbauzwecke zu großen Arduino-Board auf einen ultrabilligen und winzigen Baustein bekommt, den erleuchtet vielleicht dieser Link (mit Bildern und viel Stoff für Dummies) :

                ArduinoISP

                Auch im aktuellen c't 4/2014 ist ein langer Artikel zu diesem Thema.

                Kommentar

                • Bernhard Kerscher
                  Senior Member
                  • 26.04.2010
                  • 3318
                  • Bernhard

                  #98
                  AW: Arduino im RC-Modellbau

                  Hallo Arduinobegeisterte wie ich
                  Es gibt News.
                  Habe das mit dem AtTiny45 proggen mit Arduino ausprobiert und hat auf Anhieb geklappt.
                  Ich habe das mit einem Mini Pro und ext. Programmer gemacht.
                  Erst dieses Blink Sketch wie in der Anleitung beschrieben.


                  Warum kommt beim ßbertragen hier eine Fehlermeldung? oder ist das nur ein Hinweis?
                  avrdude: please define PAGEL and BS2 signals in the configuration file for part ATtiny45
                  avrdude: please define PAGEL and BS2 signals in the configuration file for part ATtiny45

                  Dann gleich mal selber einen Code probiert.... Teile aus dem oben geposteten.
                  Damit kann man an Pin0 den Empfänger einlesen und eine LED schalten.
                  Funktioniert schon ganz gut, aber... warum Flackert die LED wenn man mit dem Knüppel in die Nähe des Umschaltpunktes kommt?
                  Muss ich hier die Werte weiter auseinander nehmen oder liegt das an der 1MHz Taktung?

                  Hier mal der Code:

                  /*
                  Tiny_Licht_01 by B.Kerscher
                  */


                  int rc_pin = 0; //Empfängereingang
                  int rc_signal; // Wert der vom Empfänger übermittelt wird
                  int led1 = 3;


                  void setup() {

                  pinMode(rc_pin, INPUT);
                  pinMode(led1, OUTPUT);
                  }

                  int rc_read() // Funktion um RC-Kanal auszulesen
                  {
                  int rc_in = pulseIn(rc_pin, HIGH, 100000);
                  return rc_in;
                  }


                  void loop() {

                  rc_signal = rc_read();

                  if(rc_signal >= 1000 && rc_signal <=1500) {
                  digitalWrite(led1, 0);
                  }

                  else if (rc_signal >=1501 && rc_signal <=2000) {
                  digitalWrite(led1, 1);
                  }

                  else {
                  digitalWrite(led1, 0);
                  }
                  }
                  Selber denken schadet nicht ! YouTube

                  Kommentar

                  • Andreas Perzl
                    VIRA
                    Hersteller
                    • 27.09.2009
                    • 3068
                    • Andreas
                    • Rgbg

                    #99
                    AW: Arduino im RC-Modellbau

                    In der Nähe des Umschaltspunkts wird das einlesen der PWM manchmal zwischen <1500 und >1500 schwanken.
                    Da Du auch kein delay in loop() hast tritt das flackern an der LED auf weil er ständig über das einlesen und aktualisieren der LED aufführt.

                    Probier mal folgenden Code einzufügen:
                    int rc_read() // Funktion um RC-Kanal auszulesen
                    {
                    int rc_in = pulseIn(rc_pin, HIGH, 100000);

                    for (int i=0; i<10;i++) {
                    rc_in = (rc_in + pluseIn(rc_pin,HIGH,100000))/2;
                    };

                    return rc_in;
                    }

                    Somit wird über die Pulse gemittelt. Schau mal ob es besser wird

                    Ansonsten auch mal mit delay in loop und delayMicroseconds in der obigen for schleife probieren.

                    Gruß, Andi
                    ViRA, Because Best Vibration Is No Vibration: http://www.pean-engineering.com

                    Kommentar

                    • Andreas Perzl
                      VIRA
                      Hersteller
                      • 27.09.2009
                      • 3068
                      • Andreas
                      • Rgbg

                      #100
                      AW: Arduino im RC-Modellbau

                      Achso: die Warnmeldung vom avrdude kannst getrost ignorieren
                      ViRA, Because Best Vibration Is No Vibration: http://www.pean-engineering.com

                      Kommentar

                      • Taumel S.
                        Senior Member
                        • 31.12.2008
                        • 26320
                        • Helfried
                        • Ã?sterreich

                        #101
                        AW: Arduino im RC-Modellbau

                        Zitat von Bernhard Kerscher Beitrag anzeigen
                        warum Flackert die LED wenn man mit dem Knüppel in die Nähe des Umschaltpunktes kommt?
                        Du könntest (neben der Lösung von Pitchfella) auch eine Hysterese einprogrammieren. Also einschalten bei 1500, aber ausschalten nicht bei 1499, sondern erst bei 1480 oder so.

                        ßltere Lipokoffer-Thermostate arbeiten so, damit beim Erreichen des Temperatur-Sollwerts das Relais nicht zu rattern beginnt durch ständiges Anziehen und Abfallen.

                        Kommentar

                        • Bernhard Kerscher
                          Senior Member
                          • 26.04.2010
                          • 3318
                          • Bernhard

                          #102
                          AW: Arduino im RC-Modellbau

                          Danke für die Tips Jungs.
                          Werde ich mal probieren.
                          Sagt mal, ich habe gesehen ich kann bei Board ja auch Tinny45 mit 8Mhz intern auswählen.
                          Kann ich das auch einfach so machen ohne weitere Schaltungsänderung?

                          Grüße, B.
                          Selber denken schadet nicht ! YouTube

                          Kommentar

                          • Taumel S.
                            Senior Member
                            • 31.12.2008
                            • 26320
                            • Helfried
                            • Ã?sterreich

                            #103
                            AW: Arduino im RC-Modellbau

                            Zitat von Bernhard Kerscher Beitrag anzeigen
                            Kann ich das auch einfach so machen ohne weitere Schaltungsänderung?
                            Das steht in Posting #97 präzise erklärt, glaube ich, wie du die Arduino-Sachen auf den kleinen Prozessor bekommst.
                            Die Frequenz ist dabei ja egal bei so simplen Programmen.

                            Kommentar

                            • Bernhard Kerscher
                              Senior Member
                              • 26.04.2010
                              • 3318
                              • Bernhard

                              #104
                              AW: Arduino im RC-Modellbau

                              Noch eine Frage:

                              Ich habe die Schaltung jetzt soweit fertig, das ich vier Ausgänge schalte.
                              Mit mehreren If Else abfragen erfasse ich die Knüppelstellung wie bei der Nachtflugsteuerung.
                              Nach einer If Auswahl lasse ich dann einfach eine Blinkfolge ablaufen, die ich mit digi write1 und 0 und delay so time das es mir gefällt.
                              So eine Blinkfolge kann schon mal 2-4 sek dauern und in der Zeit wird ja kein Empfänger abgefragt.
                              D.h. ich kann erst wieder Umschalten, bzw die Schaltung reagiert erst auf das Umschalten wenn wieder zu RC Read gesprungen wird.
                              Wie kann ich das hier schöner lösen, so das die Schaltung immer auf Knüppeländerung reagiert?

                              Grüße, B.
                              Selber denken schadet nicht ! YouTube

                              Kommentar

                              • Bernhard Kerscher
                                Senior Member
                                • 26.04.2010
                                • 3318
                                • Bernhard

                                #105
                                AW: Arduino im RC-Modellbau

                                Das steht in Posting #97 präzise erklärt, glaube ich, wie du die Arduino-Sachen auf den kleinen Prozessor bekommst.
                                Die Frequenz ist dabei ja egal bei so simplen Programmen.

                                Hi, danke, aber das ist mir schon klar wie das geht.... ich wollte nur wissen ob man den Tinny einfach so mit 8MHz laufen lassen kann!
                                Selber denken schadet nicht ! YouTube

                                Kommentar

                                Lädt...
                                X