从零开始写STM32平衡小车代码,从0到1

这篇博客详细介绍了如何从零开始编写STM32平衡小车的代码,包括STM32CubeMX工程的创建、外设配置、电机和编码器的控制、陀螺仪数据处理以及PID算法的应用。博主分享了自己的设计思路,适合初学者入门。
摘要由CSDN通过智能技术生成

从零开始写STM32平衡小车代码,从0到1

273cfdc033aaeb3e62f26bd6dea9b7a5.png

教你从零开始写STM32平衡小车代码

前言:

本人也是学生,只是分享一下自己的设计思路与代码教学。

这次STM32平衡小车是基于STM32CubeMX软件生成HAL库代码编写。

第一部分:前期准备

这部分主要是关于组装基本平衡小车需要的零件

1.小车车架以及电机固定架轮子和联轴器(我是通过淘宝上购买的)

2.带有编码器的直流电机

3.直流电机驱动电路(也可以通过网上购买推荐大鱼电子的电机驱动价格:30+)

4.一个STM32最小系统板(本人芯片型号为STM32F103ZET6)

5.一个陀螺仪随意型号可以买贵一点的这样数据不会很多毛刺,如果要节约成本就需要自己进行滤波优化了。(本人使用的是维特智能jy61p)

6.3S航模电池,想要小车跑起来电池是必不可少的

第二部分:新建STM32CubeMX工程

d94b135873ab528c63c23daad612552f.png主页面

进入页面后先选择一款MUC:点击 ACCESS TO MCU

0b56fe38d3b5149401c48bac31a0f766.png

在此搜索你们使用的芯片型号即可

c05d1ee08349e19442e9a46a2ec2c738.png

进去后先点击SYS修改Debug模式,我这里选择SWD

994dbe8a6cdf682948579885f0d1bfe4.png

在RCC下选择外部晶振如图

a7bf3d7404fde319919f23efe83a76d8.png

点击上方的时钟树,正确配置后只要在最后

413f6c52c404bb1919904b6516075409.png

这个位置,输入最大的速率,软件就会自动配置好时钟树

d44d168d09f42a48b47d6fb9d2a8469e.png

最后在上方的项目管理界面选择你要的IDE

2ccb6101f612b6ef3a91b78a759d0852.png

勾选需要的配置,这样工程就基本建立完成。

第三部分:配置需要的外设

在第二部分的基础上配置

1.定时器

a9fbfd815787250d355652be67c6c014.png

首先是定时器,想要驱动电机,我们需要配置定时器生成PWM波

根据提供的引用内容,stm32f103rct6小车代码如下所示: ```c #include "stm32f10x.h" #include "led.h" #include "sysclock.h" #include "motor.h" #include "UART.h" int main() { LED_init(); Motor1_Init(); Motor2_Init(); Motor3_Init(); Motor4_Init(); USART2_Init(115200); GPIO_WriteBit(GPIOC, GPIO_Pin_12, Bit_RESET); USART_SendString(USART2,"hello\r\n"); while(1) { data_processing(); } } ``` 这段代码是一个主函数,其中包含了对LED、电机和串口的初始化。在主循环中,调用了`data_processing()`函数,用于处理数据。具体的电机操作和数据处理逻辑需要查看其他文件中的函数定义。 #### 引用[.reference_title] - *1* *3* [从零开始制作STM32F103RCT6小车(四)](https://blog.csdn.net/weixin_51651698/article/details/126238363)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* [STM32F103RCT6 实验代码之舵机+超声波避障小车(三)蓝牙遥控](https://blog.csdn.net/ljw__/article/details/105905142)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值