Archive for November, 2013
I gave a talk on Saturday 11/10 about 3d printing with RepRap printers at SoCal code camp 2013.
You can download the slides as a 4MB PDF from here: RepRap introduction
I added another resources slide in the back with more references.
I spent some time yesterday getting started with the Smoothie firmware (suitable for RepRap printers or laser cutters or CNC mills and such) on a breadboard. My notes/ramblings are below.
We have been kind of annoyed by the 40,000 steps/s limit in the AtMega 2560/Marlin firmware combination so I wanted to try the Smoothie firmware. The beta devices seem to be sold out, and the kickstarter ones don’t ship for a couple months, so it looked fun to try Smoothie on a breadboard.
You can buy the LPCXpresso 1769 for $30 from adafruit.http://www.adafruit.com/products/1341
The stepper drivers are about $10 each: http://www.makerfarm.com/index.php/printer-electronics/a4988-stepper-driver.html but I borrowed them from a printer.
We borrowed a Micro-SD adapter spare from another printer. It was probably the same as this one: http://www.makerfarm.com/index.php/printer-electronics/sd-ramps.html . This one is a little trouble because it has a level shifter and a 3.3v regulator, but we were able to feed 5V in and talk 3.3v logic to it.
We didn’t connect thermistors or mosfets or USB port.
I used the OSEPP FTDI cable. It has a jumper to select 3.3V or 5V.
Getting Smoothie build environment and compiled.
Download master branch, double click win_install.cmd in explorer, then BuildShell.cmd, run “make clean all”. The win_install.cmd didn’t work on a friends windows 7 machine but worked for me in windows 8.1.
I didn’t have luck with the linux build in ubuntu. Getting the tools installed worked, but somehow it can’t find the new gcc in the path in the build environment.
Getting the board running.
Had some trouble fitting the LPCX on my breadboards. You need a single power rail between the breadboards, and the one I had did not have the power rails as removable, so I couldn’t get the breadboards close enough to fit the LPCXpresso board and still get jumpers connected.
Wire 5V from the FTDI to the [V in?]. The programmer side of the board has the 3.3V regulator. I used a female to male jumper from 5V pin of the voltage select jumper on the FTDI cable. (We chose to use the LPCXpresso programmer’s regulator because we’re not sure the FTDI’s 3.3v regulator can run everything)
Wire the FTDI things.
When the FTDI is connected, and powering the LPCXpresso board, the board came programmed with something blinking a LED as a heartbeat.
Connect the “reset” and “boot loader” buttons as instructed. We didn’t connect the play/pause button and didn’t try running gcode off SD to possibly need it. The instructions are odd in that they share that pin with one of the stepper outputs.
Follow the instructions to flash the SD boot loader using the FTDI and [FlashMagic]. The bootloader.hex is in the [bootloader] folder.
You need the SD adapter connected to run smoothie, and to install the firmware. We connected the 5V from the FTDI to the SD Ramps SD adapter because there is another 3.3v regulator and logic level shifter on that board.
Put main.bin from the LPC1768 directory to your SD card renamed to firmware.bin. Also copy the default config ConfigSamples\Smoothieboard and make the pin edits described at the bottom of http://smoothieware.org/smoothie-on-a-breadboard . Insert the SD card then plug in the USB cable from the FTDI to power the board and see what happens. We saw lots of SD activity.
We waited a bit, disconnected the power, pulled out the SD and verified that firmware.bin was renamed to FIRMWARE.BKP.
Without the SD card inserted it didn’t seem like Smoothie starts up.
Now you can connect a terminal (like Putty) to the FTDI at 115200 baud. Smoothie has some commands that aren’t g-code like “help” and “ls”. Smoothie doesn’t echo your keys so you won’t see what you type when connected with Putty.
You can also try M114 (show endstop status) and M119 (get current position).
At this point we started wiring up the stepper drivers. The diagrams on the “Smoothie on a breadboard” page are a little odd. The top two stepper drivers shown on the top right have their micro-stepping pins pulled high, and their reset/sleep pins shorted, but the lower stepper drivers don’t have them configured the same way. I think the diagram is wrong for the lower stepper drivers.
We tested the X driver, and had to move the direction pin to the next pin away (pin 49? 2.10 I think) because something else was sharing that pin. I didn’t check the config enough to find out which pin. This exhibited itself as the machine moving up in X, but not reliably moving down.
– LPCX1769 datasheet. http://www.embeddedartists.com/sites/default/files/docs/schematics/LPCXpressoLPC1769revB.pdf Shows which micro controller pins the 54 breadboard pins go to.
– http://www.pololu.com/catalog/product/1182 see the example A4988 circuit