Académique Documents
Professionnel Documents
Culture Documents
VTC gets donations of used equipment from various corporations from time to time. This
wafer inspector was in there. The microscope parts had already been removed. The
students made the table that has edge clamps and a corner clamp to hold circuit boards.
They removed the servos (we didn't get the servo controllers) and found small but
powerful steppers to replace them. They made custom brackets to use the original servo
motor clamps to hold the stepper motors. They took a pre-existing Z axis and machined it
to fit in this machine and hold the drill motor (which is one of the original servos from
the machine), They machined the heat sink in the back to have a flat surface, and it
actually ducts the heat out to the sides of the machine as well. The flip up grill over the
linisteppers they made as well. They also machined covers for all the holes on the
machine where there used to be stuff that was removed before we got the machine.
The X/Y table is original (and an absolutely beautiful platform with virtually no slop and
very little drag). The table, Z axis, and steppers were added, along with the linisteppers.
The x and y are on high power half steps. The Z axis is on the 9 microstep mode (for
smoother drilling motion).
How to blow up the Linistep (or avoid doing so) Hint: It isn't easy to destroy and
even then, repair is cheap...
Linear stepping with the Linistepper or How smooth is smooth?
* step input
* direction input
* low power
* mode 0
* mode 1
mode 1
0
0
1
1
result
200
(full step)
400
(high-torque half step)
1200 (microstep 6th)
3600 (microstep 18th)
The connector closest to the heatsink is the power and motor connector.
The 7 pins are divided into 2 for the power connector,
and 5 for the motor, starting closest to the resistors;
Power
* main ground
* + main voltage (+4v to +35v)
Motor
* motor
* phase
* phase
* phase
* phase
Don't disconnect any motor wires with the power turned on!
----------------------------------------------------------------------Using the Linistepper
----------------------------------------------------------------------Important!
All 5 input pins MUST be connected to something, ie to a digital
output or tied to 0v or +5v. DO NOT leave inputs floating!
Most of this is quite obvious, each time the step input is clocked
from lo to hi (from 0v to 5v) the motor will turn one step.
The direction will be forward, unless the direction input is hi.
The low power input should be hi to get full power, lo will give low
power "wait" mode.
Set the 2 mode inputs to give the desired stepping mode.
----------------------------------------------------------------------Motor does not turn??
----------------------------------------------------------------------First check that the regulated +5v is there, then motor voltage which
is normally between 4v and 35v.
Assuming you are clocking the step input and you have the low power
pin held hi (full power) and you have the motor common + wire connected
properly there is one likely reason that the motor does not turn.
Try swapping one A wire with one B wire, you may have connected the
motor phasing wrong. If you have the phasing wrong, the motor will
tend to sit there and "wobble" or "buzz". :o)
If the motor turns, but in the wrong direction, you only need to swap
the two A wires with each other.
Don't disconnect any motor wires with the power turned on!
----------------------------------------------------------------------Keeping it Cool!
-----------------------------------------------------------------------
Stepper inductance
Stepper motor coils are magnetic and have inductance. To put this very
simply, inductance means that it takes TIME to build a magnetic field
in the coil, and larger inductance means that the change from no
magnetic
field to full magnetic field takes longer than a low inductance motor.
Inductance is closely related to how many turns of wire so motors that
have finer wire and more turns will have higher inductances.
Like this:
fine wire = high volts/low amps = high inductance = slow motor
thick wire = low volts/high amps = low inductance = fast motor
Many people instantly assume that low inductance motors are better,
and indeed these days they are more common with new motors. But low
inductance motors are NOT always the best choice.
The linistepper was designed to be well suited to many older stepper
motors, most of which are high inductance. These motors are often found
at VERY CHEAP prices from "surplus" sellers.
Apart from that big advantage, high inductance motors are usually
more efficient magnetically and often give higher holding torque for
the same coil wattage. These charts are from a manufacturers website.
Motors are the same apart from winding type. Holding torque is 20%
more for the high inductance motor, and even at 400 steps/sec
(2 revs/sec) the high inductance motor still has 8% more torque than
the "fast" motor.
Running your system with a variable voltage psu and testing for motor
speed and resonances you can determine the optimum psu voltage where
smoothest operation and less heat (low psu voltage) is obtained at a
psu voltage high enough to still give the desired torque at higher
speeds.
Tips for cool running!
* use the lowest PSU voltage possible
* use a large heatsink
* use fan cooling (3 inch PC fans are as cheap as $1 these days)
* fan cooling reduces heatsink size by 3x or 4x
* use a metal case as part of the heatsinking
* test for 1 hour minimum to measure the running temperature
* microstepping modes 1200 and 3600 are cooler than 200 mode
* use the low power mode during all wait periods
* keep transistors UNDER 50 degrees celcius at all times
----------------------------------------------------------------------Interfacing with CNC software
----------------------------------------------------------------------The inputs to the linistepper can be connected to a PC printer port,
or other 5v digital device. Be aware that the PC and the stepper motor
PSU and the +5v regulator must all share the same ground. As PC's have
a grounded case and PSU this is rarely a problem.
Some PC printer (parallel) ports only put out 3.5v when at logic
"high". The linistepper inputs require over 4v input for a logic
high, and under 1v to input a logic low. In some rare cases the PC
printer port will not output >4v and you may need to add 1000 ohm
resistors from each of the input pins to 5v. A simple test with a
voltmeter should confirm that your PC port voltages are within spec.
The linistepper uses a + going step clock. Each step occurs when the
step input goes from 0v to 5v. Set your CNC software for + going step.
Likewise set the direction input to give the correct direction
motor rotation. If you can't change the direction in your CNC software
setup you can swap the two motor A phase wires with each other.
How it Works
History.
Cheap microstepping drivers seemed to be nonexistant.
I quickly made up a board that would suit my hobby needs and be
able to drive most motors fairly accurately and powerfully,
with cheap non-specialist parts (no stepper ICs).
Block Diagram;
+5v to +32v --------------------,
(depends on motor and
|
what speeds required)
|
|
| motor common (power) wire
|
(motor must have 5,6,8 wires)
,---------*-------,
|
|
,---*---,
,----*----,
|
|
|
|
|
|
|
|
|
|
|
|
#
#
#
# 4 motor coils
A+ |
A- |
B+ |
B- | (arranged as 2 phases
|
|
|
|
unipolar)
|
|
|
|
+5v----,
|
|
|
|
|
C
C
C
C
4 darlington power
brain-->---B
--B
--B
--B
transistors
|
E
E
E
E
|
|
|
|
|
^
|
|
|
|
|
'---*---'
'----*----'
|
|
|
2 current-sense
'-------<---- Rs
<-- Rs
resistors, one for
|
|
each phase
|
|
gnd -----------------*-----------------*------------------Basic design
It is a unipolar (or 5-wire type) driver. The motor must have
5 or 6 wires (or 8), as 4-wire motors are only for bipolar
and 4-WIRE MOTORS WILL NOT WORK WITH THIS BOARD.
The constant current system is crude but simple, it relies on
setting the base of the main transistors at a "set" level, then
this causes a "set" voltage across the sense resistor Rs, ie
maintains constant current. It does get some temp drift with
large currents, but it's simple and accurate enough with the
resistor values i've tested. It actually works quite well!
The brain has control of which of the 4 transistors are ON,
and sets 3 possible current levels, enough to do 6th stepping
and give 1200 steps/rev with hardware alone. The software I
have provided also will do pwm and give 18th stepping, which
is 3600 steps/rev, almost stepless operation.
The PIC has plenty of left over rom if you need to do motion
control or use the board as the complete brains and driver for
an entire machine. Up to 9 PIC in/out pins can be allocated to
the board.
Special Features
There is an RC filter in the linear microstepping circuitry that
will give fairly smooth "ramping" from one current level to the
next. At tuned speed this gives almost "sine like" smoothness and
quietness.
In all lower speeds, the linear current ramping does still have
some effect and ramps between steps more smoothly with less problems
from resonance and less ringing torque. Less ringing torque means
more available torque and quieter more powerful operation.
Circuit Diagram;
Unipolar.
I chose this because it has advantage of making the circuit cheap
and much simpler and easier to build. Less parts, less soldering,
etc etc. Also a motor run as unipolar has half the inductance of
the bipolar wiring and can perform better at higher speeds.
It is also the configuration of most cheap "surplus" stepper
motors, etc etc.
Constant current?
Constant current is needed to set the small current levels needed
for microstepping. It also allows good high speed motor operation.
The board controls the current through the motor coils, regardless
of motor voltage or power supply voltage.
You can connect a number of different motors that have different
ohms etc, and the board will run them at the same (set) current.
from chopper recirculating currents. Expensive high-speed highcurrent diodes are not needed. Eddy currents and copper losses,
and recirculating diode losses are reduced and the motor gets
LESS heating with linear than with a chopper supply, although the
driver gets more. :o)
Yes this driver does get hot, and needs a heatsink!
But I designed this for my needs, ie to be adaptable to any new
motor needs I have from 200mA floppy motors that need fine
microstepping, to large 2A motors etc. I thought it was better
to have "one board does all" than to use the expensive and
tiny stepper chips.
Think "large audio amp"...
- Linear is a great way of getting an exact-shaped high freq
current into something inductive like a speaker or motor.
Current Ramping
A benefit of linear, the analog current control has an RC network,
giving a "ramp" from one current step to the next.
Ramping rate between steps is selectable by the capacitor size.
Ramping is much better than hard edged steps, and reduces
excitation energy that causes "singing" and resonance. With ramping,
more of the motor energy is converted to forward rotation, unlike
the "two steps forward one step back" effect of hard ringing steps.
The ramping can be tuned for main operating speed to give almost
stepless operation and very quiet and smooth rotation. Analog ramping
takes no PIC processor time and can be set VERY slow so even slow
motor speeds like 0.5 rps can be made smooth!
No other cheap stepper driver does this!
|
|
|
|-----|
|-----|
|
|
|
|
|
|
|
|
----|
|-----|
|
|
|
Normal stepper driver.
(jerky, overshoots, resonant, noisy, reduced torque)
/-\
/
\
\
\-/
/
/
/-\
/
\
\
/
\-/
\
\
|
|
|
|
|
|
|
|
|
|
|
|
'------'
Vx *---*--B
(1V b-e)
2v |
2v E
|
| 1v
,--*
|
| |
|
C R2
R current
| |
| sense
'--*
| 1v / 1ohm = 1amp
|
|
|
|
gnd ----------*--------*--------------The capacitor across R2 gives the current ramping. No it's not
perfect ramping, but for a cheap simple solution it works ok.
With 6th stepping, the cap is always charged at the last level,
so when the step occurs the volts ramp smoothly to the next level.
Rp holds the transistor JUST off (at 0% current) when the PIC is
not sending an output, so any signal from the PIC will
proportionately increase the current past the zero point.
In this way the PIC sets 4 main currrent levels;
* 0% current
* 25% current
* 55% current
* 100% current
To make these levels tuneable I have provided a small prototype
area on the board where you can make resistance values by combining
two resistors in series. The resistor values I have chosen are to
give the currents above, give or take a few percent.
The hardware microstepping alone gives 1200 step operation.
In software the PIC can do modulation between any 2 of these levels,
giving "tween" current levels of any amount.
Questions:
How big must the capicitator over r2 be??? James Newton replies: That depends
on the size of R2 and the ramp you wish to create.+
+
how to design a stepper motor that would complete one revolution in one day(24
hrs)? James Newton replies: You would need an accurate timebase such as a
clock, and then a divider that would produce one step pulse every so many clock
pulses. For example, with a 1 second pulse from the clock, a 200 step / revolution
stepper motor, and the controller set for 1200 step (or 6th microstepping) you
would need to divide the clock pulse by 72 (producing one step pulse per 72 clock
pulses) in order to turn the stepper motor one revolution per day. Since the
linistepper is an open source project, if are yourself or you have access to an
experienced PIC assembly language programmer, these functions could be added
to the chip in the linistepper itself. Or they could be developed externally in
hardware or in software using existing programmable hardware.+
+
Kent
James Newton replys:
Answers by the number:
1. Sure
2. The linistepper (as is) does not respond to an analog signal but rather to
step and direction digital inputs. You would have to either A) Change the
programming of the on board PIC microcontroller to use an A/D converter
and read the signal then generate step and direction commands for the
existing stepper controler code, which you CAN do because Roman has
made this an open source project, or B) build some other controler that
translates the analog voltages into step and direction commands. A PIC or
SX would be fine for doing that. Probably even a basic stamp.
3. See the answer to #2. But there is no limit on the rotation of the steppers.
4. It depends on what you really need. I think you are looking for a servo
based system rather than steppers, because some servos can adjust position
based on an analog input and it is easy to convert an analog input into the
pulse width signal that standard servos accept, but the cost of a servo that
is strong enough will probably be higher than the cost of a stepper and
controller. Servos include feedback (which is not usually necessary with a
stepper), electronics and gearing which increase the cost. Also, I haven't
seen a servo that would do more than about 180' (they may exist, I just
haven't seen one) so that requires gearing as you suspect. Finally, you may
find that a simple 1:1 relationship between the analog input and the valve
position is not what you actually need. In that case, haveing a
microcontroller in there would allow you to vary the valve position as you
wish.
Drill 4 holes to suit the 4 PCB holes, use the PCB as a template held against the alloy and
use a ballpoint pen to mark the holes. See the picture for the positioning of the bracket.
Drill the 4 holes 3mm or 1/8 inch diameter.
Drill 2 or 3 more holes on the other wall of the angle bracket which allow it to be bolted
to the heatsink. Small motors may not need the additional heatsink, the bracket might be
enough once mounted in a metal box etc.
With a 1A motor you need a big heatsink, about 1.5'C/watt as a minimum size, (that is
about 400g weight (a pound) of alloy) It will be cheaper to use a smaller heatsink and a
cheap computer fan (fans available for under $2 these days). Remember to heat-test your
heatsink for at least 1/2 hour at full power to make sure that the 4 main transistors don't
get over 25'C rise (not over 45'C total).
* Check all the bits are there
Check through the parts and compare to the parts list to see if there are parts missing,
damaged or exchanged for different types. If you are building a special version of the
board, like a high current one that needs different resistors, make sure you have the extra
parts before you start. * Inspect the board
Check the board is ok, check for broken tracks, filled solder holes etc.
Part Package
Description
Q1-4 TIP122
Power transistors
Q5-8 TO-92
Switching Transistors
PIC Microcontroller
IC1
DIP 18
Socket
R1-2 3 Watt
Power Resistors
R3-6
not
supplied
R731
1/4 Watt
Resistors
C1
big radial
C2,4 Disk
C3
blob
C5,6 disk/blobs
1N4148 Diodes
Do them in blocks of 4 or 5, the way the board is layed out. Insert the 4 resistors, put the
colours the same way around making them easier to read, and splay the legs a bit to hold
them in. Then invert the board and solder them in, finishing by removing the excess legs
with fine point wire clippers.
Notice below the 6 "microstep tuning" resistors are mounted on a bit of an angle to
make them fit.
Diodes:There are 6 diodes, WATCH OUT the diodes are NOT all the same way around,
they are layed out like in the circuit diagram:
----|
|-|---
----|
|-|---
Oscillator/PIC parts
The PIC has a 16 MHz ceramic resonator which is now supplied as a three lead unit that
does not require the 2 small 22pF caps C2 and C4. Insert the the resonator, keeping the
writing on the parts pointed out so you can read it.
Capacitors
Insert the tantalum cap C3 next to the PIC. It MUST be in the correct way around, the
+ lead (which is the longer lead; the mark is hard to read on the cap) goes toward
the board edge.
Other caps
The two small caps (C5,C6) and large electro cap (C1) can be inserted next. All these
caps MUST be inserted the correct way around! In each case the + of the cap goes
towards the big transistors.
Connector pins
Make sure these are cut into 2 strips of 7 pins, and solder in as shown in the picture
above. These have a low melting point, and must be soldered QUICKLY with a clean
soldering iron tip and fresh solder. It may help to clamp the pins with a metal clamp etc
to keep them cool when soldering.
Small transistors
The 4 small transistors Q5,6,7,8 are inserted as shown on the board itself. Don't push
them all the way down, leave about 4mm of legs above the board. Solder each one by one
leg only to start with, and then you can straighten them and make them look neat before
soldering the other legs.
* The big transistors need special attention
Once the flat parts are all done you can do the fiddly stuff, of which the most fiddly are
the power transistors.
* mount the heatsink bracket to the board with 2 bolts, the outside two. The bracket goes
on TOP of the board.
* once the bracket is secured, it's time for the 2 middle transistors to go in;
tiny blob of heatsink grease on the bracket where the transistor will go.
cut the clear mica insulator to size, see picture
place transistor in correct spot and add the bolt, nut and washer (see picture)
solder legs before final tighten of the bolt
SPAMandreas at kaenner.de asks: " what are the two 470 Ohm resistors for? I
can't find them in the circuit diagram." +They are added to the bottom of the
board, as shown in the picture above (second to last photo) This was a
modification that was added to improve function after the PCB's where already
made.
Dale askes: "James, I'm stumped. Resistors R18/19 thru R28/29 don't seem to
match the circuit diagram with the the pictures on the web site. I have enough
parts to populate the board but the resistors would have to be vertical, the picture
looks like only half of the resistors are used??? Please advise."
The extra holes and resistors shown on the circuit are actually a prototyping
area, as using two resistors lets you fine tune the microstep currents. For the
standard currents of 1200 steps I was able to choose resistor values using 1%
resistors that give good current settings. But this is a design that can be used for
more than one setup, and hence the extra holes let you tune microstep currents by
putting 2 resistors in series to get in-between resistor values.
There are also extra holes for the large resistors, to allow the use of extra power
resistors in parallel. This enables tuning the MAIN current, ie the 100% value
that all the microstep currents are based upon.
Thank you for pointing that out... It does need to be made a bit clearer. In the
instructions that Roman wrote, the board layout picture was not included, only
the actual photos of the board. At the suggestion of another person, I added the
board layout picture, which had not been updated since the change. I have now
updated the board layout picture that should correct the confusion, but your
question and this answer should be of use as well.
General Issues
Current control.
The linistepper is a constant current driver, ie it CONTROLS the amount of current
through each motor coil.
Microstepping requires that TWO separate current levels are controlled, one for each
motor phase. I used simple current control, based on the voltage Vbe of the power
transistors, as this system has worked well for me in the past and is simpler than a closed
loop system typically using op amps etc.
The system I chose is fairly easy for a beginner to understand, and more importantly,
adapt to their own needs. And it uses minimum parts count. :o)
The current control system I chose does have some drawbacks;
Heat sensitivity
The transistor characteristics change with junction temperature, so the transistors perform
differently when hot. When the transistors are cold the current will be 5% to 10% less
than the "tuned" current at the typical operating temperature of 45 degrees celcius.
I have chosen resistor values that give decent microstepping accuracy when the
transistors are at operating temperature, ie I have "tuned" the thing hot as you would
expect. :o)
Normally this is not a problem, as the microstepping angular accuracy of the motor itself
is rarely within 5%.
If you have specific needs for high accuracy, and you have special- purpose high
angular accuracy motors, you can adjust the resistors for a specific temperature range
and then keep the driver in that temp range to suit.
For most apps this is really not necessary, the linistepper will be a few percent low in
current when cold and soon drift to a close- enough current when at operating
temperature.
Voltage sensitivity
This is a very small problem. If you vary the psu voltage by a large amount the current
will drift a small percentage. The typical 10% or so that a psu droops voltage under load
will generally cause less than 1% change in current. In most cases this can be totally
ignored.
Power loss in the sense resistors
Again this is a very small problem. My design calls for 1v across the sense resistors when
the phase is at 100% current. It is easy to see and tune phase "current" on the CRO. At
phase currents of 1A, and using resistors of 1 ohm, each resistor will dissipate a
maximum of 1W.
Average dissipation (ie a running motor) will be about 0.7 volts per resistor, (ie 0.7W)
and the kit contains 3W resistors which will run at a reliable temperature.
This may become an issue when tuning the linistepper for higher-current motors, more
about that later.
Thermal Runaway!
As the transistors heat up to their normal operating temperature the current will increase a
few percent.
If you don't have enough heatsinking and the transistors get TOO HOT it is possible for
the driver to go into thermal runanway where the transistors are destroyed and possibly
your motor too.
This is typical of linear amps, and some designers use temperature sensors mounted close
to the heatsink that will shut down the device if it gets too hot. I chose the simple,
minimum parts count solution where you simply use a big enough heatsink and forget
about it. :o)
It is IMPORTANT to run the motor at a standstill for one hour at FULL
CURRENT and measure the temperature of the transistors. As the system will draw from
50% current to 100% current depending on what microstep it is on, the only way to do
this is set the driver to 200 step mode (full step mode) where it always draws 100%
current through BOTH COILS. This is your worst case current load.
As the motor properties are known, if it is heatsunk adequately for this one hour test it
will be reliable long term and you won't have to worry about this again.
NEVER assume that because it runs cool for 10 minutes the heatsink is big enough!!
Also make sure the operating conditions are typical, ie; allow for a hot summer
environment. :o)
If the transistors fail, they will fail short circuit and expose your motor to excessive
current, which depends on your psu voltage and may be a few times the normal phase
current. This is enough to cook the motor if left unattended.
Simple solutions are:
A slow-blow fuse rated about 2.5x the max normal phase current (if motor is 1
amp/phase use a 2.5 amp slow blow fuse placed before the linistepper) Fuses are
always a good idea!
Thermal switch (goes open circuit at rated temperature) are available in a few
packages. Attach a 80 degree celcius or thereabouts thermal switch close to the
transistors. This is worthwhile if your motors are expensive, even though the
switch will only ever activate in a severe fault situation.
In most cases a simple fuse and a TESTED HEATSINK will give all the reliability you
require. Remember the number one rule: Keep the transistors under 50 degrees
celcius!
Please don't let my "idiot proof warnings" put you off the linistepper. It WILL be
reliable, providing you understand the basic concept of heatsinking and do the
simple one hour test. :o)
Changing Current
The linistepper kit is supplied with 1 ohm sense resistors. These will give 1 amp per
motor phase (2 amps max).
Tuning the motor current is easy;
current = 1 / ohms
1 ohm = 1 amp/phase (the 1 ohm resistors are supplied with the kit)
2 ohms = 0.5 amp/phase
3 ohms = 0.333 amp/phase
0.667 ohms = 1.5 amp/phase (maximum!)
etc.
Remember to tune current with the driver transistors at the expected operating
temperature, normally about 45 degrees celcius or 113 F.
A simple trick!
The reciprocal nature of the sense resistors means that it is easy to add resistors in parallel
to give the required current.
The circuit board has provision to add up to 3 resistors in parallel, to allow fine tuning of
motor current.
If you have 1 ohm resistors, ie 1 amp/phase and you desire phase current of 1.1 amps,
you can simply add a pair 10 ohm resistors AS WELL AS the original 1 ohm resistors to
give total 1.1 amps. The 10 ohm resistors simply ADD another 0.1 amp. :o)
This calculator can help you find the resistors to combine for any desired current.
Target current
1.5
Amps
Tolerance on search
Percentage
(Results show in new window)
This Electronics design utility finds sets of resistor, using standard values which, when
paralleled together, give your target current value.
----------------------------------------------------------------------Tuning For High Currents!
----------------------------------------------------------------------The standard parts supplied with the linistepper kit are good for 1.5
amps/phase maximum. That is a total motor current of 3 amps.
(note 1.5A will require the purchase of a pair of 2 ohm 1W resistors)
This is enough for most 23 frame (and smaller) motors provided they are
high inductance motors. Motor type can usually be confirmed by the
ratio
between rated coil volts and amps (written on motor).
per phase; 100% and 40%, and you should be able to get high currents in
that mode with acceptable heat range accuracy.
You can get 3A/phase AND microstepping if you reduce the values of R14R17
and change the values of R18-R29 to give the correct phase currents.
Make sure you understand how the hardware microstepping works;
click here for how it works
and I also suggest having a test setup to run the motor in 1200 step
mode
at about 2 revs/second so you can see the hardware microstep levels on
the
CRO. I also suggest reducing the voltage on the sense resistors so that
100% phase current equals about 0.5v on the sense resistors and yes
that
means living with more temperature drift so tuning at rated temperature
becomes more critical.
So YES it can be done, and you can get 3A/phase or more AND
microstepping,
but you need to know what you are doing. Considering that 3A/phase
microstep drivers cost $200 USD and more, and these still do not
provide
the linear current ramping of the linistepper, it can be worth the
effort.
I have seen 3A/phase microstepping ramped drivers costing $500 USD.
----------------------------------------------------------------------Microstepping Tuning!
----------------------------------------------------------------------One of the great advantages of the linistepper is that it has "brains
on
board".
If you can write PIC software, the PIC has enough processing power to
do
any microstep mode you choose, all the way up to infinite step angle or
"soft stepping". This can be very useful for systems that require fine
angular adjustment like camera pan/tilt setups which have a camera
glued
to the end of a motor shaft. Obviously 200 steps/rev gives clunky
camera
movement but the PIC has unlimited control of phase current through
software PWM and can move the camera to ANY possible angle.
The software I have provided does 200/400/1200/3600 steps/rev with a
standard 200 step motor. Only the 3600 mode uses software pwm, the
other
3 modes use microstepping currents determined by hardware, specifically
resistors R14 to R29 balanced against the Vbe performance of the main
transistors.
Interested:
Questions:
Linistepper Modifications
Also: Gallery
Since the Linistepper is an open source project, users can easily modify the code or
hardware to support thier needs. A few have taken the time to share thier favorite mods:
Max Ries: two modes (3600 and 400 step/rev) w/ on the fly switching and available IO.
OCNC says:
I made a mechanical modification to the Linistepper by installing 3-position female
headers (digikey S7036-ND) where the TIP 122's go. I then took the heatsink from a
Masscool CPU Cooling Fan (tigerdirect item #S457-1111) and drilled and tapped four
holes into it at 1/2" centers and 9/16" up from the edge. I also drilled and tapped two
holes on the fin surface of the heatsink (lies coplanar with the circuit board). These holes
line up with the two outer TIP holes and are 19/32" from the heatsink edge (same edge
that the TIP holes are referenced from). They also are drilled and tapped to a depth to
penetrate two fins. The stand off's were cut from 1/4" aluminum tubing to a finish length
of 9/16". The screws used are all #4-40.
The ones holding the TIP's down are 3/8" long and the two for the stand off's are 1" long.
Following the best mechanical practise I used a lock washer and flat washer under the
head of each screw. Belleville washers are recommended for the TIP's but they seem too
expensive at $.50 each so I used split ring. I rubbed the backs of the TIP's on a sharp file
to get the best contact surface possible. I also filed the mating heatsink surface and then
polished it with some steel wool. In place of mica and paste I used Berquist silicone heat
pads (digikey BER220-ND). With 1A steppers at 24V I'm unable to detect by touch any
heat rise in the TIP's.
I feel that this is a better solution than the bracket that the kit suggests because it
eliminates a heat transfer junction and it allows for very easy replacement of the TIP's.
Also if you have to drill and prepare a piece of angle for a bracket why not just do the
same right on a fan cooled heatsink? The small cost of the additional parts seems
insignificant compared to the utility of the final product.
Posix says:
Well folks I have completed my drivers, the knee-mill and I can tell you that linistepper
and dremel can dig into a piece of pine like hot knife through butter! I just did some
engraving on the back piece of a pcb and it works nice. I even made a mistake of
inputting -2mm rather than -0.2mm and it just dug into the pcb and started writing. So I
can conclusively say that linistepper with 1.2A step-syn motors works like a charm! I'm
using a 12v ATX PSU and an additional $5 12v computer case fan is blowing across the
linistepper to provide some fresh air to those alu coolers.
I can tell you that at 200 steps you get your standard driver with all the buzzing and
vibrations of any other full step driver. 400 improves somewhat and brings a smile to a
newbie.
1200 is where the action begins and a big grin materialises on anyones face who is used
to steppers buzzing and jumping and vibrating. If anyone say the gecko video of mariss
drawing that spiral will immediately know what I'm talking about.
The linistepper really is good value for money, whether you build it or buy it from
piclist.com. The reason I didn't buy mine from james are twofold, first they would've
gotten "lost in the post" and second educational value. For someone who burns their
fingers on a soldering iron regularly then, by all means, purchase a finished quality item
from james at piclist.
{Ed: Posix has made his own linistepper PCBs since he likes to do that sort of thing. The
Linistepper is an open source project and I enjoy seeing people take advantage of that
when they are able. Posix was also kind enough to share his board files (done in Eagle)
and I've agreed to host them here. If you aren't big on makeing your own PCBs, do keep
in mind that we sell the PCB for less than you can pay a board house to make them and
the kit of all parts (including the pre-programmed PIC) is less than what you can buy the
parts for from any supplier.