Ball-E V2.0

A REFINED APPLICATION

 

With careful consideration and deliberations from the previous feedback, our team has developed an alternative application to Ball-E, a vent inspection robot for hazardous laborataries. The idea was further inspired through an overseas learning trip to Trinity Biomedical Science Institude, where we visited a hazardous, negative pressure laboratory. The laboratary is used for experiments on biohazardous viruses, hence it is required to maintain lower pressure in the lab compared to surrounding areas to prevent escape of such pathogens. Proper and regular vent inspection is crucial in these labs to ensure that the ventilation system is functioning effectively to establish the lower air pressure.

Ball-E would be remotely piloted by an inspector outside the lab and be used to examine and record damages and obstructions through a front facing camera. This alteration removed the need for AI image recognition for independent functioning, as the new robot would be remote-controlled by a human operator. Moreover, the new application of examining potential hazards in the vents is far less complex than that of child-caregiving, as it only involves providing camera surveillance for the operator to identify possible hazards.

Ball-E’S 3D RENDERED DESIGN

Ball-E’s HARDWARE

There were several key considerations in developing the hardware of the Ball-E. Firstly, the wiring of the electrical circuits had to be carefully considered. The motors drew current that was many times higher than the Arduino controller used to control them. With too high a current, the Arduino controller would be overloaded and cease to work. Conversely, with too low a current, the motors would simply not engage. To solve this problem, we planned to use motor drivers to control the current going to the different components.

MOTORS AND MOTOR DRIVERS

The two round RS550 DC motors are controlled by L298N DC Motor Drivers and are capable of delivering a torque of 0.5 Nm. Together, they will serve as the main motors to drive Ball-E forward. The two Nema 17 Stepper motors will be attached to a heavy adjustable weight which will be used to alter the centre of gravity of the sphere. With a step angle of 1.8°, the Nema motors will allow precise control for lateral directional changes, allowing Ball-E to change direction while in motion.

LITHIUM ION BATTERY, 2 PERPLEX HEMISPHERES

The SHANG YI battery provides 2200 mAH, 11.1 V. At peak operating capacity, the RS550 DC motors can run for 15 min before the battery is depleted.

3D-PRINTED BASEPLATE

The parts would be held in place by 3D-printed baseplate, motor housing and battery-stepper motor housing. The output of the 3D print is shown in the figures below.

MOTOR HOUSING AND 3D-PRINTED BASEPLATE

A snug fit for the motor housing was required. This was to prevent the motor itself from rotating instead of the treads it was attached to. To achieve this, we printed the motor housing such that its diameter was 0.01mm smaller than the motor itself. Then, we cooled the motor down by placing it in the refrigerator. This was to achieve thermal contraction. While the motor was still cold, it was inserted into the housing. When the motor re-expanded, it was tightly in the motor housing.

Ball-E’s SOFTWARE

 

WIRING THE ARDUINO

We soldered the live and neutral wires to the main motors, preparing them for the wiring to the computer that would be mounted in the middle of the base plate, between the two motors.

// Define pin connections & motor's steps per revolution
const int dirPin = 2;
const int stepPin = 3;
const int stepsPerRevolution = 200;

void setup()
{
	// Declare pins as Outputs
	pinMode(stepPin, OUTPUT);
	pinMode(dirPin, OUTPUT);
}
void loop()
{
	// Set motor direction clockwise
	digitalWrite(dirPin, HIGH);

	// Spin motor slowly
	for(int x = 0; x < stepsPerRevolution; x++)
	{
		digitalWrite(stepPin, HIGH);
		delayMicroseconds(2000);
		digitalWrite(stepPin, LOW);
		delayMicroseconds(2000);
	}
	delay(1000); // Wait a second
	
	// Set motor direction counterclockwise
	digitalWrite(dirPin, LOW);

	// Spin motor quickly
	for(int x = 0; x < stepsPerRevolution; x++)
	{
		digitalWrite(stepPin, HIGH);
		delayMicroseconds(1000);
		digitalWrite(stepPin, LOW);
		delayMicroseconds(1000);
	}
	delay(1000); // Wait a second
}

The code above was to test the forward motion of the motor at full capacity.

FEEDBACKS/CHALLENGES FACED

  1. The RS550 DC motors could only generate a total of 10kg*cm of torque to rotate Ball-E. However, the completed Ball-E had a weight of 1.8kg, and the radius of the ball was 10cm, hence a torque of 18kg*cm is required to move Ball-E from rest. Hence, we purchased two JGA25-370 motors which could generate 24kg*cm of torque each to replace the existing motors.
  2. Weight attached to stepper motor is insufficient to alter centre of gravity of Ball-E. Our team will be trying other designs with either higher weight or longer pivot distance to increase moments for rotation.

 

Leave a Reply

Your email address will not be published. Required fields are marked *