Inhoudsopgave:
2025 Auteur: John Day | [email protected]. Laatst gewijzigd: 2025-01-23 15:01
Dit project is bedoeld voor mensen die ervaring hebben met het gebruik van een Arduino. Voorkennis van het gebruik van servo's, OLED-displays, potten, knoppen, solderen is handig. Dit project maakt gebruik van 3D-geprinte onderdelen.
Ball Balancer is een PID-testopstelling om te experimenteren met PID-tuning. PID Fiddler is een afstandsbediening voor het aanpassen van de PID-afstemming.
Een PID wordt gebruikt wanneer u meer controle over beweging nodig heeft. Een goed voorbeeld is een balanceerrobot. De robot moet kleine aanpassingen maken om het evenwicht te bewaren en snel reageren om zichzelf op te vangen als hij een stoot of duw tegenkomt. Een PID kan worden gebruikt om de reactie van de wielmotoren af te stemmen om het evenwicht te behouden.
Een PID vereist feedback van een sensor. Een balancerende robot gebruikt gyroscopen en versnellingsmeters om de absolute hoek van de robot te meten. De uitgang van de sensor wordt door de PID gebruikt om de motoren te regelen om het evenwicht te bewaren.
Dus waarom heb ik een saaie ball balancer gemaakt? Natuurlijk is het cool, maar balancerende robots kantelen als ze niet correct zijn afgesteld. Balanceerrobots zijn niet het beste apparaat om te experimenteren met PID-tuning. De ballbalancer is veel stabieler en is een goed visueel hulpmiddel om de effecten van PID-tuning te zien. De kennis die is opgedaan bij het afstemmen van de balbalancer kan worden toegepast bij het afstemmen van een balanceerrobot.
De Ball Balancer is een rail op een draaipunt. Op de rail zit een bal die heen en weer beweegt op de rail als de rail wordt gekanteld. De rail wordt getipt met een servo. Aan het uiteinde van de rail zit een sensor die de afstand van de bal tot de sensor meet. De invoer voor de PID is de afstand van de bal tot de sensor en de uitvoer van de PID is de servo die de rail kantelt en de bal beweegt.
Ik gebruik de Arduino PID-bibliotheek.
De PID Fiddler is wat ik gebruik om de PID-waarden af te stemmen. Je hebt er geen nodig, maar het helpt wel. De PID Fiddler bevindt zich op afstand van de Ball Balancer, kan worden aangesloten met slechts twee draden en kan worden aangesloten en losgekoppeld terwijl de Ball Balancer draait. Zodra u de beste waarden hebt gevonden, kunnen de waarden hard worden gecodeerd in uw projectschets.
De extra inspanning van het maken van de PID Fiddler werpt zijn vruchten af in de tijd die nodig is om afstemmingswijzigingen in de PID aan te brengen. U kunt snel de resultaten van uw wijzigingen zien. En het kan opnieuw worden gebruikt voor toekomstige projecten die PID's gebruiken. Om nog maar te zwijgen van het is leuk om te bouwen, en ziet er cool uit!
Stap 1: Balbalancer - Onderdelen
3D-geprinte onderdelen hier te vinden:
(Montage-instructies zijn te vinden in de instructies voor na het afdrukken in de bovenstaande link)
1 - 1 "x 1/8" aluminium hoek, gesneden tot 500 mm lengte.
1 - Adafruit VL53L0X Vluchttijdsensor:
1 - Hobby Servo met bedieningshoorn
1 - Stijve draad voor koppeling (ongeveer 7 mm)
- Diversen Montage schroeven
1- Arduino Uno
2 - LED's (rood, groen)
3 - 330 Ohm weerstanden
- Diversen Jumperdraden en Breadboard
- Platte zwarte spuitverf
1 - Witte pingpongbal
Stap 2: Ball Balancer - Montage
Montage-instructies voor de Ball Balancer vindt u hier:
Enkele aanvullende tips:
Spuit de binnenkant van de rail plat zwart om fouten van de sensor te verminderen.
Koppeling (getoond in afbeelding hierboven):
- Gebruik een stijve draad van ongeveer 7 mm lang voor de verbinding tussen de servobesturingshoorn en de sensorbeugel.
- Stel de rail waterpas, plaats de stuurhoorn horizontaal in het midden van de servobeweging (servowaarde 90).
- Buig een kleine lus in de bovenkant van de draad en een z-vormige bocht aan de onderkant van de draad.
- Steek het z-uiteinde in de bedieningshoorn, markeer het punt in het midden van de lus op de sensorbeugel.
- Boor een klein gaatje en gebruik een kleine schroef om de draad aan de sensorbeugel te bevestigen.
Stap 3: Ball Balancer-bedrading & Arduino Sketch
Raadpleeg de afbeelding hierboven voor de bedrading.
Gebruik een aparte voeding voor de servo. Dit kan een bankvoeding zijn of een batterijpakket. Ik gebruik een bankvoeding die is ingesteld op 5V.
De PID Fiddler wordt bevestigd met twee draden, één op Pin 1 (Seriële RX) en één op aarde.
De schets is aanwezig.
Schetsnotities: De instelwaarde verandert elke 15 seconden van 200 mm naar 300 mm. Het is handig om de seriële monitor op de Arduino IDE te gebruiken om de sensoruitvoer te zien.
Stap 4: PID Fiddler 2 - Onderdelen
3D-geprint schild en knoppen zijn hier te vinden:
4 - 10 Kohm-potten
1- Kortstondige contactknoppen:
1- Adafruit Monochroom 128x32 I2C OLED grafisch display:
1- Arduino Uno
- diversen header ping (.1 in), klemmenblokken, draad aansluiten
Stap 5: Pid Fiddler 2 - bedrading, montage en Arduino Sketch
Gebruik het bedradingsschema voor het bedraden van de afscherming.
Montagetips:
-Voor tips over het maken van aangepaste printplaten, zie mijn instructable:
- Superlijmkoppen op het 3D-geprinte schild.
- Ik gebruik draadwikkeldraad.
- Gebruik potten met vierkante bodem en snij de montagelipjes af, lijm ze heet op hun plaats.
- Componenten zijn gesoldeerd. Gebruik een vrouwelijke header voor de OLED en de OLED kan eenvoudig worden losgekoppeld en verwijderd voor gebruik in andere projecten.
Schetsnotities:
- Sluit een draad van het aansluitblok (bedraad op pin 2, TX) aan op pin 1 (seriële RX) van de Ball Balancer Arduino. Sluit een draad aan tussen het aansluitblok (aarde) en de aarde van de Ball Balancer Arduino.
- Houd de knop ingedrukt, pas de knoppen aan om de PID-instellingen aan te passen, laat de knop los om de waarden naar de Ball Balancer te sturen.
Stap 6: Ball Balancer en PID Fiddler gebruiken
Het enige dat overblijft is om ermee te gaan spelen!
- Plaats de bal op de rail.
- Houd de knop op de PID Fiddler ingedrukt, zet P, I en D op nul, ST op 200 om te starten.
- De servo reageert niet meer.
- Begin nu te experimenteren met verschillende P-, I- en D-waarden om te zien hoe dit de respons en beweging van de bal beïnvloedt.
- Probeer de waarden voor Sample Time (ST) te wijzigen. De bemonsteringstijd is de tijd in milliseconden dat de invoer wordt verzameld. De waarden worden gemiddeld over de monstertijd. De sensoroutput van een stilstaand doel zal met een kleine hoeveelheid variëren. Als de sampletijd te klein is, zal de output van de PID "jitteren". De PID probeert de ruis in de sensormetingen te corrigeren. Als u langere sampletijden gebruikt, wordt de ruis afgevlakt, maar wordt de uitvoer van de PID schokkerig.
Stap 7:
Niet gebruikt
Aanbevolen:
PID-regelaar VHDL: 10 stappen
PID-controller VHDL: Dit project was mijn laatste project om mijn Honours Bachelor Degree van het Cork Institute of Technology af te ronden. Deze zelfstudie is opgedeeld in twee secties, de eerste behandelt het hoofdgedeelte van de PID-code, het hoofddoel van het project en de sec
Trophy Ball Clock met servo: 18 stappen
Trophy Ball Clock Servo gebruiken: Klok is er in alle vormen. Maar ik wil iets doen met een nieuwe bolvormige klok, waarbij de minutenwijzer de onderste helft van de bol is en de urenwijzer de bovenste helft van de bol. Denk er allereerst aan om de normale klok om te bouwen. Maar terwijl de minuten het uur verschuiven
Projectoverzicht Crystal Ball: 10 stappen
Crystal Ball Project Overzicht: Deze instructable is gemaakt om te voldoen aan de projectvereiste van de Makecourse aan de Universiteit van Zuid-Florida (www.makecourse.com) Mijn Crystal Ball-project is een combinatie van het Mattel-speelgoed uit de jaren 1950, de Magic Eight-ball en een fortuin tel
PID-temperatuurregelaar: 7 stappen
PID-temperatuurregelaar: mijn vriend bouwt een plastic extruder voor plastic recycling (https://preciousplastic.com). Hij moet de extrusietemperatuur regelen. Hiervoor gebruikt hij een nozzle heater band. In dit mondstuk zit een thermokoppel en een verwarmingsunit
PID-regeling aanleren met Lego Robots: 14 stappen
PID-besturing aanleren met Lego-robots: Veel jonge robotenthousiastelingen zijn geïnteresseerd in meer geavanceerde besturingsonderwerpen, maar worden mogelijk belemmerd door de calculus die vaak nodig is om gesloten-lussystemen te analyseren. Er zijn prachtige bronnen online beschikbaar die de constructie van een "