当前位置: 首页 > news >正文

校园二手信息网站建设网上交易平台

校园二手信息网站建设,网上交易平台,wordpress什么编辑器好用吗,网站新闻收录问题一、硬件设计 1.直流减速电机   直流减速电机#xff0c;即齿轮减速电机#xff0c;是在普通直流电机的基础上#xff0c;加上配套齿轮减速箱。齿轮减速箱的作用是#xff0c;提供较低的转速#xff0c;较大的力矩。  简单的来说#xff0c;STM32分配两个IO口给一个…一、硬件设计 1.直流减速电机   直流减速电机即齿轮减速电机是在普通直流电机的基础上加上配套齿轮减速箱。齿轮减速箱的作用是提供较低的转速较大的力矩。  简单的来说STM32分配两个IO口给一个直流减速电机并给予高低电平来使得电机进行正转或反转。 我用的电机为GM25-370直流减速电机带霍尔编码器工作电压6-24VDC额定电压12V额定电流0.65A空载转速350RPM额定功率5W最大精度1496CPR配备 CPR霍尔AB两相编码器减速后输出单圈374个正交脉冲。 2.TB6612FNG电机驱动芯片 要实现小车的转向与前进后退控制我们可以使用STM32实现但是STM32的IO口带负载能力较弱而直流电机是大电流感性负载所以我们需要功率放大器件在这里我选择使用TB6612FNG这款电机驱动芯片。   TB6612FNG 是东芝半导体公司生产的一款直流电机驱动器件它具有大电流MOSFET-H 桥结构双通道电路输出可同时驱动 2 个电机。相比于 L298N的热耗性和外围二极管续流电路TB6612FNG无需外加散热片外围电路简单只需外接电源滤波电容就可以直接驱动电机利于减小系统尺寸。对于PWM信号输入频率范围我采用10KHz的频率并通过改变占空比调节电机的速度。 平衡小车中使用到的引脚  电机1——PB12/PB13   电机2——PB14/PB15   PWM1——PA8   PWM2——PA11 3.H桥驱动电路 上面说到TB6612FNG 具有大电流MOSFET-H桥结构那么很多小伙伴想问什么是H桥结构呢我以下面两张图举例帮助大家简单化理解H桥电路结构。 注图中的电路Q1,Q2,Q3,Q4为三极管而TB6612内部集成的是四个MOSFET我以下图举例大家不可把下图看做是TB6612内部电路其内部电路可查看TB6612的参考手册。   ① 当Q1,Q4导通Q2,Q3关断时电流从Q1,从电机正极通过电机负极再从Q4流出完成一条回路电机Motor正转。 ① 当Q2,Q3导通Q1,Q4关断时电流从Q3,从电机负极通过电机正极再从Q2流出完成一条回路电机Motor反转。 二、软件编程 1.电机驱动函数——motor.c1电机GPIO初始化函数  入口参数无 初始化GPIO–PB12、PB13、PB14、PB15为推挽输出 void Motor_Init(void) {GPIO_InitTypeDef GPIO_InitStruct;RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB,ENABLE);// 开启时钟GPIO_InitStruct.GPIO_ModeGPIO_Mode_Out_PP;// 初始化GPIO--PB12、PB13、PB14、PB15为推挽输出GPIO_InitStruct.GPIO_PinGPIO_Pin_12 | GPIO_Pin_13 | GPIO_Pin_14 | GPIO_Pin_15;GPIO_InitStruct.GPIO_SpeedGPIO_Speed_50MHz;GPIO_Init(GPIOB,GPIO_InitStruct); }2限幅函数  入口参数电机A脉冲个数电机B脉冲个数 限制电机的脉冲个数在规定范围内有个最值即自动重装载值我设置的是PWM_MAX 7200PWM_MIN -7200 void Limit(int *motoA,int *motoB) {if(*motoAPWM_MAX)*motoAPWM_MAX;if(*motoAPWM_MIN)*motoAPWM_MIN;if(*motoBPWM_MAX)*motoBPWM_MAX;if(*motoBPWM_MIN)*motoBPWM_MIN; }3绝对值函数非常通用建议保存!!  入口参数常规变量 通过与0比较大于0则返回不变的值小于0则返回相反的值。 int abs(int p) {int q;qp0?p:(-p);return q; }4赋值函数  入口参数电机A脉冲个数电机B脉冲个数 入口参数即为PID运算完成后的最终PWM值后续会讲解PID算法的实现 void Load(int moto1,int moto2) {//1.研究正负号对应正反转if(moto10) Ain11,Ain20;//正转else Ain10,Ain21;//反转//2.研究PWM值TIM_SetCompare1(TIM1,abs(moto1));//1.研究正负号对应正反转if(moto20)Bin11,Bin20;else Bin10,Bin21; //2.研究PWM值TIM_SetCompare4(TIM1,abs(moto2)); }2.电机驱动函数头文件——motor.h #ifndef _MOTOR_H #define _MOTOR_H#include sys.h #define Ain1 PBout(14) #define Ain2 PBout(15)#define Bin1 PBout(13) #define Bin2 PBout(12)void Motor_Init(void); void Limit(int *motoA,int *motoB); int abs(int p); void Load(int moto1,int moto2); #endif3.PWM函数——pwm.c 1. 定时器初始化函数  入口参数预分频值自动重装载值 PA8,PA11复用推挽输出对应定时器1通道1和通道4开启MOE主输出使能高级定时器特有!!! void PWM_Init_TIM1(u16 Psc,u16 Per) {GPIO_InitTypeDef GPIO_InitStruct;TIM_TimeBaseInitTypeDef TIM_TimeBaseInitStruct;TIM_OCInitTypeDef TIM_OCInitStruct;RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA | RCC_APB2Periph_TIM1 | RCC_APB2Periph_AFIO,ENABLE);//开启时钟GPIO_InitStruct.GPIO_ModeGPIO_Mode_AF_PP; // 初始化GPIO--PA8、PA11为复用推挽输出GPIO_InitStruct.GPIO_PinGPIO_Pin_8 | GPIO_Pin_11;GPIO_InitStruct.GPIO_SpeedGPIO_Speed_50MHz;GPIO_Init(GPIOA,GPIO_InitStruct);TIM_TimeBaseStructInit(TIM_TimeBaseInitStruct); // 初始化定时器。TIM_TimeBaseInitStruct.TIM_ClockDivisionTIM_CKD_DIV1;TIM_TimeBaseInitStruct.TIM_CounterModeTIM_CounterMode_Up;TIM_TimeBaseInitStruct.TIM_PeriodPer;TIM_TimeBaseInitStruct.TIM_PrescalerPsc;TIM_TimeBaseInit(TIM1,TIM_TimeBaseInitStruct); // TIM1TIM_OCInitStruct.TIM_OCModeTIM_OCMode_PWM1; // 初始化输出比较TIM_OCInitStruct.TIM_OCPolarityTIM_OCPolarity_High;TIM_OCInitStruct.TIM_OutputStateTIM_OutputState_Enable;TIM_OCInitStruct.TIM_Pulse0;TIM_OC1Init(TIM1,TIM_OCInitStruct);TIM_OC4Init(TIM1,TIM_OCInitStruct);TIM_CtrlPWMOutputs(TIM1,ENABLE);// 高级定时器专属!!!--MOE主输出使能TIM_OC1PreloadConfig(TIM1,TIM_OCPreload_Enable);// OC1预装载寄存器使能TIM_OC4PreloadConfig(TIM1,TIM_OCPreload_Enable);// OC4预装载寄存器使能TIM_ARRPreloadConfig(TIM1,ENABLE);// TIM1在ARR上预装载寄存器使能TIM_Cmd(TIM1,ENABLE); // 开定时器。 }4.PWM函数头文件——pwm.h #ifndef _PWM_H #define _PWM_H#include sys.h void PWM_Init_TIM1(u16 Psc,u16 Per); #endif 以上就是平衡小车系列文章第二讲——电机驱动包括硬件结构讲解和STM32软件编程的讲解文章中出现错误或者小伙伴对以上内容有所疑问欢迎大家在评论区留言小政看到后会尽快回复大家
http://www.dnsts.com.cn/news/209450.html

相关文章:

  • 国内炫酷网站设计安徽省建设干部网站
  • iframe 网站前台模板wordpress linux
  • 网站项目根据什么开发企业宽带解决方案
  • 贵州省建设项目验收备案网站鞍山市网站建设
  • 门户网站的建设与维护奇信建设集团官方网站
  • 站群软件哪个好国际新闻最新消息十条
  • 遵义市住房和城乡建设局官方网站6世界企业排名500强
  • flash网站的制作服装品牌网站建设
  • 国内做的比较好的数据网站企业做英文网站
  • 东莞市视频直播网站开发网站建设的公司业务
  • 网站开发需要什么开发工具php网站开发前景
  • 福田蒙派克e质量怎么样凡科做的网站可以优化
  • 网站未来发展规划怎么制作公司网页教程
  • 如何建网站服务器做网站宁波大点的网络公司
  • 做网站找哪个平台好网站是如何盈利的
  • 巢湖市建设工程网站网店营销与推广策划方案
  • 临漳seo整站排名网站改版模版
  • js网站开发教程wordpress的d8主题
  • 自己做网站需要买什么企业网站建设费用账务处理
  • 西宁市建设局官方网站渠道合作平台
  • 网站设计需要哪些成品网站1688入口的功能介绍
  • 手机网站快速建设网站建设流
  • 舵落口网站建设网站集约化建设讲话
  • 建材网站建设 南宁宣传广告制作效果图
  • 免费系统小说大全乐清手机网站优化推广
  • 东台建设企业网站徐州 网站 备案 哪个公司做的好
  • 网站底部关键词内链莱芜网络推广公司
  • 怎么使用电脑是做网站虚拟货币做空网站
  • 网站更新服务公司网站 栏目添加 文章不显示
  • 网站建设优化合同小程序搭建的方式