OpenEdv-开源电子网

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

最近想做一个(2011年电赛自由摆)遇到了一些问题求大神们给点宝贵经验(悬赏100)

[复制链接]

9

主题

30

帖子

0

精华

初级会员

Rank: 2

积分
173
金钱
173
注册时间
2016-11-9
在线时间
38 小时
发表于 2017-6-15 20:59:09 | 显示全部楼层 |阅读模式
100金钱
最近想做一个自由摆遇到了一些问题求大神们给点宝贵经,
主要是步进电机转速的问题 在摆的时候用手慢慢摆动步进电机转动正常,但是让它摆动的时候步进电机不能转动,在第一个问摆动一个周期转一周没有什么问题,这是什么原因?


我的驱动是用的L298N 步进电机是用的  35BYJ412  步进电机  用的陀螺仪MPU6050 来测量角度  具体就是这些配置

第一问是在自由摆摆动一周不进电机转一圈 这个没有问题 在摆动的时候转速那些都还好  


但是在放硬币这一问上步进电机就不行了,用手很慢的摆动时步进电机能正常转动,但是在自由摆动的时候步进电机几乎不转

(我怀疑是一下几种可能: 步进电机不行响应慢     驱动不行   陀螺仪采集不行跟不上   )  做过的大神希望给点宝贵的经验,懂步进电机的希望帮忙分析下什么原因 是硬件有问题?

在线等  在此万分感谢 仅存的100金钱全部奉上。


#include"stm32f10x.h"
#include "dianji.h"
#include  "systick.h"


u8 i,j,k;
u16 N=128*8;
u8 single_pos[4]={0x07,0x0b,0x0d,0x0e};
u8 single_rev[4]={0x0e,0x0d,0x0b,0x07};
u8 double_pos[4]={0x06,0x03,0x09,0x0c};
u8 double_rev[4]={0x0c,0x09,0x03,0x06};
u8 eight_pos[8]={0x06,0x07,0x03,0x0b,0x09,0x0d,0x0c,0x0e};
u8 eight_rev[8]={0x0e,0x0c,0x0d,0x09,0x0b,0x03,0x07,0x06};


void moto_gpio_init(void)
{
       
  GPIO_InitTypeDef GPIO_InitStructure;        //声明一个结构体变量,用来初始化GPIO
        RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA,ENABLE);   /* 开启GPIO时钟 */

        /*  配置GPIO的模式和IO口 */
        GPIO_InitStructure.GPIO_Pin=GPIO_Pin_1|GPIO_Pin_2|GPIO_Pin_3|GPIO_Pin_4|GPIO_Pin_0;                //选择你要设置的IO口
        GPIO_InitStructure.GPIO_Mode=GPIO_Mode_Out_PP;                  //设置推挽输出模式
        GPIO_InitStructure.GPIO_Speed=GPIO_Speed_50MHz;          //设置传输速率
        GPIO_Init(GPIOA,&GPIO_InitStructure);          /* 初始化GPIO */
}

void Moto_Out_Data(u8 dat)
{
        GPIO_WriteBit(GPIOA,GPIO_Pin_1,(BitAction)(dat&0x01));
        GPIO_WriteBit(GPIOA,GPIO_Pin_2,(BitAction)(dat&0x02));
        GPIO_WriteBit(GPIOA,GPIO_Pin_3,(BitAction)(dat&0x04));
        GPIO_WriteBit(GPIOA,GPIO_Pin_4,(BitAction)(dat&0x08));
}




void m_single_pos(int C)
{          
                                for(k=0;k<C;k++)
                                                 {  
                                                         for(i=0;i<4;i++)
                                                                {
                                                                 Moto_Out_Data(single_pos[i]);
                                                                 delay_ms(3);
                                                                 
                                                         }
                                         }
        }



void m_single_rev(int C)
{
           for(k=0;k<C;k++)
                 {
                                                 for(i=0;i<4;i++)
                                                         {   
                                                                 Moto_Out_Data(single_rev[i]);
                                                                 delay_ms(3);
                                                               
                                                        }
                }
        }


最佳答案

查看完整内容[请看2#楼]

自由摆 步进电机是用来控制平衡的 不是用来摆的 放在摆的下面再在步进电机上放一个板 控制板平衡 在板上放硬币让摆在摆的过程中硬币不掉下
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

9

主题

30

帖子

0

精华

初级会员

Rank: 2

积分
173
金钱
173
注册时间
2016-11-9
在线时间
38 小时
 楼主| 发表于 2017-6-15 21:10:29 | 显示全部楼层
回复

使用道具 举报

9

主题

30

帖子

0

精华

初级会员

Rank: 2

积分
173
金钱
173
注册时间
2016-11-9
在线时间
38 小时
 楼主| 发表于 2017-6-15 20:59:10 | 显示全部楼层
Owen 发表于 2017-6-15 21:04
步进电机内部机械阻力过大,能摆动起来么?要用那种用手一拨就能转动的电机才能摆动起来吧

自由摆   步进电机是用来控制平衡的 不是用来摆的  放在摆的下面再在步进电机上放一个板 控制板平衡 在板上放硬币让摆在摆的过程中硬币不掉下
回复

使用道具 举报

14

主题

171

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
449
金钱
449
注册时间
2017-3-31
在线时间
118 小时
发表于 2017-6-15 21:04:04 | 显示全部楼层
步进电机内部机械阻力过大,能摆动起来么?要用那种用手一拨就能转动的电机才能摆动起来吧
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165359
金钱
165359
注册时间
2010-12-1
在线时间
2110 小时
发表于 2017-6-15 21:39:23 | 显示全部楼层
帮顶
回复

使用道具 举报

9

主题

30

帖子

0

精华

初级会员

Rank: 2

积分
173
金钱
173
注册时间
2016-11-9
在线时间
38 小时
 楼主| 发表于 2017-6-16 08:33:19 | 显示全部楼层
大神支招啊! 感谢感谢
回复

使用道具 举报

14

主题

171

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
449
金钱
449
注册时间
2017-3-31
在线时间
118 小时
发表于 2017-6-16 11:51:54 | 显示全部楼层
18784506782 发表于 2017-6-15 21:16
自由摆   步进电机是用来控制平衡的 不是用来摆的  放在摆的下面再在步进电机上放一个板 控制板平衡 在板 ...

哦哦哦,我说的是另外一题。。。搞混了
回复

使用道具 举报

9

主题

30

帖子

0

精华

初级会员

Rank: 2

积分
173
金钱
173
注册时间
2016-11-9
在线时间
38 小时
 楼主| 发表于 2017-6-16 18:25:47 | 显示全部楼层
沉了?
回复

使用道具 举报

21

主题

243

帖子

0

精华

初级会员

Rank: 2

积分
135
金钱
135
注册时间
2015-3-12
在线时间
166 小时
发表于 2017-6-18 19:25:48 | 显示全部楼层
楼主,是不是玩倒立摆???这个当年我差点就挂在上面
回复

使用道具 举报

9

主题

30

帖子

0

精华

初级会员

Rank: 2

积分
173
金钱
173
注册时间
2016-11-9
在线时间
38 小时
 楼主| 发表于 2017-6-20 12:25:45 | 显示全部楼层
HerryZ 发表于 2017-6-18 19:25
楼主,是不是玩倒立摆???这个当年我差点就挂在上面

我是自由摆 倒立摆也要弄 给点意见呗
回复

使用道具 举报

4

主题

24

帖子

0

精华

初级会员

Rank: 2

积分
98
金钱
98
注册时间
2017-5-20
在线时间
24 小时
发表于 2017-7-15 17:05:31 | 显示全部楼层
老哥  你解决了吗?怎么解决的?
回复

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2024-12-18 22:13

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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