【彩色转盘控制器】
1、功能
工业相机拍摄4张照片,分别透过白色、红色、绿色和蓝色的滤光片,以获取物体的全色信息。控制器上电后,电机自动校准零位(白色光片),电脑上位机界面点击"开始拍摄",系统会按照设定顺序控制电机旋转,切换滤光片,相机拍摄对应滤光片的照片,拍摄完成后自动切换到零位(白色光片)。
关键需求:
控制精度0.35mm不能有漏光
完成4张图片拍摄时间小于4S
控制方式1:工业相机拍摄完成后输出电平进行切换
控制方式2:通过连接电脑通讯进行控制切换
待添加
后期优化:
设备供电:内置电池,type-C充电,电量维持正常工作一天。
软硬件开源,实现后期更改和维护的便捷性。
后期使用的不优雅的地方随时添加在此处。
2、机械结构设计(选2号电机)
电机选型1:涡轮蜗杆霍尔编码器减速电机。
电机的控制精度取决于编码器的分辨率和控制算法。这款霍尔编码器有A、B两项输出,电机旋转1圈有11个脉冲,AB两项总和就是22个脉冲,电机旋转一圈是360°,因此每个脉冲对应旋转角度为约16.36°。加上蜗轮蜗杆减速机构和控制算法的调校,可以实现较高的定位精度。
下图为双霍尔传感器信号输出原理:当有磁铁从接近传感器到离开传感器时,传感器会产生一个完整的方波信号。两霍尔传感器通过控制摆放位置就能确定相位差。
因为之前没有相关开发经验,不太确定能否达到要求的控制精度0.35mm。所以在减速器输出轴增加一个磁编码器,通过实时监测位置误差来提高精度。
增加编码器需要增加额外的机械机构,磁铁固定在输出轴上。编码器需要正对磁铁保持一定距离。
电机选型2:薄型步进电机
超薄步进电机的尺寸比涡轮蜗杆减速电机相比更加紧凑,使得整体设计更加节省空间。
更改超薄电机后圆盘半径增加10mm。
步进驱动器
驱动器PCB尺寸和超薄电机尺寸合适。接线端口需要手工调整下。
驱动器主控是STM32,有可能逆向出来关键的功能,自己写程序控。
主要用到的功能:
电机使能:发送 01 F3 AB 01 00 6B, 正确返回 01 F3 02 6B, 条件不满足返回 01 F3E2 6B, 错误命令返回 01 00 EE 6B
读取电机实时位置:发送 01 36 6B, 正确返回 01 36 01 00 01 00 00 6B, 错误命令返回 01 00 EE 6B
读取电机位置误差:发送 01 FD 01 05 DC 00 00 00 7D 00 00 00 6B, 正确返回 01 FD 02 6B,条件不满足返回 01 FD E2 6B, 错误命令返回 01 00 EE 6B
位置模式控制:发送 01 FD 01 05 DC 00 00 00 7D 00 00 00 6B, 正确返回 01 FD 02 6B,条件不满足返回 01 FD E2 6B, 错误命令返回 01 00 EE 6B
工业相机
相机可以输出脉冲信号控制驱动器转到固定位置进行滤光片切换。
需要尝试相机能否用GPIO模拟出来脉冲信号
线束连接
相机和驱动器有接线要确认双方内部的电路结构
硬件设计
待定
软件设计
控制方式1:工业相机和步进电机全部由电脑通讯协议控制完成4张拍照。
将工业相机的USB通讯线、驱动器的CAN转USB通讯线连接电脑。
控制器上电,电机自动找零点和相机自检完成与电脑的通讯成功。
电脑控制相机拍摄照片,收到相机拍摄完成信息,和图片信息.
电脑通过R485通讯控制电机旋转到位置2(蓝色滤镜),返回驱动器实时位置。
重复上述动作,拍摄完成后,控制驱动器返回零点(白色滤镜)。
连接线束:相机USB通讯线一条、R485转USB通讯线一条、24V电源线一条
优点:驱动器位置控制精度高
缺点:上位机控制复杂,线束多
控制方式2:电脑点击一次,相机控制电机旋转完成切换拍照
连线、上电、通讯、找零。
控制相机拍照,相机脉冲控制驱动器旋转固定位置。
拍摄完成完成后,脉冲控制归零。
连接线束:相机USB通讯线一条、24V电源线一条
优点:线束少
缺点:上位机控制复杂,电机不确定是否能输出脉冲,驱动其控制位置读取不到(开环位置有偏差)
控制方式3:电脑点击一次,相机和电机闭环自动完成切换拍照
实现功能关键点:
电机完成指定位置后需要输出电平给到相机
相机完成拍照后,脉冲控制驱动器到达指定位置然后输出电平。(淘宝购买驱动器实现不了此功能,需要做一块小PCB板转接)
淘宝的硬件可逆向、软件定制开发(开发周期长)
PCB板功能:
单独一个USB口,可以充电、USBhub功能连接(相机和PCB板子)
一路光耦输入采集(相机拍摄完成后输出高电平,采集后控制电机固定位置)
一路光耦输出(告诉相机位置切换完毕)
一路R485通讯(控制驱动器切换固定位置,同时回读相关信息)
内置电池,type-C充电,电量维持正常工作一天。
连接线束:USB通讯线一条
优点:线束少,控制精度高,内置电池外观整洁。
缺点:确定开发周期长,需要硬件验证