Innholdsfortegnelse:

Legg til en Arduino-basert optisk turteller til en CNC-ruter: 34 trinn (med bilder)
Legg til en Arduino-basert optisk turteller til en CNC-ruter: 34 trinn (med bilder)

Video: Legg til en Arduino-basert optisk turteller til en CNC-ruter: 34 trinn (med bilder)

Video: Legg til en Arduino-basert optisk turteller til en CNC-ruter: 34 trinn (med bilder)
Video: BTT GTR v1.0/M5 v1.0 - Basics 2024, November
Anonim
Image
Image
Legg til en Arduino-basert optisk turteller til en CNC-ruter
Legg til en Arduino-basert optisk turteller til en CNC-ruter

Bygg en optisk turtallsindikator for din CNC -ruter med en Arduino Nano, en IR LED/IR fotodiodesensor og en OLED -skjerm for mindre enn $ 30. Jeg ble inspirert av eletro18's Measure RPM - Optical Tachometer Instructable og ønsket å legge til et turteller til CNC -ruteren min. Jeg forenklet sensorkretsen, designet en tilpasset 3D-trykt brakett for min Sienci CNC-ruter. Så skrev jeg en Arduino -skisse for å vise både en digital og analog urskive på en OLED -skjerm

Noen få enkle deler og et par timer av tiden din, og du kan legge til en digital og analog RPM -skjerm til CNC -ruteren.

Her er delelisten tilgjengelig for 2-dagers forsendelse. Du kan sannsynligvis kjøpe delene for mindre hvis du er villig til å vente lenger.

Deleliste

$ 6,99 Arduino Nano

$ 5,99 IR LED/IR fotodiode (5 par)

$ 7,99 OLED -skjerm 0,96 gul/blå I2C

$ 4,99 Stikkledere

$ 1,00 30 tommer (75 cm) 3-lederstrenget ledning. Kan kjøpes fra din lokale hjemmebutikk (Home Depot, Lowes) i delen kjøp-til-fot

$ 0,05 220 ohm motstand ($ 6,99 hvis du vil ha 750 forskjellige motstander)

$ 0,50 Varmekrympeslange ($ 5,99 hvis du vil ha et komplett utvalg)

3D -trykte parenteser

Arduino IDE (gratis)

Merk: Jeg la først til en.01μF kondensator etter at jeg hadde sikret alle ledningene og merket noen uberegnelige turtallsverdier når CNC -en beveget seg. Kondensatoren fungerte fint for lavere turtall <20K, men det glattet ut signalet for mye for noe høyere. Jeg sporet støyen for å drive Nano og vise direkte fra CNC -skjoldet. En separat forsyning fungerer for alle RPM. Jeg forlot trinnene for nå, men du bør bruke en egen USB -strømkilde.

Trinn 1: Skriv ut 3D -braketten

Skriv ut 3D -braketten
Skriv ut 3D -braketten

Skriv ut 3D -braketten for å holde IR -LED og IR -fotodioder. 3D -filene er her og på Thingiverse.

www.thingiverse.com/thing:2765271

For Sienci Mill brukes vinkelfeste for å montere sensoren på vinkelstengene i aluminium, men det flate feste kan være bedre for prosjektet ditt.

Trinn 2: Alternativt 3D -utskrift av OLED -skjermholderen og elektronisk kabinett

Du kan også 3D -skrive ut OLED -skjermholderen og elektronisk kabinett
Du kan også 3D -skrive ut OLED -skjermholderen og elektronisk kabinett

Jeg velger å feste OLED -en til en vinklet skjermholder som jeg skrudde på toppen av et Sienci Electronics -kabinett.

Her er koblingene til 3D -trykte deler som jeg brukte.

Sienci elektronikkskap 3D -del

0,96 OLED skjermmonteringsbrakett

Kapslingen var et fint sted å montere OLED -skjermbraketten, og den holder Arduino Nano pent, pluss at den passer på baksiden av Sienci Mill. Jeg boret et par hull på toppen av kabinettet for å feste OLED -braketten.

Jeg har også boret et par hull i bunnen for å løpe et lite glidelås for å feste ledningsnettet

Trinn 3: Bygg IR -sensortrådsenheten

Bygg IR -sensorledningen
Bygg IR -sensorledningen

Den 3-leder ledningen vil bli brukt til å koble sensoren. En ledning vil være et felles grunnlag for både IR -LED og IR -fotodiode, hvor hver av de to andre går til sin respektive komponent.

Trinn 4: Legg til en strømbegrensende motstand for IR -LED -en

Legg til en strømbegrensende motstand for IR -LED -en
Legg til en strømbegrensende motstand for IR -LED -en

IR -LED krever en strømbegrensende motstand. Den enkleste måten er å innlemme motstanden i ledningsenheten.

Bøy tipsene til hver av dem til en U-form og lås dem sammen. Crimp med en tang og lodd dem deretter sammen.

Trinn 5: Splice Jumper Wires

Splice Jumper Wires
Splice Jumper Wires
Splice Jumper Wires
Splice Jumper Wires

Du kan spleise jumperkabler for å koble dem til Arduino toppstifter.

Skjær et stykke varmekrympeslange og skyv det over ledningen før du kobler dem til.

Skyv varmekrympeslangen tilbake over tilkoblingen (eller hele motstanden) og krymp slangen ved å bruke en varmepistol eller kjør en flamme raskt over røret til den krymper. Hvis du bruker en flamme, må du holde den i bevegelse raskt, eller den kan begynne å smelte.

Trinn 6: Bestem IR -LED og fotodiodeledninger

Bestem IR -LED og fotodiodeledninger
Bestem IR -LED og fotodiodeledninger

Både IR -LED og IR -fotodiode ser like ut, hver med en lang (anode eller positiv) ledning og en kort (katode eller negativ) ledning.

Trinn 7: Sett inn dioder i holderen

Sett inn dioder i holderen
Sett inn dioder i holderen

Ta IR -LED (klar diode) og sett den inn i et av LED -holderens hull. Roter LED slik at den lange ledningen er på utsiden. På bildet kan du se den klare LED -en i det øverste hullet med sin lange ledning helt øverst.

Ta IR -fotodioden (mørk diode) og sett den inn i det andre hullet. Roter fotodioden slik at den lange ledningen er i midten.

Som vist på bildet, vil både LEDens korte ledning og fotodiodens lange ledning være i midten. Disse to ledningene blir spleiset til en vanlig ledning tilbake til arduinoen. (Se de tekniske notatene til slutt hvis du vil ha flere detaljer)

Ta et lite stykke 1,75 filament og sett det bak diodene. Dette vil låse diodene på plass og forhindre at de roterer eller kommer ut.

Jeg gikk gjennom flere iterasjoner av design før jeg slo meg ned på denne. Å få dioder til å stikke ut litt forbedret toleransen sterkt når du justerte den med spennmutteren.

Trinn 8: Smelt låsetråden til holderen

Sikre låsetråden til holderen
Sikre låsetråden til holderen

Du vil trimme låsestykket til bare litt lengre enn bredden på holderen.

Varm en spiker i noen sekunder i skruestaven eller hold den med en tang.

Trinn 9: Trykk på filamentendene mot det oppvarmede spikerhodet

Trykk på filamentendene mot det oppvarmede spikerhodet
Trykk på filamentendene mot det oppvarmede spikerhodet

Hold fingeren på motsatt ende av filamentet og trykk for å smelte og smelte låsepinnen i holderen.

Trinn 10: Ferdig diodeholder

Ferdig diodeholder
Ferdig diodeholder

Skyllende og ryddig

Trinn 11: Fest ledningsnettet til dioder

Fest ledningsnettet til dioder
Fest ledningsnettet til dioder
Fest ledningsnettet til dioder
Fest ledningsnettet til dioder

Trim ledningen til lengden for søknaden din. For Sienci Mill trenger du omtrent 75 tommer totalt (wire + jumpers) og har slakk for at ruteren skal bevege seg.

Bøy ledningen og blyspissene til en U-form for å låse dem sammen og gjøre lodding enklere.

Ta noen tynne varmekrympeslanger og trim to korte stykker og to litt lengre biter. Sett de kortere brikkene over de utvendige diodeledningene. Legg de lengre brikkene over de to midtledningene.

Å ha to forskjellige lengder oppveier spleiseleddene og forskyver de tykkere leddene fra hverandre slik at diameteren på ledningene reduseres. Det forhindrer også shorts mellom de forskjellige trådskjøtene

Klipp tre stykker varmekrympeslanger med litt større diameter og legg dem over hver av de tre ledningene i ledningsnettet.

Det er viktig å sørge for at det er et lite mellomrom mellom endene på varmekrympeslangen på ledningene og skjøtepunktet. Ledningene blir varme, og hvis varmekrympeslangen er for nær, begynner de å krympe på slutten, noe som potensielt gjør dem for små til å gli over skjøten.

Trinn 12: Sørg for at ledningen med motstanden er festet til den lange ledningen til IR -LED -en

Strømbegrensningsmotstanden (220 ohm) innebygd i ledningsnettet må kobles til den lange (anode) ledningen til den klare IR -LED -en. Ledningen som forbinder de to vanlige ledningene blir koblet til jord, så det kan være lurt å bruke en svart eller blank ledning for den tilkoblingen.

Lodd tilkoblingene for å gjøre dem permanente.

Trinn 13: Krymp varmekrympeslangen

Krymp varmekrympeslangen
Krymp varmekrympeslangen

Etter at leddene er loddet, bruk en fyrstikk eller en lighter for å krympe slangen på diodeledningene først. Før først varmekrympeslangen på ledningene så langt unna varmen som mulig.

La flammen bevege seg raskt mens den krymper og roterer for å få alle sider likt. Ikke henge eller slangen vil smelte i stedet for å krympe.

Etter at diodeledningene er krympet, skyver du det litt større varmekrympeslangen fra ledningene, over leddene og gjentar krympingen.

Trinn 14: Forbered monteringsblokken

Forbered monteringsblokken
Forbered monteringsblokken

Avhengig av applikasjonen din, velg monteringsblokken som passer til din applikasjon. For siden Mill, velg vinkelmonteringsblokken.

Ta en M2 -mutter og en M2 -skrue. Skru mutteren så vidt på enden av skruen.

Snu monteringsblokken og testpass M2 -mutteren i hullet.

Fjern og varm mutteren litt med en fyrstikk eller flamme, og sett den deretter raskt inn på baksiden av festeblokken.

Skru ut skruen, og la mutteren stå i plastmonteringsblokken. For litt ekstra styrke, påfør en dråpe superlim på kanten av mutteren for å feste mutteren på blokken.

Trinn 15: Kontroller at M2 -skruen er riktig lengde

Sørg for at M2 -skruen er riktig lengde
Sørg for at M2 -skruen er riktig lengde

Pass på at skruen ikke er for lang, eller at sensoren ikke strammer mot monteringsblokken. For vinkelmonteringsblokken må du kontrollere at M2 -skruen er 9 mm eller litt kortere.

Trinn 16: Fest monteringsblokken til CNC -ruteren

Fest monteringsblokken til CNC -ruteren
Fest monteringsblokken til CNC -ruteren

For Sienci Mill, fest vinkelmonteringsblokken til bunnen av innsiden av Z -skinnen med et par dråper superlim.

Trinn 17: Fest sensoren til monteringsblokken

Fest sensoren til monteringsblokken
Fest sensoren til monteringsblokken

Plasser den justerbare armen i monteringsblokken

Sett M2 -skruen med en skive gjennom sporet i den justerbare monteringsarmen og skru den inn i mutteren.

Skyv den justerbare armen til lysdioden og fotodiodene er jevne med ruterhylsemutteren

Trekk til skruen

Trinn 18: Legg reflekterende tape på den ene siden av hylsemutteren

Legg reflekterende tape på den ene siden av spenningsmutteren
Legg reflekterende tape på den ene siden av spenningsmutteren

Bruk en liten stripe aluminiumstape (brukt til ovnskanaler) og fest den til den ene fasetten av spenningsmutteren. Dette reflekterende båndet lar den optiske IR -sensoren fange opp en enkelt omdreining av spindelen.

Trinn 19: Sørg for at refleksbåndet ikke går over kanten til tilstøtende fasetter

Sørg for at refleksbåndet ikke går over kanten til tilstøtende fasetter
Sørg for at refleksbåndet ikke går over kanten til tilstøtende fasetter

Tapen må bare være på den ene siden av spennmutteren. Tapen er tynn og lett nok til at den ikke forstyrrer skiftenøkkelen for å bytte endefres eller påvirke spindelbalansen.

Trinn 20: Kjør sensortråden langs innsiden av Z -skinnen

Kjør sensortråden langs innsiden av Z -skinnen
Kjør sensortråden langs innsiden av Z -skinnen

Fest strengen på innsiden av Z -skinnen ved å bruke strimler av aluminiumstape. Det er best å kjøre båndet nær kanten av vinkelskinnen for å fjerne ledermutteren.

Trinn 21: Fest sensoren til Arduino Nano

Fest sensoren til Arduino Nano
Fest sensoren til Arduino Nano

Koble ledningene til Arduino som følger:

  • IR LED (med integrert motstand) -> Pin D3
  • IR fotodiode -> Pin D2
  • Felles ledning -> Pin GND

Trinn 22: Fest jumperledninger til OLED -skjermen

Fest jumperkabler til OLED -skjermen
Fest jumperkabler til OLED -skjermen

Trekk av et 4-leder sett med hoppekabler

Koble ledningene til de 4 pinnene for I2C -grensesnittet:

  • VCC
  • GND
  • SCL
  • SDA

Trinn 23: Fest OLED -skjermen til Arduino

Fest OLED -skjermen til Arduino
Fest OLED -skjermen til Arduino
Fest OLED -skjermen til Arduino
Fest OLED -skjermen til Arduino

Fest hoppetrådene til de følgende pinnene. Merk: Disse ledningene fester ikke alle til tilstøtende pinner, og heller ikke i samme rekkefølge.

  • VCC -> Pin 5V
  • GND -> Pin GND
  • SCL -> Pin A5
  • SDA -> Pin A4

Trinn 24: Fest OLED -skjermen til holderen

Fest OLED -skjermen til holderen
Fest OLED -skjermen til holderen

Fest brakettene du skrev ut tidligere, og fest OLED -skjermen til holderen

Fest deretter skjermen til CNC -rammen.

Trinn 25: Forbered Arduino IDE for lasting av Arduino -skissen

Forbered Arduino IDE for lasting av Arduino -skissen
Forbered Arduino IDE for lasting av Arduino -skissen

Et program for en Arduino kalles en skisse. Integrated Development Environment (IDE) for Arduinos er gratis og må brukes til å laste inn programmet for å oppdage sensoren og vise RPM.

Hvis du ikke allerede har det, her er en lenke for å laste ned Arduino IDE. Velg den nedlastbare versjonen 1.8.5 eller nyere.

Trinn 26: Legg til de nødvendige OLED -bibliotekene

Legg til de nødvendige OLED -bibliotekene
Legg til de nødvendige OLED -bibliotekene

For å kjøre OLED-skjermen trenger du et par ekstra biblioteker, Adafruit_SSD1306-biblioteket og Adafruit-GFX-biblioteket. Begge bibliotekene er gratis og tilgjengelige via koblingene. Følg Adafruit -opplæringen om hvordan du installerer bibliotekene for datamaskinen din.

Når bibliotekene er installert, er de tilgjengelige for enhver Arduino -skisse du lager.

Wire.h- og Math.h -bibliotekene er standard og inkluderes automatisk i IDE -installasjonen.

Trinn 27: Koble Arduino til datamaskinen

Koble Arduino Nano til en datamaskin med en vanlig USB -kabel med Arduino IDE.

  1. Start IDE
  2. Velg Board | fra Verktøy -menyen Arduino Nano
  3. Fra Verktøy -menyen, velg Port |

Nå er du klar til å laste inn skissen, kompilere den og laste den opp til Nano

Trinn 28: Last ned Arduino Sketch

Arduino Sketch -koden er vedlagt og er også tilgjengelig på min GitHub -side der eventuelle fremtidige forbedringer vil bli lagt ut.

Last ned filen OpticalTachometerOledDisplay.ino og plasser den i en arbeidskatalog med samme navn (minus.ino).

Velg Fil |. Fra Arduino IDE Åpen…

Naviger til arbeidskatalogen

Åpne filen OpticalTachometerOledDisplay.ino.ino.

Trinn 29: Kompiler skissen

Kompiler skissen
Kompiler skissen
Kompiler skissen
Kompiler skissen

Klikk på "Sjekk" -knappen eller velg Sketch | Verifiser/kompiler fra menyen for å kompilere skissen.

Du bør se kompileringsområdet nederst, med en statuslinje. I løpet av få sekunder vises meldingen "Ferdig kompilering" og litt statistikk om hvor mye minne skissen tar opp. Ikke bekymre deg om meldingen "Lite minne tilgjengelig", den påvirker ingenting. Det meste av minnet brukes av GFX -biblioteket som trengs for å tegne skriftene på OLED -skjermen og ikke selve skissen.

Hvis du ser noen feil, er de mest sannsynlig et resultat av manglende biblioteker eller konfigurasjonsproblemer. Dobbeltsjekk at bibliotekene er kopiert til riktig katalog for IDE.

Hvis det ikke løser problemet, sjekk instruksjonene for hvordan du installerer et bibliotek og prøv igjen.

Trinn 30: Last opp til Nano

Last opp til Nano
Last opp til Nano

Trykk på "pil" -knappen eller velg Sketch | Last opp fra menyen for å kompilere og laste opp skissen.

Du vil se den samme "Kompilering.." -meldingen, etterfulgt av en "Opplasting.." -melding og til slutt en "Ferdig opplasting" -melding. Arduino begynner å kjøre programmet så snart opplastingen er fullført eller så snart strømmen blir påført etterpå.

På dette tidspunktet bør OLED -skjermen komme til live med et RPM: 0 -display med skiven på null.

Hvis du har satt ruteren sammen igjen, kan du slå på bryteren og se displayet lese opp turtallet mens du justerer hastigheten.

Gratulerer!

Trinn 31: Bruk en dedikert strømkilde

Bruk en dedikert strømkilde
Bruk en dedikert strømkilde
Bruk en dedikert strømkilde
Bruk en dedikert strømkilde

MERK: Dette var kilden til signalstøyen som forårsaket uregelmessige RPM -visninger. Jeg undersøker å sette noen filterhett på strømhoppene, men for nå må du slå den på via en separat USB -kabel.

Du kan kjøre skjermen som er koblet til datamaskinen din med USB -kabelen, men til slutt vil du ha en dedikert strømkilde.

Du har et par alternativer, du kan få en standard USB -vegglader og kjøre Arduino fra den.

Eller du kan kjøre Arduino direkte fra CNC -ruteren din. Arduino/OLED -skjermen trekker bare 0,04 ampere, så den kommer ikke til å overbelaste din eksisterende elektronikk.

Hvis du har elektronikk fra Arduino/CNC Router Shield (som Sienci Mill), kan du bruke et par ubrukte pinner til å bruke de nødvendige 5 volt strømmen.

På øvre venstre side av CNC -ruterskjoldet kan du se at det er et par ubrukte pinner merket 5V/GND. Fest et par hoppekabler til disse to pinnene.

Trinn 32: Koble Arduino til Power Jumpers

Koble Arduino til Power Jumpers
Koble Arduino til Power Jumpers
Koble Arduino til Power Jumpers
Koble Arduino til Power Jumpers

Denne er enkel, men ikke like pent merket.

På Arduino Nano er det et sett med 6 pinner på enden av brettet. De er ikke merket, men jeg har tatt med pin -out -diagrammet, og du kan se at de to utvendige pinnene som er nærmest indikatorlampene, er merket GND og 5V på diagrammet.

Koble jumperen fra 5V -pinnen på CNC -skjoldet til pinnen nærmest den som er merket VIN (ikke koble den til VIN, men til den innvendige hjørnestiften i 6 -pinners gruppen). VIN er for å drive Nano med 7V-12V strøm.

Koble jumperen fra GND -pinnen på CNC -skjoldet til pinnen nærmest TX1 -pinnen.

Når du slår på CNC -ruteren elektronikk, vil OLED RPM -skjermen også komme på.

Trinn 33: Tekniske merknader om kretsen

Tekniske merknader om kretsen
Tekniske merknader om kretsen

Sensorkretsen bruker et IR LED/IR fotodiodepar.

IR -LED -en fungerer som en vanlig LED. Den positive ledningen (den lengre eller anoden) er koblet til positiv spenning. På en Arduino Nano er det en utgangsnål satt til HIGH. Den negative ledningen (kortere eller katode) er koblet til jord for å fullføre kretsen. Siden lysdioder er følsomme for for mye strøm, plasseres en liten motstand i serie med lysdioden for å begrense strømmengden. Denne motstanden kan være hvor som helst i kretsen, men det er mest fornuftig å plassere den på den positive siden av kretsen, siden den negative ledningen deler en forbindelse til jord med fotodioden.

IR -fotodioden oppfører seg som alle andre dioder (inkludert lysdioder med lysemittering) ved at de bare leder elektrisitet i en retning, og blokkerer elektrisitet i motsatt retning. Derfor er det viktig å få polariteten riktig for at lysdioder skal fungere.

Den viktige forskjellen med fotodioder er at når de oppdager lys, vil fotodiodene la strøm strømme begge veier. Denne egenskapen brukes til å lage en lysdetektor (i dette tilfellet infrarødt lys eller IR). IR -fotodioden er koblet i motsatt polaritet (kalt omvendt forspenning) med den positive 5V på Arduino -pinnen koblet til den negative ledningen til fotodioden, og den positive ledningen er koblet gjennom en felles ledning sammen med IR -LED -en til jord.

Uten IR-lys blokkerer IR-fotodioden elektrisitet, slik at Arduino-pinnen med den interne opptrekksmotstanden er i HIGH-tilstand. Når IR -fotodioden oppdager IR -lys, tillater det strøm å strømme, jording av pinnen og får HIGH -verdien på fotodiodestiften til å falle ned mot bakken og forårsake en FALLING -kant som Arduino kan oppdage.

Denne endringen av tilstanden på Arduino -pinnen brukes i skissen for å telle revolusjonene.

Aluminiumsbåndet på spenningsmutteren reflekterer IR-lyset fra IR-LED-en som alltid er på til IR-fotodioden hver gang den roterer forbi sensoren.

Trinn 34: Tekniske merknader om Arduino -skissen

Arduino -skissen driver OLED -skjermen og reagerer samtidig på IR LED/IR fotodiodesensor.

Skissen initialiserer OLED-skjermen gjennom hele I2C-protokollen (Inter-Integrated Circuit). Denne protokollen lar flere skjermer/sensorer dele en tilkobling og kan lese eller skrive til en bestemt tilkoblet enhet med et minimum av ledninger (4). Denne tilkoblingen reduserer antall tilkoblinger mellom Arduino og OLED -skjermen.

Den slår deretter på IR -lysdioden ved å sette den pinnen HIGH som gir 5V som trengs for LED -en.

Den knytter en avbruddsfunksjon til en pinne som kalles når den oppdager en endring i pinnens tilstand. I dette tilfellet kalles funksjonen incrementRevolution () når en FALLING -kant oppdages på pin 2.

En avbruddsfunksjon gjør akkurat det den innebærer, den avbryter alt som for øyeblikket gjøres, utfører funksjonen og fortsetter deretter handlingen nøyaktig der den ble avbrutt. Avbruddsfunksjoner bør være så korte som mulig, i dette tilfellet legger det bare til en til en tellervariabel. Den lille Arduino Nano kjører på 16 Mhz - 16 millioner sykluser i sekundet - ganske raskt nok til å klare avbrudd på 30 000 o / min, som bare er 500 omdreininger per sekund.

Loop () -funksjonen er den primære handlingsfunksjonen for enhver Arduino -skisse. Det kalles kontinuerlig, igjen og igjen, så lenge Arduinoen har makt. Den får gjeldende tid, sjekker om et spesifisert intervall har gått (1/4 sekund = 250 millisekunder). I så fall kalles det updateDisplay () -funksjonen for å vise den nye RPM -verdien.

Sløyfefunksjonen vil også dempe skjermen etter 1 minutt og slå av skjermen etter 2 minutter - fullt konfigurerbar i koden.

UpdateDisplay () -funksjonene kaller calculateRpm () -funksjonen. Denne funksjonen tar antall omdreininger avbruddsfunksjonen har blitt stadig økende og beregner turtallet ved å bestemme omdreiningstakten per tidsintervall og ekstrapolere det til antall omdreininger per minutt.

Den viser den numeriske verdien og bruker noen High School -triggere for å tegne en analog skive og indikatorarmen for å gjenspeile de samme verdiene.

Konstantene øverst i skissen kan endres hvis du ønsker en turtall med forskjellige store og mindre verdier.

Oppdateringsintervallet og gjennomsnittlig intervall kan også endres.

Anbefalt: