資料介紹
描述
如果您必須為項目鉆孔一定深度,則需要帶有深度顯示的臺鉆。大多數臺鉆都有一個帶箭頭的尺子用于閱讀。鉆孔的成功取決于您讀取所需位置的準確度。在這個 Arduino 項目中,我提出了一個替代方案:帶有陀螺儀傳感器的鉆孔深度顯示器和帶有 Arduino 支持的 7 段顯示器。
我在車間最常使用的機器不是鋸或磨床。到目前為止,這是臺鉆。無論項目如何,它實際上總是被使用。如果我需要一定的鉆孔深度,我可以使用機器上的內置尺子。記住我必須鉆到的深度。它實際上運作良好。
但是隨著年齡的增長——是的,是的,是的——對我來說,以毫米精度讀取深度變得越來越困難。而如果光線不夠亮,則幾乎無法閱讀。但是只是為此戴上眼鏡?鉆孔后,眼鏡存放在哪里?我還沒有那么遠。
忠實于“2 Secon Lean”中 Paul Akers 的座右銘:
修復你的問題!
必須有一個更好的解決方案,你只需思考并做到。
測量可能性
我當然可以在刻度前放一個放大鏡,使尺子更容易閱讀。它會改善讀數,但我必須記住每種情況下的測量值也無濟于事。如果你在做手工藝品,那也應該很有趣。
這就是為什么電子解決方案要好得多的原因。最好在一個小空間里,以便所有東西都放在鉆頭的開/關開關旁邊。對于這種情況,我喜歡使用 Arduino Nano。它有足夠的引腳來控制幾乎所有東西,并且相應地很小。
但是如何測量鉆孔深度?長度測量有多種可能性。安裝超聲波測量?可以工作,但只需要一點機械裝置,它與鉆頭一起移動作為反射表面。還是使用拉線編碼器?如果您自己構建它是可能的,但非常復雜:帶有轉盤、叉形光柵和彈簧復位。最好馬上帶一個旋轉編碼器?這將意味著更少的組件 - 是的,但它太粗糙了,你必須安裝齒輪才能翻譯。
好吧,那就多想想吧。
我的鉆頭和大多數鉆頭一樣,側面有一個手輪來調節深度。它可以旋轉大約。270°。所以甚至沒有一個完整的回合。
這非常適合使用陀螺儀傳感器進行角度測量。電纜連接不能扭曲,只需要一個便宜的組件。陀螺儀傳感器也可以很容易地直接連接到手輪的旋轉軸上。
概念
在指定鉆孔深度時,我總是以相同的方式進行:用鉆頭刮擦表面,記下坐標,然后添加所需的鉆孔深度,最后鉆孔直到達到深度。
我想保留基本流程。為了不鉆得太深,我想收到有關何時達到鉆孔深度的信息。

一個按鈕接管了這個功能。當您按下它時,Arduino 會將當前鉆孔位置保存為停止值,并在以后到達時隨時提醒我。
其余組件占用更多空間且重量明顯更大。幸運的是,我的機器外殼是金屬制成的。這就是為什么我使用釹磁鐵來固定它。
問題仍然存在,傳感器應該如何連接到機器上?
鉆頭的軸上有一個 SW17 六角螺母。所以我只需要一個可以接受傳感器并且可以插入六角螺母的 3D 打印組件。

所需組件
陀螺儀傳感器的連接
陀螺儀傳感器通過 I2C 連接。所以我們必須為 Nano 使用 A5 和 A4。
7段模塊
連接 7 段模塊時可以使用任何數字引腳。使用 Arduino 草圖設置引腳。
- VCC -> 3.3V
- 接地 -> 接地
- DIN -> D12
- CS -> D10
- 時鐘-> D11
按鈕
按鈕的輸入引腳也可以自由選擇。我正在使用引腳 D9。
電源
對于電源,我使用 6 節 AA 電池。在開/關開關后,它們為整個系統供電。
套管
我使用 Autodesk Fusion 360 設計了外殼。我使用 Anycubic i3 Mega 創建了 3D 打印。
用于連接機器的釹磁鐵被粘在里面。如果整個鉆孔深度顯示受到阻礙,所有東西都會很快被移除。
阿杜諾素描
我使用LedControl.h庫來控制 7 段顯示。如果您還沒有安裝這些,您必須首先使用庫管理器安裝它們。
陀螺儀傳感器通過 I2C 總線連接。在為傳感器尋找可能的庫時,我決定不使用任何庫。通信是通過Wire.h 進行的。
在文章的末尾,您會找到一些幫助我理解的鏈接。
7 段顯示器的控制與LedControl配合得非常好。
用引腳初始化后,設置過程只需要一些準備工作即可喚醒顯示器并調整亮度。
在循環部分,顯示屏僅以數字顯示當前鉆孔深度和停止位置(如果已設置)。
顯示器需要每個數字作為字符類型。我想使用小數位作為準確性。函數 dtostrf 將浮點數轉換為字符數組。然后變成一個字符串以在顯示屏上按字符顯示。
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 ) ;
到達停止位置時,顯示屏上會出現“StOP”。可以使用setRow過程和適當的位模式 B00001111 生成小“t”。
讀取陀螺儀傳感器通過線庫的功能工作。我只使用加速度計來確定角位置。
使用 USB 連接到 Arduino IDE 時,一切正常。拔下并連接外部電源后,傳感器沒有提供任何數據。它僅在重置 Arduino 后再次起作用。
這讓我在整個項目中最頭疼。你可以說鉆孔深度指示器可能救了我的眼睛,但這就是我拔掉幾乎所有頭發的原因!
經過長時間的搜索,在喚醒傳感器后設置等待時間是解決方案。這使得延遲(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);
偏移值必須在一開始就為傳感器確定好,否則數值會出現波動。在設置部分,測量了 100 個值并對偏差進行平均。
從傳感器數據計算角度并不容易。但是有很多關于如何進行計算的說明。
使用以下公式計算以度為單位的 X 角:
AccAngleX = (atan ((AccY) / sqrt (pow ((AccX), 2) + pow ((AccZ), 2))) * rad_to_deg);
但是,加速度傳感器的數值波動很大。因此,當前計算的值與之前的值各取 50% 的平均值。
TotalAngleX = 0.5 * TotalAngleX + 0.5 * AccAngleX;
角度值由傳感器從-90°到+90°輸出。但我需要一個從 0° 到 360° 的角度來轉換為鉆孔深度。
我還沒有找到一個簡單的解決方案。然而,對于我的應用程序,查看傳感器數據 Z 和 Y 是正數還是負數就足夠了。并相應地轉換角度。
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;}
仍然缺少的是手輪能夠實現的最大可能旋轉角度。最簡單的方法是通過 Serial.print 輸出確定的角度并記下最大值。
對我來說是316°。最大鉆孔深度為 50 mm 時,當前位置計算如下:
currentPos=50.0/316.0*DrillingMachineAngle;
如果按下按鈕,Arduino 會保存當前鉆孔位置。顯示屏上顯示 8888,等待 1 秒。
如果設置了停止位置,則直到停止的剩余鉆孔深度顯示在右側顯示屏上。
組裝和測試
陀螺傳感器最好用一點熱膠固定。引導連接電纜穿過蓋板。這就是這部分。
在第一次測試中,陀螺傳感器必須首先對齊。我是水平安裝的。由于支架設計為可旋轉,因此可以輕松調整,直到顯示屏上顯示 0.0。

然后可以開始第一個測試。總的來說,我對解決方案非常滿意。傳感器反應非常迅速,計算值與鉆孔深度完全匹配。
得益于大型 LED 顯示屏,我不必擔心 85 歲以下的眼鏡可以讀取準確的鉆孔深度。
所以永遠記住保羅的話:修復你的問題!
玩得開心!
?
- 愛普生XV-9300LP汽車陀螺儀傳感器的特征和用途
- XV7011BB陀螺儀傳感器廣泛用于工業應用
- 用于導航系統的數字輸出陀螺儀傳感器
- XV-9300LP 微型陀螺儀傳感器適用汽車系統
- 陀螺儀傳感器-它們是如何工作的,未來會發生什么
- 針對工業應用的抗振動和姿態控制的陀螺儀傳感器:XV7021BB
- 陀螺儀x軸和y軸的應用
- EPSON X2A0002710002 XV7011BB陀螺儀傳感器的特征和用途
- EPSON的GGPM6083STD陀螺儀傳感器(壓電俠)
- XV-3510CB振動陀螺儀傳感器
- XV7081BB陀螺儀傳感器
- MPU6050六軸陀螺儀傳感器實驗的資料合集免費下載 29次下載
- MPU6050陀螺儀傳感器的資料合集免費下載 138次下載
- MPU6050陀螺儀傳感器的電路原理圖免費下載 103次下載
- 加速度計和陀螺儀傳感器_原理_檢測及應用 42次下載
- 手機陀螺儀失靈解決方法 2.9w次閱讀
- 陀螺儀感應器常見的應用領域 1895次閱讀
- 陀螺儀傳感器的分類_陀螺儀傳感器有什么用 7896次閱讀
- 工業和汽車級MEMS陀螺儀的應用 4419次閱讀
- 陀螺儀傳感器工作原理_陀螺儀傳感器的應用 7752次閱讀
- 地磁傳感器有什么用_地磁傳感器與陀螺儀區別 2w次閱讀
- 帶你看看高精度陀螺儀有哪些 2.1w次閱讀
- 分析三軸陀螺儀的工作原理及應用 1.8w次閱讀
- 陀螺儀傳感器和加速度傳感器的區別和相關應用 4510次閱讀
- 陀螺儀有什么用_陀螺儀的特性圖解_陀螺儀的應用 1w次閱讀
- 三軸陀螺儀有什么用_三軸陀螺儀的作用 1.3w次閱讀
- 詳解三軸陀螺儀的技術原理 4780次閱讀
- 三軸陀螺儀基本技術原理解析 3577次閱讀
- 詳解冷門但很重要的手機陀螺儀 4.3w次閱讀
- ADI ADXRS624:完整的陀螺儀傳感方案 1521次閱讀
下載排行
本周
- 1DD3118電路圖紙資料
- 0.08 MB | 1次下載 | 免費
- 2AD庫封裝庫安裝教程
- 0.49 MB | 1次下載 | 免費
- 3PC6206 300mA低功耗低壓差線性穩壓器中文資料
- 1.12 MB | 1次下載 | 免費
- 4網絡安全從業者入門指南
- 2.91 MB | 1次下載 | 免費
- 5DS-CS3A P00-CN-V3
- 618.05 KB | 1次下載 | 免費
- 6海川SM5701規格書
- 1.48 MB | 次下載 | 免費
- 7H20PR5電磁爐IGBT功率管規格書
- 1.68 MB | 次下載 | 1 積分
- 8IP防護等級說明
- 0.08 MB | 次下載 | 免費
本月
- 1貼片三極管上的印字與真實名稱的對照表詳細說明
- 0.50 MB | 103次下載 | 1 積分
- 2涂鴉各WiFi模塊原理圖加PCB封裝
- 11.75 MB | 89次下載 | 1 積分
- 3錦銳科技CA51F2 SDK開發包
- 24.06 MB | 43次下載 | 1 積分
- 4錦銳CA51F005 SDK開發包
- 19.47 MB | 19次下載 | 1 積分
- 5PCB的EMC設計指南
- 2.47 MB | 16次下載 | 1 積分
- 6HC05藍牙原理圖加PCB
- 15.76 MB | 13次下載 | 1 積分
- 7802.11_Wireless_Networks
- 4.17 MB | 12次下載 | 免費
- 8蘋果iphone 11電路原理圖
- 4.98 MB | 6次下載 | 2 積分
總榜
- 1matlab軟件下載入口
- 未知 | 935127次下載 | 10 積分
- 2開源硬件-PMP21529.1-4 開關降壓/升壓雙向直流/直流轉換器 PCB layout 設計
- 1.48MB | 420064次下載 | 10 積分
- 3Altium DXP2002下載入口
- 未知 | 233089次下載 | 10 積分
- 4電路仿真軟件multisim 10.0免費下載
- 340992 | 191390次下載 | 10 積分
- 5十天學會AVR單片機與C語言視頻教程 下載
- 158M | 183342次下載 | 10 積分
- 6labview8.5下載
- 未知 | 81588次下載 | 10 積分
- 7Keil工具MDK-Arm免費下載
- 0.02 MB | 73815次下載 | 10 積分
- 8LabVIEW 8.6下載
- 未知 | 65989次下載 | 10 積分
評論