Stap 5: Basissoftware aka eerste proeven
Aangezien we nu een sensor voor het meten van een spanning met een lineaire gedrag aan de rotationspeed en een motor, beide verbonden aan een MCU (microcontroller eenheid), kunnen we een eenvoudig besturingselement lus implementeren in C taal.
Op het eerste, worden de gemeten snelheid waarden gefilterd met een tien punt naar gemiddelde filter (bovendien de analoge filters).
De LED-indicator voor te hoge snelheid wordt gegeven door:
Als (sensorValue < = 20) {digitalWrite (leidde, hoog);} //turn geleid, als snelheid te hoog is
else {digitalWrite (led, laag);}
De motorische controlecode wordt gegeven door:
controller voor de motor lineariteit
Als (sensorValue > speedValue) {fadeValue = fadeValue-1;}
fadeValue is de waarde, vervagen de LED en daarom variërend van de spanning van de motorische controle
else if (sensorValue < speedValue) {fadeValue = fadeValue + 1;}
Als (fadeValue < = 20) {fadeValue = 20;}
anders als (fadeValue > 255) {fadeValue = 255;}}
Dit is een vreemd soort p-controller (met geen evenredigheidsbeginsel de wanverhouding waarde), die werkt, maar niet zeer goed. Een nadeel is, dat het niet echt snel en begint te slingeren, graag de gegevens perceel shows. Een ander punt is, dat ik weet niet de exacte gemeten speed_value, die ik heb te bereiken, om te eindigen met precies 33 1/3 rpm. Ik benaderde waarden in deze stap, die niet correct. Wat je anders kunt zien, is dat het filter niet van de ruis verwijderen. Dat is waarom ik heb de filters ook herontwerp.
De derde foto toont de snelheid van de generator op de boven- en de stuurspanning op de bodem.
Deze problemen moeten voortaan worden opgelost in de volgende stappen door:
- nieuwe berekening van de filters
- meten van de belangrijke gegevens van systemen
- gebruiken die als basis voor de berekening van een PID-regelaar
het toevoegen van extra sensoren, die het meten van de rotatiesnelheid door het meten van de tijd tussen de gemarkeerde punten op de draaitafel
Aan mijn voordeel uitgevoerd ik een MCU, waarmee ik kan omgaan met de hele controle en haar wijzigingen in een digitale manier.