I’m Jake, my starter project is a MintyBoost and my intensive project is a Self Balancing Mini Segway. I am a 15 year old rising junior at East High School in Denver, and I have been interested in engineering for 3 or 4 years now. I am on a high school FIRST robotics team, and have been taking engineering classes for 2 years now. Engineering is an interesting career path that is broad and is one of the most useful and relevant areas of expertise in today’s world.
BOM -- BOM
Build Plan -- Build plan
Code -- word code
Claire’s Robot (a project I used to help with my BOM and my code) -- Claire’s Self Balancing Robot
Helpful Instructables --
Milestone Three/Final Video:
For my last milestone of my robot, I tuned my PID loop as best as I could, and learned a whole bunch about the ways that different values affect my robots balancing and its behavior. Knowing these things about how the robot behaves is crucial to understanding how best and most efficiently to tune loops and values. I myself didn’t fully master this, because i wasn’t able to get the robot as close to balancing as i would have liked. Even so, I got the robot much closer to balancing than what is shown in the video, due to the fact that during filming I was in the middle of a tuning session.
For my second milestone of my balancing robot, I designed and wrote some code to balance the robot, with a complementary filter that outputs the angle of the robot and a PID loop that calculates the ideal power to give the motors based on the angle and the speed of falling. I also attached all of my electronics and wiring so that the robot can function on its own. Now its a matter of tuning the values of my pid loop so that the robot can balance without the leash that I have attached to it now.
For my first milestone of my balancing robot, I designed code to test my motors, which runs them one direction for three seconds, the other for three, then stops for three and loops forever. I also ran code to read my IMU values, such as the direction of gravity and rotational acceleration, that then displays in the serial monitor. I also fully wired my three boards together and drew a schematic. I had a lot of problems with a different micro controller and boards, called the Intel Edison, because I had gotten Sparkfun blocks for it, that didn’t have large amounts of documentation. I got stuck when the Edison pins weren’t compatible with the Arduino IDE. I decided eventually to switch to a Teensy, which after downloading a library, worked beautifully.
For my starter project I did a MintyBoost, which is a battery powered charging device for a phone or other USB device. the concept behind the charging is something called a boost converter, hence “MintyBoost” the boost converter uses an inductor to change the voltage from the 3.3 volts from the AA batteries to 5v for the phone charger to use. the middle 2 pins on the USB are for voltage dividers that divide the voltage into a fraction of what it was before, in order for the phone to read that small voltage and make sure that the charger is safe. This is a simple schematic of the circuit of a boost converter: