资料介绍
描述
如果您必须为项目钻孔一定深度,则需要带有深度显示的台钻。大多数台钻都有一个带箭头的尺子用于阅读。钻孔的成功取决于您读取所需位置的准确度。在这个 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 岁以下的眼镜可以读取准确的钻孔深度。
所以永远记住保罗的话:修复你的问题!
玩得开心!
- XV7011BB陀螺仪传感器广泛用于工业应用
- 用于导航系统的数字输出陀螺仪传感器
- XV-9300LP 微型陀螺仪传感器适用汽车系统
- 陀螺仪传感器-它们是如何工作的,未来会发生什么
- 针对工业应用的抗振动和姿态控制的陀螺仪传感器:XV7021BB
- 陀螺仪x轴和y轴的应用
- EPSON X2A0002710002 XV7011BB陀螺仪传感器的特征和用途
- EPSON的GGPM6083STD陀螺仪传感器(压电侠)
- XV-3510CB振动陀螺仪传感器
- XV7081BB陀螺仪传感器
- 爱普生陀螺仪传感器的特点
- MPU6050六轴陀螺仪传感器实验的资料合集免费下载 28次下载
- MPU6050陀螺仪传感器的资料合集免费下载 138次下载
- MPU6050陀螺仪传感器的电路原理图免费下载 103次下载
- 加速度计和陀螺仪传感器_原理_检测及应用 42次下载
- 手机陀螺仪失灵解决方法 2.2w次阅读
- 陀螺仪感应器常见的应用领域 1096次阅读
- 陀螺仪传感器的分类_陀螺仪传感器有什么用 7623次阅读
- 工业和汽车级MEMS陀螺仪的应用 4084次阅读
- 陀螺仪传感器工作原理_陀螺仪传感器的应用 7572次阅读
- 地磁传感器有什么用_地磁传感器与陀螺仪区别 2w次阅读
- 带你看看高精度陀螺仪有哪些 2w次阅读
- 分析三轴陀螺仪的工作原理及应用 1.8w次阅读
- 陀螺仪传感器和加速度传感器的区别和相关应用 4387次阅读
- 陀螺仪有什么用_陀螺仪的特性图解_陀螺仪的应用 9942次阅读
- 三轴陀螺仪有什么用_三轴陀螺仪的作用 1.3w次阅读
- 详解三轴陀螺仪的威廉希尔官方网站 原理 4490次阅读
- 三轴陀螺仪基本威廉希尔官方网站 原理解析 3273次阅读
- 详解冷门但很重要的手机陀螺仪 4.3w次阅读
- ADI ADXRS624:完整的陀螺仪传感方案 1446次阅读
下载排行
本周
- 1山景DSP芯片AP8248A2数据手册
- 1.06 MB | 532次下载 | 免费
- 2RK3399完整板原理图(支持平板,盒子VR)
- 3.28 MB | 339次下载 | 免费
- 3TC358743XBG评估板参考手册
- 1.36 MB | 330次下载 | 免费
- 4DFM软件使用教程
- 0.84 MB | 295次下载 | 免费
- 5元宇宙深度解析—未来的未来-风口还是泡沫
- 6.40 MB | 227次下载 | 免费
- 6迪文DGUS开发指南
- 31.67 MB | 194次下载 | 免费
- 7元宇宙底层硬件系列报告
- 13.42 MB | 182次下载 | 免费
- 8FP5207XR-G1中文应用手册
- 1.09 MB | 178次下载 | 免费
本月
- 1OrCAD10.5下载OrCAD10.5中文版软件
- 0.00 MB | 234315次下载 | 免费
- 2555集成电路应用800例(新编版)
- 0.00 MB | 33566次下载 | 免费
- 3接口电路图大全
- 未知 | 30323次下载 | 免费
- 4开关电源设计实例指南
- 未知 | 21549次下载 | 免费
- 5电气工程师手册免费下载(新编第二版pdf电子书)
- 0.00 MB | 15349次下载 | 免费
- 6数字电路基础pdf(下载)
- 未知 | 13750次下载 | 免费
- 7电子制作实例集锦 下载
- 未知 | 8113次下载 | 免费
- 8《LED驱动电路设计》 温德尔著
- 0.00 MB | 6656次下载 | 免费
总榜
- 1matlab软件下载入口
- 未知 | 935054次下载 | 免费
- 2protel99se软件下载(可英文版转中文版)
- 78.1 MB | 537798次下载 | 免费
- 3MATLAB 7.1 下载 (含软件介绍)
- 未知 | 420027次下载 | 免费
- 4OrCAD10.5下载OrCAD10.5中文版软件
- 0.00 MB | 234315次下载 | 免费
- 5Altium DXP2002下载入口
- 未知 | 233046次下载 | 免费
- 6电路仿真软件multisim 10.0免费下载
- 340992 | 191187次下载 | 免费
- 7十天学会AVR单片机与C语言视频教程 下载
- 158M | 183279次下载 | 免费
- 8proe5.0野火版下载(中文版免费下载)
- 未知 | 138040次下载 | 免费
评论
查看更多