超声波雾化片DIY加湿器

2019-08-17 02:08发布

本人在一个帖子中看到用考毕兹振荡器驱动的超声波换能片,于是想到STM32F1的PWM功能来得到一个高频脉冲来驱动它。如果是一款工作电压24v、谐振频率为110khz的换能片,这样接合适吗
MOS管的栅极用PB8控制,那么我想问的是110khz的谐振频率用32怎么实现,我的想法如代码所示
[mw_shl_code=c,true]int main()
{
  GPIO_InitTypeDef GPIO_InitStructure;
        TIM_OCInitTypeDef TIM_OCInitStructure;
        TIM_TimeBaseInitTypeDef TIM_TimeBaseStructure;
        RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB,ENABLE);//使能或者失能APB2外设时钟
        RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM4,ENABLE);//使能或者失能APB1外设时钟
       
        GPIO_InitStructure.GPIO_Pin = GPIO_Pin_8;
        GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;//最高输出速率50MHz
        GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF_PP;//复用推挽输出
        GPIO_Init(GPIOB, &GPIO_InitStructure);//初始化外设GPIOx寄存器
       
        TIM_TimeBaseStructure.TIM_Prescaler =21;//预分频值
        TIM_TimeBaseStructure.TIM_CounterMode = TIM_CounterMode_Up;//向上计数模式
        TIM_TimeBaseStructure.TIM_Period =20;//在下一个更新事件装入活动的自动重装载寄存器周期的值
        TIM_TimeBaseStructure.TIM_ClockDivision = TIM_CKD_DIV1;//TDTS = Tck_tim
        TIM_TimeBaseInit(TIM4,&TIM_TimeBaseStructure);//初始化

        TIM_OCInitStructure.TIM_OCMode = TIM_OCMode_PWM1;//PWM模式1
        TIM_OCInitStructure.TIM_OutputState = TIM_OutputState_Enable;//使能
        TIM_OCInitStructure.TIM_Pulse = 0;//脉冲宽度,由这个设置占空比
        TIM_OCInitStructure.TIM_OCPolarity = TIM_OCPolarity_High;//高电平有效

        TIM_OC3Init(TIM4,&TIM_OCInitStructure);//初始化

  TIM_Cmd(TIM4, ENABLE);//使能或者失能TIMx外设
  while(1)
{
  TIM_SetCompare3(TIM4,10 );//设置TIMx捕获比较3寄存器值

}

}
[/mw_shl_code]
具体的我想问下分频系数、自动重装载值怎么算,还有就是TIM_SetCompare3(TIM4,10 )中的那个比较值怎么设定,不知道这种方法是否合适,如果合适的话请大神指导,不合适的话希望能有别的方法
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
8条回答
liujie136997963
1楼-- · 2019-08-17 04:06
有一个公式的啊,百度一下32定时器公式,选值就行啦
guset_03
2楼-- · 2019-08-17 08:55
驱动电路要改。。。板子有的挂的风险
理海航母
3楼-- · 2019-08-17 09:04
guset_03 发表于 2017-7-9 23:08
驱动电路要改。。。板子有的挂的风险

嗯嗯  是的 最好加个光耦隔离
DERRICK
4楼-- · 2019-08-17 12:57
liujie136997963 发表于 2017-7-9 22:44
有一个公式的啊,百度一下32定时器公式,选值就行啦

按谐振频率110khz为例,(72MHZ/分频系数)/重装载值=110khz吗?
DERRICK
5楼-- · 2019-08-17 15:52
 精彩回答 2  元偷偷看……
理海航母
6楼-- · 2019-08-17 21:38
DERRICK 发表于 2017-7-10 09:31
按谐振频率110khz为例,(72MHZ/分频系数)/重装载值=110khz吗?

参考手册上写的很清楚的

一周热门 更多>