Skip to content

Software for the Piezo14 nozzle contact detector board

License

Notifications You must be signed in to change notification settings

leadinglights/Contact

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

29 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Contact is a program for detecting a good nozzle contact event for the purpose of build stage leveling on a 3D printer equipped with piezoelectric disc sensors. This program runs on the Piezo14 conditioner PCB.

Amplifier/conditioner circuits for detecting the contact signal are not able to discriminate signals from mechanical or electrical noise and can cause unreliable build stage leveling. Physical problems such as the presence of molten plastic on the printer nozzle can also adversely affect the detection accuracy.

During a probing operation the nozzle of the printer is driven down at a constant speed until it makes contact with the build stage whereupon an output will be generated by the piezo disc/discs. For most geometries of sensors the output will be linear with time at the point of contact while unwanted signals will generally not be linear or not fall within the voltage rate typical of a nozzle contact. The presence of molten plastic and some other contaminants on the nozzle will also give rise to a recognizable signal distinct from a good contact signal.

The program and circuit described here is intended to discriminate reliable contact signals which can be used for the detection of contact events from unreliable contact events. Unreliable contact events are still reported to the host computer in order that the probing operation can be repeated.

The program itself looks for recognizable characteristics of a good nozzle contact signal. These are:

A baseline where the signal remains within upper and lower bounds An initial part of the signal which is at a level close to the baseline and which is essentially flat. A linearly rising voltage which rises within upper and lower bounds of rate to above a lower trigger level which is a set level above the baseline

If all of the forgoing were found than a signal is given to indicate a good contact.

If there is a contact where the signal either rises at too fast a rate or is not sensibly linear or meets an upper trigger level without being linear then a signal is given which indicates that a contact has been detected but it is not a reliable contact.

A second unreliable contact level exists which is at an absolute voltage rather than relative to the baseline.

This program is written entirely in assembler for the PIC16F1703. The program exists only in a single file and is written with minimal branches in order to achieve a short cycle time.

About

Software for the Piezo14 nozzle contact detector board

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published