女士们先生们,您好。
在本文中,我将讨论一种用于从车床和铣床上的数字标尺和其他传感器获取读数的设备的开发。
开发尚未完成,将描述目前所做的工作。
谁在乎,欢迎来猫。
为什么要自己开发而不是最终产品。我有两台金属机器(中文):铣削和车削。
我会定期在其上生产不同程度的产品(我不是车床或铣床操作员,这只是一种爱好)。 而且,如果产品复杂,则您必须拿起计算器并计算切刀或切刀的进度。 而且,如果切刀/切刀的行程足够大,那么我们必须考虑卡尺手柄的旋转,这很令人讨厌。 结果,我想到了DRO(为此长期购买了数字卡尺,但是时间的缺乏却不断地延迟了制造过程)。
在开始开发DRO之前,我必须回答有关我自己开发的适当性的两个问题:
- 为什么不购买成品?
- 网络上有许多DRO项目,具有不同的难度级别,并详细描述了DIY制造。 那么,为什么不收集其中之一呢?
我回答自己。
是的,市场上有许多国内和国外的产品,它们具有不同的价格和功能。 相同的阿里(Ali)提供带有三条光缆的现成DRO,价格约为13,000卢布。 -这种设备的价格非常低。 但是我对制造过程本身很感兴趣,因此删除了“购买并安装”选项。
回答第二个问题,我将自己放在一个自己的地方,这个人自己将根据某种说明以及他应该做什么来组装设备。 即:
- 购买必要的组件:处理器,指示器,按钮以及诸如电阻器,电容器,稳定器等小物件。 (没有这个,当然,没有地方);
- 根据项目的复杂程度,制造/购买印刷电路板;
- 然后焊接所有东西并使处理器闪烁;
- 之后,对错误进行处理;
只有完成了这些步骤,您才能获得成品。 每个步骤都需要花费一些时间,而且由于一个人是个懒惰而急躁的生物(从字面意义上来说),他希望尽快查看设备工作的结果,即使是中间情况。 但是,我还是决定以这样一种方式来开发我的设备:即使在组装过程的一开始,一个人也会看到他的工作产生的中间结果。
现在有必要选择一个实施委员会。
在基于Atmega和STM的Arduino之间进行选择。
我是一名顶级程序员,但是在工作中我必须对Atmega和MSP-430微控制器进行编程,而我对STM并不熟悉。 因此,我选择了Atmega。 我选择了基于Atmega328微控制器的最便宜的板卡(或没有?我刚买了它们)Arduino Nano。
ShDRO功能:(划掉的功能尚未实现)
- Arduino Nano板,Atmega328处理器;
- 与阅读器相连的12个独立的Arduino通道/端口;
- 每个通道具有以下属性:类型(CLKin,DATAin,Ain,Bin等),EI(启用中断),IL(中断级别),Inv(发明信号);
- 最大连接设备数:6;
- 可以为每个设备分配12个可用通道中的一个或多个通道;
- 协议支持:24BIT,
21BIT , BCD7 ,BIN6,正交信号, 来自转速表的周期性信号 (可以添加新协议); - 控制台:允许在组装和操作过程中使用终端程序配置和测试shDRO;
- 在控制台模式下,实现了“伪”逻辑分析器,使您可以读取控制台中指定的通道级别并确定交换协议。 样本的最大数量为256,样本之间的最小测量时间为8微秒。 必须配置至少一个正在分析的通道以中断;
模块化方案:
该设备包含以下模块:
- 三个稳压器5v。,3v。,1.5.v。 3v稳定剂。 和1.5.v. 可调的。 这些电压水平用于数字卡尺(1.5v。)和iGAGING线(3v。);
- 4个基于MAX7219的八位七段显示器,级联到硬件SPI;
- 键盘。 键盘由两个电阻矩阵组成:在这种情况下为2x4和4x4,板上的走线布局更简单(但是您可以制作两个3x4矩阵,使用它们更方便)。 每个矩阵都连接到ADC通道。
对我而言,使用电阻矩阵是一个很大的缺点,因为 随着时间的流逝,按钮的电阻会增加,并且ADC测得的电压电平也会相应变化。 但是“诚实”矩阵根本没有板子的支腿/端口(对于24个按钮,需要10个端口)。 基于此,固件实现了键盘的学习功能,可以随时进行学习,并且您无需与终端程序连接(培训内容将写在下面)。 - 扬声器,其连接到计时器1的硬件支路;
- 适配器板,用于协调设备和Arduino端口之间的电平;
- 4个DB9母连接器(好吧,您需要安装6个连接器,因为shDRO支持多达6个设备,但是假设轴将使用3个连接器,并且其他设备之间共享一个连接器,那么我并没有弄乱机箱的后面板。) 。 连接器是最简单的,带有用于焊接电线的支脚。 电线依次焊接到转接板上;
选择此类型的连接器是由于以下原因:可靠性(与USB连接器和RJ-45相比),大量的插针且易于接线。 我也有一条带有这种连接器的光缆。
电路图:
在下一部分中,我将描述shDRO的逻辑,描述当前可用的控制台命令,并列出固件的第一个版本。
第二部分。