The main objective of this project is to design a low-cost ventilator device with mechanical system that is able to provide consistent and accurate ventilation with positive pressure (for adults, toddlers & infants).
The motivation for doing this project was primarily an interest in undertaking a challenging project in an interesting area of engineering. The opportunity to learn about a new area of computing not covered in lectures was appealing. And the dire need of such type of projects for a country like ours which lacks the basic devices which can easily be made if anyone has passion, hardwork and urge to do something new. keeping these things in our mind we chose this project. We are three members in our group: Maliha, Shahzad Ali and Aqdass Hayat. The key feature of our project is to support spontaneous breathes provided through an ambubag which is pressed continuously by two bumpers from each side that are attached to motors. The main requirement of our project is to program a code on arduino to run the motors according to the modes selected through a user interface.
This device will be having the facility of user-interface system in which one of three modes will be selected for ventilation at a time. It wasn,t an easy task to make this idea into a solid prototype form. we faced a number of hurdles but due to our sincere teamwork and keen hardwork we became successful at the end.
Design Requirements:
For proceeding with this objective, we will be provided the essential components and other parts will be printed in Computer Numerical Control(CNC) machine
and Ultimaker 3D printing machine in Fabrication Lab and Workshop Lab.
Following components are considered for design requirements:
Two Dynamixel Motors(to push the ambu bag from left and right sides)
LCD Display with I2C Module(for graphical interface)
Rotary Encoder(to choose the modes and click the button)
Jumper Wires(for connections of components)
12V DC Power Supply
Self Created Dedicated Printed Circuit Board
Buck Converter(to step the 12V DC voltage down to 5V for LCD Display with I2C Module and Rotary Encoder)
Resuscitator (Ambu Bag)
Some Parts to be Printed from Ultimaker
Some Parts to be Printed from CNC Machine
Design
High Level Design
Sample Image of Final Design:
The following picture is the refrence to our final product. From this design, an idea will be taken and a similar product will be designed.
Refrence Circuit Diagram:
The following circuit diagram has been focused upon as a reference which is to be updated:
This reference circuit is based on two Arduinos which are connected by I2C protocols in which two of them are connected with each other with I square C(I2C) protocol by connecting two analog pins A4 & A5 of both Arduinos. One Arduino is Master which is sending signal to other Arduino which is Slave. Master Arduino is for LCD Display and Rotary Encoder and Slave Arduino is for motors.
The above circuit diagram comprises of two arduino UNO boards. As we said we will modify this circuit diagram and our final circuit diagram will consist of only one arduino UNO board. The pin no 2,3 and 4 will be connected to the Rotary encoder, the TX pin of arduino will directly give signal to the Dynamixel Motors and the lcd I2C module two pins will be connected to the analog pins A4 and A5 of arduino UNO.
Furthermore, we have been guided to create our own dedicated PCB Circuit which should run all the components with only one micro-controller.
Deligation of Tasks:
Tasks
Members
Review of literature/database.
Maliha
Selection of components.
Shahzad Ali
Design of electrical circuit and PCB layout.
Aqdass Hayat
Design of finished product.
Maliha
Writing firmware.
Shahzad Ali
Testing/debugging of hardware software
Aqdass Hayat
Final Assembly.
Aqdass Hayat, Shahzad Ali, Maliha
Mechanical Drawing:
The following picture is the roughly drawn mechanical design of the product:
Different dimensions (in inches) have been assigned to the parts keeping in mind the size of Ambu Bag and other parts.
The following picture is the rough schematic circuitry inside the product:
Distribution of Tasks:
S.No
Tasks
Pictures
Distributed to
1
To Operate Dynamixel Motors and to understand the mechanism and operation of Dynamixel Motors. Hurdles: We faced a number of difficulties among which choosing the right library was the first in the list. Solution: We kept searching for the right library to operate dynamixel Motors. We will add the desired library in our report data base.
Aqdass Hayat
2
To operate the LCD Display with I2C Module to get the idea of controlling it Hurdles: No serious hurdles were faced in this task. We just interfaced the LCD with arduino using I2C module. Vcc And Gnd were connected and the remaining two wires were connected to A4 & A5 respectively.
Maliha & Shahzad
3
To operate the Rotary Encoder with LCD Display with I2C module to get the idea of controlling it.
Aqdass Hayat
4
To Polish 2 rail guides from market so that our bumper push the ambu bag efficiently.
Aqdass & Shahzad
5
To implement the basic code of Dynamixel Motors to get the idea of operating them. Hurdles: The main difficulty we faced was to choose the right library for dynamixel motors and to use the right serial number of dynamixel motors in the code.
Aqdass & Maliha
6
To start connecting Rotary Encoder and LCD Display with I2C Module with Dynamixel Motors from scratch.
 
Maliha & Shahzad
7
To program and finalize the complete code step by step.
Aqdass & Maliha
8
To design in CAD.
Aqdass Hayat
9
To work on PCB Designing.
Shahzad & Sir Nadir
10
To solder components on PCB.
Maliha & Aqdass
11
Printing the PCB.
Team of FAB Lab
12
Printing all 3D parts.
Team of FAB Lab
13
To assemble everything together.
Aqdass, Maliha & Shahzad
14
To make report.
Aqdass, Maliha & Shahzad
Design
Design
The Design process has several layers to it. Electrical Design, Software Design, Final Hardware Assembly
High Level System Diagram:
The following circuit diagram has been created in Fritzing application software.
This became our finalized circuit design after receiving suitable components and working hard on coding for having one micro-controller.
Description of Principle of Operation:
In this circuit, 12V DC power supply has been connected to the oneDynamixel Motor and other Dynamixel Motor is connected to the first
Dynamixel Motor serially which is fixed and decided way of connecting as many Dyanmixel Motors. Only one pin of one Dynamixel Motor is sufficient to
be connected to the D1(Tx) of the Arduino which is one of the two pins of Arduino for serial communication. With LCD Display, I2C Module has
been connected to convert the serial data travelling process into parallel data travelling process which reduces the pin connections. Here, with module,
only two analog pins A4 & A5 of Arduino have been connected to the SDA(Serial Data) & SCL(Serial Clock) of the I2C Module. Rotary Encoder
's three pins have been connected to the digital pins D2, D4 and D3 of the Arduino.
LCD Display with I2C Module and Rotary Encoder both need only 5V DC Power Supply which can be provided via Arduino's 5V & GND pins.
When the Arduino code is uploaded in the Arduino UNO, there will be a menu with options
(Adult Mode, Toddler Mode & Infant Mode) being displayed in the LCD Display, and one of the options can be chosen with the help of Rotary Encoder.
In this manner, Dynamixel Motors will start and push the Ambu Bag from left side and right side as per the requirement.
Choice of Major Components and their Brief Descriptions
Component Name
Picture
Description
Dynamixel Motor
According to the Servo Motor in the reference circuit, at least 17.2 kg.cm torque is needed to push the Ambu Bag effectively.
For approaching this scenario, we have Dynamixel Motors which can be operated at 12V DC Power Supply which is easier to
be connected with just one pin to produce the similar torque to push the Ambu Bag.
I2C Module
This module has been used with LCD Display to convert serial data travelling process into parallel data travelling process and for reducing
pin connections from sixteen to four.
Rotary Encoder
This device is more prefarable than an ordinary potentiometer because of its more sensitive internal construction and
continuous rotation and having a button in its knob.
In this manner, it is convenient for navigating the menu.
Buck Converter (will be used in the PCB ahead)
As 12V will be used by Dynamixel Motors and 5V will be used by LCD Display with I2C Module and Rotary Encoder, this device, used as a Voltage Regulator,
will step down the 12V DC voltage to 5V DC Voltage only for Display with I2C Module and Rotary Encoder.Its potentiometer is adjusted to produce 5V from 12V DC Power Supply only for LCD Display with I2C Module and Rotary Encoder.
Connectivity of Components by Protocols:
Three main protocols have been used in the circuitry of this project.
UART Protocol
SPI Protocol
I2C Protocol
UART Protocol:
UART stands for Universal Asynchronous Reception Transmission. This protocol permits the arduino to communicate with serial devices through the pins D0(Rx) & D1(Tx).
Dynamixel Motors have been connected by using this protocol from D1(Tx) digital pin.
SPI Protocol:
SPI stands for Serial Protocol Interface. This protocol is implemented for two way communication between two devices especially when there is
the involment of clock signals.
Rotary Encoder has been connected by using this protocol from D2,D4 & D3 digital pins.
I2C Protocol:
I2C stands for Interintegrated Circuit or I square C. It is especially used when master and slave devices are connected for sending and receiving the signals
as well as for displaying text in LCD conveniently.
LCD Display with I2C Module has been connected by using this protocol from A4 & A5 analog pins.
Electrical Schematic:
Description:
From the beginning of our this project, our circuitry is based on Arduino. Hence, the schematic has been created similar to that of Arduino
in which ATMEGA328p micro-controller of SMD package has been used along with LEDs, capacitors, resistors, buck converter (voltage regulator),
and a crystal oscillator.
In addition to these, male connectors have been attached for our components and for uploading the code with FTDI Cable and for Bootload.Among these connectors, only one three pin connector has been attached for one Dynamixel Motor
,because the other Dynamixel Motor will be connected serially with the first one.
PCB Layout:
Challenges:
Firstly, we both tried to make the PCB on Eagle software, but we could not do that because of the complexity of wires.
Then, the team of FAB Lab helped us create the design of two layers and solder the IC of ATMEGA328p micro-controller of SMD package. Secondly, there was the error of reversed polarities of +ve & -ve terminals. It was resolved by connecting the 12V power in other direction. Thirdly, there was the error from the PCB of having 5V for the Dynamixel Motors (needing 12V)
which must have been for only Rotary Encoder and LCD Display with I2C Module. It was resolved by the team of FAB Lab by some extra connections behind the board.
Bill of Materials
Clean Populated Printed Circuit Board:
               
First Layer
                   
         
                   
                   
                   
Second Layer
               
Got Ready for BootLoad
                   
         
                   
              
Checking the Connectivity
Burning the Bootloader:
Procedure of Burning Bootloader
To burn the Bootloader in the new Micro-controller, a Bootloader Circuit is required whose few pins are connected
with few pins of the nine-pin header of the PCB. The FTDI cable is connected with its header.
From the Arduino IDE software, Burn Bootloader option is chosen from Tools and Bootloader is burnt.
In this process, two USB data cables are required which are connected to the PC, one for Bootloading Circuit and other for FTDI Cable.
Challenges in Booting Up
Successfully after burning the Bootloader, firstly, we had been instructed to disconnect the Buck Converter whenever we had to upload the
code in the Micro-controller only with FTDI Cable, because it could cause the voltage to become double which might destroy the whole PCB with over voltage supply.
Secondly, there must not have been any connection with the PC while connecting the Buck Converter for running the circuit with components.
In this PCB, basically, four components are to be attached which are Dynamixel Motor, LCD Display with I2C Module, Rotary Encoder,
and a Buck Converter. While operating the circuit, 12V voltage is supplied to the PCB from which all the 12V voltages are consumed by
Dynamixel Motors. But, LCD Display with I2C Module and Rotary Encoder consume only 5V which are provided by
the Buck Converter which steps down the 12V DC voltages to 5V DC voltages.
In this manner, only one 12V DC Power Supply is used effectively for the operation of whole circuitry.
Flow Code of the Software Design:
Main Construct of Program
Challenges:
Firstly, we had to study the whole scenario and write our own code of one Micro-controller. For this, we analyzed all the libraries and their
built-in functions to be used.
Secondly, we had to create the conditions for Rotary Encoder under which LCD Display with I2C Module could be controlled.
Thirdly, we had to understand the serial connection of Dynamixel Motors along with their fixed ID numbers which were mandatory in the
built-in functions of the library of Dynamixel Motors.Lastly, with many user-defined functions, we merged everything and programmed a suitable code for this.
In this process, DXF file is used and adjusted in the software of CNC Machine in which the inside cuts and outside cuts are decided.
For holes, inside cut process is chosen for which separate commands are set up.
Parts to be 3D Printed
Bumper
Taken From Refrence Website
Support
Taken From Refrence Website
Clamp Arm
Taken From Refrence Website
Gear
Designed and Modified By us
Housing Base
Taken From Refrence Website
Rail
Designed and Modified By us
Motor Mount
Designed by us
Assembly of Enclosure and Rail Guides:
Printing 3d Parts:
Procedure of 3D Printing in Ultimaker:
The STL file is opened in Cura slicing 3D printing application where the part is viewed and set according to
the slicing pattern, and time taken can also be taken in.
Then, GCode is formed which is copied in the SD Card and inserted in the Ultimaker
which understands the GCode, and prints the part by slicing the hot plastic material in the required pattern.
Painting and Furnishing Enclosure Assembly:
Assembling PCB into the Enclosure:
Design Consideration:
The idea of the design has been taken from the reference website, and the dimensions have been set in both inches and mm.
According to the height and diameter of Ambu Bag, the dimensions have been decided, and upper part has been
built according to the movement of bumper. Inside the enclosure, there will be the dedicated PCB and wires
to connect the components internally. All the components are outside the enclosure execpt PCB to whom 12V DC power supply
will be connected from the big hole which will be drilled in the next stages.
The above Problem was solved by troubleshooting the program again and again.
Rail guide and Bumper Attachment issue:
For just practice we used double side tape to attach the bumper with the rail guide but while we were thinking of the professional aspect where high pressures are experianced then a solid solution must be found. so hence we used screws to tighten the upper side of rail guide with the bumper. hence our problem was solved.
The Motor mount from the refrence website was not applicable:
The motor mount from the refrence rice university website was not applicable on design type we invented so the motor mount from the refrence website was useless. hence we designed our own durable and efficient Dynamixel Motor Cage on our own.
Business Model of the Project:
Nowadays, every product, especially highly proficient and technological, is demanded a lot in the market. Here, our mission is to create
somehow an affordable and portable ventilator which can be used in case of extreme emergencies just like in ambulances.
As the world has been caught by the highly contagious of COVID, such project is helpful in this critical condition in which the patients can be
provided the convenient means of breathing. The two main advantages of this project are that it is a little bit affordable and portable to carry everywhere
in case of serious and critical conditions.
Click here to download the right Zip libraries for dynamixel Motor and rotary encoder.
Conclusion:
In this course, we felt fortunate to learn plenty of new things by the strategy of self-learning. It must be said that this course proved to be
different from the rest of courses. We were free to apply new things and to do brain-drilling activities.
While making project, we learnt about group management, coordination and cooperation with one another. Our concepts were revised and polished, and
teaching and learning activities were always together.
Although it was the big loss of having the off days during the session, yet we tried our best to overcome the situation and hardships.
In our project, at the end, some mechanical errors occurred, which are the lessons for us to be more careful for them ahead.
To sum up, this course is full of learning. All are encouraged to study this with the great pomp and show.
Bill of materials:
Component
Cost
Full PCB
Rs.4552
LCD Display
Rs.488
I2C Module
Rs.163
KY-040 Rotary Encoder
Rs.163
Dynamixel Motors
Rs.23413
Plywood
Rs.4227
Plasting of 3D Printing
Rs.4065
Rail Guides
Rs.1000
Total:
Rs.38,071
Intellectual Properties and Ethics Considerations:
This project was made with the help of references taken from the project of RICE university. This project can be used for educational purposes only.
Commercialization Aspects:
After the COVID-19 pandemic we have seen that how much important are the ventilators in our country.Like every other medical devices, especially highly proficient and technological, ventilator has a great demand in the market. Here, our mission is to create somehow an affordable and portable ventilator which can be used in case of extreme emergencies just like in ambulances. As the world has been caught by the highly contagious of COVID, such project is helpful in this critical condition in which the patients can be provided the convenient means of breathing. The two main advantages of this project are that it is not much expensive as the electronic ventilator that is used in hospitals also it is much easier to carry it anywhere in case of serious and critical conditions. We can design and sell an improved version of our project if we get an oppurtunity.