Indholdsfortegnelse:
- Trin 1: Deleliste
- Trin 2: Hoveddelene
- Trin 3: Få det til at køre
- Trin 4: Hastighedskontrol
- Trin 5: Start / stop
- Trin 6: Retningskontrol
- Trin 7: Konklusioner
Video: Kørsel af en trinmotor uden en mikrokontroller .: 7 trin
2024 Forfatter: John Day | [email protected]. Sidst ændret: 2024-01-30 08:28
I denne instruktionsbog vil jeg køre en 28-BYJ-48 trinmotor med et UNL2003 darlington array-kort, undertiden navngivet x113647, uden en mikrocontroller.
Det vil have start/stop, frem/tilbage og hastighedskontrol.
Motoren er en unipolar trinmotor med 2048 trin pr. Omdrejningstal i fuldtrinnstilstand. Databladet til motoren findes på
De to enheder kan købes sammen fra flere leverandører. Jeg fik min fra kjell.com
Bing det eller google det for at finde en forhandler i nærheden af dig.
Jeg vil først gennemgå nogle trin og dele, der er nødvendige for at få det til at køre, og derefter tilføje nogle trin og dele for lidt mere kontrol.
Du skal advares om, at de dele, jeg bruger, er dem, jeg tilfældigvis har i min skatkiste, og ikke nødvendigvis de dele, der er bedst egnet til formålet.
Du skal også advares om, at dette er min første instruerbare, og at jeg er ret ny inden for elektronik.
Tilføj venligst kommentarer, hvis du synes, jeg har gjort noget, som jeg ikke burde, eller hvis du har forslag til forbedringer eller forslag til bedre egnede dele.
Trin 1: Deleliste
De dele, der bruges til dette projekt, er
- Brødbræt
- Stepmotor 28byj-48
- Darlington transistor array ULN2003 board (x113647)
- 74HC595 skifteregister
- 74HC393 binær krusningstæller
- DS1809-100 Dallastat digitalt potentiometer
- 74HC241 oktalbuffer
- 3 × taktile knapper
- 3 × 10kΩ modstande
- 2 × 0,1µF keramiske kondensatorer
- 1 × 0,01 µF keramisk kondensator
- Tilslutningskabler
- 5V strømforsyning
Trin 2: Hoveddelene
Skiftregisteret 74HC595
Motoren flyttes ved gentagne gange at give de fire indgangsstifter på UNL2003 -kortet denne sekvens:
1100-0110-0011-1001
Dette vil køre motoren i det, der kaldes fuld trinstilstand. Mønsteret 1100 flyttes gentagne gange til højre. Dette tyder på et skiftregister. Den måde, hvorpå et skiftregister fungerer, er ved hver urcyklus, bitene i registret skifter et sted til højre og erstatter den bit længst til venstre med værdien af indgangsstiften på det tidspunkt. Derfor skal den fodres med to urcykler på 1 og derefter to urcykler på 0 for at generere mønsteret til dykning af motoren.
For at generere urets signaler er der brug for en oscillator, der genererer en jævn række pulser, fortrinsvis en ren firkantbølge. Dette vil danne grundlaget for skiftende patten af signaler til motoren.
For at generere "to cyklusser af en og derefter to cyklusser med 0" bruges flip-flops.
Jeg har et 74HC595 skiftregister. Dette er en meget populær chip, der er beskrevet i talrige Instructables og Youtube -videoer.
Databladet kan findes på
En god instruerbar er 74HC595-Shift-Register-Demistified af bweaver6, 74HC595 -skiftregistret fungerer, så dataene i dets 8 -bit -register ved hver urcyklus forskydes til højre, og værdien af input -stiften forskydes i positionen længst til venstre. Derfor skal den fodres med to urcykler på 1 og derefter to urcykler på 0.
Dataene forskydes ved den stigende kant af urpulsen. Henc flip-flop'en skal skifte ved den faldende kant af uret, så 74HC595 vil have stabil dataindgang ved den stigende urkant.
74HC595 in kan forbindes således:
Pin 8 (GND) -> GND
Pin 16 (VCC) -> 5V Pin 14 (SER) -> Data i Pin 12 (RCLK) -> Clock input Pin 11 (SRCLK) -> Clock input Pin 13 (OE) -> GND Pin 10 (SRCRL) -> 5V Pins 15 og 1-3 udsender mønsteret til at drive motoren.
Tilslutning af RCLK og SRCLK sikrer, at chipdataregistret altid er synkroniseret med outputregistret. Ved at sætte pin 13 til jorden gør indholdet af outputregistret umiddelbart synligt for output pins (Q0 - Q7).
555 timeren
For at generere urpulsen kan 555 timer -chippen bruges. Dette er også en meget populær chip, og er endnu mere beskrevet og diskuteret end skiftregistret. Wikipedia har en god artikel på
Databladet er her:
Denne chip kan blandt andet generere firkantbølgeurpuls. Eksterne modstande og kondensatorer bruges til at styre frekvensen og driftscyklussen (on-fraction).
Når den er indstillet til gentagne gange at generere impulser, siges 555 -chippen at være i en ustabil tilstand. Dette gøres ved at tilslutte det som på billedet ovenfor. (billede af jjbeard [Public domain], via Wikimedia Commons):
Pin 1 -> GND
Pin 2 -> R1 (10kΩ) -> Pin 7 Pin 2 -> Pin 6 Pin 3 er output Pin 4 (reset) -> 5V Pin 5 -> 0.01µF -> GND Pin 6 -> 0.1µF -> GND Pin 7 -> R2 (10kΩ) -> 5V Pin 8 -> 5V
Output fra Pin 3 vil blive forbundet til input clock pins (Pin 11 og Pin 12) i 74HC595 skiftregistret.
Udgangssignalets frekvens (og dermed trinmotorens hastighed) bestemmes af værdierne af modstanden R1 og R2 og værdien af kondensatoren C.
Cyklustiden T vil være ln (2) C (R1 + 2 R2) eller cirka 0,7 C (R1 + 2 R2). Frekvensen er 1/T.
Driftscyklussen, den brøkdel af cyklustiden, som signalet er højt, er (R1 + R2) / (R1 + 2R2). Driftscyklussen er ikke særlig vigtig for dette projekt.
Jeg bruger 10kΩ til både R1 og R2 og C = 0,1µF.
Dette giver en frekvens på omkring 480Hz og er tæt på den maksimale frekvens, jeg fandt ud af, at trinmotoren kan klare uden at gå i stå.
For at generere det 1100 skiftede, gentagne mønster fra 74HC595 skal pin 14 (SER) holdes høj i to urcykler og derefter lavt i to urcyklusser gentagne gange. Det vil sige, at stiften skal svinge med halvdelen af urets frekvens.
74HC393 dobbelt binær krusningstæller
74HC393 tæller i binær, og det betyder også, at det kan bruges til at dividere pulsfrekvenser med to -magt, Databladet er her:
74HC393 er dobbelt, den har en 4 bit tæller på hver side.
Ved den faldende kant af urpulsen skifter den første udgangsstift til og fra. Derfor vil output pin one oscillere med halvdelen af inputurets frekvens. Ved den faldende kant af output pin one, output output to skifter til og fra. Og så videre for alle de fire output pins. Når pin n slukkes, skifter pin n+1.
Pin n+1 ændrer sig halvt så ofte som pin n. Dette er binær tælling. Tælleren kan tælle til 15 (alle fire bits 1), før den starter på nul igen. Hvis tæller 1's sidste udgangsstift er forbundet som et ur til tæller 2, kan det tælle til 255 (8 bit).
For at oprette en puls med halvdelen af inputurets frekvens er det kun nødvendigt med udgangsstik 1. Det vil sige kun at tælle fra nul til en.
Så hvis tællingen udføres af urpulsen fra 555, vil stiften på 74HC393 -tælleren, der repræsenterer bit 2, svinge med halvdelen af urets frekvens. Derfor kan dette tilsluttes SER -stiften i 74HC595 -skiftregistret for at få dette til at generere det ønskede mønster.
Ledningerne til den binære 74HC393 -tæller skal være:
Pin 1 (1CLK) -> 74HC595 Pin 11, 12 og 555 Pin 3
Pin 2 (1CLR) -> GND Pin 4 (1QB) -> 74HC595 Pin 14 Pin 7 (GND) -> GND Pin 14 (VCC) -> 5V Pin 13 (2CLK) -> GND (ikke brugt) Pin 12 (2CLR) -> 5V (ikke brugt)
Trin 3: Få det til at køre
Vi kan nu få motoren til at køre, hvis benene 0-3 på 74HC595 er forbundet til henholdsvis stifterne 1-4 på ULN2003-kortet.
For nu skal du udskifte 0,1 µF kondensatoren ved pin 6 i 555 timeren med en 10 µF. Dette vil gøre urets cyklus hundrede gange længere, og man vil kunne se, hvad der foregår.
LED'erne på ULN2003 -kortene kan bruges til dette. Tag motoren ud af ULN2003 -kortet. Tilslut stifterne 1 til 4 på kortet til output QA-QD (ben 7, 9, 10 og 11) på 74HC595. Tilslut - og + på ULN2003 -kortet til jorden og 5V. Hvis strømmen er tændt, skal du se det ønskede mønster på lysdioderne.
Hvis du vil se, hvad der foregår i den 74HC393 binære tæller, skal du slutte til stifterne 3-6 på den i stedet.
Hvis mønsteret ser rigtigt ud, skal du slukke for batteriet, udskifte kondensatoren med 0,1µF igen, tilslut input -ben 1 - 4 på ULN2003 -kortet til output -benene QA -QD på 74HC595, og tilslut motoren igen.
Når strømmen er tændt, skal motoren nu køre.
Trin 4: Hastighedskontrol
Trinmotorens hastighed styres af frekvensen af 555 timers output. Dette styres igen af værdierne for modstandene R1 og R2 og kondensatoren C1 forbundet til den. Ved at forbinde et 100kΩ potentiometer i serie med R2 kan frekvensen være mellem 480Hz og 63Hz. Trinene pr. sekund af motoren, vil være halvdelen af 555 timerfrekvensen.
Jeg brugte et DS1809-100 digitalt potentiometer, som er lavet til brug af trykknapper. Trykknapper, der forbinder pin 2 (UC) og Pin 7 (DC) til 5V, får modstanden til at stige/falde mellem terminalerne RH (Pin 1) eller RL (Pin 4) og viskerstiften 6 (RW). Hvis du holder en knap nede i mere end et sekund, bliver knappen automatisk gentaget.
Databladet findes her:
Ledningen er sådan her:
Pin 1 (RH) ubrugt
Pin 2 (UC) -> taktil knap 1 Pin 3 (STR) -> GND Pin 4 (RL) -> 555 Pin 2 Pin 5 -> GND Pin 6 (RW) -> 10kΩ -> 555 pin 7 Pin 7 (DC) -> taktil knap 2 Pin 8 -> 5V
Ledningerne til taktil knap 1:
Pin 1/2 -> DS1809 Pin 2
Pin 3/4 -> 5V
Ledningerne til taktil knap 2:
Pin 1/2 -> DS1809 Pin 7
Pin 3/4 -> 5V
Nu kan hastigheden reguleres.
Trin 5: Start / stop
For at starte og stoppe trinmotoren kan Pin 4 (Reset pin) på 555 timeren bruges. Hvis dette trækkes lavt, vil der ikke være nogen udgangspulser fra Pin 3.
En taktil knap bruges til at skifte start og stop. Hvis du trykker på knappen en gang, skal motoren startes, og ved at trykke på den igen, skal den standses. For at få denne adfærd er der brug for en flip-flop. Men den 74HC393, der allerede er der, kan også bruges. 74HC393 har to dele, og kun den ene halvdel bruges som frekvensdeler for urpulsen.
Da den binære tæller faktisk bare er et sæt skiftende flip-flops i serie, kan den første flip-flop for den anden del bruges. Ved at tilslutte en tastbar knap, så Pin 13 (2CLK) er lav, når der trykkes på knappen, og høj, hvis den ikke er det, skifter Pin 12 på hver low. Tilslutning af pin 12 til pin 4 på 555 starter og stopper dens output og dermed motoren.
Taktile knapper er lidt vanskelige, fordi de er mekaniske. De kan 'hoppe', det vil sige, at de sender flere signaler ved hvert skub. Tilslutning af en 0,1 µF kondensator over knappen hjælper med at undgå dette.
Så en taktil knap (knap 3 tilføjes, og forbindelsen til pin 4 på 555 ændres.
Ledning af knappen:
Pin 1/2 -> 10kΩ -> 5V
Pin 1/2 -> 0.1µF -> Pin Pin 3/4 -> 74HC393 Pin 13 (2CLK)
Følgende ændringer foretages i 555:
Pin 4 (Nulstil) -> 74HC393 Pin 11 (2QA)
Knap 3 skulle nu fungere som start/stop -skifte.
Bemærk, at en motor stoppede på denne måde, stadig vil forbruge strøm.
Trin 6: Retningskontrol
For at styre motorens retning er der brug for en anden trykknap og derefter en anden flip-flop. Jeg vil dog snyde ved at bruge den næste flip-flop på 74HC393, efter tænd/sluk-flip-floppen og tænd/sluk-knappen.
Når retningstappen (Pin 2QA) går lavt, skiftes den næste pin (Pin 2QB). Derfor vil gentagne tryk på trykknappen resultere i OFF - ON FREM - OFF - ON BACKWARDS - OFF - ON FRAM osv.
For at få motoren til at køre baglæns, skal mønsteret, der føres til ULN2003, vendes. Det kan gøres med et tovejs skiftregister, men jeg har ikke et. 74HC595 er ikke tovejs.
Jeg fandt imidlertid ud af, at jeg kunne bruge min 74HC241 -oktalbuffer. Denne buffer har to 4 bit dele, med separate OE (output aktiver) pins. Den første OE -pin styrer de fire første output pins, og den anden de sidste fire output pins. Når OE er på udgangsstifterne har den samme værdi som de tilsvarende indgangsstifter, og når den er slukket, vil udgangsstifterne være i høj impedans -tilstand, som om de ikke var forbundet. Ydermere er den ene af OE -stiften aktiv lav, og den anden er aktiv høj, så når man forbinder dem sammen, vil kun halvdelen af bufferen være aktiv på det tidspunkt.
Så for den samme indgang kan den ene halvdel af bufferen drive motoren fremad, og den anden halvdel bagud. Hvilken halvdel der er aktiv, afhænger af værdien af OE -benene.
Dataarket for 74HC241 findes på
Ledningerne kan være sådan:
Pin 1 (1OE) -> 74HC293 Pin 10 (2QB)
Pin 2 (1A1) -> 74HC595 Pin 15 Pin 3 (1Y4) -> ULN2003 Pin 1 Pin 4 (1A2) -> 74HC595 Pin 1 Pin 5 (1Y3) -> ULN2003 Pin 2 Pin 6 (1A3) -> 74HC595 Pin 2 Pin 7 (1Y2) -> ULN2003 Pin 3 Pin 8 (1A4) -> 74HC595 Pin 3 Pin 9 (1Y1) -> ULN2003 Pin 4 Pin 10 (GND) -> Ground Pin 11 (2A1) -> Pin 2 (1A1) Pin 12 (1Y4) -> Pin 9 (2Y1) Pin 13 (2A2) -> Pin 4 (1A2) Pin 14 (1Y3) -> Pin 7 (2Y2) Pin 15 (2A3) -> Pin 6 (1A3) Pin 16 (1Y2) -> Pin 5 (2Y3) Pin 17 (2A3) -> Pin 8 (1A4) Pin 18 (1Y2) -> Pin 3 (2Y4) Pin 19 (2OE) -> Pin 1 (1OE) Pin 20 (VCC) -> 5V
Nu skal ledningerne afsluttes bare ved at starte op med 5V. Sørg for, at strømforsyningen kan levere nok strøm til at drive både motoren og kredsløbene.
Trin 7: Konklusioner
Trinmotoren kan styres uden mikrokontroller.
IC'erne, der blev brugt her, var nogle, jeg havde fra før. De fleste af dem er ikke optimale til dette, og flere alternativer kan bruges.
- For at generere impulserne er 555 timer -chippen en god chice, men der findes flere alternativer, f.eks. Den, der er beskrevet i denne Instructable.
- Til hastighedsregulering kunne ethvert potentiometer bruges, ikke kun et digitalt. Hvis du har et 10kΩ potentiometer i stedet for et 100kΩ, kan 10kΩ modstandene erstattes af 1KΩ og 0,1 µF kondensatoren med en 1µF kondensator (divider alle modstande og gang kondensatoren med det samme nummer for at beholde timingen).
- Brug af et tovejs skiftregister, f.eks. 74HC194 ville gøre retningskontrol lettere.
- Til knapstyring kunne 74HC393 erstattes af en flip-flop, f.eks. 74HC73. 555 kan også være forbundet til at fungere som en skifte.
Anbefalede:
Steppermotorstyret trinmotor uden mikrokontroller !: 6 trin
Stepper Motor Controlled Stepper Motor Without Microcontroller !: I denne hurtige instruktionsmåde vil vi lave en simpel stepper motor controller ved hjælp af en stepmotor. Dette projekt kræver ikke komplekse kredsløb eller en mikrokontroller. Så uden videre, lad os komme i gang
Stepmotorstyret trinmotor uden mikrokontroller (V2): 9 trin (med billeder)
Steppermotorstyret trinmotor uden mikrokontroller (V2): I en af mine tidligere instruktioner viste jeg dig, hvordan du styrer en steppermotor ved hjælp af en trinmotor uden en mikrokontroller. Det var et hurtigt og sjovt projekt, men det kom med to problemer, som vil blive løst i denne Instructable. Så vid
DIY håndfri desinfektionsdispenser uden kontakt uden en Arduino eller en mikrokontroller: 17 trin (med billeder)
DIY Non Contact Hand Sanitizer Dispenser Uden en Arduino eller en mikrokontroller: Som vi alle ved, ramte COVID-19-udbruddet verden og ændrede vores livsstil. I denne tilstand er alkohol og hånddesinfektionsmidler vitale væsker, men de skal bruges korrekt. Berøring af alkoholbeholdere eller håndsprit med inficerede hænder
Wow !! Kør trinmotor uden driver -- Ny idé 2018: 4 trin (med billeder)
Wow !! Kør trinmotor uden driver || Ny idé 2018: Hej! I denne instruktive vil jeg lære dig, hvordan du kører en trinmotor kontinuerligt ved høj hastighed uden et driverkredsløb eller en arduino- eller vekselstrømforsyning. Også ved at skifte ledninger kan du køre den i begge ur- klogt & mod uret
Naviger robot med skosensorer, Uden GPS, Uden kort: 13 trin (med billeder)
Naviger robot med skosensorer, Uden GPS, Uden kort: Robotten bevæger sig i en forudprogrammeret sti og sender (over bluetooth) sine faktiske bevægelsesoplysninger til en telefon til sporing i realtid. Arduino er forprogrammeret med sti og oblu bruges til at registrere robottens bevægelse. oblu sender bevægelse til