摘"要:利用FPGA构建了SoPC,移植了uC/OSII操作系统,实现了基于无刷直流电机的小风扇转速智能控制系统的硬件和软件设计;利用DS18B20温度传感器采集环境温度,根据环境温度自动控制电机的转速;利用HCSR04超声波模块测量物体距离,实现了物体接近风扇到8cm距离时,无刷直流电机自动限速,同时蜂鸣器报警;利用SU03T语音识别模块实现了语音控制电机转速;通过FPGA与STM32F103C8T6单片机控制的WiFi模块串口通信,实现将环境温度、风扇转速、距离报警信号、电机旋转方向数据上传到阿里云。
关键词:SoPC;uC/OSII;无刷直流电机;语音识别;阿里云
中图分类号:TP241.3
Design"of"Experimental"Teaching"Cases"for
\"Electronic"System"Design\""Course"Based"on"SoPC
Dong"Sheng"Zhao"Ying"Meng"Xiang"Xing"Liyun"Jia"Yanfei
School"of"Electrical"and"Information"Engineering,Beihua"University"JilinJilin"132021
Abstract:A"SoPC"was"constructed"using"FPGA,and"the"uC/OSII"operating"system"was"ported"to"achieve"the"hardware"and"softwarenbsp;design"of"a"small"fan"speed"intelligent"control"system"based"on"brushless"DC"motor;Using"DS18B20"temperature"sensor"to"collect"ambient"temperature"and"automatically"control"the"motor"speed"based"on"the"ambient"temperature;By"using"the"HCSR04"ultrasonic"module"to"measure"the"distance"between"objects,it"has"been"achieved"that"when"an"object"approaches"the"fan"to"a"distancenbsp;of"8cm,the"brushless"DC"motor"automatically"limits"its"speed"and"the"buzzer"sounds"an"alarm;The"SU03T"speech"recognition"module"was"used"to"achieve"voice"control"of"motor"speed;Through"serial"communication"between"FPGA"and"STM32F103C8T6"microcontroller"controlled"WiFi"module,environmental"temperature,fan"speed,distance"alarm"signal,and"motor"rotation"direction"data"can"be"uploaded"to"Alibaba"Cloud.
Keywords:SoPC;uC/OSII;Brushless"DC"Motor;Voice"Recognition;Alibaba"Cloud
本文对本科电子信息工程专业“电子系统设计”课程的实验教学项目进行了研究,实验课程总学时8学时,要求学生分组完成环境温度采集、直流无刷电机转速控制系统的仿真设计与实物调试,完成系统设计与实物验收考核,撰写实验报告[1]。
实验的教学目标是解决环境温度的实时采集、直流无刷电机转速的智能控制以及阿里云平台无线传输数据问题,传授学生利用单片机、SoPC、uC/OSII、VerilogHDL编程技术,实现串口通信、WiFi通信、PWM控制功能;锻炼学生的电路设计、程序调试、设备使用与电路故障诊断能力,培养学生进行电子系统设计与解决工程实际问题的能力[1]。
1"智能小风扇转速控制系统整体结构设计
智能小风扇转速控制系统整体结构如图1所示,FPGA开发平台采用实验室常见的DE270多媒体开发板[2],构建SoPC片上可编程系统,移植uC/OSII实时操作系统,编写C语言程序实现多任务调度以及任务之间的通信。
系统实现下述功能:
(1)构建基于NIOSII的SoPC片上系统[3];
(2)建立uC/OSII多任务实时采集、显示、传输环境温度,测温范围-10℃~+85℃,精度±0.5℃[4],实现超温声音报警;
(3)驱动型号为R2418CE、参数为DC12V4500RPM的直流无刷电机[5],根据环境温度改变电机转速,温度越高,转速越快,实时测量与显示风扇转速;
(4)实现基于超声波测距原理的物体异常接近,风扇转速限速控制功能,测距范围3~200cm,误差在1cm范围内[6];
(5)与阿里云通信实时上传温度值、风扇转速值、距离报警信号、电机旋转方向数据;
(6)识别非特定人的语音指令,实现电机转速的三档语音控制。
2"系统电路设计
2.1"超声波测距、声光报警、距离显示模块电路设计
利用VerilogHDL编程驱动HCSR04模块实现超声波测距、声光报警及距离显示功能,电路见图2。echo和trig连接到超声波测距模块HCSR04的对应端口[7],out_range_buzz连接到蜂鸣器距离报警电路,seg连接到DE270开发板的LED数码管显示驱动电路,out_range_led分别连接到DE270开发板的LED红色指示灯和NIOSII处理器AVALON总线的距离报警输入端口pio_outrange_in[2]。
2.2"PWM驱动模块设计
利用VerilogHDL编程实现了直流电机驱动模块电路。duty端口连接到NIOSII处理器PWM占空比输出端口,pwm_out端口连接到直流无刷电机的PWM信号输入端口,PWM信号频率范围控制在15~25kHz范围内[5]。
2.3"测速模块设计
利用VerilogHDL编程实现了电机测速模块电路。pulse_in端口连接到直流无刷电机的速度反馈输出信号端口;seg_data端口连接到DE270开发板的LED数码管显示驱动电路,显示转速值;speed_out端口连接到NIOSII处理器的测速输入端口[2,5]。
2.4"核心处理器模块设计
基于NIOSII核心处理器的片上系统设计见图3。处理器的pio_in_key_dir端口连接到DE270开发板的按键;通过pio_out_motor_dir端口输出控制电机的转向;串行通信端口uart_yuyin和uart_stm32_yun分别连接到SU03T语音识别模块[8]和STM32F103C8T6控制的WiFi模块,分别用于输入识别语音指令以及向阿里云上传数据;bidir_port_to_and_from_the_pio_18b20端口连接到DS18B20温度传感器的DQ数据端口;my_lcd控制端口和数据端口用于驱动1602LCD显示温度和转速数据;SDRAM端口用于驱动SDRAM存储器,构成片上系统的内存空间[23]。
2.5"蜂鸣器距离报警电路设计
采用S8050型三极管驱动有源蜂鸣器,实现近距离报警。
2.6"DS18B20接口电路设计
DS18B20温度传感器的DQ端,外接上拉电阻,连接到NIOSII处理器的bidir_port_to_and_from_the_pio_18b20端口[7]。
2.7"语音识别模块接口电路设计
SU03T语音识别模块的B7引脚连接到NIOSII核心处理器的uart_yuyin_rxd串口输入端口[9]。
2.8"WiFi模块接口电路设计
WiFi模块ESP8266接口电路见图4[9],一个串口负责接收FPGA通过EIARS232串口发来的、经过RS232TTL接收模块转换后的数据,另一个串口将数据打包,通过连接WiFi热点将数据上传给阿里云服务器[9]。
3"基于eclipse的NIOSII、uC/OSII系统程序设计
在主程序中创建了两个用户任务task1、task2。在task1中,首先,采用临界段代码技术采集环境温度,防止温度采集时序被打断,确保温度采集数据准确[10];其次,读取电机转速数据,读取按键控制的自动和手动模式控制转速信息;最后,将所有数据打包成32位数据格式,通过消息邮箱传递给task2。32位数据打包格式:1位模式控制位,15位温度数据,16位转速数据。
在task2中显示温度值及转速值,控制电机转动。在手动控制模式下,实现根据语音指令控制电机转速;在自动控制状态下,实现根据环境温度,利用PID控制算法自动控制电机转速;实现物体距离异常接近风扇限速以及语音控制转速;将电机转速、温度、距离、电机转向数据打包,通过串口发送给STM32F103C8T6单片机控制的WiFi模块,然后发送给阿里云。
在task1、task2之间采用双邮箱通信技术,同步两个任务之间的数据传输[10]。
4"系统调试与结果分析
4.1"系统设计结果
系统设计结果实物图见图5。
4.2"利用WiFi上传阿里云温度、转速、距离报警、电机转向数据结果
利用WiFi上传阿里云温度、转速、距离报警、电机转向数据结果见图6。
结语
本文解决了温度检测与直流无刷电机的转速智能控制问题,实现了阿里云上传电机的各项参数。
参考文献:
[1]董胜,浦珊珊,马东吉.应用型本科电子系统设计课程教学改革与实践[J].教育教学论坛,2020(03):100101.
[2]Terasic"Technologies.DE270"User"manual[EB/OL].(20100930).https://www.terasic.com.tw/cgibin/page/archive.pl?Language=Englishamp;CategoryNo=183No=226amp;PartNo=4#contents.
[3]黑金动力社区.NIOSII那些事儿Qsys版[EB/OL].https://www.docin.com/p409846996.html.
[4]Maxim"Integrated"Products,"Inc.DS18B20"Programmable"Resolution1Wire"Digital"Thermometer[EB/OL].https://www.analog.com/media/en/technicaldocumentation/datasheets/DS18B20.pdf.
[5]GUANGDONG"AOLONG"TECHNOLOGY"Co.,"Ltd..R2418微型直流无刷马达.[EB/OL].https://detail.1688.com/offer/720151755730.html?_t=1735803194136amp;spm=a2615.7691456.co_0_0_wangpu_score_0_0_0_0_1_0_0000_0.0.
[6]张安东.基于STM32单片机的超声波测距系统设计与实现[J].铜陵职业技术学院学报,2020(3):5153.
[7]时玲珑,孙姗姗.以单片机为核心的超声波测距系统[J].福建电脑,2022,38(2):2932.
[8]深圳市机芯智能有限公司.SU03T离线语音模组技术开发手册[EB/OL].https://help.aimachip.com/docs/offline_su03t/su_03t_kfb.
[9]马媛,基于ESP8266的无线通信系统设计[J].电子测试,2022,36(05):4446.
[10]张勇.嵌入式操作系统原理与面向任务程序设计[M].西安:西安电子科技大学出版社,2010:102227.
项目来源:北华大学校级教育教学改革研究课题“产教结合模式下电子系统设计课程教学改革研究”(项目编号:ZJ1241853);吉林省教育科学“十四五”规划重点课题:新工科背景下“以能力为导向”的电子信息工程类专业课程体系构建新模式探索(编号:ZD22091)
作者简介:董胜(1972—"),男,汉族,黑龙江嫩江人,仪器仪表工程硕士,副教授,研究方向:信号采集与处理。