caosix 发表于 2023-1-26 21:01:47

平衡车上位机【宏指令“左转30度”,前进3.5米】 附源码

本帖最后由 caosix 于 2023-1-27 09:42 编辑

;P革命还没完全完成,不过呢 已经 【初见雏形】:victory:。
我的那个 MPU6050 Yaw 每隔 180秒 就漂移 1度角度 。
我做了一个最简单的 时间补偿 。抵消80% 的漂移:lol 。

源码 附上 —— 还没改 APP 指令码 —— 明天放弃APP
【必须 完全重新 规划 APP 指令码 】为 新指令 留空间。




下面是新的指令码 : 打算 8bit高位 先用上,
【调参】三指令:读取参数,下发参数,掉电存参数。
原想扩展为双字节,后来也觉得太麻烦 ,小车跑不远
前进 :0.3米,0.5米,0.7米,1米,1.2米,1.5米,1.7米
2米,2.3米,2.5米,2.7米,3米,4米,5米,6米,7米
8米,9米,10米【还剩多少指令码?扩展到20米就行啦:lol】
要跑更远距离:前进10米,再前进10米 不就 20米了么 。
后退 :0.3米,0.5米,0.7米,1米,1.2米,1.5米,1.7米够了。
再想想 :360度 分辨率 5度 需要 72条 指令 。


明天 继续 。。。


caosix 发表于 2023-1-26 21:27:41

本帖最后由 caosix 于 2023-1-27 09:43 编辑

刚才 初步思考 指令码 编排 —— 仍然是 单字节 ——

【今天 27号,重新 定义了 调参和 直控 的编码】

caosix 发表于 2023-1-26 21:40:05

本帖最后由 caosix 于 2023-1-27 10:03 编辑

:victory: 对于 前进 与 后退 多少米 的 指令 。

只需要 37 到 63 之间的 数字 查表法 对应
多少个 【步进脉冲】 就能代表 多少距离。

————————:lol——:lol————————
今天 27号 : 不用查表法了 ,直接 按照
指令码 的 "尾数" 进行 简单演算 就行啦 :lol。
而且【前进】指令 可用做到 18米 分辨率 0.2米

caosix 发表于 2023-1-27 09:58:31


:lol用今天 新的 编码图 做以下 实例 推演:
———— 先 推演 小于 128 的指令 :————
全0 直译 = 左转 0 度 = 空指令, 64直译 = 右转 0 度 = 空指令。
【指令码 01 直译 = 左转 5度 】【指令码 64+1 直译 = 右转 5度】
【指令码 02 直译 = 左转10度】【指令码 64+2 直译 = 右转10度】
。。。:lol 。。。:victory:。。。
【指令码 36 直译= 左转180度】【指令码 64+36 直译= 右转180度】
————————————————————————————————
;P 大于 37 的指令 不是用于转弯,而是表示 后退 或者 前进 多少米 。
————————————————————————————————
【指令码38 直译 = 后退0.2米】【指令码64+38 直译 = 前进0.2米】
【指令码39 直译 = 后退0.4米】【指令码64+39 直译 = 前进0.4米】
【指令码40 直译 = 后退0.6米】【指令码64+40 直译 = 前进0.6米】
。。。:lol 。。。:victory:。。。
【指令码63 直译 = 后退5.2米】【指令码64+63 直译 = 前进5.2米】
哈哈哈 后退 没有指令空间了 ,但是 前进 还有空间可用 妙棋继续 。
———————————————【指令码 64+64 直译 = 前进5.4米】
———————————————【指令码 64+65 直译 = 前进5.6米】
———————————————【指令码 64+66 直译 = 前进5.8米】
。。。:lol 。。。:victory:。。。
———————————————【指令码 64+127 直译 = 前进18米】
哈哈哈 编码 暂时 用到 64+127=191 :victory:191 到 240 仍然 空闲 呢 。



caosix 发表于 2023-1-28 16:09:45



今天做到 PA2 PA3 的EXTI中断计数器 需要32位
才能满足 最高转速 单向行走 20小时 :victory:不溢出 。

caosix 发表于 2023-1-28 18:57:11

本帖最后由 caosix 于 2023-1-29 09:36 编辑

:L做个笔记 原始版本 固件 —— 以超声波 为 “向前”,
“前进”的时候 —— Moto1 Moto2 【都是 显示 负数】
好在 平衡车 是 全对称的 ,哎 4P 马达线 是否对调?

【算了:懒得去折腾了,就用“负数距离”表示前进】

caosix 发表于 2023-1-29 11:39:19

本帖最后由 caosix 于 2023-1-30 17:40 编辑

带 距离 显示 也出来了 【每 15000 代表 1米 】
源码在此。



转弯 跨越 0度 与 360度 ,费力 花两天 时间才搞定:L。
————源码 已经 更新 ——要 “读一次参数”激活遥控。


:lol 现在 终于 可以 转弯 指定 角度 了 。





caosix 发表于 2023-1-29 14:53:13

本帖最后由 caosix 于 2023-1-29 15:43 编辑



开始 直接遥控之前,必须“读一次参数、才能激活直接遥控”。

hyhyx1 发表于 2023-3-16 12:14:04

确实不错,学习一下,需要时间。
页: [1]
查看完整版本: 平衡车上位机【宏指令“左转30度”,前进3.5米】 附源码