STM32——小车2个步进电机运动控制

使用STM32作为小车控制器,控制小车2个步进电机运动,PWM波频率调节小车速度,2个IO控制小车方向

头文件部分:

#ifndef __MOTORCONTROL_H
#define __MOTORCONTROL_H
#include "sys.h"
//////////////////////////////////////////////////////////////////////////////////
//电机抱闸驱动器控制程序
//////////////////////////////////////////////////////////////////////////////////
//全局变量
int motion;//电机停止

int arrp, pscp;//PWM频率调节参数
float comp;


void Initialization();//初始化
void Motor_IO_Init(void);//初始化GPIO口
/******************************
 *
 * 机器人运动控制程序
 *
 ********************************/

#define Vacuumpump PCout(11)
#define MOTOR0 PCout(10)


void  Vacuumpumppoweron();//上电
void  Vacuumpumppoweroff();//下电
///////////////////////////////////////////////////////////
void  Brakeon();//抱闸上电
void  Brakeoff();//抱闸下电
///////////////////////////////////////////////////////////
//左右驱动器使能函数
void poweron();//使能上电
void poweroff();//使能下电
//左驱动器DIR口控制
void dirleft1();
void dirleft0();
//右驱动器DIR口控制
void dirright1();
void dirright0();
///////////////////////////////////////////////////////////
void pulleft();//左驱动器PUL脉冲输出
void pulright();//右驱动器PUL脉冲输出
///////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////
//////////////////////////////////////////////////////////
void forward();//前进定义
void backward();//后退定义
void turnleft();//左转定义
void turnright();//右转定义
void stop();//停止定义

void fastVel();//电机快速
void fast();//电机快速
void middVel();//电机慢速
void slow();//电机慢速
void slowVel();//电机慢速

///////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////
//////////////////////////////////////////////////////////
//PWM脉冲产生函数
void TIM14_PWM_Init(u32 arr,u32 psc);
void TIM10_PWM_Init(u32 arr,u32 psc);



#endif

 

源文件部分:


#include "Motorcontrol.h"
#include "delay.h"
#include "stm32f4xx_gpio.h"
#include "stm32f4xx_rcc.h"
#include "usart.h"
#include "stm32f4xx_tim.h"
#inclu
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值