51单片机控制无刷直流电机程序
- 格式:docx
- 大小:13.18 KB
- 文档页数:2
51单片机直流电机正反转程序在工业自动化、机器人、电子设备等领域,直流电机是一种常见的电动机。
直流电机具有结构简单、转速范围广、转矩大、控制方便等优点,因此被广泛应用。
在直流电机的控制中,正反转是一种常见的操作。
本文将介绍如何使用51单片机控制直流电机的正反转。
1. 直流电机的原理直流电机是一种将电能转化为机械能的电动机。
它的基本结构由定子、转子、电刷和电枢组成。
当电枢通电时,电枢内部会产生磁场,与定子磁场相互作用,从而产生转矩,使转子转动。
电刷则用来改变电极的极性,使电极的磁场方向与定子磁场方向相互作用,从而使电机正反转。
2. 51单片机控制直流电机的原理51单片机是一种常用的微控制器,具有体积小、功耗低、易于编程等优点。
在控制直流电机时,我们可以使用51单片机来控制电机的正反转。
具体实现方法是通过控制电机的电极极性来改变电机的转向。
3. 51单片机直流电机正反转程序下面是一段使用51单片机控制直流电机正反转的程序:#include <reg52.h>sbit IN1 = P1^0; //定义IN1引脚sbit IN2 = P1^1; //定义IN2引脚void delay(unsigned int t) //延时函数 {unsigned int i, j;for(i=0; i<t; i++)for(j=0; j<125; j++);}void main(){while(1){IN1 = 1; //IN1引脚输出高电平 IN2 = 0; //IN2引脚输出低电平 delay(1000); //延时1秒IN1 = 0; //IN1引脚输出低电平 IN2 = 1; //IN2引脚输出高电平 delay(1000); //延时1秒}```上述程序中,我们使用了P1口的0、1引脚来控制电机的正反转。
当IN1引脚输出高电平、IN2引脚输出低电平时,电机正转;当IN1引脚输出低电平、IN2引脚输出高电平时,电机反转。
可以实现的功能是:按下左转键则开始向左转动按下右转键则向右转动按下停止键则开始逐渐停止转动按下调速键一次则会加速一档按下调速键二次则会加速二档按下调速键三次则会加速三档按下调速键四次则会加速四档按下调速键五次则会回到最初速度重新记档位设计思路:直流电机只要能提供一定的直流就可以转动,改变电压极性可以改变转动方向,可以通过给直流电机提供脉冲信号来驱动它,脉冲信号的占空比可以影响到直流电机的平均速度,因此可以通过调整占空比从而能实现调速的目的。
直流电机的驱动电路要有过流保护作用,图中的二极管就直到这个作用,另外电机的驱动电流是比较大的所以需要用三极管来放大电流。
程序的关键就是如何实现占空比的调整,这个可以通过对51单片机定时器重装初值进行改变,从而改变时间。
用51实现PWM信号的输出,相对麻烦点,要是AVR就可以方便地实现PWM信号,由见51单片机的局限性与AVR单片机的优势。
原理图详细程序:#include<reg52.h>#define uchar unsigned char#define uint unsigned intsbit PW1=P2^0 ;sbit PW2=P2^1 ; //控制电机的两个输入sbit accelerate=P2^2 ; //调速按键sbit stop=P2^3 ; //停止按键sbit left=P2^4 ; //左转按键sbit right=P2^5 ; //右转按键#define right_turn PW1=0;PW2=1 //顺时针转动#define left_turn PW1=1;PW2=0 //逆向转动#define end_turn PW1=1;PW2=1 //停转uint t0=25000,t1=25000; //初始时占空比为50%uint a=25000; // 设置定时器装载初值 25ms 设定频率为20Hzuchar flag=1; //此标志用于选择不同的装载初值uchar dflag; //左右转标志uchar count; //用来标志速度档位void keyscan(); //键盘扫描void delay(uchar z);void time_init(); //定时器的初始化void adjust_speed(); //通过调整占空比来调整速度void main(){time_init(); //定时器的初始化while(1){keyscan(); //不断扫描键盘程序,以便及时作出相应的响应}}void timer0() interrupt 1 using 0{if(flag){flag=0;end_turn;a=t0; //t0的大小决定着低电平延续时间TH0=(65536-a)/256;TL0=(65536-a)%256; //重装载初值}else{flag=1; //这个标志起到交替输出高低电平的作用if(dflag==0){right_turn; //右转}else{left_turn; //左转}a=t1; //t1的大小决定着高电平延续时间TH0=(65536-a)/256;TL0=(65536-a)%256; //重装载初值}}void time_init(){TMOD=0x01; //工作方式寄存器软件起动定时器定时器功能方式1 定时器0TH0=(65536-a)/256;TL0=(65536-a)%256; //装载初值ET0=1; //开启定时器中断使能EA=1; // 开启总中断TR0=0;}void delay(uchar z) //在12M下延时z毫秒{uint x,y;for(x=z;x>0;x--)for(y=110;y>0;y--);}void keyscan(){if(stop==0){TR0=0; //关闭定时器0 即可停止转动end_turn;}if(left==0){TR0=1;dflag=1; //转向标志置位则左转}if(right==0){TR0=1;dflag=0; //转向标志复位则右转}if(accelerate==0){delay(5) ; //延时消抖if(accelerate==0){while(accelerate==0) ; //等待松手count++;if(count==1){t0=20000;t1=30000; //占空比为百分之60}if(count==2){t0=15000;t1=35000; //占空比为百分之70 }if(count==3){t0=10000;t1=40000; //占空比为百分之80 }if(count==4){t0=5000;t1=45000; //占空比为百分之90 }if(count==5){count=0;}}}}。
51单片机怎么驱动直流电机c语言有3种方案:第一种,通过PWM脉宽调制输出方法控制转速,控制占空比的大小可以实现调速!第二种,通过AD转换的方法控制直流电机的电压第三种,用xtr115程控电流源来控制直流电机(类似第二种方法)如果以上的驱动能力不够的话再加上一个电压跟随器!一下以L298电机驱动电路为例。
L298是SGS公司的产品,L298N为15个管角的单块集成电路,高电压,高电流,四通道驱动,设计用L298N来接收DTL或者TTL逻辑电平,驱动感性负载(比如继电器,直流和步进马达)和开关电源晶体管。
内部包含4通道逻辑驱动电路,其额定工作电流为 1 A,最大可达 1.5 A,Vss 电压最小 4.5 V,最大可达 36 V;Vs 电压最大值也是 36 V。
L298N可直接对电机进行控制,无须隔离电路,可以驱动双电机。
当使能端为高电平时,输入端IN1为PWM信号,IN2为低电平信号时,电机正转;输入端IN1为低电平信号,IN2为PWM信号时,电机反转;;IN1与IN2相同时,电机快速停止。
当使能端为低电平时,电动机停止转动。
在对直流电动机电压的控制和驱动中,半导体功率器件(L298)在使用上可以分为两种方式:线性放大驱动方式和开关驱动方式在线性放大驱动方式。
半导体功率器件工作在线性区优点是控制原理简单,输出波动小,线性好,对邻近电路干扰小,缺点为功率器件工作在线性区,功率低和散热问题严重。
开关驱动方式是使半导体功率器件工作在开关状态,通过脉调制(PWM)来控制电动机的电压,从而实现电动机转速的控制。
#include#include#define uchar unsigned char#define uint unsigned intsbit MOTOR_A_1=P3^6;sbit MOTOR_A_2=P3^7;sbit k1=P1^0; //定义k1为p1.0口sbit k2=P1^1; //定义k2为p1.1口sbit k3=P1^2; //定义k3为p1.2口sbit k4=P1^3; //定义k4为p1.3口uchar T=0; //定时标记uchar W=0; //脉宽值 0~100uchar A=0; //方向标记 0,1uchar k=0; //按键标记uchar i=0; //计数变量uchar code table1[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71};uchar code table2[]={0xfe,0xfb,0xfd,0xf7}; void delayms(uint t);void disp(void){P2=table2[3];P0=table1[W]; //显示占空比个位delayms(1); //延时1msP2=0xff; //P0清1P2=table2[2];P0=table1[W/100]; //显示占空比百位delayms(1); //延时1msP2=0xff; //P0清1P2=table2[1];P0=table1[W/10]; //显示占空比十位delayms(1); //延时1msP2=0xff; //P0清1P2=table2[0];P0=table1[A]; //显示方向delayms(1); //延时1msP2=0xff; //P0清1}void init(void){//启动中断TMOD=0x01;EA=1;ET0=1;TR0=1;//设置定时时间TH0=0xff;TL0=0xf6;}void timer0() interrupt 1{//重置定时器时间TH0=0xff;TL0=0xf6;T++; //定时标记加1disp(); //数码管显示if(k==0){if(T》W)MOTOR_A_1 =0;elseMOTOR_A_1 =1;}else{if(T》W)MOTOR_A_2 =0;elseMOTOR_A_2 =1;}if(T==100)T=0;}void delayms(uint t){uchar j;while(t--){for(j=0;j《250;j++) //循环250次{_nop_(); //系统延时_nop_(); //系统延时_nop_(); //系统延时_nop_(); //系统延时}}}void key(void) //按键判断程序{if(k1==0) //按键1按下{while(k1==0); //按键1抬起if(W==100) //如果脉宽为100 W=0; //脉宽置0elseW+=1; //否则加1}else if(k2==0) //按键2按下{while(k2==0); //按键2抬起if(W==0) //如果脉宽为0W=100; //脉宽设置成100elseW-=1; //否则减1}else if(k3==0) //按键3按下{while(k3==0); //按键3抬起A=!A; //方向标记取反k=!k; //按键标记取反}else if(k4==0) //按键4按下{while(k4==0); //按键4抬起W=0; //脉宽清0}}void main(void){init(); /////////系统初始化while(1){if(k==0)MOTOR_A_2=0;elseMOTOR_A_1=0;key(); ////////查询按键}}。
51单片机控制直流电机PWM调速
实验目的
1.掌握脉宽调制(PWM) 的方法。
2.用程序实现脉宽调制,并对直流电机进行调速控制。
实验设备
PC 机一台,单片机最小系统,驱动板、直流电机,连接导线等
实验原理
1.PWM (Pulse Width Modulation) 简称脉宽调制。
即,通过改变输出脉冲
的占空比,实现对直流电机进行调压调速控制。
2.实验线路图:
实验内容:
1. 利用实验室提供的单片机应用系统及直流电机驱动电路板,编制控制程序,实现直流电机PWM调速控制。
实验思考题
本实验中是通过改变脉冲的占空比,周期T 不变的方法来改变电机转速的,还有什么办法能改变电机的转速,应该怎么实现?
附件:
L298简介:
L298N 为SGS-THOMSON Microelectronics 所出产的双全桥步进电机专用驱动芯片( Dual Full-Bridge Driver ) ,内部包含4信道逻辑驱动电路,是一种二相和四相步进电机的专用驱动器,可同时驱动2个二相或1个四相步进电机,内含二个H-Bridge 的高电压、大电流双全桥式驱动器,接收标准TTL逻辑准位信号,可驱动46V、2A以下的步进电机,且可以直接透过电源来调节输出电压;此芯片可直接由单片机的IO端口来提供模拟时序信号。
一个基于51单片机控制直流电机的设计1.引言直流电机是一种常见的电机类型,广泛应用于工业自动化、机械设备和家电等领域。
其具有结构简单、可靠性高、调速性能好等特点,在控制方面也较为简单。
本文将介绍一种基于51单片机控制直流电机的设计方案。
2.设计原理2.1直流电机控制原理直流电机的转速和转向可以通过调整电机的电流和极性来实现。
通常,通过PWM信号来控制电机的转速,通过电机驱动芯片来控制电机的转向。
2.251单片机51单片机是一种广泛应用的8位单片机,具有强大的计算和控制能力。
其可以通过IO口产生PWM信号,以控制电机的转速,同时还可以通过IO口控制电机驱动芯片的输入信号,实现电机的转向控制。
3.系统设计3.1硬件设计3.1.1主控板设计主控板采用51单片机作为核心控制器,通过IO口输出PWM信号控制电机的转速,并通过IO口输出电机方向控制信号。
主控板还需要提供电源输入、串口通信接口等。
3.1.2电机驱动设计电机驱动采用专用的直流电机驱动芯片,通过控制其输入信号,实现对电机的转向控制。
电机驱动芯片还需要提供输入信号的滤波、保护等功能。
3.2软件设计3.2.1PWM信号生成通过51单片机的定时器/计数器模块,可以生成PWM信号。
根据所需的转速,可以调整定时器的计数周期和占空比,控制PWM信号的频率和占空比。
3.2.2方向控制通过控制51单片机的IO口输出电平,可以控制电机驱动芯片的输入信号,实现电机的正转或反转。
具体的电平和控制方式可通过电机驱动芯片的手册进行确定。
3.3系统测试在完成硬件和软件设计后,需要对整个系统进行测试。
首先可以通过示波器检查PWM信号的频率和占空比是否符合要求;其次,通过改变指令,测试电机的转向控制是否正常工作;最后,可以通过改变PWM信号的占空比,测试电机的转速控制是否准确。
4.结论本文介绍了一种基于51单片机控制直流电机的设计方案,通过生成PWM信号控制电机转速和通过IO口输出电平来控制电机的转向。
基于MCS-51单片机控制直流无刷电动机学号:3100501044班级:电气1002姓名:王辉军摘要直流无刷电机是同步电机的一种,由电动机本体、位置传感器和电子开关线路三部分组成。
其定子绕组一般制成多相(三相、四相、五相不等),转子由永久磁钢按一定极对数(2p=2,4,…)组成。
电机转子的转速受电机定子旋转磁场的速度及转子极数(P)影响:N=120.f / P。
在转子极数固定情况下,改变定子旋转磁场的频率就可以改变转子的转速。
直流无刷电机即是将同步电机加上电子式控制(驱动器),控制定子旋转磁场的频率并将电机转子的转速回授至控制中心反复校正,以期达到接近直流电机特性的方式。
也就是说直流无刷电机能够在额定负载范围内当负载变化时仍可以控制电机转子维持一定的转速。
MCS-51单片机是美国英特尔公司生产的一系列单片机的总称,是一种集成电路芯片,采用超大规模技术把具有数据处理能力的微处理器(CPU)、随机存储器(RAM)、只读存储器(ROM)、输入输出接口电路、定时计算器、串行通信口、脉宽调制电路、A/D转换器等电路集成到一块半导体硅片上,这些电路能在软件的控制下准确、迅速、高效地完成程序设计者事先规定的任务。
本论文将介绍基于MCS-51单片机控制直流无刷电动机的设计,它可以实现控制直流无刷电动机的启动、停止、急停、正反转、加减速等功能。
关键词:单片机,直流无刷电动机,控制系统直流无刷电动机是在直流电动机的基础之上发展而来的,它是步进电动机的一种,继承了直流电动机的启动转矩大、调速性能好等特点克服了需要换向器的缺点在交通工具、家用电器及中小功率工业市场占有重要的地位。
直流无刷电动机不仅在电动自行车、电动摩托车、电动汽车上有着广泛的应用,而且在新一代的空调机、洗衣机、电冰箱、吸尘器,空气净化器等家用电器中也有逐步采用的趋势,尤其是随着微电子技术的发展,直流无刷电动机逐渐占有原来异步电动机变频调速的领域,这就使得直流无刷电动机的应用范围越来越广。
xxxxxx大学课程设计报告课程设计名称:单片机系统综合课程设计课程设计题目:基于51单片机的直流电机控制院(系):专业:班级:学号:姓名:指导教师:完成日期:xxxxxx大学课程设计报告目录第1章总体设计方案 (1)1.1课程设计的内容和要求 (1)1.2课程设计原理 (1)1.3课程设计思路 (1)1.3.1 提出方案 (1)1.3.2 方案阐述 (2)1.4实验环境 (2)第2章详细设计方案 (3)2.1实现方法 (3)2.2模块设计 (3)2.2.1 主函数模块 (3)2.2.2 外中断模块 (4)2.2.3 数码管显示函数模块 (6)2.3实验箱连线图 (6)第3章结果测试及分析 (8)3.1调试步骤及方法 (8)3.2结果分析 (8)参考文献 (9)附录1(源程序) (10)附录2(电路图) (13)附录3(器件清单) (14)第1章总体设计方案1.1 课程设计的内容和要求(1) 课程设计内容利用MCS-51单片机控制PWM信号从而实现对直流电机转速进行控制,具体内容如下:①能够控制直流电机的正反转;②能够控制电机的加速和减速;③能够控制电机的启动和停止;④直流电机的运行状态,速度等级显示在数码管上。
(2) 设计要求:①立完成课程设计任务;②过老师现场验收;③出完整的课程设计报告。
1.2 课程设计原理根据题目要求通过控制占空比的改变,从而改变直流电机的转速,再将速度的等级显示在数码管上。
用户通过控制查询自定义位变量的改变而控制直流电机启动和停止,又通过两个外中断函数和一个延时函数改变占空比的值,来实现对直流电机的加速和减速。
再选取一个数码管来显示转速的等级。
1.3 课程设计思路1.3.1 提出方案由于是控制PWM信号实现对直流电机的控制,PWM是脉冲宽度调制,产生的方波高电平时间跟周期的比例叫占空比,所以就要用占空比的改变实现电机的加速和减速。
通过调用外中断函数改变方波高电平的时间,再控制周期不变就会使电机的转速改变。
基于51单片机的无刷直流电动机控制器设计系别:机电与自动化学院专业班:电气工程及其自动化0702班姓名:学号:指导教师:2011年6月基于51单片机的无刷直流电动机控制器设计The Design of Brushless DC Motor Controller Based on MCS-51 Singlechip摘要近年来,无刷直流电动机愈来愈多地在很多领域得到应用,它除了保持有刷直流电动优越的起动性能和调速性能以外,其最大的特点,就是没有换向器和电刷组成的机械接触结构,因而具有寿命长、噪声低、运行可靠、维护简便等一系列优点,且由于其转速不受机械换向的限制,可在宽广的范围内平滑地调速。
例如在电动自行车上应用无刷直流电动机来取代原来的有刷直流电动机,由于采用了电子无接触式换向,不仅延长了电机的使用寿命,而且调速方便,易于控制,运行平稳。
本文以无刷直流电机为研究对象,以无刷直流电机控制系统为控制目标,以PWM为控制设计技术,采用MCS-51系列单片机为主控芯片,文章主要研究无刷直流电动机的调速功能,实现电动机的起动、制动、正/反转换向,加/减速,并对无刷直流电动机的运行状态进行监视和报警。
文章研究包含硬件和软件两个方面,硬件方面实现的功能有:电源设计、调速控制设计、驱动电路设计、过热保护电路设计、短路保护电路设计和转速显示设计等部分;软件方面实现的功能有,电路复位模块的设计、按键控制模块的设计、功能模块的设计、电动机判停模块的设计、IPS下载模块的设计和速度显示模块的设计等部分。
文章介绍了无刷直流的功能硬件图和程序结构流程,介绍了利用MCS-51单片机和控制芯片来控制无刷直流电动机速度的方法,并在电动机运行异常时发出警报。
本课题经过理论分析和系统调试,控制系统性能稳定,可靠性佳,实现了既定的功能,达到了设计指标的要求。
关键词:无刷直流电动机 MCS-51单片机调速控制AbstractRecently,brushless DC motor has been applied in many area.Besides the good performance of startup and speed control,its remarkable characteristic is that there is no commutator and brush。
;*************************************************;MCS51单片机控制直流无刷电机程序;*************************************************org 00hajmp startorg 30h;**********检测键盘状态的程序****************START:mov p0,#0ffh ;置p0为输入口,将P0口置为1,用于检查按键是否按下jnb p0.0,QIDONG ;按键S2按下,p0.0为0,进入启动(正转)程序jnb p0.1,FANZHUAN ;按键S3按下,p0.1为0,进入反转程序jnb p0.2,JITING ;按键S4按下,p0.2为0,进入急停程序jnb p0.3,JIASU ;按键S5按下,p0.3为0,进入加速程序jnb p0.4,JIANSU ;按键S6按下,p0.4为0,进入减速程序jnb p0.5,TINGZHI ;按键S7按下,P0.5为0,进入停止程序ajmp start;************启动程序,默认为顺时针转动,转速为2000RPM*********** QIDONG:LCALL YANSHI ;调用延时子程序,目的:软件消除按键抖动JNB P0.0,QILJMP START ;软件消抖后,若p0.0为1,则认为按键未按下,回到检测按键状态程序QI:clr p0.6 ;p0.6接电机R/S端,将其清零表示电机可以运行setb p0.7 ;p0.7接DIR端,为1,则与COM端断开,电机正转mov p2,#0Bh ;p2.0接CH1,p2.1接CH2,p2.2接CH3,将速度设定为2000RPM lcall XIANSHI ;显示设定速度LJMP START ;执行完启动程序后,回到检测按键状态程序;***************反转程序,也即逆时针转动***************** FANZHUAN:LCALL YANSHI ;调用延时子程序,目的:软件消除按键抖动JNB P0.1,FANLJMP START ;软件消抖后,若p0.0为1,则认为按键未按下,回到检测按键状态程序FAN:clr p2.3 ;接通BRK端,使电机急停lcall PANTING ;调用判停程序,能从判停程序中返回,说明机已停setb p2.3 ;断开BRK端,解除急停状态clr p0.7 ;接通DIR端,使电机逆时针转动lcall XIANSHI ;显示设定速度LJMP START ;执行完启动程序后,回到检测按键状态程序;*****************急停程序*********************JITING:LCALL YANSHI ;调用延时子程序,目的:软件消除按键抖动JNB P0.2,JILJMP START ;软件消抖后,若p0.0为1,则认为按键未按下,回到检测按键状态程序JI:clr p2.3 ;接通BRK端,使电机急停lcall PANTING ;调用判停程序,若能从中返回,说明电机已停LJMP START ;执行完启动程序后,回到检测按键状态程序;***************加速程序,每按一次键,加速500rpm**************** JIASU:LCALL YANSHI ;调用延时子程序,目的:软件消除按键抖动JNB P0.3,JIALJMP START ;软件消抖后,若p0.0为1,则认为按键未按下,回到检测按键状态程序JIA:mov a,p2 ;将p2的值复制到累加器a中anl a,#07h ;取ch3ch2ch1的值,并放到累加器a中jz START ;若a中值为0,则速度已经最大,不再加速,回到检测按键状态程序mov r0,p2dec r0mov p2,r0 ;加速500rpm(参考电机驱动器说明中的多段速度选择部分)lcall XIANSHI ;显示设定的速度LJMP START ;执行完启动程序后,回到检测按键状态程序;********************减速程序,每按一次键,减速500rpm**************** JIANSU:LCALL YANSHI ;调用延时子程序,目的:软件消除按键抖动JNB P0.4,JIANLJMP START ;软件消抖后,若p0.0为1,则认为按键未按下,回到检测按键状态程序JIAN:mov a,p2anl a,#07h ;取ch3ch2ch1的值cjne a,#07h,JS ;若a中数值为07h,则速度已为0,ljmp START ;若速度为0,则程序回到开始程序,不再减速,以防出错JS:mov a,P2inc amov P2,a ;减速500rpm(参考电机驱动器说明中的多段速度选择部分)lcall XIANSHI ;显示设定的速度ljmp START ;执行完启动程序后,回到检测按键状态程序;********************停止程序***********************TINGZHI:LCALL YANSHI ;调用延时子程序,目的:软件消除按键抖动JNB P0.5,TINGLJMP START ;软件消抖后,若p0.0为1,则认为按键未按下,回到检测按键状态程序TING:setb p0.6 ;p0.6接R/S端,为1,则与COM端断开lcall PANTING ;调用判停程序,若能从中返回,说明电机已停LJMP START ;执行完启动程序后,回到检测按键状态程序;*****************延时10ms,这是一个子程序,功能是延时10毫秒************* YANSHI:mov a,#0 ;对累加器a置零,延时用y:mov r1,#00h ;对寄存器r1置零,延时用inc r1cjne r1,#0ffh,y ;延时1msinc acjne a,#10,y ;延时10×1=10msret;*******判停程序,这是一个子程序,若能从判停程序中返回,则说明电机已停******** PANTING:jnb p2.4,yanshi250ms ;若speed端为0,则进入延时程序ajmp PANTING ;若speed端为1,则返回PANTING,等待speed端出现0电平yanshi250ms:clr p2.6 ;允许对计数器置数mov p3,#08h ;对计数器置入数8setb p2.6 ;计数器开始计数mov a,#0 ;对累加器a置零,延时用y250:mov r1,#00h ;对寄存器r1置零,延时用inc r1jb p2.5,PANTING ;若期間Tc为1,则电机未停,返回PANTING,继续判断cjne r1,#0ffh,y250 ;延时1msinc acjne a,#250,y250 ;延时250ms,ret;若至延时结束Tc一直不改变状态,则说明speed端口无脉冲输出,认为电机停转,程序;返回。
基于51单片机的直流电机控制一、试验器件选择1、控制芯片的作用主要是与L289相连接驱动直流电机,以及与八位数码管相连显示。
(1)、AT89C51是一种带4K自己FLASH存储器的低压、高性能CMOS8为微处理器。
单片机的可擦除只读存储器可以反复擦除1000次。
该器件采用ATMEL高密度非易失真存储制造技术制造,与工业标准的MCS-51指令集和输出关键相兼容。
由于将多功能8位CPU和闪存组合在单个芯片中,ATMEL的AT89C51是一种高效微控制器。
AT89C51单片机为很多嵌入式控制系统提供了一种灵活性奥高且廉价的方案。
(2)、AT89C51引脚图如下:2、电机驱动芯片(1)、电机驱动芯片选择L298。
其主要功能是作为单片机与直流电机中间的过度链接,单片机输出的信号通过L298加载到直流电机上驱动直流电机运行。
其引脚图如下:(2)、主要工作原理:1、15脚分别是两个H桥的电流反馈脚,不用时可以直接接地;2、3为一对输出端口,13、14为一对输出端口;4为驱动电压输入,最小值必须比输入的低电平高2;5、7一对输入端口,10、12一对输入端口,TTL电平兼容6、11使能端,低电平禁止输出;8、9分别为接地和逻辑电源3、直流电机。
在protues中选择motor-encoder直流电机,引脚图如下:上方左右的两个引脚在点击运转时输出频率相同的方波,但是在相位上相差90 ,而且在正转和反转是相反,因此可以根据这两个引脚的输出情况判断点击的转向。
上方中间的引脚每当电机转一圈就输出一个正脉冲,可以据此册数点击的转速。
左右两个引脚是电机的电压输入端。
4、74HC74。
当D触发器的D和CLK输入端分别接电机上方的左右两个输出端口时可以根据D触发器的输出情况判断点击的转速。
5、八位数码管。
用以显示。
二、系统硬件设计连接1、系统的器件连接图如下:2、单片机与数码管通过P0口和P2口相连,其中P2口选择点亮哪一个数码管,P0口则控制被点亮的数码管显示的数据。
电气传动产品与技术PRODUCT & TECHNOLOGY超精密加工是获得高形状精度、表面精度和完整性的必要手段。
其中,金刚石刀具超精密切削是超精密加工技术的一个重要组成部分。
为了高质高效地获得金刚石研磨质量,其必须要有稳定高速运行的主轴系统。
无位置传感器无刷直流电动机系统, 它采用了精密轴承和电动机相结合的办法,即把主轴、轴承、电动机等结构集成到一起,并去除位置传感器和传动机构,因此使得电动机结构紧凑,有利于实现小型化和精密化的要求。
使用这种主轴系统能获得较高的稳定性和最高的转速。
但无位置传感器的无刷直流电动机的控制方法复杂,TB6537和 TA84005的出现,简化了控制电路设计,对它们的组合使用可以实现反电势检测、过电流保护,以及电动机驱动。
51系列单片机是一款通用型的单片机,相对于专用的电动机芯片和电动机控制电路板而言,熟悉它的开发人员多,在此基础上进行二次开发的周期相对要短。
同时它对外设功能(A D C、D A C、可编程增益放大器、PCA 及内部振荡器等进行了高度集成。
为设计小体积,低功耗,高可靠,高性能的应用系统提供了极大的方便。
TB6537和 TA84005原理图1.TB6537内部框图TB6537是一种无位置传感器无刷直流电动机的专用控制芯片,有 DIP 和 SSOP 两种封装。
工作电压为 5V,PWM 的频率为 16kHz。
TB6537芯片易于与单片机接口。
可以实现 P W M 控制和正反转控制,可以选择 H _P W M -L _P W M 控制方式和 H _P W M -L _O N 控制方式,可选择超前脚设置和重叠通电功能,内部有过电流保护功能。
2.TA84005内部框图TA84005是一款小功率三相无刷直流电动机驱动芯片。
它内置电压检测电路,具有过流检测、过热检测功能。
TA84005推荐工作参数为:逻辑电源电压 V cc =5 V;电动机电源电压 VM=10~22V,峰值电压为 25V;输出电流为 Io=0.5A;斩波频率为 20kHz。