查看: 344|回复: 18

从零做飞控(1)软件框架

[复制链接]

243

主题

278

帖子

770

积分

高级飞友

Rank: 4

积分
770
飞币
485
注册时间
2017-7-15
发表于 2024-6-20 13:59:47 | 显示全部楼层 |阅读模式


本系列视频主要介绍如何从零制作一款无人机飞控,本期视频主要介绍飞控软件架构。

从零做飞控(1)软件框架-1.jpg

22

主题

648

帖子

1269

积分

金牌飞友

Rank: 6Rank: 6

积分
1269
飞币
619
注册时间
2017-8-17
发表于 2024-6-20 14:04:54 | 显示全部楼层
晨哥后期是不是要加抗干扰,图像识别,地形匹配等功能[doge]

23

主题

637

帖子

1253

积分

金牌飞友

Rank: 6Rank: 6

积分
1253
飞币
614
注册时间
2017-9-21
发表于 2024-6-20 14:15:43 | 显示全部楼层
知道更新了[doge],还以为提桶跑路了

30

主题

675

帖子

1332

积分

金牌飞友

Rank: 6Rank: 6

积分
1332
飞币
648
注册时间
2017-9-7
发表于 2024-6-20 14:20:44 | 显示全部楼层
大学做过stm32的飞控,给你一点建议。
接口输出(比如pwm输出,串口输出那些)不要用插接口,直接焊接。这一点很重要。这样可以压低飞控的体积。

16

主题

675

帖子

1313

积分

金牌飞友

Rank: 6Rank: 6

积分
1313
飞币
636
注册时间
2017-9-8
发表于 2024-6-20 14:22:25 | 显示全部楼层
说实话,感觉这个项目会烂尾。从最基础的架构能看出来,UP主的知识储备差点意思。在多任务处理上,选择了最简单但是效果最差的轮询。其实就算不用实时操作系统,用定时器中断来做也会好很多。
第一是中断做比较省电,对于无人机来说,想飞的时间长,还是要在各个方面考虑功耗的。
第二是时间中断做时序的保障更好。而用循环做PID数据采样我试过,效果比较差,尤其是任务开始变多,采集频率又比较高以后,中间的各种任务会导致PID采样的间隔显著的不均匀,从而导致PID出来的效果比较差。
虽然现在还没做到那部分吧,但是这样过于简单的基础架构是在给自己后面埋雷。建议可以重新考虑多任务的处理方式,利用中断和优先级来实现基础方案。毕竟中断就是专门干这个用的,而使用cubeMx,学习中断的时间成本并不高。

28

主题

641

帖子

1272

积分

金牌飞友

Rank: 6Rank: 6

积分
1272
飞币
624
注册时间
2017-9-14
发表于 2024-6-20 14:35:12 | 显示全部楼层
我爆炸了今天,我做了一个简单的飞控但对我来说真不简单,用的nrf104 2.4g通讯模块做遥控器,无人机用的f103主控mpu6050陀螺仪,空心杯电机,上电然后冒烟了,我直接气坏了

33

主题

695

帖子

1381

积分

金牌飞友

Rank: 6Rank: 6

积分
1381
飞币
679
注册时间
2017-9-24
发表于 2024-6-20 14:38:37 | 显示全部楼层
大佬一定要坚持下来

24

主题

683

帖子

1342

积分

金牌飞友

Rank: 6Rank: 6

积分
1342
飞币
657
注册时间
2017-9-3
发表于 2024-6-20 14:51:01 | 显示全部楼层
大一的时候搞过。不过是计科的。对控制论,信号处理没怎么学过。搞完双环和定高之后就没搞了。只要理解了pid控制,实现起来还是非常简单的。

23

主题

636

帖子

1255

积分

金牌飞友

Rank: 6Rank: 6

积分
1255
飞币
610
注册时间
2017-8-23
发表于 2024-6-20 14:58:15 | 显示全部楼层
其实,用freertos来调度任务,并不复杂啊,时间片轮询的实时性并不好啊,其实你编排时序在操作系统上最后就是优先级设置。

22

主题

665

帖子

1304

积分

金牌飞友

Rank: 6Rank: 6

积分
1304
飞币
630
注册时间
2017-8-30
发表于 2024-6-20 15:03:13 | 显示全部楼层
[妙啊][疑惑]
up主:歪比巴卜
我:huh?
stm32f405后面直接就开懵,为啥这个要这么设计,这软件又是怎么烧录原理执行直接huh?

29

主题

655

帖子

1290

积分

金牌飞友

Rank: 6Rank: 6

积分
1290
飞币
633
注册时间
2017-8-23
发表于 2024-6-20 15:17:30 | 显示全部楼层
【内容总结】
本期视频是关于如何从零制作一款无人机飞控的软件架构。视频内容包括了硬件原理图和软件架构的介绍,以及使用时间片轮询的方式实现任务调度。通过设置任务的执行周期和记录上次执行的时间,实现不同功能的任务执行。最后,还介绍了在程序运行过程中遇到的问题和解决方法。

【时间线】
- 00:01 - 视频介绍从零制作一款四旋翼无人机飞控的过程
- 01:24 - 硬件原理图制作和LED制作
- 02:53 - 任务创建与调试,介绍时间片轮询的实现方式
- 03:14 - 烧录程序并观察串口数据发送情况
- 03:58 - 发现任务上次运行时间变量达到上限后不再增加的问题
- 04:11 - 将变量类型改为UINT32解决问题

【可能感兴趣的问题】 (触发提问请回复: 问一下+问题)
1. 无人机飞控制作的过程中有哪些关键步骤?
2. 时间片轮询的方式相比操作系统有哪些优势和劣势?
3. 在飞控软件的开发过程中还会遇到哪些常见问题,如何解决?

内容由AI自动总结, 总结内容仅供参考~ @华程朱 触发了视频总结, 触发方式是 @有趣的程序员 总结一下

23

主题

656

帖子

1295

积分

金牌飞友

Rank: 6Rank: 6

积分
1295
飞币
637
注册时间
2017-8-20
发表于 2024-6-20 15:25:25 | 显示全部楼层
关注了,明年入职飞控开发了,多学学[星星眼][星星眼]

29

主题

655

帖子

1290

积分

金牌飞友

Rank: 6Rank: 6

积分
1290
飞币
633
注册时间
2017-8-23
发表于 2024-6-20 15:35:18 | 显示全部楼层
uint32同样会出现一直输出吧,感觉还是要想个方法解决,重新清零

22

主题

710

帖子

1404

积分

金牌飞友

Rank: 6Rank: 6

积分
1404
飞币
692
注册时间
2017-9-3
发表于 2024-6-20 15:43:46 | 显示全部楼层
AI课代表的笔记:这个视频介绍了从零制作一款四旋翼无人机飞控的过程。视频内容包括了硬件原理图和软件架构的介绍,以及使用时间片轮询的方式实现任务调度。通过设置任务的执行周期和记录上次执行的时间,实现不同功能的任务执行。最后,还介绍了在程序运行过程中遇到的问题和解决方法。下期将为板子增加开关电源电路并读取电池剩余电量。

- 0:01

42

主题

669

帖子

1335

积分

金牌飞友

Rank: 6Rank: 6

积分
1335
飞币
664
注册时间
2017-9-5
发表于 2024-6-20 15:57:26 | 显示全部楼层
用stm32 ardunio框架会不会简单些

22

主题

710

帖子

1404

积分

金牌飞友

Rank: 6Rank: 6

积分
1404
飞币
692
注册时间
2017-9-3
发表于 2024-6-20 16:05:00 | 显示全部楼层
up这个项目大概什么时候能收尾啊[星星眼]

23

主题

678

帖子

1325

积分

金牌飞友

Rank: 6Rank: 6

积分
1325
飞币
645
注册时间
2017-8-13
发表于 2024-6-20 16:08:19 | 显示全部楼层
一个stm32最多支持几路pwm输出啊?是不是计时器太少了?

25

主题

691

帖子

1373

积分

金牌飞友

Rank: 6Rank: 6

积分
1373
飞币
676
注册时间
2017-8-8
发表于 2024-6-20 16:10:19 | 显示全部楼层
飞控有了,电调还会远吗

36

主题

653

帖子

1300

积分

金牌飞友

Rank: 6Rank: 6

积分
1300
飞币
645
注册时间
2017-8-21
发表于 2024-6-20 16:21:42 | 显示全部楼层
晨哥这期的东西看完后,发现自己欠缺的太多啦,一定跟着好好学学,支持一大波[打call][打call][打call]
您需要登录后才可以回帖 登录 | 加入联盟

本版积分规则

快速回复 返回顶部 返回列表