0

String Car Racer - Trinket version
Moderators: adafruit_support_bill, adafruit

Please be positive and constructive with your questions and comments.

String Car Racer - Trinket version

by HarpDude on Sat Jan 09, 2016 3:56 am

Back in the 1980s, my college-aged brother designed a simple motor+battery car that raced along a string between the birch tree and the street-side power pole. For years now, we've been improving on the design, keeping it really simple: 1 battery-driven motor, flashing lights, and repurposed materials whenever possible. The primary goal was speed and stability. The car ran at full speed until it found the end of the string -- then you either had to be there to catch it or be prepared to repair it before the next time trial.

We talked about making the car smarter so that it could stop and reverse directions, and came up with lots of schemes and circuits to make it possible, but we were more focused on the high-speed "Gump" mode of operation. Run Forrest, run!

Fast forward to now. I retired from a technology management job and was challenged by my son to get back into electronic design. What could be better to start than to realize the dream of a simple, autonomous string car that wouldn't crash at the ends of the string? To keep it simple, I decided to design an initial version with TTL logic and micro-switches as end-of-string sensors. Yeah, I used to design TTL and CMOS back in the day, so I defaulted to that technology.

After shopping around for ICs, I happened on the Arduino web site. Hmm. From there, I gravitated to Adafruit. Here's a microcontroller with 5 I/O pins and just enough memory for what I wanted. Let's see if we can wake up those C++ skills, too. Adafruit tutorials were extremely helpful and were essential in the design process.

Long story short, StringCar 3v1 with software revision 4 is now ready to go. The prototype logic board worked so well that I sent the design off to Fritzing to be printed. The software supports two modes today. First is Pong mode where the car accelerates from a dead stop, races to one end of the string, brakes, reverses direction and speeds to the other end of the string -- forever. The second mode is Boomerang where the car travels to the far end of the string, brakes, reverses, then stops at the origin, flashing its 5mm NeoPixel blue to remind you that it's back home. Selecting the mode is simple. Power-on or reset puts you into Pong mode and initially flashes the LED purple before taking off. Boomerang mode is selected by holding down one of sensor switches during power-on/reset. The LED flashes blue to let you know the car will return and stop.

DSC02572a lores.jpg
Rear view of the string car showing the control logic module that plugs into the main car chassis using a 20-pin R-Pi -like header. The 6V DC motor is mounted above the PCB. The 9V battery is on the reverse side of the chassis to maintain balance and center-of-gravity.
DSC02572a lores.jpg (644.89 KiB) Viewed 6256 times


Big thanks to the folks at Adafruit, Jameco, Hobbymasters (for the difficult-to-find pulleys), and Fritzing.
Last edited by HarpDude on Thu Apr 21, 2016 8:20 pm, edited 4 times in total.

HarpDude
 
Posts: 168
Joined: Mon Dec 07, 2015 2:52 am

Re: String Car Racer - Trinket version

by adafruit_support_bill on Sat Jan 09, 2016 7:44 am

Awesome project! Thanks for posting it.

adafruit_support_bill
 
Posts: 74374
Joined: Sat Feb 07, 2009 10:11 am

Re: String Car Racer - Trinket version

by HarpDude on Sat Jan 09, 2016 3:09 pm

Thanks! Here's a front view of the car in action. You know it's fast when you start to see string dust accumulate under the pulley!
2015-12-14 DSC02561 lores.jpg
Front view of string car. A simple pulley is press-fit onto the motor shaft. Besides PWM speed control via the Trinket, the pulley size can also control speed; larger = faster, but with lower starting torque.
2015-12-14 DSC02561 lores.jpg (789.81 KiB) Viewed 6210 times

HarpDude
 
Posts: 168
Joined: Mon Dec 07, 2015 2:52 am

Re: String Car Racer - Trinket version

by adafruit2 on Sat Jan 09, 2016 3:41 pm

wow beautiful!

adafruit2
Site Admin
 
Posts: 18666
Joined: Fri Mar 11, 2005 7:36 pm

Re: String Car Racer - Trinket version

by Disciple on Sat Jan 09, 2016 5:26 pm

I visited my first makerfaire only last year, but I think they should host competitions for such as these. Fastest run, highest peak speed, steepest climb, most laps on a standard battery, push war, gravity-powered, mainspring-powered, solar-powered, Stirling engines,.. and a blog entry at the very least.

Hallelujah!
Disciple

Disciple
 
Posts: 682
Joined: Tue Jan 06, 2015 8:13 pm

Re: String Car Racer - Trinket version

by HarpDude on Sat Jan 09, 2016 5:35 pm

Some great ideas! You know, the best part of the string car build was the time spent with family members around a workbench stripping motors from cassette and CD players, scheming design ideas, and building the contraptions. Perhaps your ideas will make the outdoor tests and races even more fun than the build.

HarpDude
 
Posts: 168
Joined: Mon Dec 07, 2015 2:52 am

Re: String Car Racer - Trinket version

by richarduk on Tue Jan 12, 2016 7:00 am

I can see future string racing at maker shows. You know what I am going to ask for next, video? :)

richarduk
 
Posts: 64
Joined: Tue Nov 05, 2013 4:55 pm

Re: String Car Racer - Trinket version

by HarpDude on Tue Jan 12, 2016 2:22 pm

Certainly after the weather improves! Obviously, the car wouldn't survive icy/wet conditions very well. ;) Meanwhile, along with a couple other projects, I'll be experimenting with some different EOS (end-of-string) sensors and an upgrade to the sketch to algorithmically predict EOS based on previous laps.
Last edited by HarpDude on Tue Jan 12, 2016 3:52 pm, edited 1 time in total.

HarpDude
 
Posts: 168
Joined: Mon Dec 07, 2015 2:52 am

Re: String Car Racer - Trinket version

by HarpDude on Tue Jan 12, 2016 3:45 pm

The final version uses an Adafruit TB6612 motor controller and 5mm NeoPixel along with the Trinket 5v.The final design has greater functionality, is more modular, and will permit testing of a variety of motors and EOS sensor schemes.

TTL pcb lores.jpg
The PCB design for the original discrete TTL version, discarded for the Trinket-based design.
TTL pcb lores.jpg (195.77 KiB) Viewed 2536 times
Last edited by HarpDude on Wed Jan 13, 2016 6:19 pm, edited 3 times in total.

HarpDude
 
Posts: 168
Joined: Mon Dec 07, 2015 2:52 am

Re: String Car Racer - Trinket version

by shinyshez on Tue Jan 12, 2016 5:55 pm

With a mini dv cam (mobius or similar?) stuck to the bottom you could have a nice minimal cable cam that could go up hill as well as down - http://www.pinkbike.com/video/135409/ is an example of video from a gravity powered job!
Cheers
Shez

shinyshez
 
Posts: 1
Joined: Tue Jan 12, 2016 5:47 pm

Re: String Car Racer - Trinket version

by Jeffeb3 on Wed Jan 13, 2016 2:06 pm

With some minor changes, this could make a very exciting Science Olympiad event. Add some creative contraints (that could change each year) and you'd have a great learning experience for kids. Some constraints I thought of right away:
- Limit the power, use a super cap of a limited size, and let the kids experiment with different sized pulleys, different logic in the microcontroller, or different motor types, and see who can make it back and forth the most times. In fact, not using a microcontroller at all might be a simple low power solution.
- Try to hit a "target" like a marker in the middle of the string, with different points for the distance from the marker.
- Add complexity to the target by requiring a certain number of back and forth runs before shooting for the target.
- Also control the location of one of the endpoints of the string, to navigate a maze?
- Racing, obviously.
I've judged SO competitions before (specifically the rubber band powered helicopters) and it was always very fun. Having a kit available so most schools can get a head start would help encourage participation, but it's important that a kit isn't required. The fact that this can be created in almost any electronics lab makes it very versatile.

Jeffeb3
 
Posts: 1
Joined: Wed Jan 13, 2016 1:57 pm

Re: String Car Racer - Trinket version

by HarpDude on Wed Jan 13, 2016 2:49 pm

I agree Jeffeb3. The first version was a reclaimed motor with a pulley already attached, a spent 9v battery, and a short length of fence wire to use as the chassis and string guides. Using fence wire allowed for many design variants from sleek and compact to stretch versions. The wire bends easily and can be formed into whatever the designer wants, as long as they think about center-of-gravity, balance, traction, stability, and connecting a simple electrical circuit. One challenge was to create the chassis and guides from a single length of wire, front-to-back with only bends, no cutting or brazing allowed.

Here's an example of a "Gump" car from 2006 designed with an open chassis so that it could safely race along the edge of a windy lake. The tilt of the battery was an attempt to center as much of its weight under the pulley as possible to help with stability. For traction issues in damp and cold environments, cut a very thin sliver of surgical tubing (it'll resemble a miniscule rubber band) and snap it into the bottom of the pulley's groove. Don't make the band too wide or the car will pop off the string.

2006-07-30 string car lores.jpg
Simple, open chassis with on-off switch. An LED was added later for night runs by the lake.
2006-07-30 string car lores.jpg (317.46 KiB) Viewed 2634 times


I don't keep the cars very long. This one went to a 10-year-old relative who was instantly captivated. The first modification made was to decorate it to "make it even faster."
Last edited by HarpDude on Thu Mar 17, 2016 12:22 pm, edited 1 time in total.

HarpDude
 
Posts: 168
Joined: Mon Dec 07, 2015 2:52 am

Re: String Car Racer - Trinket version

by HarpDude on Mon Jan 18, 2016 9:13 pm

Here's the next logic controller PCB design, utilizing an ATtiny85 8-pin DIP with an SN754410 motor controller. This design reduces the PCB size significantly over the Trinket breakout version, but will require direct AVR chip programming. This will be my first time programming an AVR chip via an Arduino ISP so wish me luck. Think I'll breadboard this puppy and take the time to perfect the direct programming process before ordering the new board... ;)

I would have preferred to use a dual-H surface-mount controller (like the TI DRV8872), but I had a bunch of SN754410 quad-H chips in the parts bin -- that's why they're included in this version.

StringCar 3v2 r00 raw 2016-01-18b.jpg
Draft of new Logic Controller PCB design with on-board 5v regulator, ATtiny85, motor controller, and 5mm NeoPixel LED.
StringCar 3v2 r00 raw 2016-01-18b.jpg (225.4 KiB) Viewed 1964 times


Software-wise, the predictive braking routine is mostly coded and debugged and is almost ready for the physical, on-string tests.

HarpDude
 
Posts: 168
Joined: Mon Dec 07, 2015 2:52 am

Re: String Car Racer - Trinket version

by adafruit_support_bill on Mon Jan 18, 2016 9:31 pm

The SN754410 is a capable chip - as well as being an easy-to-work with through-hole part. I'd be interested to see your predictive braking scheme.

adafruit_support_bill
 
Posts: 74374
Joined: Sat Feb 07, 2009 10:11 am

Re: String Car Racer - Trinket version

by HarpDude on Mon Jan 18, 2016 10:54 pm

Yes, the 754410 has been a bullet-proof prototyping tool for me. That's why there are still some left in the parts bin! :)

The predictive braking scheme is pretty simple. This initial version assumes that the forward and reverse lap times will be fairly consistent -- no traction variants and a level string. Not necessarily real-world, but it's a place to start. The elapsed time is measured during the very first lap, from the initial forward movement until the first end-of-string is detected. That elapsed time is directly proportional to the end-to-end length of the string. A braking period, proportional to the normal motor speed, is subtracted from that and is used to predict when to start braking the car before it reaches the end-of-string. The duration minus braking value is then used for all subsequent laps. Future schemes will compare the predicted duration with actual for each lap rather than just relying on a single "learning" lap.

At some point, the car design could include distance sensors instead of limit switches for more proportional braking regardless of traction and incline conditions. That would be particularly useful when payloads (cameras, etc.) are involved just to smooth out the braking/reversal sequence. As it is, though, the car's weight and resulting inertia are low enough to tolerate a rather sudden stop. When the weather improves, I'll post a video of the car in operation to demonstrate the various braking techniques.

HarpDude
 
Posts: 168
Joined: Mon Dec 07, 2015 2:52 am

Please be positive and constructive with your questions and comments.