步进电机位置控制合加、减速控制系统程序设计

步进电机位置控制合加、减速控制系统程序设计

步进电机位置控制合加、减速控制系统程序设计

  • 适用:本科,大专,自考
  • 更新时间2024年
  • 原价: ¥290
  • 活动价: ¥200 (活动截止日期:2024-05-06)
  • (到期后自动恢复原价)
步进电机位置控制合加、减速控制系统程序设计

                                       步进电机位置控制合加、减速控制系统程序设计
步进电机的位置控制,指的是控制不及电机带动执行机构从一个位置精确地运行到另一个位置。对步进电机位置控制的一般作法是:步进电机每走一步,步数减1,如果没有失步存在,当执行机构到达目标位置时,步数正好减到0.因此,用步数等于0来判断是否移动到目标,作为步进电机停止运行的信号。
实际上,在速度控制中,速度并不是一次升到位。在位置控制中欧冠,执行机构的位移也不总是恒速进行的。它们对运行的速度都有一定的要求。在这当中,我们将讨论步进电机在运动中的加减速问题。
为了满足加、减速的要求,步进电机运行通常按照加、减速曲线进行。图5-1是加、减速运行曲线。加、减速运曲线没有一个固定的模式,一般根据经验和试验得到的。
 
图6-1
最简单的是匀加速合匀减速曲线,如图5-1(a)所示,其加、减速曲线都是直线,因此容易编程实现。按直线加速时,加速度是不变的,因此要求转矩也应该是不变的。
采用指数加、减速曲线或S形加、减速曲线是最好的选择,如图5-1(b)所示。因为电机的电磁转矩与转速的关系接近指数规律。
步进电机的运行还可根据距离的长短分如下3种情况处理。
(1)短距离
由于距离较短,来不及升到最高速,因此,在这种情况下,步进电机以接近启动频率运行过程没有加、减速。
(2)中、短距离
在这样的距离里,步进电机只有加、减速过程,而没有恒速过程。
(3)中、长距离
在这样的距离里,步进电机不久有加、减速过程,还有恒速过程。由于距离较长。要尽量缩短用时,保证快速反应性。因此,在加速时,尽量用接近启动频率启动;在恒速时尽量工作在最高速。
第七章    步进电机控制模块程序设计
(1)包含必要的头文件及定义程序用到的全局变量和宏。
#include  <16F877.H>
#DEVICE  ICD=TRUE
#DEVICE  PIC16F877  *=16   ADC=10
#fuses  XT,NONDT, NOPROTECT
#use  delay(clock=4000000)
#byte  PORTB=0x06
#byte  PORTC=0x07
#byte  PORTD=0x08
#byte  OPTION=0x81
#byte  INTCON=0x0B
#byte  TICON=0x10
#byte  PR2=0x92
#byte   T2CON=0x12          //timer2 负责竖直方向运动
#byte   TMR0=0x1            //timer0 负责水平方向运动
#byte   TMR2=0x11
#byte  PR2=0x92
#bit   RB_1=0x6.1           //力旋钮开关地址
#bit   RB_2=0x6.2
#bit   RB_4=0x6.4
#bit   RB_5=0x6.5
#bit   RBPU=0x81.7
#bit   TOIF=0x0B.2
#bit   TMR2IF=0x0C.1
#bit   TMR2ON=0x12.2
#bit   RCIF=0xDC.5
#bit   fward1=0x7.0              //脉冲发送脚地址
#bit   bward1=0x7.1
#bit   fward2=0x7.2
#bit   bward2=0x7.3
#bit   RC_4=0x7.4
#bit   RC_5=0x7.5
#bit   zflg=0x08.0                   //光电开关信号
#bit   yflg=0x08.2
#bit   xflg=0x08.4
#bit   sflg=0x08.6
long  int   I;
int    j , k;
long   str[12];                     //接收到的字符串
char  dir;                         //方向
int   a;
long  int  pspeed,zspeed,distant;  //运动参数
long int n_pulse;                 //完成运动电平变换次数
ctmr0;                           //水平方向电平变换,需timer0定时周期数
int  ctmr2;                       //竖直方向电平变换,需timer2定时周期数
float c_tmr0,ctmr2;                //所需周期数的计算值
(2)初始化子程序,包括定时器的设定及各个轴的初始化。
Void  setup( )
{
  RBPG=1;
  OPTION=0b10000110;            //TMR0定时方式,分频值取1:64
  T2CON=0b00111001;             //TMR2定时方式,分频值取1:32
  enable_interrupts(CLOBAL);
  enable_interrupts(int_rda);
  RCIF=0;
  set_tris_B (0b111111111);
set_tris_C (0b10000000);
set_tris_D  (0b1111111);
}
 

  • 关键词 步进 电机 位置 控制 减速 控制系统 程序设计
  • 上一篇:压电式超声波发生器的设计(电子论文)
  • 下一篇:电梯设备与电梯发展动态
  • 暂无购买记录

    暂时没有评论

    真实

    多重认证,精挑细选的优质资源 优质老师。

    安全

    诚实交易,诚信为本。

    保密

    所有交易信息,都为您保密。

    专业

    10年专业经验,10年来帮助无数学子。