Hot Rod ROBO

From RepRap
Jump to: navigation, search


In this article I present a short system summary for the electronics of my 3D printer rebuild. Then I discuss what I mean by Hot Rodding, describe the audio control system, and then briefly introduce the stepper driver schematic. The read starts out pretty technical, gets a bit whimsical, then goes back into some tech. I will add more as the printer evolves.

X-Axis PCB

A Quick System Summary

The photo at the left shows a simple stepper driver that is the basis of my distributed control system for my Hot Rod ROBO 3D printer. It features low cost components and a simple design that works well. A central transceiver chip receives and sends mono audio from/to a TRRS jack and cable leading to a computer or cell phone and transceiver the bidirectional one-pin Arduino bus. The speaker out of the driver device sends audio control signals to the Hot Rod ROBO and the microphone in line sends back audio from these stepper and heater boards. The system consists of five stepper boards as shown above, two of which contain a similar circuit designed to control the heater in response to the corresponding thermistor. One board handles the four end-stop switches. This means a total of nine ATtiny85 Arduino processors and one dual opamp circuit. That and some power transistors and many small signal transistors, a handful of resistors, and some LEDs make up the entire control electronics. So it's a simple, cost effective and straightforward way to build a 3D printer's electronics.

Underneath the hood

Hot Rodding Defined

Wow - that's some bunch of tech talk, so let's take a break and discuss why it's a "Hot Rod" before getting back into some wonderfully techie stuff. It was a chilly day in November when I sat in my one room apartment at the assisted living center and contemplated what to do about my commercial 3D printer's illnesses. It had problems with overheating, the parts fan wasn't wired up from the factory, the Z rods had no support, and the wiring harness was a real rat's nest (see photo at left). It needed a new RAMPS board, at least one of the stepper driver boards was bad, and possibly a new Arduino board, possibly not. I was looking at $200 in repairs just to get it back to it's overheating stock condition. That's when I had the first epiphany!


Now we all know that an epiphany is one of those "light bulb" moments when we suddenly realize something interesting or important. I personally subscribe to the view that these are divine interventions of the one true Creator interacting with us finite human creators - you may not and that's fine. Anyway, this first epiphany was not technical, it was bravado! I felt myself almost putting the pedal to the medal on a fast muscle car as I looked at the printer's two racing stripes painted black on it's white background (see image to the left). I imagined taking my printer to an auto body shop that normally works on cars and having it painted some fancy sparkly candy apple red with white racing stripes - now that would look like a hot rod printer for sure.

Stepper Driver Test Circuit

I got to thinking about the electronics too. Being a circuits and software skilled person, I imagined a test circuit on a breadboard with an ATtiny85 receiving commands from the computer's audio jack. An opamp would do the signal conditioning and i could generate the sounds with sample accuracy from the audio programming language Chuck. The light bulb was getting brighter and brighter - custom electronics and a slick audio control system would sure add to the hot rod nature of this printer.

It was at this point that i remembered wireframe print. A hot rod should be fast, so it should print fast as well, and the research team that came up with wire print found they could print 3D sketches of objects in on ly 8% of the time. What I would like to do is sightly different from wire print so i call it wireframe print to be more accurate. Basically I plan to print the wireframe. That is a whole other story and it is also the final hot rod aspect of this project. Now let's get back into some technology.

Audio Control System

At this point in time the audio control system is under development. I have it properly controlling the X-Axis stepper motor in the sense that you can send out a burst of audio, the processor chip decodes the command from the signal, then it executes the command more or less properly. There have been some issues. For example, stray audio can trigger false commands! That means when my computer's voice, Vicki, announces the time every hour the thing goes nuts lol. So to do this properly you'd want to either use an external sound interface (which can be quite affordable) running on usb or quiet down all the sounds on your computer. This is commonly done by folks who's interest is music, so it's not an unreasonable thing to do. In my personal case, I may go ahead and get an inexpensive USB sound interface to leave the computer's audio free for playing music and the rare movie.

So what is the audio format? It's very simple: the computer emits a square wave with a certain frequency and pulse width. The frequency selects a channel and the pulse width communicates the command. The frequency is set to 1kHz currently, though I have also tried 100Hz. The pulse width for a stepper motor encodes the desired absolute position of the stepper. This does assume no skips since the end-stop event, but that is true of most FDM/FFF printers. I have realized, though that in order to accomplish simultaneous operation of all five steppers it will be necessary to also include a rate command and a "GO" command. This way we load up all the steppers with their next print objective including destination and rate, then issuing the "Go" command causes them all to carry out their commands at once. This is important for the wireframe print so the printer can easily move in the z direction.

There has been an offshoot of this that may have originated here. I had also imagined encoding a print as an image, inspired by the sculpts of Second Life which do that. I went to #reprap and discussed the possibility of the audio and image files, now that they can encode a print, being distributed. We had a great idea session and it was decided that the image format should be a large QR stamp. That way we leverage the existing technology of QR. Also these two formats have an unexpected consequence - they open up the possibility of the third world more freely participating in the world economy. That's because STL files encoded as images or audio files can be transmitted using ordinary feature phones which are prevalent in impoverished areas. For example someone in Africa could take several photos from different angles of a print to convert the images into an stl file which can then be sent to a 3d printing company such as shapeways. So the situation could be that Tiffany who lives in America purchases a pendant designed by Olumide, supporting Olumide's participation in the global economy. In fact, if Tiffany were to purchase an international texting plan she could carry on conversations with Olumide and establish a strong connection to her cultural background. All made possible by 3d printing!

Stepper Driver Test Circuit

Stepper Driver Schematic

The schematic shown to the left is the first one that I've taken the time to actually record. I tend to work without them because by the time you've grokked a system to it's minimum you have burned it into your neurons, plus it's not all that complex because you did simplify it, right? Still, we need schematics to communicate design details and to eventually make circuit boards so there you go, a schematic. I would appreciate whatever critique any readers may have about the schematic.

Screeeeeching Halt

As it turns out there are some changes to the design. The audio system has been changed to USB along with the use of an Arduino UNO R3 with screw shield as the core processor. The stepper driver has been changed to a pair of piggy-backed L293D chips per stepper (dual H-Bridge chips). Also the processor was changed from an ATtiny85 (8-pin DIP) to an ATtiny84 (14-pin DIP), which gives us more digital I/O to add soft serial USB for internal communications which is faster and more robust plus analog I/O for monitoring stepper coil current and voltage. This will allow the printer to perform status and diagnostic procedures. These changes make the printer design more professional, more reliable, and safer.