
3D打印机压力调平传感器
简介
diy3D打印机压力调平传感器, 压力调平是目前为数不多的靠谱的喷嘴限位的传感器方案, 超高速应变片数据采集, 数据可视化, 有运算放大器版, CS1237版和LDC1612涡流版
简介:diy3D打印机压力调平传感器, 压力调平是目前为数不多的靠谱的喷嘴限位的传感器方案, 超高速应变片数据采集, 数据可视化, 有运算放大器版, CS1237版和LDC1612涡流版开源协议
:MIT License
(未经作者授权,禁止转载)描述
diy 3D打印机称重压力调平传感器, 称重压力热床是目前为数不多的靠谱的喷嘴限位的传感器方案, 其他的比如喷头上的压电震动传感器,压力薄膜传感器安装没那么稳定, 不靠谱,有撞机的风险.
提供基于谷歌浏览器的上位机可视化页面, 都不用安装,直接打开网址就可以了 https://demo.chengxg.top/tiaoping-sensor/html/index.html
硬件采用stc32g8k64芯片主频设置为24M, 这个单片机连晶振都不需要, 最小系统极为简单, 其ADC采集频率达800K,别看这个芯片是C251架构,运算能力不行, 比起esp32, esp8266等的adc要强不少, 足以满足该需求
元器件都采用0805的电容电阻,焊接简单,总成本10元左右
每隔一定时间检测到adc变化数值小于一定数值, 就认为热床静止, 就自动设为校准值
最快可以设置0.25ms发送一次adc数据到页面, 可以查看调平过程中的波形,以确定最佳的触发力度, 程序代码全程异步无阻塞执行, 即使以如此高的频率发送数据也不影响调平精度
该模块与谷歌浏览器通信需要一个usb转串口模块, 通信波特率1M
该模块提供四挡放大倍率50,200,1000,5000倍放大, 根据实际情况选择一个通道即可, 只需把通道的放大倍率设置为0, 就可以禁用该通道, 启用的通道数量越少, 刷新率越高, 四通道同时启用时刷新率高达15k/s, 只启用一个通道刷新率达30k/s
通信波特率比较高, 需要用ch340芯片的usb转串口模块连接该模块, 用其他芯片的usb转串口模块可能连接不上
由于限位信号输出串接了一个100欧的电阻, 可能在有的主板上无法触发限位, 需要将这个电阻改小才行


天问block代码编译

STC-ISP 下载

2024-10-07更新
程序代码移植到stm32f072c8t6上了, 主频48M,框架代码由stm32cubeMX生成, 开发工具为vscode上的platfotmIO, 易用性提高, 成本降低, 性能提升, 程序刷新速率提升至50k/s, 串口数据传输采用usb虚拟串口, 不用ch340了, 而且通信波特率任意可调, 砍掉了一个放大200倍的通道

程序下载采用stmcubeprogramming


----------------------- 2025-05-05重大更新 新一代的压力调平传感器--------------------
本次全新升级, 只保留一个采样通道, 采用两级INA180A2来级联放大, 最高放大倍数为2500倍, 兼具精度和数据波动, 采用两阶RC滤波器, 大大减小数据波动, 数据波动在无干扰情况下为±4, 在有干扰情况下仅±10, 可以使用更低的触发值, 软件方面升级很大, 性能更高, 操作更方便.
- 1. 采用两级INA180A2运算放大器, 并添加一个反相通道, 不再区分信号输入的正和负, 有些传感器零点漂移大, 很可能零点会反转, INA180A2放大器价格更低
- 2. pcb面积大大减小, 以压力头适配为准, 通过集线器兼容到压力床.
- 3. 实验性支持四线probe, 类似fly新出的ALPS压力调平, 可以使用probe的activate_gcode和deactivate_gcode来主动控制probe使能, 可以实现仅在探测Z的时候启动探测, 大大减小XY移动过程中造成的干扰, 可以更改触发方向, 有些传感器安装上之后, 受力之后读数会变小, 这时你需要调整触发方向
- 4. 全新的上位机UI界面, 基于谷歌浏览器, UI美观, 运行流畅, 不用安装软件, 参数调节更简单, 参数更多, 支持按钮调节挡触发阈值, 各项操作逻辑更人性化, 优化echarts图表, 实现最大可以存储120s的波形数据, 数据总量可达1200万数据, 每秒新增100k数据, 实时刷新波形数据, 流畅运行, 可以用于超高速应变片数据采集
- 5.固件代码优化, 检测触发速度达到了200k/s, 数据输出速度最高可达100k/s, 刷新速度远超cs1237方案, 串口通信采用2M波特率, USB转串口芯片采用AI8H2k12U, win10, win11免驱动支持
- 6. 加入数据导入导出功能, 实测单点探测精度相当高, probe速度在30mm/s的探测条件下, 单点探测精度为0.003750, 5mm每秒探测速度下出现0.00125的概率很大, 可以分析具体波动数据, 实现定量研究某些问题, diy模块到达拓竹的水准不是梦
- 7.数据读数小于50, 大于4000,强制输出限位信号, 加入看门狗定时器功能, 防止单片机死机造成事故,加强保护功能
- 8.mcu换回stc32g8k64, 采用tssop20封装, 容易焊接, 价格便宜, stc isp下载运行频率设置为40M, 全寄存器编程, 运行效率吊打库函数的stm32f072c8t6, 而且ADC精度也优于stm32f072c8t6, 集成AI8H2k12U USB转串口, 相比ch340价格更低, 性能更高, 而且还不会导致电脑蓝屏, 实现了200k/s的刷新率和2M波特率的满带宽实时数据传输
- 9.添加一个按钮, 用于通过按钮调节触发阈值, 类似air001的方案 https://oshwhub.com/aoang/air001_bedprobe
- 10. 网页托管在GitHub上, 国内访问速度慢, 可以下载下来在本地打开网页, 页面访问地址 https://demo.chengxg.top/tiaoping-sensor2/
- 11.可以通过更换其他的INA180A1(放大20倍), INA180A3(放大100倍), INA180A4(放大200倍)组合成其他的放大倍数, 放大倍数越大, 波动越大, 受零点的漂移影响越大, 默认是两个INA180A2 50*50的组合, 也可修改两个运算放大器之间的RC值改变灵敏度, 电阻越小灵敏度越高, 越容易受到干扰
- 12. 带TVS保护, 输入电压不能超过7V, typec输入有二极管隔离, usb电源跟主板电源隔离, 无需担心电脑的安全
- 13.程序第一次下载时需要短路如图所示的电容, 让单片机重启复位下才能下载程序, 以后再次下载程序时, 可以使用上位机软件点击"重启单片机"按钮来复位
- 14.正常工作时, led1每1s闪烁一次, 每100us获取一个数据, 3s内每个数据的波动范围小于清零偏差时, 会自动清零, 会以采样数据点的平均值作为清零值, 此时led1会快速闪烁几次表示清零, led2为触发状态指示灯






----------------------- 2025-08-31更新 新一代的压力调平传感器 CS1237版,LDC1612版--------------------
CS1237版实现了多个芯片并联加快采样速率, 采用REF303电压基准源数据波动很小, 相比运算放大器版灵敏度高,线性度好, 测量范围广, 就是采样速率低, klipper probe最高精度比运算放大器版略低, 但是也足够了, 最高精度0.00375还是能达到的, 可以只焊接一个CS1237, 跟两个CS1237并联差距不大
- 加入了滤波功能,开启滤波可以有效减小数据波动, 但是会加大延迟
- 加入了清零时间设置, 可以设置在多少秒内, 数据的波动小于设置的清零偏差时, 会自动清零
- 数据保护, 当读取的数据绝对值小于30, 或者大于10000时, 认为数据异常, 触发限位输出
- 当超过20ms未读取到数据时, 认为CS1237芯片有问题, 触发限位输出
- 当读取的数据长时间没有变化时, 也认为CS1237芯片有问题, 触发限位输出
- 压力床在使用多个传感器并联时需要单个接入看数据是否一致, 需要注意数据的正负,受力后数据的变化方向, 是否一致
- 电子称传感器的安装方向不能看标的安装方向, 要以实际的数据为准, 不要出现不受力时负的, 受力后是正的情况
- 压力传感器干扰客观存在, 热床的干扰问题, 干扰分为pwm干扰和交流干扰, pwm干扰可以通过热床接地解决, 交流干扰是接地时引入的, 需要将直流电源的GND和地线进行耦合, 如果波动不大可以不做处理
- PWM干扰容易观察, 交流干扰通过拔掉笔记本电脑的电源才能发现, 不拔掉笔记本的电源的话, 就通过笔记本USB口接地了,这就是为什么有的人会出现插上USB没干扰, 拔掉USB会出现干扰的问题
- 无干扰时数据波动为8以下, 有交流干扰时数据波动为20, 有PWM干扰时数据波动为50, 既有交流干扰又有PWM干扰时数据波动为30, 可见只有PWM干扰时影响最大, 总之热床接地就能很好的解决问题






LDC1612版实现了一个接近开关的功能, 既可以使用无接触限位(普通接近开关), 也就可以实现喷嘴限位(类似IDM的touch功能)
喷嘴限位通过检测数据上升的变化, 当喷嘴喷到热床时, 数据会停止上升,此刻就会触发限位, 对喷嘴和pei板的清洁要求还是很高的,可以用, 不如压力调平稳妥, 该版本仅作探索
使用时需要先把线圈放在喷嘴附近, 在喷嘴上方2mm左右的位置, 然后移动热床, 将热床放在距离喷嘴1mm左右位置, 将此时的读数作为触发阈值, 也就是接近开关的功能, 当传感器读数大于触发阈值时就触发输出限位, 当使用喷嘴限位时, 在读数大于触发阈值且数据持续上升时, 直到数据不再增加或略微减小时, 就认为喷嘴接触了热床, 此时触发输出限位
模式控制就是可以通过一个IO来控制模块当前是使用喷嘴触发还是使用无接触触发, 这样可以实现在在网床和调平时使用无接触限位, 在Z归零时使用喷嘴限位




设计图
未生成预览图,请在编辑器重新保存一次BOM
暂无BOM
克隆工程工程成员
知识产权声明&复刻说明
本项目为开源硬件项目,其相关的知识产权归创作者所有。创作者在本平台上传该硬件项目仅仅供平台用户用于学习交流及研究,不包括任何商业性使用,请勿用于商业售卖或其他盈利性的用途;如您认为本项目涉嫌侵犯了您的相关权益,请点击上方“侵权投诉”按钮,我们将按照嘉立创《侵权投诉与申诉规则》进行处理。
请在进行项目复刻时自行验证电路的可行性,并自行辨别该项目是否对您适用。您对复刻项目的任何后果负责,无论何种情况,本平台将不对您在复刻项目时,遇到的任何因开源项目电路设计问题所导致的直接、间接等损害负责。


评论