Sisukord:
- Samm: projekti käivitamiseks kasutatud materjalid, tööriistad, seadmed
- 2. samm: riistvara, mis tuli teha
- Samm: Arduino kodeerimine
- 4. samm: tarkvara Visual Studio C#
- 5. samm: tulemused
Video: Vanametallist valmistatud CNC etteande mõõtmise tööriist: 5 sammu
2024 Autor: John Day | [email protected]. Viimati modifitseeritud: 2024-01-30 08:49
Kas keegi on kunagi tahtnud mõõta tegelikku etteandekiirust CNC-masinal? Tõenäoliselt mitte, enne kui freesid on pärast CNC -tööd terved … aga kui need hakkavad regulaarselt purunema, on ehk aeg uurida. Selles juhendis saate CNC-masina tegeliku etteandekiiruse määramiseks järgida ülesannet. See hõlmab printeri pöördprojekteerimise osa, arduino püsivara, arvutitarkvara ja minu kolleegide abiga saadud tulemusi ning aardeks muudetud prügikasti.
Samm: projekti käivitamiseks kasutatud materjalid, tööriistad, seadmed
Sellega tegelema asudes mõtlesin välja lühikese nimekirja asjadest, mida vajame:
- lahti võetud printerikanduri mehhanism
- käsitööriistad selle parandamiseks
- jootekolb, jootetraat, juhtmed
- multimeeter
- ostsilloskoop või loogikaanalüsaator - see pole absoluutselt vajalik
- toiteallikas
- mikroskoop
- Arduino nano + pinout
- Arvuti, kuhu on installitud Arduino IDE, Visual Studio 2008 Express + MS Charting tööriistad
- (MPU6050 - ma ei kasutanud seda lõpuks)
- valmis sirvima kõike, mida te ei tea, kuidas seda teha
Alguses arvasin, et MPU6050 plaat võimaldab mul mõõta etteande kiirust kõigil kolmel teljel korraga. Kui kiirendusmõõtur oli sees, olin kindel, et kiirendusmõõturi andmete kokkuvõtmine annab mulle soovitud väärtuse - kiiruse igal teljel. Pärast Arduino jupi allalaadimist ja muutmist, mis näitasid seeriamonitoril töötlemata andmeid, kirjutasin Visual Studio'is väikese arvutiprogrammi, mis andmeid töödeldi, ja joonistasin selle diagrammi lihtsamaks tõlgendamiseks. Selleks pidin alla laadima nii Visual Studio C# Express 2008 kui ka graafikutööriistad.
Pärast mõnda aega kodeerimist ja kõikide jadakommunikatsiooni jaoks vajalike asjade otsimist jõudsin lõpuks joonistatud väärtusteni, kuid olenemata sellest, mida tegin, ei olnud see kasutatav. Väikesed, kuid äkilised liigutused tooksid kaasa tohutuid naelu, samas kui pikemad reisid ei ilmu isegi edetabelitesse. Pärast kahepäevast MPU6050 haamrit andsin lõpuks alla ja pöördusin millegi muu poole - lahti võetud printeri asukoha tagasiside mehhanismi.
2. samm: riistvara, mis tuli teha
Pöördtehnika
Loomulikult ei olnud printerimehhanismil osa numbrit, mida oleksin saanud kasutada selle täpsete omaduste kindlaksmääramiseks, oli vaja veidi ümberpööramist, et jõuda soovitud kohale. Pärast mehhanismi ja elektroonika põhjalikku uurimist otsustasin, et esimene asi peab olema optiliste andurite tihvtide tuvastamine. Seda tuli teha, et ühendada kogu asi Arduinoga. Võtsin musta plastosa lahti, ekstraheerisin trükkplaadi ja uurisin andurit: sellele oli kirjutatud ROHM RPI-2150. See tegi mind õnnelikuks, lootus oli suur, et leian andmelehe. Kahjuks on see kas vana või kohandatud osa - andmelehte ei leitud kuskilt veebist. See tähendas, et pidin asjad enda kätte võtma: teades, et nendes andurites on tavaliselt infrapuna-LED ja kaks fototransistorit, haarasin multimeetri, seadsin selle dioodide mõõtmisrežiimi ja hakkasin tihvtide vahel mõõtma.
Toitepistikuid on tavaliselt lihtne leida - neil on kondensaatorid ja need on tavaliselt ühendatud laiade jälgedega trükkplaatidel. Maapinna jäljed on sageli ühendatud mitme padjaga, et müra paremini summutada.
Sisendi ja väljundi tihvtid pole siiski nii tühised. Dioodi mõõtmisel näitab arvesti ühes suunas oma edasipinget ja teises suunas ülekoormust (lõpmatu). Suutsin tihvtide vahel tuvastada neli dioodi, jõudsin järeldusele, et neljas diood peab olema mingi zeneri- või TVS -diood, kuna see oli täpselt komponendi toitepistikute vahel. Infrapuna kiirguri leidmine oli lihtne, sellega oli jadamisi 89R takisti. Ülejäänud kahel tihvtil jäin kahe dioodi mõõtmisega, need pidid olema kaks vastuvõtjat.
Märkus. Nendel anduritel on kaks vastuvõtjat, et lisaks positsiooni määramisele impulsside loendamise abil oleks võimalik määrata ka liikumissuund. Need kaks väljundlainekuju on faasist 90 ° väljas, seda kasutatakse loendus- või loenduspulsi tekitamiseks. Nende impulsside arvu jälgides saab määrata prindipea täpse asendi.
Kui emitter ja kaks vastuvõtjat paiknesid, jootsin nende tihvtidele juhtmed, nii et saan anduri ühendada Arduinoga. Enne seda andsin andurile 3,3 V toite, tõmbasin paar korda riba anduri vahele ja jälgisin väljundite ruudulainet. Ruutlaine sagedus varieerus vastavalt liikumiskiirusele ja jõudsin järeldusele, et mõõtmissüsteem on nüüd valmis Arduinoga ühendamiseks.
Arduino ühendamine
Selle uue anduri ühendamine on väga lihtne. Lihtsalt ühendage andurite väljundid D2 ja D3-ga (katkestusvõimelised tihvtid!), Toitejuhtmed ja kodeerimine võib alata.
Samm: Arduino kodeerimine
Arduino kood on üsna lihtne. Ma määrasin funktsiooni, mis käivitub iga kord, kui D2 näeb tõusvat serva, see on lisatud Arduino koodi lõppemise funktsioon. Kui vaatate ruutmeetri signaale, näete järgmist:
- ühes suunas on faas A loogiline igal faasi B tõusva serval
- teises suunas on faas A loogiline iga faasi B tõusev serv
See oli kodeerija omadus, mida ma kasutasin: kuna funktsioon elapse käivitub iga kord, kui D2 -l on tõusev serv, kirjutasin ma lihtsalt, kui see suurendab loendurit, kui D3 on kõrge, ja vähendab seda, kui D3 on madal. See töötas esimesel katsel, saatsin loenduri väärtuse seeriamonitorile ja jälgisin selle suurenemist/vähenemist, kui printeripea võllil liigutasin.
Lühidalt öeldes teeb püsivara silmusefunktsioonis järgmist:
- kontrollib jada vastuvõtu puhvrit sissetulevate andmete osas
- sissetulevate andmete korral kontrollige, kas see on 1 või mitte
- kui see on '1', tähendab see, et arvuti tarkvara küsib loenduri väärtust
- saatke loenduri väärtus arvutisse jada kaudu
- alustage algusest 1.
Sellega on pall nüüd arvutitarkvara väljakul. Asume sellesse!
4. samm: tarkvara Visual Studio C#
Programmi VS C# eesmärk oli arvutuskoormuse nihutamine Arduino arvutist. See tarkvara võtab vastu Arduino pakutavad andmed, arvutab ja kuvab kiiruse graafiku kujul.
Mida ma kõigepealt tegin, oli guugeldada, kuidas C#jadaühendust teha. Leidsin MSDN.com -ist palju head teavet koos hea näitega, siis viskasin lihtsalt vajaliku välja - põhimõtteliselt kõik peale lugemisosa. Seadistasin COM-pordi ja kiiruse Arduino omaga vastavusse, siis proovisin vaid paar korda ja viskasin kõik, mis jadaportis oli, mitme rea tekstikasti.
Pärast väärtuste lugemist võisin lihtsalt kasutada funktsioone readto & split, et eraldada üks mõõtmine üksteisest ja eraldajatest. Need joonistati diagrammi juhtelemendile ja väärtused hakkasid ekraanile ilmuma.
Kui te ei näe diagrammi juhtelementi oma VS -i tööriistakastis, võite probleemi googeldada ja siit lahenduse leida (otsige vastust nr 1): link
Mõõtmise põhimõte
Loenduste arvu ja pea läbitud vahemaa vahelise seose leidmiseks nullisime loendusväärtuse, nihutasime käsitsi printeripea 100 mm ja jälgisime loenduste muutumist. Lõpuks jõudsime järgmise proportsioonini: 1 arv = 0,17094 mm.
Kuna saame küsida kaugust ja saame mõõta proovide vahelist aega, saame arvutada positsiooni nihkumise kiiruse - saame arvutada kiiruse!
Tänu TMR0 -le on tarkvara ligikaudne ajastus 50 ms, kuid täheldasime, et need ajastused ei olnud liiga täpsed. Tegelikult leidsime pärast mõningaid tarkvara kiiruse mõõtmisi, et ajastatud 50 ms pole üldse 50 ms. See tähendas, et proove ei võetud kindla intervalliga, seega ei saanud ka kiiruse arvutamisel kasutada kindlat ajavahemikku. Kui leidsime selle probleemi, oli lihtne edasi liikuda: võtsime vahe ja aja erinevuse ning arvutasime kiiruseks D_distance/D_time (D-distance/50ms).
Samuti, kuna meie võrrand tagastab kiiruse mm/50 ms ühikutes, peame selle korrutama 1200 -ga, et saada kaugus, mille pea läbiks ühe minuti jooksul [mm/minutis].
Märkus: Mach 3 CNC veski juhtimistarkvara määratleb etteandekiirused ühikutes [mm/minut]
Filtreerimine
Sellest hetkest alates tundusid mõõtmised üsna täpsed, kuid mõõdetud signaalil oli müra. Kahtlustasime, et selle põhjuseks on võlli, võlli haakeseadise jms mehaanilised vastuolud, seega otsustasime selle välja filtreerida, et saada mõõdetud väärtuse kena keskmine väärtus.
Tarkvara täpsed kohandused
Proovimäära ja filtrimäära muutmiseks käitamise ajal lisati kerimisribad - üks kummagi jaoks. Samuti tutvustati kruntide peitmise võimalust.
5. samm: tulemused
Kui riistvara ja tarkvara osad olid valmis, tegime masinaga 3 + minu tarkvara kolm mõõtmiste komplekti, tulemusi näete lisatud piltidel. Hilisemad katsed näitasid paremat täpsust, nii filtri kui ka proovivõtu sagedust suurendati. Graafikud näitavad mõõdetud kiirust pideva punasega ja keskmist kriips-punktiga sinisega.
Nagu öeldud, tundub, et Mach 3 käsitleb neid kiiruse seadeid üsna täpselt, kuid nüüd teame kindlalt:)
Loodan, et teile meeldis see lühike õpetus pöördtehnoloogia ja vee veiniks muutmise kohta!
Tervist!
Soovitan:
Diy DC alalisvoolu mõõtmise moodul Arduino jaoks: 8 sammu
Diy Dc võimsuse mõõtmise moodul Arduino jaoks: Selles projektis näeme, kuidas teha alalisvoolu võimsuse mõõtmise moodul Arduino abil
Kontaktivaba infrapuna temperatuuri mõõtmise komplekt: 9 sammu
Kontaktivaba infrapuna temperatuuri mõõtmise komplekt: äkiline haiguspuhang uue aasta alguses 2020. aastal jättis maailma kahjumisse, mask, termomeetripüstol
Kauguse mõõtmise kell: 4 sammu
Kauguse mõõtmise kell: Selles projektis olen Arduino kaugusemõõtesüsteemi tihendanud ja kella külge paigaldanud. Projekt on lahe, lihtne ja kasulik. Kaugusmõõtmissüsteem põhineb lihtsal kauguse, kiiruse ja aja füüsikal
IoT toitemoodul: IoT võimsuse mõõtmise funktsiooni lisamine minu päikeseenergia laadimiskontrollerile: 19 sammu (piltidega)
IoT võimsusmoodul: IoT võimsuse mõõtmise funktsiooni lisamine minu päikeseenergia laadimiskontrollerile: Tere kõigile, ma loodan, et olete kõik suurepärased! Selles juhendis näitan teile, kuidas ma tegin IoT võimsuse mõõtmise mooduli, mis arvutab mu päikesepaneelide toodetud võimsuse, mida kasutab minu päikeseenergia laadimiskontroller
Päikeseenergial töötav elektripank vanametallist: 3 sammu
Päikeseenergial töötav toitepank jääkidest: päikeseenergial töötav toitepank on valmistatud vanast sülearvuti akust. See on väga odav ja seda saab laadida päikeseenergiast. Sellel on ka ekraan, mis näitab toitepanga võimsusprotsenti. Alustame