DIY Simple Arduino Based Solenoid Winding Mahcine
by Mr innovative in Circuits > Arduino
787 Views, 4 Favorites, 0 Comments
DIY Simple Arduino Based Solenoid Winding Mahcine
Hello friends in this video I have made a simple solenoid winding machine.
this machine is powered by two motors.
one is a 775 DC motor and one is a Servo motor,
First we will understand what solenoid is ?.
A solenoid coil is a coil of wire wound in a helical shape, often around a cylindrical core, that produces a magnetic field when an electric current is passed through it. The coil is typically made of insulated copper wire, and the core can be composed of various materials, including iron or steel.
When an electric current flows through the wire, it generates a magnetic field around the coil. The strength of the magnetic field is directly proportional to the current passing through the coil and the number of turns in the coil. Solenoid coils are commonly used in electromagnetic devices, such as solenoid valves, relays, actuators, and electromagnetic locks.
The basic principle behind a solenoid is Ampere's Law, which states that a current-carrying conductor produces a magnetic field around it. The solenoid coil enhances this effect by wrapping the conductor into a tightly wound coil, concentrating and strengthening the magnetic field.
In practical applications, solenoids are often employed to convert electrical energy into mechanical motion. When a ferromagnetic core is placed inside the coil, the magnetic field attracts the core, causing it to move within the coil. This movement can be utilized for various purposes, such as opening or closing a valve, switching an electrical circuit, or controlling the position of a mechanical component.
Supplies
- 775 DC Motor
- 5V servo motor
- Custom made PCB
- Arduino nano board
- wooden sheet
- 20x20 alu. extrusion
- Timing belt
- Timing Pulley
- 3D printed parts
- 5mm SS smooth rod.
- 5mm ID 17mm OD bearing
- 8mm smooth rod
- 8mm rod holder
Making Wooden Base
As usual for this machine, I have made a base of this machine from 12mm plywood.
first I have cut the required size of wooden piece from the big wooden sheet.
then I polish it with polish paper and smooth its edges by using my bench grinder machine
In this way very sturdy based is ready for our machine.
now we can mount the all components on this base
MOTOR AND MECHANISM INSTALLATION
In this detailed guide, we'll walk through the step-by-step process of constructing an innovative wire winding system that combines a 775 DC motor, a solenoid rotating mechanism, and a servo motor.
This project involves a blend of mechanical engineering, 3D printing, and electronic control to create a versatile and efficient wire winding setup.
Step 1: Attaching the 775 DC Motor to the Clamp:
Begin by securing the 775 DC motor onto a stable clamp or base. The clamp provides a secure foundation for the motor, ensuring minimal vibrations during operation. Fasten the motor tightly to prevent any unwanted movement.
Step 2: Mounting the Solenoid Rotating Mechanism:
Utilize a 3D printer to create custom parts for the solenoid rotating mechanism. Attach these components to a 5mm smooth rod, using bearings to facilitate smooth rotation. Position the mechanism strategically, considering the movement required for optimal wire winding.
Step 3: Connecting the 775 DC Motor and Solenoid Mechanism:
Establish a connection between the 775 DC motor and the solenoid rotating mechanism using a timing pulley and timing belt system. This synchronization ensures precise and controlled movement, enabling efficient wire winding. Adjust the tension of the belt to achieve optimal performance.
Step 4: Installing the Servo Motor:
Integrate a servo motor into the system to guide the copper wire during the winding process. Position the servo motor strategically to ensure precise wire alignment. Program the servo motor to move synchronously with the other components for a seamless and controlled winding operation.
Step 5: Creating the Copper Spool Holder:
Design and assemble a copper spool holder using 20x20 aluminum extrusion and an 8mm smooth stainless steel rod. The spool holder should be capable of securely accommodating the copper wire spool
CUSTOM PCB
Wiring Connection Details for Arduino-based Label Sticker Dispenser Machine:
In the assembly of your label sticker dispenser 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:
- Arduino Placement:
- 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.
- Stepper Motor Control:
- 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.
- 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.
- Power Supply for Stepper Motor:
- 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.
- IR Sensor Connection:
- An IR (Infrared) sensor is used in your project, and its output pin is connected to digital pin 4 on the Arduino. This connection enables the Arduino to receive signals from the IR sensor, which may be used for detecting objects or providing input based on proximity or presence.
By following these wiring connections, you ensure that your label sticker dispenser machine is set up to control the stepper motor accurately, receive input from the IR sensor, and run on the appropriate power supply. This organized and well-connected system is crucial for the successful operation of your project.
You can download the PCB file from the link
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
Arduino Code
#include <L298N.h>
#include <Servo.h>
Servo myservo;
int pos = 0;
// Pin definition
const unsigned int IN1 = 7;
const unsigned int IN2 = 8;
const unsigned int EN = 5;
// Create one motor instance
L298N motor(EN, IN1, IN2);
void setup()
{
// Used to display information
Serial.begin(9600);
myservo.attach(9);
// myservo.write(90);
// Wait for Serial Monitor to be opened
while (!Serial)
{
//do nothing
}
// Set initial speed
motor.setSpeed(180);
}
void loop()
{
motor.forward();
for (pos = 40; pos <= 140; pos += 1) { // goes from 0 degrees to 180 degrees
// in steps of 1 degree
myservo.write(pos); // tell servo to go to position in variable 'pos'
delay(50); // waits 15ms for the servo to reach the position
}
for (pos = 140; pos >= 40; pos -= 1) { // goes from 180 degrees to 0 degrees
myservo.write(pos); // tell servo to go to position in variable 'pos'
delay(50); // waits 15ms for the servo to reach the position
}
}
VIDEO
Watch the video for full details.