1.30学习计划

人只要不失去方向,就不会失去自我。

1、任务计划

    (1)搜索关于高级定时器写PWM波的资料
    (2)完成第二个课题:利用高级定时器产生6路带死区的互补pwm波,占空比40%(拓展:改变有效电平,使得互补的pwm波极性相同);产生的pwm在示波器上显示,并记录相关参数,包括幅值、占空比、频率。

2、任务完成度

    (1)翻阅了STM32的库函数指南,中文参考手册,固件库使用手册中文翻译。查找有关高级定时器的定义及概念,还有一些相关函数的应用。
    [1]死区:就是在上半桥关断后,延迟一段时间再打开下半桥,或者在下半桥关断后,延迟一段时间再打开下半桥。从而避免功率元件被烧坏,这段延迟时间就是死区。
    [2]刹车:就是紧急停止。紧急停止之后进入死区。
    刹车输入信号可以将定时器输出信号置于复位状态,或者一个已知状态。
    [3]BDTR是刹车和死区寄存器
    [4]TIM_BDTRConfig:设置刹车特性、死区时间、锁电平、OSSI、OSSR状态和AOE(自动输出使能)
    [5]TIM_BDTRStructInit:把TIM1_BDTRInitStruct中的每一个参数按缺省值填入。
    [6]TIM1_BDTRInitStruct结构体定义在“stm32f4xx.tim.h”,它包括
    u16 TIM1_OSSRState;  //设置在运行模式下非工作状态选项。
    u16 TIM1_OSSIState;  //设置在运行模式下非工作状态选项。
    u16 TIM1_LOCKLevel;  //设置了锁电平参数。
    u16 TIM1_DeadTIM1;  //指定了输出打开和关闭状态之间的延时。
    u16 TIM1_Break;     //使能或者失能TIM1刹车输入。
    u16 TIM1_BreakPolarity;  //设置TIM1刹车输入管脚极性
    u16 TIM1_AutomaticOutput;  //使能或者失能自动输出功能。
    [7]对于[6]可以这样设置:
    TIM1_BDTRInitTypeDef TIM1_BDTRInitStructure;
    TIM1_BDTRInitStructure.TIM1_OSSRState=TIM1_OSSRState_Enable;
    TIM1_BDTRInitStructure.TIM1_OSSIState=TIM1_OSSIState_Enable;
    TIM1_BDTRInitStructure.TIM1_LOCKLevel=TIM1_LOCKLevel_1;
    TIM1_BDTRInitStructure.TIM1_DeadTIM1= 0x05;
    TIM1_BDTRInitStructure.TIM1_Break=TIM1_Break_Enable;
    TIM1_BDTRInitStructure.TIM1_BreakPolarity = TIM1_BreakPolarity_High;
  TIM1_BDTRInitStructure.TIM1_AutomaticOutput=TIM1_AutomaticOutput_Enable;
    TIM1_BDTRConfig(&TIM1_BDTRInitStructure);
    [8]在转换到IDLE状态时(MOS下降到0),死区被激活。
    *同时设置CCxE和CCxNE位将插入死区。
    *如存在刹车电路,则至少需要MOE位。
    *每一个通道都有一个10位的死区发生器。
    *比如一个信号可以产生2路输出的OCx和OCxN。如果为高电平有效:
    OCx输出信号与原信号相同,只是它的上升沿相对原信号的上升沿有延迟;
    OCxN输出信号与原信号相同,只是它的上升沿相对原信号的上升沿有延迟;
    *当然了,若延迟大于当前有效的输出宽度(OCx或者OCxN ),则不会产生相应脉冲。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值