OpenEdv-开源电子网

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

升压模块连上L298N后电压不稳定,总是变化,步进电机也是前进几步就后退,请各位大佬帮忙看看什么原因

[复制链接]

7

主题

16

帖子

0

精华

初级会员

Rank: 2

积分
73
金钱
73
注册时间
2018-1-19
在线时间
19 小时
发表于 2019-2-21 22:09:56 | 显示全部楼层 |阅读模式
本帖最后由 八块腹肌233 于 2019-2-21 22:14 编辑

头文件程序如下:#ifndef __CHUMI_H
#define __CHUMI_H

#include "stm32f10x.h"
#include "sys.h"
#include "delay.h"

u8 upstep8_table[]={0x08,0x0a,0x02,0x06,0x04,0x05,0x01,0x09};  //Õy×aË3Dò±í
//u8 downstep8_table[]={0x04,0x06,0x02,0x0a,0x08,0x09,0x01,0x05};       //Äæ×aË3Dò±í
extern struct rice rice_info;
int chumi(struct rice rice_info);    //¸oÔe3öÃ×
void motor_pin_init();   //3õê¼»ˉμç»úòy½Å
void SetMotor(unsigned char InputData);  //éèÖμμç»úòy½ÅμçÆ½
#endif


.c文件如下:
#include "test.h"


void motor_pin_init()
{
          GPIO_InitTypeDef GPIO_InitStructure;
    RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB, ENABLE);

    GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;
    GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
    GPIO_InitStructure.GPIO_Pin = GPIO_Pin_0|GPIO_Pin_1|GPIO_Pin_2|GPIO_Pin_3;
    GPIO_Init(GPIOB,&GPIO_InitStructure);  


}

void SetMotor(unsigned char InputData)
{
    if(InputData&0x01)
    {
        GPIO_SetBits(GPIOB,GPIO_Pin_0);
                //        delay_ms(20000);
    }
    else
    {
        GPIO_ResetBits(GPIOB,GPIO_Pin_0);
    }
    if(InputData&0x02)
    {
        GPIO_SetBits(GPIOB,GPIO_Pin_1);
    }
    else
    {
        GPIO_ResetBits(GPIOB,GPIO_Pin_1);

    }
    if(InputData&0x04)
    {
        GPIO_SetBits(GPIOB,GPIO_Pin_2);
    }
    else
    {
        GPIO_ResetBits(GPIOB,GPIO_Pin_2);
    }
    if(InputData&0x08)
    {
        GPIO_SetBits(GPIOB,GPIO_Pin_3);
    }
    else
    {
        GPIO_ResetBits(GPIOB,GPIO_Pin_3);
    }
}

void motorNcircle(int n,int position)
{
    int i,j,k=0;
    for(j=0;j<n;j++)
    {
        //for(i=0;i<64*8;i++)
        for(i=0;i<8;i++)
        {
            for(k=0;k<8;k++)
            {
                if(1 == position)
                {
                    SetMotor(upstep8_table[k]);
                }
               // else
               // {
                //    SetMotor(downstep8_table[k]);
               // }
                delay_ms(2);
            }
        }
    }
}
我感觉软件部分应该没什么问题,就是会不会是电压的不稳定导致步进电机无法正常运转,但不知道为什么会电压不稳定,求各位大佬帮忙看看。

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

使用道具 举报

7

主题

16

帖子

0

精华

初级会员

Rank: 2

积分
73
金钱
73
注册时间
2018-1-19
在线时间
19 小时
 楼主| 发表于 2019-2-21 22:14:36 | 显示全部楼层
电压一会17V,一会又5V,变化幅度很大
回复 支持 反对

使用道具 举报

29

主题

492

帖子

0

精华

高级会员

Rank: 4

积分
810
金钱
810
注册时间
2016-4-7
在线时间
123 小时
发表于 2019-2-22 09:40:24 | 显示全部楼层
八块腹肌233 发表于 2019-2-21 22:14
电压一会17V,一会又5V,变化幅度很大

先不要用升压模块供电试试,弄个开关电源先让电机正常跑起来
回复 支持 反对

使用道具 举报

29

主题

492

帖子

0

精华

高级会员

Rank: 4

积分
810
金钱
810
注册时间
2016-4-7
在线时间
123 小时
发表于 2019-2-22 09:40:54 | 显示全部楼层
L298是用L297控制的,还是自己IO口直接控制的?
回复 支持 反对

使用道具 举报

7

主题

16

帖子

0

精华

初级会员

Rank: 2

积分
73
金钱
73
注册时间
2018-1-19
在线时间
19 小时
 楼主| 发表于 2019-2-22 10:24:42 | 显示全部楼层
xujian468 发表于 2019-2-22 09:40
L298是用L297控制的,还是自己IO口直接控制的?

用的IO口直接控制的,用示波器看了298的四个输出通道,信号都不稳定,会不会是298模块的问题,不明白的是升压模块只和298连接的时候电压输出是稳定的,但只要单片机一上电就不稳定了
回复 支持 反对

使用道具 举报

27

主题

195

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
232
金钱
232
注册时间
2016-8-31
在线时间
252 小时
发表于 2019-2-22 11:31:00 | 显示全部楼层
PB2是boot0,PB3是jtag调试端口
回复 支持 反对

使用道具 举报

7

主题

16

帖子

0

精华

初级会员

Rank: 2

积分
73
金钱
73
注册时间
2018-1-19
在线时间
19 小时
 楼主| 发表于 2019-2-22 13:57:09 | 显示全部楼层
宫本无三四 发表于 2019-2-22 11:31
PB2是boot0,PB3是jtag调试端口

多谢大佬,已经调试成功了。非常感谢
回复 支持 反对

使用道具 举报

29

主题

492

帖子

0

精华

高级会员

Rank: 4

积分
810
金钱
810
注册时间
2016-4-7
在线时间
123 小时
发表于 2019-3-1 16:44:20 | 显示全部楼层
IO口直接控制L298,容易烧片子,自己搞搞研究可以,做产品,慎重
回复 支持 反对

使用道具 举报

7

主题

16

帖子

0

精华

初级会员

Rank: 2

积分
73
金钱
73
注册时间
2018-1-19
在线时间
19 小时
 楼主| 发表于 2019-3-4 16:13:32 | 显示全部楼层
xujian468 发表于 2019-3-1 16:44
IO口直接控制L298,容易烧片子,自己搞搞研究可以,做产品,慎重

好的,感谢提醒
回复 支持 反对

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2025-6-23 21:16

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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