求单片机c语言控制步进电机调速程序

求单片机c语言控制步进电机调速程序,第1张

给你一段简单的程序代码,控制步进电机的,不过你要好好看看誉槐程序的编写,以适应你的硬件(主要是连线),你可以在实现这个的基础上实现你所说的目标,个人觉得你参考这个程序然后自己实现你所说的功能比较好:

#include

unsigned

char

code

f_rotation[4]={0x08,0x10,0x20,0x40}//正转表格

unsigned

char

code

b_rotation[4]={0x40,0x20,0x10,0x08}//反转表格

void

delay(unsigned

int

i)//延时

{

while(--i)

}

main()

{

unsigned

char

i

while(1)

{

for(i=0i<4i++)

//4相

{

p1=f_rotation[i]

//输出对应的相运虚卖

可以自行换成反旁逗转表格

delay(500)

//改变这个参数可以调整电机转速

}

}

}

可以使用表控TPC4-4TD的控制器来实现,参考下图接线

接线很简单,参考接线图接线。表控与袭让驱动器的接线只有三根线,5V、Y1和Y2,分别连接步进电机驱动器的输入信号端,5V连接步进电机驱动器输入信号的正极,Y1连接脉冲输入信号的负极,Y2连接方向输入信号的负极。

在电脑的功能设置表上设置的正反转功能,见下图:

第1行设置X1作为启动开关,由Y1输出脉冲,频率2000赫兹,脉冲数是2000。如果驱动器细分设置为2000,设置脉冲数为2000正好转一圈。

第2行设置延时1秒,作为正反转间隔的时间。

第3行设置Y2输出方向信号10秒钟,由脉冲结束时关闭此行。

第4行设置的与第一行相同,由于与第芹租3行的方向输出端同事被第2行延时后启动,因此第3、4行实现反转的功能。反转一圈回到原位。

下图是自动生成的汉字显示:

使用表控作为步进电机控制,有几个有点:接线方便、设置简嫌禅兆单,表格设置方法代替编程,没学过编程的人员也可以使用。更多功能可以查看详细说明书和视频教程。

1、有三个输入,分别是一个按钮、两个霍尔传感器(也就是接近开关),我用P0.0到P0.2来代替;输出2个或以上(这看接什么显示器,如果是PC的话,就不用数字量输出,直接串口就可以了)控制正反转的继电器管脚用P1.0、P1.1;需要与一个全局变量转动次数k连接起来,另外两个输入接近开关选用NPN传感器或用光电隔离,总之有效信号能把管脚电压拉低就可以。

2、例程:

#include <reg51.h>  //选用晶振11.0592MHz

unsigned char k=0  //k表示正反转次数

sbit X0=P3^2     //调节按钮

sbit X1=P1^1     //上限位接近开关信号

sbit X2=P1^2     //下限位接近开关信号

sbit Y1=P0^0  岁局樱   //电机上升(注意:我使用的是管脚输出为0时候,电机运动,这样可以避免启动时候,单片机自复位对电腊旁机点动的影响)

sbit Y2=P0^1    乎丛 //电机下降

void delay50ms(unsigned int i)

  unsigned int j

  for (ii>0i--)

    for(j=46078j>0j--)

}

main()

{

   IT0=1       //下降沿触发

   EX0=1       //开P3.2外部中断

   EA=1        //总中断开  

   while(1)

   while(k)

   {

      Y1=0        //正转

      while(X1==1)       //等待正转接近开关反应

      Y1=1          //正转停

      delay50ms(1)     //停止时间50ms

      Y2=0     //反转

      while(X2==1)     //等待反转接近开关反应

      Y2=1    //反转停

      k--     //圈数减一   

   }

}

void  counter0(void) interrupt 0

{

   k++     //外部中断控制圈数加一

   //这个位置可以加你显示程序

}


欢迎分享,转载请注明来源:内存溢出

原文地址: https://www.outofmemory.cn/yw/12285242.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-24
下一篇 2023-05-24

发表评论

登录后才能评论

评论列表(0条)

保存