Hot Plate Automatic Control System (HPACS): 3 trinn
Hot Plate Automatic Control System (HPACS): 3 trinn
Hot Plate Automatic Control System (HPACS)
Hot Plate Automatic Control System (HPACS)
Hot Plate Automatic Control System (HPACS)
Hot Plate Automatic Control System (HPACS)

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

montering
montering
montering
montering
montering
montering
montering
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

Koding
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:

  1. Sett PWM driftssyklus til 40%
  2. Vent til settpunktstemperaturen er nådd
  3. Sett PWM driftssyklus til 0%
  4. Vent til temperaturen er under settpunktet
  5. Gjenta trinn 1-4 til f.eks. 3 perioder med nesten samme tid og amplitude ses
  6. Beregn parametere for PID basert på ovennevnte

Ganske enkelt;)

Trinn 3: Testing

Testing!
Testing!
Testing!
Testing!
Testing!
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.

Anbefalt: