全国免费热线:0731-89758608
鸿运
关于鸿运
产品展示
新闻动态
成功案例
联系我们

新闻动态

当前位置:主页 > 新闻动态 >

采用Atmega128单片机和电机把持芯片杀青直流电机

来源:鸿运,鸿运游戏,鸿运电子游戏发布时间:2020/04/14点击数:

  芯片以及直流电机控制芯片HIP4080。在硬件平台上运行电机转动角度和速度的控制程序,实现高精度控制,并在PC机界面上观察电机状态。该系统具有精度高和通用性良好等特点,在性价比方面有很大优势,可以应用于教学实验。

  本系统主要由微控制器外围电路、旋转编码器信号检测电路和电机驱动电路构成。系统的硬件结构如图1所示。电机的控制逻辑由Atmega128实现。单片机采集CPLD对旋转编码器脉冲的计数值,得到电机转动角度进而计算速度,将来自PC机的目标转动角度和目标速度代入控制算法中运算,根据运算结果向驱动电路发送PWM和方向信号,驱动电机向期望的方向转动或者运行在期望的速度上。

  主要由Atmega128、下载电路和串口通信电路等组成。单片机实现控制功能,并通过串口接收PC机的指令并将电机的转动角度和速度发送给PC机实时显示。

  Atmega128单片机是一种高性能、低功耗的8位微处理器,指令大多数可以在一个时钟周期内完成,执行速度快,其接口丰富,性价比高。

  该电路的功能是采集编码器信号,计算电机的角度和速度并传输给单片机。该电路设计采用三个思路:(1)采用分立元器件及一些门电路,但使用的元件较多,影响电路的稳定性; (2)脉冲信号直接连接到单片机的计数器输入端,由软件进行鉴向和计数,但加重了单片机负担,还可能会出现漏计或误计现象;(3)采用编码器专用芯片,如奎克半导体的编码器四倍频和计数芯片,但专用芯片价格颇高,不经济。

  因此,本文选用CPLD芯片EPM7128SLC84,用—片芯片实现增量式编码器信号四倍频和双向计数,简化硬件电路设计,提高系统的精度和可靠性。该芯片具有128个逻辑宏单元,完全满足需要;它具有ISP在系统可编程功能,可以对硬件进行重新配置,方便系统后期扩展。

  如图2所示,光耦将旋转编码器A、B两相脉冲信号与CPLD的信号隔离,防止EPM7128和旋转编码器的工作电压不匹配。EPM7128对A、B两相脉冲信号进行四倍频和双向可逆计数的硬件描述程序。图中Lock是单片机发送给EPM7128的计数值锁存信号,Chose0和Chose1是位选信号,控制EPM7128将锁存的计数值的高8位和低8位分时发送到数据线上。若编码器输出脉冲数为N,则系统的精度可以达到π/2N弧度。

  用单片机的PWM输出对电机控制是实现电机数字控制的常用手段。目前常用的电机控制专用芯片是NS公司的LMD18200,其工作电压55 V,连续输出电流3 A,可接收300 kHz的PWM脉冲,但是本系统选用的直流力矩电机经常工作在堵转状态,LMD18200不能提供持续的5 A电流,若将LMD18200并联来增大电流驱动能力,又有烧坏芯片的风险,所以本文选择由一片HIP4080、4片MOS管IRF540构成的电机驱动电路,如图3所示。

  HIP4080是一款专门用于控制H桥的高频全桥驱动芯片,正常工作电压12 V,可接收高达1 MHz的PWM信号[3]。该芯片可以控制H桥工作在单极性驱动方式,可以使H桥输出电流波动比较小,功率损耗更低。H桥由4片MOS管IRF540搭成,IRF540最大耐压100 V,最大驱动电流是28 A,胜任直流力矩电机经常工作在堵转状态。如图3所示,HIP4080接收单片机的PWM、电机转向DIR和制动信号DIS,控制H桥电路MOS管的导通时间和导通次序,从而控制电机两端电压的大小和方向,实现电机的调速。

  图4所示是驱动电路接入负载时,输入PWM信号的占空比和输出电压的实测关系曲线。可以看出该电路的输入输出关系线性度良好,适用于直流力矩电机的驱动。

  基于以上硬件平台,采用普通算法编写电机转动角度和速度的控制程序,观察控制效果,验证控制性能。

  如图5所示,转动角度控制中Atmega128的串口接收PC机发来的电机目标转动角度。在主程序中将EPM7128发送来的电机的当前转动角度与目标转动角度比较,控制电机相应的转动或制动,直到电机转到指定位置。

  如图6所示,电机速度控制中,ATmega128接收PC机发来的电机目标速度,根据速度方向驱动电机转向,其定时器计算出实际速度后和目标速度比较,相应地增大或减小PWM占空比,改变速度大小,直到电机运行在期望的速度上。

  程序运行后,实际测得角度控制的稳态误差在±0.005 7 rad,速度控制的动态误差在±0.013 1 rad/s,具有较高的精度和稳定性。在实际使用中,可以采用先进算法编制控制程序,进一步提高系统的控制性能。

  作为比较,将相同的控制算法在PC上实现,通过全数字直流伺服驱动器上驱动电机,测得角度控制的稳态误差是±0.004 rad,速度控制的动态误差是±0.008 rad/s。可见本系统的控制精度与伺服驱动器的控制精度接近,而成本低于后者,具有很大优势。

  PC机控制界面将目标转动角度和速度发送给单片机,同时接收单片机发来的实时角度和速度并以曲线形式显示。控制界面基于对话框的结构,使用VC自带的MSComm控件和单片机通信。该控件重要属性设置如下:

  ②设单片机发来的一个有效角度或速度数据的字节数为n,则从输入缓冲区一次读取的字节数InputLen属性设置为n;

  ③输入缓冲区长度InBufferSize设置为n的整数倍,防止读取数据出错;

  ④产生接收事件的阈值RThreadshold设置为n,表示缓冲区中有一个及以上有效数据时就接收;

  以上属性设置完毕后打开串口,在事件驱动函数中接收数据,依次将其转换为绘图设备区域中Y轴上的像素。