Stap 2: Bepalen methode: proportioneel integrale Derrivative controle
De oplossing: een PID-regelaar.
Een PID-regelaar drie termen gebruikt voor het berekenen van een vermogen dat de fout te corrigeren.
uitvoer = (kp*error)+(ki*errorSum)+(kd*dError);
De eerste termijn (de proportionele term) kijkt naar onze huidige ingangen (pitch & roll in ons geval) en vergelijkt deze naar de gewenste positie aka setpoint (0 graden voor niveau vlucht). De berekende fout (verschil) wordt vermenigvuldigd met een constante (KP) bevat de waarde binnen onze uitvoerbereik (0 tot en met 180 deg is servo bereik, maar het is meestal kleinere eenmaal geïnstalleerd in een RC vliegtuig). Kortom, hoe groter de fout, des te groter de nodige wijzigen.
De tweede term is de integraal term. Het vat alle vorige fout (zoals vastgelegd door de proportionele termijn) na verloop van tijd. Als de fout ongecorrigeerd voor te lang blijft, wordt de integraal term groter waardoor de omvang van onze uitvoer tot de correctie is toegepast. Nogmaals, vermenigvuldigt u het met u constante (KI) bevatten de term binnen het resulterende uitvoerbereik * waarschuwing * het is mogelijk dat als u fouten voor verzamelen te lang de integraal termijn uw output vermogen overschrijden zullen. Dit heet integrale WINDUP. Dit kostte me een lange tijd vast te stellen. Ik was in staat om te minimaliseren van de term door beperking van het toepassingsgebied van tijd waardoor ik bekeek mijn fout. Om te voorkomen dat de eerste twee voorwaarden overcorrecting onze fout moeten we kijken naar de derde termijn.
De afgeleide term (dError) ziet er tegen het tarief dat uw sensor-ingangen uw setpoint naderen om het project wanneer de fout zal worden gecorrigeerd. De afgeleide term kan worden gebruikt om de uitvoer vertragen als het te snel corrigeren is en waarschijnlijk is om overschrijding van het setpoint. Vermenigvuldigen met de constante KD te houden van de uitvoer binnen het mogelijke bereik.
De PID is een zeer krachtige feedback-controller (d.w.z. het gebruikt verleden uitgangen en ingangen voor het berekenen van de nieuwe output). Het zal veel baat hebben van u om te doen wat buiten te lezen als u niet eerder hebt gebruikt. Eigenlijk, de wikipedia-pagina doet een uitstekend werk van het verklaren van de begrippen betrokken. Als u calculus weet, kan de PID zeer intuïtief hulpmiddel geworden. http://en.wikipedia.org/wiki/PID_controller#Control_loop_basics
Zodra u begrijpt hoe het werkt, kunt u kijken naar de sectie van de structuur op de feedforward controle lus.