Innholdsfortegnelse:
2025 Forfatter: John Day | [email protected]. Sist endret: 2025-01-13 06:58
Dette prosjektet tar sikte på å gi en enkel intuitiv måte å forstå hvordan man gjør automatisk PID -tuning ved hjelp av en varmeapparat. Det jeg har laget er basert på Åström – Hägglund-metoden for å utlede parametere ved å bruke bang-bang-kontroll for å avsløre systemegenskaper og deretter valgt parametere basert på denne kunnskapen. Det er ikke noe hemmelig for det, og informasjon finner du her: https://en.wikipedia.org/wiki/PID_controller#Loop… Og for å velge parametere kan du lese litt her: https://en.wikipedia.org/ wiki/PID_controller#sløyfe …
For å gjøre det hyggelig er et Nextion 3.2 HMI-grensesnitt lagt til for brukerinngang og visning av forskjellige variabler i sanntid. MEN jeg har også laget en seriell terminalversjon av biblioteket som gjør prosjektet billigere!
Den virkelige bakgrunnshistorien er at jeg delvis lovet faren min å lage en temperaturkontroll for smeltende bivoks, dels ønsket jeg å oppdatere min grunnleggende kontrollteori og til slutt ville jeg se på autotuning av PID -kontrollere. På siden klarte jeg også å bruke den til Sous Vide som lager fine biffer og Bearnaisesaus som en del av testen!
ADVARSEL
Jeg jobber med 230 V her, noe som er farlig hvis du ikke vet hva du gjør! Jeg er elektriker og elektronikkingeniør, så jeg har litt erfaring her - men IKKE jobbe med 230 V hvis du ikke er komfortabel med det, og vær forsiktig så du ikke berører strømførende ledninger! Vær også forsiktig med de billige SS-reléene med hensyn til mulig brannfare, da dette har blitt sett av noen mennesker (ikke av meg selv).
Rekvisita
- En billig WASCO kokeplate (kan være bedre - f.eks. En Ikea induksjonsplate)
- Et billig SS-relé
- En Dallas onewire temperatursensor
- En Arduino Mega
- (Valgfritt) Et Nextion 3,2 "HMI -grensesnitt/display
- 5V strømforsyning til Arduino
Trinn 1: Montering
Jeg bygde bare et kabinett for HMI -versjonen av prosjektet siden dette var det jeg endte opp med å bruke. Så jeg laget et kabinett for montering av relé, HMI og Arduino. Jeg lagde også en klemme til temperatursensoren bare fordi jeg kunne …
Trinn 2: Koding
All koden for HMI og Arduino er tilgjengelig på min Git -repo for prosjektet.
Jeg kommenterte mye i koden for å prøve å gjøre det lettere å lese og forstå. Men egentlig satte jeg opp en veldig treg PWM for kokeplaten og en tidsavbrudd for statsmaskinen/kontrollen, og det er egentlig det.
Så er det selvfølgelig tuningsrutinen og selve kontrollen + HMI eller Serial interface …
Jeg gjør noe som jeg ikke er en stor fan av i denne koden, og det er å bruke seriell utskrift i et tidsavbrudd. Seriell utskrift tar mye tid og bør virkelig unngås i et tidsavbrudd …
Tuningen fungerer som følger:
- Sett PWM driftssyklus til 40%
- Vent til settpunktstemperaturen er nådd
- Sett PWM driftssyklus til 0%
- Vent til temperaturen er under settpunktet
- Gjenta trinn 1-4 til f.eks. 3 perioder med nesten samme tid og amplitude ses
- Beregn parametere for PID basert på ovennevnte
Ganske enkelt;)
Trinn 3: Testing
Nå som kodingen er ferdig, er det på tide å teste. I den tidligere delen viste jeg tuningen grafisk fra en test - så for det er det ikke mye igjen å si. Men et par tester med de oppnådde parametrene er vist her.