旋转内窥镜:
项目简介:一款基于232通信和USB的双路旋转的管道内壁内窥镜机构,通过电机控制旋转移动摄像头来实现对管道内壁的全角度拍照和检测,并通过USB集线器将两路摄像头合并为一路,使用RS232通信协议来控制电机,stm32f103c8t6作为主控。
核心技术栈:
RS232+STM32F103+USBHUB+EXT+TIM
主要功能职责:
1.定义和解析232串口通信的命令,并设置为中断模式,及时接收数据,并根据命令段动态解析电机旋转角度以及速度,并控制电机旋转到位
2.通过定时器编码器模式,实时获取电机编码器编码值,并对编码器数值进行校验,防止溢出
3.通过集成USB集线器将两个USB摄像头的参数合并到一个USB线并传输至工控机,进一步节省走线数量,并对USB走线进行优化,使得完整视频传输在99.9%以上
4.集成电机控制器,并合理规划电源树及走向,进一步避免不同电源间相互串扰导致信号丢失
5.通过将视频流与MCU分离,降低系统耦合性。
光源控制器:
项目介绍:使用RS232通信控制的四路光源控制器,目的为机器视觉提供无频闪以及稳定的光源,项目采用降压型横流变压光源控制芯片,工作状态稳定,对比市面上四路光源控制器成本下降近40%,主控使用stm32f103c8t6,兼容其他通信协议为232的光源控制器,以便于快速换产。
核心技术栈:RS232+STM32F103+EXT+TIM+FreeRTOS+DMA
1.使用FreeRTOS实现多进程管理,定义消息队列:串口命令处理,亮度修改,亮度读取,模式切换
2.使用串口中断+DMA,通过串口中断接收命令,并临时存入缓冲区,当串口命令接收完毕启动DMA转运至串口命令处理模块,对命令类型、参数进行解析,同时校验命令是否为非法参数,非法直接返回,不执行任何操作。
3.根据命令类型进行动态命令分流,降低代码耦合度以及提升鲁棒性,便于后期调试以及问题查找
4.对修改的操作命令进行参数校验,防止修改失败时仍提示成功
5.使用PWM来进行对光源的明暗控制。