加载中
加载中
表情图片
评为精选
鼓励
加载中...
分享
加载中...
文件下载
加载中...
修改排序
加载中...
所有教程由网友发布,仅供参考,请谨慎采纳。科创不对教程的科学性、准确性、可靠性负责。
极简RP2040推力采集系统
Tangshm2025/06/10电子技术喷气推进 IP:北京

RP2040单片机功能强大,用在发动机推力采集上,人机界面得以简化,新手友好。尝试按以下步骤搭建:

1,让RP2040单片机运行

注意,这一步不需要懂单片机,不需要单片机开发程序,只需要拷个文件。拿到RP2040后,按住单片机板上左边BOOT键,通过USB线插到电脑上,然后把附件的二进制文件拷到新出现的U盘上,单片机就运行起来啦!


attachment icon1_F711_RP2040.ino.uf2253.00KBUF242次下载

附RP2040单片机tb图,这个程序要16M那种

Screenshot_20250613_074909.jpg

怎么知道它是不是真的在运行呢?两个办法,一是看电脑上会出现一个新的U盘,15MB左右,这是程序创建的单片机板载U盘。另一个办法就是接着完成第二步,接个OLED,来个实时显示。

2,扩展附件1,连OLED显示屏

买一个SH1106的OLED,拔下单片机(断电)焊4根线:VCC接单片机5V、GND接单片机GND、SDA接单片机GP2、SCL接单片机GP3。单片机插回电脑(这时候不按BOOT键了),应该能看到OLED亮了,完成第二步!

附tb OLED图片,这两种都行

Screenshot_20250610_115153.jpg

3,扩展附件2,连HX711

单片机断电再焊另4根线,VCC接单片机5V、GND接GND、DAT接GP4、CLK接GP5。推力传感器也按线的颜色焊到HX711板上。为了达到80Hz采样率,需要用小刀片断开HX711背后那个RATE中间细细的连接处。这样整个系统软硬件就都完成啦!重新插回电脑,手压传感器能看到OLED显示的推力变化。

附tb HX711及传感器图片,这种紫色板比较好,设置采样率rate也容易些:

Screenshot_20250610_115335.jpg

Screenshot_20250610_115543.jpg

完成的系统如图

IMG_20250609_212946.jpg

可以装到一个聚碳酸酯盒子里,装上电池使用(这个照片里单片机还不是RP2040,仅供参考)。电池正极接到OLED的Vcc就行啦,正极线串入一个肖特基二极管(热缩管鼓起那里),以免忘了取出电池就插电脑,以及电池装反(有次黑灯瞎火搞就装反过!),我一般都是抠掉电池再插电脑或手机,勤快的可以给装上个开关。

IMG_20250712_195025_edit_178769100061262.jpg

照片中接的是30MPa压力传感器,用来测试燃烧室压力、测量燃速压力系数都很合适,这个采集盒也是兼容的,直接接上4根线就能用,校准需要找个带表头的空压机。

气压传感器型号见图,4条线的颜色跟HX711接口都是对应上的,直接兼容。

Screenshot_20250829_160830.jpgScreenshot_20250829_160724.jpg

盒子的tb图片,下方10cm大的那种,聚碳酸酯材质的,盖子炸飞了都没坏!

Screenshot_20250610_120740.jpg

再看看使用说明,是不是也很简单呢:

1,每次上电系统会自动去皮归零,然后进入定时采样,20ms一次。连续3个采样点推力大于50g会启动点火,然后连续采集10s后停止采样,计算并显示推力曲线及总冲量。

2,连接单片机到电脑或手机,会出现一个新U盘,里面有3个数据文件,一是校准文件Clb,二是运行计数Cnt,三是推力数据Run001。以后每次重新上电采集,会生成一个新的数据文件,文件名序号增Run00x。数据文件可以直接拷贝到电脑或手机上。不删除的情况下,这几个文件可以一直掉电保存,存到5000次试车数据后,文件名回到Run001覆盖之前数据。连电脑试车的情况下,也可以通过串口调试软件,实时传输推力数据至电脑。

3,校准,上电后(自动去皮后),拿一个已知重量的物体放推力台上(试车台竖直向下),如果物体重1000g,测得推力数值是210g,就把Clb文本文件里的1000000改成210000。再次重新上电测量,推力值就会变成1000g左右,这个值也会掉电保存,除非手动修改或删除。


系统的工作原理简介(供爱好者研究、并提改进建议,仅关心使用的可忽略)

1 单片机软件,使用Ardunio IDE编程,主要参考RP2040 C/C++ SDK手册及https://github.com/earlephilhower/arduino-pico,代码有点长290行,编译为二进制文件后使用。RP2040支持直接拷贝二进制程序,按住BOOT插USB的情况下,板载flash程序段会在电脑上显示为一个U盘,把arduino等单片机开发软件编译好的二进制文件拷到U盘里,单片机马上就会运行程序。所以不需要使用者懂单片机,不需要开发软件及准备各种库,拷完文件单片机马上就运行起来了。

2单片机内部程序流程

每次重新上电后,会自动运行一次去皮程序,测推力100次,取后50次平均值作去皮值,后续测量值都会减去这个值;

启动每20ms一次的定时中断,指向一个推力采集程序F_Smp;

初始化OLED显示;

生成或读取校准文件Clb.txt;

板载文件系统FATFSUSB程序,自动生成或打开一个电脑能访问的新U盘,对应板载flash的数据段,用于数据存储。

进入主循环loop程序,就是不停刷新OLED,实时显示推力值display.print(F);

每20ms定时中断会打断一下loop的OLED显示,跳转至推力采集程序F_Smp,每次只采集一个数据点;

推力采集程序包含点火启动判断,连续3个采样点推力大于50g为点火开始,数据点依次存入数组F0[500]。记录点达到498也就是接近10s之后,停止中断程序,也就停止了推力采集,还设置了一个循环存储以保存点火前一小段数据点到F0数组。最后一个采集点后,计算总冲,也就是从点火启动到最末大于50g(连续3个)的推力值 x 0.02秒累加。

最后一个采集点内还包含数据文件生成程序,第一次运行会建立计数文件Cnt.txt,从1开始以后每次加1,生成数据文件名从Run001开始,根据Cnt生成新文件名每次累加1。

最后loop主循环中OLED显示推力曲线,程序会自动调整XY显示范围。以及

FatFS.begin();
FatFS.end();
FatFSUSB.begin();

再次允许运行电脑或手机访问程序创建的板载U盘,以拷走数据或修改校准系数等。

源代码以文本文件附上:


attachment icon1_F711_RP2040.txt7.87KBTXT16次下载

另外还测试了低成本版,RP2040 2M flash单片机只要7.5元!OLED也是只要9多块钱

Screenshot_20250615_192017.jpg

程序需要这个2M flash的

attachment iconF711_RP2040_2M.ino.uf2252.50KBUF211次下载

试车台可以参考以前帖子,也是结构简单,就3个零件加几颗螺丝,大L型材底座、小L型材连接、U型槽用于绑发动机。

IMG_20250512_191031.jpgIMG_20250509_210039.jpgIMG_20250415_170852.jpg

最后这个是炸机的后果,以警醒大家要千万小心,要躲在掩体后面试车,祝大家玩得安全开心!







[修改于 2个月12天前 - 2025/08/29 16:11:54]

来自:电子信息 / 电子技术航空航天 / 喷气推进动手实践:实验报导严肃内容:教程/课程
29
 
7
新版本公告
~~空空如也
ZZCjas
5个月2天前 IP:湖北
944778

好教程😆,感谢大佬分享!


引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
柠檬酸hp
5个月2天前 IP:江苏
944785

厉害


引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
Tangshm作者
4个月29天前 IP:北京
944840

更正了一个小bug:Screenshot_20250613_094031_edit_489800961236198.jpg

这里x1.0先转换成浮点数。


引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
TK_2410
4个月21天前 IP:江苏
944992


感谢!很喜欢楼主的OLED板子,很方便且直观。

我还不懂编程,只是个普通高中生,不过楼主提供了很好的可供实践的方法,过几天暑假时来尝试一下☺️


引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
Tangshm作者
4个月20天前 IP:北京
944998

是啊先买一套连起来看看,能亮起来再说,买上面回复里说那两个便宜的就行。RP2040的好处是可以直接拷执行文件运行,先运行起来再试着去编代码。我有个工程实践课,其中有个6小时单片机教程(动手能力强的3小时就够),教生物专业本科生新手的,或许可以整理一下暑假发到KC上


引用
评论
1
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
TK_2410
4个月15天前 IP:江苏
945104


小白的一个疑问Screenshot_20250627_211513.jpg单片机上的GP2、GP3是右边从上往下第三个和第四个排母吗?IMG_20250627_210229.jpg

还有OLED显示屏上排针有SCK而非SCL,是楼主字打错了吗?IMG_20250627_210322.jpg

🤔


引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
Tangshm作者
4个月15天前 IP:北京
945106
引用TK_2410发表于6楼的内容
小白的一个疑问单片机上的GP2、GP3是右边从上往下第三个和第四个排母吗?还有OLED显示屏上排针有


对的,印的那个数字就是GP0-

Screenshot_20250627_224130.jpg


引用
评论
1
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
Tangshm作者
4个月15天前 IP:北京
945107
引用TK_2410发表于6楼的内容
小白的一个疑问单片机上的GP2、GP3是右边从上往下第三个和第四个排母吗?还有OLED显示屏上排针有

这个板子也一样Screenshot_20250627_224428.jpg


引用
评论(2)
1
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
Tangshm作者
4个月14天前 IP:北京
945122
引用TK_2410发表于6楼的内容
小白的一个疑问单片机上的GP2、GP3是右边从上往下第三个和第四个排母吗?还有OLED显示屏上排针有

亮了吗?😊


引用
评论(2)
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
TK_2410
4个月14天前 IP:江苏
945131

IMG_20250628_215250.jpg

这样,还差那些传感器板子杜邦线之类的,在等快递


引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
Tangshm作者
4个月14天前 IP:北京
945132
引用TK_2410发表于10楼的内容
这样,还差那些传感器板子杜邦线之类的,在等快递

哦哦,用杜邦线也行,我都喜欢直接焊高温导线,杜邦线爱掉


引用
评论
1
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
TK_2410
4个月13天前 IP:江苏
945149

对了,还有一个问题Screenshot_20250629_112917.jpg

楼主用的传感器是20千克的应变压力模块,如果觉得量程小,换成其他量程的模块,能够适配现有的程序吗


引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
暮羽要摸鱼
4个月13天前 IP:美国
945155
引用TK_2410发表于12楼的内容
对了,还有一个问题楼主用的传感器是20千克的应变压力模块,如果觉得量程小,换成其他量程的模块,能够适

能的,重新校准一下就可以了


引用
评论
1
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
Tangshm作者
4个月13天前 IP:河北
945158
引用暮羽要摸鱼发表于13楼的内容
能的,重新校准一下就可以了

对的,测拿个1kg重物测一下,然后把校准文档中的数改成读数克数加000


引用
评论
3
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
TK_2410
4个月12天前 修改于 4个月12天前 IP:江苏
945195


Screenshot_20250630_230555.jpg

IMG_20250630_225423.jpgIMG_20250630_230827.jpg

小刀操作起来有点不顺手,效果不够美观。成品是指这样吗?

😶💦

科创上有到处找过,似乎作者是唯一一个使用紫色板HX711的


引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
bs170
4个月12天前 IP:浙江
945196

RP2040好像说是能直接连个小屏装专用定制系统的,有试过的吗,有什么好的用处


引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
Tangshm作者
4个月12天前 IP:北京
945197
引用TK_2410发表于15楼的内容
小刀操作起来有点不顺手,效果不够美观。成品是指这样吗?😶💦科创上有到处找过,似乎作者是唯一一个使

竖着划


引用
评论
1
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
Tangshm作者
4个月12天前 IP:北京
945198
引用TK_2410发表于15楼的内容
小刀操作起来有点不顺手,效果不够美观。成品是指这样吗?😶💦科创上有到处找过,似乎作者是唯一一个使

这样也是能用的,不过只需要竖着刻两小道,把中间那一点点0.2mm的连线抠掉就行


引用
评论(1)
1
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
Tangshm作者
4个月11天前 IP:北京
945201
引用bs170发表于16楼的内容
RP2040好像说是能直接连个小屏装专用定制系统的,有试过的吗,有什么好的用处

没试过,看上去应该就是硬件集成了一下,软件应该还是独立的,可能有例程以及一段预装的显示代码。用起来估计跟自己买个屏接线差不多,就是屏幕贴得更紧


引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
TK_2410
4个月10天前 IP:江苏
945239

哭笑不得,白天接电路的时候,给RP2040

不小心电源装反了一会儿,晚上再插电脑的,已经没有反应了

又要来买,还得再等两三天


引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
御坂18650
4个月5天前 IP:北京
945385

最近试用了楼主设计的采集装置,用起来非常方便。个人觉得美中不足的一个问题是,采集数据中没有时间,711输出速率又不够稳定,导致还需要根据视频校准发动机工作时间。即使如此处理,最后得到的总冲也是精度一般的,如果数据文件加一列时间就解决了



引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
Tangshm作者
4个月5天前 IP:北京
945396
引用御坂18650发表于21楼的内容
最近试用了楼主设计的采集装置,用起来非常方便。个人觉得美中不足的一个问题是,采集数据中没有时间,71

不对哦,这个方案用的叫定时中断,它采集的时间是准准的20ms间隔,你别看它那个串口时间,那个不准的。你就按均匀的20ms采样时间点来用就好了。实在想看看时间的话,加一列时间输出肯定也是可以的啦,有空我看看代码再说哈


引用
评论(1)
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
Tangshm作者
4个月5天前 IP:北京
945401

IMG_20250707_223728.jpg

测试了,就是不用加时间戳,加了也是齐刷刷的20ms间隔


引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
Tangshm作者
4个月5天前 IP:北京
945403

IMG_20250707_231353_edit_692178991020422.jpg

用了另一个读时间函数看,精确到微秒!


引用
评论
1
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
MC_The_End
3个月7天前 IP:辽宁
946053


这里问一下用的电池型号,是18650吗


引用
评论
1
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
Tangshm作者
3个月7天前 IP:北京
946062

对的,其他类型锂电也可以


引用
评论(3)
1
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
风铃FL
2个月22天前 IP:山东
946475

有大佬可以帮助我一下吗?

按照作者的步骤思路,将文件拖拽至单片机中,并按下boot键。之后再打开是有一个文件里面显示10000。

但是当我用面包板连接OLED事儿,并没有成功点亮

求帮助Screenshot_20250819_134438_com.taobao.taobao.jpgIMG_20250818_212118.jpg



引用
评论
1
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
黑土
2个月22天前 IP:广东
946487

当我好不容易仿老帖搓出试车台,灌入程序后。看到你的预制菜程序有多绝望吗?


引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
Tangshm作者
2个月21天前 IP:北京
946509
引用风铃FL发表于27楼的内容
有大佬可以帮助我一下吗?按照作者的步骤思路,将文件拖拽至单片机中,并按下boot键。之后再打开是有一

不对啊,你用的是7线OLED。需要4线的(I2C接口),而且内置驱动芯片也有不同型号。


引用
评论(1)
2
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论

想参与大家的讨论?现在就 登录 或者 注册

Tangshm
学者 机友
文章
13
回复
134
学术分
1
2024/11/16注册,4时32分前活动

研究神经科学的火箭工程师

主体类型:个人
所属领域:无
认证方式:手机号
IP归属地:北京
插入公式
评论控制
加载中...
文号:{{pid}}
投诉或举报
加载中...
{{tip}}
请选择违规类型:
{{reason.type}}

空空如也

笔记
{{note.content}}
{{n.user.username}}
{{fromNow(n.toc)}} {{n.status === noteStatus.disabled ? "已屏蔽" : ""}} {{n.status === noteStatus.unknown ? "正在审核" : ""}} {{n.status === noteStatus.deleted ? '已删除' : ''}}
  • 编辑
  • 删除
  • {{n.status === 'disabled' ? "解除屏蔽" : "屏蔽" }}
我也是有底线的