3、硬件系统搭建:把图纸上的方案变成能跑的机器
说实话,硬件搭建这部分,看着好像就是拧螺丝、接电线。但我在项目里吃过不少亏,才明白一个道理:标定算法再牛,硬件装歪了,神仙也救不了。这一章,我就把相机安装、光源调校、编码器接线、运动平台设置这些硬骨头,一个一个掰开讲。
核心原则:硬件搭建的终极目标,是让相机、光源、运动平台三者形成一个稳定的“采集闭环”。任何一个环节抖动、延迟、错位,都会直接写进图像里,变成标定误差。
3.1 相机与镜头的机械安装:别让“差不多”毁了你的图像
安装相机,第一件事是确定工作距离。我习惯先算再装,公式很简单:
工作距离 = 视野宽度 × 镜头焦距 / 相机靶面宽度
举个例子,你要拍 200mm 宽的物体,用 50mm 镜头,相机靶面宽 36mm。那工作距离就是 200 × 50 ÷ 36 ≈ 278mm。这个距离决定了你支架的高度。
安装时,有四个关键点,我按优先级排了个序:
- 光轴垂直度——镜头光轴必须垂直于运动平面。偏一度,图像边缘就模糊一度。我习惯用激光十字仪打一下,或者用直角尺靠一靠。
- 相机水平度——相机底座要调平。气泡水平仪是标配,别省这个工具。
- 镜头紧固——线扫相机振动大,镜头锁紧螺丝一定要拧到位。我曾经遇到过镜头慢慢松脱,图像越来越虚,查了半天才发现是螺丝没锁死。
- 接口密封——工业现场灰尘大,C口、F口最好加密封圈。不然灰尘进到传感器上,标定板拍出来全是黑点。
我的习惯:装好后,用一张白纸放在工作距离处,拍一张纯白图像。如果图像亮度均匀、没有暗角,说明光路基本正了。如果有明显暗角,大概率是镜头没装正,或者工作距离不对。
3.2 光源角度与亮度调节:打光打得好,标定成功一半
线扫相机的光源,说白了就是把一条线照亮。但这条线怎么亮,学问很大。
我常用的光源类型和场景:
| 光源类型 | 适用场景 | 角度建议 |
|---|---|---|
| 条形光 | 平面物体、反光表面 | 30°~45° 斜射 |
| 同轴光 | 高反光、镜面、透明物体 | 垂直照射(0°) |
| 背光源 | 轮廓检测、尺寸测量 | 从物体背面打光 |
| 线光源 | 线扫专用,配合镜头 | 与相机光轴成 10°~20° |
亮度调节这块,我有个“三步法”:
- 先调角度——把光源放在预估位置,观察图像,找到物体特征最清晰的角度。比如金属表面的划痕,斜射光比垂直光明显得多。
- 再调亮度——用光源控制器,从 0% 慢慢往上加。直到图像最亮处接近饱和(灰度值 240~250),但不要过曝。过曝了,标定板的格子边缘就糊了。
- 最后调均匀性——线扫相机对光照均匀性要求极高。我习惯用一张白纸放在视野中间,拍一行像素,看灰度曲线。如果中间亮两边暗,说明光源长度不够,或者安装位置偏了。
注意:LED光源有温漂。开机前10分钟和开机后1小时,亮度可能差5%~10%。我一般让光源预热15分钟再开始标定。不然早上调的亮度,下午就变了。
3.3 编码器与触发信号的连接:让相机和运动“同步跳舞”
线扫相机不是自己一直拍,而是靠编码器脉冲来触发。每来一个脉冲,相机拍一行。脉冲频率决定了行频,行频又决定了图像在运动方向上的分辨率。
连接方式,我画了个简图:
接线时,有几个坑我踩过:
- 差分信号 vs 单端信号——编码器输出最好是差分信号(RS-422),抗干扰能力强。单端信号在长距离传输时容易丢脉冲。我遇到过编码器线长了,脉冲丢了一半,图像被拉长了一倍。
- 屏蔽接地——编码器线一定要用屏蔽双绞线,屏蔽层单端接地。不然电机启动时的电磁干扰,会直接串进触发信号,导致图像出现“抖动条纹”。
- 分频/倍频设置——编码器分辨率(比如 1000 线/转)和相机行频要匹配。我一般这样算:
相机行频 = 运动速度 / 编码器分辨率 × 倍频系数。举个例子,速度 100mm/s,编码器每毫米 100 个脉冲,那相机行频就是 100 × 100 = 10kHz。
检查方法:接好线后,用手慢慢转动编码器(或者手动推运动平台),看相机软件里有没有图像行数在增加。如果不动,说明触发信号没通。用示波器看触发线,应该有方波脉冲。
3.4 运动平台的速度与加速度设置:稳,是唯一的标准
线扫相机对运动平台的速度稳定性要求极高。速度波动 1%,图像在运动方向上的分辨率就波动 1%。标定出来的像素当量,今天和明天不一样,那还标什么定?
我设置运动参数时,遵循这个流程:
- 先确定目标行频——根据相机最大行频和需要的图像分辨率,定一个行频。比如相机最大行频 80kHz,我需要每毫米 100 行,那行频就是 80kHz,速度就是 800mm/s。
- 再算速度上限——速度不能超过电机额定转速和机械结构的极限。直线模组一般建议速度不超过额定值的 80%。
- 设置加速度——加速度决定了平台从静止到匀速的时间。加速度太大,平台会抖动;太小,加速距离太长。我一般设 0.5~1g(5~10 m/s²),具体看负载重量。
- 匀速段采集——标定和采集图像时,一定要在平台匀速运动阶段进行。加速段和减速段的数据不能用。我习惯在运动指令里加一个“触发延迟”,等平台稳定了再开始采集。
| 参数 | 推荐范围 | 我的经验值 |
|---|---|---|
| 速度 | 100~1000 mm/s | 500 mm/s(通用场景) |
| 加速度 | 0.5~2 g | 0.8 g(负载 5kg 以内) |
| 匀速段占比 | ≥ 70% 行程 | 80% 以上 |
| 速度波动 | ≤ 0.5% | 0.2%(用伺服驱动) |
避坑:我曾经用步进电机驱动一个 10kg 的负载,速度设到 800mm/s,加速度 2g。结果平台在加速段剧烈抖动,图像全是“锯齿”。后来换成伺服电机,加速度降到 0.5g,问题才解决。记住:步进电机不适合高速高加速场景。
3.5 硬件搭建的最终检查清单
每次搭建完,我都会拿着这张表逐项确认。你也试试:
- ☐ 相机光轴垂直于运动平面(用激光十字仪或直角尺确认)
- ☐ 镜头锁紧螺丝拧到位,无松动
- ☐ 光源角度调好,图像特征清晰
- ☐ 光源亮度未过曝,灰度值在 200~250 之间
- ☐ 编码器接线正确,触发信号有脉冲输出
- ☐ 运动平台速度波动在 0.5% 以内
- ☐ 采集图像时,平台处于匀速段
- ☐ 整机运行 10 分钟,无异常振动或噪声