Arduino im RC-Modellbau

Einklappen
X
 
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge
  • ro.heg
    Member
    • 15.03.2013
    • 382
    • Rolf
    • Quickborn bei Hmb.

    #31
    AW: Arduino im RC-Modellbau

    na....es ist ja wieder sehr ruhig in diesem Thread geworden!
    Für Modelleisenbahn habe ich schon 3 Projekte mit Atmels erstellt, aber für Helis
    bin ich noch am überlegen.
    In nen Logo500 oder Goblin500 wäre genug Platz für die Hardware.

    Wenn mir was einfällt gebe ich Info!

    Grüße

    Rolf

    Kommentar

    • ro.heg
      Member
      • 15.03.2013
      • 382
      • Rolf
      • Quickborn bei Hmb.

      #32
      AW: Arduino im RC-Modellbau

      Zitat von Steppo Beitrag anzeigen
      ich mach meine Platinen lieber selbst, das ist problemorientierter als wenn man etwas fertiges hernimmt, was nicht genau dafür gedacht ist was man vor hat. Als Plattform zum programmieren nutze ich einfach das ganz normale Atmel AVR Studio, das ist gratis und funktioniert super.



      Hi Steppo,

      die Photos erinnern mich an ein KK-Bord für Quadro oder Tricopter!

      Grüße

      Rolf

      Kommentar

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

        #33
        AW: Arduino im RC-Modellbau

        Zitat von ro.heg Beitrag anzeigen
        es ist ja wieder sehr ruhig in diesem Thread geworden!
        Also ich krieg den Krempel zum Geburtstag, falls meine Freundin die richtigen Knöpfe bei Amazon (billiger) erwischt.

        By the way, ätzt man eigentlich Platinen immer noch mit Salzsäure und Wasserstoffperoxyd wie ich vor 30 Jahren als Kleinkind? Kann mich erinnern, es hat zwar super funktioniert, aber die Dämpfe haben alle Geräte verrosten lassen...

        Kommentar

        • ro.heg
          Member
          • 15.03.2013
          • 382
          • Rolf
          • Quickborn bei Hmb.

          #34
          AW: Arduino im RC-Modellbau

          die Platine (vom Photo) glaube ich nicht an Selbstherstellung, die habe ich bei ebay
          für ca. 15.-€ kommen lassen.
          Heute fliegt mein Quadro, allerdings ohne GPS und Schnikschnak.

          Grüße

          Rolf

          Kommentar

          • Hallodrius
            Senior Member
            • 07.10.2011
            • 1327
            • Anselm
            • Wiesbaden

            #35
            AW: Arduino im RC-Modellbau

            NatriumPersulfat nimmt man gewöhnlich zum selber ätzen.
            Das Bad muss aber erwärmt werden damit es funktioniet.
            Devo 8s / DX6i
            Blade 300x / MQX / NQX
            Protos 500 / MiniProtos

            Kommentar

            • Steppo
              Senior Member
              • 01.08.2010
              • 2056
              • Stefan
              • Darmstadt/Dieburg

              #36
              AW: Arduino im RC-Modellbau

              ja wir haben da Eisen(III)oxid-Bad für Prototypen, ist ganz nett, aber Chinahersteller sind immernoch günstiger und von der Qualität her viel besser... daher wart ich meist leiber noch ein monat länger und lass es auch China kommen...
              RC-Nachtflug-Blog
              Dlight - Lichtorgel

              Kommentar

              • Doomgiver
                Member
                • 25.02.2013
                • 110
                • Heiko
                • Kiel

                #37
                AW: Arduino im RC-Modellbau

                So, dann will ich doch auch mal wieder...

                Punkt 1: Ich habe nichts gegen Interrupts. Ich fand sie bei Arduino bisher lediglich größtenteils uninteressant, da es a) standardmäßig nur zwei Stück gibt und sie b) an bestimmte Pins gebunden sind. Aber das Bessere ist ja bekanntlich des Guten Feind, und nach ein wenig stöbern habe ich diese Library gefunden: PinChangeInt

                Hiermit kann jeder beliebige Pin am Arduino zum Interrupt werden. Gleich mal ausprobiert, und eine ziemlich gut funktionierden Zeitmessfunktion für empfängersignale auf die Beine gestellt. Kleiner Nachteil ist bis jetzt, dass es nur auf den großen Atmega läuft, die kleinen Attiny habe ich noch nicht probiert. Mal schauen, vielleicht finde ich da ja auch noch etwas passendes. Aber jetzt erstmal zum spielen. Hier ein Mini-Script, zum Zeiten messen.

                Nachdem man die ZIP-Datei geöffnet hat, wird der Verzeichnis 'PinChangeInt' in das 'libraries'-Verzeichnis im Arduino-Ordner kopiert. Danach das Programm starten. Unter "Libraries"dann PinChangeInt' anklicken, danach sollte das hier im Editor stehen:
                Code:
                #include <PinChangeInt.h>
                Nun werden einige Variablen definiert. Ich bin ja ein Anhänger der eindeutigen Namen, dann liest sich der Code später fast wie ein (wenn auch etwas stotteriges ) Buch. Zunächst wird der Empfngerpin festgelegt (in diesem Fall Pin-Nr. 6). Danach wird der Zeitstempel definiert, wenn die Messung der Signallänge erfolgt und die Signallänge selbst. Da es sich beim Zeitepmpel um eine fortlaufende Messung handelt, muss hier 'unsigned long' als Variablentyp gewählt werden. Der eigentliche gemesse Zeitwert ist deutlich kleiner (<2500), daher genügt 'unsigned int'. Anschließend noch ein Boolscher Operator, der prüfen soll, ob die Zeitmessung gerade erfolgt, das war es hierfür.
                Code:
                byte pin_empfaenger = 6;
                unsigned long zeit_signaldauer_start = 0;
                unsigned int zeit_signaldauer = 0;
                boolean aktiv_zeitmessung = false;
                Nun geht es ans Setup. Hier noch unspektakulär. Zunächst wird der Empfänger-Pin als Eingang definiert, danach der Interrupt gesetzt. 'zeitmessung' steht hier für eine Unterfunktion, die noch definiert werden muss. Den Loop() lasse ich jetzt weg, dass bleibt ja vorerst jedem selbst überlassen, was er damit bezwecken will bzw. das zeige ich dann im Teil 2.
                Code:
                void setup(){
                  pinMode(pin_empfaenger, INPUT);
                  PCintPort::attachInterrupt(pin_empfaenger, zeitmessung, CHANGE);
                }
                Hier jetzt die Unterfunktion 'zeitmessung'. Diese wird jetzt jedesmal aufgerufen, wenn der Interrupt einen steigenden oder fallenden Pegel feststellt. Zunächst wird gepüft, ob ein HIGH-Signal anliegt, und die Zeitmessfunktion noch nicht gestartet wurde. Trifft beides zu, wird der aktuelle Zeitstempel gesetzt, und der Boolsche-Operator auf True gesetzt.
                Wenn der Interrupt erneut auslöst (tut er bei steigenden ud sinkenden Pegeln), wird dann geschaut, ob das Signal zu Ende ist und die Zeitmessung aktiv. Trifft beides zu, wird vom aktuellen Zeitstempel der Startwert abgezogen und man erhält die reine Signallänge vom Empfänger. Anschließend noch den Boolschen Operator für die Zeitmessung zurücksetzen und fertig. Bereit für das nächste Signal vom Empfänger.
                Code:
                void zeitmessung(){
                  if(digitalRead(pin_empfaenger) == HIGH && aktiv_zeitmessung == false){
                    zeit_signaldauer_start = micros();
                    aktiv_zeitmessung = true;
                  }
                  if(digitalRead(pin_empfaenger) == LOW && aktiv_zeitmessung == true){
                    zeit_signaldauer = micros() - zeit_signaldauer_start;
                    aktiv_zeitmessung = false;
                  }
                }
                Zusammen sieht das dann so aus.
                Code:
                #include <PinChangeInt.h>
                
                byte pin_empfaenger = 6;
                unsigned long zeit_signaldauer_start = 0;
                unsigned int zeit_signaldauer = 0;
                boolean aktiv_zeitmessung = false;
                
                void setup(){
                  pinMode(pin_empfaenger, INPUT);
                  PCintPort::attachInterrupt(pin_empfaenger, zeitmessung, CHANGE);
                }
                
                void loop(){
                  ...
                }
                
                void zeitmessung(){
                  if(digitalRead(pin_empfaenger) == HIGH && aktiv_zeitmessung == false){
                    zeit_signaldauer_start = micros();
                    aktiv_zeitmessung = true;
                  }
                  if(digitalRead(pin_empfaenger) == LOW && aktiv_zeitmessung == true){
                    zeit_signaldauer = micros() - zeit_signaldauer_start;
                    aktiv_zeitmessung = false;
                  }
                }
                Wer will, kann sich das über die serielle Konsole anschauen. Dabei wird er sehen, dass die Signaldauer um den Wert 4 schwankt. Das hat mit der Auflösung der micros()-Funktion zu tun, die bei 16Mhz bei 4µs liegt.
                Soll uns aber weniger stören, da wir ja generell keine exakten Werte vergleichen, sondern meisten "größer gleich" bzw. "kleiner gleich".
                Weiterer Nachteil: Die micros()-Funktion erzeugt nach ca. 70min einen ßberlauf und springt auf 0 zurück. Das kann man mit etwas Porgrammieraufwand abfangen. Andererseits: Welcher Heli beibt schon über eine Stunde am Stück in der Luft?
                GruÃ? Heiko

                Kommentar

                • Bernhard Kerscher
                  Senior Member
                  • 26.04.2010
                  • 3318
                  • Bernhard

                  #38
                  AW: Arduino im RC-Modellbau

                  Guten Morgen,
                  ich würde gerne noch einige Basics in Erfahrung bringen.
                  Ich habe mein Arduino Mini Pro und den passenden 5V FTDI Programmer aus nem alten Wii Copter reaktiviert.

                  1. Programmer: dieser FTDI kommuniziert ja über TX und RX mit Pin 0 und 1 des Arduino.
                  Ist das eigentlich nur ein USB zu seriell Wandler oder wird da noch was gemacht?
                  Ist das ein normales RS232 seriell Signal was hier gesendet und empfangen wird?
                  Könnte man dann auch ein normales seriell Kabel verwenden?

                  2. ATMega328: einen Atmel 328 mit Arduino Bootloader kann ich somit direkt auch mit dem FTDI Programmer programmieren?
                  Kann ich einen nackten 328 auch mit RX und TX Bootloadern und Scetchen oder muss hier der Bootloader erst über MOSI MISO "geflasht" werden und erst wenn der Bootl. drauf ist weiß er über Seriell was an zu fangen?

                  3. ATMega 8: kann ich mit Heikos Methode auch einen AT Mega 8 mit Arduino bespielen?

                  Grüße, Bernhard
                  Selber denken schadet nicht ! YouTube

                  Kommentar

                  • Bernhard Kerscher
                    Senior Member
                    • 26.04.2010
                    • 3318
                    • Bernhard

                    #39
                    AW: Arduino im RC-Modellbau

                    4. Mini Pro: kann ich für Heikos Methode zum Prog der Tinys auch mein Mini Pro und den FTDI verwenden?
                    Selber denken schadet nicht ! YouTube

                    Kommentar

                    • Doomgiver
                      Member
                      • 25.02.2013
                      • 110
                      • Heiko
                      • Kiel

                      #40
                      AW: Arduino im RC-Modellbau

                      Zu 4: Das sollte funktionieren. Der Atmega328 sitzt auf dem Uno und dem Mini Pro, insofern kein Problem. Der FTDI-Chip übernimmt ja nur die "ßbersetzung" vom USB->Serial, was beim Uno ein entsprechender Chip auf der Platine macht.
                      GruÃ? Heiko

                      Kommentar

                      • Bernhard Kerscher
                        Senior Member
                        • 26.04.2010
                        • 3318
                        • Bernhard

                        #41
                        AW: Arduino im RC-Modellbau

                        Die Besten Fragen sind die, die man selber beantwortet
                        Hab mal gegoogelt.... so einfach ist das manchmal.

                        1. Ist ein normales serielles Signal nur nicht 12V sondern 5V deshalb der Pegelwandler im FTDI

                        2. Ist genau so, ist Bootloader drauf, kann man mit FDTI seriell Prog. ist er nackig muss erst mit MOSI/MISO Loader drauf.

                        forum.zerspanungsbude.net Thema anzeigen - Arduino ohne Arduino


                        3. geht auch, nur benötigt man anderen Bootloader, der für ATMega8 passt.

                        4. bin ich nicht sicher, aber denke das UNO Board ist ja nicht anders, also ja müsste gehen.
                        Selber denken schadet nicht ! YouTube

                        Kommentar

                        • Doomgiver
                          Member
                          • 25.02.2013
                          • 110
                          • Heiko
                          • Kiel

                          #42
                          AW: Arduino im RC-Modellbau

                          Ja, dann hau in die Tasten!
                          GruÃ? Heiko

                          Kommentar

                          • Bernhard Kerscher
                            Senior Member
                            • 26.04.2010
                            • 3318
                            • Bernhard

                            #43
                            AW: Arduino im RC-Modellbau

                            na ganz langsam... erst mal verstehen
                            Selber denken schadet nicht ! YouTube

                            Kommentar

                            • Malc
                              Member
                              • 23.03.2010
                              • 41
                              • Wenzel

                              #44
                              AW: Arduino im RC-Modellbau

                              Hallo ;-)

                              hier gibt es einen testbericht zum Ardunio: LINK

                              Kommentar

                              • Doomgiver
                                Member
                                • 25.02.2013
                                • 110
                                • Heiko
                                • Kiel

                                #45
                                AW: Arduino im RC-Modellbau

                                Zitat von Malc Beitrag anzeigen
                                Hallo ;-)

                                hier gibt es einen testbericht zum Ardunio: LINK
                                Sicher? Das ist ein komplett anderes Paket. Hat mit Arduino absolut gar nichts zu tun.
                                GruÃ? Heiko

                                Kommentar

                                Lädt...
                                X