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

 找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開始

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

stm32F407控制舵機(jī)源程序+示意圖

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
正點(diǎn)原子stm32f407開發(fā)板

對(duì)于一般的舵機(jī)來說,所對(duì)應(yīng)的PWM波的周期為**200ms**,即舵機(jī)接收的PWM信號(hào)頻率為**50HZ**。
其空占比與轉(zhuǎn)動(dòng)角度的關(guān)系。普通舵機(jī)的舵量是0~180°。**脈沖寬度范圍 0.5ms ~ 2.5ms**

        0.5ms/200ms = 0 度
        
        1.0ms/200ms = 45 度
        
        1.5ms/200ms = 90 度
        
        2.0ms/200ms = 135 度
        
        2.5ms/200ms = 180 度本文代碼參考正點(diǎn)原子stm32f4 pwm輸出教程代碼而修改得來。

**修改的地方:**
使用了PA0復(fù)用定時(shí)器TIM2
**主函數(shù)**

int main(void)
{
        NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);//設(shè)置系統(tǒng)中斷優(yōu)先級(jí)分組2
        delay_init(168);  //初始化延時(shí)函數(shù)
         TIM2_PWM_Init(200-1,8400-1);        //84M/8400/200=50hz. 此處的200就是計(jì)數(shù)器的比較值 e.g.175/200*20ms=17.5ms    得脈沖寬度:20ms-17.5ms=2.5ms
   while(1)
        {
                 delay_ms(1000);         
                TIM_SetCompare1(TIM2,175);        //修改比較值,修改占空比對(duì)應(yīng)180度
               
                delay_ms(1000);         
                TIM_SetCompare1(TIM2,180);        //修改比較值,修改占空比對(duì)應(yīng)180度
               
                delay_ms(1000);         
                TIM_SetCompare1(TIM2,185);        //修改比較值,修改占空比對(duì)應(yīng)180度
               
                delay_ms(1000);         
                TIM_SetCompare1(TIM2,190);        //修改比較值,修改占空比對(duì)應(yīng)180度
                delay_ms(1000);         
                TIM_SetCompare1(TIM2,195);        //修改比較值,修改占空比對(duì)應(yīng)180度

        }
}


pwm.c文件

//TIM2 PWM部分初始化
//PWM輸出初始化
//arr:自動(dòng)重裝值
//psc:時(shí)鐘預(yù)分頻數(shù)
void TIM2_PWM_Init(u32 arr,u32 psc)
{
        GPIO_InitTypeDef GPIO_InitStructure;
        TIM_TimeBaseInitTypeDef  TIM_TimeBaseStructure;
        TIM_OCInitTypeDef  TIM_OCInitStructure;
        
        RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM2,ENABLE);          //TIM2時(shí)鐘使能  
        RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_GPIOA, ENABLE);         //使能PORTA時(shí)鐘
        
        GPIO_PinAFConfig(GPIOA,GPIO_PinSource0,GPIO_AF_TIM2); //GPIOA0復(fù)用為定時(shí)器2
        
        GPIO_InitStructure.GPIO_Pin = GPIO_Pin_0;           //GPIOA0
        GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF;        //復(fù)用
        GPIO_InitStructure.GPIO_Speed = GPIO_Speed_100MHz;        //速度100MHz
        GPIO_InitStructure.GPIO_OType = GPIO_OType_PP;      //推挽復(fù)用輸出
        GPIO_InitStructure.GPIO_PuPd = GPIO_PuPd_UP;        //上拉
        GPIO_Init(GPIOA,&GPIO_InitStructure);              //初始化PA0
         
        TIM_TimeBaseStructure.TIM_Prescaler=psc;  //定時(shí)器分頻
        TIM_TimeBaseStructure.TIM_CounterMode=TIM_CounterMode_Up; //向上計(jì)數(shù)模式
        TIM_TimeBaseStructure.TIM_Period=arr;   //自動(dòng)重裝載值
        TIM_TimeBaseStructure.TIM_ClockDivision=TIM_CKD_DIV1;
        
        TIM_TimeBaseInit(TIM2,&TIM_TimeBaseStructure);//初始化定時(shí)器2
        
        //初始化TIM2 Channel PWM模式
        TIM_OCInitStructure.TIM_OCMode = TIM_OCMode_PWM1; //選擇定時(shí)器模式:TIM脈沖寬度調(diào)制模式1
         TIM_OCInitStructure.TIM_OutputState = TIM_OutputState_Enable; //比較使能輸出
        TIM_OCInitStructure.TIM_OCPolarity = TIM_OCPolarity_Low; //輸出極性:TIM輸出比較極性低
        TIM_OCInitStructure.TIM_Pulse = 0;//比較初始值
        TIM_OC1Init(TIM2, &TIM_OCInitStructure);  //根據(jù)T指定的參數(shù)初始化外設(shè)TIM2 OC1

        TIM_OC1PreloadConfig(TIM2, TIM_OCPreload_Enable);  //使能TIM2在CCR1是的預(yù)裝載寄存器

    TIM_ARRPreloadConfig(TIM2,ENABLE);//ARPE使能
        
        TIM_Cmd(TIM2, ENABLE);  //使能TIM2                                                                                 
}  


**頭文件自己寫**

**完成!!!**

評(píng)分

參與人數(shù) 1黑幣 +50 收起 理由
admin + 50 共享資料的黑幣獎(jiǎng)勵(lì)!

查看全部評(píng)分

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏2 分享淘帖 頂 踩
回復(fù)

使用道具 舉報(bào)

沙發(fā)
ID:553941 發(fā)表于 2020-7-31 15:08 | 只看該作者
描述有點(diǎn)問題吧,舵機(jī)的信號(hào)周期是20ms
回復(fù)

使用道具 舉報(bào)

板凳
ID:418578 發(fā)表于 2020-10-5 13:11 | 只看該作者
13303022280 發(fā)表于 2020-7-31 15:08
描述有點(diǎn)問題吧,舵機(jī)的信號(hào)周期是20ms

“對(duì)應(yīng)的PWM波的周期為**200ms**”這里寫錯(cuò)了,我改下
回復(fù)

使用道具 舉報(bào)

地板
ID:808155 發(fā)表于 2020-10-11 18:12 | 只看該作者
真心不知道怎么看這代碼,對(duì)小白太不友好了
回復(fù)

使用道具 舉報(bào)

5#
ID:525089 發(fā)表于 2020-12-9 10:30 | 只看該作者
有參考價(jià)值
回復(fù)

使用道具 舉報(bào)

6#
ID:860278 發(fā)表于 2020-12-15 08:10 | 只看該作者
謝謝,希望以后能用上
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

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

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

快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: 岛国av一区二区三区 | 国产一级精品毛片 | 久草热在线 | 国产乱码精品一区二区三区忘忧草 | www视频在线观看 | 精品在线看 | 91久久精品一区二区二区 | 一区二区国产精品 | 婷婷色网| 国产成人精品一区二区三区网站观看 | 欧美一区二区另类 | 91精品国产综合久久久亚洲 | 一区二区三区日 | h视频在线免费 | 久久er精品 | 免费黄色成人 | 伊人天堂网 | 精品真实国产乱文在线 | 黄色大片在线免费观看 | 国产成人精品一区二区三 | 午夜电影网址 | 99re在线视频| 网站国产 | 亚洲永久精品国产 | 黄色网址在线播放 | 性天堂网 | 在线亚洲一区 | 国产一区中文 | 五月天天色 | 成年人的视频免费观看 | www.亚洲| 亚洲成人精品一区 | 在线免费观看黄色 | 亚洲精品自在在线观看 | 99综合| 一区亚洲 | 老头搡老女人毛片视频在线看 | 亚洲一区二区三区在线播放 | 男女视频在线观看免费 | 日韩中文一区 | 国产精品免费看 |