直流电机PWM调速与控制设计报告 - 图文(3)

2019-05-17 14:29

开始 系统初始化 速度脉冲信号输入I/O口扫描 否 1S计时标志 是 速度及A/D值采样 串口发送数据 PWM输出 结束

图13 系统主程序流程图 2.串口中断发送程序

本系统的串口通信指的是单片机与上位机(PC机)之间的串口通信,该通信主要用于测速模块的调试以及在测量转速时,单片机能从上位机(PC机)接收数据或者能将数据发回给上位机(PC机),以便观察电机转动情况,或者获得我们所需要的数据。

如图14所示,在本设计中,采用的是STC12C5A60S2芯片的串口UART0来与PC机进行串口通信。在串口UART0的配置中,定时/计数采用方式2是将两个8位计数器TH1和TL1分成独立的两个部分,组成一个8位可自动再装入的定时器/

计数器,由TL1作为8位计数器,TH1作为计数初值寄存器,设置初值时同时送TH1和TL1,当TL1计数满回0产生溢出,

不仅置位TF1,而且控制TH1中的初值重新装入TL1,继续下一轮计数,此信号送串行通信系统,以设置串行通信波特率,波特率设置公式如式所示:波特率=2 SMOD*(溢出率)/32 。

进入发送中断 发送1byte数据 否 1字节数据发送完毕 ? 是 发送第二字节数据 否 1字节数据发送完毕 ? 是 中断返回

图14 串口发送程序流程图

3.串口中断接收程序

上位机控制单元解扩出1bit数据后,产生一次中断。接收时首先采用16bits接收窗口、1bit滑动方式来接收通信的同步帧头0x09、0xAF,帧头接收成功后,后续数据按每8bits一个字节的方式进行截取,得到传送的有效数据,同时将得到的有效数据存储在缓冲单元中;接收过程中,按有关的通信协议进行地址判别、长度接收、校验计算。地址相同的模块对符合通信协议的数据进行应答,转入发送态。程序流程图如图15所示。

进入接收中断 清零接收标志 否 1字节数据接收完毕 ? 是 重组数据 中断返回

图15 串口接收程序流程图

4.A/D转换程序

A/D转换程序主要用于电机速度的输入模拟信号的采集与转换。程序流程图如图16所示。

启动指定通道 延时 否 转换结束? 是 返回转换结果

图16 A/D转换程序流程图

5.PWM输出程序

PWM控制——脉冲宽度调制技术,即通过一系列脉冲的宽度调制来等效地获得所需的波形(含形状和幅值),程序主要用于控制电机转速,他通过主程序的反馈算法计算出来,然后调整脉冲宽度来控制电机。程序流程图如图17所示。

设置寄存器CCON=0; 设置PWM模式寄存器CMOD=0x00,及PWM频率为系统时钟/12 设置寄存器PCA_PWM0=0x00; CCAPM0=0x42; 设置寄存器CCAP0H,CCAP0L,调节脉冲宽度 设置允许PCA计数器计数标志位CR

图17 PWM输出程序流程图

6.定时器0中断服务程序

定时器0中断程序主要用于1秒定时、转速的计算、A/D值采集以及上位机显示刷新。程序流程图如图18所示。

入口 计时赋初值 1秒计时标志? 是 否 计算转速,读取A/D,显示刷新 返回

图18定时器0中断服务程序流程图

四、 系统调试及性能分析

1. 系统硬件调试

1.1如图19为系统测速电路的采样波形

图19 经整形后的速度脉冲波形

1.2串口收发数据调试

串口电路是连接PC机与通信模块的桥梁,可借助串口调试助手对所设计的串口通信电路和通信模块进行测试。如图5.1所示,通过串口调试助手,向端口分别发送数据0x01、0x02、0x03、0x04、0x05数据经串口电路被单片机接收,将数据进行存储判断,决定是开启显示和电机还是正反转或是停止,同时将所出状态及电机转速发送回来,在串口调试助手的接收窗口上可以看到接收到的数据。串口调试如图20所示。

图20 电机转速及对应的电压显示数据

1.3实物展示


直流电机PWM调速与控制设计报告 - 图文(3).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:2013年全国各地名校中考模拟英语试卷汇编:完成句子

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: