Analog Hot End Strain Sensing Trigger

I spent half a year developing a prototype of a simulated hot end pressure sensor, which was inspired by https://github.com/IvDm/Z-probe-on-smd-resistors-2512 The power for developing this module comes from this discussion group https://klipper.discourse.group/t/strain-gauge-load-cell-based-endstops/2134/24 .

You can watch a test video of the finished product here:
https://www.youtube.com/watch?v=11KVl7zEl0E

At first, I attempted to use the original digital analog-to-digital conversion detection scheme, but due to the communication delay of the chip, the module would not be able to meet the basic error accuracy requirements unless a post-processing algorithm was used. Therefore, I switched to using an analog circuit scheme, using SMD resistors to provide conditions for mass production and reduce costs.

The module uses a four wire interface for output. After inputting 5V voltage, it is converted into 3.3V voltage to drive two operational amplifiers in the rear stage. The front stage is AD8226, and the rear stage is AD8616. It can amplify the small voltage difference generated by strain by 991 times and output it. There is a potentiometer that compensates for the initial bridge imbalance by adjusting the reference voltage. It can also be used as a sensitivity adjustment knob. The rear stage is a hysteresis comparator in the 0.02V range to provide stable sampling error.

This module can achieve simultaneous use of post-processing methods, with the following operation methods:
During bed leveling, the Klipper host starts recording the analog signal output by the module but does not take on the task of judging whether to stop using the signal. The MCU uses a hardware interrupt program to process the trigger signal output by the module. After the sampling is completed, the Klipper host determines the true height of the nozzle when it contacts the bed plane through the recorded voltage information corresponding to the time table. The voltage signal can also be used to calculate the z-axis offset of the hot end at the microscopic level during sampling in reverse.

The principle is different, but I hope it can rival Bambulab’s eddy current sensor on A1. I want to achieve the function of extrusion pressure closed-loop on a 3D printer. This module does not undertake the task of analog-to-digital conversion, but serves as a low-noise front-end stress amplifier and also has the function of a hardware probe.

However, my development ability for klipper is only limited to the GCODE macro level. Although I have been working hard to reverse engineer other modules of klipper to learn how to develop it, it is still difficult for me to make progress.

Making the printer run fast is easy, but making it print smoothly may be a bit challenging, but these are all insignificant. Making printers easy to use and able to print sufficiently perfect finished products at the right time is necessary to truly push this technology to a wider market,

Although I don’t want to admit that the development of 3D printers is driven by individual amateur enthusiasts from all walks of life. This industry has never had the same strong impact as Bambulab before, in my opinion, these are not real innovations. As long as companies see considerable commercial potential in it, countless large companies will establish affiliated research departments and immediately merge and surpass the technological accumulation of the past 10 years within a few months.

However, action itself is far more important than results. If there is no effort today, tomorrow will never come.

3 Likes

This is the protocol that was originally tested.


Where did you get the pcbs from, and do you have a complete schematic of the PCB? I would love to make one myself and test implementing it.

I am in jlcpcb production of circuit boards, the following are gerber files used to produce circuit boards:

Gerber_PCB_differential_amplifier_2024-05-04.zip (140.9 KB)

This is the source file of the project, applicable to easyEDApro:

ProProject_differential amplifier_2024-05-04.zip (322.4 KB)

Sorry if this is stupid, but what part is labeled TD? JLCPCB doesn’t know what it is supposed to be.

This is a short tutorial order, hope to help you,:

Did you order assembled or just the PCB?
When I’m trying to order assembled or look through the easy
design, it has no idea what TD is.


It’s a jumper to bypass the resistor. It’s usually just solder pads that you can bridge

image

2 Likes

I’m sorry I misunderstood you, just as@TheFuzzyGiggler said, this is a welding jumper, only used to prevent adjustable resistance accuracy error is too large for the safety design