资讯详情

RISC-V MCU 智能防疫协测机器人

由于疫情的反反复复,核酸检测已然成为了生活的常态,但是现核酸检测工作中存在一些弊端需要我们去解决。通过CH32V307VCT使用6作为核心板PID小程序设计,酒精喷雾系统,L设计智能协测机器人,如610模块,帮助完成核酸检测。并通过构建实物模型验证了协同测试机器人可以完成以下功能:当机器人携带设定核酸试管数量时,机器人按规定路线到目的地,达到目的地消毒,达到设定浓度后取消消毒,按规定路线返回起点消毒,前摄像头实时监控路况,小程序显示机器人状况。

核酸检测已成为生活的常态,但核酸检测存在一些缺点:

1.由于需要核酸的频率比较频繁,医护人员的工作量太大;

2.市场上核酸协助机器人体积大,难以携带、拆卸或添加功能;

3.疫情地区需要多次人工消毒;

为解决此类问题,设计制造智能防疫协测机器人,设置消毒系统,设置核酸样品材料运输平台,外设易于拆卸,结合移动设备小程序显示核酸试管信息,提高全国核酸检测的检测效率。

2、

使用智能防疫协测机器人CHV307VCT6核心板作为主控,可以实现语音播报,循迹,消毒,实时监控路况,小程序显示数据等功能,不仅可以运用于日常核酸检测工作并且智能车带有载物台对短距离运输物资也有巨大用处,外设模块拆卸简单,利用率高。车身整体见图1.1。

1.智能汽车配备了一个载体平台。采用红外对射管。当核酸试管数量达到一定规模时,向小程序软件发送信息,询问是否运输,确认后运输到指定地点。

2.与上位机相关的建设项目。L610广和通联系上位机,通过软件设计程序控制车辆的运行。

3.路径规划。规划指定的运输路径,利用灰度传感器规划路劲,利用PID该算法稳定了智能汽车的运行速率和方向。

图1.1 作品整体

第二部分 系统组成

车辆组装多种传感器模块,如图2.1所示。主模块的使用CH32V307VCT6核心板作为整车控制的核心部分,通过ESP32监控外部情况,许多传感器在接受外部变化后将数据传输到单片机。利用单片机通过一系列计算反馈至电机从而控制智能车一系列运动及实现相关功能。并通过L广和通模块将数据传输到移动设备显示-手机上位机显示相关数据。

图2.1 整体设计

软件设计:首先测试每个模块所需的实验IO通过串口监控每个模块的情况,对口进行分配和初始化L610作为智能汽车运行的主要入口,通过红外射管检测核酸试管的数量,使用预期数量PID按规定路线控制智能车辆运行,当达到目的地进行消毒处理时,在智能车辆运行过程中使用ESP具体流程见图2.2所示:

图2.2 软件流程

因为这是第一次参加大型比赛,为了锻炼自己的能力,每个模块都是独立购买、调试和拼接的,一些模块通过自己的设计来满足团队的要求,如灰度传感器模块、酒精喷雾模块等。四路灰度传感器见图2.3.目的是智能车可以沿规定的路线行驶。

图2.3 四路灰度传感器

为了满足我们预定的要求,在智能汽车的两侧添加两个灰度传感器作为判断的条件请参见具体的核心代码。

#define Read_P1_left     gpio_get_level(E1) #define Read_p2_break    gpio_get_level(E2) #define Read_p3_front    gpio_get_level(E3) #define Read_p4_right    gpio_get_level(E4) #define right               gpio_get_level(D2) #define left             gpio_get_level(E5) void xunji_go(void) { if((Read_P1_left==1&&Read_p2_break==1)&&two==2) {  MOVE_Kinematics(00, 50, 00); } if(Read_P1_left==0||two==0) {     two=0;  MOVE_Kinematics(20, 00, 00);  if(left==1)  {  MOVE_Kinematics(00, 00, 00);      two=1;      go_flag=0;      xiaodu_flag=1;      L610_to_server(beep_flag,go_flag, xiaodu_flag, test_tube_nume, ethyl_numb);  }}} void xunji_go_back(void) { if(one==2) {     MOVE_Kinematics(00, 50, 00); } if((Read_p2_break==0||one==0)&&(one!=1)&&(one!=3)) {     one=0;  MOVE_Kinematics(00, 00, -20); } if((Read_p3_front==0&&Read_p4_right==0&&Read_P1_left)||one==3) {     one=3;     MOVE_Kinematics(00, 50, 00); }  if(left==1&&one==3&&right==1)  {  MOVE_Kinematics(00, 00, 00);    one=1;    go_flag=0;    xiaodu_flag=1;    L610_to_server(beep_flag,go_flag, xiaodu_flag, test_tube_nume, ethyl_numb);    gpio_set_level(C12, 1);

该团队使用的车轮是麦克纳姆轮,具有灵活移动的特点,但为了使智能汽车平稳行驶,调试PID使用非常重要PID算法在生活中非常常见,本次队伍也是使用PID稳定智能车的行驶速度,使用相关软件测试调试程度。蓝色是预期的速度,红色是当前智能汽车的运行速度,可以看到,俩者之间相差极小,达到我们调试PID的效果见图2.4所示。

 图2.4 调试PID效果

 short MID_MotorVelocityPidCtl_A(short spd_target, short spd_current)
{	static short motor_pwm_out;
	static int bias,bias_last,bias_integral = 0;
	bias = spd_target - spd_current;
	bias_integral += bias;
	if(bias_integral>PID_INTEGRAL_UP)bias_integral = PID_INTEGRAL_UP;
	if(bias_integral<-PID_INTEGRAL_UP)bias_integral =-PID_INTEGRAL_UP;
	
	motor_pwm_out += ax_motor_kp_a*bias*PID_SCALE + ax_motor_kd_a*(bias-bias_last)*PID_SCALE + ax_motor_ki_a*bias_integral*PID_SCALE;
	bias_last = bias;
	return motor_pwm_out;	
}  

         为了能够使用小程序端实时得到智能车的状态,搭建小程序端和利用L610模块(L610模块使用WIFI的类似功能),使用腾讯云服务器,将智能车的状态传输到小程序端,L610各个部分分布见图2.5所示。

 图2.5  L610分布

void set_l610_Init(void)
{
  do{ clear_buff();
  printf("AT+MIPCALL=1\r\n");
  delay_ms(1000);
} while(strstr((const char *)L610_buf, "+MIPCALL: ") == NULL);
do{clear_buff();
printf(L610_TXYUN_INFO);
delay_ms(2000);
}
while(strstr((const char *)L610_buf, "OK") == NULL);
do{clear_buff();
printf(L610_ONENET_INFO);
delay_ms(2000);
}
while(strstr((const char *)L610_buf, "OK") == NULL);
do{
    clear_buff();
printf(L610_topic_INFO);
delay_ms(2000);
}
while(strstr((const char *)L610_buf, "OK") == NULL);
}

         自行设计手机上位机见图2.6所示;

图2.6  手机上位机 

 第三部分   心得体会 

        1、本次嵌入式比赛对整个队伍是有极大的锻炼能力的,队伍软硬件相配合,从最初的材料购买,结构搭建到各传感器模块的使用和联合其中很好的体现了团队配合的能力。

        2、从本次嵌入式比赛也让更多的人了解国产芯片,国产的芯片也能实现很多的功能,更多功能还需要更多的人一起来探索。

        3、由于智能车需要实现功能较多,整个智能车接线较错综复杂,为了更好的达到创新的效果和锻炼自身能力,队伍选择购买单独的模块而不是整个成品,通过我们队伍的努力,智能车能达到我们预想的功能实现。

        4、在整个备赛期间,非常感谢指导老师的支持,学长学姐的解答。当遇到困难无法解决时,他们会耐心询问队伍的问题并给出建议。

        5、 在本次比赛中,团队为了拍摄出更好的功能展示效果,对路线的规划和拍摄熬夜进行,只为得到最好的效果。

第四部分  参考文献

[1]杨朋帅,王琪,王维西,周靖喻,高进可.基于麦克纳姆轮的智能车寻迹控制策略研究[J].工业控制计算机,2022,35(02):112-115.

[2]郭荣毓,任姝静,陈宇航,王天阳,赵永亮.医疗辅助智能车的研究与设计[J].电子世界,2021(11):156-157.DOI:10.19353/j.cnki.dzsj.2021.11.063.

[3]李海珍,王德军,赵现省.AGV智能消毒降尘喷洒车设计[J].机电产品开发与创新,2021,34(01):49-52.

[4]Nagaraj S, Srividya K, Puviyarasi B, et al. Smart Elevator Cabin Sanitization and Disinfection for COVID[C]//2022 International Conference on Communication, Computing and Internet of Things (IC3IoT). IEEE, 2022: 1-6.

[5]Zhao M, Liu P, Chen Y. Design of the Designated Disinfection Patrol Vehicle in Residential Area Based on STM32[C]//2021 3rd International Conference on Artificial Intelligence and Advanced Manufacture. 2021: 208-211.

[6]袁振洋,孔放,刘峻宇.基于PID算法的智能小车电磁循迹方法研究[J].电子制作,2022,30(01):27-30.DOI:10.16589/j.cnki.cn11-3571/tn.2022.01.008.

[7]杨志强,张春红,孟悦,山雨晨,沈闻一.一种基于OpenMV的智能医疗跟随载物车设计[J].中国科技信息,2022(06):81-83.

[8]李野,张晶.智能小车在医疗垃圾搬运系统中的应用[J].电子测试,2021(21):125-127.DOI:10.16520/j.cnki.1000-8519.2021.21.044.

标签: 智能型pid传感器

锐单商城拥有海量元器件数据手册IC替代型号,打造 电子元器件IC百科大全!

锐单商城 - 一站式电子元器件采购平台