ImageVerifierCode 换一换
格式:DOCX , 页数:14 ,大小:79.12KB ,
资源ID:9800327      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/9800327.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(直流电机PWM调速系统的设计与仿真.docx)为本站会员(b****7)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

直流电机PWM调速系统的设计与仿真.docx

1、直流电机PWM调速系统的设计与仿真直流电机 PWM 调速系统的设计与仿真、引言1 本课题设计的目的和要求1. 直流电机 PWM调速系统的目的:( 1) 熟悉直流电机 PWM调速系统的整体运行过程和总体布局( 2) 掌握该硬件电路的设计方法(3) 掌握电机 PWM调速系统程序的设计和调试2. 直流电机 PWM调速系统的要求(1)可输入 01 范围的占空比,占空比可用电位器输入、拨码开关输入或键 盘输入。( 2)设计电机驱动电路,根据输入的占空比控制电机转速。( 3)检测电机转速,并用 LED或 LCD显示。(4)在 PROTUE下S 仿真。二、系统总体框图与原理说明总体方案原理及设计框图本设计是

2、基于 AT89c51 为核心的直流调速器,由单片机控制和产生适合要求的 PWM信号,该 PWM信号通过驱动芯片电路进行直流调速,使输出电压平均值和功率可以 按照 PWM信号的占空比而变化,从而达到对直流电机调速的目的。拨码开关输入 01 范围的占空比,用 LCD1602 作为主液晶显示器,显示 输入的占空比控制电机转速,能够实现 较好的人机交互。拨码开关输入模块总体方案设计框图三、硬件电路图用压控振荡器(可用 555 电 路构成)来模拟直流电机的 运行PWM产生方式( 1)PWM(脉冲宽度调制)是通过控制固定电压的直流电源开关频率,改变负载两 端的电压,从而达到控制要求的一种电压调整方法。 P

3、WM可以应用在很多方面,比如: 电机调速、温度控制、压力控制等等。在 PWM驱动控制的调整系统中,按一个固定的频率来接通和断开的电源,并且根据 需要改变一个周期内“接通”和“断开”时间的长短。通过改变直流电机电枢上电压的 “占空比”来达到改变平均电压大小的目的,从而来控制电动机的转速。正因为如此, PWM又被称为“开关驱动装置” 。PWM波形如图所示:PWM波形图设电机始终接通电路时,电机转速最大为 V max ,设占空比为:D t1T则电机的平均转速为V a V max * D其中V a指的是电机的平均速度,V max 是指电机在全通电时最大速度, D 指的是占空比。 max由上面的公式可见

4、,当改变占空比 D时,就可以得到不同电机平均速度 V a, 从而达到调 速的目的。( 2)单片机片内软件生成 PWM信号 PWM信号采用单片机定时中断的方式软件模拟产生, 这样实现比较容易, 可以节 约硬件成本。VSSVDDVEErsrweDom 皿D3M 仍D6D7-k , XfV21 in co厂Ou厂h/lol 6厂c0a2345丄6Ia70)54co-IO-TW 8 人 -uwx-LM26L八TEXTVpunprenL: 99Z naLgl5pmmcu 25F s D E s D E ss 01234567 V V V R R E DDDDDDDD开始s-OFF ON!=1JQM=1

5、l=Mz3J =1召5L67厂s-DIPSW 8 oow zi SrOr00 QDGOOQ1 4l却16OFF ONI=11= 115 214 313-412=1=1=1=1511 610-798DIPSW 8 -wTEX1周美娟清华大学出版社统设计2.微型计算机控制技术实用教程 潘新民 王燕芳 电子工业出版社附录#include#include#include#include#include/=#define uchar unsigned char #define uint unsigned int /=#define Data_Bus P1sbit PWM=P30;bit PWM_flag

6、=0;unsigned char Time_flag=0;unsigned char DSW_data=0x00;unsigned char PWM_data=0;unsigned int Speed_data=0;unsigned char PWM_Precent5=0x30,0x30,%;unsigned char MotorSpeed5=0x30,0x30,0x30;/ / 函数声明 void delay(uint);void delay_ms(unsigned int ii);/1ms 延时函数void get_PWM(void);void get_Speed(void);/=延时子函

7、数 = void delay(uint z)uint x,y;for(x=z;x0;x-) for(y=110;y0;y-);void delay_ms(unsigned int ii)/1ms 延时函数unsigned int i,x;for (x=0;xii;x+)for (i=0;i200;i+);/=外部中断 0 初始化程序 = void Init_int0(void)EX0=1;/ 开外部中断 0IT0=1;/ 触发EA=1; /=外部中断 0 服务程序 = void Int0_server(void) interrupt 0EA=0;Speed_data+;EA=1; /=定时器

8、0初始化设置 = void Time0_Init() / 定时器 0 初始化函数TMOD=0x01; /定时器 0 为工作方式 1 TH0=(65536-50000)/256;TL0=(65536-50000)%256; / 初始化为定时时间为 50ms ET0=1; / 开定时器 0 中断TR0=1; / 开定时器EA=1; / 开总开关 /=定时器 0中断服务程序 = void Time0_Int() interrupt 1 / 定时器 0 中断子函数TH0=(65536-50000)/256;TL0=(65536-50000)%256; / 初始化为定时时间为 50ms Time_fla

9、g+;if(Time_flag=20)Time_flag=0; get_Speed();/=定时器 1 初始化设置 =计= 算方波数 void init_timer1(void)TMOD|=0x10; / 定时器 1 为工作方式 1 16bitTH1=0xFF;TL1=0xFE;ET1=1; / 开定时器 1 中断TR1=1; / 开定时器EA=1; / 开总开关/=定时器 1中断服务程序 = void timer1_server(void) interrupt 3if(PWM_flag)TH1=(65536-PWM_data*200)/256;TL1=(65536-PWM_data*200)

10、%256;PWM=1;PWM_flag=PWM_flag;elseTH1=(45536+PWM_data*200)/256;TL1=(45536+PWM_data*200)%256; / 初始化为定时时间为 20ms PWM=0;PWM_flag=PWM_flag;/=get_PWM= void get_PWM(void)DSW_data=Data_Bus;if(DSW_data=0x00)TR1=0;PWM=0;PWM_Precent0=0x30;PWM_Precent1=0x30;elsePWM_data=DSW_data*100/256; PWM_Precent0=PWM_data/10

11、+0x30;PWM_Precent1=PWM_data%10+0x30;TR1=1;/=get_Speed= void get_Speed(void)MotorSpeed0=Speed_data/100+0x30; MotorSpeed1=Speed_data/10%10+0x30;MotorSpeed2=Speed_data%10+0x30;Speed_data=0;/ 主函数 void main()PWM=0;get_PWM();Init_int0();Time0_Init();init_timer1();LCD_init(); /LCD1602 初始化LCD_write_command(0x01);/LCD 清屏delay_ms(10);DisplayChar(0,1,PWM_Precent:);DisplayChar(13,1,PWM_Precent);DisplayChar(0,0,Motor_Speed:);DisplayChar(13,0,MotorSpeed);while(1)get_PWM();DisplayChar(13,1,PWM_Precent);DisplayChar(13,0,MotorSpeed);

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1