Basic Car Bot With Rotating Headlamps

by archerp2 in Circuits > Robots

83 Views, 1 Favorites, 0 Comments

Basic Car Bot With Rotating Headlamps

20240117_124854.png

I was designing a robot car (loosely based on the BasicBot program and the MINI Cooper) with adjustable headlamps on the front.

The objective was to make a robotic car with a moving accessory. For my purposes, I wanted to make a more realistically-shaped, compact car to challenge my designing skills. Considering the design for a more realistic car, adjustable headlamps made more sense as an accessory than a robotic arm. As well, I was more interested in designing a headlamp system, and wanted to make something more original.

I'm going to explain the process, as well as a few tips (that I likely learned the hard way) incase you might be interested in them.

Supplies

20240117_124514.jpg

Machines:

-trotec Speedy300 laser cutter

-Creality K1 Max

-Human being (required to construct everything)


Programs:

-Autodesk Fusion 360

-Adobe Illustrator

-trotec Job Control


Basic Parts:

-Sheet of 3mm MDF

-Roll of PLA

-Sheet of acrylic

-Screw x16

-Hex nut x16

-Coat hanger (I am serious)

-AA Battery x6


Electronics:

-Arduino Uno

-Sensor Shield

-L298N Motor Controller

-Mini breadboard

-HC-06 Bluetooth Module

-Motor x2

-Wheel x2

-6 AA battery pack

-Micro Servo

-Wire x8

-Quadruple wire x2 (4 wires together)

-10mm LED x2

Planning

20240117_124253.png

The initial planning phase was mainly made for the design of the chassis rather than the accessories. Though I had brainstormed different accessory options, I was trying to come up with a design that met 3 criteria:

-Compact frame

-Realistic design

-Appealing looks

I eventually settled on basing the car's design off of an actual vehicle, the MINI Cooper. Though the design had to be simplified due to the complexities of designing the chassis in Adobe Illustrator (as it would be laser cut), I was able to keep some of the design cues from the MINI Cooper to create a somewhat appealing, simple but plausibly real design for the car.

During this phase, I had also settled on:

-Adjustable headlamps as the accessory, as opposed to my initial plans (claw, ice cream scoop, beetle-esque grabber, functional trunk)

-Front wheel drive to match with headlamps (a system where the headlamps would turn with the front wheels was planned, similar to how it functions in real life, but it was scrapped.)

Chassis Design

Screenshot (1).png
20240117_124637.jpg
Screenshot (3).png
20240117_131900.png

After finishing planning of the chassis, I immediately went to designing it. There were a few important criteria that had to be met:

-The chassis has to be able to fit all of the electronic parts

-The chassis needs enough room at the front to allow for the headlamps system (initially, I had designed it to be way larger than it ended up being, creating a large amount of empty space that went unused.)

-The faces of the chassis could not be too small, or they would be incredibly difficult to piece together

-The chassis should not have too many faces to lessen the workload

The chassis was meant to be assembled basically like a puzzle piece; inserts and gaps were laid out on every face, and they would fit together with the pieces next to them to create a full 3D shape once cut out.

When designing the chassis in Adobe Illustrator (see image 1), a few things have to be kept in mind:

-Inserts / gaps on angled pieces should be deeper, as the angle often means that your inserts won't go in if they're the regular size. (All of my inserts and gaps were 3mm, but the gaps on the angled pieces were 5mm)

-A gap has to be added in the sides of the car for the motors / wheels. Remember that the motor will be clipped in, so you can't just take the dimensions of the motor (it would be a good idea to print or design the clips early so that you can have a good idea of the size you need. Alternatively, you can take the measurements from the BasicBot default chassis.)

-Holes must be added into the base of the chassis so that the electronics can be screwed in. (Once again, you can take the holes directly from the BasicBot default chassis, but be careful depending on the dimensions of your chassis, especially if it's smaller.)

Once the design in Adobe Illustrator was finished, it was first put into Fusion 360 to make sure it would fit together (you can export an SVG directly into Fusion 360, and then assemble the pieces yourself. HOWEVER, Fusion 360 has a tendency to shrink the pieces on import, so you may not have accurate dimensions.)

After that, it was laser cut out of the 3mm MDF and test assembled to make sure it fit together (see image 2.)

A few interesting occurences:

-The side panels of my car specifically ended up not having enough room for the motors (hence why I warned you earlier.) Due to our laser printer breaking down, I had to 3D print the side panels (image 3) with a new design.

-The "windshield" of the car was actually cut out of acrylic (image 4.) This was only to add to the "realistic model" the design was based on, and because it looked nice. (Be careful dropping it, it gets lost easily.)

Electronics

20240117_124514.jpg
20240117_125928.jpg

The electronics wiring came after, since I was unable to design the headlamps at the time. All of the wiring was based on the BasicBot 3 wiring diagram (https://drive.google.com/drive/folders/1TJYPSlIPcU-9HStgGx7SzZpIODNIdSkM, though I think this link is limited to my school board. Sorry outsiders! No fun for you!)

As such, I only have an interesting tale from the wiring phase instead of genuine advice:

-The battery pack I had had no way to be manually screwed in. As such, I had to design a clip myself (see both images.) I went through one prototype, in which the inserts were so small it was as if they didn't exist at all. The second time, I made them ever-so-slightly too large, but they still fit in with a little bit of sanding. Designing clips is not fun.

Once the electronic wiring was done, the Arduino was hooked up to a computer and had code (again, BasicBot default code) added into it, allowing it to function when powered.

-Unplug the bluetooth clip when you're adding the code. It confuses the computer.

Headlamps Design

Screenshot (2).png
20240117_124304.png
20240108_135506.png
20240117_125931.jpg
simple diagram.png

This is where the bulk of the effort of the project went. The headlamps design could be split into 3 phases:

-Planning

-Prototyping

-Designing

Which is exactly what I will do.


Planning:

The planning phase (image 2, image 3) was mostly about coming up with a method to make the headlamps actually rotate. I came up with three plans of varying quality:

Plan 1: Attach the headlamps to small gears via poles, which are rotated by a large gear attached to a servo, causing the headlamps to twist.

Plan 2: Attach the headlamps to thick arms, that connect together and to a servo that rotates them, causing the headlamps to twist.

Plan 3: A rack and pinion system. See image 5 for a simple diagram explaining it very briefly. See image 3 for the concept sketch.

I chose to go with plan 3 (plan 2 would have never worked anyways, I'm a gear enthusiast. And plan 3 was way more fun to engineer than just attaching the headlamps to some gears with poles.)


Prototyping:

(See image 4)

I went through several prototype designs for both the gears and the headlamps.

-Gear design 1 (large gear): Way too big, took up too much space.

-Gear design 2 (thick gear): Was an attempt to make gear design 3, but I made it far too thick on accident.

-Gear design 3 (small gears): Too small. Also, a holdover from Plan 1 as mentioned earlier.

-Headlamp prototype: Simple prototypes of the headlamps that would hold the LEDs. Had no way for the hinges (this will come up in the next phase) to go in, so couldn't be used.


Designing:

(See image 1)

With a fully planned design (see image 3), I designed the entire system (rack, pinion, clips/hinges) myself with these criteria:

-Lamps had to be able to rotate 15*

-Pinion had to be fixed and attached directly to servo, so that the rack would be what moves

-Lamps and rack somehow had to be held in place

I decided on designing a hinge. (Return to image 1 for referencing, components labelled.) The clips (1) would be screwed into holes on the front. Long poles (2) would run through both the clips, and a hole in the headlamps (3). The rack (4) would have short poles (2) run through the holes on the side of both it and the headlamps (3), connecting them together. Therefore, when the pinion (5) would spin, the rack would be pushed against one headlamp AND pull the other, rotating them both. See image 5 for the simplified explanation as necessary.

Assembly

20240117_124854.png
20240117_130325.png
Screenshot (4).png

Unfortunately, due to time constraints, I was left unable to finish the assembly process and put together the robot. I was able to assemble the full headlamp system with a placeholder wall as a base (image 2.) As well, I had put together the chassis before (image 3) in Fusion 360 and physically (though I don't have a photo of the physical one.)

Though every step was complete, I was unable to fully assemble it and get it operating (to my dismay.)

The rack and pinion system was functional from the tests (though I had to replace the 3d printed poles with chunks of a coat hanger, which didn't like to stay in place. Yes, this finally explains the "coat hanger" in the materials section.)

The chassis fully assembled together and worked perfectly.

And the wiring was all complete and would run when prompted.

However, I was unable to write the code for the servo turning the headlamps, as well as unable to put it all together.

Image 1 shows everything I had at the end of the project.

Time Extension

20240117_124225.png

This was one of the most fun projects I've worked on in my life. Though I was unable to finish it (and there were many frustrations), I've never so regularly been able to challenge myself and design things I'm proud of.

If I had a little more time, here's what I would do:

-Obviously, complete the project. The only steps that would be left would be to write the code for the servo turning (or more accurately, alter existing code), glue the pieces of the chassis together, and try it out (and hopefully no glitches or mistakes turn up.)

-I wanted to design the openable trunk. We had a limit of two servos, but with my current design, I only used one. It would really add to the "realism" factor that the project had been going for, and it would've been more like a model car than a robot project (whether or not that's good is up to you.)

-I would have found a way to put more weight on the front. In it's current design, it's front wheel drive, but all the weight is in the back, which is disorienting and means the back would swing out behind it when it drives.