智能控制系统设计 课程设计(学年论文)
关键词:舵机;红外;循迹;避障;STM32F407ZET6
引言
随着科技的飞速发展与进步,多学科融合已成为未来科学发展的必然趋势。智能机器人的应用在世界上越来越广泛,逐步在各个领域都有所涉及;在军事侦察、地质勘测、扫雷排雷等人类作业难度较大的领域以及对恶劣环境的监测工作中都有广泛的应用前景。智能小车作为智能机器人的一个分支集中运用了现代传感器技术、信息融合技术、自动控制等;本次设计的基于 STM32 循迹避障小车属于智能机器人中移动机器人的分支,该小车实现了对周围障碍物的感知并进行躲避,根据红外传感器、超声波传感器等相互配合统筹实现循迹避障功能。
一、系统的整体结构
该智能小车大体上可以分为六大组成部分:电源模块、微控制器模块、直流电机驱动模块、舵机转向模块、红外循迹模块和超声波模块。智能小车可以实现自动避障、循迹等功能。智 能小车以 STM32F407 单片机作为主控芯片,采用直流电机作为动力,通过 7.4V 电池供电。电源模块给系统的各模块供电,通过设计频率与占空比可调的PWM波发生器控制小车速度,控制舵机实现小车转向,利用光电传感器实现小车寻迹功能,同时利用超声波传感器实现小车避障。小车系统的总体设计如下图所示。
二、智能车硬软件设计
(一)电机驱动模块
1. 电机驱动原理
STM32F407电机驱动模块的原理涉及到电机的控制和STM32F407微控制器的相关功能。通常,电机驱动模块包含了与STM32F407连接的电机驱动芯片,用于控制电机的速度和方向。
控制信号方面:STM32F407通过其GPIO(General Purpose Input/Output)引脚或其他专用的定时器/计数器输出控制信号,这些信号用于控制电机的速度和方向。对于直流电机,可以使用PWM信号控制电机速度;对于步进电机,通常需要控制相序的信号。
PWM控制:对于直流电机,通常使用PWM信号来控制电机的转速。STM32F407的定时器/计数器可以生成PWM信号,通过改变PWM占空比,可以调整电机的平均电压,从而控制电机的速度。
方向控制:通过控制特定的GPIO引脚或使用额外的引脚,STM32F407可以改变电机的方向。例如,通过设置不同的引脚状态,可以让电机正转或反转。
2. 软件实现流程
(1)利用定时器产生可控方波
需要注意的是设置PWM输出引脚时要将引脚复用到定时器
(2)将电机控制引脚设置成推挽输出模式
(3)改变占空比即可改变速度
这里通过调用函数改变占空比即可改变调速 TIM_SetCompareN(TIMx, Compare2)
(二)舵机转向模块
1. 舵机的工作原理
舵机是一个微型的伺服控制系统,具体的控制原理可以用下图表示:
工作原理是控制电路接收信号源的控制脉冲,并驱动电机转动:齿轮组将电机的速度成大倍数缩小,并将电机的输出扭矩放大响应倍数,然后输出;电位器和齿轮组的末级一起转动,测量舵机轴转动角度;电路板检测并根据电位器判断舵机转动角度,然后控制舵机转动到目标角度或保持在目标角度。模拟舵机需要一个外部控制器(遥控器的接收机或者单片机)产生脉宽调制信号来告诉舵机转动角度,脉冲宽度是舵机控制器所需的编码信息。舵机的控制脉冲周期 20ms,脉宽从 0.5ms-2.5ms,分别对应-90 度到+90 度的位置(对于 180°舵机)。如下图所示:
2. 舵机角度转向原理
如:20ms的时基脉冲,如果想让舵机转63度,就应该发生一个高电平为1.2ms,
周期为20ms的方波,duty=1.2/20=6% ,而定时器自动重装载寄存器arr的值
为 1000 ,所以令duty=60,时占空比才为60/1000=6%。
时基脉冲与舵机转动角度关系如下表所示:
时基脉冲 |
舵机转动角度 |
时基脉冲 |