C语言控制步进电机

您好,我现在有一个程序可以控制步进电机正转反转调速,但是不能控制他转多少圈?请问怎么可以实现这个功能

我之前做过一个,步进电机模拟电梯运行的控制程序,是那种发一个信号走一步的那种,步进角比较大,好像是15度左右,我当时的做法就是加入系统延时,让程序给步进电机发送信号,通过控制延时来决定单位时间内步进电机转动的次数
我用的是永磁式步进电机,不知道你用的是什么样的,我使用的这种,步进角比较大,步进电机都是一步步转的,转快了就看不出步进电机是一步步转了
而当是步进电机正转是按这样的顺序发送信号,abcd,反转是dcba
转多少圈,就是循环给步进电机发送信号,使用程序控制发送信号的次数,至于怎么控制只要知道接口函数什么的还是不难的。
如果还是不大明白,我倒是可以帮你看看程序追问

可以啊,拜托额,我是个菜鸟,如果可以帮我看看程序吧 QQ514266039

追答

你给我发过来吧,我这两天不经常在,332606017@qq.com

温馨提示:内容为网友见解,仅供参考
第1个回答  2011-08-07
自己掉圈儿里啦,哈哈
如果绕花坛走一圈需要100步,走N圈要用多少步?
第2个回答  2011-08-07
这个你要查一下你这个步进电机的型号,各个型号的精度都不一样,它都规定好了,一个完整的脉冲转多少弧度,我用过的好像是6.25弧度,差不多六十个脉冲转一圈
第3个回答  2011-08-07
58脉冲转一周么?你被自己框住了!
第4个回答  2011-08-10
这个问题讲不通啊.你是如何实现电机正反转的?步进驱动必须依靠脉冲的,也就是你不发脉冲它不会动的.通常的方式就是脉冲+方向模式.方向电平决定了旋转方向.而脉冲数决定的就是旋转的角度.这就是所谓的细分.若你选的脉冲是400细分的,则400脉冲就是一圈了,就这么简单.如果你用控制卡,直接使用它的裤函数就是了(通常都做到了动态库里).驱动函数必然有个DINT参数来指定旋转角度(圈数).

步进电机驱动程序C语言
sbit bujin_fx_stop = P3^4; \/* 接步进电机 ,反向到位传感器 ,为 0 停机 *\/ sbit shache = P3^5; \/* 接刹车控制继电器 0 电位有效 *\/ sbit pri_dj = P3^6; \/* 接主电机控制继电器 0 电位有效 *\/ void main(){ TCON = 0x01;display();while(1) { IE...

求一个C语言程序,用msp430控制步进电机启动,停止,正转和反转。在线等...
首先这个程序是针对4项步进电机的,采用单4拍转动的方式。步进电机还有其他参数,比如转速等等,都要考虑在内。步进电机子程序放在定时器中断里面。不是特别精确。能用。里面设立了几个标志,你应该能看懂 void StepMotor(void) \/\/步进电机子函数 { \/\/正转\/\/ if (MOTORCONTROL==2){ if(motortim...

C语言 步进电机的正反转 启停 控制程序 求解释
while(1){...}循环是电机运转,flag_status是状态,1转动,0停止。没有看到与正转反转有关的代码。也许在motor_cw_ccw();函数里面,这个就是电机动一下的函数。原程序不完整,没有相应函数、变量的定义及意义说明。难以确切理解。

用c语言程序实现步进电机的正反转加减速的编程
内容:1、本程序用于测试4相步进电机常规驱动 2、需要用跳帽或者杜邦线把信号输出端和对应的步进电机信号输入端连接起来 3、速度不可以调节的过快,不然就没有力矩转动了 4、按s4(设置成独立按键模式)可以控制正反转 ---*\/ include <reg52.h> bit Flag;\/\/定义正反转标志位 unsigned char code ...

用C语言实现步进电机正反转控制程序和电路图,求帮助。
我有程序,电路图可以在程序中看出,include<reg52.h> include<intrins.h> define uchar unsigned char define uint unsigned int sbit key1=P3^7;sbit key2=P3^6;sbit key3=P3^5;uchar kz,i=200;uchar zhengzhuan[]={0xf3,0xf9,0xfc,0xf6};uchar fanzhuan[]={0xf3,0xf6,0xfc,0xf9}...

如何用C语言控制步进电机 正转后自动反转
中断0,读键盘。没有scan_key()的源代码,不知道里面有些什么操作。while(1){...}循环是电机运转,flag_status是状态,1转动,0停止。没有看到与正转反转有关的代码。也许在motor_cw_ccw();函数里面,这个就是电机动一下的函数。原程序不完整,没有相应函数、变量的定义及意义说明。难以确切理解...

求单片机c语言控制步进电机调速程序
给你一段简单的程序代码,控制步进电机的,不过你要好好看看程序的编写,以适应你的硬件(主要是连线),你可以在实现这个的基础上实现你所说的目标,个人觉得你参考这个程序然后自己实现你所说的功能比较好:include unsigned char code f_rotation[4]={0x08,0x10,0x20,0x40};\/\/正转表格 unsigned ...

求51单片机控制步进电机,实现其间歇运动的程序,最好要有C语言的
void qudong(unsigned char t,bit flag) \/\/ t范围0~4控制转速,flag表示正反转 { unsigned char zz,i;if(t) \/\/ 先判断t是否为0,如果是,就没必要进行下面的判断 { if(flag) \/\/flag=1;为正转 { switch(t) \/\/ 选出几级速度 { case 1: zz=4;break;case 2: zz=...

关于51单片机控制步进电机编程(c语言),求助
include <reg52.h> define uchar unsigned char define uint unsigned int uchar key_l,key,i;uchar code temp1[]={0x01,0x03,0x02,0x06,0x04,0x0c,0x08,0x09};uchar code temp2[]={0x09,0x08,0x0c,0x04,0x06,0x02,0x03,0x01};uchar code aa[16]=" :";uchar code smg[...

用单片机控制步进电机正反转,简单易懂的C语言程序,最好带注释,步进电机...
看题主的情况应该是不太了解编程,向你推荐表控,在不会编程的情况下,可以利用中文表格设置轻松实现步进电机的正反转。具体参见下图:第1行设置由输入端X1作为启动,Y1输出3万个脉冲,脉冲频率600赫兹(每秒600个脉冲的频率),由于只有Y1输出脉冲,没有设置方向输出端,所以电机正转。第3、4行由X2...

相似回答