基于c8051f310单片机的直流电机实时转速监控系统设计
蔡国武,刘祚时,梅传根
(江西理工大学机电工程学院,赣州341000)
摘要:介绍一种基于c8051f310单片机的直流电机转速的实时监控系统设计,并给出该系统的硬件电路和软件设计。该系统具有结构简单,功能可再扩展、调速性能良好、运行可靠的特点,可以很好地监控电机的实时转速。
关键词:.单片机;直流电机;实时转速
中图分类号:tm381:tp273十1 文献标志码:a 文章编号:1001-6848(2010)04
0引 言
在随动控制系统中,电机转速的反馈与控制占有很大的比重,实现速度反馈的方式与手段,对系统的稳态误差及动态响应性能都有着十分重要的影响。对于一个高精度的控制系统,
稳定而准确的电机反馈转速,可以更好地对电机性能做定量分析和判断电机运行的异常情况等进行监测。因此,对电机转速的测量是非常重要的。
传统的以模拟量作为速度反馈参数的系统,由于受非线性、温度变化和元件老化等因素的影响,很难满足控制过程的快速性和准确性要求。本文利用c8051f310系列单片机,将控制电机的模拟倍号量转换为以数字信号量的形式,最后再将反映电机速度的脉冲信号反馈给单片机处理,并通过led数码管实时监控电机的转速[1]。
l 系统设计
1.1硬件电路设计
该系统的整个硬件电路结构如图l所示。
该电路的工作原理如下:
通过调节电位器来控制电机的转速,即通过调节电位器rp改变输入到端口p2.2的模拟电压,再通过c8051f310单片机内部的a/d转换,并转换成一定占空比的pwm信号,从端口p2.0输出到hd74hc04p进行反相,以增大pwm信号的驱动能力,然后再输出到电机驱动芯片l298来控制电机的转速,之后再利用光电传感器和码盘来采集电机转动时产生的脉冲信号,但该波形是连续的模拟信号,单片机不易处理,故再将4运放集成电路lm324接成比较器的功能,然后将这组脉冲波形输出到lm324的2脚,再通过调节电位器rp2,就可以得到一组单片机容易处理的、且能反映电机转速的方波信号pwm_ back,再将pwm_back输入到端口p2.1,并利用定时器0的计数功能。来计算端口p2.1在采样周期t内的脉冲个数。最后再通过公式(1),求出电机的转速并通过l数码管实时地显示出来。
假设在t时间内,定时器0计数得到m个脉冲数,码盘转一圈产生一个脉冲(方波),若电机是带有强减速装置的,设电机每转一圈,码盘会转y圈。则电机的转速为:
n=60m/xyt(1)
本文所设计的电路采用的电机是额定电压为16 v,且带有强减速装置的,该电机每转一圈,码盘会转64圈,码盘转一圈会产生30个脉冲,所以电机转一国会产生xy= 1920个脉冲。且本文以监控电机的单向转动为研究对象,若要测量电机的双向转动,只要稍微改变上面的硬件电路和下面的程序设计方面即可。
1.2软件设计
每次a/d转换结束后,寄存器adcoh和adcol中保存adc转换结果的高字节和低字节。将adoust位置1,使转换后的转换数据在寄存器对adcoh: adcol中以左对齐的方式保存。当工作在单端方式时,可转换的模拟电压范围为:o-vref 1023/1024,其中vref=3.3 v,然后,再将保存在寄存器adcoh中的数据赋给pca的16位计数器/定时器的高字节pcaoh,即通过捕捉/比较模块的高字节pcaocpho来获得一定的占空比pwm波。并利用定时器l的定时功能来产生中断,假设定时时间为t。再利用定时器0的计数功能来计算外部电机码盘产生的方波数,即计算在t时间内,来自端口p2.1的pwm-back信号的脉冲数。并将计数结果保存在高字节tho和低字节tlo中,可计算脉冲次数的范围为:o~ 65535个。
在此,引人中断,当定时器l溢出时,单片机产生中断,定时器1溢出标志tf1会被自动清o。若取样时间为定时时间的k倍,则当单片机完成k次中断后,再去读取定时器0的tho和tlo,并计算电机1分钟的转速,最后将电机转速显示到数码管,并再重新初始化定时器tl和to[3]。
|