This web page contains working assumptions, a list of mechanical design tasks executed, a list of limitations, and a collection of helpful images with comments.
We are ready to proceed if:
The Mechanical Ventilator Design was tasked to accomplish the following:
Chief among the limitations placed on this project was the stipulation that only "parts on-hand in the Abbott Analytical Products inventory" would be used. That resulted in the following:
Operating within the given limitations a sufficient level of design maturity was obtained to suggest that further effort is warranted. To reach that level of maturity the following task were complpeted:
Strategy Rationale: CNC machines typically employ XYZ axes. These axes are arrayed at 90 degrees to each other. Then rotational or angular motion axes ABC are employed to achieve further planar rotation about an axis. For example typically A is associated with rotating the planar work surface about the X axis (right hand rule with thumb pointing in the X posiitve direction the work surface would rotate in the conterclockwise direction).
But the Mechanical Ventilator Design allows the "project" to make a very important simplifying assumption. The design of this ventilator simulator is only concenred with a piston stroke and two small rotating disk that all lie in the same work plate. This greatly reduces the complexity of the gcode required to make a back and forward stroke and two separate angular moves. Further reduction in complexity can be made by forcing the CNC "home" location to the starting point for the "pull" piston stroke. Next the angular movement controled by Stepper 2 and Stepper 3 (inspiration and expiration values) can be assumed to occur at both the start/end points for the pull and the push stroke. In essence the project forces the ventilator simulator to make all motion in one work plane while the CNC "thinks" it is moving in three separate axes XAB with YZ held at (0,0). |
Link | Comment |
---|---|
![]() |
FreeCAD was used to generate the "test lung schematic" in 3D. It was also used to render a 3D depiciton of the mechancical asssembly of the envisioned stepper motors, drive mechanism, valves, pressure gauges, inlet and purge ports, etc. It also served as the tool for visualizing the conversion of milling operations into a piston stroke amd opening/closing valves. |
![]() |
A rendering of the "test lung" schematic is based on rendering by Robert Lasiewski.
The FreeCAD files, 036_testLungRespitoryProfile_987.FCStd and 036_testLungRespitoryProfile_987.FCStd1, are availale from the project bundel found at GITHUB, https://github.com/trooker/a034_nc_chickade. |
![]() |
The FreeCAD files, 037_972_nc_chickadee_3stepper_working.FCStd and 037_972_nc_chickadee_3stepper_working.FCStd1, are availale from the project bundel found at GITHUB, https://github.com/trooker/a034_nc_chickade. |
![]() |
Evolution of the workplate from the original 3D milling operations.
The FreeCAD files, 037_985_chickadee.FCStd and 037_985_chickadee.FCStd1, are availale from the project bundel found at GITHUB, https://github.com/trooker/a034_nc_chickade. |
![]() |
A piston approach was taken as a good means for insuring the proper volume of the Tidal Volume by presicion stepper control of the height of a cylinder of air. The inspiration values and expiration values would address the inspiration/expiration ratio. The breaths per minute would be a function of the steppers' linear and angular movement as well as Arduino processing time. |
![]() |
The top view displays the proposed ventilator simulator with a rendering of the static schematic of the lungs as authored by Robert Lasiewski . The discussion presented in that source should be reviewed early in any effort to understand the complexity of respiration. |
![]() |
Frontal view with rough dimensions depicted. |
![]() |
Top view focusing on the saddle, psiton, inlet port valve, stepper 2, the inspiration valve, and pressure gauge. The dimension display provide further enlightenment concenring the physical characteristics of the ventilator simulator. |
![]() |
Early stepper motor testing as a CNC and number cunching drew concern to stepper speed, piston stroke length, and volume pushed/pulled by the psiton. |
![]() |
Fine tunning of the piston diameter and piston stroke length suggested a "workable" value for use in the X axis direction. |
![]() |
Basic PVC plumbing 1 inch and 3/4 inch diameter.
Front view showing portal to test lung (3/4 inch dia.). Rear view from piston and exhaust reservior (1 inch dia and 3/4 inch dia., respectively). |
|
|
![]() |
With the basic plumbing established for the ventilator simulator, the next phase in the mechanical design was to describe a set of CNC milling operations that would drive a linear piston for a specificed distance and open/close airflow control valves with precision. This set of milling operations would then be submitted to FreeCaad's Path module for processing into collection gcode statements. This collection forms the "toolpaths" that the CNC milling machine will follow. |
![]() |
Early rendering of the FreeCad produced gcode displaying the XYZAB five axes complexity. |
![]() |
The current evolution of the dilni.ngc yields a simple set of angular movement at the start/end points of the pull/push stroke of the ventilators simulator's piston. The set of angular movement close/open the appropriate expiration/inspiration valuse.
At present the inlet portal valve, exhaust purge valve, and the expiration/inspiration pressure gauges have not been incorporated. With the present Arduino Adafruit AMS shields a four stepper could be added as Stepper C for an additonal angular movement control. |
![]() |
The video depcits the significant reduction in the complexity of movement and control that were achieved. |