久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 1980|回復(fù): 11
打印 上一主題 下一主題
收起左側(cè)

請教單片機(jī)MCU定時器產(chǎn)生互補(bǔ)帶死區(qū)PWM

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:284571 發(fā)表于 2022-4-9 12:56 來自手機(jī) | 只看該作者 回帖獎勵 |倒序?yàn)g覽 |閱讀模式
如何用一個單片機(jī)定時產(chǎn)生互補(bǔ)帶死區(qū)的PWM信號?
互補(bǔ)PWM可以實(shí)現(xiàn)、死區(qū)怎么弄?謝謝
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏1 分享淘帖 頂1 踩
回復(fù)

使用道具 舉報

沙發(fā)
ID:883242 發(fā)表于 2022-4-9 13:35 | 只看該作者
看你的單片機(jī)定時器是否支持PWM死區(qū)了,連單片機(jī)型號都不說,我們也不會算命。
回復(fù)

使用道具 舉報

板凳
ID:161164 發(fā)表于 2022-4-9 13:35 來自手機(jī) | 只看該作者
周期要多快?說說你的互補(bǔ)是如何實(shí)現(xiàn)的?
回復(fù)

使用道具 舉報

地板
ID:213173 發(fā)表于 2022-4-9 15:28 | 只看該作者
                if(PWMA==1)
                {
                        PWMA=0;                                        //A通道關(guān)閉
                        Delay10us();                        //死區(qū)延時
                        PWMB=1;                                        //B通道打開
                }
                else
                {
                        PWMB=0;                                        //B通道關(guān)閉
                        Delay10us();                        //死區(qū)延時
                        PWMA=1;                                        //A通道打開
                }
回復(fù)

使用道具 舉報

5#
ID:284571 發(fā)表于 2022-4-10 11:51 | 只看該作者
本帖最后由 WCM1998 于 2022-4-11 08:10 編輯

void TIM1_PWM_Init(void)
{
TIM_TimeBaseInitTypeDef  TIM_TimeBaseStructure;
    TIM_OCInitTypeDef  TIM_OCInitStructure;
  
    RCC_APB2PeriphClockCmd(RCC_APB2Periph_TIM1, ENABLE);

    TIM_TimeBaseStructInit(&TIM_TimeBaseStructure);
    TIM_TimeBaseStructure.TIM_Period    =   arr;               
    TIM_TimeBaseStructure.TIM_Prescaler =   psc;              
    //Setting Clock Segmentation
    TIM_TimeBaseStructure.TIM_ClockDivision = (TIMCKD_TypeDef)0;
    TIM_TimeBaseStructure.TIM_RepetitionCounter = 1;        
    TIM_TimeBaseStructure.TIM_CounterMode = TIM_CounterMode_CenterAligned1;//中心對齊;
    TIM_TimeBaseInit(TIM1, &TIM_TimeBaseStructure);
  
     /**  通道 1              **/
    TIM_OCStructInit(&TIM_OCInitStructure);
    //Select Timer Mode: TIM Pulse Width Modulation Mode 2
    TIM_OCInitStructure.TIM_OCMode = TIM_OCMode_PWM2;
    TIM_OCInitStructure.TIM_OutputState =  TIM_OutputState_Enable;   //OC*輸出
    TIM_OCInitStructure.TIM_OutputNState = TIM_OutputNState_Disable; // 互補(bǔ)輸出關(guān)閉。關(guān)

閉OC*N輸出
    TIM_OCInitStructure.TIM_Pulse = 200;                             //占空比
     
    TIM_OCInitStructure.TIM_OCPolarity = TIM_OCPolarity_High;        //匹配時輸出高電平
    TIM_OC1Init(TIM1, &TIM_OCInitStructure);
    TIM_OC1PreloadConfig(TIM1, TIM_OCPreload_Disable);   
   
    /**  通道 3              **/
    TIM_OCStructInit(&TIM_OCInitStructure);
    //Select Timer Mode: TIM Pulse Width Modulation Mode 2
    TIM_OCInitStructure.TIM_OCMode = TIM_OCMode_PWM2;
    TIM_OCInitStructure.TIM_OutputState =  TIM_OutputState_Enable;   //OC*輸出
    TIM_OCInitStructure.TIM_OutputNState = TIM_OutputNState_Disable; // 互補(bǔ)輸出關(guān)閉。關(guān)

閉OC*N輸出
    TIM_OCInitStructure.TIM_Pulse = 200;                             //占空比
     
    TIM_OCInitStructure.TIM_OCPolarity = TIM_OCPolarity_Low;        //匹配時輸出高電平
    TIM_OC3Init(TIM1, &TIM_OCInitStructure);
    TIM_OC3PreloadConfig(TIM1, TIM_OCPreload_Disable);      
    TIM_ARRPreloadConfig(TIM1, ENABLE);                              //重裝載ARR
   
    TIM_Cmd(TIM1, ENABLE);
    TIM_CtrlPWMOutputs(TIM1, ENABLE);
}
//===占空比
void TIM1_PWM_Duty(u8 Duty)

{   
  Puls1=arr-Duty-dy;//dy是死區(qū)時間,72M/13.89ns一個周期,1000ns;dy=1000/2/((psc+1*13.89))=36
  Puls3=arr-CCR1;  TIM_SetCompare1(TIM1,Puls1);
   TIM_SetCompare3(TIM1,Puls3);

}
這種方法不正確。如果占空比太小就沒死區(qū)了
回復(fù)

使用道具 舉報

6#
ID:284571 發(fā)表于 2022-4-10 13:51 | 只看該作者
本帖最后由 WCM1998 于 2022-4-11 08:08 編輯

大們指教一下。。。
回復(fù)

使用道具 舉報

7#
ID:684084 發(fā)表于 2022-4-11 13:34 | 只看該作者
51單片機(jī)麻煩一點(diǎn),STM之類的PWM有死區(qū)設(shè)置的
回復(fù)

使用道具 舉報

8#
ID:382454 發(fā)表于 2022-4-11 21:51 | 只看該作者
定時器不好搞吧,現(xiàn)在用STC8系列有PWM模塊啊。這個才是專業(yè)的。
回復(fù)

使用道具 舉報

9#
ID:284571 發(fā)表于 2022-4-12 08:53 來自手機(jī) | 只看該作者
Ecole 發(fā)表于 2022-4-11 13:34
51單片機(jī)麻煩一點(diǎn),STM之類的PWM有死區(qū)設(shè)置的

stm有互補(bǔ)帶死區(qū)的pwm、但是現(xiàn)在很多都用一通道和另一個通道互補(bǔ)也不知道有什么好處、這樣配置也是在別人的硬件上抄下的、
回復(fù)

使用道具 舉報

10#
ID:123289 發(fā)表于 2022-4-12 10:55 | 只看該作者
先讀通芯片手冊。
如果是自己用定時器做的(不用PWM模塊),就規(guī)定一個最小脈沖寬值。
回復(fù)

使用道具 舉報

11#
ID:284571 發(fā)表于 2022-4-12 15:25 | 只看該作者
是定時器PWM模塊,我以配好互補(bǔ)。但沒有配出死區(qū)。所以請教。。程序在5樓
回復(fù)

使用道具 舉報

12#
ID:61883 發(fā)表于 2022-4-12 17:51 | 只看該作者
兩種辦法,一種是使用定時器GPIO模擬;另一種是使用支持死區(qū)輸出的單片機(jī)。
回復(fù)

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

手機(jī)版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: 久久久精品综合 | 国产欧美一区二区三区免费 | 97精品超碰一区二区三区 | 国产精彩视频一区 | 草草网 | 久久久久久久久久毛片 | 欧美成人在线免费 | 中文字幕二区 | 国产日韩一区二区三免费 | 视频一区在线 | 亚洲在线高清 | 精品久久久久久 | 亚洲第1页 | 成人在线免费观看 | 欧美精品网站 | 日本一区二区影视 | 欧美欧美欧美 | 国产成人精品一区二区三区在线 | 中文字幕一区在线观看视频 | 中文字幕在线一区 | 羞羞色影院 | 亚洲第一在线 | 国产在线中文 | 高清久久| 亚洲免费视频一区 | 国产成人精品一区二区三区网站观看 | 国产福利视频在线观看 | 欧美情趣视频 | 久久国产精品网 | 日韩高清国产一区在线 | 最新av在线网址 | 久久国产精品72免费观看 | 人人看人人搞 | 久久综合九色综合欧美狠狠 | 国产91观看| 91免费在线看 | 91精品国产91久久久久久 | 国产中文字幕av | 亚洲精品2 | 亚洲国产成人精品在线 | 日本午夜免费福利视频 |