步进电机

/*-----------------------------------------------
  名称:步进电机
  日期:2009.5
  修改:无
  内容:1、本程序用于测试4相步进电机常规驱动 
        2、需要用跳帽或者杜邦线把信号输出端和对应的步进电机信号输入端连接起来
        3、速度不可以调节的过快,不然就没有力矩转动了
        4、电机在反转
 ------------------------------------------------*/

#include <reg52.h>

unsigned char code F_Rotation[4]={0x02,0x04,0x08,0x10}; //正转表格,换算成二进制 0000 0010,0000 0100,0000 1000,0001 0000
unsigned char code B_Rotation[4]={0x10,0x08,0x04,0x02}; //反转表格,换算成二进制 0001 0000,0000 1000,0000 0100,0000 0010
/******************************************************************/
/*                    延时函数                                    */
/******************************************************************/
void Delay(unsigned int i)//延时
{
 while(--i);
}
/******************************************************************/
/*                   主函数                                       */
/******************************************************************/
main()
{
 
 unsigned char i;
 unsigned int j=512;
 while(j--)
 {
  for(i=0;i<4;i++)      //4相
     {
     P1=F_Rotation[i];  //输出对应的相 可以自行换成反转表格
     Delay(1000);        //改变这个参数可以调整电机转速 ,数字越小,转速越大
}
  }

  Delay(100000);

  j=512;
 while(j--)
 {
  for(i=0;i<4;i++)      //4相
     {
     P1=B_Rotation[i];  //输出对应的相 可以自行换成反转表格
     Delay(1000);        //改变这个参数可以调整电机转速 ,数字越小,转速越大
}
  }

}

时间: 2024-10-23 11:19:57

步进电机的相关文章

求助,能帮我写个步进电机恒速转动程序吗??急啊!!

问题描述 求助,能帮我写个步进电机恒速转动程序吗??急啊!! 按启动键,启动后能恒速转动,按停止键停止.51单片机.二相四线步进电机. 解决方案 难道没有开发板例程吗?

【STM32 .Net MF开发板学习-11】步进电机控制(非PWM模式)

选用的步进电机的型号为28BYJ-48(或MP28GA,5V,转速比1/64),驱动电路选用uln2003芯片的驱动板,其控制时序图如下: 开发板学习-11]步进电机控制(非PWM模式)-">四相八拍:A->AB->B ->BC ->C ->CD ->D ->DA 其A.B.C.D指的是uln2003芯片驱动板的1N1.1N2.1N3.1N4,波形在上表示有输入信号,波形在下表示无输入信号. 我们采用红牛开发板进行步进电机控制,为了便于接线,我们需

fpga 网口通信-fpga控制发脉冲控制步进电机

问题描述 fpga控制发脉冲控制步进电机 我要用fpga控制三个步进电机,内部时钟是50mhz的,需要一个10mhz的脉冲去控制,不知道怎么写程序,新手.谢谢指教,我知道用定时器或者锁相环好像可以,但是我写出来的调试不对.求大神指教 解决方案 参考:FPGA Verilog HDL 系列实例--------步进电机驱动控制http://www.cnblogs.com/kongtiao/archive/2011/08/16/2140528.html

请问有用过USB-8473s can总线的高手吗?怎么通过它直接用PC控制步进电机呢

问题描述 请问有用过USB-8473s can总线的高手吗?怎么通过它直接用PC控制步进电机呢 请问有用过USB-8473s can总线的高手吗?怎么通过它直接用PC控制步进电机呢

51单片机通过TB6560控制两相步进电机

问题描述 51单片机通过TB6560控制两相步进电机 控制时步进电机能频率问题include #define uchar unsigned char #define uint unsigned int uchar pwm,adjustment=100; uint num,num2; sbit CLK=P2^0; //脉冲正负端 有脉冲时电机运行,无脉冲时自动进入所设定的半流状态,锁定电机 sbit CW=P2^1; //方向正负端 低电平或悬空时正传,高电平反转 sbit EN=P2^2; sb

fpga控制步进电机走T型速度曲线

问题描述 fpga控制步进电机走T型速度曲线 我现在在用黑金fpga控制步进电机,,希望能通过改变脉冲频率去让运动轴的速度呈现先加速,接着匀速,最后减速的状态,用fpga怎么能实现,谢谢各位大神赐教. 解决方案 用两个计数器计数,随着计数器一的值让频率改变,当计数到某个值时保持不变,频率也固定,另一个开始计数.第二个计数器计数到特定值,计数器1开始减小,同时频率也随着减小.

两相四线-42步进电机的c程序怎么写啊

问题描述 42步进电机的c程序怎么写啊 问一下42步进电机的c程序怎么写,单片机是c51,只需要实现快转和点动,以及正反转就可以 解决方案 42步进电机是一个两相电机,一般控制可以分为全步或半步控制,全步控制,每一切换相序,步进电机走1.8度,半步控制则走0.9度.全步控制相序分配为:A,/A,B,/B半步控制相序分配为:A,AB,B,B/A,/A,/A/B,/B,/BA加速的话,就使相序切换快一点就可以:当然减速就是相序切换慢点就行.举例如下:#include<reg51.h>#define

2相四线,四相五线,四相六线步进电机接线及驱动方法

步进电机原理 按照常理来说,步进电机接线要根据线的颜色来区分接线.但是不同公司生产的步进电机,线的颜色不一样.特别是国外的步进电机. 那么,步进电机接线应该用万用表打表.   步进电机内部构造如下图:         通过上图可知,A,~A是联通的,B和~B是联通.那么,A和~A是一组a,B和~B是一组b.  不管是两相四相,四相五线,四相六线步进电机.内部构造都是如此.至于究竟是四线,五线,还是六线.就要看A和~A之间,B和B~之间有没有公共端com抽线.如果a组和b组各自有一个com端,则该

对于四相步进电机的控制

问题描述 对于四相步进电机的控制 为一四相步进电机设计控制器,要求每项输出电流不小于200mA.实现电机的速度方向以及工作方式的控制.控制器硬件包括电机的控制电路.电机驱动电路.显示以及用于控制的数字(开关)量输入电路等. ps:无需电源设计,可用符号代替.要接线图 解决方案 :****************任务八:四相步进电机的控制*************************:注:本程序为四相步进电机实验用,适于四组线圈的电机.:电路接法:P1.7 P1.6 P1.5 P1.4分别接晶