自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(61)
  • 收藏
  • 关注

原创 SimpleFOC之ESP32(一)—— 搭建开发环境

目录说明一、ESP32介绍二、Arduino IDE的ESP32开发环境搭建2.1、安装Arduino IDE2.2、下载ESP库文件2.3、安装ESP32库文件2.4、安装ESP32编译器2.5、Python安装2.6、选择ESP32开发板三、点亮LED3.1、硬件准备3.2、示例演示 说明    2016年春天的时候第一次接触ESP8266,用的ESP-12的模块,串口转wifi通信。本来是很简单的工作,串口发送数据完事,按照习惯看下手册,这一看把我绕晕了,它的与众不同的Xtensa内核,Free

2021-11-07 15:11:05 46802 7

原创 SimpleFOC(九)—— 霍尔电机控制

目录一、原理说明1.1、霍尔电机 一、原理说明1.1、霍尔电机霍尔电机就是带霍尔传感器的直流无刷电机。通过霍尔传感器判断电机当前运动状态,控制器根据霍尔采集的信号控制三相输出,让电机持续正常的工作,霍尔传感器的优点是便宜,而且几乎可以安装在任何无刷直流电机上,缺点是,由于角度测量的量化相对较高,因此低速运行不够平滑,使用霍尔传感器的另一个原因是,在无法接近电机轴,或者无法将传感器安装到电机轴上的情况下,霍尔传感器安装在电机转子周围,这使得它们非常非侵入性且易于集成,最常见的应用就是电动自

2021-10-05 18:23:46 50697 6

原创 SimpleFOC移植STM32(五)—— 电流采样及其变换

目录一、原理说明1.1、电流采样1.1.1、为什么要采样电流1.1.2、电流采样方式1.1.2.1、低侧电流采样1.1.2.2、高侧电流采样1.1.2.3、内置电流采样1.2、电流变换1.2.1、AD转换1.2.2、clark变换1.2.3、Park变换1.2.4、PID运算二、硬件说明2.1、SimpleFOC V2.0.3 的参数2.2、PowerShield V0.2 的参数2.3、SimpleMotor 的参数2.4、电流实际波形 一、原理说明1.1、电流采样1.1.1、为什么要采样电流 

2021-09-28 17:54:50 58160 29

原创 SimpleFOC移植STM32(四)—— 闭环控制

目录说明一、电机的三种控制模式1.1、力矩控制模式1.2、速度控制模式1.3、位置控制模式二、硬件介绍2.1、硬件准备2.1.1、SimpleMotor方案2.1.2、STM32方案2.2、硬件连接2.2.1、原理图2.2.2、SimpleMotor接线2.2.3、STM32接线三、程序演示3.1、代码解析3.1.1、零点检测3.1.2、参数设置3.2、下载验证3.2.1、力矩模式3.2.2、速度模式3.2.3、位置模式, 说明  阅读此文,可对照之前这篇文章:SimpleFOC(四)—— 闭环控制

2021-09-25 16:30:59 40078 34

原创 SimpleFOC移植STM32(三)—— 角度读取 (AS5600、AS5047P、TLE5012B、MA730、MT6701、ABZ)

目录说明一、硬件介绍1.1、硬件准备1.1.1、SimpleMotor方案 说明  本节比较简单,主要是演示I2C接口和SPI接口读取编码器角度。为增加大家对编码器的理解,本节后半部提供四种常用编码器的操作说明,并提供源代码。一、硬件介绍  本节实验适合运行在SimpleMotor和STM32最小系统板上(Bluepill)。1.1、硬件准备1.1.1、SimpleMotor方案序号名称数量1驱动器12带编码器云台电机2312V电源14U

2021-09-23 15:24:02 36932 27

原创 SimpleFOC移植STM32(二)—— 开环控制

目录说明一、硬件介绍1.1、硬件准备1.1.1、SimpleMotor方案1.1.2、SimpleFOCShield V2.0.3方案1.2、硬件连接1.2.1、原理图1.2.2、接线二、控制原理2.1、SVPWM2.2、极对数2.3、开环控制三、软件操作和程序下载3.1、Keil编译生成hex文件3.2、FlyMcu下载3.3、SimpleMotor准备3.4、串口发送指令四、程序演示4.1、开环速度控制4.2、开环位置控制 说明  学习本节之前,建议先看《SimpleFOC(二)—— 快速入门 (

2021-09-05 18:26:21 46902 30

原创 SimpleFOC移植STM32(一)—— 简介

目录一、代码移植说明二、程序原理2.1、有感FOC控制原理2.2、有感FOC(不带电流采样)控制原理2.3、SVPWM(heart function)三、适配硬件3.1、Bluepill3.2、SimpleMotor四、程序架构五、演示功能 一、代码移植说明  多年前第一次听说“开源”这个事儿的时候非常不理解,自己辛苦写的代码让别人随意下载研究多吃亏呀,后来见的多了,发现开源也有它自身的一套商业逻辑。但是无论如何开源促进了技术的进步,避免大家重复造轮子,所以这是一件好事!  网上很多文章讲FOC都是

2021-07-29 21:14:57 73200 13

原创 SimpleFOC(八)—— 理论+实践 深度分析SVPWM

目录说明一、有感FOC控制原理二、SVPWM原理三、SimpleFOC(不带电流采样)的控制原理:四、simpleFOC核心代码五、代码实验5.1、实验目的5.2、硬件准备5.3修改代码 第一阶段5.3.1 打开例程5.3.2 修改代码5.3.3、验证上传5.3.4 电机观测5.3.5 修改力矩5.3.6 修改转速5.4修改代码 第二阶段5.4.1 修改代码5.4.2 验证上传5.4.3 电机观测5.4.4 串口操作5.4.5 观察三相波形说明  SimpleFOC的基本操作在前几节都已经演示过了,虽然

2021-06-20 13:34:17 34638 8

原创 SimpleFOC(七)——STM32(Bluepill)的应用

目录说明一、Bluepill说明1.1、最小系统板1.2、下载模式说明二、软件安装2.1、安装库文件和示例2.2、放入安装文件夹2.3、重新打开IDE2.4、选择上传方式为串口2.5、安装编译器2.6、安装SAM三、点亮LED3.1、硬件准备3.2、示例演示四、I2C读取编码器4.1、硬件准备4.2、示例演示五、双I2C读取编码器5.1、硬件准备5.2、示例演示六、SPI读取编码器6.1、硬件准备6.2、示例演示七、PWM输出7.1、硬件准备7.2、示例演示八、Bluepill+simpleFOCShiel

2021-06-18 17:24:52 25890 19

原创 SimpleFOC(六)—— PowerShield和AS5047P

目录一、PowerShield驱动板1.1、硬件准备1.2、速度闭环模式二、AS5047P2.1、硬件准备2.2、示例演示三、大功率电机驱动3.1、硬件准备3.2、示例演示一、PowerShield驱动板  1.1、硬件准备◆1.1.1、PowerShield介绍  板载三个BTN8982功率MOS管,最大电流55A,最大耐压40V,芯片自带电流检测和故障诊断功能IS,分别接在A2和A3引脚。  板载内置电流检测电路,分别接在A0和A1引脚。  PWM输入引脚为D9/D6/D5,使能引脚为

2021-06-18 14:44:48 12047 6

原创 SimpleFOC(五)—— 双电机控制

目录一、硬件说明1、硬件清单2、硬件连接二、程序演示三、其他控制模式1、速度模式2、速度和力矩混合模式 一、硬件说明1、硬件清单序号名称数量1Arduino UNO12simpleFOCShield V2.0.323带磁编码器的云台电机2412V电源15方口USB线1如下图所示: 2、硬件连接  ⑴、驱动板背面跳线  两个驱动板,一个接9、5、6、8,另一个接3、10、11、7。  ⑵、编码器连接  Arduin

2021-05-08 09:52:39 10857 3

原创 SimpleFOC(四)—— 闭环控制

目录一、电机的三种控制模式1、力矩控制模式2、速度控制模式3、位置控制模式二、硬件说明1、硬件清单2、硬件连接三、程序演示1、力矩控制2、速度控制3、角度控制 一、电机的三种控制模式1、力矩控制模式  ◎电机在运行过程的电流,始终等于给定的值。  ◎比如使用电机来拉伸弹簧,设定电流值越大,弹簧被拉伸的长度越长。设定电流越小,弹簧被拉伸的长度越短。设定电流为零,弹簧不被拉伸。  ◎在SimpleFOC项目中,受限于Arduino UNO的运行速度,大部分例程没有使用电流采样,所以设定电压值代替设定

2021-05-07 10:04:51 24834 10

原创 SimpleFOC(三)—— AS5600角度读取

目录一、硬件介绍1、磁编码器说明:2、硬件连接二、程序演示1、模拟电压获取角度2、I2C通信获取角度三、程序拓展一、硬件介绍1、磁编码器说明:  ◆AS5600与两极磁铁配对,可以输出12位分辨率的磁性旋转位置,支持IIC通信,还可以输出模拟电压和PWM信号。官方例程中主要演示了模拟电压和IIC通信两种角度获取方式。  ◆模拟电压模式,Aout引脚输出0—5V对应0°—360°,  ◆I2C模式,读取0x0C/0x0D两个寄存器,获取12bits的角度值,0—4096对应0°—360°,2

2021-04-26 09:56:18 43545 15

原创 SimpleFOC(二)—— 快速入门 (开环控制)

目录●一、硬件介绍◆1、驱动板版本说明◆2、驱动板跳线◆3、硬件准备◆4、硬件连接●二、软件操作◆1、安装Arduino IDE◆2、安装SimpleFOC library◆3、打开示例程序●三、电机控制◆1、程序下载◆2、开环速度控制      ●一、硬件介绍  ◆1、驱动板版本说明  1、V1.3.3         2、V2.0.3        3、V0.2    V1.3.3没有电流采样,这样做的好处是硬件成本低,控制程序简单,但缺点是力矩控制是开环的,直接输出电压(也就是PWM

2021-04-21 09:39:02 36499 5

原创 SimpleFOC(一)—— 简介(附有文件下载链接)

●前言我们生活在一个非常激动人心的时代????! 无刷直流电机正进入越来越多的爱好社区,许多伟大的项目已经出现利用其远远优越的动态和功率能力。无刷直流电动机比普通直流电动机有许多优点,但有一个很大的缺点,即控制的复杂性。尽管PCB的设计和制造已经变得相对容易,并且我们自己创造了驱动无刷直流电机的硬件解决方案,但是合适的低成本解决方案还没有出现。其中一个原因是编写BLDC驱动算法的明显复杂性,磁场定向控制(FOC)是最有效的算法之一。可以在线找到的解决方案对于某些硬件配置和所使用的微控制器体系结构几乎都非常

2021-04-07 16:48:21 59735 5

原创 移动机器人底盘控制器,六年工作经验总结

移动机器人底盘主要包含电机,电机驱动器,底盘控制器和其它设备。底盘控制器与电脑通信,把电脑指令解析后发送给电机驱动器,同时控制器底盘其它设备,比如碰撞传感器,避障传感器,充放电管理,或者声光设备等。也有底盘不用底盘控制器,电脑直接控制电机驱动器,构成最简单的机器人底盘。一、差动底盘 差动底盘主要由两个直流电机、前后两个万向轮构成。万向轮采用减震设计,保证四个轮子同时接地,避免出现打滑现象。V=(Vr+Vl)/2 左右轮的速度除以2是底盘的速度VW=(Vr...

2020-08-28 13:30:16 5644 1

原创 STM32读取TCS34725源代码,RGB转HSL代码,已通过实际测试

STM32F103C8T6读取颜色识别模块,并把读取到的原始数据转换为HSL格式。TCS34725只接GND、VCC、SCL、SDA四个引脚,STM32F103C8T6的引脚接PB10-SCL,PB11-SDA。读取TCS34725的源代码很多,也很简单,但只是读取原始数据,也不知道怎么转换,官方手册也没说清楚,一般RGB的数据它偏偏是RGBC,到现在我也没搞清楚这个“C...

2020-03-13 11:07:58 16412 35

原创 XP系统安装python

十年前的旧电脑,用着堵心扔了可惜,学习python,只能安装2015年的3.4.4版本,安装过程如下“1、先判断你的电脑上有没有安装python,点击左下角的 开始—>运行,在弹出的小窗口中输入”command“并点确定,在黑窗口中输入”python“回车,如果安装了会提示安装的版本等信息,否则就是没有安装。2、去python官网下载软件https://www.python.or...

2020-02-18 12:07:50 7633 1

原创 电源芯片MP1584,LM2596,XL1509性能对比

MP1584耐压只有28V,标称3A输出电流,实测2A发热但是没有问题,再大了发热太严重,估计2A以内放心用。29V输入加上负载芯片就坏了。得益于它的高频开关优势,电感尺寸可以小一点,空载时电流很小,只有0.37mA,空载或轻负载时候,输出为锯齿波。这个芯片的应用场合好像都在无人机上,3S/4S电压正好,工业24V我感觉有点悬,容易超过28V的极限。LM2596芯片时间比较久了,算是经典,网上...

2019-01-05 10:48:12 35386 1

原创 激光测距VL53L0X查询方式 源代码 已测试

在正点原子的例程上修改的,正点原子的例程使用了LCD,按键,AT24C02等,拿到手后不能直接使用,我把不必要的都删除掉,只用最小系统板就可以打印出距离。程序已经测试过,我用的STM32F103VET6的芯片。io占用如下PA2:SDAPA3:SCLPA5:XSHUTPA9:TXD1PA10:RXD1PA8:LED指示灯,这个可以不用接如果需要调整IO引脚, 在 "vl53l0x_i2c.h"...

2018-06-21 14:23:59 11053 32

原创 激光测距VL53L0X中断模式 源代码 已测试

高速模式需要用中断方式,io占用如下PA2:SDAPA3:SCLPA4:GPIOPA5:XSHUTPA9:TXD1PA10:RXD1我是在正点原子的例程上修改的,正点原子的例程使用了LCD,按键,AT24C02等,拿到手后不能直接使用,我把不必要的都删除掉,只用最小系统板就可以打印出距离。程序已经实际测试过,我用的事STM32F103VET6的芯片。PA8:LED指示灯,这个可以不用接...

2018-06-20 17:45:17 4799 1

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除