第一范文网 - 专业文章范例文档资料分享平台

基于单片机步进电机调速控制系统设计论文003 - 图文

来源:用户分享 时间:2025/5/29 6:28:53 本文由loading 分享 下载这篇文档手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:xxxxxxx或QQ:xxxxxx 处理(尽可能给您提供完整文档),感谢您的支持与谅解。

常州信息职业技术学院电子与电气工程学院 毕业设计论文

图3.8 软件的模块结构图

3.2.1主程序的设计

步进电机伺服控制器上电之后, 始进行系统的初始化,一旦用户按下控制台的相应按键,发出中断请求,响应中断请求,调用相应的显示子程序,同时在液晶显示器实时显示步进电机的运行状态(RUN STATE),及运行的速度值(SPEED),电机初始速度设定为120n/niin.系统主流程图如图3.9所示。步进电机伺服控制器部分C语言程序如下

图3.9 系统主流流程图

步进电机伺服控制器部分C语言程序:

#include int delay ();

18

常州信息职业技术学院电子与电气工程学院 毕业设计论文

void delay.nms (unsigned int n);//延时函数 void int i-led (); void show.led (int); void cmd-wr (); void ShowState ();

void clock (unsigned int Delay); void DoSpeed 0 ; //计算速度 //正转值,

#define RIGHT-RUN 1 //反转值

#define LEFT-RUN 0 #define LCD.DATA PI sbit RS=P0A0; sbit RW=P0A1; sbit E=P0A2; sbit P2.1=P2A1; sbit P2.0-P2A0; sbit P1_7=P1A7; sbit aO=P2A2; sbit al=P2A3; sbit a2=P2A4; sbit a3=P2A5; sbit a4=P2A6; sbit a5=P2A7;

char SpeedChar [] = {\(n/min): char StateChar[] = {\STATE:\char STATE—CW[] = {\char STATE-CCW[]?(\char SPEED [3] = {%unsigned int RunSpeed=50; //速度

unsigned char RunState-RIGHT_RUN; //运行状态 “oid main () { EA=1;

//开中断

19

常州信息职业技术学院电子与电气工程学院 毕业设计论文

IT0=1;

//脉冲方式

EXO^l;

//开外部中断0:加速

IT1=1;

//脉冲方式

EX1 = 1;

//开外部中断1:减速

inti-lcd (); DoSpeed (); ShowState (); whi le (1) {

P2_l=P2_lA0x01; clock (RunSpeed); }}

//中断0:加速程序 void INT_0 () interrupt 0 { }

void INT_1 () interrupt 2 { }

int delay () //判断LCD是否忙

{ int a; start: RS=0; RW-1; E=0;

for (a=0; a<2; a++); E=l; Pl=0xff;

20

常州信息职业技术学院电子与电气工程学院 毕业设计论文

if (Pl_7==0) return 0; else goto start;}

void clock (unsigned int Delay) //1ms 延时程序 { unsigned int i; for (; Delav>0; Delay一) for (i=0; i <124; i++); }

void DoSpeed () {

SPEED[0]=(1000*6/RunSpeed/100)+48; SPEED[l]=1000*6/RunSpeed%l 00/10+48; SPEED[2]=1000*6/RunSpeed%l0+48; }

3.2.2系统调速模块的设计

系统调速模块主要是通过改变输入到步进电机驱动器的脉冲频率的快慢来实现。单片机控制步进电机加减速运转的方法有硬件法和软件法两种,软件法是指用延时程序来改变输出脉冲频率。硬件法是用一个定时器来实现,在每次进入定时中断后,改变定时器的定时常数。从而实现变速控制。在步进电机伺服系统中,采用软件法进行加减速的控制。根据步进电机的启动频率为3000PPS,系统编程时设定的频率值为2000PPS,通过改变软件程序中延时程序的值,来控制步进电机的脉冲.频率值,实现步进电机的加速、减速的控制。 3.2.3按键显示模块的设计

按键处理程序实时扫描P2. 2-P2. 7端口的电平值的变化,当用户按下相应按键,按键值变为低电平,程序扫描到低电平信号,就会发出相应的外部中断请求,则执行相应的模块子程序,同时在L⑶上实时显示系统的速度与状态信息,直到按下停下按键后,系统将处于停止状态。按键显示模块流程图如图3.10所示。 LCD显示程序部分代码如下: void ShowState() //显示状态与速度 { int i=0;

while(SpeedChar[i]!=‘\\0’) {delay ();

show_lcd(SpeedChar Li):

21

基于单片机步进电机调速控制系统设计论文003 - 图文.doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.diyifanwen.net/c7fgqp5o9s597tl37ll9s_7.html(转载请注明文章来源)
热门推荐
Copyright © 2012-2023 第一范文网 版权所有 免责声明 | 联系我们
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:xxxxxx 邮箱:xxxxxx@qq.com
渝ICP备2023013149号
Top