Përmbajtje:

Mjeti matës i normës së ushqimit CNC i bërë nga skrap: 5 hapa
Mjeti matës i normës së ushqimit CNC i bërë nga skrap: 5 hapa

Video: Mjeti matës i normës së ushqimit CNC i bërë nga skrap: 5 hapa

Video: Mjeti matës i normës së ushqimit CNC i bërë nga skrap: 5 hapa
Video: 选民同情怜悯心提升川普民调究竟谁下的毒?如何做投票观察员而不被起诉战争动乱时期保命护身五大技能 Voters feel compassion for raising Trump polls . 2024, Nëntor
Anonim
Mjet matës i normës së ushqimit CNC të bërë nga skrap
Mjet matës i normës së ushqimit CNC të bërë nga skrap

A ka dashur ndonjëherë dikush të masë normën aktuale të ushqimit në një makinë CNC? Ndoshta jo, derisa copat e bluarjes të jenë të paprekura pas një pune CNC … por kur ato fillojnë të prishen në baza të rregullta, mbase është koha për të hetuar. Në këtë udhëzues ju mund të ndiqni një kërkim në përcaktimin e shkallës aktuale të ushqimit të një makine CNC. Do të mbulojë pjesën e inxhinierisë së kundërt të një printeri, firmueri arduino, softuer PC, dhe rezultatet që mora me ndihmën e kolegëve të mi, dhe një plehër të kthyer në thesar.

Hapi 1: Materialet, Mjetet, Pajisjet e Përdorura për të Filluar Projektin

Kur fillova të punoja në këtë, unë mendova një listë të shkurtër të gjërave që do të na duhen:

  • mekanizmi i transportit të çmontuar të printerit
  • mjete dore për ta rregulluar atë
  • hekur bashkues, bashkues, tela
  • multimetër
  • oshiloskop ose analizues logjik - kjo nuk është absolutisht e nevojshme
  • furnizimi me energji elektrike
  • mikroskop
  • Arduino nano + pinout
  • PC me Arduino IDE, Visual Studio 2008 Express + Mjetet e grafikut të MS të instaluar
  • (MPU6050 - përfundova duke mos e përdorur këtë)
  • i gatshëm të shfletoni për gjithçka që nuk dini si të bëni

Në fillim, mendova se një tabelë MPU6050 do të më lejojë të mat normën e ushqimit në të tre akset në të njëjtën kohë. Duke pasur akselerometrin brenda tij, isha i sigurt se përmbledhja e të dhënave të akselerometrit do të më jepte vlerën e dëshiruar - shpejtësinë në secilin aks. Pas shkarkimit dhe modifikimit të një fragmenti Arduino që shfaqte të dhëna të papërpunuara në monitorin serik, unë shkrova një program të vogël PC në Visual Studio që përpunoi të dhënat dhe e komplotova në një tabelë për interpretim më të lehtë. Më duhej të shkarkoja Visual Studio C# Express 2008 dhe mjetet e grafikimit për këtë.

Pasi kodova pak dhe kërkova të gjitha gjërat që më duheshin për komunikim serik, përfundova me vlerat e planifikuara, por pavarësisht se çfarë bëra, nuk ishte e përdorshme. Lëvizjet e vogla por të papritura do të rezultonin në goditje të mëdha, ndërsa udhëtimet më të gjata as që do të shfaqeshin në tabela. Pas dy ditësh me çekiç MPU6050, më në fund hoqa dorë dhe iu drejtova diçkaje tjetër - mekanizmit të reagimit të pozicionit të një printeri të çmontuar.

Hapi 2: Gjërat e harduerit që duheshin bërë

Gjëra Hardware që duheshin bërë
Gjëra Hardware që duheshin bërë
Gjëra Hardware që duheshin bërë
Gjëra Hardware që duheshin bërë
Gjëra Hardware që duheshin bërë
Gjëra Hardware që duheshin bërë
Gjëra Hardware që duheshin bërë
Gjëra Hardware që duheshin bërë

Inxhinieri e kundërt

Sigurisht, mekanizmi i printerit nuk kishte numrin e pjesës që mund të kisha përdorur për të përcaktuar vetitë e tij të sakta, kishte nevojë për një inxhinieri të kundërt për të arritur atje ku donim. Pasi shqyrtova nga afër mekanizmin dhe elektronikën, vendosa që gjëja e parë duhet të jetë identifikimi i kunjave të sensorit optik. Kjo duhej bërë në mënyrë që të ndërlidhej e tëra me Arduino. Unë e çmontova pjesën plastike të zezë, nxora PCB-në dhe ekzaminova sensorin: kishte të shkruar ROHM RPI-2150. Kjo më bëri të lumtur, shpresa ishte e madhe që do të gjeja një fletë të të dhënave. Fatkeqësisht kjo është ose një pjesë e vjetër, ose një porosi - nuk kishte asnjë fletë të të dhënave që të gjendej kudo në internet. Kjo do të thoshte që unë duhej t'i merrja gjërat në duart e veta: duke ditur që këta sensorë zakonisht kanë një LED infra të kuqe dhe dy foto-transistorë brenda, kapa një multimetër, e vendosa në modalitetin e matjes së diodës dhe fillova të matem midis kunjave.

Kunjat e rrymës janë zakonisht të lehtë për tu gjetur - ata do të kenë kondensatorë nëpër to, dhe ato zakonisht lidhen me gjurmë të gjera në PCB -të. Gjurmët e tokës shpesh lidhen me jastëkë të shumtë për refuzimin më të mirë të zhurmës.

Kunjat e hyrjes dhe daljes nuk janë aq të parëndësishme, megjithatë. Kur matni nëpër një diodë, njehsori do të tregojë tensionin e tij përpara në një drejtim dhe mbingarkesë (pafund) në tjetrin. Isha në gjendje të identifikoja katër dioda midis kunjave, arrita në përfundimin se dioda e katërt duhet të jetë një lloj diodë zener ose TVS, pasi ishte e drejtë midis kunjave të energjisë të përbërësit. Gjetja e emetuesit infra të kuqe ishte e lehtë, kishte një rezistencë 89R në seri me të. Më lanë dy matje të diodës në dy kunjat e mbetur, ato duhej të ishin dy marrësit.

Shënim: Këta sensorë kanë dy marrës në mënyrë që të jenë në gjendje të përcaktojnë drejtimin e lëvizjes përveç përcaktimit të pozicionit duke numëruar pulset. Këto dy forma valore dalëse janë 90 ° jashtë fazës, kjo përdoret për të prodhuar një impuls numërimi ose numërimi poshtë. Duke ndjekur numrin e këtyre impulseve, pozicioni i saktë i kokës së printimit mund të përcaktohet.

Kur emetuesi dhe dy marrësit u vendosën, unë bashkova telat në kunjat e tyre, kështu që mund ta ndërlidh sensorin me Arduino. Para se ta bëja këtë, e furnizova sensorin me 3.3V, tërhoqa rripin midis sensorit disa herë dhe vëzhgova valën katrore në daljet. Frekuenca e valës katrore ndryshonte me shpejtësinë e lëvizjes, dhe unë arrita në përfundimin se sistemi i matjes tani është gati për t'u lidhur me Arduino.

Lidhja e Arduino

Lidhja e këtij 'sensori' të ri është shumë e lehtë. Thjesht lidhni daljet e sensorit me D2 dhe D3 (kunjat e aftë për ndërprerje!), Dhe linjat e furnizimit me energji, dhe kodimi mund të fillojë.

Hapi 3: Kodimi Arduino

Kodimi Arduino
Kodimi Arduino

Kodi Arduino është mjaft i thjeshtë. I caktova një funksion që ekzekutohet sa herë që D2 sheh një avantazh në rritje, ky është funksioni i kalimit nga kodi Arduino që kam bashkangjitur. Nëse i hidhni një sy sinjaleve të një koduesi kuadratik, do të shihni këtë:

  • në një drejtim faza A është logjikë e lartë në çdo fazë B në skajin në rritje
  • në drejtimin tjetër faza A është logjikë e ulët në çdo fazë B në skajin në rritje

Kjo ishte pronë e kodifikuesit që përfitova: meqenëse funksioni i kalimit ekzekutohet sa herë që D2 ka një avantazh në rritje, unë thjesht shkrova një nëse rrit një numërues kur D3 është i lartë dhe e zvogëlon atë kur D3 është i ulët. Kjo funksionoi në përpjekjen e parë, unë e dërgova vlerën e kundërt në monitorin serik dhe e pashë atë të rritet/ulet kur lëvizja kokën e printerit në bosht.

Me pak fjalë, firmware bën gjënë e mëposhtme në funksionin e lakut:

  1. kontrollon tamponin e marrjes serike për çdo të dhënë në hyrje
  2. nëse ka të dhëna hyrëse, kontrolloni nëse është '1' apo jo
  3. nëse është '1', do të thotë që programi kompjuterik po kërkon vlerën kundër
  4. dërgoni vlerën e numëruesit në PC përmes serisë
  5. fillo nga 1.

Me këtë, topi është në fushën e softuerit PC tani. Le të futemi në këtë!

Hapi 4: Softueri Visual Studio C#

Qëllimi i programit VS C# ishte të zhvendoste barrën llogaritëse nga Arduino në PC. Ky softuer merr të dhënat që Arduino po siguron, llogarit dhe shfaq shpejtësinë në formën e një grafiku.

Ajo që bëra së pari ishte të kërkoja në Google se si të bëja komunikim serik në C#. Gjeta shumë informacione të mira në MSDN.com së bashku me një shembull të mirë, pastaj hodha jashtë atë që nuk më duhej - në thelb gjithçka përveç pjesës së leximit. Vendosa portën COM dhe shpejtësinë që të përputhen me atë të Arduino, pastaj thjesht i provova disa dhe hodha gjithçka që erdhi në portën serike në një kuti teksti me shumë rreshta.

Pasi vlerat u lexuan, unë thjesht mund të përdor funksionet readto & split për të izoluar një matje nga njëra -tjetra, dhe nga karakteret përcaktues. Këto u komplotuan në një kontroll të Grafikut dhe vlerat filluan të shfaqen në ekran.

Nëse nuk mund ta shihni kontrollin e Grafikut në kutinë tuaj të veglave VS, mund të kërkoni në Google problemin dhe gjeni zgjidhjen këtu (kërkoni përgjigjen #1): lidhja

Parimi i matjes

Për të gjetur lidhjen midis numrit të numërimeve dhe distancës që kalon koka, ne kemi zerozuar vlerën e numërimit, kemi lëvizur kokën e printerit 100 mm me dorë dhe kemi vërejtur ndryshimin e numërimeve. Më në fund dolëm me proporcionin e mëposhtëm: 1 numërim = 0.17094mm.

Meqenëse ne mund të pyesim distancën dhe mund të matim kohën midis mostrave, ne mund të llogarisim shkallën në të cilën ndodh zhvendosja e pozicionit - ne mund të llogarisim shpejtësinë!

Ekziston një kohë e përafërt e softuerit prej 50ms falë TMR0, por ne vumë re se këto kohë nuk ishin shumë të sakta. Në fakt, pas disa matjeve të shpejtësisë së softuerit, zbuluam se koha 50ms nuk është 50ms fare. Kjo do të thotë se mostrat nuk janë marrë në interval fiks, kështu që llogaritja e shpejtësisë nuk mund të përdorë as një bazë fikse kohore. Pasi e gjetëm këtë çështje, ishte e lehtë të vazhdonim përpara: morëm diferencën në distancë dhe ndryshimin në kohë dhe e llogaritëm shpejtësinë si D_distance/D_time (në vend të D-distance/50ms).

Gjithashtu, për shkak se ekuacioni ynë do të kthejë shpejtësinë në njësi mm/50ms, ne duhet ta shumëzojmë këtë me 1200 për të marrë distancën që koka do të shkonte në një minutë, në [mm/minutë].

Shënim: Softueri kontrollues Mach 3 CNC përcakton normat e ushqimit në njësi prej [mm/minutë]

Filtrimi

Nga kjo pikë e tutje, matjet dukeshin të ishin mjaft të sakta, por kishte një zhurmë në sinjalin e matur. Ne dyshuam se kjo ishte për shkak të mospërputhjeve mekanike në bosht, bashkim bosht, etj, kështu që vendosëm ta filtrojmë atë, për të marrë një vlerë të mirë mesatare të asaj që matet.

Përshtatje të shkëlqyera në softuer

Për të ndryshuar shkallën e mostrës dhe normën e filtrit gjatë kohës së ekzekutimit, u shtuan shiritat e rrotullimit - një për secilën. Gjithashtu, u prezantua gjithashtu aftësia për të fshehur komplotet.

Hapi 5: Rezultatet

Rezultatet
Rezultatet
Rezultatet
Rezultatet
Rezultatet
Rezultatet
Rezultatet
Rezultatet

Pasi pjesët e harduerit dhe softuerit ishin gati, ne bëmë tre grupe matjesh me mach 3 + softuerin tim, ju mund t'i shihni rezultatet në fotot e bashkangjitura. Eksperimentet e mëvonshme treguan saktësi më të mirë, me normat e filtrit dhe mostrës të rritur. Vizatimet tregojnë shpejtësinë e matur me të kuqe të ngurtë dhe mesataren me blu me pika.

Duke u thënë kështu, duket se Mach 3 i trajton këto cilësime shpejtësie me saktësi, por tani e dimë me siguri:)

Shpresoj se ju ka pëlqyer ky udhëzim i shkurtër për inxhinierinë e kundërt dhe shndërrimin e ujit në verë!

Urime!

Recommended: