Sisällysluettelo:
- Vaihe 1: Materiaalit, työkalut, laitteet, joita käytetään projektin käynnistämiseen
- Vaihe 2: Laitteistot, jotka on tehtävä
- Vaihe 3: Arduino -koodaus
- Vaihe 4: Visual Studio C# -ohjelmisto
- Vaihe 5: Tulokset
Video: Romuista valmistettu CNC-syöttönopeuden mittauslaite: 5 vaihetta
2024 Kirjoittaja: John Day | [email protected]. Viimeksi muokattu: 2024-01-30 09:03
Onko kukaan koskaan halunnut mitata todellista syöttöarvoa CNC-koneella? Luultavasti ei, ennen kuin jyrsimet ovat ehjät CNC -työn jälkeen … mutta kun ne alkavat rikkoutua säännöllisesti, ehkä on aika tutkia. Tässä ohjeessa voit seurata tehtävää CNC-koneen todellisen syöttönopeuden määrittämiseksi. Se kattaa tulostimen käänteisen suunnittelun osan, arduino-laiteohjelmiston, PC-ohjelmiston ja tulokset, jotka sain kollegoideni avulla, ja roskakorista aarre.
Vaihe 1: Materiaalit, työkalut, laitteet, joita käytetään projektin käynnistämiseen
Kun aloin työskennellä tämän asian parissa, ajattelin lyhyen luettelon tarvitsemistamme asioista:
- irrotettu tulostimen vaunumekanismi
- käsityökaluja sen säätämiseksi
- juotin, juote, johdot
- yleismittari
- oskilloskooppi tai logiikka -analysaattori - tämä ei ole ehdottoman välttämätöntä
- virtalähde
- mikroskooppi
- Arduino nano + pinout
- PC, johon on asennettu Arduino IDE, Visual Studio 2008 Express + MS Charting -työkalut
- (MPU6050 - en lopulta käyttänyt tätä)
- valmis selaamaan kaikkea, mitä et tiedä miten tehdä
Aluksi ajattelin, että MPU6050-kortin avulla voin mitata syöttöarvon kaikilla kolmella akselilla kerralla. Kun siinä oli kiihtyvyysmittari, olin varma, että kiihtyvyysmittarin tietojen yhteenveto antaa minulle halutun arvon - nopeuden kullakin akselilla. Lataamisen ja muokkaamisen jälkeen Arduino -katkelma, joka näytti raakadataa sarjamittarissa, kirjoitin Visual Studiossa pienen PC -ohjelman, joka käsittelee tiedot ja piirsin sen kaavioon tulkinnan helpottamiseksi. Minun piti ladata sekä Visual Studio C# Express 2008 että kartoitustyökalut tätä varten.
Koodauksen jälkeen jonkin aikaa ja etsimällä kaikki tarvittavat asiat sarjaliikenteeseen, päädyin piirrettyihin arvoihin, mutta riippumatta siitä, mitä tein, se ei ollut käyttökelpoinen. Pienet mutta äkilliset liikkeet johtavat valtaviin piikkeihin, kun taas pidemmät matkat eivät edes näy kaavioissa. Kahden päivän MPU6050: n vasaran jälkeen luovutin lopulta ja käännyin johonkin muuhun - purettuun tulostimen sijainnin palautusmekanismiin.
Vaihe 2: Laitteistot, jotka on tehtävä
Käänteinen suunnittelu
Tietenkin tulostinmekanismilla ei ollut osanumeroa, jota olisin voinut käyttää sen tarkkojen ominaisuuksien määrittämiseen, tarvittiin hieman käänteistä suunnittelua päästäksemme haluttuun kohtaan. Tutkittuani mekanismia ja elektroniikkaa tarkasti, päätin, että ensimmäisenä asiana on oltava optisten anturien nastojen tunnistaminen. Tämä oli tehtävä, jotta koko asia voitaisiin liittää Arduinoon. Purin mustan muoviosan, otin piirilevyn pois ja tutkin anturia: siihen oli kirjoitettu ROHM RPI-2150. Se sai minut onnelliseksi, toivo oli suuri, että löydän tietolomakkeen. Valitettavasti tämä on joko vanha tai mukautettu osa - tietolomaketta ei löytynyt mistään verkosta. Tämä tarkoitti sitä, että minun piti ottaa asiat omiin käsiin: tietäen, että näissä antureissa on yleensä infrapuna-LED ja kaksi valotransistoria, tartuin yleismittariin, asetin sen diodimittaustilaan ja aloitin mittaamisen nastojen välillä.
Virta -nastat on yleensä helppo löytää - niiden ympärillä on kondensaattoreita, ja ne on yleensä kytketty leveisiin jälkiin piirilevyissä. Maan jäljet yhdistetään usein useisiin tyynyihin melun paremman hylkäämisen varmistamiseksi.
Tulo- ja lähtönastat eivät kuitenkaan ole niin triviaalit. Kun mitataan diodin poikki, mittari näyttää etujännitteen yhteen suuntaan ja ylikuormituksen (ääretön) toiseen. Pystyin tunnistamaan neljä diodia nastojen välillä, päädyin siihen, että neljännen diodin on oltava jonkinlainen zener- tai TVS -diodi, koska se oli komponentin virtatappien välissä. Infrapunasäteilijän paikantaminen oli helppoa, sen kanssa oli 89R -vastus sarjassa. Minulle jäi kaksi diodimittausta jäljellä oleviin kahteen nastaan, joiden piti olla kaksi vastaanotinta.
Huomautus: Näissä antureissa on kaksi vastaanotinta, jotta ne voivat määrittää liikesuunnan aseman määrittämisen lisäksi laskemalla pulssit. Nämä kaksi lähtöaaltomuotoa ovat 90 ° pois vaiheesta, tätä käytetään laskenta- tai laskentapulssin tuottamiseen. Seuraamalla näiden pulssien lukumäärää, tulostuspään tarkka sijainti voidaan määrittää.
Kun lähetin ja kaksi vastaanotinta sijaitsivat, juotin johdot niiden nastoihin, jotta voin liittää anturin Arduinon kanssa. Ennen kuin tein sen, toimitin anturiin 3,3 V: n jännitteen, vedin nauhan anturin väliin pari kertaa ja havaitsin lähtöjen neliöaallon. Neliöaallon taajuus vaihteli liikenopeuden mukaan, ja päädyin siihen, että mittausjärjestelmä on nyt valmis liitettäväksi Arduinoon.
Arduinon yhdistäminen
Tämän uuden "anturin" liittäminen on erittäin helppoa. Liitä vain anturilähdöt D2: een ja D3: een (keskeytyskykyiset nastat!) Ja virtalähteisiin, ja koodaus voi alkaa.
Vaihe 3: Arduino -koodaus
Arduino -koodi on melko yksinkertainen. Määritin toiminnon, joka suoritetaan joka kerta, kun D2 näkee nousevan reunan, tämä on liittämäni Arduino -koodin kuluminen. Jos katsot toisen asteen enkooderin signaaleja, näet tämän:
- yhdessä suunnassa vaihe A on logiikka korkea jokaisessa vaiheen B nousevassa reunassa
- toisessa suunnassa vaihe A on looginen alhainen jokaisessa vaiheen B nousevassa reunassa
Tämä oli käyttämäni enkooderin ominaisuus: koska elapse -funktio suoritetaan joka kerta, kun D2: lla on nouseva reuna, kirjoitin juuri, jos se lisää laskuria, kun D3 on korkea, ja pienentää sitä, kun D3 on alhainen. Tämä toimi ensimmäisellä yrityksellä, lähetin laskurin arvon sarjamonitorille ja katsoin sen kasvavan/vähenevän, kun siirrän tulostimen päätä akselille.
Lyhyesti sanottuna, laiteohjelmisto tekee silmukkafunktiossa seuraavaa:
- tarkistaa sarjavastaanottopuskurin saapuvan datan varalta
- jos saapuvia tietoja on, tarkista, onko se 1 vai ei
- jos se on '1', se tarkoittaa, että PC -ohjelmisto pyytää laskurin arvoa
- lähettää laskurin arvon PC: lle sarjaportin kautta
- aloita alusta 1.
Pallo on nyt PC -ohjelmiston kentällä. Mennään siihen!
Vaihe 4: Visual Studio C# -ohjelmisto
VS C# -ohjelman tarkoituksena oli siirtää laskennallinen taakka Arduinolta tietokoneelle. Tämä ohjelmisto vastaanottaa Arduinon tarjoamat tiedot, laskee ja näyttää nopeuden kaavion muodossa.
Ensin tein Googlesta, miten sarjaliikenne tapahtuu C#: ssa. Löysin paljon hyvää tietoa MSDN.com -sivustolta ja hyvän esimerkin, ja sitten heitin vain sen, mitä en tarvinnut - periaatteessa kaiken paitsi lukuosan. Asensin COM-portin ja nopeuden vastaamaan Arduinon nopeutta, sitten yritin vain muutaman kerran ja pudotin kaiken sarjaporttiin tulevan moniriviseen tekstikenttään.
Kun arvot oli luettu, voisin vain käyttää readto & split -toimintoja eristääksesi yhden mittauksen toisistaan ja erotinmerkeistä. Nämä piirrettiin kaavion ohjausobjektiin, ja arvot alkoivat näkyä näytöllä.
Jos et näe kaavion ohjausobjektia VS -työkalupakissa, voit googlettaa ongelman ja löytää ratkaisun täältä (etsi vastaus #1): linkki
Mittausperiaate
Löytääksesi yhteyden lukumäärän ja pään kulkeman etäisyyden välillä nollasimme laskenta -arvon, liikutimme tulostinpäätä 100 mm käsin ja havaitsimme lukumäärän muutoksen. Lopulta saimme seuraavan osuuden: 1 määrä = 0,17094 mm.
Koska voimme kysyä etäisyyttä ja voimme mitata näytteiden välisen ajan, voimme laskea nopeuden, jolla sijainnin muutos tapahtuu - voimme laskea nopeuden!
TMR0: n ansiosta ohjelmiston ajoitus on noin 50 ms, mutta huomasimme, että nämä ajoitukset eivät olleet liian tarkkoja. Itse asiassa joidenkin ohjelmiston nopeusmittausten jälkeen huomasimme, että ajoitettu 50 ms ei ole ollenkaan 50 ms. Tämä tarkoitti sitä, että näytteitä ei otettu tietyin väliajoin, joten nopeuslaskenta ei myöskään voinut käyttää kiinteää aikaväliä. Kun löysimme tämän ongelman, oli helppo siirtyä eteenpäin: otimme etäisyyseron ja aikaeron ja laskimme nopeuden arvoksi D_distance/D_time (D-distance/50ms).
Lisäksi koska yhtälö palauttaisi nopeuden yksiköinä mm/50 ms, meidän on kerrottava tämä 1200: lla saadaksesi etäisyyden, jonka pää menisi minuutissa [mm/minuutti].
Huomautus: Mach 3 CNC-myllyn ohjausohjelmisto määrittää syöttönopeudet yksiköissä [mm/minuutti]
Suodatus
Tästä lähtien mittaukset näyttivät olevan melko tarkkoja, mutta mitatussa signaalissa oli jonkin verran kohinaa. Epäilimme, että tämä johtui akselin, akselikytkimen jne. Mekaanisista epäjohdonmukaisuuksista, joten päätimme suodattaa sen pois saadaksemme mukavan keskiarvon mitatusta.
Hienoja säätöjä ohjelmistoon
Näytteenottotaajuuden ja suodatusnopeuden muuttamiseksi ajon aikana vierityspalkkeja lisättiin - yksi kullekin. Lisäksi otettiin käyttöön mahdollisuus piilottaa juonet.
Vaihe 5: Tulokset
Kun laitteisto- ja ohjelmisto -osat olivat valmiit, suoritimme kolme mittaussarjaa mach 3 + -ohjelmistollani, näet tulokset liitteenä olevista kuvista. Myöhemmin tehdyt kokeet osoittivat parempaa tarkkuutta sekä suodattimen että näytteenottotaajuuden kasvaessa. Käyrät osoittavat mitatun nopeuden kiinteällä punaisella ja keskiarvon viiva-pisteellä sinisellä.
Näyttää kuitenkin siltä, että Mach 3 käsittelee nämä nopeusasetukset melko tarkasti, mutta nyt tiedämme varmasti:)
Toivottavasti pidit tästä lyhyestä ohjeesta käänteisestä suunnittelusta ja veden muuttamisesta viiniksi!
Kippis!
Suositeltava:
Jumbo-kokoinen teleskooppivalo-maalari, joka on valmistettu EMT: stä (sähkö) Johto: 4 vaihetta (kuvilla)
Jumbo-kokoinen teleskooppivalo-maalari, joka on valmistettu EMT (sähkö) -johdosta: Valomaalausta (valokirjoitusta) kuvaava valokuva otetaan ottamalla pitkävalotuskuva, pitämällä kamera paikallaan ja liikuttamalla valonlähdettä, kun kameran aukko on auki. Kun aukko sulkeutuu, valoradat näyttävät jäätyneen
Vesipiano, joka on valmistettu lasipurkista: 3 vaihetta
Lasipurkkiin tehty vesipiano: Tämä on hämmästyttävä ja helppo projekti kaikille. En käyttänyt mikro- tai IC -ohjainta. Tämä vesipiano käyttää pieniä purkkeja.Tämä on todella perusprojekti.Tee tehdäksesi tämä projekti noudattamalla ohjeita
Yksinkertainen ja halpa lämpötilan mittauslaite termistorin avulla: 5 vaihetta
Yksinkertainen ja halpa lämpötilan mittauslaite termistorin avulla: yksinkertainen ja halpa lämpötila -anturi, joka käyttää NTC -termistoristermistoria, muuttaa vastustaan ajan muuttuessa käyttämällä tätä ominaisuutta. Rakennamme lämpötila -anturia tietääksemme lisää termistorista https://fi.wikipedia.org/wiki/ Termistori
Puhuva UV-indeksin mittauslaite, käyttäen VEML6075-anturia ja pikku kaveripuhujaa: 5 vaihetta
Puhuva UV-indeksin mittauslaite, käyttäen VEML6075-anturia ja pikku kaveripuhujaa: Kesät tulossa! Aurinko paistaa, mikä on hienoa. Mutta kun ultravioletti (UV) -säteily lisääntyy, kaltaiseni ihmiset saavat pisamia, pieniä ruskeita saaria, jotka uivat punaisen, auringonpolttaman, kutisevan ihon meressä. Mahdollisuus saada reaaliaikaista tietoa
Lämpötila, suhteellinen kosteus, ilmakehän paineen mittauslaite Raspberry Pi- ja TE-yhteyksien avulla MS8607-02BA01: 22 vaihetta (kuvien kanssa)
Lämpötila, suhteellinen kosteus, ilmakehän paineen mittauslaite Raspberry Pi- ja TE Connectivity -laitteiden avulla MS8607-02BA01: Johdanto: Tässä projektissa näytän sinulle, kuinka rakentaa asennus vaiheittain kirjausjärjestelmä lämpötilan kosteuden ja ilmanpaineen mittaamiseksi. Tämä projekti perustuu Raspberry Pi 3 Model B- ja TE Connectivity -ympäristöanturisiruun MS8607-02BA