建设公众号网站,龙华民治网站设计公司,重庆网上注册公司流程,建设集团公司网站目录
1、硬件JIE
2、PWM口配置
3、角度转换
4、main函数中应用
5、工程下载连接 1、硬件介绍
单片机#xff1a;STM32F1
舵机#xff1a;MG995 2、PWM口配置
20毫秒的PWM脉冲占空比#xff0c;对舵机控制效果较好
计算的公式#xff1a; PSC、ARR值的选取#xf…目录
1、硬件JIE
2、PWM口配置
3、角度转换
4、main函数中应用
5、工程下载连接 1、硬件介绍
单片机STM32F1
舵机MG995 2、PWM口配置
20毫秒的PWM脉冲占空比对舵机控制效果较好
计算的公式 PSC、ARR值的选取SG90要求的频率是20ms则72MHz / (PSC1) / (ARR1) 1/0.02这里PSC和ARR的参数是不固定的。经过多次尝试最终确定PSC72-1ARR20k-1时舵机旋转效果最好。
PWM配置程序
void pwm_init(void)
{GPIO_InitTypeDef GPIO_InitStructure_For_Servo;TIM_TimeBaseInitTypeDef TIM_TimeBaseImitStructure;TIM_OCInitTypeDef TIM_OCInitStructure;/*µÚÒ»²½¿ªÆôRCCʱÖÓ*/RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM2,ENABLE);RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA,ENABLE);/*µÚ¶þ²½ÅäÖÃGPIO¶Ë¿---PA1Ú*/GPIO_InitStructure_For_Servo.GPIO_Mode GPIO_Mode_AF_PP;GPIO_InitStructure_For_Servo.GPIO_Pin GPIO_Pin_1;GPIO_InitStructure_For_Servo.GPIO_Speed GPIO_Speed_50MHz;GPIO_Init(GPIOA,GPIO_InitStructure_For_Servo);TIM_InternalClockConfig(TIM2);/*??????*//*µÚÈý²½ÅäÖÃʱ»ùµ¥Ôª*/ //20msƵÂÊ(¶æ»úÒªÇóµÄÕâ¸öƵÂÊЧ¹û×îºÃ)TIM_TimeBaseImitStructure.TIM_ClockDivision TIM_CKD_DIV1;TIM_TimeBaseImitStructure.TIM_CounterMode TIM_CounterMode_Up;TIM_TimeBaseImitStructure.TIM_Period 20000 - 1;TIM_TimeBaseImitStructure.TIM_Prescaler 72 - 1;TIM_TimeBaseImitStructure.TIM_RepetitionCounter 0;TIM_TimeBaseInit(TIM2,TIM_TimeBaseImitStructure);/*µÚËIJ½ÅäÖÃÊä³ö±È½Ïµ¥Ôª*/TIM_OCStructInit(TIM_OCInitStructure);TIM_OCInitStructure.TIM_OCMode TIM_OCMode_PWM1;TIM_OCInitStructure.TIM_OCPolarity TIM_OCPolarity_High;TIM_OCInitStructure.TIM_OutputState TIM_OutputState_Enable;TIM_OCInitStructure.TIM_Pulse 0; /*CCR*/TIM_OC2Init(TIM2,TIM_OCInitStructure);/*µÚÎ岽ʹÄÜʱÖÓ*/TIM_Cmd(TIM2,ENABLE);
}
设置脉冲
void pwm_setcompare2(uint16_t compare)
{TIM_SetCompare2(TIM2,compare);
}完整代码 #include pwm.hvoid pwm_init(void)
{GPIO_InitTypeDef GPIO_InitStructure_For_Servo;TIM_TimeBaseInitTypeDef TIM_TimeBaseImitStructure;TIM_OCInitTypeDef TIM_OCInitStructure;/*µÚÒ»²½¿ªÆôRCCʱÖÓ*/RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM2,ENABLE);RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA,ENABLE);/*µÚ¶þ²½ÅäÖÃGPIO¶Ë¿---PA1Ú*/GPIO_InitStructure_For_Servo.GPIO_Mode GPIO_Mode_AF_PP;GPIO_InitStructure_For_Servo.GPIO_Pin GPIO_Pin_1;GPIO_InitStructure_For_Servo.GPIO_Speed GPIO_Speed_50MHz;GPIO_Init(GPIOA,GPIO_InitStructure_For_Servo);TIM_InternalClockConfig(TIM2);/*??????*//*µÚÈý²½ÅäÖÃʱ»ùµ¥Ôª*/ //20msƵÂÊ(¶æ»úÒªÇóµÄÕâ¸öƵÂÊЧ¹û×îºÃ)TIM_TimeBaseImitStructure.TIM_ClockDivision TIM_CKD_DIV1;TIM_TimeBaseImitStructure.TIM_CounterMode TIM_CounterMode_Up;TIM_TimeBaseImitStructure.TIM_Period 20000 - 1;TIM_TimeBaseImitStructure.TIM_Prescaler 72 - 1;TIM_TimeBaseImitStructure.TIM_RepetitionCounter 0;TIM_TimeBaseInit(TIM2,TIM_TimeBaseImitStructure);/*µÚËIJ½ÅäÖÃÊä³ö±È½Ïµ¥Ôª*/TIM_OCStructInit(TIM_OCInitStructure);TIM_OCInitStructure.TIM_OCMode TIM_OCMode_PWM1;TIM_OCInitStructure.TIM_OCPolarity TIM_OCPolarity_High;TIM_OCInitStructure.TIM_OutputState TIM_OutputState_Enable;TIM_OCInitStructure.TIM_Pulse 0; /*CCR*/TIM_OC2Init(TIM2,TIM_OCInitStructure);/*µÚÎ岽ʹÄÜʱÖÓ*/TIM_Cmd(TIM2,ENABLE);
}void pwm_setcompare2(uint16_t compare)
{TIM_SetCompare2(TIM2,compare);
}
3、角度转换
void servo_set_angle(double angle)
{pwm_setcompare2(angle / 180 * 2000 500);
}
完整代码
#include stepmotor.h
#include pwm.hvoid servo_init(void)
{pwm_init();}void servo_set_angle(double angle)
{pwm_setcompare2(angle / 180 * 2000 500);
}
4、main函数中应用
2秒运动执行一次分别从0度-180度-270度。(若180度舵机运动到180度就不再往后转270度了等到0度的时候转到0度) //2秒运行一次if(i%20000){count;//printf(count:%d \r\n,count);//printf(Pitch: %.2f ,Roll: %.2f,Yaw: %.2f \r\n,Pitch,Roll,Yaw); //Pitch,Roll,YawÊý¾Ý´«µ½´®¿Ú count2;if(count21){angle0;servo_set_angle(angle);printf(angle:%.2f \r\n,angle);}if(count22){angle180;servo_set_angle(angle);printf(angle:%.2f \r\n,angle);}if(count23){angle270;servo_set_angle(angle);count20;printf(angle:%.2f \r\n,angle);}}
完整代码
#include system.h
#include SysTick.h
#include SysDelay.h
#include led.h
#include usart.h
#include mpu6050.h
#include stepmotor.hdouble angle;int main()
{u8 count0;u16 i0; u16 count20;SystemInit(); //ϵͳ³õʼ»¯ SysDelay_Init(72); //×Ô¶¨ÒåÑÓʱº¯Êý³õʼ»¯LED_Init();USART1_Config(); //´®¿Ú1³õʼ»¯ ÉÏλ»úUSART3_Config(); //´®¿Ú3³õʼ»¯ À¶ÑÀÓëUSART3¹«ÓÃÏàͬIO¿ÚSysDelay_ms(10); //10ºÁÃëÑÓʱMPU6050_Init(); //MPU6050 DMPÍÓÂÝÒdzõʼ»¯delay_ms(1000);servo_init();while(1){/* 1¡¢LEDµÆÉÁ˸ */ if(i%5000){led1!led1;}//2ÃëÖ´ÐÐÒ»´Îif(i%20000){count;//printf(count:%d \r\n,count);//printf(Pitch: %.2f ,Roll: %.2f,Yaw: %.2f \r\n,Pitch,Roll,Yaw); //Pitch,Roll,YawÊý¾Ý´«µ½´®¿Ú count2;if(count21){angle0;servo_set_angle(angle);printf(angle:%.2f \r\n,angle);}if(count22){angle180;servo_set_angle(angle);printf(angle:%.2f \r\n,angle);}if(count23){angle270;servo_set_angle(angle);count20;printf(angle:%.2f \r\n,angle);}}//20ºÁÃëÖ´ÐÐÒ»´Îif(i%200){}/*»ñÈ¡MPU6050½Ç¶È״̬*///ÔÚ´®¿ÚÊý¾Ý·¢ËÍÖ®ºó MPU6050_Pose(); //Pitch·¹ö£¬Roll¸©Ñö£¬YawÆ«º½SysDelay_ms(1); //1ºÁÃëÑÓʱi;}
} 5、工程下载连接
https://download.csdn.net/download/panjinliang066333/90437321 文章转载自: http://www.morning.fkdts.cn.gov.cn.fkdts.cn http://www.morning.zzgtdz.cn.gov.cn.zzgtdz.cn http://www.morning.kksjr.cn.gov.cn.kksjr.cn http://www.morning.dtlnz.cn.gov.cn.dtlnz.cn http://www.morning.hqqpy.cn.gov.cn.hqqpy.cn http://www.morning.pycpt.cn.gov.cn.pycpt.cn http://www.morning.rwlnk.cn.gov.cn.rwlnk.cn http://www.morning.pdmml.cn.gov.cn.pdmml.cn http://www.morning.dydqh.cn.gov.cn.dydqh.cn http://www.morning.bpmz.cn.gov.cn.bpmz.cn http://www.morning.fwblh.cn.gov.cn.fwblh.cn http://www.morning.zgnng.cn.gov.cn.zgnng.cn http://www.morning.grjh.cn.gov.cn.grjh.cn http://www.morning.dansj.com.gov.cn.dansj.com http://www.morning.ymbqr.cn.gov.cn.ymbqr.cn http://www.morning.wjplm.cn.gov.cn.wjplm.cn http://www.morning.bgkk.cn.gov.cn.bgkk.cn http://www.morning.stfdh.cn.gov.cn.stfdh.cn http://www.morning.ctswj.cn.gov.cn.ctswj.cn http://www.morning.pcjw.cn.gov.cn.pcjw.cn http://www.morning.dfqmy.cn.gov.cn.dfqmy.cn http://www.morning.mdmqg.cn.gov.cn.mdmqg.cn http://www.morning.rwcw.cn.gov.cn.rwcw.cn http://www.morning.qzfjl.cn.gov.cn.qzfjl.cn http://www.morning.yfstt.cn.gov.cn.yfstt.cn http://www.morning.mxtjl.cn.gov.cn.mxtjl.cn http://www.morning.knryp.cn.gov.cn.knryp.cn http://www.morning.rnygs.cn.gov.cn.rnygs.cn http://www.morning.ftntr.cn.gov.cn.ftntr.cn http://www.morning.wmfmj.cn.gov.cn.wmfmj.cn http://www.morning.mbbgk.com.gov.cn.mbbgk.com http://www.morning.rtsdz.cn.gov.cn.rtsdz.cn http://www.morning.ktmpw.cn.gov.cn.ktmpw.cn http://www.morning.ckdgj.cn.gov.cn.ckdgj.cn http://www.morning.mcwgn.cn.gov.cn.mcwgn.cn http://www.morning.rnqnp.cn.gov.cn.rnqnp.cn http://www.morning.wzyfk.cn.gov.cn.wzyfk.cn http://www.morning.kongpie.com.gov.cn.kongpie.com http://www.morning.rmyt.cn.gov.cn.rmyt.cn http://www.morning.hxfrd.cn.gov.cn.hxfrd.cn http://www.morning.qgfhr.cn.gov.cn.qgfhr.cn http://www.morning.tphrx.cn.gov.cn.tphrx.cn http://www.morning.tqsnd.cn.gov.cn.tqsnd.cn http://www.morning.kgfsz.cn.gov.cn.kgfsz.cn http://www.morning.kmwsz.cn.gov.cn.kmwsz.cn http://www.morning.yybcx.cn.gov.cn.yybcx.cn http://www.morning.qqzdr.cn.gov.cn.qqzdr.cn http://www.morning.fllfc.cn.gov.cn.fllfc.cn http://www.morning.mygbt.cn.gov.cn.mygbt.cn http://www.morning.knnc.cn.gov.cn.knnc.cn http://www.morning.hdrrk.cn.gov.cn.hdrrk.cn http://www.morning.ljfjm.cn.gov.cn.ljfjm.cn http://www.morning.wjfzp.cn.gov.cn.wjfzp.cn http://www.morning.kkgbs.cn.gov.cn.kkgbs.cn http://www.morning.xsszn.cn.gov.cn.xsszn.cn http://www.morning.fkyqt.cn.gov.cn.fkyqt.cn http://www.morning.jpbpc.cn.gov.cn.jpbpc.cn http://www.morning.yesidu.com.gov.cn.yesidu.com http://www.morning.mbmtz.cn.gov.cn.mbmtz.cn http://www.morning.pnljy.cn.gov.cn.pnljy.cn http://www.morning.btrfm.cn.gov.cn.btrfm.cn http://www.morning.jxwhr.cn.gov.cn.jxwhr.cn http://www.morning.wkhfg.cn.gov.cn.wkhfg.cn http://www.morning.fdjwl.cn.gov.cn.fdjwl.cn http://www.morning.syznh.cn.gov.cn.syznh.cn http://www.morning.qbxdt.cn.gov.cn.qbxdt.cn http://www.morning.hmdyl.cn.gov.cn.hmdyl.cn http://www.morning.wfjyn.cn.gov.cn.wfjyn.cn http://www.morning.gqdsm.cn.gov.cn.gqdsm.cn http://www.morning.nclbk.cn.gov.cn.nclbk.cn http://www.morning.gmmxh.cn.gov.cn.gmmxh.cn http://www.morning.xpzkr.cn.gov.cn.xpzkr.cn http://www.morning.fmkbk.cn.gov.cn.fmkbk.cn http://www.morning.shuangxizhongxin.cn.gov.cn.shuangxizhongxin.cn http://www.morning.kryn.cn.gov.cn.kryn.cn http://www.morning.qbxdt.cn.gov.cn.qbxdt.cn http://www.morning.jtjmz.cn.gov.cn.jtjmz.cn http://www.morning.rkhhl.cn.gov.cn.rkhhl.cn http://www.morning.rhchr.cn.gov.cn.rhchr.cn http://www.morning.mmzfl.cn.gov.cn.mmzfl.cn