Innehållsförteckning:
- Steg 1: Hur det fungerar:
- Steg 2: Förberedelse:
- Steg 3: STYRELSEN
- Steg 4: HM-10-modulkonfiguration, Arduino Pro Micro-programmering
- Steg 5: Komponentmontering, montering av kretskort i skåp
- Steg 6: Programmera ATTiny85, lod i datakabelanslutningarna, anslut batteriet
- Steg 7: Testa, Använd, Meny med avancerade funktioner
- Steg 8: Slutliga tankar - potentiella ändringar / nya funktioner / hackbarhet
Video: Trådlöst Bluetooth -gränssnitt för Mitutoyo -bromsok och indikatorer: 8 steg (med bilder)
2024 Författare: John Day | [email protected]. Senast ändrad: 2024-01-30 12:45
Det finns miljontals Mitutoyo Digimatic -bromsok, mikrometer, indikatorer och andra enheter i världen idag. Många människor som jag använder dessa enheter för att samla in data direkt till en dator. Detta eliminerar att du måste logga in och skriva in ibland hundratals värden, men det ger också problem med att ha en bärbar dator i butiken där bärbara datorer kan tappas eller på annat sätt skadas. Detta gäller särskilt om mätningarna görs på stora delar eller i situationer där standard Mitutoyo -datakabel bara inte är tillräckligt lång.
För några år sedan byggde jag en liknande enhet baserad på HC-05 Bluetooth-moduler och några Arduino-mikrokontrollerkort som skulle tillåta mig att lämna den bärbara datorn på ett bord och vandra upp till 50 fot och ta mätningar. Den här enheten fungerade bra men hade flera problem. Det fanns ingen indikation på när sändarbatteriet var fulladdat, ingen indikation på status för Bluetooth -anslutning och indikation på lyckad dataöverföring. Det var också stort och klumpigt och såg bokstavligen ut som ett vetenskapsprojekt! Även med dessa begränsningar föredrog han andra killar i butiken att använda den framför Mitutoyo USB -datakabel.
Detta projekt övervinner begränsningarna för den gamla enheten, lägger till fler funktioner och är lite mer professionellt allt för mindre än $ 100.
Steg 1: Hur det fungerar:
Gränssnittet består av två delar, en sändare och en mottagare. Anslut sändaren till mätaren med datakabeln som är permanent ansluten till den och anslut mottagaren till en dator med en mikro -USB -datakabel.
På sändaren slås den på genom att skjuta omkopplaren mot kabeländen. På mottagarens ände blinkar initialt den blå lysdioden som indikerar att det inte finns någon anslutning. När en anslutning görs slutar lysdioden att blinka och lyser kontinuerligt. Sändaren och mottagaren är nu anslutna.
Sändaren (nedre enhet på bilden) ansluter till mätaren och läser den råa Mitutoyo -dataströmmen varje gång "data" -knappen trycks in. Sedan formaterar den data med hjälp av information i dataströmmen, till exempel decimalpunkt, tecken och enheter. Sedan konstruerar den en ASCII-sträng från dessa data och skickar den via HM-10 Bluetooth-modulen i sändaren till HM-10 på mottagarsidan.
På mottagaren (översta enheten på bilden) skickar HM-10 ASCII-tecknen som skickas från den sändande HM-10 som omfattar mätningen till Arduino Pro Micro som sedan skickar dem via USB-kabeln till datorn. Det emulerar ett tangentbord för att göra detta så att data sedan injiceras i det öppna programmet, i mitt fall är det Excel. Uppgifterna följs av tecken som gör att markören går ner till nästa rad. En trevlig sak med detta är att du kan ändra detta för att göra vad du vill om du behöver mata in data i anpassad programvara. Mottagaren skickar sedan en begäran till HM-10 på sändaren att blinka den blå sidan av lysdioden för att indikera för operatören att data mottogs framgångsrikt. Mottagarmodulen tar också bort tecken från den inkommande dataströmmen som är associerad med fjärrkontrollen av HM-10 på mottagaren.
Laddning av sändaren görs med en mikro -USB -laddning eller kabel ansluten till USB -uttaget på sändaren, lysdioden på mottagaren lyser rött under laddning och stängs av när laddningen är klar.
Det finns andra funktioner som behandlas senare när det gäller bearbetning som kan göras för att säkerställa att alla värden finns i metriska eller standardenheter eller för att varna om du av misstag har tryckt på +/- knappen och gjort alla mätningar negativa. Du kan även kontrollera sändarens batterispänning.
Steg 2: Förberedelse:
Förutom det material som nämns i denna instruktionsbok finns det några andra saker att konfigurera och programmera HM-10 Bluetooth-moduler och mikrokontroller. Du behöver en USB till TTL UART seriell adapter för att konfigurera Bluetooth -modulerna, en Arduino för att fungera som programmerare för ATTiny85 mikrokontroller (eller liknande programmerare som kan fungera med Arduino IDE) och naturligtvis bygelkablar för att utföra konfigurationen och programmering. ATTiny85 i denna instruerbara programmerades med en Arduino Nano -klon och en 10 uf elektrolytkondensator ansluten mellan RST- och GND -stiften. Annan hårdvara fungerar om du har den, men du kan behöva undersöka de procedurändringar som behövs för det. Den här instruktionsboken förutsätter att du är bekant med Arduino IDE och är lite bekväm att använda den, Google och lite tålamod behövs annars.
Innan du konfigurerar Bluetooth-modulerna skulle det vara en bra idé att läsa Martyn Curreys BLE-handledning på https://www.martyncurrey.com/hm-10-bluetooth-4ble-modules/ Denna artikel innehåller information om hur man berättar för de riktiga från förfalskningarna, konfigurera parning, roller, lägen och uppdatering av firmware för HM-10-modulerna som används i denna instruktionsbok.
Akta dig för falska HM-10 på marknaden. Länken i BOM som tillhandahålls i denna instruktionsbok är till riktiga (eller åtminstone sådana med riktig firmware på dem när jag köpte dem förra hösten). Att få falska är inte en affärsavbrytare, men om du slutar med förfalskningar krävs det ytterligare några steg för att få dem att fungera efter behov för Instructable eftersom de måste ha den riktiga firmware innan de kan konfigureras korrekt. Om du får en falsk kan du flasha den riktiga fasta programvaran till den med hjälp av följande handledning https://www.youtube.com/embed/ez3491-v8Og Det finns andra handledning om hur man flashar HM-10-firmware till CC2541 moduler (förfalskningar). Bilderna i denna instruerbara visar falska moduler som jag var tvungen att blinka med HM-10 firmware när jag byggde detta gränssnitt (det här är det tredje jag har byggt). Verkliga kostar cirka $ 6 per par och falska kostar $ 3 per par, det är värt de extra $ 3 för att få de riktiga. Jag uppmuntrar dig starkt att köpa riktiga HM-10-moduler!
Ett par definitioner som inte ingår som standard i Arduino IDE behövs för Sparkfun Arduino Pro Micro och ATTiny85 mikrokontroller som används i denna instruktionsbok.
Du kan lägga till stöd för dessa delar till Arduino IDE genom att lägga till följande länkar till din styrelsehanterare.
För ATTiny85:
raw.githubusercontent.com/damellis/attiny/ide-1.6.x-boards-manager/package_damellis_attiny_index.json
För Sparkfun Arduino Pro Micro:
raw.githubusercontent.com/sparkfun/Arduino_Boards/master/IDE_Board_Manager/package_sparkfun_index.json
Separera dessa två poster med ett kommatecken som visas på bilden.
Du behöver också ett särskilt seriellt bibliotek för små fotavtryck för sändarmodulen:
SendOnlySoftwareSerial:
Steg 3: STYRELSEN
Tavlan som jag designade för denna Instructable kan beställas från JLCPCB eller någon annan webbplats som Seedstudio ect om du använder gerber -filer som bifogas denna Instructable. Jag designade den med easyeda.com. Här är en länk till styrelsen på easyeda. https://easyeda.com/MrFixIt87/mitutoyo-bluematic-spc-smt-mcp73831 Om det finns tillräckligt med intresse kan jag låta göra några PCB och sälja dem billigt på ebay.
Detta kort måste skäras i två separata kort (ett för sändaren och ett för mottagaren). Nedskärningarna följer de vita konturerna i mitten av kretskortet i bilden ovan och ett hörn av sändarkortet. Dessa snitt kommer att följa de röda linjerna ritade på bilden av kretskortet ovan. Var försiktig när du skär korten, särskilt i skårorna i hörnen på sändarkortet. Dessa nedskärningar kommer mycket nära spår på tavlan. En uppsättning fina filer kommer till nytta här.
De flesta komponenterna kan beställas från Digi-Key eller Mouser etc, Digi-Key-artikelnummer ingår i stycklistan för artiklar som de har. Några av artiklarna köpte jag på eBay, Amazon eller AliExpress. Jag har inkluderat länkar till objekt på dessa webbplatser efter behov i BOM.
BOM.pdf -filen är lättast att läsa och webbadresserna är klickbara länkar.
Steg 4: HM-10-modulkonfiguration, Arduino Pro Micro-programmering
Det är en bra idé att skaffa HM-10-modulerna före allt annat och se till att du får dem korrekt konfigurerade och fungerar som ett par eftersom det finns många falska på marknaden och det kräver ett par extra steg för att installera den riktiga firmware på förfalskningarna. Endast den äkta HM-10-firmware gör det möjligt för mottagaren att fjärr blinka lysdioden på sändaren när "data" -knappen trycks in. Uppgradera inte firmware längre än V6.05.
Martyn Curreys handledning är mycket praktisk för detta. Om du följer det har du inga problem. Var också noga med att få kasta kastellerade moduler som den på höger sida i bilden för detta steg. Löd dem till kretskortet om det behövs för att hjälpa till att fästa tillfälliga ledningar för konfiguration. Löd inte några andra komponenter på något av kretskortet förrän du har ett par fungerande BLE -moduler. Endast stift 1, 2, 12-15, 21-25 behöver lödas.
På Tx-kretskortet behöver HM-10 följande konfiguration:
Parning: para till andra HM-10 (använd en seriell bildskärm för att testa dataflöde mellan moduler när den är ansluten)
Roll: perifer
Läge: 2
På Rx-kretskortet behöver HM-10 följande konfiguration:
Parning: Måste paras med perifer HM-10 ovan
Roll: central
Läge: (ingen, endast kringutrustning har ett läge)
Programmera Arduino pro micro med skissen som heter Mitutoyo_Keyboard … ovan. Se till att du väljer 3.3V 8MHz -versionen av Arduino Pro micro i styrhanteraren för Arduino IDE när du överför till kortet. Se också till att du har alla refererade bibliotek installerade. Jag använde Sparkfun -versionen av pro micro (röd) men kloner finns på ebay vilket också fungerar, var noga med att du får ett 3,3V 8MHz kort med Atmel 32U4 mikrokontroller och INTE en ATMega328P. Skaffa också en blå som ser ut som den röda Sparkfun i denna Instructable och inte en svart, de svarta är för breda för att passa hålmönstret på kretskortet).
Steg 5: Komponentmontering, montering av kretskort i skåp
För Tx PCB -lödning de andra komponenterna på kretskortet. Det är en bra idé att först löda USB -kontakten på BLE Tx -kortet före de andra komponenterna i detta område. Det kan vara en bra idé att löda ICSP -huvudet på BLE Tx -kortet sist. Lägg märke till hur ledningarna på den tvåfärgade lysdioden är "vikta", ursprungligen var tanken att få detta att gå genom sidan av höljet, men jag bestämde mig senare för att använda ett genomskinligt hölje så att lysdioden inte skulle behöva vridas fast ett hål vid montering. Det ger också en fin effekt när lysdiodens blå sida blinkar efter att en mätning har överförts. För tvåfärgad LED är den kortaste ledningen blå, centrum är vanlig anod.
Vid denna tidpunkt mäta platsen för omkopplaren, USB -kontakten och gör hål i höljet för dessa föremål. Jag har funnit att det är bäst att mata datakabeln från lådans vänstra sida (som bilden) (0,25 hål centrerat på bredden och höjden på höljet). Testa noggrant på kretskortet och justera storleken på hål tills omkopplaren rör sig fritt och USB -kontakten passar in i öppningen. Installera 2 #2 skruvar för att hålla kretskortet på plats (men om passformen sitter tätt kommer kretskortet att vara fast i alla fall och verkligen inte behöva skruvar).
På Rx PCB -lödningen Arduino pro micro på PCB med hjälp av de två 7 -stiftshuvudena. Justera öppningen på USB -anslutningssidan av Rx PCB -höljet så att kretskortet sitter stadigt mot insidan av höljet. Notera på bilden av denna enhet att lysdioden sträcker sig bort från kortet. Detta för att fastställa kretskortet i lådan och fungerar ganska bra faktiskt med den mindre hylsan. Justera försiktigt LED: s ledningslängd så att den passar ordentligt efter montering. Kretskortet är markerat som rött och blått, den kortare ledningen på lysdioden är den blå ledningen, mitten är vanlig anod. Fäst locket på Rx -höljet, det är klart.
Steg 6: Programmera ATTiny85, lod i datakabelanslutningarna, anslut batteriet
Nu är det dags att programmera ATTiny85. Jag använde en Arduino Nano -klon som kör Arduino ISP -exempelskissen. Nano kräver en 10uf elektrolytkondensator installerad mellan GND och RST (- ledning till GND) för programmering. Stiftanslutningsdetaljerna finns i Arduino ISP -skissen. ICSP -rubriken på kretskortet i detta projekt har stiftnamnen stensilade på så att anslutningarna ska vara raka fram.
Se till att du har ATTiny85, 8 kB blixt och interna 8 MHz klockalternativ valda i korthanteraren när du överför till ATTiny85 som visas på bilden.
När detta är gjort installerar du den stora hylsan. Klipp datakabeln cirka 8 "-10" från instrumentänden och ta bort den yttre manteln och avslöja ett par centimeter av de inre trådarna. Lämna avskärmningssträngarna cirka 1/2 "från det randiga höljet enligt bilden. Jag lodde datakabelns skärmning till omkopplaren för att ge den styrka mot utdragning vid användning även om det också finns ett stort hål i kretskortet för detta om du vill gå den vägen. Löd de enskilda kablarna till kretskortet som visas, silkad datakabelns färger på kretskortet vid lämpliga hål.
Anslut batteriet enligt bilden, var försiktig med polariteten eftersom det vänder om det kommer att bränna upp LiPo -laddaren/hanteringschipet på kretskortet på kort tid (fråga inte hur jag vet …)
Steg 7: Testa, Använd, Meny med avancerade funktioner
Installera nu locket. Du är klar!
Alla fyra enheter jag har byggt hittills har kardborreband för att fästa sändaren på instrumentet och mottagaren på toppen av locket till den bärbara datorn. I praktiken fungerar detta mycket bra. Installera kardborrbandets fuzzy (loop) sida upptill på locket till den bärbara datorn, den grova (kroken) sidan på mottagarens fodral. Montera den suddiga (slingans) sidan på sändarens hölje och den grova (kroken) på baksidan av bromsoket eller indikatorn. Genom att göra det på detta sätt kan du lagra sändaren och mottagaren tillsammans när de inte används och har också den mjuka fuzzy sidan på ditt bärbara lock.
Testa batteriladdningen genom att ansluta en mikro -USB -kabel till USB -kontakten på Tx -modulen, om batteriet inte är fulladdat ska lysdioden lysa rött. Ibland är LiPo så nära fulladdat att laddaren IC inte kommer att ladda den, så oroa dig inte om lysdioden inte tänds från början.
Nu kan du ansluta datakabeln till en tjocklek eller indikator (allt som tar den typ av kabel som du använde).
Anslut Rx -änden till en mikro -USB -datakabel (måste vara en datakabel och inte bara en laddningskabel) och till en USB -port på din dator. Den kan behöva installera drivrutinen som gör att den kan fungera som ett tangentbord men den ska vara automatisk. Slå på Tx -modulen med strömbrytaren. Lysdioden på Rx -modulen ska blinka i några sekunder för att sedan lysa när en anslutning upprättas.
Testa genom att trycka på dataknappen på kabeln som ansluter tjocklek till sändarmodulen. Du bör se mätningen på datorskärmen. Arduino Pro Micro fungerar som ett HID -tangentbord och infogar inkommande mätningar direkt var markören befinner sig på din dator.
Programmeringen i sändarmodulen möjliggör alternativ. Du kan komma åt denna meny genom att mäta 0 fem gånger i rad. Väl i menyläge, för att välja ett menyalternativ mäta ett negativt värde som börjar med alternativnumret i menyn, till exempel för att automatiskt konvertera alla mätningar till metriska, mäta ett negativt värde med ett 1 som den första siffran utan noll. (-1.xx mm eller -0.1 tum till exempel). För att gå tillbaka till normalläge, mät 0 fem gånger och mät sedan ett negativt värde som börjar med en 3 som den första siffran utan noll). Dess programmerade på detta sätt för att undvika att konfigurera alternativ av misstag. Om man i menyläget mäter 0 igen eller något positivt värde automatiskt avbryter menyläget och återgår till normalt läge.
Menyalternativ är:
- Konvertera alla mätningar automatiskt till metriska enheter (vid behov)
- Konvertera alla mätningar automatiskt till standardenheter (om det behövs)
- Avbryt automatisk konvertering av enheter
- Avvisa negativa mätningar (skriver ut varningsmeddelande)
- Avbryt avslag på negativa mätningar
- Mät och skriv ut sändarens batterispänning (ej dokumenterad i menyn)
När du går in i menyläget skrivs alla aktuella alternativ ut högst upp som en påminnelse om gällande alternativ. Alla alternativ lagras i EEPROM och behålls efter att enheten har stängts av eller batteriet är urladdat. Batterilivslängden för de enheter som jag har byggt är cirka 45 timmars kontinuerlig användning och laddning tar cirka 3 timmar från att den är helt slut.
En icke-dokumenterad funktion är att gå in i menyläge (0 fem gånger) och sedan mäta ett negativt värde som börjar med 6 som den första icke-nollsiffran, som får den att mäta och skriva ut den aktuella batterispänningen som visas i den bifogade videon.
Min erfarenhet av de 3 enheter som jag har byggt är att sortimentet är upp till cirka 50 fot i en öppen butiksmiljö.
Steg 8: Slutliga tankar - potentiella ändringar / nya funktioner / hackbarhet
Även om du vid denna tidpunkt kommer att ha ett perfekt användbart gränssnitt som kan användas med miljontals enheter i världen, är det inte på något sätt färdigt i den meningen att inget mer kan göras. En av de söta sakerna med att ta detta tillvägagångssätt snarare än att köpa Mitutoyo U-Wave är att nu har du en enhet som kan anpassas på många sätt.
Du kan använda andra Mitutoyo -kablar för att ansluta till sändaren istället för den som jag använde för den här instruktionsboken om din enhet använder en annan kabel. Färgerna på de interna ledningarna och signalerna ska vara desamma på alla Mitutoyo -kablar. Tänk bara på att kabeln skulle behöva en dataknapp för att utlösa mätning eller att andra metoder skulle ha utformats för att utlösa mätning. En begäran om mätning kan skickas till mätaren genom att kort ansluta det grön/vita trådparet till jord (den blå tråden i mätarkabeln). Detta kan göras genom att installera en omkopplare eller 1/8 ljuduttag i sändarboxen som är ansluten till dessa ledningar och ansluta en extern strömbrytare genom den. Om du har en indikator monterad i en armatur eller behöver slippa röra mätaren ljuduttag är perfekt.
Om allt du behöver är seriell data (RS232 TTL, SPI, I2C etc) som kan åstadkommas genom kodändringar på mottagaren och ansluta direkt till stiften på Pro Micro som du väljer att använda för att mata ut data.
Fjärrkontroll: En annan intressant möjlighet skulle vara att ansluta en transistor mellan det grön/vita paret och den blå marken från mätaren med grinden ansluten till HM-10-stift 26. Anslut sedan en mottagare på 38 kHz IR-fjärrdetektor med mottagaren utgångsstiften till mottagaren Arduino Pro Micro pin 7. modifiera sedan koden på denna mikrokontroller för att leta efter specifika kommandon från valfri infraröd fjärrkontroll och trigga sedan transistorn installerad i sändaren via ett AT+PI031 / AT+PI030 fjärrsamtal liknande hur den blinkar med den blå lysdioden på sändaren nu. Detta skulle ge möjligheten att utlösa avläsningar från en avlägsen plats som under vissa omständigheter kan vara mycket praktiskt. Jag kan designa ett annat kretskort med den här inbyggda funktionen.
Jag är säker på att det finns många andra funktioner som är möjliga. Kommentera gärna med förslag, tankar och idéer.
Nu finns det en kommersiell trådlös datakommunikationsenhet tillgänglig från Mitutoyo, men när jag kollade priset var det cirka $ 800 för systemet. Den totala kostnaden för att bygga denna enhet är cirka $ 100 och kan vara mindre, särskilt om du använder en Arduino Pro Micro och eller har en Mitutoyo -datakabel liggande att använda för att ansluta till mätaren, eftersom det är två av de mest spenderade artiklarna i BOM. Jag tvivlar allvarligt på att Mitutoyo U-Wave är hackbar för att lägga till funktioner som den här.
Jag hoppas att du gillade den här instruerbara, det är min första!
Lämna kommentarer, frågor, feedback, idéer och förslag! Om du gillar det, vänligen rösta på det i PCB -tävlingen! Tack!!!!
Tvåa i PCB -tävlingen
Rekommenderad:
Väggfäste för iPad som kontrollpanel för hemautomation, med servostyrd magnet för att aktivera skärmen: 4 steg (med bilder)
Väggfäste för iPad Som kontrollpanel för hemautomation, med servostyrd magnet för att aktivera skärmen: På senare tid har jag ägnat ganska mycket tid åt att automatisera saker i och runt mitt hus. Jag använder Domoticz som min hemautomationsapplikation, se www.domoticz.com för mer information. I min sökning efter en instrumentpanelapplikation som visar all Domoticz -information tillsammans
GÖR DIN EGNA PH OCH SALINITETS ÖVERVAKNINGSSYSTEM MED LED -INDIKATORER: 4 steg
GÖR DINA EGNA PH- OCH SALINITETSÖVERVAKNINGSSYSTEM MED LED -INDIKATORER: I detta projekt kommer vi att göra ett pH- och salt-/konduktivitetsövervakningssystem med LED -indikatorer. PH- och salthaltssensorerna från Atlas Scientific används. Driften sker via I2C -protokoll och avläsningar visas på Arduinos seriella övervakning
Nytt trådlöst IOT -sensorlager för hemmiljöövervakningssystem: 5 steg (med bilder)
Nytt trådlöst IOT-sensorlager för övervakningssystem för hemmiljö: Denna instruktionsbok beskriver ett billigare, batteridrivet IOT-sensorlager för mitt tidigare Instructable: LoRa IOT Home Environmental Monitoring System. Om du inte redan har tittat på detta tidigare Instructable, rekommenderar jag att du läser introduktionen
8 Reläkontroll med NodeMCU och IR -mottagare med WiFi och IR -fjärrkontroll och Android -app: 5 steg (med bilder)
8 Reläkontroll med NodeMCU och IR -mottagare med WiFi och IR -fjärrkontroll och Android -app: Styrning av 8 reläväxlar med nodemcu och IR -mottagare via wifi och IR -fjärrkontroll och Android -app. Fjärrkontrollen fungerar oberoende av wifi -anslutning. HÄR ÄR EN UPPDATERAD VERSIONKLICK HÄR
Arduino trådlöst kombinationslås med NRF24L01 och 4 -siffrors 7 -segmentskärm: 6 steg (med bilder)
Arduino trådlöst kombinationslås med NRF24L01 och 4 -siffrors 7 -segmentskärm: Detta projekt började sitt liv som en övning för att göra något med en fyrsiffrig 7 -segmentskärm. Det jag kom på var möjligheten att ange fyrsiffrigt ett kombinationsnummer, men en gång det var klart, det var ganska tråkigt. Jag byggde den med en Arduino UNO.