【单片机学习笔记】(28):图形用户界面(GUI),串口通信协议与匿名上位机,获取MPU6050欧拉角,H桥电路、制作风力摆(空心杯电机、TB6612)

Graphical User InterfaceGUI

(OLED)使用图形用户界面

简易菜单

菜单和各种显示都放到main.c里面,要显示的数据经过字符转化之后放到buff里面再 调用显示 。

同一个页面的显示用个函数包装起来。

直接用几个变量,通过它们的值来跳转不同的界面(达到这个效果后尝试在里面设置参数)

或者用结构体,来定义不同的页面

Openmv与F103串口通信

任务:将openmv通过串口发送过来的数据用OLED显示出来(完成)

注意串口的抢断优先级,之前一直因为0级的sysTick中断,把接受openmv串口数据的3级抢断优先级的串口接受中断给打断了!!! 编程一定要注意优先级,不能被打断的过程放到高级的抢断优先级中去!!!!

因为我是通过捕获sysTick的节拍来进行任务调度的,所以不能被打断的过程(例如接受openmv传过来的数据包,就得同样放在0级的抢断优先级中!!!)

Openmv  UART3  的TX 是P4  ,RX是P5

F1CoreBoard 的USART2 的TX 是PA2  ,RX 是PA3

UART4 的TX 是 PC10  RX 是PC11

串口通信有些许问题,没学好 ,暂时不管,调试对比数据正确就行

选0x5B ,它是十进制的91呀,万一数据就是91,被当成结束标志了咋办?

可能性很小

2 的8次方 = 256   ,把帧尾变成0xFF或.0xFE之类的不是更好吗?

Openmv捕捉色块的二维坐标: X最多155,y最多114  ,也没搞懂为啥

电赛代码移植方法(相应知识之后补回去)

如果想用正点或者野火的源代码,记得打开相应例程并编译,然后通过复制相应.c  .h文件放在待移植的工程中。看编译报错,然后在stm32f1xx_hal_conf.h中取消相应注释,并在Drivers/STM32F1xx_HAL_Driver中加入缺失的HAL驱动文件

MPU6050解算欧拉角

ADC 每位表征的物理量值来表示分辨率,如每位代表 20 厘米,则它的分辨率为 1LSB/20cm,它等效于 5 位表示 1 5LSB/m

LSBLeast Significant Bit

改用野火的得把cubeMX的 IIC2初始化取消掉,并把HAL库驱动重新添加,还有把conf里面的注释重新取消,Usart也用他的代码重新定义一下。

野火可以用地面站的源码是标准库的,选择放弃,重新移植正点原子的MPU6050代码

直接使用MPU6050的DMP获得欧拉角

正点的能移植,但是自检会失败,总是返回错误8,所以选择直接注释掉它的自检函数(应该是我之前电源引脚插反了,所以之前的坏了)

换了一个MPU6050之后可以自检成功

测试一下最高读取速率:调用这个函数的时间可以在0.5ms至300ms,太快的话可能DMP还没处理完数据。 即最高读取频率可达2KHz,,实际用的时候2ms调用一次吧

mpu_dmp_get_data(&pitch,&roll,&yaw);

uart通信协议与上位机

一个数据帧放同一个类型的数据,里面一个数据位就可以当成一个波形输出。上位机直接用正点的来移植,以后要控制电机,查看波形,改传入参数就行。

为什么串口1的优先级不需要比TIM6优先级高,也可以正常上传数据给上位机呢?

因为并没有用到串口1的中断,它是直接调用函数进行操作的

H桥电路

H桥电路PWM控制有三中:

  1. 受限单极模式:不能刹车,不能能耗制动,负载超过设定速度时不能提供反向力矩。

  1. 单极模式:可以刹车,不能能耗制动。刹车时不能减速到0。使用互补输出保证一个导通时,另一个一定时关断的(可加死区)

  1. 双极模式:电流幅值下降速度比单极模式要快,电流波动更大。电枢的电压极性时正负交替的,有负电压情况出现。PWM1占空比为50%,电机停止。大于%50,正转。小于50%反转。为100%时,最高速正转;为0%时,最高速反转。

缺点:功耗比单极模式大,会使电机发热更严重。

制作风力摆

TB6612接线

1020空心杯电机

  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值