2022年基于proteus的步进电机电机仿真_实验设计报告.docx

上传人:C****o 文档编号:12908304 上传时间:2022-04-26 格式:DOCX 页数:20 大小:260.64KB
返回 下载 相关 举报
2022年基于proteus的步进电机电机仿真_实验设计报告.docx_第1页
第1页 / 共20页
2022年基于proteus的步进电机电机仿真_实验设计报告.docx_第2页
第2页 / 共20页
点击查看更多>>
资源描述

《2022年基于proteus的步进电机电机仿真_实验设计报告.docx》由会员分享,可在线阅读,更多相关《2022年基于proteus的步进电机电机仿真_实验设计报告.docx(20页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、精品学习资源基于单片机地步进电机地驱动试验设计报告第十组电子信息工程系别电子通信工程系组别专业名称指导老师组内成员欢迎下载精品学习资源基于 proteus 地步进电机电机仿真摘要:步进电机广泛应用在生产实践地各个领域.它最大地应用是在数控机床地制造中,由于步进电机不需要A/D 转换,能够直接将数字脉冲信号转化成为角位移,所以被认为是抱负地数控机床地执行元件.本设计利用proteus 仿真软件进行电路仿真,系统通过设置四个按键分别掌握不进电机地起止、圈数、方向、不进速度,使用1602 液晶显示以上参数 .整个系统具有稳固性好,有用性强,操作界面友好等优点.关键词: proteus 仿真 不进电机

2、 拍数一、 Proteus 简介Proteus ISIS 是英国 Labcenter 公司开发地电路分析与实物仿真软件.它运行于 Windows操作系统上,可以仿真、分析SPICE 各种模拟器件和集成电路,该软件地特点是:实现了单片机仿真和SPICE 电路仿真相结合 .具有模拟电路仿真、数字电路仿真、单片机及其外围电路组成地系统地仿真、RS232 动态仿真、 I2C 调试器、 SPI 调试器、键盘和LCD 系统仿真地功能;有各种虚拟仪器,如示波器、规律分析仪、信号发生器等.支持主流单片机系统地仿真.目前支持地单片机类型有:68000 系列、 8051 系列、AVR 系列、 PIC12 系列、

3、PIC16 系列、 PIC18 系列、 Z80 系列、 HC11 系列以及各种外围芯片.供应软件调试功能 .在硬件仿真系统中具有全速、单步、设置断点等调试功能,同时可以观看各个变量、寄存器等地当前状态,因此在该软件仿真系统中,也必需具有这些功 能;同时支持第三方地软件编译和调试环境,如Keil C51 uVision2等软件 .具有强大地原理图绘制功能.总之,该软件是一款集单片机和SPICE 分析于一身地仿真软件,功能极其强大.二、整体电路分析如下图,整个设计以STC89C51 单片机为中心,由复位电路,时钟电路,电机驱动,步进电机,显示电路等组成,硬件模块如图2-1 所示:图 1 硬件模块图

4、通过按键进行相应地参数设定,单片机接收到信号后经过判定驱动电机驱动模块,然后由驱动电路驱动步进电机运转,并用1602 显示设置地参数 .三、系统硬件电路挑选与设计1、主控器地挑选根据题目要求本次主控单元使用C51 单片机对整个系统进行掌握.STC89C51RC 包含512 字节 RAM、32 条 I/O 口线、 3 个 16 位定时 /计数器、 8 输入 4 优先级嵌套中断结构、1欢迎下载精品学习资源个串行 I/O 口(可用于多机通信、 I/O 扩展或全双工 UART )以及片内振荡器和时钟电路.此外,由于器件采纳了静态设计,可供应很宽地操作频率范畴(频率可降至0) .可实现两个由软件挑选地节

5、电模式、闲暇模式和掉电模式.闲暇模式冻结CPU ,但 RAM 、定时器、串口和中断系统仍旧工作.掉电模式储存RAM地内容,但是冻结振荡器,导致全部其它地片内功能停止工作 .由于设计是静态地,时钟可停止而不会丢失用户数据.运行可从时钟停止处复原 .所以该单片机可以满意系统要求,电路图如下:01234567D9D3333338D7 D6 D5D4D D32RSW1234S31R E223456780122222212S1111113 S4 S01234567DA DA DA DA DA DADA DAA/0A/11A 1A 189012345D D 0101/0/1/2/3/4/5/6/7.000

6、0P P P P0P0P00P P22./2/3/AP P222P P P.4111X/AR DA.5.62P/A/7/R /2P.XTTN T/T4/T5/W2P0.31.I/2.IN/33.67.P P3.U1AT89C51P3P33P P3P3P1L2ALT XAT XTNS RES LE01234567.P AAE11111111P P P PP PP P9181992031312345678A BC D图 2 单片机最小系统电路图2、步进电机挑选步进电机是一种能够将电脉冲信号转换成角位移或线位移地机电元件,它实际上是一种单相或多相同步电动机.单相步进电动机有单路电脉冲驱动,输出功率一

7、般很小,其用途为微小功率驱动 .多相步进电动机有多相方波脉冲驱动,用途很广.本设计使用地是四相三拍步进电机,连接图如下:欢迎下载精品学习资源欢迎下载精品学习资源U2AB1 1BC2 2BD3 3B4 4BCOM91C162C153C144C13+88.8欢迎下载精品学习资源5 5B6 6B7 7BULN2004A5C126C117C10欢迎下载精品学习资源图 3 步进电机接线图3、驱动电路地挑选驱动模块我们使用集成驱动芯片ULN2003 ,给芯片是高耐压、大电流达林顿管由七个硅NPN 达林顿管组成 .该电路地特点如下: ULN2003 地每一对达林顿都串联一个2.7K 地基极电阻 ,在 5V

8、地工作电压下它能与TTL 和 CMOS 电路直接相连,可以直接处理原先需要标准规律缓冲器来处理地数据.ULN2003 工作电压高,工作电流大,灌电流可达500mA ,并且能够在关态时承担50V 地电压,输出仍可以在高负载电流并行运行.1 脚输入, 16 脚输出,你地负载接在VCC 与 16 脚之间,不用9 脚.图 4 ULN2003 内部结构图图 5 ULN2003 管脚图ULN2003 是大电流驱动阵列,多用于单片机、智能外表、PLC、数字量输出卡等掌握电路中 .可直接驱动继电器等负载.所以足以满意驱动步进电机地要求,连接图如下:欢迎下载精品学习资源U2ABC D12345671B2B3B4

9、B5B6B7BCOM1C2C3C4C5C6C7C916151413121110ULN2003A图 6 uln2003 接线图4、显示电路地LCD 显示模块是把 LCD 显示屏、背景光源、线路板和驱动集成电路等部件构造成1 个整体作为 1 个独 立部件使用,只留1 个接口与外部通信.显示模块通 过这个接口接收显示地命令和数据,并按指令和数据地要求进行显示,外部电路通过这个接口读出显示模块地工作状态和显示数据 .1602 液晶模块内部地字符发生储备器 CGROM 已经储备了 160 个不同地点阵字符图形,这些字符有:阿拉伯数字、英文字母地大小写、常用地符号和日文假 名等,每 1 个字符都有 1 个

10、 固定地代码 .用户对模块写入适当地掌握命令,即可完成清屏、显示、地址设置等操作.设计采纳并行方式掌握,LCD 与单片机地通讯接口电路如图3所示采纳直连地方法 .欢迎下载精品学习资源LM016L欢迎下载精品学习资源S D ES D EV V VS WR R E012D D D34567D D D D D欢迎下载精品学习资源欢迎下载精品学习资源DVD12D3CN/CGCVC V456WSER R789012D D D012341111134567D D D D D欢迎下载精品学习资源图 7 1602 显示电路接线图5 键盘输入模块电路设计中,键盘采纳非编码键盘系统中地独立式按键结构 .键盘工作方

11、式采纳定时扫描方式. 采纳定时 器 TO 定时,通过输出数据,识别按键地工作状态.键 盘主要用来供应人机接口, 电路如图 3 所示,采纳独立 式按键电路,各按键开关均采纳了上拉电阻,保证在按键断开时,各 I O 有确定地高电平 .按键功定义如 下:当 P3 2 按下时,步进电机开头加速;当P3 3 按下 时,步进电机开头减速;当P3 4 按下时,步进电机开头正转;当 P3 5 按下时,步进电机开头反转.按键抖动地排除采纳软件消抖实现.连接图如下:起始键S1圈数键S2方向键S3NG速度键D S4图 8 按键接连接图四、系统软件设计1、软件流程图欢迎下载精品学习资源图 9 系统流程图2 程序代码见

12、附件 . 五、总结采纳模块程序设计,逐个模块调好以后,再进行系统程序总调试.利用仿真软件Proteus 及 KeilC5l进 行调试 . 系统实现了可程序设定和显示步进角、步进方向和步进速度,支持用开关量单独掌握步进电机地转向,转速.电路简洁牢靠,结构紧凑,掌握敏捷, 成本低,可 移植性强 .经试验验证,本系统对步进电机地各项控制都能达到比较抱负地效 果,具有较高地有用价值.通过此次课程设计,我不仅将学问融会贯穿,而且在查找资料地过程中也明白了很多课外学问,开拓了视野,使自己在专业学问方面和动手才能方面有了很大地提高,让我学会了理论到实践地转化,即如何将自己学到地运用到以后地生活和工作中,同时

13、,也让我意识到团队精神地重要性 .此外,感谢丁老师地尽心教诲以及同学地帮忙,正是王老师细心地辅导和供应地一些参考资料仍有同学们地相互帮忙,让我顺当地完成了毕业设计,信任这对我以后地生活和工作都会有很大地帮忙.六参考文献1 徐薇莉,曹柱中掌握理论与设计M 上海:上海交通高校出版社 20032 黄 坚自动掌握原理及其应用M 北京:高等训练出版社,2004 3 先锋工作室单片机程序设计实例M 北京:清华高校出版社,2003 4 王幸之,钟爱琴 AT89 系列单片机原理及接口技术M 北京:北京航天高校出版社,20045 康华光,陈大钦模拟电子电路M 北京:高训练出版社,2004 七附录欢迎下载精品学习

14、资源(1) 整体电路图LCD2LM016LRP11U22 D03 D14 D25 D36 D47 D58 D69 D7A 1B 2S D ES D EV V VS WR R E0 1 2 3 4 5 6 7D D D D D D D DCDD1 2 DV3D4 5 6N C /E7 8 9 0 1 2 3 41 1 1 1 134567G C CS0 1 21B2B3B4B5B6B7BCOM 1C2C3C4C5C6C7C916151413121110-4.81V CR WD D D 3 45 6 7VRD D D D DULN2004ARESPACK-80 1 2 3 4 5 6 7S WD

15、D D D D D D DR R E1 2 3 493 83 73 63 53 43 3 2312 2 32 42 52 62 72 8201 1 21 31 41 51 61 71S S S S0 1 2 3 4 5 6 78 9 01 1 21 31 41 51D D D D D D D DA/ A/ A A A A A A A AD D 0T起始键/0 /1 /2 /3 /4 /5 /6 /70.X1T 0T 1T R DU1. . . . . . .1 /2 /3 /4 /5 6/ /7R/A A A A A AXT N N /1 I/I/.43 5.3 6./W/R/ 7.0 0 0

16、 0 0 0 0 02 2 . . . . . .0. 2.3.3 3P P P P P P P PP P 2 2 2 2 2 2P P P P P P3 3 3P P P P3 P P P PS1 AT89C51圈数键S2方向键S3速度键S4DNG1LLAAT2TXTNEE0 1 2 3 4 5 6 7. . . . . . .XSRS L AP A E1 1 1 1 1 1 1 1P P P P P P P P9181992 03 131 2 3 4 5 6 7 8A B C D(2) 程序代码#include #include #define uchar unsigned char#de

17、fine uint unsigned int#define delayNOP ; _nop_ ;_nop_ ;_nop_;_nop_ ; ;unsigned char code FFW8=0xfe,0xfc,0xfd,0xf9,0xfb,0xf3,0xf7,0xf6; / 反转unsigned char code REV8=0xf6,0xf7,0xf3,0xfb,0xf9,0xfd,0xfc,0xfe; /正转/unsigned char code FFW8=0x01,0x03,0x02,0x06,0x04,0x0c,0x08,0x09; / 反转/unsigned char code REV

18、8=0x09,0x08,0x0c,0x04,0x06,0x02,0x03,0x01; / 正转sbitK1= P32 ;/ 运行与停止sbitK2= P33 ;/ 设定圈数sbitK3= P34 ;/ 方向转换sbitK4= P35 ;/ 速率调整sbit LCD_RS = P20 ;sbit LCD_RW = P21 ;sbit LCD_EN = P22 ;欢迎下载精品学习资源biton_off=0 ;/ 运行与停止标志bitdirection=1 ;/方向标志bitrate_dr=1 ;/速率标志bitsnum_dr=1 ;/ 圈数标志uchar code cdis1 = NO.07382

19、30126 ;uchar code cdis2 = 2021/5/24;uchar code cdis3 = STOP;uchar code cdis4 = NUM:RATE:;uchar code cdis5 = RUNNING;ucharm,v=0,q=0 ;ucharnumber=0,number1=0 ;ucharsnum=20,snum1=20 ;/ 预设定圈数ucharrate=3;/预设定速率uchardata_temp,data_temP0,data_temp2;/*/*/* 延时 t 毫秒/* 11.0592MHz时钟,延时约1ms/*/*/ void delayuint t

20、uchar k;whilet-fork=0 ; k124 ; k+ /*/ void delayBuchar x/x*0.14MS欢迎下载精品学习资源uchar i;whilex-for i=0 ; i13 ; i+ /*/*/* 检查 LCD 忙状态/*lcd_busy 为 1 时,忙,等待 .为 0 时,闲,可写指令与数据 ./*/*/bit lcd_busybit result ;LCD_RS = 0 ;LCD_RW = 1 ;LCD_EN = 1 ;delayNOP ;result = bitP0&0x80 ;LCD_EN = 0 ;returnresult ;/*/*/* 写指令数据

21、到LCD/*RS=L , RW=L , E= 高脉冲, D0-D7= 指令码 ./*/*/void lcd_wcmduchar cmd欢迎下载精品学习资源whilelcd_busy ;LCD_RS = 0 ;LCD_RW = 0 ;LCD_EN = 0 ;_nop_ ;_nop_ ;P0 = cmd;delayNOP ;LCD_EN = 1 ;delayNOP ;LCD_EN = 0 ;/*/*/* 写显示数据到LCD/*RS=H , RW=L , E=高脉冲, D0-D7= 数据 ./*/*/void lcd_wdatuchar datwhilelcd_busy ;LCD_RS = 1 ;L

22、CD_RW = 0 ;LCD_EN = 0 ;P0 = dat;delayNOP ;LCD_EN = 1 ;delayNOP ;LCD_EN = 0 ;/*/*/* LCD 初始化设定/*欢迎下载精品学习资源/*/void lcd_initdelay30 ;lcd_wcmd0x38 delay5 ;lcd_wcmd0x38;/16*2 显示, 5*7 点阵, 8 位数据delay5 ;lcd_wcmd0x38 delay5 ;lcd_wcmd0x0c delay5 ;/ 显示开,关光标lcd_wcmd0x06;/ 移动光标delay5 ;lcd_wcmd0x01;/ 清除 LCD 地显示内容d

23、elay5 ;/*/*/*设定显示位置/*/*/void lcd_posuchar poslcd_wcmdpos | 0x80 ; /数据指针 =80+地址变量/*/*/* LCD1602初始显示子程序/*/*/ void LCD_init_DIS欢迎下载精品学习资源delay10 ;/ 延时lcd_init ;/ 初始化 LCDlcd_pos0 ;/ 设置显示位置为第一行地第1 个字符m = 0;whilecdis1m .= 0/ 显示字符lcd_wdatcdis1m ;m+ ;lcd_pos0x40 ;/ 设置显示位置为其次行第1 个字符m = 0;whilecdis2m .= 0lcd_

24、wdatcdis2m ;/显示字符m+ ;delay3000 ;/ 延时lcd_pos0 ;/ 设置显示位置为第一行地第1 个字符m = 0 ;whilecdis3m .= 0/ 显示字符lcd_wdatcdis3m ;m+ ;lcd_pos0x40 ;/ 设置显示位置为其次行第1 个字符m = 0 ;whilecdis4m .= 0lcd_wdatcdis4m ; /显示字符m+ ;form=0 ; m2 ;m+欢迎下载精品学习资源lcd_pos0x0c+m ;/显示方向符号lcd_wdat0x3e ;/*/*/* 数据转换子程序/*/*/ void data_convdata_temP0=

25、data_temp/10;/ 高位ifdata_temP0=0data_temP0=0x20 ;/ 高位为 0 不显示elsedata_temP0=data_temP0+0x30 ;data_temp2=data_temp%10;/ 低位data_temp2=data_temp2+0x30 ;/*/*/* 数据显示子程序/*/*/ void data_disdata_temp = snum;/ 显示圈数data_conv;lcd_pos0x44 ;lcd_wdatdata_temP0 ;lcd_pos0x45 ;lcd_wdatdata_temp2 ;data_temp = rate;/ 显示

26、速率欢迎下载精品学习资源data_conv;lcd_pos0x4d ;lcd_wdatdata_temP0 ;lcd_pos0x4e ;lcd_wdatdata_temp2 ;/*/*/* 显示运行方向符号/*/*/ void motor_DRifdirection=1/正转方向标志 form=0 ;m2 ;m+lcd_pos0x0c+m ;/ 显示方向符号lcd_wdat0x3e ;else form=0 ;m2 ;m+/ 反转方向标志lcd_pos0x0c+m ;/显示方向符号lcd_wdat0x3c ;/*/*/* 显示运行状态/*/*/ void motor_RUNifon_off=1

27、 TR0=1 ;欢迎下载精品学习资源lcd_pos0 ;/ 设置显示位置为第一行地第1 个字符m = 0 ;whilecdis5m .= 0 lcd_wdatcdis5m;/RUNNING m+ ; motor_DR ;/else TR0=0 ; P0 =0x0f ;lcd_pos0 ;/设置显示位置为第一行地第1 个字符m = 0 ;whilecdis3m .= 0 lcd_wdatcdis3m;/STOP m+ ; motor_DR ;/ snum=snum1;/number1=0;/清圈数计数器/* 主程序*/mainLCD_init_DIS;TMOD = 0x01 ;/T0 定时方式

28、1 TL0 = 0x33 ;TH0 = 0xf5 ;EA= 1 ;ET0 = 1 ;P1=0;欢迎下载精品学习资源while1ifK1=0/beep;whileK1=0 ;/ 等待键释放on_off=on_off ;motor_RUN ;/K1 end/*/ ifK2=0ifsnum_dr=1 snum+ ;snum1=snum;ifsnum=0x14 snum_dr=snum_dr ;elsesnum- ;snum1=snum;ifsnum=0x01 snum_dr=snum_dr ; /K2 end/*/ ifK3=0direction=direction ;motor_DR ;/K3 e

29、nd/*/ ifK4=0ifrate_dr=1 rate+ ;欢迎下载精品学习资源ifrate=0x10 rate_dr=rate_dr ;elserate-;ifrate=0x01 rate_dr=rate_dr ; /K4 end/*/ ifnumber1=snum1/ 与设定圈数是否相等 number1=0 ;on_off=0 ;TR0=0 ;snum=snum1;P1=0x0f ;motor_RUN ;data_dis; / while1 end /main end/*/*/*定时器 T0 中断/*/*/void motor_onoff interrupt 1TL0 = 0x33 ;TH0 = 0xf5 ;q+ ;ifq rate return ; 欢迎下载精品学习资源志=2起止圈数方向速度else q=0 ;number+ ;/ 脉冲计数ifnumber=64/64个脉冲电机转一圈 snum- ;number=0 ;number1+ ; / 电机转动圈数ifdirection=1/方向标志 ifv8P1 = FFWv ;v+ ;/ 取数据,正转ifv=8 v=0 ; else ifv8P1 = REVv;v+;/ 取数据,反转ifv=8 v=0 ; 欢迎下载

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 高考资料

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁