Unconfigured Ad

Collapse

Hjemmelaget quadrocopter flight controller

Collapse
X
 
  • Time
  • Show
Clear All
new posts
  • Lazy Bee
    • Mar 2003
    • 212

    #1

    Hjemmelaget quadrocopter flight controller

    Jeg har laget meg en enkel quadrocopter flight controller. Den bruker en ATMega48 på 8 MHz, og har få deler.

    Software og skjema er vedlagt, hvis du vil prøve selv. Greit vinterprosjekt

    Softwaren er enkel, og har bare en loop og ingen interrupts. CPU bruken er ca 80%. Mere CPU tid kan frigjøres ved å lage pulsavlesningen og genereringen interruptdrevet.

    Softwaren er skrevet i assembly (Jeg liker å lide! , og jeg bruker et 16.16bit (16bit integer, 16bit fractional) math library, som jeg også har laget selv Den bruker et array av 16.16bit registre, som brukes på samme måte som ATMega48 sine 32 8bit registre, og kan gies navn.

    Gyroene er tatt fra noen 2rotors helikoptervrak som jeg fikk engang.

    Man kan bruke en vanlig mottaker som gir ut kanalene på vanlig måte.
    jeg bruker en Futaba R606FS, som heldigvis har en framerate på 16ms i stedet for 20ms som er vanlig. Dette gir en kontroll-loop frekvens på 62.5Hz.

    Kontrollalgoritmen er enkel rate dampening. Jeg prøvde å lage "heading hold", men ble ikke kvitt all vinglingen.

    Kretsen er enkel nok til å lages på et stykke "stripboard".

    Her er en video:
    Attached Files
    Rolf Bakke
    Mine RC filmer på YouTube:
    http://www.youtube.com/user/KapteinKUK
  • jorna
    • Apr 2008
    • 101

    #2
    Tøft prosjekt Jeg har litt assemblyfobi etter å ha lært litt assembly til MOS 6502 på høgskolen (til info: prosessoren kom på markedet i 1976; vi lærte å programmere den 30 senere med utstyr fra midt på 80-tallet. Ikke særlig motiverende...), men med litt AVR-utstyr (butterfly, db101, jtagice mk2) stående nesten ubrukt er det kanskje på tide å lære litt AVR asm.

    Jeg nevner ikke navn (Qu....), men kanskje et medlem på forumet bør ta dette som et hint om at det er på tide å droppe PIC, og heller konvertere til AVRismen

    Comment

    • Quadrocopter
      Moderator
      • Aug 2007
      • 6357

      #3
      Jippi enda en....
      Nå begynner det å bli noen som har MultiCoptere her til lands også.

      Kjempe artig at du tar deg tid til å bygger alt helt fra bunnen av!
      "Koste"meg med litt kode lesing ...

      Ser at du haver borti de samme problemene som man hadde på den første generasjonen UAVP'ere - med at MCU klokka er litt lav og man skulle gjerne ha gjort vesentlig flere beregninger (Kalmar filter osv).

      Har du tenkt på å forsterke opp (en op-amp) gyrosignalet slik at du forer AD converteren kun med den delen av gyrosignalet som er interessant, dette gir deg en vesentlig høyere oppløsning på gyrosignalet og du får dermed bedre stabilitet. Videre kan du lage LP filteret i passive komponenter mellom Gyro og MCU. da slipper du å gjøre filtrering i SW og du frigjør CPU cycles.
      Disse modsene gjør ikke prosjektet dyrere eller øker vekta.

      Pokker nå tar det helt av

      Så over til Jorna - hele den nye NG plattformen baserer seg på MCU'er fra Atmel, programmere AVR assembly til disse er verre enn å drikke tran!
      Heldigvis så er det meste av koden i C/C++...

      Er du interessert i NG plattformen så si ifra, drar en tur til 26C3 i Berlin den 26-27/12 for å prate med NG utviklings teamet. Er jeg heldig så har jeg med meg et par HW-0.22 print med hjem

      Lykke til videre med prosjektet.

      Siden det ikke finnes en gruppe for multicopter prosjekter så har vi samlet det meste av info i Quadrokopter tråden.
      Last edited by Quadrocopter; 17-11-09, 17:16.

      Comment

      • Ferry
        • Feb 2007
        • 456

        #4
        Originally posted by jorna
        Tøft prosjekt Jeg har litt assemblyfobi etter å ha lært litt assembly til MOS 6502 på høgskolen (til info: prosessoren kom på markedet i 1976; vi lærte å programmere den 30 senere med utstyr fra midt på 80-tallet. Ikke særlig motiverende...), men med litt AVR-utstyr (butterfly, db101, jtagice mk2) stående nesten ubrukt er det kanskje på tide å lære litt AVR asm.
        Jeg lærte 6502 i -90. Mener du å si at det fremdeles ble brukt i -06?! Jeg husker mikroprosessor som et forferdelig fag. Men seinere, gjennom jobb og hobby, så oppdaget jeg PIC, og da ble plutselig faget morsomt. Jeg har mang en gang tenkt på hvilke bedre muligheter som finnes i dag for å lære. Moderne utstyr gjør alt så mye lettere. Og prosjekter som dette er til stor inspirasjon! Stå på Lazy Bee! Dette er morsom lesning.

        Comment

        • jorna
          • Apr 2008
          • 101

          #5
          På enkelte områder er det fremdeles 1990 på høgskolen i sør-trøndelag Det verste av alt var at jeg hadde lært C programmering og investert i en AVR butterfly året før 6502 marerittet; snakk om å gå tilbake til steinaldernivå.

          Comment

          • Lazy Bee
            • Mar 2003
            • 212

            #6
            Hei, takker folkens

            Jeg får fremdeles rykninger når jeg tenker på den tiden jeg holdt på med PIC assembler
            Jeg gikk heldigvis over til Atmel ganske fort, hehe. Men å skrive i C er nok best. Skal visst være en gratis C compiler til Atmel, skal prøve den en dag.

            Jeg tenkte på å fjerne DC-offset og ha lavpass i hardware, men jeg tenkte og på om jeg kunne få det til med minst mulig med deler
            Men jeg tror det er best å ha lavpass i hardware, siden det samples bare hver 16ms. Skjer nok mye i signalet i løpet av den tiden, så det skal jeg prøve. Bare 6 ekstra motstandere og kondensatorer.
            ADC oppløsningen er ikke så veldig høy, kan bedre den ved å senke referansespenningen litt, fra 2.5 til ca 1.5V.

            Men den flyr greit, og er relativt stabil!

            Jeg skal lage en større en. jo større jo bedre, blir lettere å få helt stabil. Har en pakke på vei fra HC, med motorer, regulatorer og propeller.
            Rolf Bakke
            Mine RC filmer på YouTube:
            http://www.youtube.com/user/KapteinKUK

            Comment

            • Lazy Bee
              • Mar 2003
              • 212

              #7
              Nå har jeg prøvd med hardware lavpass, det var ingen forskjell, så jeg tok det vekk.

              Gyrosensorer kan taes ut av 16 dollars "Futaba401 -killeren" til HC: http://www.hobbycity.com/hobbycity/s...dproduct=10113

              Der sitter det en "Murata ENC-03M GYROSTAR" gyrosensor, se vedlagt datablad.

              Som bonus får en også en Atmel ATMega88 og et 8MHz krystall
              Attached Files
              Rolf Bakke
              Mine RC filmer på YouTube:
              http://www.youtube.com/user/KapteinKUK

              Comment

              • Ferry
                • Feb 2007
                • 456

                #8
                Originally posted by Lazy Bee
                Gyrosensorer kan taes ut av 16 dollars "Futaba401 -killeren" til HC: http://www.hobbycity.com/hobbycity/s...dproduct=10113

                Der sitter det en "Murata ENC-03M GYROSTAR" gyrosensor, se vedlagt datablad.

                Som bonus får en også en Atmel ATMega88 og et 8MHz krystall
                Interessant! Så denne klonen er bare piezo, og ikke SMM som originalen GY-401? Jeg har to stk. av denne klonen, og en original GY-401. Jeg kan ærlig talt ikke merke forskjell, men så flyr jeg heller ikke særlig avansert. Jeg kjøpte disse fra dealextreme.com, til ca $21 inkl. frakt. Den ene av de skrangla litt, så jeg åpnet den og putta inn litt skumgummi for å støtte opp kortet(!)

                Comment

                • Quadrocopter
                  Moderator
                  • Aug 2007
                  • 6357

                  #9
                  Originally posted by Lazy Bee
                  Nå har jeg prøvd med hardware lavpass, det var ingen forskjell, så jeg tok det vekk.
                  Gyrosensorer kan taes ut av 16 dollars "Futaba401 -killeren" til HC...
                  Der sitter det en "Murata ENC-03M GYROSTAR" gyrosensor, se vedlagt datablad...)
                  LP filter i HW er hovedsaklig for å frigjøre klokke cycler i MCU'en, og kvaliteten på filteret påvirker i liten grad stabiliteten.

                  Trålet markedet for Murata Gyroerer for noen år siden for å få "billige" gyroer men kvaliteten på disse keramiske gyroene er utrolig dårlig (kanskje noe som gjenspeiler hvorfor HK 401 ble kastet av de fleste som kjøpte den...)

                  Etter mye prøving å feiling er konklusjonen min følgende - stabiliteten øker parallelt med kvaliteten på gyroen og AD konverteren (hvis du ikke har gyro med digitale overføring), pluss hvor følsom du greier å gjøre løsningen uten at uønskede (motor)vibrasjoner påvirker den.

                  Siden du ønsker å utvikle en lavkost versjon så blir kanskje dette ikke så interessant men mitt beste gyro tips i dag MLX90609-R2 som nå brukes i NG-UAVP'en eller ADXRS610 fra Sparkfun.

                  Følger spent med på fortsettelsen
                  Last edited by Quadrocopter; 30-11-09, 21:16.

                  Comment

                  • Lazy Bee
                    • Mar 2003
                    • 212

                    #10
                    Ikke noe SMM i denne nei, koster nok for mye for kineserene
                    Men det er mange som er fornøyd med den, og ikke merker forskjell fra en Futaba 401, iallefall ved "normal" flyging.
                    Er en tråd om den her: http://www.rcgroups.com/forums/showthread.php?t=956825

                    HK401 sin sensor tåler nok mindre vibrasjoner enn GY401 sin (CRS4-SGH01 fra Silicon Sensing), men en nok ikke problem i mindre elektrohelikoptere. Men ville ikke brukt den i et fuelhelikopter.

                    Har ikke fått inntrykk av at Murata sine er dårlige, heller ikke at HK401 blir kastet av de fleste som kjøper den?

                    Lavpassfilteret bør ikke ha for lang tidskonstant for ellers blir det for stor forsinkelse.

                    Jeg lar hardwaren være som den er, og prøver å få softwaren bedre.
                    Rolf Bakke
                    Mine RC filmer på YouTube:
                    http://www.youtube.com/user/KapteinKUK

                    Comment

                    • Quadrocopter
                      Moderator
                      • Aug 2007
                      • 6357

                      #11
                      Originally posted by Lazy Bee
                      Lavpassfilteret bør ikke ha for lang tidskonstant for ellers blir det for stor forsinkelse....
                      Tenker ikke så mye på tidskonstanten men mer på at du bruker noen instruksjoner og dette stjeler tid i fra den indre kontroll loopen (noe som du absolutt ikke har råd til) og dermed ender du opp med færre oppdateringer/justeringer pr sekund m.a.o. større ustabilitet!
                      Denne tiden kunne bli brukt til å beregne stabilitet istedenfor å sløses på noen som kan gjøres utenfor software.
                      Last edited by Quadrocopter; 01-12-09, 20:35.

                      Comment

                      • Lazy Bee
                        • Mar 2003
                        • 212

                        #12
                        Ikke så nøye på min, loopen går etter input fra mottaker, 62.5Hz. Jeg bruker vanlige ESC'er, så det er ikke noe vits å ha raskere loop.
                        Rolf Bakke
                        Mine RC filmer på YouTube:
                        http://www.youtube.com/user/KapteinKUK

                        Comment

                        • Lazy Bee
                          • Mar 2003
                          • 212

                          #13
                          Noen som har noen gode tips om hvor en kan få kjøpt APC 10x4.7 pusher propellere?
                          Rolf Bakke
                          Mine RC filmer på YouTube:
                          http://www.youtube.com/user/KapteinKUK

                          Comment

                          • Quadrocopter
                            Moderator
                            • Aug 2007
                            • 6357

                            #14
                            Her i denne websjappa
                            Last edited by Quadrocopter; 12-12-09, 01:30.

                            Comment

                            Working...