Indholdsfortegnelse:

Tilfældige DC Motor PWM -eksperimenter + Encoder Fejlfinding: 4 trin
Tilfældige DC Motor PWM -eksperimenter + Encoder Fejlfinding: 4 trin

Video: Tilfældige DC Motor PWM -eksperimenter + Encoder Fejlfinding: 4 trin

Video: Tilfældige DC Motor PWM -eksperimenter + Encoder Fejlfinding: 4 trin
Video: PS3 #2: Ressurecting the impossable! | EPIC rollercoaster repair that nearly broke me. 2024, November
Anonim
Tilfældige DC Motor PWM -eksperimenter + Encoder -fejlfinding
Tilfældige DC Motor PWM -eksperimenter + Encoder -fejlfinding

Der er ofte tidspunkter, hvor en persons skrald er en andens skat, og dette var et af de øjeblikke for mig.

Hvis du har fulgt mig, ved du sikkert, at jeg tog et kæmpe projekt med at lave min egen 3D -printer CNC ud af skrot. Disse stykker blev fremstillet af gamle printerdele og forskellige trinmotorer.

Denne printervogn kom fra en Texas Instruments dot matrix printer fra 1980'erne. Desværre kan jeg ikke huske, hvad modellen var, men jeg har motornummeret, 994206-0001. Denne DC -motor er også udstyret med en encoder, hvilket ville være nyttigt at bruge til moderne applikationer. I min hast med at gendanne denne samling, fjernede jeg den kun og tog et billede af, hvor den var forbundet.

I denne Instructable vil jeg forsøge at se, om motoren og encoderen rent faktisk fungerer, og hvad pin-outs er til.

Tilbehør:

DC -motor med Encoder

Arduino UNO, NANO

L298N H-bro

DC Buck -konverter

Strømforsyning, der er i stand til at forbinde den eller de associerede spændinger (en gammel PC ATX kan være en levedygtig mulighed)

Kabler

PC med arduino IDE

Multimeter

Notesbog!!

Trin 1: Et hurtigt kig på forsamlingen

Et hurtigt kig på forsamlingen
Et hurtigt kig på forsamlingen
Et hurtigt kig på forsamlingen
Et hurtigt kig på forsamlingen
Et hurtigt kig på forsamlingen
Et hurtigt kig på forsamlingen

Billede 1 viser vognens hovedhalvdel. Den var udstyret med samlingen, motoren med indkoderen og sporene til den gamle dotmatrix-papirindføring. Jeg fjernede sporene og en del af bundenheden. Det nederste stykke, jeg fjernede, var stålstøttestangen, som faktisk var ret tung (de ser ikke ud til at gøre dem sådan i dag).

Billede to viser, hvor J8 (encoder -stikket) og og J6 (motorstikket) blev fjernet fra kontrolkortet. Jeg tog et billede af det til skolen selv på sporene og IC'erne fra "bundkortet".

På billederne 3 & 4 kan du se henholdsvis motor- og encoder -stik.

Efter at have kortlagt sporene på encoderen og gengivet skematikken, var jeg i stand til at producere mit eget diagram, som jeg kunne have let tilgængeligt. Encoder pin out var den vigtigste ting for mig at bestemme og er fokus for denne instruerbare til fejlfinding. Vi vil se dette i det næste afsnit.

Trin 2: Forstå koderen Pin-out

Forstå Encoder Pin-out
Forstå Encoder Pin-out
Forstå Encoder Pin-out
Forstå Encoder Pin-out
Forstå koderen Pin-out
Forstå koderen Pin-out

Nu skal jeg finde ud af, hvad pin-out’en er på encoderen. Jeg markerede vilkårligt pins 1 til 8, og jeg beskriver dem på det sidste billede. Hvad jeg antager, fra at se på kontrolkortet og sporene på selve encoderen, er, at pin 1 & 6 er jordet og 5 er Vcc (power, 5V). Forbindelsen til 2 er afbrudt, så det er ubrugeligt, og 3, 4, 7 og 8 er udgangene for diodereguleringen. ADVARSEL: Jeg laver en fed antagelse med min test! Jeg tilsluttede jord til jord på min strømkilde, men derefter sluttede jeg 5 V direkte til encoderen. Fra og med denne høje spænding kan muligvis ødelægge din encoder, hvis du ikke ved, hvad spændingen er, den har brug for (som hvordan jeg ikke vidste det). Så du vil måske starte med en lavere spænding som 3,3 V. Efter at have tilsluttet min 5 V strømkilde til encoder pin 5 og jordet til pin 1, sætter jeg min multimeter jord til pin 1 og pin 5 for at sikre, at strømmen er til stede, pic 2. Derefter begynder jeg at teste pin 3, hvilket er det, jeg antog var en af fotodioderne, billeder 3-5. Som du kan se spændingscyklusser fra tæt på 0 V til tæt på 5 V, mens jeg drejer motorakslen. Det var et godt tegn på at bevise, at min hypotese var korrekt! Jeg gjorde det samme for stifter 4, 7 og 8, og fik de samme resultater. Så nu har jeg bestemt, hvad output -benene er til min encoder.

Du kan gøre det samme med enhver optisk sensor, du trækker fra en printer, som du muligvis redder dele fra, da de fleste ikke leveres med 8-bens stik. For moderne hjemmeprintere ser de ud til at være 3 eller 4-bens typer. HomoFaciens har en fantastisk YouTube -video om, hvordan man bestemmer en ukendt pin til optiske sensorer.

Trin 3: Enkel Arduino -skitse til at flytte motoren tilbage og fremad

Enkel Arduino -skitse til at flytte motoren frem og tilbage
Enkel Arduino -skitse til at flytte motoren frem og tilbage
Enkel Arduino -skitse til at flytte motoren frem og tilbage
Enkel Arduino -skitse til at flytte motoren frem og tilbage
Enkel Arduino -skitse til at flytte motoren frem og tilbage
Enkel Arduino -skitse til at flytte motoren frem og tilbage

Nu hvor jeg har data til motorkoderen, er det tid til at se, hvordan selve motoren vil køre. For at gøre dette skrev jeg en meget grundlæggende skitse til Arduino, billederne 3 - 5. Jeg definerer mit input til Pulse Width Modulation fra L298N som 'enB'. Til ben 3 og 4 satte jeg den op, så motoren kunne skifte retning efter behov. Dette vil

A. Tænd motoren

B. Bevæg dig i en retning i 2 sekunder

C. Skift retning i 2 sekunder, og

D. Gentag

Jeg vil bare teste opsætningen og funktionaliteten, og dette viste sig at være en succes (efter at have ændret pulsen fra 50 til 100, se billede ovenfor).

Næste skitse øger accelerationen, billeder 6 - 8. Jeg starter PWM fra 100 (som bestemt fra det første skitsekørsel) og accelererer til 255. Dette vil

A. Fremskynd stift 3 (CW -retning) fra 100 til 255 på PWM i 0,1 sekund

B. Bremse fra 255 til 100 i 0,1 sekund

C. Skift retning, pin 4 (CCW)

D. Accelerere/decelerere, samme som pin 3

E. Gentag

Denne proces er (slags) set på det sidste billede, men referer til videoen for en bedre visuel.

Disse grundlæggende skitser kan også tilpasses din jævnstrømsmotor. Jeg tror, at mange mennesker bruger denne type skitse til at styre robotter eller en anden form for rullende apparater. Jeg ville bare kontrollere driften og få en bedre forståelse for mig selv om, hvorvidt denne motor vil køre.

Trin 4: Endelige tanker (for nu)

Det er her, jeg vil sige, fase 1, er fuldført.

Jeg ved, at encoderen fungerer, og motoren kører med PWM på Arduino.

Næste ting for min ultimative applikation ville være at:

1. Bestem puls pr. Omdrejning (PPR) for encoderen for dens A & B -sti, Top & Bottom. Jeg er sikker på, at der er en skitse et sted, hvor jeg kunne køre min PWM sammen med en tæller til encoderpulser, CW & CCW, men jeg har endnu ikke fundet en. (Eventuelle kommentarer om, hvor man finder en Arduino -skitse, vil blive værdsat meget!)

2. Bestem, hvordan denne DC -motor/Encoder skal betjenes på GRBL og uundgåeligt kalibrere akserne. (Igen, bedes du kommentere, hvis du ved noget sted) Jeg vil gerne gøre dette med en bærbar Microsoft -computer. Jeg har fundet nogle ved hjælp af Linux, men det hjælper mig ikke.

3. Design maskinen til at fungere som en del af en hel CNC.

Eventuelle tanker om dette mål anbefales bestemt, hvis du gerne vil efterlade dem i kommentarfeltet. Tak fordi du kiggede, og jeg håber, at dette hjælper/inspirerer nogen.

Anbefalede: