Innehållsförteckning:

Lägg till en Arduino-baserad optisk varvräknare till en CNC-router: 34 steg (med bilder)
Lägg till en Arduino-baserad optisk varvräknare till en CNC-router: 34 steg (med bilder)

Video: Lägg till en Arduino-baserad optisk varvräknare till en CNC-router: 34 steg (med bilder)

Video: Lägg till en Arduino-baserad optisk varvräknare till en CNC-router: 34 steg (med bilder)
Video: Lesson 95: Using L293D 4 DC Motors Shield for Arduino UNO and Mega | Arduino Step By Step Course 2024, Juli
Anonim
Image
Image
Lägg till en Arduino-baserad optisk varvräknare till en CNC-router
Lägg till en Arduino-baserad optisk varvräknare till en CNC-router

Bygg en optisk varvtalsindikator för din CNC -router med en Arduino Nano, en IR LED/IR fotodiodsensor och en OLED -skärm för mindre än $ 30. Jag inspirerades av eletro18: s Measure RPM - Optical Tachometer Instructable och ville lägga till en varvräknare till min CNC -router. Jag förenklade sensorkretsen, designade en anpassad 3D-tryckt konsol för min Sienci CNC-router. Sedan skrev jag en Arduino -skiss för att visa både en digital och analog urtavla på en OLED -display

Några enkla delar och ett par timmar av din tid, och du kan lägga till en digital och analog RPM -display till din CNC -router.

Här är reservdelslistan tillgänglig för 2-dagars frakt. Du kan förmodligen köpa delarna för mindre om du är villig att vänta längre.

Reservdelar

$ 6,99 Arduino Nano

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

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

$ 4,99 Bygelkablar

$ 1,00 30 tum (75 cm) tråd med tre ledare. Kan köpas från din lokala butik (Home Depot, Lowes) i köp-för-fot-sektionen

$ 0,05 220 ohm motstånd ($ 6,99 om du vill ha 750 olika motstånd)

$ 0.50 Värmekrympslang ($ 5,99 om du vill ha ett komplett sortiment)

3D -tryckta parenteser

Arduino IDE (gratis)

Obs! Jag tillförde först en.01μF kondensator efter att jag säkrade alla trådar och märkte några oregelbundna varvtal när CNC rörde sig. Kondensatorn fungerade bra för lägre varvtal <20K men det slätade ut signalen för mycket för något högre. Jag spårade bruset för att driva Nano och visa direkt från CNC -skölden. En separat leverans fungerar för alla varvtal. Jag lämnade stegen för tillfället, men du bör använda en separat USB -strömkälla.

Steg 1: Skriv ut 3D -fästet

Skriv ut 3D -fästet
Skriv ut 3D -fästet

Skriv ut 3D -fästet för att hålla IR -LED och IR -fotodioder. 3D -filerna finns här och på Thingiverse.

www.thingiverse.com/thing:2765271

För Sienci Mill används vinkelfästet för att montera sensorn på aluminiumvinkelstängerna, men det platta fästet kan vara bättre för ditt projekt.

Steg 2: Alternativt 3D -utskrift av OLED -skärmhållaren och elektronisk kapsling

Alternativt 3D -utskrift av OLED -skärmhållaren och elektronisk kapsling
Alternativt 3D -utskrift av OLED -skärmhållaren och elektronisk kapsling

Jag väljer att fästa OLED på en vinklad displayhållare som jag skruvade på toppen av en Sienci Electronics -kapsling.

Här är länkarna till de 3D -tryckta delarna som jag använde.

Sienci Electronics Enclosure 3D -del

0,96 OLED -skärmmonteringsfäste

Höljet var ett trevligt ställe att montera OLED -skärmfästet och det håller Arduino Nano snyggt, plus att det passar på baksidan av Sienci Mill. Jag borrade ett par hål på ovansidan av höljet för att fästa OLED -fästet.

Jag borrade också ett par hål i botten för att köra igenom en liten dragkedja för att fästa kabelnätet ordentligt

Steg 3: Bygg IR -sensortrådsenheten

Bygg IR -sensortrådmonteringen
Bygg IR -sensortrådmonteringen

3-ledarkabeln kommer att användas för att koppla upp sensorn. En tråd kommer att vara en gemensam grund för både IR -LED och IR -fotodiod, var och en av de andra två går till respektive komponent.

Steg 4: Lägg till ett strömbegränsande motstånd för IR -lysdioden

Lägg till en strömbegränsande motstånd för IR -lysdioden
Lägg till en strömbegränsande motstånd för IR -lysdioden

IR -lysdioden kräver ett strömbegränsande motstånd. Det enklaste sättet är att införliva motståndet i trådmonteringen.

Böj spetsarna i varje till en U-form och lås ihop dem. Pressa med en tång och löd dem sedan ihop.

Steg 5: Splice Jumper Wires

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

Du kan skarva bygelkablar för att ansluta dem till Arduino -huvudstiften.

Skär en bit av värmekrympslang och skjut över tråden innan du ansluter dem.

Skjut värmekrympslangen tillbaka över anslutningen (eller hela motståndet) och krympa slangen genom att använda en värmepistol eller köra en låga snabbt över röret tills det krymper. Om du använder en låga, håll den i rörelse snabbt eller den kan börja smälta.

Steg 6: Bestäm IR -LED och fotodiodkablar

Bestäm IR -LED och fotodiodkablar
Bestäm IR -LED och fotodiodkablar

Både IR -LED och IR -fotodiod ser likadana ut, var och en har en lång (anod eller positiv) ledning och en kort (katod eller negativ) ledning.

Steg 7: Sätt in dioder i hållaren

Sätt in dioder i hållaren
Sätt in dioder i hållaren

Ta IR -lysdioden (tydlig diod) och sätt in den i ett av LED -hållarhålen. Vrid lysdioden så att den långa ledningen är på utsidan. På bilden kan du se den tydliga lysdioden i det övre hålet med sin långa ledning högst upp.

Ta IR -fotodioden (mörk diod) och sätt in den i det andra hålet. Vrid fotodioden så att dess långa ledning är i mitten.

Som visas på bilden kommer lysdiodens korta ledning och fotodiodens långa ledning att vara i mitten. Dessa två ledningar skarvas till en gemensam tråd tillbaka till arduino. (Se tekniska anteckningar i slutet om du vill ha mer information)

Ta en liten bit av 1,75 filament och sätt in den bakom dioderna. Detta låser dioderna på plats och förhindrar att de roterar eller kommer ut.

Jag gick igenom flera iterationer av mönster innan jag bestämde mig för den här. Att få dioderna att sticka ut lite förbättrade avsevärt toleransen när den justerades med spännmuttern.

Steg 8: Säkra låsfilamentet till hållaren

Säkra låsfilamentet till hållaren
Säkra låsfilamentet till hållaren

Du vill trimma det låsande filamentet till lite längre än hållarens bredd.

Värm en spik i några sekunder i skruvstången eller håll den med en tång.

Steg 9: Tryck på filamentändarna mot det uppvärmda nagelhuvudet

Tryck på filamentändarna mot det uppvärmda nagelhuvudet
Tryck på filamentändarna mot det uppvärmda nagelhuvudet

Håll fingret på motsatt ände av glödtråden och tryck för att smälta och smälta låsstiftet i hållaren.

Steg 10: Färdig diodehållare

Färdig diodehållare
Färdig diodehållare

Spolat och snyggt

Steg 11: Fäst ledningsnätet på dioderna

Fäst ledningsnätet till dioderna
Fäst ledningsnätet till dioderna
Fäst ledningsnätet till dioderna
Fäst ledningsnätet till dioderna

Trimma tråden i längd för din applikation. För Sienci -bruket behöver du totalt cirka 75 cm (tråd + hoppare) och har en slack för routern att röra sig.

Böj tråd- och blyspetsarna till en U-form för att låsa ihop dem och göra lödningen enklare.

Ta några tunna värmekrympslangar och trimma två korta bitar och två lite längre bitar. Lägg de kortare bitarna över de yttre diodledningarna. För de längre bitarna över de två mittledarna.

Att ha två olika längder förskjuter skarvfogarna och förskjuter de tjockare lederna från varandra så att ledningens diameter minskar. Det förhindrar också shorts mellan de olika trådskarven

Skär tre bitar av värmekrympslang med lite större diameter och placera dem över var och en av de tre ledningarna i ledningsnätet.

Det är viktigt att se till att det finns ett litet gap mellan ändarna på värmekrympslangen på trådarna och skarvpunkten. Ledningarna blir heta, och om värmekrympslangen är för nära börjar de krympa i slutet, vilket kan göra dem för små för att glida över leden.

Steg 12: Se till att ledningen med motståndet är ansluten till IR -lysdiodens långa ledning

Strömbegränsningsmotståndet (220 ohm) inbyggt i ledningsnätet måste anslutas till den långa (anod) ledningen på den klara IR -lysdioden. Ledningen som förbinder de två vanliga ledningarna kommer att anslutas till jord, så du kanske vill använda en svart eller tom tråd för den anslutningen.

Löd anslutningarna för att göra dem permanenta.

Steg 13: Krympa värmekrympslangen

Krympa värmekrympslangen
Krympa värmekrympslangen

När fogarna har lödts, använd en tändsticka eller tändare för att krympa slangen på diodledningarna först. Flytta först värmekrympslangen på trådarna så långt bort från värmen som möjligt.

Håll lågan i rörelse snabbt när den krymper och roterar för att få alla sidor lika. Vänta inte, annars kommer slangen att smälta istället för att krympa.

När diodledningarna har krympts, skjut den lite större värmekrympslangen från trådarna, över lederna och upprepa krympningen.

Steg 14: Förbered monteringsblocket

Förbered monteringsblocket
Förbered monteringsblocket

Beroende på din applikation, välj det monteringsblock som passar din applikation. För sidenkvarnen, välj vinkelmonteringsblocket.

Ta en M2 -mutter och en M2 -skruv. Skruva fast muttern knappt på skruvens ände.

Vänd monteringsblocket och testa att montera M2 -muttern i hålet.

Ta bort och värm muttern något med en tändsticka eller låga och sätt sedan in den snabbt på baksidan av fästblocket.

Skruva loss skruven och lämna muttern inbäddad i plastmonteringsblocket. För lite extra styrka, applicera en droppe superlim på mutterkanten för att säkert fästa muttern på blocket.

Steg 15: Se till att M2 -skruven har rätt längd

Se till att M2 -skruven har rätt längd
Se till att M2 -skruven har rätt längd

Se till att skruven inte är för lång eller att sensorn inte dras åt mot monteringsblocket. För vinkelmonteringsblocket, se till att M2 -skruven är 9 mm eller lite kortare.

Steg 16: Fäst monteringsblocket på CNC -routern

Fäst monteringsblocket på CNC -routern
Fäst monteringsblocket på CNC -routern

För Sienci Mill, fäst vinkelmonteringsblocket på botten av insidan av Z -skenan med ett par droppar superlim.

Steg 17: Fäst sensorn på monteringsblocket

Fäst sensorn på monteringsblocket
Fäst sensorn på monteringsblocket

Placera den justerbara armen i monteringsblocket

För in M2 -skruven med en bricka genom spåret i den justerbara fästarmen och skruva fast den i muttern.

Skjut den justerbara armen tills lysdioden och fotodioderna är jämna med routerns spännmutter

Dra åt skruven

Steg 18: Lägg till reflekterande tejp på ena sidan av hylsemuttern

Lägg till reflekterande tejp på ena sidan av hylsemuttern
Lägg till reflekterande tejp på ena sidan av hylsemuttern

Använd en liten remsa av aluminiumtejp (används för ugnskanaler) och fäst den på en fasett av spännmuttern. Denna reflekterande tejp gör det möjligt för den optiska IR -sensorn att ta upp ett enda varv hos spindeln.

Steg 19: Se till att den reflekterande tejpen inte går över kanten till angränsande fasetter

Se till att den reflekterande tejpen inte går över kanten till angränsande fasetter
Se till att den reflekterande tejpen inte går över kanten till angränsande fasetter

Tejpen måste vara på ena sidan av spännmuttern. Tejpen är tunn och lätt nog att den inte stör nyckeln för att byta ändfräsar eller påverka spindelbalansen.

Steg 20: Kör sensortråden längs insidan av Z -skenan

Kör sensortråden längs insidan av Z -skenan
Kör sensortråden längs insidan av Z -skenan

Använd remsor av aluminiumtejpen för att fästa tråden på insidan av Z -skenan. Det är bäst att köra bandet nära kanten på vinkelskenan för att rensa skruvmutternheten.

Steg 21: Fäst sensorn på Arduino Nano

Fäst sensorn på Arduino Nano
Fäst sensorn på Arduino Nano

Anslut ledningarna till Arduino enligt följande:

  • IR -LED (med integrerat motstånd) -> Pin D3
  • IR -fotodiod -> Pin D2
  • Gemensam tråd -> Pin GND

Steg 22: Fäst bygelkablar på OLED -skärmen

Fäst bygelkablar på OLED -skärmen
Fäst bygelkablar på OLED -skärmen

Dra av en uppsättning 4-trådars bygelkablar

Anslut ledningarna till de 4 stiften för I2C -gränssnittet:

  • VCC
  • GND
  • SCL
  • SDA

Steg 23: Fäst OLED -skärmen på Arduino

Fäst OLED -skärmen på Arduino
Fäst OLED -skärmen på Arduino
Fäst OLED -skärmen på Arduino
Fäst OLED -skärmen på Arduino

Fäst bygelkablarna på följande stift. Obs! Dessa kablar fäster inte alla på intilliggande stift, inte heller i samma ordning.

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

Steg 24: Fäst OLED -skärmen på dess hållare

Fäst OLED -skärmen på dess hållare
Fäst OLED -skärmen på dess hållare

Fäst OLED -skärmen med hållarna som du skrev ut tidigare

Fäst sedan displayen på CNC -ramen.

Steg 25: Förbered Arduino IDE för att ladda Arduino Sketch

Förbered Arduino IDE för att ladda Arduino Sketch
Förbered Arduino IDE för att ladda Arduino Sketch

Ett program för en Arduino kallas en skiss. Den integrerade utvecklingsmiljön (IDE) för Arduinos är gratis och måste användas för att ladda programmet för att upptäcka sensorn och visa varvtalet.

Om du inte redan har det, här är en länk för att ladda ner Arduino IDE. Välj den nedladdningsbara versionen 1.8.5 eller högre.

Steg 26: Lägg till de obligatoriska OLED -biblioteken

Lägg till de obligatoriska OLED -biblioteken
Lägg till de obligatoriska OLED -biblioteken

För att köra OLED-skärmen behöver du ytterligare ett par bibliotek, Adafruit_SSD1306-biblioteket och Adafruit-GFX-biblioteket. Båda biblioteken är gratis och tillgängliga via länkarna. Följ Adafruit -handledningen om hur du installerar biblioteken för din dator.

När biblioteken väl har installerats är de tillgängliga för alla Arduino -skisser du skapar.

Wire.h- och Math.h -biblioteken är standard och ingår automatiskt i din IDE -installation.

Steg 27: Anslut Arduino till din dator

Med en vanlig USB -kabel ansluter du Arduino Nano till din dator med Arduino IDE.

  1. Starta IDE
  2. Välj Verktyg | på menyn Verktyg Arduino Nano
  3. På menyn Verktyg väljer du Port |

Nu är du redo att ladda skissen, kompilera den och ladda upp den till Nano

Steg 28: Ladda ner Arduino Sketch

Arduino Sketch -koden är bifogad och finns också på min GitHub -sida där framtida förbättringar kommer att läggas ut.

Ladda ner filen OpticalTachometerOledDisplay.ino och placera den i en arbetskatalog med samma namn (minus.ino).

Välj Arkiv | från Arduino IDE Öppen…

Navigera till din arbetskatalog

Öppna filen OpticalTachometerOledDisplay.ino.ino.

Steg 29: Kompilera skissen

Kompilera skissen
Kompilera skissen
Kompilera skissen
Kompilera skissen

Klicka på knappen "Kontrollera" eller välj Sketch | Verifiera/kompilera från menyn för att kompilera skissen.

Du bör se kompileringsområdet längst ner med ett statusfält. På några sekunder visas meddelandet "Klart kompilering" och lite statistik om hur mycket minne skissen tar upp. Oroa dig inte om meddelandet "Lågt minne tillgängligt", det påverkar ingenting. Det mesta av minnet används av GFX -biblioteket som behövs för att rita teckensnitt på OLED -displayen och inte själva skissen.

Om du ser några fel är de troligtvis resultatet av saknade bibliotek eller konfigurationsproblem. Dubbelkolla att biblioteken har kopierats till rätt katalog för IDE.

Om det inte löser problemet, kontrollera instruktionerna om hur du installerar ett bibliotek och försök igen.

Steg 30: Ladda upp till Nano

Ladda upp till Nano
Ladda upp till Nano

Tryck på "pil" -knappen eller välj Sketch | Ladda upp från menyn för att kompilera och ladda upp skissen.

Du kommer att se samma meddelande "Kompilerar..", följt av ett "Uppladdning.." -meddelande och slutligen ett "Klar överföring" -meddelande. Arduino börjar köra programmet så snart uppladdningen är klar eller så snart strömmen appliceras efteråt.

Vid denna tidpunkt ska OLED -skärmen leva med en RPM: 0 -display med ratten på noll.

Om du har satt ihop routern igen kan du slå på omkopplaren och se displayen läsa upp varvtalet när du justerar hastigheten.

Grattis!

Steg 31: Använd en dedikerad strömkälla

Använd en dedikerad strömkälla
Använd en dedikerad strömkälla
Använd en dedikerad strömkälla
Använd en dedikerad strömkälla

OBS: Detta var källan till signalbruset som orsakade de oregelbundna varvtalen. Jag undersöker att sätta några filterlock på power jumpers, men för närvarande måste du driva den via en separat USB -kabel.

Du kan köra bildskärmen som är ansluten till din dator med USB -kabeln, men så småningom vill du ha en dedikerad strömkälla.

Du har ett par alternativ, du kan få en standard USB -väggladdare och köra Arduino från den.

Eller så kan du köra Arduino direkt från din CNC -routerelektronik. Arduino/OLED -skärmen drar bara 0,04 ampere, så det kommer inte att överbelasta din befintliga elektronik.

Om du har Arduino/CNC Router Shield -elektronik (som Sienci Mill) kan du använda ett par oanvända stift för att utnyttja de 5 volt som behövs.

På den övre vänstra sidan av CNC -routerskölden kan du se att det finns ett par oanvända stift märkta 5V/GND. Anslut ett par bygelkablar till dessa två stift.

Steg 32: Anslut Arduino till Power Jumpers

Anslut Arduino till Power Jumpers
Anslut Arduino till Power Jumpers
Anslut Arduino till Power Jumpers
Anslut Arduino till Power Jumpers

Den här är lätt, men inte lika snyggt märkt.

På Arduino Nano finns det en uppsättning med 6 stift i slutet av brädet. De är inte märkta, men jag har inkluderat pin -out -diagrammet och du kan se att de två yttre stiften som är närmast indikatorlamporna är märkta GND och 5V på diagrammet.

Anslut bygeln från 5V -stiftet på CNC -skärmen till tappen närmast den som är märkt VIN (anslut inte den till VIN, utan till den inre hörnstiftet i 6 -stiftsgruppen). VIN är för att driva Nano med 7V-12V effekt.

Anslut bygeln från GND -stiftet på CNC -skärmen till stiftet närmast TX1 -stiftet.

Nu när du slår på CNC -routerelektroniken tänds också OLED -varvtalet.

Steg 33: Tekniska anmärkningar om kretsen

Tekniska anmärkningar om kretsen
Tekniska anmärkningar om kretsen

Sensorkretsen använder ett IR LED/IR fotodiodpar.

IR -lysdioden fungerar som alla vanliga lysdioder. Den positiva ledningen (den längre eller anoden) är ansluten till positiv spänning. På en Arduino Nano är det en utgångsstift inställd på HIGH. Den negativa ledningen (kortare eller katod) är ansluten till jord för att slutföra kretsen. Eftersom lysdioder är känsliga för för mycket ström placeras ett litet motstånd i serie med lysdioden för att begränsa mängden ström. Detta motstånd kan vara var som helst i kretsen, men det är mest vettigt att placera det på den positiva sidan av kretsen, eftersom den negativa ledningen delar en anslutning till jord med fotodioden.

IR -fotodioden beter sig som vilken som helst annan diod (inklusive lysdioder för ljusemitterande dioder) genom att de bara leder elektricitet i en riktning och blockerar elektricitet i motsatt riktning. Därför är det viktigt att få polariteten korrekt för att lysdioder ska fungera.

Den viktiga skillnaden med fotodioder är att när de upptäcker ljus, kommer fotodioderna att låta elektricitet flöda åt båda hållen. Denna egenskap används för att göra en ljuddetektor (i detta fall infrarött ljus eller IR). IR -fotodioden är ansluten i en motsatt polaritet (kallad omvänd förspänning) med den positiva 5V på Arduino -stiftet ansluten till fotodiodens negativa ledning och den positiva ledningen är ansluten via en gemensam tråd tillsammans med IR -lysdioden till jord.

Utan IR-ljus blockerar IR-fotodioden elektricitet, så att Arduino-stiftet med sitt interna uppdragningsmotstånd kan vara i HIGH-tillståndet. När IR -fotodioden upptäcker IR -ljus tillåter den elektricitet att flöda, jordar stiftet och får HÖGT värde på fotodiodstiftet att falla ner mot marken, vilket orsakar en FALLANDE kant som Arduino kan upptäcka.

Denna tillståndsförändring på Arduino -stiftet används i skissen för att räkna varv.

Remsan av aluminiumtejp på spännmuttern reflekterar IR-ljuset från den alltid tända IR-lysdioden tillbaka till IR-fotodioden varje gång den roterar förbi sensorn.

Steg 34: Tekniska anteckningar om Arduino Sketch

Arduino -skissen driver OLED -displayen och reagerar samtidigt på IR LED/IR fotodiodsensor.

Skissen initierar OLED-skärmen genom hela I2C-protokollet (Inter-Integrated Circuit). Detta protokoll tillåter flera skärmar/sensorer att dela en anslutning och kan läsa eller skriva till en specifik ansluten enhet med ett minimum av ledningar (4). Denna anslutning minskar antalet anslutningar mellan Arduino och OLED -skärmen.

Den tänder sedan IR -lysdioden genom att ställa in den stiftet HÖG som ger den 5V som behövs för lysdioden.

Den kopplar en avbrottsfunktion till en stift som anropas när den upptäcker en förändring av stiftets tillstånd. I detta fall anropas funktionen incrementRevolution () när en FALLING -kant detekteras på stift 2.

En avbrottsfunktion gör precis vad den innebär, den avbryter allt som för närvarande görs, utför funktionen och återupptar sedan åtgärden exakt där den avbröts. Avbrottsfunktioner bör vara så korta som möjligt, i detta fall lägger det bara till en till en räknevariabel. Den lilla Arduino Nano kör på 16 Mhz - 16 miljoner cykler per sekund - tillräckligt snabbt för att klara avbrottet på 30 000 varv / minut, vilket bara är 500 varv per sekund.

Loop () -funktionen är den primära actionfunktionen för alla Arduino -skisser. Det kallas kontinuerligt, om och om igen så länge Arduino har makt. Den får den aktuella tiden, kontrollerar om ett angivet intervall har gått (1/4 sekund = 250 millisekunder). Om så är fallet kallas det updateDisplay () -funktionen för att visa det nya varvtalet.

Loop -funktionen kommer också att dämpa displayen efter 1 minut och stänga av displayen efter 2 minuter - fullt konfigurerbar i koden.

Funktionen updateDisplay () anropar funktionen calculateRpm (). Den funktionen tar antalet varv, avbrottsfunktionen har stadigt ökat och beräknar varvtalet genom att bestämma varvtalet per tidsintervall och extrapolera det till antalet varv per minut.

Det visar det numeriska värdet och använder några High School -triggar för att rita en analog urtavla och indikatorarmen för att återspegla samma värden.

Konstanterna högst upp på skissen kan ändras om du vill ha en varvtalsratt med olika större och mindre värden.

Uppdateringsintervallet och medelintervallet kan också ändras.

Rekommenderad: