瞬懂百科

您当前的位置:首页 > 科普知识

精度高、稳定性好的89C51单片机直流电机转速测控系统设计

精度高、稳定性好的89C51单片机直流电机转速测控系统设计

引言目前电机的模拟控制电路都比较复杂,无法兼顾测量范围和精度,采样时间长,难以测量瞬时转速。本文介绍的电机控制系统利用PWM控制原理和霍尔传感器采集电机转速,经单片机检测后在显示器上显示转速值,而单片机根据传感器输出的脉冲信号分析转速的过程量,超限时自动报警。同时,系统配有按键操作仪,可以用来调节电机的速度。

1系统方案制定DC电机控制系统主要由C8051单片机构成。在该系统中,电机转速与电机两端电压成正比,电机两端电压与控制波形的占空比成正比。因此,MCU内部的可编程计数器阵列输出PWM波来调节电机两端电压的占空比和控制波形,从而实现调速。该系统通过霍尔传感器实现对DC电机转速的实时监控。系统的设计任务包括硬件和软件。硬件设计包括方案选择、电路原理图设计、PCB绘制和电路调试。软件设计包括内存空间的分配、DC电机控制应用模块的设计、程序调试、软件仿真等。

2硬件设计C8051是一款完全集成的混合信号系统级MCU芯片,具有64个数字I/O引脚,包含一个VDD监控器、一个看门狗定时器和一个时钟振荡器。它是一个真正独立的片上系统,能够快速准确地完成信号采集和调整。同时便于软件编程、抗干扰和前向信道的结构优化。

这种单片机控制系统在与外界连接时可以实时接收外界信号,从而控制外部设备。该闭环系统能够准确满足设计要求,从而做出合理的方案。图1显示了电机测量和控制系统的框图。

图1电机测控系统框图。

在该系统中,单片机向驱动电机发出控制信号,同时传感器检测到电机的速度信号,并传送给单片机。单片机通过软件将速度信号与给定速度进行比较,确定电机转速,同时将当前电机转速值送入LED显示。此外,您还可以通过设置键盘来设置电机速度。系统中的转速检测装置由霍尔传感器构成,通过A/D转换将转速转换成电压信号,然后以脉冲的形式传输给单片机。这种设计方法具有频响高(响应频率在20 kHz以上)、输出幅度恒定、抗电磁干扰能力强的特点。其中,霍尔传感器的输入为脉冲信号,非常容易与微处理器连接,易于实现信号分析处理。单片机的T0口可以对脉冲信号进行计数。

在设计中,键盘输入可以通过单片机的五个接口完成,P1.6口可以完成鸣叫和报警,P2.0口连接电机,P2.1~P2.4口连接显示器的位置选择,P0口为显示段选择码。其硬件连接电路如图2所示。

图2硬件连接电路图。

该系统的脉宽调制原理是脉宽调制波由一系列占空比不同的矩形脉冲组成,其占空比与信号的瞬时采样值成正比。该系统由一个比较器和一个周期为Ts的锯齿波发生器组成。如果脉冲信号大于锯齿信号,比较器输出一个正常数A,否则输出0。图3示出了脉宽调制系统的调制原理和波形图。

图3脉宽调制过程。

设样本k为均匀脉冲信号,其第k个矩形脉冲可表示为:

其中x {t}是离散信号;Ts是采样周期,0是unmo

就是电机的角速度。从等式(2)可以看出,脉冲宽度信号可以由信号x (t)加上DC分量和相位调制波组成。当0

因此,脉宽调制波可以由低通滤波器直接解调。C8051单片机有两个12位电压模式DAC,每个DAC的输出摆幅为0 V~VREF,对应的输入码范围为0x000~0xFFF。CEX0~CEX4可以通过交叉开关配置到P2端口,这样就可以通过改变PWM的占空比来调节电机转速。

LED显示器采用动态扫描方式,通过单片机的I/O接口扩展输出,然后三极管驱动各个显示器的位选择端,放大电流。独立按键使用查询模式,按键输入均为低电平有效,可以使用上拉电阻保证断开按键时I/O口为高电平。单片机I/O (P0.1~0.5)引脚扩展的五个按键分别定义为:set、start、shift、start和+1功能。硬件电路确定后,电机调速的主要功能将由软件实现。

3软件设计本系统的软件程序设计可分为五个步骤:

算法的综合分析与确定;设计程序流程图;合理选择和分配存储单元和工作寄存器;写程序;在计算机上调试并运行程序。

应用软件的设计可以采用模块化结构设计,其优点是各模块的程序结构相对简单,任务明确,易于编写、调试和修改;其次,程序具有可读性,程序的修改可以在本地进行,其他部分可以保持不变,便于功能扩展和版本升级;另外,对于经常使用的子程序,可以建立子程序库,方便多个模块的调用;最后,便于分工合作,多个程序员可以同时编写和调试程序,因此可以加快软件开发的进度。

该程序由8051单片机C语言编程实现。

在系统的编程中,可以通过模块化编程来实现。

整个软件由主程序模块、测速模块、时钟模块、数据通信模块和动态显示模块组成。每个模块都是用结构化编程的思想设计的,因此通用性强;模块化的程序结构使软件易于调试、维护和移植。

系统软件可以根据硬件电路的功能和AT89C51各引脚的连接来设计。从而定义每个管脚要完成的功能,方便程序设计和内存地址的分配,最终完成程序模块化设计。

该系统是DC电机测控系统。根据系统性能要求,除复位电路外,还应设置一些功能键:

包括开始键、设置键、确认键、换档键、加一键等。由于本系统中的单片机还有空闲的I/O口线,且系统所需的按钮数量不多,因此,可以采用独立按钮结构。

根据DC电机控制系统的结构,电机调速系统是一个简单的应用系统,可以采用序贯设计方法。本设计由主程序和几个中断服务程序组成。整个电机转速测控系统可以分为六个模块,每个模块完成一定的功能。图4示出了根据电路图确定的程序设计模块图。

图4 DC电机控制软件设计模块图。

其中,主程序模块主要设置主程序的起始地址,中断服务程序的起始地址,相关存储单元和相关组件的初始化,以及一些子程序调用。主程序流程图如图5所示。

图5主程序流程图。

至于定时器T1 (1s)子程序的设计,其实计时功能可以通过硬件(定时器/计数器)或者单片机中的软件计时程序来实现。软件延时程序占用CPU时间,会降低CPU利用率。硬件定时由单片机中的定时器定时。而且定时器启动后,可以和CPU并行工作,所以不占用CPU的时间,从而使CPU有更高的工作效率。

本系统同时采用硬件计时和软件计时,即利用T1溢出中断功能实现10 ms计时,利用软件延时程序实现1 ms计时。其中,T1定时器中断服务程序的功能主要实现速度值的读取、检测和缓冲。

为了计算定时器T1的初始计数值,因为该系统的时钟频率是6 MHz,所以一个机器周期时间是2 s.这样,根据T1定时器产生的500 s的定时,就可以计算出初始计数值。

本文设计的转速测控系统的工作模式寄存器TMOD=00010000B,T1定时器在工作模式2下完成计时。

4程序调试程序调试可以在付伟仿真软件上编译,支持离线运行,纯软件环境可以模拟单步、跟踪、全速、断点;源文件模拟、汇编等。并且可以支持多文件混合编程。经过仿真和调试,可以将目标程序固化到EPROM中,然后用专用的程序编写器对89C51单片机进行编程。

5结论本设计采用C51编程,占用存储单元少,执行速度快,能准确把握执行时间,实现精细控制。同时,由于采用89C51作为CPU,并采用了抗噪声能力强的PWM控制技术、串口扩展显示接口和I/O口扩展键盘,可以省略片外RAM,体积小、功能全、小巧灵活、操作方便,可以安装在工作现场单独工作。因此,具有很大的实用价值和良好的应用前景。

标签:系统电机单片


声明:本文版权归原作者所有,转载文章仅为传播更多信息之目的,如作者信息标记有误,请第一时间联系我们修改或删除,谢谢。

上一篇: 太阳能发电有哪几种形式原理是什么_详解太阳能发电方式和的工作原理

下一篇: 物联网m2m技术_M2M集成平台支持复杂的物联网系统



推荐阅读