Step 33: Open the Curtains: (Prototype CNC Axis) Implemented
A local activation push button and an up/down toggle switch was added to the front of the project box. The local activation switches are wired in parallel to the external activation signal connectors so as to not interfere with the microprocessor activating the system. All signal connections to the outside world were made with screw terminals which can be accessed through drill holes created in the project box and which can be seen in Figure 27.
The stepper motor used for this subsystem is a NEMA size 23 motor and was purchased on e-bay with two other identical units for $30. It has a resolution of 1.8 degrees per step and 56 oz-inches of holding torque.
It is a six lead unipolar stepper motor and can be driven from 12-36 VDC. The frame depth was measured to fit the size 23 motor. The motor was attached to the frame using its mounting holes and three 2’’ machine screws. A hollow metal guide (slider) was placed in line with the motor shaft to hold the threaded rod. The slider rod was bent to fit through the motors final mounting hole and through a drilled guide hole at the top of the frame.
The electronic circuitry was attached to the side of the frame using zip-ties which passed through holes drilled in the project box for mounting. Momentary roller limit switches were mounted on small L-brackets at either end of the threaded rod and wiring to the switches was fed along the back of the frame and into the project box. To reach the limit switches with the wires, holes were drilled through the frame and the wiring fed through and soldered to the switch contacts. This setup kept the system very compact and clean looking. The wiring to the limit switches can be seen in the previous figure, while the motor mounting can be best seen in Figure 28.
The speed of the stepper motor is kept slow to demonstrate the precision control achieved for both linear and rotational motion. As a result the coupling nut takes about a half hour to traverse the length of the threaded rod. For the demonstration the curtain driver was actuated using the local switches. By modifying my code you can easily make that rod spin faster, and have the coupling nut traverse the length of the rod in 10 or so seconds.
Future versions of the curtain driver can be improved by the addition of an emergency stop switch, an external speed controller, and a six pin programming header. The programming header would allow a user to easily interface to the microprocessor without having to take apart the entire system. This can also be used for testing different programs with greater efficiency.
The electrical and mechanical designs are both sound and can be used with slight modifications for a variety of applications . The curtain driver will also be rebuilt using a DC motor with limit switches and an H-bridge.
When I rebuilt this I used a faulhauber gear motor and a reprap magnetic rotary motor encoder which I believe you can now get from makerbotindustries. A photo-resistor and a real time clock were used to make it a standalone blinds opener, but it also accepts a pulsed input so that I can one day connect it to the main system via a wireless link. The actual implementation is similar to this instructable .
My wife didn't like the idea of this thing opening the front blinds when she was walking by in the morning in a bathrobe. So I've decided it will go in the guest bedroom.... you've been forewarned!