Home           Info Request           Quote/Order           Contact           Site Map           About           Search           Support/FAQ  

 Product Support and FAQ
3 Support Options
Search the FAQ below
Fill out the form below
Phone us at 903.566.4700

Question/Support Form

FAQ - Frequently Asked Questions
For products made by Arrick Robotics
Updated 6/30/2004

General Questions MD-2 Motor Control Systems Positioners
Mobile Robots for Hobbyists Trilobot Mobile Research Robot

MD-2 Step Motor System Answers

Using Windows XP,NT,2000
Yes, the MD2xp program works within Windows 98, ME, 2000, and XP.

Parallel ports on PCI cards, ISA cards, and on motherboards also work.

Using LabView
TEM Consulting offers LabVIEW Drivers for MD-2 Controller. Please contact them for more information.

We also provide subroutine libraries written in C that can be used to construct a driver for LabVIEW. We have heard from several customers that this can and has been done.

Terry writes:
I came across some knowledgebase articles on National Instruments (www.ni.com) website which reference Parallel Port interfacing with LabVIEW specifically with Windows NT/2000. LabVIEW version 7.0 resolves some of these issues, but those using 4.x to 6.x may still have issues.   The following links may be of use:


Using VB (Visual Basic)
The MD2 system comes with subroutine library source code for VB3-6, VB.Net, Quick-Basic, QBasic, C, and Pascal.

Using multi-tasking operating systems
The MD-2 software utilizes software timing loops to control the motor's step timing. When the computer is doing other things then it steals time away from the MD-2 software which can result in rough motor stepping. This will not usually cause lost steps unless you are moving relatively fast (over 1000 steps per second), but will only result in an unusual sound from the motor instead of a constant hum.

Operating systems such as Windows may be running many tasks and reducing these can help. Make sure to turn off any unneeded background tasks such as virus checkers, fastfind, and internet connections.

Using the new parallel printer ports
New types of printer ports such as ECP and EPP work with the MD2 system. Also, printer ports on PCI cards, ISA cards, and on motherboards work fine.

Port converters from USB or the serial port do not work since the MD2 software needs access to the hardware registers to manipulate the bits individually.

ComputerPower Saving Feature Issues
Many newer computers, especially laptops, have power saving features which will slow the computer down to save power. This is usually activated when the user hasn't touched the keyboard or mouse over a certain period of time. When the processor changes speed then the MD-2 motors will change speed also, and that could be a problem in your application

Most computers will let you disable the powersaving features using the configuration utility that is available upon powerup.

Quick Basic Interrupt Error
When using Quick Basic (not QBasic) along with the level 2 subroutine libraries, make sure to invoke Quick Basic using the /L parameter which will load a special library that's needed for interrupt routines. See the bottom of the .txt file for the subroutine library for details about making the subroutine libraries and the example programs work with Quick Basic.

Inputs, IF-THEN, etc. in MD2.EXE program
The MD2xp program allows you to create short, simple programs using 'Teach' mode which records your actions and creates a Basic-like program. These programs can be edited, saved, and run within the MD2xp environment. This programming method can solve many motion control applications eliminating the need for programming in a language such as Quick-Basic, C, Visual Basic, etc. It is impossible for MD2xp to be a complete implementation of the Basic programming language. Many Basic commands do not work such as the ability to read inputs and perform 'IF-THEN' statements. If you need these functions, we provide programming libraries in Quick-Basic, C, Visual Basic, and Pascal which will give you all of the power of the language plus all of the motion control routines needed. The next step is to select the Level-1 (simple) or Level-2 (complex) subroutine libraries. See the last 2 sections of the MD-2 User guide for details about programming with these libraries.

Can I buy just the driver without motors?
We sell only complete MD-2 motor control systems which include 2 motors, driver, cables, and software. The drive electronics are tuned to the motors. It's very difficult to use other motors on an MD-2 driver.

Where can I get Quick-Basic?
First I would like to clarify this: There is a difference between QBasic and Quick-Basic. Quick-Basic will compile your program into a .exe file, but QBasic will not. QBasic was once distributed with MSDOS and can still be found on the Windows CD under the OTHER\OLDMSDOS directory. QBasic is fine when writing MD-2 programs with the level 1 subroutines, but for the level 2 subroutines you need Quick-Basic version 4.0 or 4.5.

Quick-Basic V4.0 or V4.5 is not being distributed by Microsoft anymore and they haven't yet released it as shareware. There are several places on the web that offer it for download but that may violate copyright. Doing a search will bring it up.

For additional info try:
QuickBasic 4.5
QuickBasic Cafe - QBCafe.net

Using a MD-2 system with MicroSoft Access
Dennis Krausman, President of Auric Corporation is using the MD-2 system with Microsoft Access using our Visual Basic subroutine library that's included with each MD-2 system. See this email Dennis sent me giving an overview of the process. Thanks Dennis.

Using a MD-2 system with MicroSoft Excel
A generous yet anonymous MD-2 customer is using his MD-2 system with MS Excel. Here is what he wrote:

    I spoke with you a few weeks ago, regarding running the MD2 using VB. I'm attaching a sample Excel program that will move the MD2, using VBA. The only changes I've made to the stock MD2 code are to a) change the parameter file and b) change the IO calls to use the inout32.dll, which is readily available. I think it would be a neat thing to include it in your software releases, or put it on your site, so people could see how to program the MD2 in a Windows environment without buying the full fledged VB. What is nice about this setup is that you can also use other DLL's to create a fully functional application. We wrote an X-Y mapping application in Excel that makes use of the MD2 *and* a Computer Boards analog input board/DLL without any problems whatsoever (QB had some problems in this area). Feel free to distribute as you see fit. (For the lawyers: No warranties, implied or explicit are given, yadda, yadda, yadda.)

Use MD-2 systems with GP-IB test systems
James Austin from TestExec has written some interesting software that allows the user to integrate the MD-2 system with other devices such as I/O cards, GPIB devices, PLCs, etc. See his web site at: http://www.testexec.com

Increasing motor torque
You can increase the output torque by adding a pulley reducer like our PR23. Many times this has the unexpected benefit of actually increasing the maximum speed your system can move due to better use of the motor's torque curve. This is especially true of our XY positioner which will move almost twice the speed when used with our PR23-2.5 (2.5:1 ratio) pulley reducer. Of course resolution is also increased and vibration is decreased. If you need more than the 4:1 ratio provided by our PR23 pulley reducers, then consider using a high-ratio gear reducer by a company like Bayside Controls. You can find them listed on our Sources for Helpful Products page.

Can I buy just the software or motors?
We only sell complete systems. Our MD-2 dual motor control systems come complete with motors, cables, software, drive electronics, and documentation. These components are matched to provide a hassle-free system that's guaranteed to work. Other companies offer individual motors, cables, drivers, controller cards, and software which require a substantal amount of work to construct. The MD-2 control software is designed to work with the MD-2 drive electronics and is not capable of controlling drivers made by other companies.

Moving motors according to a drawing/cad file
We do not offer a program that takes the output of a CAD or drawing file and convert it to motion for the MD-2 system. Most drawing/CAD programs can output HPGL (HP graphics language) files that are simply text files with the various X,Y coordinates of the desired moves along with PENUP and PENDOWN commands. We've heard of customers writing programs to do this using our subroutine libraries.

Pulley or Gear STUCK on motor shaft
STOP! Don't pull that pulley or gear off the shaft if it's stuck, you could damage the motor. Motor shafts have been known to pull right out of the motor body!. First, verify that all set screws/collars are out. Some pulleys/gears have 2 set screws. Next try placing the motor in the frig for about 1 hour, then try pulling it off. If that doesn't work, grab the gear/pulley with a vise or plyers, then place a bolt onto the top of the shaft and hit the bolt softly with a hammer. This should move the shaft through the pulley/gear. Do not use the motor's body to apply force.

Motor shaft need to be modified
Machining a motor's shaft can cause damage to the motor. Make sure to protect the motor's bearings from shavings. Grip the motor's shaft, not the motor's body. Applying a large force between the motor's shaft and its body could damage the motor.

Reducing vibration and noise of stepper motor systems
A stepper motor has very strong magnets and each step causes a large mechanical vibration. There are several things you can do to make the vibrations and the resulting noise better, but you can never completely remove them.

#1 - Mount the motor using rubber grommets instead of simply screws into a bracket. This isolates some of the jerk from being transmitted through the motor's housing.

#2 - Use a flexible shaft coupling like the one made by Helical Products at http://www.arrickrobotics.com/sources.html. This isolates some of the jerk from being transmitted through the shaft.

#3 - Use a pulley reduction unit to reduce the step size such as our PR23. You can also construct your own using gears or pulleys from parts made by companies that are listed at http://www.arrickrobotics.com/mechpart.html. High-end gear reducers are made by Bayside Controls listed at http://www.arrickrobotics.com/sources.html.

#4 - Use half-step mode which reduces the size of each step. You usually won't reduce the speed that the motor can achieve and only moderatly reduce torque while greatly reducing vibration and noise.

#5 - Change the speed of the motor. Your mechanical system will have certain resonance zones and will make more noise at certain motor speeds and less at others.

Don't ever cover up a stepper motor with foam or enclose it inside a housing. A stepper motor can create a lot of heat and this heat must be able to escape.

Heat in a stepper motor
When a stepper motor is energized with a step pattern that is not changing, it produces holding torque which will cause the motor's shaft to resist movement. While the motor is in this holding mode, heat is generated. Some applications require that the motor's shaft resist motion between moves and others do not. If holding torque is not needed, disable the MD-2 which will de-energize both motors and reduce motor heat. If holding torque is needed, keep the MD-2 enabled. The motors and the MD-2 drive electronics are designed to withstand the heat generated. If only partial holding torque is needed, it is possible to place the MD-2 into standby mode. Standby mode reduces the motor current by 50% which greatly reduces heat buildup while maintaining some holding torque. Trying to move a motor while standby mode is enabled may result in erratic behavior since the torque has been reduced as a result of lower current. Standby mode affects both motors connected to the MD-2 system. The MD-2 program and the level 2 subroutine library provides control of standby mode.

Can I put different motors on an MD-2 system?
There are many different types of stepper motors. Even if the motor is the same size, the coils inside the motor may be different. There is a large number of available coil configurations. Any motor that is placed on an MD-2 system must match all of the specifications of the motor we provide including voltage, current, inductance, coil configuration, etc. Attaching a motor that does not match the required specifications may damage the motor and/or the MD-2 drive electronics. For these reasons we highly recommend that you use the motors we provide - we guarantee that they will work.

Motor is missing steps
Stepper motor systems are ususally open-loop systems meaning that there is no form of continous feed back telling the computer what position the motor is at. If you operate a stepper motor within its torque and speed range, YOU WILL NEVER LOOSE STEPS. Stepper motors do not have ANY accumulated positioning error. If you turn a stepper motor for 1 million years, it will be right where it is suppose to be (certain restrictions apply!). In most cases, lost steps in a stepper motor system can be solved by slowing the motor or decreasing it's acceleration. Remember, stepper motors have the most torque at slow speeds. Sometimes after a machine has been working for a long time, new friction can appear that exceeds the motor's torque and results in lost steps. Another thing that can cause some lost steps during stop/start motions is de-energizing the motors. During stop/start motions, leave the motors energized (MD2 HOLD MOTORS Parameter).

Mechanical systems can also cause lost steps. Make sure that the friction or payload is not too much. Check to see if moving cables have become broken. Check the set-screws on all pulleys and gears.

I need 3 motors!
Each MD-2 system is a DUAL system with 2 motors. If you need 3 motors, you will need to get 2 MD-2 systems. You will have one unused motor. Many times customers find a use for this extra motor or simply use it as a backup. Compare the pricing of the MD-2 system with any other on the market with similiar features and you will find it costs less than 1/4 the price. This makes having a extra motor no problem.

Mixing motors between drivers
Motors can not be mixed on the same driver but up to 3 MD-2 systems can be put on a single PC and each system can be a different size.

Motor sizes for positioners
Our XY positioning systems accept any size #23 stepper motor such as our MD-2a or MD-2b. If you choose to use a motor system from another company, just make sure that it is a size 23 and it should work. Our RT-12 positioner also requires a size 23 but needs a short motor like our MD-2a system. If you buy a motor from another company, make sure the body of the motor is not longer than 2". We do not offer positioners that work with larger motors such as size #34. Adapting such a large motor to one of our positioners may damage it due to the extra torque generated. If you need extra torque, try using our PR23 pulley reducer on a standard size 23 motor.

Using printers and MD-2 motor drivers
The MD-2 system connects to the parallel printer port. Up to 3 of these ports can be installed in your computer. If you would like to use a printer and an MD-2 system on the same PC, simply connect your printer to the first port (3BCH = LPT1) and connect the MD-2 to the next port. The MD-2 software will not distrub the printer's port. In this case, the MD-2 motors will be numbered #3 and #4 instead of #1 and #2 - no problem.

Moving multiple motors at the same time
The MD-2 software is capable of dual-motor linear and circular interpolation. The two motors running must be on the same MD-2 box. Motors can not be running at the same time doing uncoordinated moves. Special software can be written by the user to operate many motors at the same time since there is no hardware or limitation problem with doing this. We've seen and heard of several applications where customers have done this.

Using VB Version 1,2,3 gives error at INP and OUT instructions
VB doesn't have the input and output instructions needed to control the MD-2 system through the parallel port. We do not send characters to the parallel port in the normal fashon, we use the parallel port as a general purpose digital I/O port. The I/O instructions needed can be added to VB using the mhelp.vbx file. If you get errors when compiling your program, look in the declaration section of the program and find the reference to this file. Make sure the file's path is correct or copy the file to the correct directory. For VB 4 and up you'll need a 32 bit DLL that will add INP and OUT instructions.

Specialty motors for vacuum and harsh environments
Empire Magnetics
5780B La Bath Ave
Rohnert Park, CA 94928 USA
Ph: 707-584-2801
Fax: 707-584-3418

Positioner Answers

Should I buy replacement belts?
Probably not. These belts are very rugged. I remember replacing only one belt, and that was because a lab technician spilt acid on it.

Can I use the XY positioner vertical instead of horizontal?
In short YES, if you'll watch the weight of the payload. Ususally this works best with payoads of 1 lb or less. You'll need our larger MD-2b motor control system to supply the needed torque, and a PR23-2.5 pulley reducer (2.5:1 ratio).

You can also reduce the affects of gravity on your system by counterbalancing the payload like an elevator, or by using a spring-loaded tool balancer.

Trilobot Mobile Research Robot Answers

Can I use the Trilobot with ???? computer
The Trilobot can be controlled by ANY computer that has a serial (RS-232) port. This includes PCs, MACs, SUN workstations, and microcontrollers.

How do I program the Trilobot
The Trilobot simply responds to low-level commands sent to it via the serial port such as steer left, read sonar, move forward 23". The Trilobot itself does not perform any high-level action. High-level actions such as navigation require a computer such as a PC or MAC. High-level program is entirely your responsibility.

Trilobot always moves further than asked
The Trilobot moves until the desired distance is achieved then stops. Normally this results in a small overshoot of 1-3". It can be more if carring a payload down hill. After each move, request the travel distance to find out exactly how far it traveled The Trilobot will return the correct distance traveled +/-1". Use this # to do navagation calculations with. Don't be shocked by this, there will always be small difference between what you ask any robot to do and what it actually does. What matters is that it tells you what it did for each command given.

  Home           Info Request           Quote/Order           Contact           Site Map           About           Search           Support/FAQ  
Copyright (c) Arrick Robotics - ArrickRobotics.com