In the Standard FIFO post I talked about how a traditional FIFO works and supplied code for one. In this post I will be describing a First Word Fall Through (FWFT) FIFO. The main difference between standard FIFOs and FWFT FIFOs are that, as the name describes, the first byte written into the FIFO immediately appears on the output (See image below). This allows the first byte to be read on the next clock cycle without having to strobe the read enable. Additionally you can read the byte and strobe the write enable high at the same time so the next byte will be available to read on the next clock cycle.
Below is a video of the initial (small scale) testing of the large scale delta robot movement in three dimensions. The controller is making a 10 x 10″ square then moving up 5″ as well on the last segment and then repeats.
After the initial testing of the pulley system used to reduce the speed and increase the torque of the stepper I found out that I had used the incorrect size of timing belt so anytime I tried to lift more than around 8 lbs the timing belts would slip. So I went about and created an updated version correct for this and implement a few other improvements.
Simplified 3-D model of the updated design.
In a previous post I tested running SPI over a distance of roughly 100 feet using RS-485 over Cat5 with only a single SPI slave device, in this post I will cover the how to have multiple SPI slaves (AutoDriver with RS-485 shield) daisy chained together. The goal here is to communicate with multiple AutoDrivers over a long distance with only a single chip select signal. Continue reading
After verifying that the AutoDriver v1 shield was sound, I made a few changes to improve its functionality and ease of use. The biggest change was the addition of a switching power supply that can accept anywhere from 6 to 60 volts. This will allow it to be powered directly from the same power supply used to drive the stepper motors and removes the need for a separate 5v supply. The second change was switching from a transistor to a single logic inverter to invert the chip select signal. During initial testing the transistor would not turn on or off quick enough to function properly, the single logic gate would guarantee the quick switching times needed. The final change was to reorganize the signals on the connector simplify connecting up the wiring between devices.
AutoDriver Shield v2 schematic
Arduino reading the status register from the AutoDriver via SPI over RS-485 with a 100′ loop of CAT5.
In my last post, SPI over long distances, I described a method of using RS-485 to run a SPI bus over long distances. To test this setup I created two prototype shields, an Arduino SPI over RS-485 shield and an AutoDriver shield. Because the standard Arduino only has a single SPI bus and I needed two, one acting as a master and another as a slave, I would need to find a way to simulate one. Continue reading
As part of the Large Scale Delta project I needed to control multiple stepper motors, each being over a distance of roughly 50 to 150 feet. To control each motor I chose to use the Sparkfun AutoDriver board which will drive up to 3 amps continuously and communicates over SPI. The AutoDriver, which uses STmicro’s L6470 chip, has built in current limiting, over current protection, stall protection, micro stepping and more but what is most important is that it has motion commands which handle the low level motion control aspects allowing you to command a position and it will handle the rest. This along with Sparkfun’s AutoDriver Library allow for easy and precise control of a stepper motor from an Arduino. While a SPI bus is easy to use over short distances it was not designed to run more than probably a few feet and definitely not tens or hundreds of feet, when you get to that kind of distance it introduces a few issues that need to be overcome.
I recently decided to take the plunge and purchase a 3-D printer figuring it would be useful to print things for around the house and parts for my robot. When I started researching I was quickly overwhelmed with the number of options I had. Ranging from small and low cost to semi-pro models, kits and everything in between. I quickly came up with some requirements for what I was looking for:
- Capable of printing PLA and ABS at a minimum with the option to try others
- Minimum of an 8″ x 8″ printing area
- Heated bed (for ABS Printing)
- Rugged design i.e. I didn’t want to have to re-tune every few prints
- Open source design / firmware / software
After speeding weeks looking over reviews and analyzing features I had narrowed it down to the Bukobot 8 from Deezmaker and the MendelMax 2 from Makers Tools Works. From the beginning I had always like the MendelMax for its rugged design and large printing area, though I was also very hesitant about it. For being an RepRap based printer design there were not many reviews to be found and the user community seemed small. This could be on account of its cost being outside of the general hobbyist range of affordable at $1595. The one glaring negative was from Make Magazine in its Ultimate Guide to 3D Printing 2014 put the MendelMax 2 in the “Buyer Beware” category, only saying that printers in this category came damaged or nonfunctional. Despite the negative review from Make Magazine and small community there was still enough of a good vibe about the device that I finally came to a decision and ordered one. Continue reading
Last weekend I built one rig for testing my calculations for the large scale delta project and to verify the concept. The goal was to be able to lift 22 lbs vertically using an 125 oz-in stepper motor and an AutoDriver stepper motor driver, both from SparkFun. All the mechanical bits, timing pulley, timing belt, pulley and axle, were from SPD/SI. While I was able to determine that the general concept will work it failed to lift the 22 lbs. This was due to the timing belt and pulleys not being a heavy duty enough and skipping when the load got around 8 lbs, so on the next version I will go for better a heavier duty timing pulley. See below for a video of it in action.
This post is only a few years late, but anyways here are a shot of the first version of the ShutterPod board.