微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 嵌入式设计 > 一种基于双单片机通信的无刷直流电动机控制系统的设计方案

一种基于双单片机通信的无刷直流电动机控制系统的设计方案

时间:11-10 来源:互联网 点击:

。因此,首先要设定通信波特率,根据需要设置合理的发送接收速率。主单片机程序在复位时,初始化串行传送控制寄存器SCON,设置SCON=0x40,此时采用串行传输模式一。令SMOD=1,TMOD=0x21,定时器T1设为方式二,初值设为0xff,则波特率为62.5kbit/s。主单片机采用定时发送数据方式,从单片机接收数据采用中断方式。首先要对串行口进行初始化,定义SCON使REN=1,且要开CPU及串行口中断,使EA=1,ES=1。接收到数据后,接上中断标志位RI为1,程序进入中断服务程序,先关中断,然后将SBUF接收到的数据取出,再使RI清零并开中断退出中断服务程序。具体思路是:主单片机将测量的转速与设定转速比较,如果过大,则通过串行口向从单片机发出数字0;如果过小,则向从单片机发出数字1;如果相等,则向从单片机发出数字2。从单片机通过中断读取信息,如果SBUF里数的为0,则增大换相延时时间,降低电机转速,直至接收到2为止;如果SBUF里的数为1,则减小换相延时时间,以增大电机转速,直至接收到2为止;如果SBUF里的数为2,则换相延时时间不变,电机保持在当前速度下运行。

5.3 串行通信软件设计

整个软件采用C51语言编写,全部模块化编程。主单片机程序模块主要包括测速程序、设定速度程序、速度显示程序,其主函数流程图如图7所示。从单片机程序模块主要包括正转、反转及停车程序、调整程序、串行中断服务程序,其主函数流程图及中断函数流程图如图8、图9所示。

本文设计并实现的无刷直流电动机控制系统,在实验室已调试成功。该电路软件仿真和硬件实现已通过验证,取得了很好的效果。实践证明本设计可行有效。

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top