Re: Communicate with stepper motors?
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?
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?
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?
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?
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?
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?
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?
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