Intro till modell flygplan Autopilot! (3 / 7 steg)

Steg 3: Demo PID-regulator



Innan jag kastade min arduino i ett flygplan, bestämde jag mig det skulle vara en bra idé att bygga en plattform för att testa PID på. Min PID-regulator används följande delar:
Eflite Outrunner Motor
35 amp ESC
11.1 V LiPo batteri
1/2" PVC
En gammal såg hästen för en monter

Registeransvarige ser ut i vinkel armen hänger på att använda våra accelerometer och gyroskop, och använder denna data för att avgöra hur mycket ström att kasta motorn för att göra den arm.

Eftersom ESC för att koppla in din motor i en radio mottagare buss avsedd för servon, är det relativt lätt att kontrollera en borstlös växelströmsmotor med en ESC på en Arduino tack vare Servo.h + Servo.cpp i mappen bibliotek. Jag tror servo protokollet använder puls position modulation (PPM) som kan uppnås med en PWM stift på din arduino med servo.write() funktion.
http://www.hooked-on-RC-airplanes.com/servo-tutorial.html

Det är viktigt att vara saftey medveten när du kör dessa motorer, eftersom de går extremt snabbt. * ALLTID bära saftey glasögon * * lämna propellern bort tills du absolut behöver it *

Du kommer att behöva skriva en funktion till arm(); din ESC så att du kan ställa in dess hastighet. I princip måste du skriva ESK låg, hög, och låg sedan igen.
http://www.Arduino.cc/cgi-bin/yabb2/YaBB.pl?NUM=1226292633 Detta forum går över hur man styr en borstlös motor och där jag fick ram för min arm(); funktion och setSpeed (); funktion.

Du kan bara använda en servo.write(0-180) för att ställa din hastighet på din esc, men du kan även mappa det på en skala från 0-100. Du kan hämta motor_functions längst ned i steget. Om det inte fungerar vänligen berätta!! Jag kan enkelt lägga till det i instruktionerna!

Med dessa funktioner ger dig full motorstyrning. Du kommer att behöva sitter och plockar med din egen kod för din särskilda ESC. Genom att förklara vår sensor fungerar oberoende av slingan kan vi nu köra motor och sensorer på samma gång. Det är där jag träffade min första stora bakslag. Eftersom motorn drar så mycket ström från batteriet, det inducera strömmar i min I2C bussen. Min sensor skulle fungera bra när motorn var avstängd, men när motorn var igång värdena som var ganska mycket meningslöst.
Jag tog följande steg för att rensa upp buller:
Jag la en ferrit ring till ESK (retroaktivt, detta förmodligen bara skyddar ESK från buller-lärt sig att använda dessa efter min Zagi kraschade http://www.hobbyking.com/hobbyking/store/__23206__Clip_On_Soft_Ferrite_Rings_5pc_.html)
Jag monterade sensorerna så långt bort som möjligt från motorn
Twisted alla mina kablar för att försöka minimera aktuella induktion

Jag hittade dessa webbplatser för att ta itu med mina problem:

http://diydrones.com/forum/topics/PID-Controller-I2C-Bus-Noise-from-ESC?xg_source=activity //this är en tråd som jag började på DIY drönare
http://forum.allaboutcircuits.com/showthread.php?t=41916

Detta verkade minimera sensor fel, men fortfarande cirka 5 av varje 20 värden var iväg med +-10 grader. För att rensa detta medierad jag sensorn värdena med:
Bygga en aray för att hålla 20 värden som de dök upp kronologiskt
Bygga en matris som hölls senaste 20 värdena sorteras i (stigande eller fallande ordning, det spelar ingen roll eftersom vi letar efter medianen)
Jag använde en bubbla sortera för att sortera mina värderingar

Jag hittade denna webbplats för att hjälpa till att förklara hur man effektivt sortera array:
http://mathbits.com/mathbits/compsci/arrays/sorting.htm
Du kommer att behöva konstruera multiplar av dessa sortering funktioner för flera värden (x, y, z; dx, dy, dz)

Min bubbla typ och medianen funktioner kan laddas ner på botten av steget!

Nu när dina sensorer värden är kongruenta och du har kontroll över din AC-motor, kan vi börja faktiska PID control!
Wikipedias sida gör ett bra jobb som förklarar hur programmet ska vara strukturerat med hjälp av psuedocode. Det finns många, många sätt att genomföra detta. Det beror på hur länge du vill använda din feedback för integrerad och derrivative termer.

Du kan hitta min PID_sample längst ned i detta steg!

Tuning PID: det finns många sätt att ställa in ett PID. Kan du av programvara, gissa och kolla, jag skulle prova med metoden Zieger Nichols.
Något sätt, du börja genom att bara köra din produktion med proportionell fel. Ange KP så att proportionella termen aldrig överstiger produktionskapacitet. I grund och botten systemet kommer att svänga, det ska dämpa runt din setpoint (eller åtminstone inte öka över tid!). När du har hittat en lämplig KP kan du antingen ange KD eller KI. Olika människor säger olika saker när det kommer till som en att göra först, men integrerad sikt kommer att påskynda en undercorrection mot normvärdet medan derrivative termen kommer att sakta ner en overcorrection.

Ledsen alla försökte jag bädda in videor men av någon anledning inte fungerade. Här är en länk:
http://www.youtube.com/watch?v=_qlgWSP-kfk&feature=g-upl

Efter att ha spelat med koden för ett tag skulle det blivit uppenbart hur anpassningsbar styrenhet är att just ditt system. Kom ihåg att prova och framkoppling eftersom du vet hur man! När du är bekväm gå vidare och installera registeransvarige!

Se Steg
Relaterade Ämnen

$1 modell flygplan lanternor

Detta är Instructable som en handledning för att göra ditt skala modellflygplan mer attraktiva med bara några enkla steg. Inte bara billigt men det också fungerar bra, strobe lampor har blinkar med mycket hög intensitet så det ser ut som original fly...

3D-utskrifter Intro till Makerbot

Här är och Intro till använder Makerbot Desktop skriva ut 3D-objekt på skrivbordet Makerbot Replicator 5! Mycket grundläggande instruktioner, Känn dig fri att röra runt med programvaran lite mer. (:Steg 1: Välj din fil. Antingen gör din egen 3D-model...

YF - 23 Black Widow II modell flygplan USB blixt driva

jag hade två av de samma tråkiga modell flygplan och, medan jag inte brukar skära upp några modeller, jag har bättre sådana att ta upp plats av denna meningslösa på hyllan. Flygplanet har spelat någon betydande roll i historien och inte en mycket bra...

Intro till Robotics

Robotar går snabbt från tecken och koncepten som endast återfinns i science fiction till del av vår vardag. Även om de kan ibland verkar vara elektromekaniska mysterier, blir personliga robotics mer tillgängliga varje dag! Billigare, högre kvalitet,...

Intro till ARM del 1

I den här första videon kommer jag att ge ett intro till STM32F0Discovery utveckling styrelsen som vi kommer att använda för nästa några videor. Jag kommer att beskriva hårdvaran i styrelsen och vad alla dev kit har att erbjuda.Länk till ST: s hemsid...

Konfiguration av MKS Sbase v1.2 32-bitars Controller grunderna och intro till Smoothieware.

ProlougeJag är verkligen glad att se hur denna grundläggande intro till Smoothieware och MKS Sbase 1.2 controller har fått så mycket uppmärksamhet, och hoppas verkligen att det kommer att hjälpa människor att komma igång eller besluta att inte.Jag ha...

Fläkt RPM med inre hall effekt sensor och Arduino (Intro till hårdvara avbryta och LCD display)

För mitt andra projekt för arbete, jag var tvungen att mäta rotationshastigheten av rotoren i varv Per minut (RPM) av en modifierad dator fläkt. Den hade tre kablarna kommer ut och som kryssat mig som kanske har något sätt att kontrollera sin hastigh...

Gör din egen 3D-modeller - Intro till den kreativa världen av 3D-utskrifter

3D-utskrift, som inleddes 1984, har snabbt blivit en av de största fenomenen i moderna prototyper och vetenskap. I själva verket endast några år har tillverkningsprocesser börjat bildar runt om de möjligheter som 3D-utskrift ger. Också, många företag...

Kompletta idioter guide till rc flygplan flyger

i detta instructables, jag kommer att visa dig hur till och vad du kommer att behöva bygga en modellflygplan. Jag ska berätta hur man bygger och reparerar ett rc plan. Nu kan börja med teorin, flygplan kan flyga på grund av sina vingar form, de är of...

Läder fodral Tutorial & Intro till grundläggande läder arbetande

God afton mina damer och herrar. I denna fina Instructable kommer jag att visa dig hur du skapar din egen läder påsar! Detta är också en stor inledande grundläggande läder arbeta.Om du har några frågor när det gäller handledning, gör din egen cosplay...

Modell flygplan Stand - presentabel och billigt!

Så, du har just avslutat bygga din bästa modellflygplan eller rymdskepp någonsin! Grattis! Men vad händer om du vill att det ska se ut som det flyger? Och du inte vill hänga den i taket? Vissa modeller levereras med stativ, men jag har inte sett allt...

Modell flygplan Rapier tändare

De av er som har läst mitt tidigare Instructable Rapier-Fuego-Retro-modell-plan vet jag lovade att göra en Instructable på min tändare. Tillbaka när Rapier motorer blev först tillgänglig de tillhandahölls med säkringar (mitten av du dessa kan vara me...

Intro till GPS med Microcontrollers

När faller av strikt militära operationer, GPS har blivit en regelbunden del av modern livsstil och på relativt kort tid! Vem skulle inte vilja veta när och var de är någonstans på planeten? Det är en science fiction-dröm i verkligheten, en nu så väv...

Intro till 3D-utskrifter

Vad är 3D utskrift?3D-utskrifter är en process för att göra ett fysiskt objekt från en tre-dimensionell digital modell, vanligtvis genom att fastställa många flera tunna lager av material. Ett enkelt sätt att visualisera detta skulle vara att tänka p...

Intro till PIC-mikrokontroller

ett minimum av vad du behöver för att få igång programmering PIC micros för användning i elektronik projekt (robotics, etc)Steg 1: Vad du behöver för projektet Obs: verkar som om du har windows XP, det finns ingen gratis PIC programmerare programvara...

Intro till illrar

illrar gör awesome husdjur. Min instructable är om hur man vårdar, träna och kunna hantera illrar.Jag hoppas du njuter (:Steg 1: hålla illrar Hantering av illrar är en viktig del om iller vård. Korrekt hantering tekniken är att göra en vagga med arma...

Intro till kicken foto

använda fotografi att rivstarta framgången för ditt projekt!Här är en guide om hur att marknadsföra ditt nästa stora idé:Steg 1: miljö Arrangera dina bilder!Viktiga frågor att ta ställning:Där används min produkt?Vem är min mål kund? Vad är användare...

Intro till produktfotografering (för instructables)

detta instructable är avsedd för någon att göra en instructable eller slide show som inte tycks kunna få bra bilder eller kritiseras alltid om sina bilder. Dessa särskilda tips är avsedda för fotografering små till medelstora medelstora projekt som k...

Intro till IR bilder

detta är en kort och enkel intro i till IR-fotografering. Det finns en hel del grejer på IR-bilder men jag hade fortfarande att göra en massa prov och misstag och gräva att komma så långt som jag har gått. Mycket av det handlar om fotoredigering, men...