Indholdsfortegnelse:
- Trin 1: StepDriver -bibliotek
- Trin 2: Globale variabler
- Trin 3: Funktioner - Indstilling af drivernålene
- Trin 4: Funktioner - Grundlæggende funktioner i driveren
- Trin 5: Funktioner - Motor trinindstilling
- Trin 6: Funktioner - Indstilling af motortrinstilstand
- Trin 7: Funktioner - Indstilling af grænsekontakter
- Trin 8: Funktioner - Aflæsning af grænsekontakter
- Trin 9: Funktioner - Bevægelsesopsætning
- Trin 10: Funktioner - Bevægelsesfunktion
- Trin 11: Funktioner - Bevægelsesfunktion - Variabler
- Trin 12: Funktioner - Bevægelsesfunktion - Acceleration
- Trin 13: Funktioner - Bevægelsesfunktion - Kontinuerlig hastighed
- Trin 14: Funktioner - Bevægelsesfunktion - Deceleration
- Trin 15: Funktioner - Bevægelsesfunktion - Kontinuerlig hastighed
- Trin 16: Funktioner - Flytfunktion - Flyt drejer
- Trin 17: Motion Chart - Position Velocity
- Trin 18: Motion Chart - Position vs. Position
- Trin 19: Motion Chart - Velocity vs. Øjeblik
Video: Arduino: Precision Lib for trinmotor: 19 trin
2024 Forfatter: John Day | [email protected]. Sidst ændret: 2024-01-30 08:29
I dag vil jeg vise dig et bibliotek til en motor med fuld trin med grænsekontakter og motorbevægelse med acceleration og mikrotrin. Denne Lib, der fungerer på både Arduino Uno og Arduino Mega, giver dig mulighed for at flytte motorerne ikke kun baseret på antallet af trin, men også på millimeter. Og det er også ret præcist.
Et vigtigt træk ved dette bibliotek er, at det giver dig mulighed for at bygge din egen CNC -maskine, som ikke nødvendigvis kun er X, Y, men også en sektionsafbryder, for eksempel fordi den ikke er en klar GRBL, men derimod den programmering, der giver dig mulighed for at lave den ideelle maskine til dig.
Den følgende erklæring er imidlertid en vigtig detalje! Denne video er kun for dem, der allerede er vant til at programmere. Hvis du ikke er bekendt med Arduino -programmering, skal du først se andre mere introduktionsvideoer på min kanal. Dette er fordi jeg diskuterer et avanceret emne i denne specifikke video og forklarer mere detaljeret den Lib, der blev brugt i videoen: Trinmotor med acceleration og afslutning af slagtilfælde.
Trin 1: StepDriver -bibliotek
Dette bibliotek dækker de tre mest almindelige drivertyper på markedet: A4988, DRV8825 og TB6600. Det konfigurerer drivernes stifter, så de kan udføre nulstilling og placering i dvaletilstand, samt aktivere og deaktivere motorudgange, der virker på aktiveringsnålen. Det indstiller også input til driverens mikrotrinstifter og begrænser switches og deres aktiveringsniveau (højt eller lavt). Den har også motorbevægelseskode med kontinuerlig acceleration i mm / s², maksimal hastighed i mm / s og minimumshastighed i mm / s.
For dem, der så del 1 og 2 i videoen Step Motor with Acceleration and End of Stroke, download dette nye bibliotek, der er tilgængeligt i dag, fordi jeg lavede nogle ændringer i den første fil for at lette dens brug.
Trin 2: Globale variabler
Jeg viser præcis, hvad hver af de globale variabler er til.
Trin 3: Funktioner - Indstilling af drivernålene
Her beskriver jeg nogle metoder.
Jeg indstillede Pinout -indstillingen og Arduino -benene som output.
Trin 4: Funktioner - Grundlæggende funktioner i driveren
I denne del arbejder vi med konfigurationen af driveren og dens grundlæggende funktioner.
Trin 5: Funktioner - Motor trinindstilling
I dette trin i koden konfigurerer vi mængden af trin pr. Millimeter, som motoren skal udføre.
Trin 6: Funktioner - Indstilling af motortrinstilstand
Denne tabel viser indstillingerne for motortrinstilstanden. Her er nogle eksempler.
Trin 7: Funktioner - Indstilling af grænsekontakter
Her skal jeg læse hele og boolske værdier. Det er nødvendigt at indstille, om den aktive nøgle er op eller ned, mens maks. Og minimumsgrænseindstillingsnål indstilles.
Trin 8: Funktioner - Aflæsning af grænsekontakter
Denne del er forskellig fra den i Lib, som jeg stillede til rådighed i sidste uge. Hvorfor ændrede jeg det? Nå, jeg oprettede eRead for at erstatte nogle andre. Her vil eRead læse LVL, digitalRead (pin) og returnere TRUE. Alt dette skal udføres i højden. Følgende arbejde med den aktive nøgle vil være på det lave niveau. Jeg vil bruge den her til at vise dig "Sandhedstabellen".
I billedets kode placerede jeg et diagram, der vil hjælpe med at forstå, at jeg i denne del af kildekoden bevæger mig mod Stigende og endnu ikke har ramt afslutningstasten.
Nu, i dette billede os kode bool DRV8825, viser jeg motoren stadig bevæger sig i den voksende retning. Den maksimale grænsekontakt er dog aktiveret. Mekanismen skal altså standse bevægelsen.
Til sidst viser jeg den samme bevægelse, men i den modsatte retning.
Her har du allerede afslutningskontakten aktiveret.
Trin 9: Funktioner - Bevægelsesopsætning
Det vigtigste værktøj ved motionConfig -metoden er at konvertere millimeter i sekundet (en måling, der bruges i CNC -maskiner) til trin, for at møde controlleren af en trinmotor. Det er derfor i denne del, at jeg instantiserer variablerne for at forstå trinene og ikke millimeterne.
Trin 10: Funktioner - Bevægelsesfunktion
I dette trin behandler vi kommandoen, der bevæger et trin i den ønskede retning i en periode i mikrosekunder. Vi indstiller også førerens retningspind, forsinkelsestid og retning for grænseomskiftere.
Trin 11: Funktioner - Bevægelsesfunktion - Variabler
I denne del konfigurerer vi alle de variabler, der involverer perioder med maksimal og minimumshastighed, banens afstand og trin, der er nødvendige for at afbryde banen, blandt andre.
Trin 12: Funktioner - Bevægelsesfunktion - Acceleration
Her præsenterer jeg nogle detaljer om, hvordan vi nåede frem til accelerationsdataene, som blev beregnet gennem Torricellis ligning, da dette tager højde for mellemrummene til at arbejde accelerationen og ikke tiden. Men det er vigtigt her at forstå, at hele denne ligning kun handler om kun en kodelinje.
Vi identificerede en trapez i billedet ovenfor, fordi de indledende omdrejningstal er dårlige for de fleste steppermotorer. Det samme sker med decelerationen. På grund af dette visualiserer vi et trapez i perioden mellem acceleration og deceleration.
Trin 13: Funktioner - Bevægelsesfunktion - Kontinuerlig hastighed
Her beholder vi antallet af trin, der bruges i accelerationen, vi fortsætter i kontinuerlig hastighed og holder med den maksimale hastighed, som kan ses på billedet herunder.
Trin 14: Funktioner - Bevægelsesfunktion - Deceleration
Her har vi en anden ligning, denne gang med en negativ accelerationsværdi. Det vises også i en kodelinje, som på billedet herunder repræsenterer rektanglet mærket Deceleration.
Trin 15: Funktioner - Bevægelsesfunktion - Kontinuerlig hastighed
Vi vender tilbage til kontinuerlig hastighed for at arbejde med anden halvdel af banen, som det ses nedenfor.
Trin 16: Funktioner - Flytfunktion - Flyt drejer
I denne del flytter vi motoren i et bestemt antal omdrejninger i den ønskede retning, og konverterer antallet af omdrejninger i millimeter. Endelig flytter vi motoren i den ønskede retning.
Trin 17: Motion Chart - Position Velocity
I denne graf har jeg data, der blev ekstraheret fra ligningen, som vi brugte i delen af Acceleration. Jeg tog værdierne og spillede på Arduino -serien, og jeg gik fra dette til Excel, hvilket resulterede i denne tabel. Denne tabel viser trinets fremskridt.
Trin 18: Motion Chart - Position vs. Position
Her tager vi positionen i trin og hastigheden og konverterer den til periode i mikrosekund. Vi bemærker i dette trin, at perioden er omvendt proportional med hastighed.
Trin 19: Motion Chart - Velocity vs. Øjeblik
Endelig har vi hastigheden som funktion af øjeblikket, og på grund af dette har vi en lige linje, da det er hastigheden som funktion af tiden.
Anbefalede:
MIDI-styret trinmotor med en chip til direkte digital syntese (DDS): 3 trin
MIDI-styret Stepper Motor Med en Direct Digital Synthesis (DDS) Chip: Har du nogensinde haft en dårlig idé om, at du BARE skulle blive til et mini-projekt? Nå, jeg legede med en sketch jeg havde lavet til Arduino Due med det formål at lave musik med et AD9833 Direct Digital Synthesis (DDS) modul … og på et tidspunkt tænkte jeg & q
Trinmotor med Arduino UNO: 3 trin
Stepmotor med Arduino UNO: Steppermotorer er DC -motorer, der bevæger sig i diskrete trin. De har flere spoler, der er organiseret i grupper kaldet " faser ". Ved at aktivere hver fase i rækkefølge vil motoren rotere, et trin ad gangen. Trinmotorer er meget nyttige
Sådan bruges trinmotor som roterende encoder og OLED -display til trin: 6 trin
Sådan bruges trinmotor som roterende encoder og OLED -skærm til trin: I denne vejledning lærer vi, hvordan du sporer trinmotortrinene på OLED -skærmen. Se en demonstrationsvideo. Kredit for den originale vejledning går til youtube -bruger " sky4fly "
Valg af trinmotor og driver til et Arduino Automated Shade Screen Project: 12 trin (med billeder)
Valg af en trinmotor og driver til et Arduino Automated Shade Screen Project: I denne Instructable vil jeg gennemgå de trin, jeg tog for at vælge en Step Motor og Driver til et prototype Automated Shade Screen -projekt. Skærmskærmene er de populære og billige Coolaroo håndsvingede modeller, og jeg ville udskifte t
Vinklet positionskontrol af 28BYJ-48 trinmotor med Arduino og analogt joystick: 3 trin
Vinklet positionskontrol af 28BYJ-48 trinmotor med Arduino & analog joystick: Dette er en kontrolordning for 28BYJ-48 steppermotor, som jeg har udviklet til at bruge som en del af mit sidste års afhandlingsprojekt. Jeg har ikke set dette gjort før, så tænkte at jeg ville uploade det, jeg opdagede. Forhåbentlig vil dette hjælpe en anden