历史上的今天
今天是:2024年09月09日(星期一)
2019年09月09日 | ROS使用STM32F407ZGT6作为底盘控制器
2019-09-09 来源:eefocus
PCB3D预览图,

焊接完成后的图片

和上位机通信测试的图片

看完图后我先介绍一下这个开发板具有的功能:
电源部分:6-18V输入,输出有5V,3.3V和5V4A可以直接给树莓派供电。
电源指示灯部分:5个,输入电源指示灯、5V电源指示灯、3.3V电源指示灯、ROS通信串口电源指示灯、RGB用于记录状态显示灯
串口部分:6路串口,其中一路固定用于和ROS进行通信,其余5路可以自由使用。
温湿度传感器部分:使用DHT11或者DHT22.
编码器接口部分:4路
电机接口部分:4路,采用BTS7970B,单路输出30A,供电电压6-24V
CAN接口部分:采用TJA1050芯片
超声波接口部分:3路或者5路可用HC-SR04或者US-100
蜂鸣器部分:1个
按键接口部分:4路
IMU部分:板载MPU9250、或者外接其他IMU模块
PWM输出部分:(主要用于舵机控制)8路。
GPS模块接口部分:(目前使用的是串口通信)1路。
OLED显示接口部分:可以直接在板子上插或者外接线。
ADC检测部分:4路AD采集,可以检测电池电压。
硬件含有的功能就有以上部分:
下面介绍一下软件部分:
1、本文采用的是库函数进行程序的编写,因为感觉看着思路比较清晰。
2、本文采用的语言是C/C++混合编程,提高代码的复用性。
3、本文使用和ROS的通信方式依旧还是rosserial的方式,这种方式让STM32可以像Arduino一样的和ROS进行通信。
下面上图看一下代码的风格:







关于ROS下使用rosserial和STM32(ST库)进行通信也是参考网上的进行学习,想了解的可以看我的上一篇博客(ros下使用rosserial和STM32F1/STM32F4系列进行通信(MDK5工程)),里面有相关资料的连接。
使用STM32F4它的资源丰富,而且主频168M也足够我们使用了,后期是打算制作一辆麦克奈姆轮的室内自动导航小车,后期可能会把自己做好和配置好的ubuntu制作成镜像。这次博客就先到这里,后期会持续更新,希望大家可以多多关注、多多交流,相互学习,想讨论的可以给我留言哦。
史海拾趣
|
摘要:提出了一种基于微处理器和利用固态继电器实现交流功率连续调整的方法。文中给出了 具体的硬件控制电路、软件算法及详尽的程序清单。该方法已成功的应用于蒸汽锅炉加热功率控制。… 查看全部问答> |
|
[HKEY_LOCAL_MACHINE\\Drivers\\BuiltIn\\VSPD1] \"DevConfig\"=hex:\\ 10,00,00,00,05,00,00,00,10,01,00,00,00,4b,00,00,00,00,08,00,00,00,00,00,00 [HKEY_LOCAL_MACHINE\\Drivers\\Active\\22] \"Hnd\"=dword:0004c9a0 \"Name ...… 查看全部问答> |
|
【好消息】下载STM32在Altium(Protel)上的封装库 下载地址: 相关链接:http://www2.altium.com/forms/libraries/designer6/IntLib_contents_ad06.asp?lib=ST+Microcontroller+32-Bit+STM32.IntLib&man=ST-Microelectronics… 查看全部问答> |




