Blog Week 12

I started out this week finalizing the Sumo bot. Ben and I finished the PCB on Tuesday, focusing on software the rest of the day. By the end of Tuesday, the bot worked excellently. However tragedy struck later that day.

At home I was flipping the PCB upside down to allow for an optimized frontal design. However because of melted plastic stuck in the heated inserts, I was unable to remove the PCB from the frame.

My attempts to remove the PCB ended up breaking it.

I spent the entirety of Wednesday attempting to manufacture a new PCB. However every time I would attempt to make a new one, the PCB would break in some way. One broke from a motor board shorting when being probed. In my attempts to remove the board with a heat gun, many of the components on the motor controller fell off, and many of the traces were destroyed. By the end of Wednesday at school I had milled a final PCB, however the motor board that I had installed directly out of the box did not function.

I took the board home and used a solder sucker and a copper braid to de-solder the motor board. I soldered in a new socket, along with fixing many traces that broke during the de-soldering process. After spending 3 hours perfecting the board, I moved onto software.

After realizing that the board design from Ben’s schematic was off by 1 in the pin locations. It used pins 4,5,8,9. When it should have been pins 5,6,9,10. This is because only pins 3,5,6,9,10,11 have PWM control for analog writes. Meant that the motors could not have speed control when in reversed directions.

The software itself was rather glitchy, so I re-wrote it. After working through the logic and edge cases, I was able to get the software running perfectly, although it had to use digital outputs for uniform movement.

Thursday morning I came into the shop and the software no longer functioned at all, crashing and restarting every time it saw the edge. After the fact I realized that this was because I had no capacitors on the motors, and at full power, they were overdrawing current, dropping the voltage to the metro mini.

This prevented me from implementing the 3 second delay, as every time it saw the edge, it would crash and have a 3 second delay.

For the rest of the day, including 3rd and 5th period, I attempted to fix the code, however even after repairing 2 pads on the board, I was unable to achieve full functionality.

Right before the competition Ben had a very important idea “just make it go forward.”

I did, and we won.

If my opponent placed first, I would position the bot to use it’s massive speed and incredible mechanical design to instantly knock the other bot out of the ring.
If I had to place first, I would perform an emergency repair: unplugging one motor. this caused the robot to use its incredible speed and profile to spin and knock my opponent off of the ring when they came near it.

After Ben and I won, everyone wanted the rules to change, so that I couldn’t change the behavior of the robot between the rounds.

We decided to do another bracket next Friday. I talked over the improvements we needed to make with Ben. (These are secret)

I went home and redesigned the PCB so that we could make it today. I also redesigned almost all of the new frame.

I also designed new wheels to remove the useless second O-ring on each tire, along with switching to the standard tire O-rings.

I milled the PCB to be double sided. Because of this I needed to use special techniques to solder it. This took many hours.

I printed the new frame and had the pcb almost working when an indecent with benji and hot glue destroyed it on thursday.

I went home, fixed my PCB mill. mille

d a new PCB, and soldered it. By the time I had finished testing and software, it was 3:30 AM. I still needed to do a weeks worth of math homework, so I went to bed a 4:00 AM.

On Friday, in fifth period, I tuned the sensors and behavior. In sixth period Benji and I won the competition. We achieved the first win streak in Sumo Bot history.

Similar Posts

Leave a Reply

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