数码之家

 找回密码
 立即注册
搜索
查看: 6715|回复: 72

[综合] 微型气泵可以玩了,气压传感器数据可读

[复制链接]
发表于 2021-12-28 10:42:40 | 显示全部楼层 |阅读模式
本帖最后由 muyan 于 2021-12-28 21:00 编辑

值得买上有大神分享了制作过程,并且分享了arduino的代码,这里感谢大神
https://zhiyou.smzdm.com/member/4580489080/

后面可以根据需要修改,我会用esp32来控制充气,目前采集的数据取平均数无法很好地计算到准确值,只能按具体值来充气了
传感器最大压力值6bar
参考各种换算方法,1psi=6.895kPa=0.0689476bar

按照这个计算出来基本准确

如果有更好的算法,希望不吝赐教
CS1237充气气泵控制板[未验证] - 立创EDA开源硬件平台 https://oshwhub.com/muyan2020/cs1237-chong-qi-qi-beng




复制代码
  1. /* 小气泵控制程序
  2. * 气压传感器DSH700,数模模块CS1237
  3. * 1毫米水柱=9.8066135802帕斯卡  液体压强计算公式P=ρgh可知:代入常数值:ρ=1000kg/m^3,g=9.8m/s^2=9.8N/kg
  4. * 1巴(bar)=100千帕(kPa)=1000百帕(hPa)=1000毫巴(mbar)=100000帕斯卡
  5. * 1psi=6.895kPa=0.0689476bar =0.006895MPa
  6. 1标准大气压(atm)=14.696磅/英寸2(psi)
  7. 1巴(bar)=100千帕(kPa)
  8. 1达因/厘米2 (dyn/cm2)=0.1帕(Pa)
  9. 1托(Torr)=133.322帕(Pa)
  10. 1毫米汞柱(mmHg)=133.322帕(Pa)
  11. 1毫米水柱(mmH2O)=9.80665帕(Pa)
  12. 1工程大气压=98.0665千帕(kPa)
  13. 1千帕(kPa)=0.145磅力/英寸2(psi)=0.0102千克力/厘米2(kgf/cm2)=0.0098大气压(atm)
  14. 1磅力/英寸2(psi)=6.895千帕(kPa)=0.0703千克力/厘米2(kgf/cm2) =0.0689巴(bar)=0.068大气压(atm)
  15. 1标准大气压(atm)=101.325千帕(kPa)=14.696磅/英寸2(psi)=1.0133巴(bar)=760毫米汞柱(mmHg)
  16. * 屏显版:选择充气气压,按键开启充气,显示当前气压,达到目标值停止充气
  17. * 简单版:4个led显示4种气压选择,按键开启充气
  18. *
  19. * 927384   0.3
  20. * 1026141  0.4
  21. * 1305485  0.6  篮球
  22. * 2080369  1.2
  23. * 2224276  1.29
  24. * 2539945  1.5
  25. * 3113765  1.9
  26. * 3188414  2
  27. * 3234954  2.04
  28. * 3375692  2.15
  29. * 3762277  2.43  摩托车
  30. * 3839579  2.5   汽车
  31. * 3902948  2.53
  32. * 4273014  2.8
  33. * 4419500  2.95
  34. * 4480105  2.97
  35. * 4580560  3.05
  36. * 4966855  3.3
  37. * 5237358  3.5
  38. * 5691781  3.9  自行车
  39. * 5797899  4.0
  40. * 5890198  4.03
  41. * 6124920  4.22
  42. * 7168366  5.1
  43. * 7701561  5.4
  44. * 8276554  5.85
  45. * ESP32 A4 = 32; A5 = 33;
  46. * ESP8266 D1 = GPIO5; D2 = GPIO4;
  47. */

  48. int ndrdy = D2; //SDA
  49. int clck = D1;  //SCL
  50. int pwm = D5;
  51. bool is_run = true;

  52. void setup() {
  53.   Serial.begin(115200);
  54.   pinMode(pwm, OUTPUT);

  55.   while (!Serial) {}

  56.   digitalWrite(ndrdy, LOW);
  57.   pinMode(ndrdy, INPUT);

  58.   digitalWrite(clck, LOW);
  59.   pinMode(clck, OUTPUT);

  60.   while (digitalRead(ndrdy)) {}
  61.   while (!digitalRead(ndrdy)) {}
  62. }

  63. long readADC()
  64. {
  65.   if (digitalRead(ndrdy))
  66.     return -1;

  67.   long result = 0;

  68.   for (int i = 0; i < 24; i++)
  69.   {
  70.     digitalWrite(clck, HIGH);
  71.     delayMicroseconds(1);
  72.     int new_bit = digitalRead(ndrdy);
  73.     digitalWrite(clck, LOW);
  74.     delayMicroseconds(1);
  75.     result <<= 1;
  76.     result |= new_bit;
  77.   }

  78.   for (int i = 0; i < 3; i++)
  79.   {
  80.     digitalWrite(clck, HIGH);
  81.     delayMicroseconds(1);
  82.     digitalWrite(clck, LOW);
  83.     delayMicroseconds(1);
  84.   }

  85.   return result;
  86. }


  87. void loop() {
  88.   long adcValue = readADC();
  89.   if (adcValue > 600000 ) {
  90.     Serial.print("ADC reading: ");
  91.     Serial.print(adcValue);
  92.     Serial.print("\t");
  93.     Serial.print(adcValue/100000*0.0689476);
  94.     Serial.println("bar");
  95.   } else {

  96.   }
  97.   if (adcValue >= 3839579)
  98.   {
  99.     delay(500);
  100.     digitalWrite(pwm, LOW);
  101.     Serial.println(" End of Run ");
  102.     delay(500);
  103.   }
  104.   else
  105.   {
  106.     if (is_run == true)
  107.     {
  108.       digitalWrite(pwm, HIGH);
  109.       delay(500);
  110.     }
  111.   }
  112. }
复制代码







补充内容 (2022-1-9 15:46):

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x

打赏

参与人数 4家元 +70 收起 理由
邓穿石 + 20 謝謝分享
数码家园 + 10
kaixi_ants + 20 謝謝分享
aec + 20 謝謝分享

查看全部打赏

发表于 2021-12-28 11:42:01 | 显示全部楼层
都是大神,膜拜
回复 支持 反对

使用道具 举报

发表于 2021-12-28 12:21:00 | 显示全部楼层
自行车要充到3-4个压的

打赏

参与人数 1家元 +6 收起 理由
muyan + 6 謝謝分享

查看全部打赏

回复 支持 反对

使用道具 举报

 楼主| 发表于 2021-12-28 12:25:10 | 显示全部楼层
nnn2688 发表于 2021-12-28 12:21
自行车要充到3-4个压的

这么高,我是按照铁将军默认值的
回复 支持 反对

使用道具 举报

发表于 2021-12-28 12:25:17 来自手机浏览器 | 显示全部楼层
值得买上arduino代码发上来看看,加个0.96OLED屏幕显示更直观。
回复 支持 反对

使用道具 举报

发表于 2021-12-28 12:57:26 | 显示全部楼层
nnn2688 发表于 2021-12-28 12:21
自行车要充到3-4个压的

确实,电动自行车我都充到4个大气压,人们认识有种误区,认为自行车胎压比汽车小,实际上要比汽车胎压大,只不过充气量少了而已,汽车充气量多,但是气压低。

打赏

参与人数 1家元 +6 收起 理由
muyan + 6 謝謝分享

查看全部打赏

回复 支持 反对

使用道具 举报

 楼主| 发表于 2021-12-28 12:58:32 | 显示全部楼层
solarshen666 发表于 2021-12-28 12:57
确实,电动自行车我都充到4个大气压,人们认识有种误区,认为自行车胎压比汽车小,实际上要比汽车胎压大 ...

了解了,谢谢分享
回复 支持 反对

使用道具 举报

 楼主| 发表于 2021-12-28 13:02:00 | 显示全部楼层
aec 发表于 2021-12-28 12:25
值得买上arduino代码发上来看看,加个0.96OLED屏幕显示更直观。

代码在上面帖子里,小改了一下而已

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复 支持 反对

使用道具 举报

发表于 2021-12-28 14:02:56 | 显示全部楼层
数据用EXCEL画图看看。
回复 支持 反对

使用道具 举报

发表于 2021-12-28 14:22:53 | 显示全部楼层
本帖最后由 nvy 于 2021-12-28 15:05 编辑

数据基本接近一无线性方程,用最小二乘法拟合,试个Y=0.0000008X-0.4038
回复 支持 反对

使用道具 举报

 楼主| 发表于 2021-12-28 15:37:40 | 显示全部楼层
nvy 发表于 2021-12-28 14:22
数据基本接近一无线性方程,用最小二乘法拟合,试个Y=0.0000008X-0.4038
你的算法不错,后来我又发现下面这个换算比较准确
1psi=6.895kPa=0.0689476bar


回复 支持 反对

使用道具 举报

发表于 2021-12-28 17:17:21 来自手机浏览器 | 显示全部楼层
兄台厉害,学习了,如果能加上显示部分就完美了
回复 支持 反对

使用道具 举报

 楼主| 发表于 2021-12-28 18:06:28 | 显示全部楼层
在路上795 发表于 2021-12-28 17:17
兄台厉害,学习了,如果能加上显示部分就完美了

加屏就自己根据需要了,手里屏幕也不同,我会加上web访问,连接到esp32或者8266的wifi就能控制了
回复 支持 反对

使用道具 举报

 楼主| 发表于 2021-12-28 19:02:15 来自手机浏览器 | 显示全部楼层
整了个跟大神一样的盒子

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复 支持 反对

使用道具 举报

 楼主| 发表于 2021-12-28 21:01:11 | 显示全部楼层
CS1237充气气泵控制板[未验证] - 立创EDA开源硬件平台 https://oshwhub.com/muyan2020/cs1237-chong-qi-qi-beng
回复 支持 反对

使用道具 举报

发表于 2021-12-30 12:52:27 | 显示全部楼层
目测要涨价了,赶紧屯两个
回复 支持 反对

使用道具 举报

发表于 2021-12-31 14:38:44 | 显示全部楼层
目测要涨价了,赶紧屯两个

回复 支持 反对

使用道具 举报

发表于 2022-1-6 16:36:12 来自手机浏览器 | 显示全部楼层
muyan 发表于 2021-12-28 21:01
CS1237充气气泵控制板[未验证] - 立创EDA开源硬件平台 https://oshwhub.com/muyan2020/cs1237-chong-qi-qi- ...

问一下红圈中的代码什么作用?


本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复 支持 反对

使用道具 举报

发表于 2022-1-6 17:10:11 | 显示全部楼层
小白问一下,大佬的这个板子资料是打完还要自己买元件焊接么
其实永久高压气筒更不错
回复 支持 反对

使用道具 举报

 楼主| 发表于 2022-1-6 20:45:49 | 显示全部楼层
lonely小羽 发表于 2022-1-6 17:10
小白问一下,大佬的这个板子资料是打完还要自己买元件焊接么
其实永久高压气筒更不错 ...

还要接esp板对这个板进行控制,半拉子工程
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

APP|手机版|小黑屋|关于我们|联系我们|法律条款|技术知识分享平台

闽公网安备35020502000485号

闽ICP备2021002735号-2

GMT+8, 2025-5-10 11:31 , Processed in 0.218400 second(s), 12 queries , Redis On.

Powered by Discuz!

© 2006-2025 MyDigit.Net

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