




已阅读5页,还剩2页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
单片机控制小功率直流电机一. 设计要求:用单片机控制直流电机加速、减速、正反转和停止。二. 设计方案分析1、方案设计:直流电机只要能提供一定的直流就可以转动,改变电压极性可以改变转动方向,可以通过给直流电机提供脉冲信号来驱动它,脉冲信号的占空比可以影响到直流电机的平均速度,因此可以通过调整占空比从而能实现调速的目的。直流电机的驱动电路要有过流保护作用,可用二极管来实现,另外电机的驱动电流是比较大的所以需要用三极管来放大电流。程序的关键就是如何实现占空比的调整,这个可以通过对51单片机定时器重装初值进行改变,从而改变时间。设计中用到的元件:STC89C52、晶振(12MHz)、小按键、三极管、二极管、电容、电阻等。2、背景知识介绍:直流电机调速原理本设计的主要思想为利用PWM控制占空比从而达到改变电机速度。下面为PWM控制原理;图1为PWM降压斩波器的原理电路及输出电压波形。在图1a中,假定晶体管V1先导通T1,秒(忽略V1的管压降,这期间电源电压Ud全部加到电枢上),然后关断T2秒(这期间电枢端电压为零)。如此反复,则电枢端电压波形如图1b中所示。电动机电枢端电压Ua为其平均值。图1 PWM降压斩波器原理电路及输出电压波形a) 原理图 b)输出电压波形 (3)式(3)中 (4) 为一个周期T中,晶体管V1导通时间的比率,称为负载率或占空比。使用下面三种方法中的任何一种,都可以改变的值,从而达到调压的目的: (1)定宽调频法:T1保持一定,使T2在0范围内变化; (2)调宽调频法:T2保持一定,使T1在0范围内变化(3)定频调宽法:T1+T2=T保持一定,使T,在0T范围内变化。 不管哪种方法,的变化范围均为0l,因而电枢电压平均值Ua的调节范围为0Ud,均为正值,即电动机只能在某一方向调速,称为不可逆调速。当需要电动机在正、反向两个方向调速运转,即可逆调速时,就要使用图12a所示的桥式(或称H型)降压斩波电路。 在图2a中,晶体管V1、V4是同时导通同时关断的,V2、V3也是同时导通同时关断的,但V1与V2、V3与V4都不允许同时导通,否则电源Ud直通短路。设V1、V4先同时导通T1秒后同时关断,间隔一定时间(为避免电源直通短路。该间隔时间称为死区时问)之后,再使V2、V3同时导通T2秒后同时关断,如此反复,则电动机电枢端电压波形如图2b所示。图2 桥式PWM降压斩波器原理电路及输出电压波形a)原理图 b)输出电压波形电动机电枢端电压的平均值为 (4)由于01,Ua值的范围是 -Ud+Ud,因而电动机可以在正、反两个方向调速运转。 图3给出了两种PWM斩波电路的电枢电压平均值的特性曲线。图3两种斩波器的输出电压特性三、硬件设计:用单片机的p2.2、p2.3、p2.4、p2.5和四个按键相连,其功能分别为左转、右转、停止和加速。按下左转键则开始向左转动,按下右转键则向右转动,按下停止键则开始逐渐停止转动,按下调速键一次则会加速一档,按下调速键二次则会加速二档,按下调速键三次则会加速三档,按下调速键四次则会加速四档,按下调速键五次则会回到最初速度重新记档位。单片机的p2.0和p2.1分别和电机相连,控制单片机的两个输入。可用单片机选择p2.0或p2.1输出方波,使电机两端产生压差,从而是电机转动。通过改变输出方波的大小,可使电机实现加速减速功能。由于单片机产生的方波很小,不足以驱动电机,所以要加上三极管放大电路。连接时还要加上二极管来保护电路。再接上单片机的VCC、GND、晶振电路和复位电路。这里晶振用的是12MHZ的。四、软件设计:可使PW1=P20 ;PW2=P21,当PW1=0;PW2=1时,电机顺时针转动;当PW1=1;PW2=0时,逆向转动,当PW1=1;PW2=1,停转五、测试数据及设计结果:六、调试中出现的错误及解决方法附录:源程序(带注释),Proteus电路图。 #include#define uchar unsigned char #define uint unsigned intsbit PW1=P20 ;sbit PW2=P21; /控制电机的两个输入sbit accelerate=P22 ; /调速按键sbit stop=P23 ; /停止按键sbit left=P24 ; /左转按键sbit right=P25 ; /右转按键 #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 定时器0 TH0=(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;x0;x-) for(y=110;y0;y-);void keyscan() if(stop=0) TR0=0; /关闭定时器0 即可停止转动 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 i
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 化州安全员培训课件
- 内部安全员培训通知模板课件
- 初中校园安全培训心得
- 内蒙访古课件职高
- 内蒙安全生产培训中心课件
- 化学安全科技培训课件
- 内科泌尿系疾病课件
- 11宇宙生命之谜 +公开课一等奖创新教学设计
- 蒙台梭利教育法核心解析
- 医疗设备绿色设计策略-洞察及研究
- LED照明灯具基础培训
- 上海市静安区2022-2023学年高一下学期期末数学试题(解析版)
- TPM管理知识培训
- 2023年国家公务员考试申论真题及答案解析(地市级)
- 关于无梁楼盖和梁板式楼盖经济性的比较
- 第十四杂环化合物
- RB/T 306-2017汽车维修服务认证技术要求
- 《数学软件》课程教学大纲
- 《细胞工程学》考试复习题库(带答案)
- 粤教花城版小学音乐歌曲《哈哩噜》课件
- 第六讲:RCEP服务贸易与投资解读课件
评论
0/150
提交评论