国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

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

kelvinlee / 936人閱讀

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

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

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

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

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

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

//重復(fù)計(jì)數(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){	 //定義定時(shí)器的結(jié)構(gòu)體	 TIM_TimeBaseInitTypeDef TIM_TimeBaseInitStruct;	 //定義定時(shí)器PWM輸出通道的結(jié)構(gòu)體	 TIM_OCInitTypeDef TIM_OCInitStruct;	 //打開(kāi)TIME1的時(shí)鐘	 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ù)計(jì)數(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)使用的是通用定時(shí)器時(shí),這句不需要   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)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://specialneedsforspecialkids.com/yun/119359.html

相關(guān)文章

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

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

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

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

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

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

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

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

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

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

    taowen 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<