OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 6454|回复: 10

求个STM32开发板控制步进电机正反转的设计

[复制链接]

1

主题

2

帖子

0

精华

新手入门

积分
10
金钱
10
注册时间
2016-4-16
在线时间
0 小时
发表于 2016-4-16 18:50:38 | 显示全部楼层 |阅读模式
1金钱
要求很简单,就是用STM32板子设计一个能控制步进电机正转反转停止的程序。刚入嵌入式,好多东西都不明白。很想问一下网上程序的那些头文件都在那里下?像includes.h之类的,STM官网有下载么?

正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

1

主题

2

帖子

0

精华

新手入门

积分
10
金钱
10
注册时间
2016-4-16
在线时间
0 小时
 楼主| 发表于 2016-4-16 18:51:51 | 显示全部楼层
有偿的,但是希望别太坑我,动不动直接报价800、1000我可受不了
回复

使用道具 举报

5

主题

23

帖子

0

精华

初级会员

Rank: 2

积分
112
金钱
112
注册时间
2016-3-17
在线时间
21 小时
发表于 2016-4-16 20:43:38 | 显示全部楼层
你可以试试通过调节PWM的占空比来实现点击的正反转
回复

使用道具 举报

9

主题

507

帖子

0

精华

论坛元老

Rank: 8Rank: 8

积分
3347
金钱
3347
注册时间
2013-4-10
在线时间
333 小时
发表于 2016-4-17 00:13:43 | 显示全部楼层
给我一100个积分就行了, 我不收钱, 帮你搞一个!!!
还有你没有说明,  如果只是控制电机正反转, 这个比较简单,但按你的说明,程序相差很大,

比如,你有带驱动器, 哪只要给电机脉冲方向信号就行了, 脉冲速度快慢代表电机的速度, 方向就是一高低电平, 一般高电平正转,低电平反转

但如果你没有驱动器  哪还要知道你的电机是4线的或是6线的, 是两相驱动还是4相驱动, 是单极性或是又极性, ,需不要要加减速, 一堆问题呢!

如果用6线电机, 单极性驱动,C51的代码可以这 样写

/***************************************************************************************************
函数名:步进电机正反转一步
调  用:MOTOR()
参  数:Mot=0,电机反转一步 ,Mot=1电机正转
返回值:无
结  果:电机走一步
***************************************************************************************************/
void MOTOR(void){   //步进电机正反转一步子程序
           code unsigned char MOTOR_DB[]={0x00,0xb0,0x90,0xd0,0x50,0x70,0x60,0xe0,0xa0,0x00};//定义电机输出编码
           unsigned char i;
           MOIC=0;   //开电机电流
           i=0;      //电机输出编码初值设00
           CBB=10;   //设减小电机电流时间设为10
           if(Mot==1)Mo_data++;
           else{if(Mo_data!=0)Mo_data--;}//如果电机反转,并且当前电机坐标不小于1时,坐标减一
           while(1)
                {
                if(Mot)Motor_t ++;//当前电机输出编码加一指向下一编码
                else Motor_t --;//电机输出编码减一
                i=MOTOR_DB[Motor_t]; //取电机输出编码
                if(i!=0)break;
                else{
                    if(Mot)Motor_t=0;
                    else Motor_t=9;
                    }
                }
           i=i&0xf8; //屏蔽低3位,高5位不变
           M_data=M_data&0x07;//屏蔽P1口的高5位,低3位不变
           M_data=M_data|i; //高5位送P1口,P1口的低3位不变
           }


调用这个函数一次, 电机走一步, 程序是 6线小电机, 输出OI接个 2003这类的芯片就行了, 半步方式,

所以,老兄你的要求要说清楚! 哪些有偿的就算了,  我不用收费,就希望给个枳分,
回复

使用道具 举报

4

主题

23

帖子

0

精华

初级会员

Rank: 2

积分
134
金钱
134
注册时间
2015-7-29
在线时间
20 小时
发表于 2016-4-17 13:46:47 | 显示全部楼层
需要的话    可以加我Q:715319184
回复

使用道具 举报

6

主题

12

帖子

0

精华

初级会员

Rank: 2

积分
141
金钱
141
注册时间
2016-4-9
在线时间
20 小时
发表于 2016-4-18 23:59:24 来自手机 | 显示全部楼层
pwm挑占空比,参考战舰库函数的pwm输出实验,我刚调过,不是特别难
回复

使用道具 举报

13

主题

448

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1755
金钱
1755
注册时间
2015-2-7
在线时间
369 小时
发表于 2016-4-19 01:03:36 来自手机 | 显示全部楼层
能在这里发帖说明你的学习搜索能力还是挺强的,步进电机控制的历程网上很多的。自己不做电机驱动器的话,直接网上买一个驱动器,用pwm就可以控制了,驱动器带有方向控制的
回复

使用道具 举报

29

主题

311

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1530
金钱
1530
注册时间
2012-9-4
在线时间
262 小时
发表于 2016-4-19 09:28:12 | 显示全部楼层
A3977,这个片子很好用
回复

使用道具 举报

3

主题

42

帖子

0

精华

高级会员

Rank: 4

积分
714
金钱
714
注册时间
2016-1-25
在线时间
79 小时
发表于 2016-4-19 10:59:59 | 显示全部楼层
使用专用步进电机驱动芯片,挺简单
回复

使用道具 举报

1

主题

5

帖子

0

精华

新手上路

积分
24
金钱
24
注册时间
2016-4-19
在线时间
5 小时
发表于 2016-4-19 13:10:00 | 显示全部楼层
我也想知道这个,这学期的本科毕业设计就是用STM32设计一个自动绕线机控制系统 感觉好恼火 有大神帮忙吗? 过后必定酬谢 qq1303159120
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165540
金钱
165540
注册时间
2010-12-1
在线时间
2117 小时
发表于 2016-4-23 18:49:04 | 显示全部楼层
论坛搜索,有参考代码。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-6-16 22:43

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表