文章目录项目目标硬件搭建HAL初始化定时器PWM编码器定时器中断串口基础驱动获取速度获取角度电机控制PID速度环速度环设计速度环调参调试顺序P(比例)I(积分)总结位置环位置环设计位置环调参P调参成品项目目标实现电机最常使用的两个功能,转速控制和位置控制使用PID闭环控制(控制线性系统最简单快捷的控制方法)硬件搭建为了实现控制电机转动和闭环控制需要:电机(废话)编码器(霍尔编码器或者光电编码器均可)电机驱动(这里选的是l298n模块)千万注意黑色的地线,单片机的地要与12V的地(L298n的地)连接HAL初始化定时器PWM使用硬件PWM输出,定时器1,输出两路PWM分别代表PWM1和PWM2设
文章目录项目目标硬件搭建HAL初始化定时器PWM编码器定时器中断串口基础驱动获取速度获取角度电机控制PID速度环速度环设计速度环调参调试顺序P(比例)I(积分)总结位置环位置环设计位置环调参P调参成品项目目标实现电机最常使用的两个功能,转速控制和位置控制使用PID闭环控制(控制线性系统最简单快捷的控制方法)硬件搭建为了实现控制电机转动和闭环控制需要:电机(废话)编码器(霍尔编码器或者光电编码器均可)电机驱动(这里选的是l298n模块)千万注意黑色的地线,单片机的地要与12V的地(L298n的地)连接HAL初始化定时器PWM使用硬件PWM输出,定时器1,输出两路PWM分别代表PWM1和PWM2设
说明本文为无刷电机或PMSM电机驱动的简易代码,旨在分享一些个人调试过程的小心得,提供一个demo文件,程序仍有许多不完善的地方,建立起个人的FOC底层驱动,可以帮助快速熟悉FOC算法原理与使用方法,可以帮助验证新的电机控制算法。原理部分不再阐述。整个部分共有PWM模块、ADC电流采集、定时器编码器配置、SVPWM模块、FOC核心、PID模块、电压限幅模块,其实有了PWM与SVPWM以及一些必要的数学变换,我们就可以开环使电机转起来了,加入电角度与电流采集作为反馈后,我们就能做到电流闭环,再加入速度PID就可以做到速度闭环,其他的模块只是这些目的的辅助手段罢了。注意:调试一定要注意安全!!!使
说明本文为无刷电机或PMSM电机驱动的简易代码,旨在分享一些个人调试过程的小心得,提供一个demo文件,程序仍有许多不完善的地方,建立起个人的FOC底层驱动,可以帮助快速熟悉FOC算法原理与使用方法,可以帮助验证新的电机控制算法。原理部分不再阐述。整个部分共有PWM模块、ADC电流采集、定时器编码器配置、SVPWM模块、FOC核心、PID模块、电压限幅模块,其实有了PWM与SVPWM以及一些必要的数学变换,我们就可以开环使电机转起来了,加入电角度与电流采集作为反馈后,我们就能做到电流闭环,再加入速度PID就可以做到速度闭环,其他的模块只是这些目的的辅助手段罢了。注意:调试一定要注意安全!!!使
在HAL库函数中的HAL_I2C_Mem_Write/HAL_I2C_Mem_Read两个函数的作用就是玩IIC设备中写入/读取多个直接的数据,函数原型:HAL_StatusTypeDefHAL_I2C_Mem_Read(I2C_HandleTypeDef*hi2c,uint16_tDevAddress,uint16_tMemAddress,uint16_tMemAddSize,uint8_t*pData,uint16_tSize,uint32_tTimeout);HAL_StatusTypeDefHAL_I2C_Mem_Write(I2C_HandleTypeDef*hi2c,uint16_
系列文章目录(STM32常用外设/HAL库版)一、HC-SR04超声波模块的使用二、OLED的HAL库代码介绍及使用三、直流减速电机的测速以及电机驱动的使用(本篇)文章目录系列文章目录(STM32常用外设/HAL库版)前言一、所用的器材模块介绍二、接线说明三、CubeMX配置3.1.时钟树的配置3.2.PWMA配置(TIM4)3.3.编码器模式配置(TIM3)3.4.定时器配置(TIM1)3.5.IIC和USART配置3.6.NVIC配置3.7.最终引脚图四、程序代码及说明4.1.encoder.h4.2.encoder.c4.3.motor.h4.4.main.c总结前言由于之后要着手开始做
系列文章目录(STM32常用外设/HAL库版)一、HC-SR04超声波模块的使用二、OLED的HAL库代码介绍及使用三、直流减速电机的测速以及电机驱动的使用(本篇)文章目录系列文章目录(STM32常用外设/HAL库版)前言一、所用的器材模块介绍二、接线说明三、CubeMX配置3.1.时钟树的配置3.2.PWMA配置(TIM4)3.3.编码器模式配置(TIM3)3.4.定时器配置(TIM1)3.5.IIC和USART配置3.6.NVIC配置3.7.最终引脚图四、程序代码及说明4.1.encoder.h4.2.encoder.c4.3.motor.h4.4.main.c总结前言由于之后要着手开始做
目录 写在前面先回顾下定时器的单路捕获PWM多路捕获PWM的频率和占空比(状态机实现)我的思路:状态图配置给出示例代码测试效果 写在前面 先有了这篇文章实现了单定时器的多通道测量频率,以外部时钟的方式可测量任意频率的方波),奈何不能多路测试PWM波的频率,于是有了本文。基于HAL库的STM32的单定时器的多路输入捕获测量脉冲频率(外部时钟实现)_昊月光华的博客-CSDN博客 先回顾下定时器的单路捕获PWM对于定时器的单路捕获PWM的频率和脉冲,用cubemx配置:一个通道捕获上升沿,另一个通道捕获下降沿,SlaveMode为ResetMode.触发源为TL1FP1 这可以很好地测
【STM32笔记】HAL库中的SPI传输(可利用中断或DMA进行连续传输)SPI是英语SerialPeripheralinterface的缩写,顾名思义就是串行外围设备接口。是Motorola(摩托罗拉)首先在其MC68HCXX系列处理器上定义的。SPI,是一种高速的,全双工,同步的通信总线,并且在芯片的管脚上只占用四根线,节约了芯片的管脚,同时为PCB的布局上节省空间,提供方便,主要应用在EEPROM,FLASH,实时时钟,AD转换器,还有数字信号处理器和数字信号解码器之间。SPI主从模式SPI分为主、从两种模式,一个SPI通讯系统需要包含一个(且只能是一个)主设备,一个或多个从设备。提供时
【STM32笔记】HAL库中的SPI传输(可利用中断或DMA进行连续传输)SPI是英语SerialPeripheralinterface的缩写,顾名思义就是串行外围设备接口。是Motorola(摩托罗拉)首先在其MC68HCXX系列处理器上定义的。SPI,是一种高速的,全双工,同步的通信总线,并且在芯片的管脚上只占用四根线,节约了芯片的管脚,同时为PCB的布局上节省空间,提供方便,主要应用在EEPROM,FLASH,实时时钟,AD转换器,还有数字信号处理器和数字信号解码器之间。SPI主从模式SPI分为主、从两种模式,一个SPI通讯系统需要包含一个(且只能是一个)主设备,一个或多个从设备。提供时