单片机开发中的插曲——光电开关与黑色大字的故事

        最近在开发一机器设备的控制板;采用STM32F103RCT6 单片机控制 ;机器模块不是很复杂; 也就是传感器、步进电机、继电器、真空泵等设备组成。

        其中设备主要靠一个机械臂上的吸盘来抓取物体, 机械臂上有一个光电接近开关,通过它可以通知机械臂已经移动到了抓取物体的位置;机械臂需要抓取的是一张A8大小的薄纸卡片,本来是一件很简单的功能,但是在跑程序的过程中老是出现机械臂明明接近了卡片, 但是光电开关就是没有探测到;导致机械臂继续移动;反复的测试,总是一阵阵的出现这种问题;于是仔细的看代码,怎么也找不到问题, 把机械臂拉回来, 拿着薄纸卡片靠近反复测试, 发现光电开关是有效的, 于是重新开始测试抓取;奇怪的是又好了;流程可以跑起来, 功能也实现了;然而在后续的开发过程中, 现象又出现了;

         反复的出现消失; 顿时不明觉厉;以为自己代码中有个超级大bug;可是这么简单的程序中到底bug在哪里呢;实在是找不到;不得已先过了这个问题;后来看着薄纸卡片突然灵机一动,会不会是这些黑色字体影响了, 移动动一下, 果然,这个光电开关对黑色区域无法探测, 这简直是神来之笔;难道是黑色把光电开关的光波都吸收了, 猜测中。。。。

你可能感兴趣的:(stm32)