電子發(fā)燒友App

硬聲App

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示
創(chuàng)作
電子發(fā)燒友網(wǎng)>電子資料下載>電子資料>帶陀螺儀傳感器的鉆孔深度顯示

帶陀螺儀傳感器的鉆孔深度顯示

2022-11-17 | zip | 0.06 MB | 次下載 | 免費

資料介紹

描述

如果您必須為項目鉆孔一定深度,則需要帶有深度顯示的臺鉆。大多數(shù)臺鉆都有一個帶箭頭的尺子用于閱讀。鉆孔的成功取決于您讀取所需位置的準(zhǔn)確度。在這個 Arduino 項目中,我提出了一個替代方案:帶有陀螺儀傳感器的鉆孔深度顯示器和帶有 Arduino 支持的 7 段顯示器。

我在車間最常使用的機器不是鋸或磨床。到目前為止,這是臺鉆。無論項目如何,它實際上總是被使用。如果我需要一定的鉆孔深度,我可以使用機器上的內(nèi)置尺子。記住我必須鉆到的深度。它實際上運作良好。

但是隨著年齡的增長——是的,是的,是的——對我來說,以毫米精度讀取深度變得越來越困難。而如果光線不夠亮,則幾乎無法閱讀。但是只是為此戴上眼鏡?鉆孔后,眼鏡存放在哪里?我還沒有那么遠。

忠實于“2 Secon Lean”中 Paul Akers 的座右銘:

修復(fù)你的問題!

必須有一個更好的解決方案,你只需思考并做到。

測量可能性

我當(dāng)然可以在刻度前放一個放大鏡,使尺子更容易閱讀。它會改善讀數(shù),但我必須記住每種情況下的測量值也無濟于事。如果你在做手工藝品,那也應(yīng)該很有趣。

這就是為什么電子解決方案要好得多的原因。最好在一個小空間里,以便所有東西都放在鉆頭的開/關(guān)開關(guān)旁邊。對于這種情況,我喜歡使用 Arduino Nano。它有足夠的引腳來控制幾乎所有東西,并且相應(yīng)地很小。

但是如何測量鉆孔深度?長度測量有多種可能性。安裝超聲波測量?可以工作,但只需要一點機械裝置,它與鉆頭一起移動作為反射表面。還是使用拉線編碼器如果您自己構(gòu)建它是可能的,但非常復(fù)雜:帶有轉(zhuǎn)盤、叉形光柵和彈簧復(fù)位。最好馬上帶一個旋轉(zhuǎn)編碼器?這將意味著更少的組件 - 是的,但它太粗糙了,你必須安裝齒輪才能翻譯。

好吧,那就多想想吧。

我的鉆頭和大多數(shù)鉆頭一樣,側(cè)面有一個手輪來調(diào)節(jié)深度。它可以旋轉(zhuǎn)大約。270°。所以甚至沒有一個完整的回合。

這非常適合使用陀螺儀傳感器進行角度測量。電纜連接不能扭曲,只需要一個便宜的組件。陀螺儀傳感器也可以很容易地直接連接到手輪的旋轉(zhuǎn)軸上。

概念

在指定鉆孔深度時,我總是以相同的方式進行:用鉆頭刮擦表面,記下坐標(biāo),然后添加所需的鉆孔深度,最后鉆孔直到達到深度。

我想保留基本流程。為了不鉆得太深,我想收到有關(guān)何時達到鉆孔深度的信息。

?
?
?
poYBAGN1H8mAMu3RAAA6Szgj8tw135.jpg
?
1 / 2
?

一個按鈕接管了這個功能。當(dāng)您按下它時,Arduino 會將當(dāng)前鉆孔位置保存為停止值,并在以后到達時隨時提醒我。

其余組件占用更多空間且重量明顯更大。幸運的是,我的機器外殼是金屬制成的。這就是為什么我使用釹磁鐵來固定它。

問題仍然存在,傳感器應(yīng)該如何連接到機器上?

鉆頭的軸上有一個 SW17 六角螺母。所以我只需要一個可以接受傳感器并且可以插入六角螺母的 3D 打印組件。

pYYBAGN1H8uARwZYAABkF7-lRik837.jpg
?

所需組件

  • Arduino納米
  • 陀螺儀傳感器 GY-521
  • 8位7段模塊(帶MAX7219 IC的SPI版本)
  • 按鈕
  • 開/關(guān)
  • 電源:用于 AA 或 AAA 電池或移動電源的電池夾
  • 3D打印外殼
  • 釹磁鐵

陀螺儀傳感器的連接

陀螺儀傳感器通過 I2C 連接。所以我們必須為 Nano 使用 A5 和 A4。

  • VCC -> 5V
  • 接地 -> 接地
  • SCL -> A5
  • SDA -> A4
  • XDA -> 未連接
  • XCL -> 未連接
  • ADO -> 未連接
  • INT -> 未連接

7段模塊

連接 7 段模塊時可以使用任何數(shù)字引腳。使用 Arduino 草圖設(shè)置引腳。

  • VCC -> 3.3V
  • 接地 -> 接地
  • DIN -> D12
  • CS -> D10
  • 時鐘-> D11

按鈕

按鈕的輸入引腳也可以自由選擇。我正在使用引腳 D9。

電源

對于電源,我使用 6 節(jié) AA 電池。在開/關(guān)開關(guān)后,它們?yōu)檎麄€系統(tǒng)供電

套管

我使用 Autodesk Fusion 360 設(shè)計了外殼。我使用 Anycubic i3 Mega 創(chuàng)建了 3D 打印。

用于連接機器的釹磁鐵被粘在里面。如果整個鉆孔深度顯示受到阻礙,所有東西都會很快被移除。

阿杜諾素描

我使用LedControl.h庫來控制 7 段顯示。如果您還沒有安裝這些,您必須首先使用庫管理器安裝它們。

陀螺儀傳感器通過 I2C 總線連接。在為傳感器尋找可能的庫時,我決定不使用任何庫。通信是通過Wire.h 進行的

在文章的末尾,您會找到一些幫助我理解的鏈接。

7 段顯示器的控制與LedControl配合得非常好。

用引腳初始化后,設(shè)置過程只需要一些準(zhǔn)備工作即可喚醒顯示器并調(diào)整亮度。

在循環(huán)部分,顯示屏僅以數(shù)字顯示當(dāng)前鉆孔深度和停止位置(如果已設(shè)置)。

顯示器需要每個數(shù)字作為字符類型。我想使用小數(shù)位作為準(zhǔn)確性。函數(shù) dtostrf 將浮點數(shù)轉(zhuǎn)換為字符數(shù)組。然后變成一個字符串以在顯示屏上按字符顯示。

dtostrf ( currentPos, 4,1, txt ) ;
s = '' + String ( txt ) ;
lc. setChar ( 0,4, see charAt ( see length () -1 ) , false ) ;
lc. setChar ( 0.5, see charAt ( see length () -3 ) , true ) ;
lc. setChar ( 0.6, see charAt ( see length () -4 ) , false ) ;
lc. setChar ( 0.7, see charAt ( see length () -5 ) , false ) ;

到達停止位置時,顯示屏上會出現(xiàn)“StOP”。可以使用setRow過程和適當(dāng)?shù)奈荒J?B00001111 生成小“t”。

讀取陀螺儀傳感器通過線庫的功能工作。我只使用加速度計來確定角位置。

使用 USB 連接到 Arduino IDE 時,一切正常。拔下并連接外部電源后,傳感器沒有提供任何數(shù)據(jù)。它僅在重置 Arduino 后再次起作用。

這讓我在整個項目中最頭疼。你可以說鉆孔深度指示器可能救了我的眼睛,但這就是我拔掉幾乎所有頭發(fā)的原因!

經(jīng)過長時間的搜索,在喚醒傳感器后設(shè)置等待時間是解決方案。這使得延遲(1000)成為整個源代碼中最重要的命令。

//prepare GY-521 sensor
//we use only accelerator data
Wire.begin();
Wire.beginTransmission(MPU);
Wire.write(0x6B);
Wire.write(0x00); // wake up MPU
Wire.endTransmission(true);

//this delay was very necessary in my case!
delay(1000);

Wire.beginTransmission(MPU);
Wire.write(0x1C); //register ACCEL_CONFIG
Wire.write(0x10); //Set as 00010000 for +/- 8g full scale range
Wire.endTransmission(true);

偏移值必須在一開始就為傳感器確定好,否則數(shù)值會出現(xiàn)波動。在設(shè)置部分,測量了 100 個值并對偏差進行平均。

從傳感器數(shù)據(jù)計算角度并不容易。但是有很多關(guān)于如何進行計算的說明。

使用以下公式計算以度為單位的 X 角:

AccAngleX = (atan ((AccY) / sqrt (pow ((AccX), 2) + pow ((AccZ), 2))) * rad_to_deg);

但是,加速度傳感器的數(shù)值波動很大。因此,當(dāng)前計算的值與之前的值各取 50% 的平均值。

TotalAngleX = 0.5 * TotalAngleX + 0.5 * AccAngleX;

角度值由傳感器從-90°到+90°輸出。但我需要一個從 0° 到 360° 的角度來轉(zhuǎn)換為鉆孔深度。

我還沒有找到一個簡單的解決方案。然而,對于我的應(yīng)用程序,查看傳感器數(shù)據(jù) Z 和 Y 是正數(shù)還是負數(shù)就足夠了。并相應(yīng)地轉(zhuǎn)換角度。

delta=0;
if ((AccZ<0)) { 
  delta=180.0-TotalAngleX*2.0;
}
if ((AccZ>0)&&(AccY<0)) {
  delta=360.0;
}
DrillingMachineAngle=TotalAngleX+delta;

//if near 360°, display better 0°
if (DrillingMachineAngle>350) {DrillingMachineAngle=0;}

仍然缺少的是手輪能夠?qū)崿F(xiàn)的最大可能旋轉(zhuǎn)角度。最簡單的方法是通過 Serial.print 輸出確定的角度并記下最大值。

對我來說是316°。最大鉆孔深度為 50 mm 時,當(dāng)前位置計算如下:

currentPos=50.0/316.0*DrillingMachineAngle;

如果按下按鈕,Arduino 會保存當(dāng)前鉆孔位置。顯示屏上顯示 8888,等待 1 秒。

如果設(shè)置了停止位置,則直到停止的剩余鉆孔深度顯示在右側(cè)顯示屏上。

組裝和測試

陀螺傳感器最好用一點熱膠固定。引導(dǎo)連接電纜穿過蓋板。這就是這部分。

在第一次測試中,陀螺傳感器必須首先對齊。我是水平安裝的。由于支架設(shè)計為可旋轉(zhuǎn),因此可以輕松調(diào)整,直到顯示屏上顯示 0.0。

?
?
?
poYBAGN1H82AOlf0AABbNrtdafw624.jpg
?
1 / 6
?

然后可以開始第一個測試。總的來說,我對解決方案非常滿意。傳感器反應(yīng)非常迅速,計算值與鉆孔深度完全匹配。

得益于大型 LED 顯示屏,我不必擔(dān)心 85 歲以下的眼鏡可以讀取準(zhǔn)確的鉆孔深度。

所以永遠記住保羅的話:修復(fù)你的問題!

玩得開心!

?


下載該資料的人也在下載 下載該資料的人還在閱讀
更多 >

評論

查看更多

下載排行

本周

  1. 1山景DSP芯片AP8248A2數(shù)據(jù)手冊
  2. 1.06 MB  |  532次下載  |  免費
  3. 2RK3399完整板原理圖(支持平板,盒子VR)
  4. 3.28 MB  |  339次下載  |  免費
  5. 3TC358743XBG評估板參考手冊
  6. 1.36 MB  |  330次下載  |  免費
  7. 4DFM軟件使用教程
  8. 0.84 MB  |  295次下載  |  免費
  9. 5元宇宙深度解析—未來的未來-風(fēng)口還是泡沫
  10. 6.40 MB  |  227次下載  |  免費
  11. 6迪文DGUS開發(fā)指南
  12. 31.67 MB  |  194次下載  |  免費
  13. 7元宇宙底層硬件系列報告
  14. 13.42 MB  |  182次下載  |  免費
  15. 8FP5207XR-G1中文應(yīng)用手冊
  16. 1.09 MB  |  178次下載  |  免費

本月

  1. 1OrCAD10.5下載OrCAD10.5中文版軟件
  2. 0.00 MB  |  234315次下載  |  免費
  3. 2555集成電路應(yīng)用800例(新編版)
  4. 0.00 MB  |  33566次下載  |  免費
  5. 3接口電路圖大全
  6. 未知  |  30323次下載  |  免費
  7. 4開關(guān)電源設(shè)計實例指南
  8. 未知  |  21549次下載  |  免費
  9. 5電氣工程師手冊免費下載(新編第二版pdf電子書)
  10. 0.00 MB  |  15349次下載  |  免費
  11. 6數(shù)字電路基礎(chǔ)pdf(下載)
  12. 未知  |  13750次下載  |  免費
  13. 7電子制作實例集錦 下載
  14. 未知  |  8113次下載  |  免費
  15. 8《LED驅(qū)動電路設(shè)計》 溫德爾著
  16. 0.00 MB  |  6656次下載  |  免費

總榜

  1. 1matlab軟件下載入口
  2. 未知  |  935054次下載  |  免費
  3. 2protel99se軟件下載(可英文版轉(zhuǎn)中文版)
  4. 78.1 MB  |  537798次下載  |  免費
  5. 3MATLAB 7.1 下載 (含軟件介紹)
  6. 未知  |  420027次下載  |  免費
  7. 4OrCAD10.5下載OrCAD10.5中文版軟件
  8. 0.00 MB  |  234315次下載  |  免費
  9. 5Altium DXP2002下載入口
  10. 未知  |  233046次下載  |  免費
  11. 6電路仿真軟件multisim 10.0免費下載
  12. 340992  |  191187次下載  |  免費
  13. 7十天學(xué)會AVR單片機與C語言視頻教程 下載
  14. 158M  |  183279次下載  |  免費
  15. 8proe5.0野火版下載(中文版免費下載)
  16. 未知  |  138040次下載  |  免費