Maglev-modul
Fire solenoider, en Hall-sensor og en PD-regulator som holder en neodymmagnet svevende.
- Regulering
- Embedded
- Lab
Hold magneten svevende
Magneten er ustabil uten regulering. Juster Kp, Kd og filteret, gi den et dytt, og se hva som skal til for å holde den. Forenklet modell, ikke de fysiske parameterne.
Posisjon over tid (4 s)
- Avvik
- 0 %
- Status
- Svever stabilt
Du kan også dra magneten med musen eller fingeren og slippe den.
Mål
Få en neodymmagnet til å sveve stabilt over fire solenoider ved å regulere strømmen i spolene ut fra det målte magnetfeltet.
Løsning
En Hall-sensor måler magnetfeltet fra magneten. Signalet filtreres (ALPHA = 0,2 og DALPHA = 0,3), kompenseres for feltet spolene selv lager, og går inn i en PD-regulator som styrer to spolepar i X- og Y-retning med PWM, begrenset til ±150. Å tune Kp og Kd var selve oppgaven.
Resultat
Magneten svever stabilt. Koden peker også på en kjent utfordring: sensoren mister av og til kommunikasjonen når spolene aktiveres, sannsynligvis på grunn av støy, og systemet er laget for å oppdage og gjenopprette dette.
Det jeg tok med meg
- Tuning: mer Kd demper oscillasjon, men for mye gir ustabilitet.
- Filtrering av sensor og derivert er en avveining mellom støy og hastighet.
- Støy fra spolene kan forstyrre en I²C-sensor, og må håndteres i kode og krets.
Reguleringssløyfen
Hall-sensor
TLV493D måler magnetfeltet fra magneten i tre akser.
Filter og kompensasjon
Glatter signalet (ALPHA, DALPHA) og trekker fra feltet spolene selv lager.
PD-regulator
Kp gir stivhet og Kd demper oscillasjon. Pådraget begrenses til ±150.
Neodymmagnet
Det som skal sveve. Posisjonen avleses igjen av Hall-sensoren.
Solenoider
Fire spoler (±X og ±Y) som trekker og skyver magneten tilbake mot midten.
Motordrivere
Omsetter pådraget til PWM for hvert av de fire spolene.
Hold pekeren over, eller trykk på, en boks for å se hva den gjør.