步进电机控制设计C程序设计语言_第1页
步进电机控制设计C程序设计语言_第2页
步进电机控制设计C程序设计语言_第3页
步进电机控制设计C程序设计语言_第4页
步进电机控制设计C程序设计语言_第5页
免费预览已结束,剩余1页可下载查看

付费下载

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、接口课程设计任务书学生姓名专业班级指导老师工作单位计算机学院题目:步进电机控制设计(C程序设计语言)、内容:在MIFID微机实验台上以双八拍的方式控制步进电机运行,用按钮控制启 动和停止。接口硬件电路图见说明书。、要求:1、控制步进电机运行的相序表存储在文件中。2、按下SW1按钮,从文件中取出一个相序数据,从并行接口8255A的PA口输出,使步进电机运行。相序数据在 CRT上显示。按下SW2按钮, 步进电机运行停止。3、SW1按钮的数字量由PC1输入,SW2按钮的数字量由PC0输入,4、设计程序运行时的界面友好。.进度安排:序号内容所用时间1接口电路设计2天2编写程序1天3调试程序1天4撰写课

2、程设计报告1天合计5天指导教师签名:年月日系主任(责任教师)签名:年月日一设计目的和内容目的:通过步进电机控制实验,学习并行接口电路及其控制程序的设计原理与方法。内容:在 MIFID 微机实验台上以双八拍的方式控制步进电机运行,用按钮控制启动和停止。接口硬件电路图见说明书。要求:1、 控制步进电机运行的相序表存储在文件中。2、 按下 SW1 按钮,从文件中取出一个相序数据,从并行接口8255A 的 PA 口输出,使步进电机运行。相序数据在CRT 上显示。按下SW2 按钮,步进电机运行停止。3、 SW1 按钮的数字量由PC1 输入, SW2 按钮的数字量由PC0 输入,4、 设计程序运行时的界面

3、友好。二、实验预备知识可编程并行接口8255 是一个具有两个8 位 (A 端口和 B 端口 ) 和两个 4 位 (C 端口) 并行I/O端口的芯片。在与外设进行数据传输时,把 A B C3个端口分为两组。A组由A端口和 C端口的高4位组成。B组由B端口和C端口的低4位组成。为了满足多种数据传输的要求, 可以通过对8255 的编程用方式控制字设置3 种工作方式来实现。这3 种工作方式为:方式0(基本I/O 工作方式);方式1(选通I/O 工作方式);方式2(双向传送方式)。 8255 的控制字有工作方式控制字和 C端口的位置位/复位控制字。工作方式控制字是必须要预先设定的, C端口的位置位/复位

4、控制字可视需要而定。一般来说,在方式0中,C端口除在特殊场合用作联络信号外,如:双机通信,基本上都作为数据端口参与I/O 操作。但在方式1 或方式 2下,C端口的相应位可用来作为I/O操作的控制和同步信号,也可用作对CPU的中断请求信号。为了更好地完成本次实验,要求实验者掌握8255 控制寄存器,8255 方式 0、方式 1 的工作原理及工作过程;熟悉方式1(输入和输出)下人端口的方式字、C端口的位置位/复位控制字以及状态字的设置方法。三实验原理1步进电机驱动模块板电路原理如图1.1.2 所示。模块板上包括接口的对象永磁式四相步进电机和驱动电路达林顿管TIP,保护电路 74LS373,相序指示

5、灯以及开关SW和SW2步进电机接口设计原理与方法的详细阐述。步进电机是一种将电脉冲转化为角位移的执行机构。通俗一点讲:当步进驱动器接收到一个脉冲信号,它就驱动步进电机按设定的方向转动一个固定的角度(及步进角)。您可以通过控制脉冲个数来控制角位移量,从而达到准确定位的目的;同时您可以通过控制脉冲频率来控制电机转动的速度和加速度,从而达到调速的目的。步进电机控制原理:步进电机是数字控制电机,它将脉冲信号转变成角位移,即给一个脉冲信号,步进电机就转动一个角度,因此非常适合于单片机控制。步进电机可分为反应式步进电机(简称 VR) 、 永磁式步进电机(简称PM) 和混合式步进电机(简称 HB) 。步进电

6、机区别于其他控制电机的最大特点是,它是通过输入脉冲信号来进行控制的,即电机的总转动角度由输入脉冲数决定,而电机的转速由脉冲信号频率决定。步进电机的驱动电路根据控制信号工作,控制信号由单片机产生。其基本原理作用如下:(1)控制换相顺序通电换相这一过程称为脉冲分配。例如:三相步进电机的三拍工作方式,其各相通电顺序为A-B-C D,通电控制脉冲必须严格按照这一顺序分别控制A,B,C , D相的通断。(2)控制步进电机的转向如果给定工作方式正序换相通电,步进电机正转,如果按反序通电换相,则电机就反转。(3)控制步进电机的速度如果给步进电机发一个控制脉冲,它就转一步,再发一个脉冲,它会再转一步。两个脉冲

7、的间隔越短,步进电机就转得越快。 调整单片机发出的脉冲频率,就可以对步进电机进行调速。II8255J3彳啦也图1.1.2步进电机驱动模块电路原理框图四、实验配置1 .电源:机内供电,将平台的电源开关拔到“内”的位置上,并将模块电源JP2接通2 .电缆线:采用单线/20芯扁平线,将J3与J4连接3 .开关:。区的SW1、SW2和SW3可以配置为用来控制步进电机的运行方向、速度和 启动/停止4 .本实验所涉及的模块:I (8255模块),P (步进电机),O (按键开关),模块电源 四 个模块5 . I/O 端口地址:8255 的 4 个端口地址为 300H 303H。其中 A 口 =300H ,

8、 B 口 =301H, C 口 =302H ,命令口 =303H6 .软件资源:MF2KI集成开发环境软件提供了丰富的汇编语言和C/C+语言程序开发工具五、实验调试与运行硬件连接跳线设置:模块电源L区JP8跳接。单线连法如右图F区连接线P区PA0PA2PA4PA6PC4PC0PC14-444><4.4A相B相C相D相OE#74LS373 开关按键开关T区SW1SW2排线接法如右图:D流程图如图所示。开始图1.1.3步进电机程序流程图程序#include <conio.h>#include <stdio.h>#include <dos.h>/del

9、ay,outportb,inportb#include <stdlib.h> void main()int xu 8= 0x05, 0x15, 0x14,0x54, 0x50, 0x51, 0x41,0x45;/ 相序表unsigned int i= 0;unsigned char recv;printf ("nPress sw2 to start!n");printf ("If you want to quit,press sw1!n");outportb ( 0x303,0x81);/ 初始化outportb ( 0x303,0x09);

10、置PC4=1 关闭 74LS373dorecv = inportb ( 0x302); while ( 0x02&recv)!= 0); outportb (0x303 , 0x08);dooutportb ( 0x300 ,xui);i+;if (i= 8) i= 0;delay( 100); while ( 0x01 &inportb ( 0x302)!= outportb ( 0x303, 0x09);/查SW发下/ 置 PC4=0,打开 74LS373/送相序彳码到PAO/ 延时0);/查SW按下/ 置 PC4=1,关闭 74LS373实验现象:启动程序后在DOS寸话框

11、中提示按下 SW2启动电机,按下SW1关闭电机。按下SW2后电机会按顺时针方向转动,电极左上方的四个 LED会体现电机转动的相序以及快慢。调试记录和现象分析1> 运行程序后,点击发出嗡嗡声,且不停的振动,但却始终不能匀速顺利的转动,只会时儿抖动。最终发现是延迟的问题,重新设定后问题解决;分析: 不仅电机是在一定顺序的电脉冲控制下转动的,当送入第一个脉冲时,电机会转动一个相应的角度,此时若适时的送入第二个脉冲,电机会继续按原方向转动一个相应的角度,如此般不停地打入合适的脉冲,电机就会运转,但由于电机的一些物理特性,在送入的两个脉冲之间若时间过短,电机在第一个脉冲的驱动下的运转还没有结束,第二个脉冲已到达, 此时电机的运转就会别破坏,只是不停的抖动,而不会转动,设置延迟是一个必要条件。2> 在设计电机调速部分时,点击并未按设想中的情况变速,即增大脉冲打入的延迟时间,电机加速,而事实情况却恰恰相反。分析:发现这种现象大家都是被疑团包围着,在检查了程序有接线没错的基础下,我们找到了问题所在,延迟时间的设定应取在一个适当的范围内(和每台实验仪器相关),过小的话,电机会出现小小的抖动,使电机不能顺利运转,再者是转盘松动了。六课程设计心得通过本次接口课程设计,使我掌握了许多软硬结合的编程方法,深化了对接口

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论