[其他ST产品] STM32(Bluepill)的应用

[复制链接]
5415|22
 楼主| gaonaiweng 发表于 2024-3-30 16:10 | 显示全部楼层 |阅读模式
SimpleFOC的教程比较多,做了一个总的链接,欢迎点击阅读:SimpleFOC教程链接汇总

说明
  本文较长,内容较多,几乎把前几节Arduino UNO的例程重新演示一遍,为缩小篇幅,各示例演示步骤写的稍微粗略,大家可先熟悉前几节的关于simpleFOC的操作后再看本节。新手可分多次学习,循序渐进。

本文于2021.11.20更新,针对最新版的SimpleFOC库2.2.0测试,变化不大,需要修改的地方本节都有讲解。

本文于2021.9.2更新,
增加对新设计的电路板的支持,修改各个演示程序的IO口,使得本节示例可以同时在bluepill和SimpleMotor上运行。

278786607c90b02b59.png

 楼主| gaonaiweng 发表于 2024-3-30 16:11 | 显示全部楼层
本文于2022.9.9更新,
经客户反馈,本章最大的问题PWM低频噪声问题已经解决,是因为STM32的库安装不对,使用官方库,simpleFOC示例都可以顺利演示。稍后会详细说明库的安装,并对本文做较大修改。向这位客户表示感谢!

189716607c92194b8a.png
 楼主| gaonaiweng 发表于 2024-3-30 16:11 | 显示全部楼层
Bluepill介绍
1.1、最小系统板
  以前淘宝上十二三块钱一个,非常便宜,至于为什么叫Bluepill,谁给起的这个名字就不清楚了。

328096607c939b6ce5.png
 楼主| gaonaiweng 发表于 2024-3-30 16:11 | 显示全部楼层
下载模式说明
  Arduino IDE编译STM32有好几种程序下载模式,本篇以串口下载为例。
  如下图,Boot1始终接低电平0,Boot0接0时为正常工作模式,接1时为串口下载模式。

139196607c94c5273b.png
 楼主| gaonaiweng 发表于 2024-3-30 16:12 | 显示全部楼层
如下图,本人测试时发现虽然Boot0接高电平,但不能进入串口下载模式,检查后发现是电阻阻值不匹配,R3R4应该是串联在Boot0和Boot1引脚的限流电阻,阻值过大,导致上拉无效不能进入串口下载模式,可更换为1K-10K范围的电阻。

355036607c9598abf5.png
 楼主| gaonaiweng 发表于 2024-3-30 16:12 | 显示全部楼层
STM32库文件安装
Arduino IDE兼容STM32主要有两种方法实现:
一种是使用RogerClark的库,下载安装都比较方便,但是已经停更,兼容性 差。
另一种是使用官方库,兼容性肯定没问题,但是安装稍微麻烦。
simpleFOC的代码是以官方库为基础,所以必须安装官方库。
 楼主| gaonaiweng 发表于 2024-3-30 16:12 | 显示全部楼层
添加链接
2.1.1、RogerClark的库不好用,不要使用
  https://github.com/rogerclarkmelbourne ,下载Arduino_STM32,这个是支持STM32开发板的硬件文件。
 楼主| gaonaiweng 发表于 2024-3-30 16:13 | 显示全部楼层
官方链接
有官方的安装说明:https://github.com/stm32duino/wiki/wiki/Getting-Started,
点击Arduino的 文件——>首选项,输入网址:https://github.com/stm32duino/BoardManagerFiles/raw/main/package_stmicroelectronics_index.json 850836607c992539e4.png
 楼主| gaonaiweng 发表于 2024-3-30 16:13 | 显示全部楼层
但是,这个网址完全打不开,我试了一周从来都没有链接上。
网上有很多替代的网址,我试了一些,能用的有这个:https://github.ocrobot.com/down/stm32duino/package_stmicroelectronics_index.json,
偶尔也会打不开,多试几次还是可以的。

152366607c9a4de824.png
 楼主| gaonaiweng 发表于 2024-3-30 16:13 | 显示全部楼层
安装库文件
打开开发板管理器

340176607c9b514c1f.png
 楼主| gaonaiweng 发表于 2024-3-30 16:14 | 显示全部楼层
输入STM32,安装。
注意,如果刚才的链接连不上,输入“STM32”是不能显示下面的库的。
用官方库显示的跟这个似乎不太一样,网络条件好的建议用官方链接。
963156607c9c55ac70.png

用这个库,I2C接口不能用,I2C1和I2C2都不能使用,I2C问题暂时搁置,20020910。
 楼主| gaonaiweng 发表于 2024-3-30 16:14 | 显示全部楼层
重新打开IDE
  关闭Arduino IDE后重新打开,会发现开发板增加许多类型,选择STM32F103C系列,

 楼主| gaonaiweng 发表于 2024-3-30 16:14 | 显示全部楼层
先选择103系列,再选择bulepill
403356607c9f7b7292.png
 楼主| gaonaiweng 发表于 2024-3-30 16:15 | 显示全部楼层
选择上传方式为串口,并选择端口
如果用STlink下载,选择对应的配置
153836607ca0aabe1a.png
 楼主| gaonaiweng 发表于 2024-3-30 16:15 | 显示全部楼层
安装STM32CubeProgrammer
上一步的下载方式选择,无论哪种接口都多了一个 STM32CubeProgrammer,所以还要再安装这个软件,如果不安装等会下载会提示错误。

去ST官网下载软件:https://www.st.com/en/development-tools/stm32cubeprog.html
如果没有注册,还需要输入邮箱,有时候不能下载,需要多尝试几次。

455656607ca1ace765.png
 楼主| gaonaiweng 发表于 2024-3-30 16:15 | 显示全部楼层
下载后解压,安装。安装完成后会在桌面生成图标。
151786607ca32d5d5b.png
  STM32的库文件安装完毕。
 楼主| gaonaiweng 发表于 2024-3-30 16:16 | 显示全部楼层
本帖最后由 gaonaiweng 于 2024-3-30 16:18 编辑

点亮LED
3.1、硬件准备
◆3.1.1、硬件清单

364476607ca461f4e2.png
283746607ca4cad267.png

  也可以直接从USB转TTL取电5V,不过这样有时会不稳定,所以最好用手机充电器外部供电。

 楼主| gaonaiweng 发表于 2024-3-30 16:19 | 显示全部楼层
硬件连接
797456607cafb0add1.png

或者
436906607cb06c4422.png

 楼主| gaonaiweng 发表于 2024-3-30 16:19 | 显示全部楼层
示例演示
◆3.2.1、选择STM32配置
341656607cb15a68aa.png
 楼主| gaonaiweng 发表于 2024-3-30 16:20 | 显示全部楼层
打开示例
94686607cb25a003d.png

修改代码

111766607cb32eb998.png
您需要登录后才可以回帖 登录 | 注册

本版积分规则

80

主题

875

帖子

3

粉丝
快速回复 在线客服 返回列表 返回顶部