Inhoudsopgave:
- Stap 1: StepDriver-bibliotheek
- Stap 2: Globale variabelen
- Stap 3: Functies - De driverpinnen instellen
- Stap 4: Functies - Basisfuncties van het stuurprogramma
- Stap 5: Functies - Instelling motorstap
- Stap 6: Functies - De motorstapmodus instellen
- Stap 7: Functies - De eindschakelaars instellen
- Stap 8: Functies - Uitlezen van eindschakelaars
- Stap 9: Functies - Bewegingsinstelling
- Stap 10: Functies - Bewegingsfunctie
- Stap 11: Functies - Bewegingsfunctie - Variabelen
- Stap 12: Functies - Bewegingsfunctie - Versnelling
- Stap 13: Functies - Bewegingsfunctie - Continue snelheid
- Stap 14: Functies - Bewegingsfunctie - Vertraging
- Stap 15: Functies - Bewegingsfunctie - Continue snelheid
- Stap 16: Functies - Verplaatsingsfunctie - Verplaats beurten
- Stap 17: Bewegingsgrafiek - Positiesnelheid
- Stap 18: Bewegingsgrafiek - Positie vs. Positie
- Stap 19: Motion Chart - Velocity Vs. Moment
2025 Auteur: John Day | [email protected]. Laatst gewijzigd: 2025-01-23 15:01
Vandaag zal ik je een bibliotheek laten zien voor een volledige stappenmotorbestuurder met eindschakelaars en motorbeweging met versnelling en microstap. Met deze Lib, die zowel op de Arduino Uno als de Arduino Mega werkt, kun je de motoren niet alleen op basis van het aantal stappen, maar ook op millimeters verplaatsen. En het is ook behoorlijk nauwkeurig.
Een belangrijk kenmerk van deze bibliotheek is dat je je eigen CNC-machine kunt bouwen, wat niet alleen de X, Y is, maar ook een sectieschakelaar, bijvoorbeeld omdat het geen kant-en-klare GRBL is, maar eerder de programmering die stelt u in staat om de ideale machine voor u te maken.
De volgende verklaring is echter een belangrijk detail! Deze video is alleen voor degenen die al gewend zijn aan programmeren. Als je niet bekend bent met Arduino-programmering, moet je eerst andere, meer inleidende video's op mijn kanaal bekijken. Dit komt omdat ik in deze specifieke video een geavanceerd onderwerp bespreek en in meer detail de Lib die in de video wordt gebruikt, uitleg: Stappenmotor met versnelling en einde van de slag.
Stap 1: StepDriver-bibliotheek
Deze bibliotheek omvat de drie meest voorkomende typen stuurprogramma's op de markt: A4988, DRV8825 en TB6600. Het configureert de pinnen van de stuurprogramma's, waardoor ze de reset en plaatsing in de slaapmodus kunnen uitvoeren, en de motoruitgangen die op de activeringspin werken kunnen activeren en deactiveren. Het stelt ook de ingangen van de microstappennen van de driver in en begrenst schakelaars en hun activeringsniveau (hoog of laag). Het heeft ook motorbewegingscode met continue versnelling in mm / s², maximale snelheid in mm / s en minimale snelheid in mm / s.
Voor degenen die deel 1 en 2 van de video Step Motor with Acceleration and End of Stroke hebben bekeken, download deze nieuwe bibliotheek die vandaag beschikbaar is, want ik heb enkele wijzigingen aangebracht in dat eerste bestand om het gebruik ervan te vergemakkelijken.
Stap 2: Globale variabelen
Ik laat precies zien waar elk van de globale variabelen voor is.
Stap 3: Functies - De driverpinnen instellen
Hier beschrijf ik enkele methoden.
Ik heb de Pinout-instelling en de Arduino-pinnen als uitvoer ingesteld.
Stap 4: Functies - Basisfuncties van het stuurprogramma
In dit deel werken we met de configuratie van de driver en zijn basisfuncties.
Stap 5: Functies - Instelling motorstap
In deze stap van de code configureren we het aantal stappen per millimeter dat de motor moet uitvoeren.
Stap 6: Functies - De motorstapmodus instellen
Deze tabel toont de instellingen voor de motorstapmodus. Hier zijn enkele voorbeelden.
Stap 7: Functies - De eindschakelaars instellen
Hier moet ik de hele en booleaanse waarden lezen. Het is noodzakelijk om in te stellen of de actieve sleutel omhoog of omlaag is, terwijl u de maximum- en minimumlimiet-eindpin instelt.
Stap 8: Functies - Uitlezen van eindschakelaars
Dit deel is anders dan het deel in de Lib dat ik vorige week beschikbaar heb gesteld. Waarom heb ik het veranderd? Welnu, ik heb eRead gemaakt om enkele anderen te vervangen. Hier leest de eRead de LVL, de digitalRead (pin) en retourneert TRUE. Dit alles moet op hoog niveau worden uitgevoerd. Het volgende werk met de actieve sleutel zal op het lage niveau zijn. Ik zal het hier gebruiken om je de "Truth"-tabel te laten zien.
In de afbeelding van de code heb ik een diagram geplaatst dat zal helpen om te begrijpen dat ik in dit deel van de broncode op weg ben naar Ascending en nog niet de einde-natuurlijk-toets heb bereikt.
Nu, in deze afbeelding os code bool DRV8825, laat ik zien dat de motor nog steeds in de groeirichting beweegt. De maximale eindschakelaar is echter geactiveerd. Het mechanisme moet dan de beweging stoppen.
Als laatste laat ik dezelfde beweging zien, maar in de tegenovergestelde richting.
Hier heb je de eindeloopschakelaar al geactiveerd.
Stap 9: Functies - Bewegingsinstelling
Het belangrijkste nut van de motionConfig-methode is om millimeter per seconde (een meting die wordt gebruikt in CNC-machines) om te zetten in stappen, om te voldoen aan de controller van een stappenmotor. Het is daarom in dit deel dat ik de variabelen concretiseer om de stappen te begrijpen en niet de millimeters.
Stap 10: Functies - Bewegingsfunctie
In deze stap behandelen we het commando dat een stap in de gewenste richting zet in een periode in microseconden. We stellen ook de richtingspin van de bestuurder, de vertragingstijd en de richting van de eindschakelaars in.
Stap 11: Functies - Bewegingsfunctie - Variabelen
In dit deel configureren we alle variabelen die onder andere betrekking hebben op perioden van maximale en minimale snelheid, afstand van het traject en stappen die nodig zijn om het traject te onderbreken.
Stap 12: Functies - Bewegingsfunctie - Versnelling
Hier presenteer ik enkele details over hoe we tot de versnellingsgegevens zijn gekomen, die werden berekend met de vergelijking van Torricelli, omdat dit rekening houdt met de ruimtes om de versnelling te bewerken en niet de tijd. Maar het is hier belangrijk om te begrijpen dat deze hele vergelijking slechts over één regel code gaat.
We identificeerden een trapeze in de afbeelding hierboven, omdat de initiële RPM's slecht zijn voor de meeste stappenmotoren. Hetzelfde gebeurt met de vertraging. Hierdoor visualiseren we een trapezium in de periode tussen versnelling en vertraging.
Stap 13: Functies - Bewegingsfunctie - Continue snelheid
Hier houden we het aantal stappen dat bij de acceleratie is gebruikt, we gaan door in continue snelheid en houden ons aan de maximale snelheid, die te zien is in de onderstaande afbeelding.
Stap 14: Functies - Bewegingsfunctie - Vertraging
Hier hebben we nog een vergelijking, deze keer met een negatieve versnellingswaarde. Het wordt ook weergegeven in een regel code, die in de onderstaande afbeelding de rechthoek met het label Deceleration voorstelt.
Stap 15: Functies - Bewegingsfunctie - Continue snelheid
We keren terug naar continue snelheid om de tweede helft van het traject te bewerken, zoals hieronder te zien is.
Stap 16: Functies - Verplaatsingsfunctie - Verplaats beurten
In dit deel verplaatsen we de motor in een bepaald aantal omwentelingen in de gewenste richting, waarbij het aantal omwentelingen in millimeters wordt omgezet. Ten slotte bewegen we de motor in de gewenste richting.
Stap 17: Bewegingsgrafiek - Positiesnelheid
In deze grafiek heb ik gegevens die zijn geëxtraheerd uit de vergelijking die we in het deel van Versnelling hebben gebruikt. Ik nam de waarden en speelde op de Arduino-serie, en ik ging van dit naar Excel, wat resulteerde in deze tabel. Deze tabel toont de voortgang van de stap.
Stap 18: Bewegingsgrafiek - Positie vs. Positie
Hier nemen we de positie, in stappen, en de snelheid en converteren deze naar periode, in microseconden. We merken in deze stap op dat de periode omgekeerd evenredig is met de snelheid.
Stap 19: Motion Chart - Velocity Vs. Moment
Ten slotte hebben we de snelheid als functie van het moment, en daardoor hebben we een rechte lijn, want het is de snelheid als functie van de tijd.
Aanbevolen:
Een stappenmotor besturen: 5 stappen
Een stappenmotor besturen: deze tutorial is zowel geldig als we de Arduino gebruiken als beide met het Drivemall-bord onder de link om de Drivemall te bouwen. Het voordeel van de voorkeur geven aan de Drivemall boven het klassieke Arduino-bord is dat de complexiteit van de verbindingen l
Bedien uw computer met een stappenmotor! 9 stappen (met afbeeldingen) Antwoorden op al uw "Hoe?"
Bedien je computer met een stappenmotor!: In een van mijn vorige Instructables heb ik je laten zien hoe je een stappenmotor kunt gebruiken als een roterende encoder. Laten we in deze Instructable leren hoe we het kunnen gebruiken om onze computer te besturen. Dus zonder verder oponthoud, laten we aan de slag gaan
Stappenmotor met D Flip Flops en 555 Timer; het eerste deel van het circuit de 555 Timer: 3 stappen
Stappenmotor met D-flip-flops en 555-timer; het eerste deel van het circuit de 555-timer: de stappenmotor is een gelijkstroommotor die in discrete stappen beweegt. Het wordt vaak gebruikt in printers en zelfs robotica. Ik zal dit circuit in stappen uitleggen. Het eerste deel van het circuit is een 555 tijdopnemer. Het is de eerste afbeelding (zie hierboven) met een 555-chip met
Idee voor doe-het-zelf-activiteit voor weerstations voor 12+ jaar: 4 stappen
Idee voor doe-het-zelf-weerstationactiviteit voor 12-plussers: in deze activiteit zullen deelnemers hun weerstation opzetten, de lucht in sturen en de opnames (licht, temperatuur, vochtigheid) in realtime volgen via de Blynk-app. Bovendien leert u hoe u de geregistreerde waarden publiceert
Een stappenmotor en driver selecteren voor een Arduino geautomatiseerd schaduwschermproject: 12 stappen (met afbeeldingen)
Een stappenmotor en stuurprogramma selecteren voor een Arduino geautomatiseerd schaduwschermproject: in deze Instructable zal ik de stappen doorlopen die ik heb genomen om een stappenmotor en stuurprogramma te selecteren voor een prototype van een geautomatiseerd schaduwschermproject. De schaduwschermen zijn de populaire en goedkope Coolaroo-handgezwenkte modellen, en ik wilde t