找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 3742|回复: 0
打印 上一主题 下一主题
收起左侧

STM32 PWM直流电机调速驱动程序

[复制链接]
跳转到指定楼层
楼主
ID:723674 发表于 2020-4-6 21:49 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
      利用STM32 的IO输出不同占空比的脉冲信号来达到调速的过程,当占空比大的时候就表明在一个脉冲周期内高电平的时间越长,而脉冲信号输出频率极快,高电平的时间越长就表明在一段时间内IO口输出的控制电压越高,控制电压越高使得L298N输出的电压越高,这样就使得车轮的转速越快。


PWM.h代码书写如下:


#ifndef __PWM__H
#define __PWM__H
#include "sys.h"
#include "stm32f10x.h"

void TiM4_PWM_Init(u16 value ) ;   


#endif




PWM.c文件书写如下:


#include "PWM.h"
void TiM4_PWM_Init(u16 value )
{   
        TIM_TimeBaseInitTypeDef TIM_Timeinit;
        TIM_OCInitTypeDef TIM_OCInitstruct;
         
        GPIO_InitTypeDef    GPIO_InitStrucyure;
///////////////     1
        RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM4,ENABLE);  //使能定时器4时钟
        RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB,ENABLE); // 使能GPIO


        GPIO_InitStrucyure.GPIO_Mode=GPIO_Mode_AF_PP;        //改为复用推挽输出GPIO_Mode_AF_PP
        GPIO_InitStrucyure.GPIO_Pin=GPIO_Pin_6;
        GPIO_InitStrucyure.GPIO_Speed=GPIO_Speed_50MHz;
        GPIO_Init(GPIOB,&GPIO_InitStrucyure);                 //初始化io口
     

        TIM_Timeinit.TIM_ClockDivision = TIM_CKD_DIV1 ;       //
        TIM_Timeinit.TIM_CounterMode =  TIM_CounterMode_Up;                 //计数模式
                                
        TIM_Timeinit.TIM_Prescaler = 0;           //预分频系数为0  则频率为不分频 72mhz/1 = 72Mhz
        TIM_Timeinit.TIM_Period = 7199;                //  72MHZ /(7199+1) = 10KHZ  7199 为计数总值
        TIM_TimeBaseInit(TIM4,&TIM_Timeinit);

        TIM_OCInitstruct.TIM_Pulse = value;         //占空比 这里是0-2399
        TIM_OCInitstruct.TIM_OCMode =   TIM_OCMode_PWM2 ;   //模式2
        TIM_OCInitstruct.TIM_OCNPolarity  = TIM_OCPolarity_High ;   //极性输出高
        TIM_OCInitstruct.TIM_OutputState = TIM_OutputState_Enable ;        //      

        TIM_OC1Init(TIM4,&TIM_OCInitstruct);        //TIM_OCX   通道1 就OC1

     
        TIM_OC1PreloadConfig(TIM4,TIM_OCPreload_Enable);


                        
        TIM_Cmd(TIM4,ENABLE);  //使能定时器
     
    }

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏2 分享淘帖 顶 踩
回复

使用道具 举报

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

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

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