Introduction: DIY CT Scan Machine | Arduino Project

About: Electrical engineer by profession

Hello friends in this video I have made something unique, CT Scan machine toy. using arduino and some motors.

I have imitate the mechanical function of CT Scan or MRI machine how table slide inside the tunnel how magnetic resonance disc rotate around the table.

I have also added a small screen for more fun I have displayed a series of images on display so it will look more amazing.


This is not at all near to a real CT scan Machine this is just a science toy made for fun.


First, we will see what is CT Scan machine


A CT scan machine, or computed tomography scanner, is a medical imaging device that uses X-rays to create detailed cross-sectional images of the body. It provides a more comprehensive and detailed view of internal structures than traditional X-ray images.


Here's how a CT scan machine works:


1. X-ray Generation:** The CT scanner consists of an X-ray tube and detectors that are placed on opposite sides of the rotating gantry. The patient lies on a motorized table that moves through the gantry.


2. X-ray Beams and Detectors:** The X-ray tube emits a series of narrow beams that pass through the body. Detectors on the opposite side of the patient measure the amount of radiation that makes it through the body.


3. Data Acquisition:** As the gantry rotates around the patient, multiple X-ray projections are obtained from different angles. These projections are converted into digital signals by the detectors.


4. Computer Processing:** A computer processes the digital signals and uses mathematical algorithms to reconstruct detailed cross-sectional images, or slices, of the body. These slices can be viewed individually or stacked to create a 3D representation.


CT scans are valuable in diagnosing a variety of conditions and injuries, including:


- Trauma:** Detecting injuries to bones, organs, and soft tissues.

- Cancer:** Identifying and locating tumors.

- Vascular Imaging:** Examining blood vessels and blood flow.

- Infections:** Locating and characterizing infections.

- Internal Bleeding:** Identifying sources of internal bleeding.


CT scans are versatile and widely used in medical settings for their ability to provide detailed images of internal structures. However, they do involve exposure to ionizing radiation, so healthcare professionals carefully weigh the benefits against the risks when recommending CT scans. In some cases, alternative imaging techniques, such as MRI or ultrasound, may be considered based on the specific clinical requirements.


Supplies

Here is the brief list of material List.

  1. Slotted channel 1 mtr
  2. Brass 40mm stud
  3. 3D printed parts
  4. grove bearing
  5. GT2 belt
  6. N20 micro gear motor
  7. Custom PCB
  8. 9mm linear bearing
  9. 6mm Acrylic
  10. Nema 17 stepper motor


The material list comprises various components essential for building a mechanical or electronic system. Here's a brief note on each item:


1. Slotted Channel (1 meter):** Slotted channels are versatile structural elements with slots for attaching other components. They provide a modular framework for constructing support structures or frames in various applications.


2. Brass 40mm Stud:** A brass stud is a cylindrical rod with threaded ends, typically 40mm in length. It is commonly used for joining or securing components in mechanical assemblies.


3. 3D Printed Parts:** 3D printed parts are customized components created using additive manufacturing technology. They offer design flexibility and can be tailored to specific shapes and sizes for various functions in a project.


4. Groove Bearing:** Groove bearings are designed to handle radial and axial loads, commonly used in rotating shafts. They come in various sizes and types, providing support and reducing friction in mechanical systems.


5. GT2 Belt:** The GT2 belt is a type of timing belt with a specific tooth profile (GT2 profile). It is often used in conjunction with pulleys to transfer motion accurately in 3D printers, CNC machines, and other precision machinery.


6. N20 Micro Gear Motor:** The N20 micro gear motor is a compact and efficient electric motor with integrated gear reduction. It is commonly employed in small-scale robotics, automation, and other applications where precision and compact size are crucial.


7. Custom PCB:** A custom printed circuit board (PCB) is designed for a specific electronic application. It provides a platform for integrating and connecting electronic components in a compact and organized manner.


8. 9mm Linear Bearing:** Linear bearings facilitate smooth and controlled linear motion along a guide rail. They are crucial in applications requiring precise movement, such as in CNC machines and automated systems.


9. 6mm Acrylic:** Acrylic sheets are versatile materials used for constructing panels, enclosures, or structural components. The 6mm thickness indicates its strength and durability in various projects.


10. Nema 17 Stepper Motor:** The Nema 17 stepper motor is a common type of stepper motor widely used in robotics, 3D printers, and automation systems. It provides precise control of rotational movement in discrete steps.


This diverse set of materials suggests a project that could involve mechanical structures, motion control, and possibly electronics, showcasing a multidisciplinary approach to building a customized system or device.

Step 1: SETUP

Constructing a system or device using the listed materials involves a multidisciplinary approach that combines mechanical and electronic elements. Here's a generalized construction process based on the provided items:


1. Design and Planning:

  - Define the purpose and specifications of the project.

  - Create a detailed design that incorporates the slotted channel, 3D printed parts, and acrylic sheets for structural elements.


2. Structural Framework:

  - Assemble the slotted channel to create the main structural framework.

  - Attach 3D printed parts to the slotted channel to serve as connectors or specific components.


3. Attachment of Brass Studs

  - Utilize the brass 40mm studs to secure and join various components to the slotted channel and 3D printed parts.


4. Integration of Groove Bearings:

  - Integrate groove bearings into the designed components to facilitate smooth rotational or linear motion where needed.


5. GT2 Belt and N20 Micro Gear Motor:

  - Implement the GT2 belt and connect it to the N20 micro gear motor. This combination can be used for precise motion control.

  - Mount the N20 micro gear motor onto the structure using brackets or 3D printed mounts.


6. Custom PCB and Electronics:

  - Design and fabricate a custom PCB to accommodate the electronic components required for the project.

  - Connect the Nema 17 stepper motor and other electronic components to the custom PCB.


7. Linear Motion with 9mm Linear Bearings:

  - Incorporate the 9mm linear bearings into the design to enable controlled linear motion.

  - Ensure proper alignment and secure placement of linear bearings for smooth operation.


8. Acrylic Components:

  - Use 6mm acrylic sheets to create panels, enclosures, or protective covers for the device.

  - Attach the acrylic components to the structural framework using the slotted channel and brass studs.


9. Nema 17 Stepper Motor Integration:

  - Mount the Nema 17 stepper motor in a strategic location, ensuring proper alignment with the mechanical components and the GT2 belt for coordinated motion.


10. Testing and Calibration:

  - Test the system for functionality, ensuring that all mechanical and electronic components operate as intended.

  - Calibrate the motion control system, adjusting parameters as needed for optimal performance.


11. Finalization and Optimization:

  - Make any necessary adjustments based on testing results.

  - Finalize the construction by securing all components and optimizing the design for stability and efficiency.


This construction process outlines a general approach to building a system that incorporates both mechanical and electronic elements using the provided materials. The specific details will depend on the project's requirements and goals.

Step 2: Circuit and Custom PCB

Wiring Connection Details for Arduino-based CT Scan Machine

In the assembly of your CT Scan Machine, it's important to have clear and accurate wiring connections to ensure proper functionality. Here's a detailed write-up on how the wiring is set up for your project:

  1. Arduino Placement:
  2. The Arduino Nano is securely placed on a multipurpose PCB (Printed Circuit Board). This PCB acts as a central hub for connecting various components, allowing for organized and efficient wiring.
  3. Stepper Motor Control:
  4. The Nema 17 stepper motor is controlled by an A4988 stepper motor driver. The A4988 driver is set to operate the stepper motor in 16th steps mode, which provides precise and smooth motion control.
  5. Wiring the A4988 Driver to the Arduino:
  • The step pin (for controlling the step movement) of the A4988 driver is connected to the A1 pin on the Arduino. This connection ensures that the Arduino can send step commands to the stepper motor through the driver.
  • The direction pin (for controlling the rotation direction) of the A4988 driver is connected to the A0 pin on the Arduino. This connection allows the Arduino to determine the direction in which the stepper motor should rotate.
  1. Power Supply for Stepper Motor:
  2. The stepper motor is powered by a 12V DC power supply. This voltage level is suitable for the Nema 17 stepper motor's operation, providing the necessary power for its movements.
  3. DC motor Connection:
  4. DC motor is used in your project, this DC motor is run by L298N driver shield.

By following these wiring connections, you ensure that your CT Scan Machine is set up. This organized and well-connected system is crucial for the successful operation of your project.

You can download the PCB file from the link

PCB FILES

Unlock Innovation with JLCPCB - Your Ultimate PCB Solution

We're excited to introduce our latest project, made possible with JLCPCB's exceptional PCB service. We ordered our PCBs from JLCPCB, and the results have been outstanding.

One PCB, Infinite Possibilities

Our multipurpose PCB is a game-changer, designed to serve a multitude of projects. With JLCPCB's top-quality boards, you can now rely on a single PCB for a wide range of applications. Say goodbye to the hassle of designing new PCBs for every project.

Quality Meets Affordability

JLCPCB is our trusted partner because they offer the best in PCB quality without breaking the bank. The precision and reliability of their boards are unparalleled, making our projects run seamlessly every time.

Your Projects, Simplified

No matter your project - be it electronics, automation, or innovation - our multipurpose PCB, crafted with JLCPCB's expertise, will be your go-to solution. It's the smart choice for streamlining your work and reducing costs.

Experience Excellence with JLCPCB


Join the league of innovators who rely on JLCPCB for the best quality PCBs at incredibly affordable rates. Get ready to take your projects to new heights with JLCPCB as your trusted PCB partner.

so order the best quality PCB visit the link

JLCPCB 1-20 Layer PCB from $2, Sign up to Get $54 Coupons here: https://jlcpcb.com/?from=MrI

Step 3: Arduino Code

/*
Author  : Andrea Lombardo
Site    : https://www.lombardoandrea.com
Source  : https://github.com/AndreaLombardo/L298N/


Here you can see how to work in a common configuration. 


Speed range go from 0 to 255, default is 100.
Use setSpeed(speed) to change.


Sometimes at lower speed motors seems not running.
It's normal, may depends by motor and power supply.


Wiring schema in file "L298N - Schema_with_EN_pin.png"
*/


// Include the library
#include <L298N.h>
#include <Arduino.h>
#include "BasicStepperDriver.h"
#define MOTOR_STEPS 200
#define RPM 20
#define MICROSTEPS 16


#define DIR A0
#define STEP A1
BasicStepperDriver stepper(MOTOR_STEPS, DIR, STEP);


const unsigned int IN1 = 7;
const unsigned int IN2 = 8;
const unsigned int EN = 5;


L298N motor(EN, IN1, IN2);


void setup()
{

  Serial.begin(9600);



  motor.setSpeed(255);
   stepper.begin(RPM, MICROSTEPS);
   delay(2000);
}


void loop()
{



 motor.forward();
  delay(500);
stepper.rotate(1500);
 delay(1000);
stepper.rotate(-1500);
 delay(500);
motor.stop();
 delay(1000);


}


Step 4: Video