成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

項目六:定時器一產(chǎn)生PWM控制舵機(jī)

kelvinlee / 948人閱讀

摘要:本次實驗的采用的舵機(jī)是度伺服,控制關(guān)系如下二舵機(jī)電路圖三高級定時器產(chǎn)生波相比普通定時器初始化中需要多加兩句重復(fù)計數(shù)器的值主輸出使能四代碼電機(jī)初始化延遲初始化電機(jī)管腳初始化尋跡管腳初始化。

一、舵機(jī)工作原理

? ? 控制信號由接收機(jī)的通道進(jìn)入信號調(diào)制芯片,獲得直流的偏置電壓。它內(nèi)部有一個基準(zhǔn)電路,產(chǎn)生周期為20ms,寬度為1.5ms的基準(zhǔn)信號,將獲得的直流偏置電壓與電位器的電壓比較,獲得電壓差輸出。最后電壓差的正負(fù)輸出到電機(jī)驅(qū)動芯片決定電機(jī)的正反轉(zhuǎn)。當(dāng)電機(jī)轉(zhuǎn)速一定時,通過級聯(lián)減速此輪帶動電位器旋轉(zhuǎn),使得電壓差為0,電機(jī)停止轉(zhuǎn)動。 舵機(jī)的控制:一般需要一個20ms左右的時基脈沖,該脈沖的高電平部分一般為0.5ms-2.5ms范圍內(nèi)的角度控制脈沖部分。本次實驗的采用的舵機(jī)是180度伺服,控制關(guān)系如下:

?二、舵機(jī)電路圖

三、高級定時器產(chǎn)生PWM波

相比普通定時器1初始化中需要多加兩句:

//重復(fù)計數(shù)器的值TIM_TimeBaseInitStruct.TIM_RepetitionCounter=0;//主輸出使能 TIM_CtrlPWMOutputs(TIM1, ENABLE);

四、代碼

main.c

#include "motor.h"#include #include "delay.h"#include "stm32f10x.h"#include "followline.h"#include "ultrasonic.h"#include "steeringengine.h"u8 UART3_data,UART1_data;u8 UART3_rcv[20],UART3_rcv_count;u8 UART1_rcv[50],UART1_rcv_count,Uart1_finish;int main(void){//      motor_pwm_TIME4_init(71,999);//電機(jī)PWM初始化        delay_init();//延遲初始化//      motor_GPIO_init();//電機(jī)管腳初始化、尋跡管腳初始化。//        uart_init1(9600);//	    hwbz_gpio_init();	      steer_gpio_init();        steering_pwm_TIME1_init(7199,199);	//int right_2=0,right_1=0 ,left_2=0,left_1=0;		while(1)	{			       TIM_SetCompare4(TIM1,jd45);       delay_ms(800);		   TIM_SetCompare4(TIM1,jd90);       delay_ms(800);       TIM_SetCompare4(TIM1,jd180);       delay_ms(800);			}}  

steeringengine.c?

#include "steeringengine.h"void  steer_gpio_init(void ){		GPIO_InitTypeDef GPIO_InitStruct;		RCC_APB2PeriphClockCmd(RCC_APB2Periph_AFIO, ENABLE);//	RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA, ENABLE);		GPIO_InitStruct.GPIO_Mode = GPIO_Mode_AF_PP;	GPIO_InitStruct.GPIO_Pin = GPIO_Pin_11;	GPIO_InitStruct.GPIO_Speed = GPIO_Speed_50MHz;		GPIO_Init(GPIOA, &GPIO_InitStruct);}void steering_pwm_TIME1_init(int presc,int arr){	 //定義定時器的結(jié)構(gòu)體	 TIM_TimeBaseInitTypeDef TIM_TimeBaseInitStruct;	 //定義定時器PWM輸出通道的結(jié)構(gòu)體	 TIM_OCInitTypeDef TIM_OCInitStruct;	 //打開TIME1的時鐘	 RCC_APB2PeriphClockCmd(RCC_APB2Periph_TIM1, ENABLE);	 //配置TIME1結(jié)構(gòu)體的參數(shù)	 TIM_TimeBaseInitStruct.TIM_ClockDivision = TIM_CKD_DIV1 ;	 TIM_TimeBaseInitStruct.TIM_CounterMode = TIM_CounterMode_Up;	 TIM_TimeBaseInitStruct.TIM_Prescaler = presc;	 TIM_TimeBaseInitStruct.TIM_Period =arr;		//重復(fù)計數(shù)器的值   TIM_TimeBaseInitStruct.TIM_RepetitionCounter=0; 	 TIM_TimeBaseInit(TIM1, &TIM_TimeBaseInitStruct);		 //配置TIME1通道結(jié)構(gòu)體的參數(shù)	 TIM_OCInitStruct.TIM_OCMode = TIM_OCMode_PWM1;	 TIM_OCInitStruct.TIM_OCPolarity = TIM_OCPolarity_High;	 TIM_OCInitStruct.TIM_OutputState =TIM_OutputState_Enable ;	 TIM_OCInitStruct.TIM_Pulse =0;	 	  //TIME4通道4初始化   TIM_OC4Init(TIM1, &TIM_OCInitStruct);	 	 //使能TIME4通道1的預(yù)存寄存器	 TIM_OC4PreloadConfig(TIM1, TIM_OCPreload_Enable);	 // 主輸出使能,當(dāng)使用的是通用定時器時,這句不需要   TIM_CtrlPWMOutputs(TIM1, ENABLE);	 //	 TIM_ARRPreloadConfig(TIM1, ENABLE);   //使能TIME4	 TIM_Cmd(TIM1, ENABLE);  }

steeringengine.h

#ifndef __STEERINGENGINE_H__#define __STEERINGENGINE_H__#include "stm32f10x_gpio.h"#include "stm32f10x_tim.h"#include "stm32f10x_rcc.h"#define jd0   5#define jd45  10#define jd90  15#define jd135 20#define jd180 25void  steer_gpio_init(void );void steering_pwm_TIME1_init(int presc,int arr);#endif

?

文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/119359.html

相關(guān)文章

  • 10. STM32——PWM 控制舵機(jī)(超聲波感應(yīng)開蓋垃圾桶)

    摘要:中央對齊模式向上計數(shù)時當(dāng)時通道為無效電平,否則為有效電平向下計數(shù)時一旦通道為有效電平,否則為無效電平。一般來說,舵機(jī)接收的信號頻率為,即周期為。 STM32——P...

    jasperyang 評論0 收藏0
  • STM32CubeMX筆記(9)--時器生成PWM特定波形,控制舵機(jī)轉(zhuǎn)動

    摘要:只能在度到度之間運動,超過范圍,舵機(jī)輕則齒輪打壞,重則燒壞內(nèi)部電路舵機(jī)能度轉(zhuǎn)動能控制轉(zhuǎn)速。相關(guān)定時器的參數(shù)設(shè)置定時器為例編寫相關(guān)的函數(shù)文件相關(guān)函數(shù)開啟添加定時器的通道和通道的生成開啟使能函數(shù),放置于到中的用戶代碼區(qū)。 ...

    darryrzhong 評論0 收藏0
  • 樹莓派視覺小車 -- 小球追蹤(顏色追蹤)(OpenCV色彩空間HSV)

    摘要:一般調(diào)高飽和度會降低中相對較低的數(shù)值,凸顯主要顏色的純度。對當(dāng)前唯一的方法霍夫梯度法,它表示在檢測階段圓心的累加器閾值。第八個參數(shù),類型的有默認(rèn)值,表示圓半徑的最小值。 目錄 效果展示? 基礎(chǔ)理論(HSV) 為什么用HSV空間而不是RGB空間? HSV 1、Hue(色相) 2、Value(明...

    developerworks 評論0 收藏0
  • 四足機(jī)器人——舵機(jī)控制

    摘要:延時函數(shù)初始化定時器初始化對應(yīng)度對應(yīng)度對應(yīng)度對應(yīng)度對應(yīng)度驅(qū)動模塊驅(qū)動程序主函數(shù)延時函數(shù)初始化初始化舵機(jī)驅(qū)動 目錄 1、51定時器控制單個舵機(jī) 2、51定時器控制多路舵機(jī) 3、stm32控制舵機(jī) 4、pca9685驅(qū)動模塊 1、51定時器控制單個舵機(jī) 舵機(jī)的控制一般需要一個20ms左右的時基脈...

    cnTomato 評論0 收藏0
  • 項目三:利用PWM波和GPIO控制電機(jī)

    摘要:較高時,電機(jī)運行連續(xù)平穩(wěn)噪音小,但器件功耗會隨頻率升高而增大較低時,利于降低功耗,并能提高調(diào)速線性度,但過低的頻率可能導(dǎo)致電機(jī)轉(zhuǎn)動連貫性的降低。通常時,器件能夠穩(wěn)定的控制電機(jī)。 一、驅(qū)動芯片介紹 TB6612?的的用法: ? ? ?TB6612?是雙驅(qū)動,也就是可以驅(qū)動兩個電機(jī)下面分別是控制...

    taowen 評論0 收藏0

發(fā)表評論

0條評論

最新活動
閱讀需要支付1元查看
<