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

2019-07-21 04:49发布

本帖最后由 八块腹肌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);
            }
        }
    }
}
我感觉软件部分应该没什么问题,就是会不会是电压的不稳定导致步进电机无法正常运转,但不知道为什么会电压不稳定,求各位大佬帮忙看看。

友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。