Semi-automatic Spoke Threading Machine
by carlitos in Outside > Bikes
15446 Views, 25 Favorites, 0 Comments
Semi-automatic Spoke Threading Machine
Threading spokes with a cyclo spoke threading machine is fun and easy. The cyclo spoke thread rolling die rolls the threads by way of cold forging. I find two passes works well, with the second pass set for a deeper thread. However, threading 60 spokes as for a highwheel of a Penny Farthing is a repetitive task. With the possibility of building a few wheels, I gave some thought to automating the process.
My solution uses a cordless screwdriver, a microcontroller, and an H-bridge driver, How many threads get rolled is easily configured by modifying the timing on the software running on the microcontroller and the speed setting on the screwdriver.
I have read about other (very expensive) machines that thread spokes very quickly at the pull of a lever. My solution, threads spokes at the touch of a button.
My solution uses a cordless screwdriver, a microcontroller, and an H-bridge driver, How many threads get rolled is easily configured by modifying the timing on the software running on the microcontroller and the speed setting on the screwdriver.
I have read about other (very expensive) machines that thread spokes very quickly at the pull of a lever. My solution, threads spokes at the touch of a button.
How It Works
Bill of materials:
Cordless screwdriver
microcontroller, H-bridge
Bracket hardware
The idea is to automatically turn the crank handle on the threading machine clockwise
for a period of time and then turn it counterclockwise by controlling the screwdriver.
As the handle is turned clockwise, the die "grabs" the spoke and advances.
Rather than have the screwdriver advance along with the handle, a 90 degree crank bit
is built for the screwdriver. This crank bit gets a washer at the tip which accepts the
handle. The handle freely slides in and out through the washer.
Finally, a spring is loaded on the handle. Now when the spoke is inserted and
pushed against the die, the spring causes the die to slightly force itself onto the spoke,
allowing the die to "grab" and advance.
Cordless screwdriver
microcontroller, H-bridge
Bracket hardware
The idea is to automatically turn the crank handle on the threading machine clockwise
for a period of time and then turn it counterclockwise by controlling the screwdriver.
As the handle is turned clockwise, the die "grabs" the spoke and advances.
Rather than have the screwdriver advance along with the handle, a 90 degree crank bit
is built for the screwdriver. This crank bit gets a washer at the tip which accepts the
handle. The handle freely slides in and out through the washer.
Finally, a spring is loaded on the handle. Now when the spoke is inserted and
pushed against the die, the spring causes the die to slightly force itself onto the spoke,
allowing the die to "grab" and advance.
Electronics
Controlling a motor to turn clockwise/counter clockwise at the touch of a button requires an H-bridge.
The microcontroller interfaces to the H-bridge which in turn controls the motor.
I used bridge A of the L298N dual full-bridge driver (http://www.digikey.com/product-detail/en/L298N/497-1395-5-ND/585918?WT.z_cid=ref_octopart_dkc_buynow).
It includes a pin, ENABLE A, which when low, it turns the motor off.
You set high/low INPUT 1/INPUT 2 to prepare for clockwise turning. and low/high for counter clockwise. The button is tied to a pull-up resistor and grounded when pressed. Setting ENABLE A high gets the motor running, looking for adventure.
A PIC16F88 microcontroller was used but most any other would do equally.
Pictured is the simplified schematic. Software is written in JAL which follows in its entirety..
-- This program is for controlling the cyclo spoke threading machine
-- for the Semi-automatic spoke threading machine project on instructables
-- by Carlitos
-- B2 is input button tied to pullup resistor. Button being used is normally on
-- so normally it is grounded. Pressing button causes input to go high.
-- which will trigger motor control cycle
-- B4 is motor enable (high is enabled)
-- B6, B7 is motor direction where high/low is clockwise and low/high is counterclockwise
-- motor control cycle:
-- 1. enable motor set to run clockwise
-- 2. run clockwise for x seconds
-- 3. run counterclockwise for x+delta seconds
-- 4. disable motor
include 16f88
-- set all IO as digital
enable_digital_io()
pragma target clock 8_000_000
pragma target OSC INTOSC_NOCLKOUT
OSCCON_IRCF = 0b_111
pragma target WDT disabled
-- Output pins
pin_b4_direction = output -- motor enable
pin_b6_direction = output -- motor i1
pin_b7_direction = output -- motor i2
-- Input pins
pin_b2_direction = input -- button with pullup resistor used to trigger motor
include delay
var word delayclockwise = 90
var word delaycounterclockwise = 100
pin_b4 = low -- disable motor
pin_b6 = high -- set for clockwise
pin_b7 = low -- set for clockwise
forever loop
if pin_b2 == high then -- button pressed
delay_100ms(5)
pin_b4 = high -- enable motor
delay_100ms(delayclockwise)
pin_b4 = low -- disable motor
pin_b6 = low -- set for counterclockwise
pin_b7 = high -- set for counterclockwise
pin_b4 = high -- enable motor
delay_100ms(delaycounterclockwise)
pin_b4 = low -- disable motor
pin_b6 = high -- set for clockwise
pin_b7 = low -- set for clockwise
end if
delay_100ms(1) -- wait a little before polling button
end loop
The microcontroller interfaces to the H-bridge which in turn controls the motor.
I used bridge A of the L298N dual full-bridge driver (http://www.digikey.com/product-detail/en/L298N/497-1395-5-ND/585918?WT.z_cid=ref_octopart_dkc_buynow).
It includes a pin, ENABLE A, which when low, it turns the motor off.
You set high/low INPUT 1/INPUT 2 to prepare for clockwise turning. and low/high for counter clockwise. The button is tied to a pull-up resistor and grounded when pressed. Setting ENABLE A high gets the motor running, looking for adventure.
A PIC16F88 microcontroller was used but most any other would do equally.
Pictured is the simplified schematic. Software is written in JAL which follows in its entirety..
-- This program is for controlling the cyclo spoke threading machine
-- for the Semi-automatic spoke threading machine project on instructables
-- by Carlitos
-- B2 is input button tied to pullup resistor. Button being used is normally on
-- so normally it is grounded. Pressing button causes input to go high.
-- which will trigger motor control cycle
-- B4 is motor enable (high is enabled)
-- B6, B7 is motor direction where high/low is clockwise and low/high is counterclockwise
-- motor control cycle:
-- 1. enable motor set to run clockwise
-- 2. run clockwise for x seconds
-- 3. run counterclockwise for x+delta seconds
-- 4. disable motor
include 16f88
-- set all IO as digital
enable_digital_io()
pragma target clock 8_000_000
pragma target OSC INTOSC_NOCLKOUT
OSCCON_IRCF = 0b_111
pragma target WDT disabled
-- Output pins
pin_b4_direction = output -- motor enable
pin_b6_direction = output -- motor i1
pin_b7_direction = output -- motor i2
-- Input pins
pin_b2_direction = input -- button with pullup resistor used to trigger motor
include delay
var word delayclockwise = 90
var word delaycounterclockwise = 100
pin_b4 = low -- disable motor
pin_b6 = high -- set for clockwise
pin_b7 = low -- set for clockwise
forever loop
if pin_b2 == high then -- button pressed
delay_100ms(5)
pin_b4 = high -- enable motor
delay_100ms(delayclockwise)
pin_b4 = low -- disable motor
pin_b6 = low -- set for counterclockwise
pin_b7 = high -- set for counterclockwise
pin_b4 = high -- enable motor
delay_100ms(delaycounterclockwise)
pin_b4 = low -- disable motor
pin_b6 = high -- set for clockwise
pin_b7 = low -- set for clockwise
end if
delay_100ms(1) -- wait a little before polling button
end loop
Hardware
A bracket was welded up using angle iron. It bolts on securely to the spoke threading machine and supports the screwdriver's geared motor with electrical tie wraps.
The crank bit was welded with 3/8" rod and a washer. A compression spring was cut to size. The threading machine conveniently accepts a vise.
The crank bit was welded with 3/8" rod and a washer. A compression spring was cut to size. The threading machine conveniently accepts a vise.