基于STM32控制的声音导引系统
3.1 移动声音模块
本模块主要实现移动声音控制器的功能。利用延时的方法产生高低电平来驱动蜂鸣器产生声源。通过SPI串口和NEC的从控芯片进行通信,发送命令进而来控制电机的运行状态。通过无线模块接收的信息先暂存在SPI的缓冲区中,以备控制命令及时发送。发送的控制命令有前进、后退、左转、右转和停止信号。移动声音模块控制流程如图5所示。本文引用地址:https://www.eepw.com.cn/article/172987.htm
3.2 声音接收模块
本模块的功能主要是循环接收传感器的信息,根据3个接收器传回声音的顺序不同,来判断移动声音的位置和运行状态,进而将前进、后退、左转和右转控制命令发送给移动声源。由于该控制器的采样频率要高,因此把主控制器的时钟频率通过PLL调到最大72 MHz。声音接收模块控制流程如图6所示。
4 系统测试
测试仪器包括:100 MHz数字示波器,数字万用表(型号VICTOR-VC890D),STM32单片机开发板,秒表,卷尺。
用示波器观测单片机、MMC-1芯片的输入/输出引脚信号波形,用数字万用表检查元件有无虚焊,从而确定对电机的驱动情况。
用秒表、卷尺测试小车运动的平均速度,并量取定位误差。假设小车初始位置为S0,小车停止位置为S且SS0与间夹角为α,全程运动时间为t,S与0x线间距离为d,则小车平均速度为SS0·tan(α/t)。
测试数据如表1所列。
结语
可移动声源开始运动并发出声音,3个声音接收器收到来自可移动声源的声音信号后,立即发出各自载波频率的反馈信号给可移动声源。可移动声源根据接收到的不同信号频率判断反馈信号的源头,从而由MCU发出相应控制信号(前进、倒退和转弯),导引可移动声源在定位误差的范围内。
评论