Hoe een willekeurig indexeerprogramma voor stappenmotor schrijven
Veel mensen denken dat de stappenmotor niet nauwkeurig kan worden geïndexeerd en dat de aandrijfmethode van de servomotor te vergoddelijkt is. Wat mij betreft de ervaring van het gebruik van een stappenmotor als indexplaat, hoef je eigenlijk alleen maar te weten hoe je een stappenmotor moet gebruiken en hoe je het programma moet schrijven. De nauwkeurigheid van de indexering onder normale omstandigheden kan nog steeds worden gegarandeerd.
Waar de stappenmotor ook wordt toegepast, er moet voor worden gezorgd dat er voldoende koppel is. De stappenmotor is een grote door paarden getrokken auto.
De opstarttijd onder normale omstandigheden moet over het algemeen zo lang mogelijk zijn. De startsnelheid kan niet te snel zijn. Overmatig starten en stoppen kan overshoot veroorzaken. In het proces van gebruik, als de indexering onvolledig is, dat wil zeggen, is het normaal om een cirkel te nemen, maar ontdek hoe je een klein beetje erger kunt maken, dat wil zeggen, er is een naad, deze situatie is legendarisch uit de pas . De oplossing voor het verlies van synchronisatie is niets meer dan het volgende:
Verhoog het motorkoppel en verhoog de stroom van de omvormer;
Verlaag de maximale werkingssnelheid;
Uitgebreide starttijd;
Verlaag de startsnelheid.
Als er geen probleem is met het bovenstaande, is er mogelijk een cumulatieve fout in het programma met een resterende puls die niet kan worden gedeeld.
Zoals we allemaal weten, wordt de puls berekend als een geheel getal en bestaat er niet zoiets als een halve puls. Maar vaak heeft deze helft van de pols een probleem. Als een cirkel in 10 gelijke delen is verdeeld, is elk deel van een halve puls geen probleem. 20 aliquots, kan een halve puls per aliquot niet bijzonder opvallen. Wanneer het echter verdeeld is in 50, 100, 500, nnn aliquots, kan een dergelijke halveringspuls niet een klein aantal zijn. De meer aliquots, zelfs als elk aliquot 0,1 pulsen is, is een astronomisch getal. Dit is waarom veel mensen denken dat stappenmotoren geen nauwkeurige indexschijven kunnen maken. Dit is niet alleen een progressieve motor, zelfs een servomotor, dit probleem bestaat ook - de rest.
Als volgt: het aantal onderverdelingen van de stappendriver is 64. Het aantal pulsen per motor is dan 62x200 = 12800.
Stel nu de motor in op 128 gelijke delen en bereken vervolgens 12800/128 = 100 putjes. Het aantal pulsen per aliquot is 100 pulsen.
Maar als ik nu vraag om te delen in 129 gelijke delen, is de formule: 12800/129 = 99.2248062, dat wil zeggen dat elke hoeveelheid 99.2248062 pulsen nodig heeft om gelijkmatig te worden verdeeld, dus de telling wordt verwijderd van de rest van het decimaalteken, gevolgd door de totale fout van 129 eq is 129X0 .2248062 = 28.9999999 pulsen. Equivalent aan deze cirkel is een fout van 1/4 deel van een deel.
Vanwege mijn beperkte culturele niveau heb ik er veel over nagedacht en uiteindelijk de verwerkingsmethode van dit restpulsnummer opgelost.
Als we het voorbeeld van het oppervlak als referentie nemen, is het aantal motorpulsen 12.800, dat is verdeeld in 129 gelijke delen. De maximale fout die nodig is om een ronde te voltooien, is niet meer dan 1 puls.
De programmeermethode is als volgt:
Stel het aantal motorimpulsen in, dit is dood, u kunt niet schrijven. 12800 of andere waarden.
Stel het aantal gelijke delen dat moet worden verdeeld in: 129 in het gegevensregister D of V
Bereken het aantal integer-pulsen dat vereist is voor elke aliquot: 12800/129 = 99
Bereken nauwkeurig het aantal pulsen dat voor elke portie is vereist. Het resultaat van de drijvende-kommabewerking is: 12800/129 = 99.2248062
Verander 99 in een zwevend kommagetal en krijg de gegevens als 99.0
Vervolgens wordt, met behulp van de berekeningsformule van 99.2248062-99.0 = 0.2248062, het aantal pulsen per aliquot verkregen.
Vermenigvuldig het totale aantal pulsen met het resterende aantal pulsen: 0.2248062x129 = 28.99999998. Verwijder de decimale punt om het gehele getal 28 te krijgen.
Trek 28 van de aliquot af om te krijgen: 129-28 = 101. Deze gegevens zijn het aantal aliquots in het proces.
Het programma loopt naar: Het aliquot dat is toegevoegd is groter dan 101, dat wil zeggen, van 102 gelijke delen tot 129 aliquots, in elk van de 28 gelijke delen, wordt één puls toegevoegd voor elke aliquot. Dat wil zeggen, het aantal pulsen dat begint met 102 gelijke delen is 99 + 1 = 100.
Zoals hierboven berekend, voegt in de laatste 28 aliquots elk monster een puls toe, wat een toename is van 1/100 per aliquot.
Samenvatting: Als uit de bovenstaande berekeningen blijkt dat de verwerking niet absoluut nauwkeurig is, zijn de producten die door dit programma worden verwerkt volledig bevredigend.






