本网站官方群 工业工程5000人群号 249148633
移动机器人马达的智能控制,使机器人能够稳定、快速、平滑地行驶和精确地定位。因此,硬件与软件的选用及配合,就显得极为重要。本文介绍选用AVR AT mega 128单片机作为核心控制板、内置编码器的DC马达作为驱动、双路H桥马达驱动芯片L298作为单电源H桥电路驭动DC马达硬件,能够简化电路,功能全面稳定;软件编写采用精度为1110的圆周、PID算法,实现闭环控制,使系统更加精确、精准。
本网站官方群 工业工程5000人群号 249148633
1 机器人马达控制系统框图
智能拖地机器人,云鲸 NARWAL (1)移动机器人马达的智能控制过程。当单片机mega 128发出信号后,由于马达之前未动,反馈信号为。,偏差信号等于单片机发出信号减去反馈信号,通过PID(比例积分微分)算法,使单片机发出信号能够快速、准确地传递给L298芯片,最终控制DC马达旋转。由于马达内置的编码器,能将旋转的方向和角度以电信号反馈给单片机mega 128,如果偏差信号为0,则说明马达旋转不能达到预设值,偏差信号越大,则离预设值越远。利用这个偏差信号,最终达到预设值,实现精确控制。
本网站官方群 工业工程5000人群号 249148633
本网站官方群 工业工程5000人群号 249148633
(2) DC(direct current)马达。DC(direct current)马达应用广泛,由可充电电池供电,携带方便,非常适用于移动机器人。机器人DC马达实际上使用的是DC减速马达,即在DC马达上加上一个齿轮箱子,随着DC减速马达齿轮比率,来减少马达旋转速度,马达转矩增加。根据齿轮箱子,我们这里选择的是减速比为1/50,额定转矩为0.19Nm、旋转速度为102 r/min。4个马达中只有后方的2个马达安装了磁气式增量型编码器,根据编码器的输出脉冲A相、B相的相位差,判断马达的转向:A相为计数器,检测B相的为LOW的情况,马达按照顺时针旋转;若检测B相的为HIGH的情况,马达按照逆时针旋转。当马达旋转1周时,编码器上发生13个脉冲信号,由于马达减速比为1/50,所以马达旋转1周时发生650次脉冲,则马达旋转数为Z/650。
本网站官方群 工业工程5000人群号 249148633
(3)利用独立电源控制DC马达的正反转,H桥型电路是必要的。L298内置2路H桥型驱动马达电路,最大电源电压为46V,能够驱动2组DC马达,每一组可流过2A的电流。当2组被连接到一排时,能流过的电流高达4A,机器人4个马达中同侧的2个使用1个L298 H桥型芯片,4个马达共需2个芯片即可。
本网站官方群 工业工程5000人群号 249148633
智能拖地机器人,云鲸 NARWAL (4)单片机mega 128中16位定时器/计数器实现PWM(Pulse Width Modulation)脉冲宽度调制。脉冲宽度传输信号的变化,取决于PWM调制方法(保持脉冲的周期不变,只改变高低电平之比).用来控制马达的电压,进而控制马达转速。
本网站官方群 工业工程5000人群号 249148633
本网站官方群 工业工程5000人群号 249148633
2 软件优化
智能拖地机器人,云鲸 NARWAL (1) PID(比例积分微分)控制机器人车轮速度保持固定。
智能拖地机器人,云鲸 NARWAL
智能拖地机器人,云鲸 NARWAL (2)马达旋转周数的细化。马达旋转一周时发生650个脉冲,若要马达继续旋转,只能按650整数倍,即旋转周数为整数。这样车轮走过的距离,为车轮圆周的整数倍,显然若想让车轮的距离更短,就有些困难了。这里通过软件编程可以实现1/10圆周的距离。原程序为goal_cnt*=650;修改后的一部分程序为:
智能拖地机器人,云鲸 NARWAL
智能拖地机器人,云鲸 NARWAL 3 调试
本网站官方群 工业工程5000人群号 249148633
使用Atmel公司的AVR Studio集成开发环境,通过新建工程建立一个文件并输人源程序,选择所用单片机型号及其频率和优化参数,编译无误后,在线串口下载到“机器人”中。安装好机器人电池,即可根据已下载好的指令稳定运行,精确定位。
本网站官方群 工业工程5000人群号 249148633
4 结束语
本网站官方群 工业工程5000人群号 249148633
移动机器人马达的智能控制,不仅需要以ATmega 128为核心的合理硬件架构,更需要软件方面相得益彰的配合,这样才能发挥其最大的功能。
本网站官方群 工业工程5000人群号 249148633
智能拖地机器人,云鲸 NARWAL
|