This TV lift was made out of materials that I happened to have on hand. The mischief that follows would not have happened had it been planned. The lift uses Makerslide, Shapeoko V1 End Plates, an Arduino Uno, a 425oz stepper and a 4.5A Stepper Driver. It currently runs using GRBL on an Arduino Uno for proof of concept. However, it will be moved to a Raspberry Pi and Octoprint for wireless phone operation. This Instructable covers the mechanics of the project; a proper case, mounting and moving over to wireless operation will be covered in Part 2 to come. Now here's how I did it:
Step 1: Ingredients
You will need:
- TV (probably)
- Drill (enough power to drill through aluminum)
- Carbide Assorted Drill bits (got mine at Home Depot)
- Miter Saw to cut Aluminum Extrusion
- Grinder to cut stepper shaft and Acme Screw
- Access to a CNC Machine
- Arduino Uno
- 4.5A Stepper Driver (http://www.amazon.com/SainSmart-Micro-Stepping-Ste...
- 425oz Stepper Motor (just something with beef if you have a heavy TV)
- Aluminum Extrusion (https://www.inventables.com/technologies/aluminum-...)
- Makerslide (https://www.inventables.com/technologies/makerslid...)
- Inventables Corner Brackets x20 (https://www.inventables.com/technologies/button-he...)
- OpenBuilds Corner Brackets x4(http://openbuildspartstore.com/cast-corner-bracket...
- T-nuts x3 (http://openbuildspartstore.com/tee-nuts-25-pack/
- M5 10mm Bolts for corners x3 (http://openbuildspartstore.com/low-profile-screws-...
- Bolts for mounting Motor & Bolts for Shapeoko V-wheels M5 20mm (http://openbuildspartstore.com/low-profile-screws-...
- Bolts to mount back of TV
- Self Tapping Screws if you dont like tapping aluminum (https://www.inventables.com/technologies/self-tapp...
-m5 nuts for motor and shapeoko plate (http://openbuildspartstore.com/nylon-insert-hex-lo...
-Eccentric nuts for V-wheels x4 (https://www.inventables.com/technologies/eccentric...
- V-wheel Kit x8 (http://openbuildspartstore.com/delrin-v-wheel-kit/...
- Shapeoko End Plates (https://www.inventables.com/technologies/motor-mou...
- 4-Start ACME Screw (http://openbuildspartstore.com/8mm-metric-acme-lea...
- 4 Start ACME Anti-Backlash Nut (http://openbuildspartstore.com/anti-backlash-nut-b...
- 8mm Bearings (http://www.amazon.com/KFL08-Aligning-Pillow-Flange...
- 3/16" Aluminum Plate
- Some Wire for connections from Arduino to Stepper Driver and preferably shielded wire for stepper motor connection
If you attempt your extrusion, nuts, bolts and corners may vary due to TV size.
Access to a Makerspace with most of these tools will greatly help you in this Instructable.
Here's where I did my project: http://binaryspace.co/maker-space/
Hopefully I didnt miss anything. :)
Step 2: Measure and Cut the Frame
Measure your TV, dry fit your TV into the setup shown in Picture 1.
(You will need to assemble your Shapeoko endplates and slide them on at this point to continue dry fitting)
You can find instructions on assembling Shapeoko endplates on the Shapeoko wiki.
Adjust length of extrusion as needed and mark where the cuts will be made according to your TV size.
I continuously measured and cut as I went along.
The first cut was the center bar joining the two endplates together according to how wide my TV was.
I then cut down the makerslide after deciding how much motion it would take to lift my tv past a pre marked point.
Be very cautious when cutting aluminum to clamp all aluminum pieces securely and use a blade that is made also for ferrous metals.
I then cut the top and bottom support bars for the makerslide.
In order to avoid twisting of the center bar spacers were cut for the endplates out of more aluminum extrusion.
Step 3: Bolting Together and Cutting
The short pieces of extrusion was then bolted to the endplates with self tapping screws and then to the center bar with corner brackets.
Next I bolted down the top and bottom supports with corner brackets.
Once the vertical distance is decided and mounted you can mount the bearing for the ACME screw on the top support. Measure both the top and the bottom to find the midpoint of the extrusions. That is where you will mount the bearing.
You can now dry fit the screw on to the lift. Place the screw in the bearing mount and and tighten down the set screws on the bearing.
You can now dry fit the motor. Place the motor on the bottom extrusion facing downward with the motor coupler on the back shaft. With the shaft and motor in place you can now hold both against the screw for marking where to cut the screw down.
We will be mounting the motor on a piece of 3/16" aluminum so be sure to account for the extra width when marking where to cut the screw.
Now that you have a cut mark you can cut the screw down with a grinder. Be sure to shave off any residue or flanges that would prevent the screw from sliding on the coupler.
Step 4: Slight Modification
In order to avoid twisting the center bar was pushed back with aluminum extrusion.
Unfortunately that means I had to shim the ACME Nut with Aluminum plates to make up that distance.
I marked the holes for the plates by drilling through the ACME Nut holes then finished drilling through them with clamps and wooden blocks.
The shims can be made from anything as long as it doesn't break or give under weight.
I also got the wrong length of M5 bolts so I had to use another piece of extrusion as a spacer to have access to the bolts threads. The ACME Nut, Aluminum shims, Center Bar and Extrusion Spacer are all held together with two m5 bolts and T-nuts tightened together.
Next I built the mount for the TV with aluminum extrusion. The lengths of extrusion will differ based on your TV mounting pattern. I measured my mounting patterns but found that the screws I had to mount my TV were too short so I made bigger holes in the aluminum so the screws would go deeper.
A vertical center bar was attached to the TV mount with corner brackets to attach to the horizontal center bar.
Step 5: Motor Shaft and Mount
Next the Vertical TV Mount extrusion is attached to the Horizontal Center Extrusion (where the Extrusion Spacer is on the ACME Nut) with corner brackets.
Once mounted the TV can be stood up on the frame.
Now all that is missing is the motor. First we must grind off the front shaft of the Stepper motor as it is too long to be put face down against the extrusion. Be careful when grinding. Wear protection and clamp down the motor. We will be coupling the rear shaft of the Stepper motor to the ACME screw for a direct drive.
The next step is to CNC cut a mount for the Stepper. I used a Zenbot CNC running Grbl to cut out the mount.
The material was 6061 3/16" Aluminum being cut at .5mm per pass.
The mount was designed in VCarve Pro and gcode was sent with Inventable's Easel.
Once the mount is cut out the motor can be mounted on the frame.
The design of the mount doesnt allow enough room for two t-nuts to sit side by side but I fount one set was plenty enough.
Once the motor is mounted the coupler can be slid on (if you kept it on the ACME screw) and tightened.
Step 6: Wiring
Wiring the stepper motor from an 8 wire setup to 4 wire was done using the color coding I scribbled down after a quick search.
The first and second picture explains better than I could describe.
I simply stripped the wire ends for the stepper driver side for the screw terminals and soldered the other sides of wires to jumper pins for the arduino.
When wiring the Step, Direction and Enable Motor I referred to to the third picture.
You may choose any axis to work with for the pinout. I chose the X-axis.
I then used Easel to edit the settings for GRBL to reflect the steps/mm for the ACME Screw.
The steps per mm is 200 for 1/8 microstepping. **You must also set the driver to 1/8 microstepping and reduce the current to 3.0A using the switches and instruction that come with the driver.**
Be sure to tape up or heat shrink any open connections.
Step 7: TESTING!
I used GRBL Controller to test the TV lift because it allows you to send jogging feed commands to test the speed of the lift.
The settings used here were "F2000" sent using the command bar.
Which is 2000mm/min feed rate when jogging.
First I jogged all the way to the bottom, then zeroed out the work coordinates, then incrementally went up to see the max position.
Once I had the max position I went all the way down in one command.
In my case: $G01 X-470
Then all the way up again. Then down again. And a few more times cause it was cool.
Now that the mechanical aspect is finished, I can focus on making a CNC cut wooden case/ bench for it since it is going at the foot of my bed.
Participated in the
Arduino All The Things! Contest