Stap 4: kalibratie
Er zijn een paar aanpassingen die je doen kunt om deze code meer geschikt is voor uw toepassing.
Het eerste ding om te doen is ingesteld de huidige limiet van max. Als u wilt weten welke waarde u wilt instellen op, moet u om te testen. De gemakkelijkste manier is te gebruiken van de Arduino voorbeeldcode "AnalogReadSerial", en kijken naar de seriële monitor om te zien wat de feedback van de motor. Als je eenmaal de waarde die u wilt weet stoppen, kunt u deze instellen in de void setup routine, door de waarde van de maxAmps te wijzigen.
Een andere optie is om de limiet verstelbaar. Als u een potentiometer aan de Arduino op één van de analoge pinnen koppelt, kunt u de max versterkers variëren door het variëren van de potentiometer. Om dit te doen, alles wat u nodig hebt om toe te voegen is een verklaring aan het begin om de pincode van de potentiometer instellen, als volgt:
Zodra dat er is, u moet zetten "pinMode (Pot, INPUT);" in de void setup-routine. Zodra dat er is, kunt u de analogRead() instellen van de limiet. Elke keer als de code een lus, wordt de max stroomsterkte bijgewerkt. Het zou er zo uitzien:
Een andere instelling die u kunt bewerken is de ontdendering timers, om de knoppen min of meer responsieve. De waarde te wijzigen is debounceTime, in het begin van het programma. Als u de waarde hoger, de knop kan worden ingedrukt langzamer, zonder het tweemaal wordt geregistreerd. Als de waarde te hoog is, moet je wachten een lange tijd voordat het zal de druk op de knop opnieuw registreren. Als de waarde te laag is en u langzaam op de knop drukt, kan het twee keer registreren en start/stop de motor meteen. De waarde tussen de 300 en 1000 houden is een goede spreiding.
Het laatste ding om te veranderen is de hitLimitsmax-variabele. Deze variabele wordt gebruikt om te vertellen wanneer de bedieningssleutel is op de positie die volledig ingeschoven of volledig uitgebreid. Wanneer de bedieningssleutel zich in één van die posities, de huidige monitor zal worden het lezen 0 versterkers. Door de variabele hitLimitsmax aan te passen, kunt u instellen hoe lang het duurt voor de bedieningssleutel om te realiseren dat het bij de grenzen.
In het ideale geval zou de limiet kunnen worden ingesteld op 1. Zodra de feedback 0 is, stopt de actuator. Hebt u een lage stroomsterkte actuator (~ 1A), als gevolg van de schommelingen in de huidige lezing, de huidige kan worden gelezen, zoals 0 zelfs wanneer de bedieningssleutel in beweging is. Hierdoor zou de actuator te stoppen willekeurig. Om dit te verhelpen, is de waarde van hitLimitsmax ingesteld zodat de sensor lezen 0 ampère X bedrag van de tijden moet voordat het stopt. Hebt u een hogere stroom (> 5 ampère) stelaandrijving, deze waarde lager kan zijn. Ik heb deze ingesteld op 10, zodat de bedieningssleutel 0.5 seconden stoppen duurt zodra het raakt de grenzen. Het zal 0.5 seconden vergen omdat de feedbacktimedelay 50 milliseconden is, en het 10 keer lussen.