3DOF boll på plattan med stängd Loop stegmotorer (13 / 13 steg)
Steg 13: Program och Tune plattform
Koden kräver flera bibliotek inklusive: kodare, kör medianen, kör genomsnittliga, och PID.
PID-biblioteket kunde avlägsnas enkelt som bara den proportionella delen används för stepper motor vinkel kontroll.
Skärmen behöver en första kalibreringen. I början delen av koden under "touch skärmen grejer" kalibrering kan värden anges. Avkommentera "Serial.print(measured_x_pos)" och "Serial.println(measured_y_pos)" på botten av huvudloop för att visa de råa skärm avläsningarna. Peka på skärmen på de åtalade platserna under avsnittet "touch skärmen saker" och ange värdena som visas i koden. Efter kalibrering, åter kommentar den seriella utskrifter.
Kvadratur kontrollvredet används för att justera värdena under drift. Arduino IDE seriell övervaka kan användas för att visa värden. Det första värde som visas är den viktigaste control loop tiden i oss. Detta värde bör inte överstiga 5mS som är samtal intervallet av huvudsakliga slingan. På kvadratur-knappen används för att avancera till nästa värde. Nästa tre värdena är den proportionella, derivata och integral vinster. Dessa värden kan ändras med vredet för att uppnå önskad inställning. Bollen ska snabbt flytta till ange plats med minsta överskridandet. Värdena kommer att försvinna vid makt cykel så de bör manuellt anges i koden efter tuning är klar. Förskjutningsvärdena för X och Y riktningar kan justeras därefter. Bollen kommer att kompenseras från önskad position om plattformen inte är nivån och integrerad vinst används inte. Ändra förskjutningsvärdena om du vill centrera bollen på plattformen när "0 mönster" är inställd. Olika boll mönster kan väljas med 8 mönster för närvarande programmerat med parametriska ekvationer. Graden av bollen rörelse justeras också med variabeln "mönster rate"; mindre antal motsvara snabbare ball motion. Slutvärdet är "mönster riktning" som sätter bollen rörelseriktning.
Koden är funktionella men fortfarande ett pågående arbete. Känn dig fri att göra förbättringar och dela.
Glöm inte att ha kul!