Re: Communicate with stepper motors?

2006-09-02 Thread Marty Knapp
Thanks to all who made suggestions about Rev and stepper motors. I 
appreciate the time you took to respond to my post.


Now it's time for me to dig in and see what I can figure out.


Marty Knapp
___
use-revolution mailing list
use-revolution@lists.runrev.com
Please visit this url to subscribe, unsubscribe and manage your subscription 
preferences:
http://lists.runrev.com/mailman/listinfo/use-revolution


Re: Communicate with stepper motors?

2006-09-01 Thread Tim Ponn

Marty,

I LOVE using steppers in machinery and fixtures around my company.   
You can use Rev very nicely to control them.  Here's the approach  
I've taken...


I prefer to use an existing controller.  I have a lot of experience  
with a particular brand called "SimpleStep" (www.simplestep.com).   
They are expensive, but I simply don't care.  One machine we designed  
and built years ago cost us about $15,000...$400 of which went for 2  
boards from this company.  This single machine has resulted in close  
to $250K of sales over the years.  I wouldn't care if the boards cost  
me 10x what they did.  They're solid...never skip a beat...are simple  
to use and have a very rich set of features.


Now, if you want a less costly controller (plus oodles more widget  
"stuff")...there is a new player that I've gotten some early release  
info from...you can find them at www.copelandelectronics.com.


If you prefer to write your own low level stuff and create your own  
controller...you're a better man (or...person) that I!  ;=)


On motors, I prefer Sanyo-Denki.  Dunno why...but I've never had the  
tiniest of problems with them.  You can find steppers at places like  
Jameco electronics...also a good source for cheap controllers and  
kits.  Just remember...as usual...you'll probably get what you pay for!


Now the fun starts...I've used Rev to control these boards via  
serial.  But, I prefer using sockets...so I get one of those Ethernet  
to Serial convertors (specifically "SitePlayer Telnet" from NetMedia)  
and use the Rev socket commands.  This allows me to control a few  
machines from a single app.  It's all personal taste from here...it  
really depends on the machine and the environment.


That's my 2 cents!  Hope it helps.


Best Regards,

Timothy R. Ponn
[EMAIL PROTECTED]


On Aug 31, 2006, at 1:08 PM, Marty Knapp wrote:

I was talking with a guy yesterday who said that using Basic you  
could use the printer port on Windows to talk to a stepper motor. I  
know pretty much nothing about robotics (or communicating through  
ports for that matter). Does anyone know if this is possible with  
Rev? I read through the docs and could see that one can read from  
and write data to com ports and LPT ports, but wouldn't a stepper  
motor just need electrical pulses sent to it?


I realize I'm revealing my ignorance to the world here, but any  
help would be appreciated.


Marty Knapp
___
use-revolution mailing list
use-revolution@lists.runrev.com
Please visit this url to subscribe, unsubscribe and manage your  
subscription preferences:

http://lists.runrev.com/mailman/listinfo/use-revolution



___
use-revolution mailing list
use-revolution@lists.runrev.com
Please visit this url to subscribe, unsubscribe and manage your subscription 
preferences:
http://lists.runrev.com/mailman/listinfo/use-revolution


Re: Communicate with stepper motors?

2006-08-31 Thread Bridger Maxwell

Hey,
 I have been working with the BASIC stamp from Parallax.  It is a micro
controller and can control a few I/O switches.  The language that you
program in is called PBASIC.  It is a simplified version of the BASIC
language that the stamp understands and has a few commands that are
specifically made for the micro controller.  Maybe this is what your friend
was talking about.  So far I have been using the Parallax BASIC editor to
make and load programs to the stamp, but once it has the program is has been
EXTREMELY easy to talk to the stamp with Revolution via COM ports and give
it parameters that it has been programmed to wait for, such as a position
for a stepper motor.  It may even be possible to write a program that will
compile script and load it to the stamp, I haven't tried though.  Just
another option that you might want to look at.  This process is pretty easy
to do (I am 15 and I have handled it so it can't be that terribly difficult)
and has a lot of potential for controlling custom devices.

 TTFN
  Bridgeyman
___
use-revolution mailing list
use-revolution@lists.runrev.com
Please visit this url to subscribe, unsubscribe and manage your subscription 
preferences:
http://lists.runrev.com/mailman/listinfo/use-revolution


Re: Communicate with stepper motors?

2006-08-31 Thread Mark Wieder
Marty-

In addition to what Stephen posted, I want to add that if you *do*
decide to write the low-level stuff yourself, stay away from
setSerialControlString (BZ#1708). What you'll end up with is the port
being reset before each new control value is set, and you'll have
extra pulses in uncomfortable places.

-- 
-Mark Wieder
 [EMAIL PROTECTED]

___
use-revolution mailing list
use-revolution@lists.runrev.com
Please visit this url to subscribe, unsubscribe and manage your subscription 
preferences:
http://lists.runrev.com/mailman/listinfo/use-revolution


Re: Communicate with stepper motors?

2006-08-31 Thread Dar Scott


On Aug 31, 2006, at 12:16 PM, Dar Scott wrote:


You might have trouble with jitter and getting up to speed.


Stephen Barncard mentioned that you need ramping.

I think you can ramp with control from a serial port if you set a  
specified delay in your circuit for the handshake.  All you need to  
do is repeat the same character several times.  For example, suppose  
you use the lower two bits of the character code to control a two  
phase motor.  Your forward stepping cycle could be "dfeg" allowing  
those bits to be 0, 1, 2 and then 3.  To ramp up and step forward a  
total of 39 times you write this to the printer at one time (assuming  
on g):


ddddfffeeeggddfegdfegdfegdfegdfegdfegddffeeggdddfffg 
d


Knowing your handshake time and the max acceleration and the max  
speed, you can calculate the string before hand.


Now, if this is for more than tinkering, you might want some sort of  
a controller with a serial interface (or an interface that looks like  
serial).


If the timing of the oneshot for handshake makes you go so slow that  
you don't need to ramp, then this is a lot easier.  The motor is  
slow, though.


If you simplify the handshake and don't have a delay, then you need  
to ramp up by sending one character at a time and varying the delay  
between characters.  This will have a little bit of jitter at higher  
speeds and can have problems if you approach the max speed of the motor.


My experience with stepper motors is mostly with scientific instruments.

Dar
___
use-revolution mailing list
use-revolution@lists.runrev.com
Please visit this url to subscribe, unsubscribe and manage your subscription 
preferences:
http://lists.runrev.com/mailman/listinfo/use-revolution


Re: Communicate with stepper motors?

2006-08-31 Thread Dar Scott


On Aug 31, 2006, at 11:08 AM, Marty Knapp wrote:

I was talking with a guy yesterday who said that using Basic you  
could use the printer port on Windows to talk to a stepper motor. I  
know pretty much nothing about robotics (or communicating through  
ports for that matter). Does anyone know if this is possible with  
Rev? I read through the docs and could see that one can read from  
and write data to com ports and LPT ports, but wouldn't a stepper  
motor just need electrical pulses sent to it?


I realize I'm revealing my ignorance to the world here, but any  
help would be appreciated.


The stepper motor does not use pulses in that sense, but phase  
changes. You won't be able to drive the motor directly with TTL, you  
will need to do level shifting.  Some motors need current going both  
directions, so this might get involved.


The printer port has gotten pretty smart since the last time I used  
it, so this might or might not work.  It might be worth a try.  In  
the BIOS set the printer port to the simplest form you can find.  It  
might be called classic.  You can find some printer port data  
online.  You might be able to rig it so the handshake is always there  
or it always responds to each byte sent out.  Better, put in a  
oneshot or other delay so you can write several bytes and have the  
motor moving at that speed.  You would drive the motor by sending  
four or 8 letters to it in a repeating sequence.


I have used a driver that makes all bits available for bit twiddling,  
so you can get input.  I forgot the name and I don't think it was  
being maintained last I used it.  I have read about another that  
makes this bit twiddling I/O available as though you have a serial port.


I'd look around online for output-only printer port I/O tips.

You might have trouble with jitter and getting up to speed.

You might be better off getting a hobby robot control board from many  
sources and using a serial interface.  You can also try some toy/ 
educational robots.


None of those will do microstepping, but if you have a motor that  
needs both positive and negative currents, you might have off as a  
half step.


Dar Scott
___
use-revolution mailing list
use-revolution@lists.runrev.com
Please visit this url to subscribe, unsubscribe and manage your subscription 
preferences:
http://lists.runrev.com/mailman/listinfo/use-revolution


Re: Communicate with stepper motors?

2006-08-31 Thread Stephen Barncard
I worked with a lot of stepper motors in my days in the movies 
working with Jim Cameron in the early 80's.


You don't want to create the pulses yourself unless you're trying to 
prove something.


Stepper motors require a lot more than 'electrical pulses' sent to 
it. They also would need anywhere from 0 - 5000 pulses per second. 
But the killer part is that steppers need to be RAMPED. That is, they 
need to be started slowly and ramp to speed. So what you need is a 
stepper motor controller to create the pulses.


If you're good with a soldering iron, you can create a controller this way
http://www.controlchips.com/cy545.htm
These are reasonably cheap.

Also stepper motors consume current. YOu can't just take the output 
of an interface directly to a motor. It takes driver transistors and 
a high current low voltage supply to make it work. There are often 4 
or even more  coils to feed, and they must be fed a perfect square 
wave at the right time and in the right sequence, like an internal 
combustion engine.


Superior Electric used to make the packaged products to drive 
steppers that I used at New World Pictures. These are pretty 
expensive, but they contain all you need to drive a motor from a 
computer serial port.

http://www.danahermotion.com/products/product_detail.php?parent_id=549

Finally, you have to decide on a strategy of feedback. That is, you 
need to keep track of the absolute position of whatever you're 
controlling. If it's just 360 degrees, that's one thing. BUt if it's 
controlling a camera running down a track, then you need an external 
way to keep tabs on where you are. For that end one usually uses 
encoders.


Also another alternative might be a DC SERVO which works inside a 
feedback loop. Offset the loop plus or minus voltage and the motor 
runs. Encoders are part of the package. Servos are more accurate and 
can deliver more torque quicker.


I was talking with a guy yesterday who said that using Basic you 
could use the printer port on Windows to talk to a stepper motor. I 
know pretty much nothing about robotics (or communicating through 
ports for that matter). Does anyone know if this is possible with 
Rev? I read through the docs and could see that one can read from 
and write data to com ports and LPT ports, but wouldn't a stepper 
motor just need electrical pulses sent to it?


I realize I'm revealing my ignorance to the world here, but any help 
would be appreciated.


Marty Knapp


--
stephen barncard
s a n  f r a n c i s c o
- - -  - - - - - - - - -
___
use-revolution mailing list
use-revolution@lists.runrev.com
Please visit this url to subscribe, unsubscribe and manage your subscription 
preferences:
http://lists.runrev.com/mailman/listinfo/use-revolution


Communicate with stepper motors?

2006-08-31 Thread Marty Knapp
I was talking with a guy yesterday who said that using Basic you could 
use the printer port on Windows to talk to a stepper motor. I know 
pretty much nothing about robotics (or communicating through ports for 
that matter). Does anyone know if this is possible with Rev? I read 
through the docs and could see that one can read from and write data to 
com ports and LPT ports, but wouldn't a stepper motor just need 
electrical pulses sent to it?


I realize I'm revealing my ignorance to the world here, but any help 
would be appreciated.


Marty Knapp
___
use-revolution mailing list
use-revolution@lists.runrev.com
Please visit this url to subscribe, unsubscribe and manage your subscription 
preferences:
http://lists.runrev.com/mailman/listinfo/use-revolution