RS-232/RS-485 Schrittmotorensteuerung für 2*Stepper
RO-SER-STEPPER2
RS-232/RS-485 Schrittmotorensteuerung für 2*Stepper
- 2 * stepper motor control
- extensive commands
- Start/stop slopes
- 2 * end switches are supported
- 2 * position switches are supported
- Optionally, several modules may be connected together (max. 4) to control up to 8 stepper motors
The RS-232/RS-485 switching modules are designed for industrial use in switchboards for measuring, controlling and operating. Every module has a RS-232/RS-485 interface and is therefore easily connected to a serial port (e.g. PCs, terminal PCs ...). The RS-232/RS-485-bus has proven itself during many years and points to its high flexibility.
The particularity hereby is the concept of galvanic isolation of the RS-232/RS-485 interface. The galvanic isolation protects against voltage peaks.
The stepper module is used to control 2 stepper motors. The stepper motors' current-fed is realized through PWM-control.
The max. phase current is 1,5 A and can be digitally configured. The supply voltage of the motor drivers is 12-40V.
The possible stepping modes of the motors are full, half, 1/4, 1/8 or 1/16 (i.e. a full step is subdivided in up to 16 small steps).
By using the micro-stepping mode, the running smoothness is especially high.
The motor drivers have an overtemperature protection. Two reference and two end switches are managed by the stepper motor-control. Two LEDs for each motor signalizes the state. The LED's functionality is configurable. The motor can be operated by using simple commands, whereas maintaining acceleration and deceleration slopes is taken over by the modul-control.
As terminal block, user-friendly terminal strips with locking protection and ejection mechanism are used. They allow quick replugging . The wire connection itself is realised with a screwless connector system. A tool is included with each module.

More info
A product identical in contruction with CAN-Interface is to be found here ( -> RO-CAN-STEPPER2 - CAN stepper motor control for 2 * stepper motors)
RS-232/RS-485-interface
RS-232/RS-485-interface connection (galvanic isolated)
By using a 9 pin D-SUB connector the module will be connected to the PC or any other device using a serial interface.The module interface is galvanic isolated from connected devices by using an optocoupler.
Connector
Easy to maintain connector system
The plug and socket consist of a multipoint socket connector and a multipin connector with a throw-off lever. Plug-in and plug-out is easy as well as rewiring the terminal strip. The wire connection itself is realized with a screwless connector system. A tool is included with each module.
Stepper motor control for 2 steppers
Many configurable parameters
- Start frequency [Hz]
- Stop frequency [Hz]
- Maximum stepping frequency [Hz]
- Step frequency for GoPosition [Hz]
- Step frequency for GoReferenz [Hz]
- Acceleration slope [Hz/10ms]
- Deceleration slope [Hz/10ms]
- Phase current 0..1,5A [1mA]
- Hold current 0..1,5A [1mA]
- Hold time 0..unlimited [ms]
- Status_LED Funktion
- Step mode (full-, half-, quarter-, eighth - or sixteenth step)
- Mode of the end switch (stop with/without deceleration slope)
Multiple axis control
By interconnecting up to 4 stepping motor-interfaces, it is possible to realize a multiple axis control (positioning control) with up to 8 axis. The generation of the motor frequency is effected by a singular source, assuring a synchronized speed of the motors. Each axis can be removed from the multiple axis configuration or reconfigured and thus running independently (this option is planned for 1st quarter 2010).
Description of each parameter
Start frequency
When start-up driving the motor from standstill, the motor is immediately operated at start frequency.
Stop frequency
If stopping the motor, the motor is decelerated to the stop frequency and then directly stopped.
Acceleration slope
If the motor's frequency setpoint is above the actual motor frequency, then the motor frequency is raised every 10ms until the speed setpoint is reached.
Deceleration slope
If the motor's setpoint frequency is below the actual motor's frequency, then the motor frequency is reduced every 10 ms until the speed setpoint is reached.
Maximum stepping frequency
The actual motor frequency may be raised up to the maximum stepping frequency. The stepping motor won't be operated at higher frequencies.
Phase current
The PWM-controlled motor winding is connected to the supply voltage. The pulse width is thereby regulated in a manner to reach the adjusted phase current. The phase current can reach up to 1,5 A and is adjustable in resolution steps of 1 mA.
Hold phase current
When the motor comes to rest, the phase current is reduced to the hold phase current. This avoids overheating the motor. The hold phase current can reach up to 1,5 A and is adjustable in resolution steps of 1 mA.
Hold time for phase current
If the motor comes to rest, the hold time for phase current stays active for an adjusted hold time. After that time, the motor current is switched off. This avoids overheating the motor. Setting the hold time to its maximum value results in deactivating the current switch off.
Mode end switch
Closing any end switch results in an immediate motor stop (optionally with or without deceleration slope). From there on, operating the motor can only be moved in the inverse direction until the end switch is released. The motor won't move, if both end switches are closed.
Example of an alignment of end switches:
End switch1 actual stepper position end switch2
------> positive direction
The end switch 1 is on the left side, while the end switch 2 is on the right side. The actual position is in the middle. If driving in positive direction, the stepper position moves towards the end switch 2.
It is only possible to drive in the negative direction (towards end switch 1), if end switch 2 closes. Similar for the end switch 1.
Reference switch
The reference switch is to drive to a reference position. The reference switch can also be electrically connected to an end switch. Using the command GoToRef, the stepper will be driven to this position. With the command, the direction may be choosen to which the motor will begin to move. If the reference switch closes, the stepper will be slowly moved out of the reference switch and then be stopped. After that, the stepper will do an offset move. This is to avoid having the stepper at a switching threshold of the reference switch and do a continous toggle of the reference switch state. This is now the reference position. In dependency of the clearposition parameter, the postion is now set to 0 or remains unchanged. The reference move is secured by a timout. If the reference position is not reached during the timeout, then the movement is stopped. The command is only executed, if the motor is enabled and doesn't move.
Example of the alignment of the end switch and reference switch
End1 ref1 actual stepper position Ref2 End2
------> positive direction
Move to reference switch 1:
In this example, the reference switch 1 is to be reached within 20 seconds at 3000 Hz (in mode full step), thus driving in negative direction. After reaching the right edge of the reference (the reference switch is just opening), the stepper must drive 160 microsteps (referred to 1/16 microsteps) in the positie direction. After that the actual postion is to be set to 0.
Activity_LED function
The Activity_LED has a fixed function. While receiving a command, the Activity_LED illuminates. 10 ms after finishing the execution of the command, the illumination stops.
Status_LED functions
The Status_LED may have different functions:
- Stand still display: The Status_LED illuminates if the stepper stands still
- Movement display: The Status_LED illuminates if the stepper moves
- End switch1: The Status_LED illuminates if the end switch1 is closed
- End switch2: The Status_LED illuminates if the end switch2 is closed
- Reference switch1: The Status_LED illuminates if the Reference switch1 is closed
- Reference switch2: The Status_LED illuminates if the Reference switch2 is closed
- End position: The Status_LED illuminates if arriving to the end switch
- Stepper command is in execution
- Stepper power supply is to low
Stepper position
The stepper position as SDWORD (32 bit) is always specified in 1/16 microsteps. In dependency of the step mode, the lower bits of the stepper position will be ignored.

Config
Configuration of the RS-232/RS-485 Module
A brand new serial module is delivered in RS-232 mode. To change this mode to RS-485, you just have to open the case and place some jumper. Detailed information can be found in the manual RO-Serie
RS-232/RS-485 parameter configuration
All serial parameter can be configured by a few DIP switches. Such as baudrate, module address, special-mode and other interface specifications.
The special-mode allows you to set the module on constant values. This may be useful for a quick start-up and defect analysis.

Tech.-Info
RS-232 / RS-485-Interface |
|
| Power Supply | 7V bis 24V DC (über zweipolige steckbare Schraubklemme) |
| Interface |
RS-232/RS-485 (galvanic isolated using optocoupler) Connection by 9 pin. D-SUB socket One LED for each 3,3V and 5V Voltage feed Baud rate: 1,25 MBit - 300 Bit |
| Control-LED |
RS-232/RS-485 -activity ERROR Input state change (only for digital outputs) Timeout (only for outputs) I/O Module access |
Stepper-Motor-Module |
|
| Interface |
Microstepper motor control for 2 phase bipolar stepper motors Overtemperature switch off Phase current limitation PWM-controlled phase current adjustment |
| Pinout 10 pin connector(each motor) |
Motor suply voltage (12-40V) GND Phase1 plus Phase1 minus Phase2 plus Phase2 minus End switch 1 End switch 2 Reference switch 1 Reference switch 2 |
| Inputs |
2 End switches 2 Reference switches |
| Outputs |
Phase current: 1,5A, Phase current digitally adjustable up to 1,5A in 1 mA resolution, that way low power motors are also operatable Stepping mode: full, half, 1/4, 1/8 or 1/16 |
General |
|
| Operating temperature | +10°C...+50°C |

Diagrams
Funktionsweise des Produktes


Software
Controlling of our RS-232/RS-485 modules
Our RS-232/RS-485 modules can be controlled by two different ways.
1. The Windows driver library DELIB
The DELIB driver library allows a direct communication of our modules. You don't have to worry about the Handshake and the serial protocoll. The DELIB DLL assumes it for you!
2. You may program the controlling software by yourself
In our download area you can find a conform protocol. So our serial modules can be connected to small Linux computers or workstations for engineering, with RS-232/RS485 Interface.
Controlling by the DELIB driver library under Windows
The extensive but easy handling library is written for computer language, which responds to DLL's. Programming examples in source code for C, Delphi or Visual Basic can be found in our download area.
Examples for responsing our products with "C"
In the following example we show you in "C", how to access to our input modules in short time.
1. Step: Open the module
handle = DapiOpenModule(RO-SER,0); // Open serial module
2. Step: Reading of 16 digital inputs
data = DapiDIGet16(handle, 0); // Read the first 16 digital inputs
3. Step: Close the module
DapiCloseModule(handle); // Close the module
The function "DapiOpenModule" is used to open a special kind of module.
Which module should be openend, is defined by the two parameters.
The first parameter is for the "module ID". By the integrated "DELIB.H", you can also set this parameter to "RO-SER".
So the driver library recognize, that a serial interface will be driven.
The second parameter assigns the module number. If only one module is connected to the pc, the module number is "0". Are there more than one module in the network, you have to set the correct number.
The link to the according IP-address of the module can be configured by the "DELIB-Configuration Utility".
Testprogram with examples for digital inputs
| Digital Input/Output Sample Testprogramm für Module |
|
Click to enlarge ![]() |
With this program you can test our modules very easily. The digital input/output sample testprogram is easy to use and supports all of our measurement modules. The example above shows the test of a RO-USB-O32 input module.
Controlling by the open source ethernet protocol
If required, you can program your own controlling software. The according communication protocol is disclosed. The modules will be controlled by register. Therefore we designed an open source communication protocol, which allows to respond to the modules and excecute read/write commands.
The manual "Serial Protocol" describes transmission and receiving frames, to communicate with our serial modules.

Overview about available DELIB-Functions
General
General Handling
DapiOpenModule
ULONG DapiOpenModule(ULONG moduleID, ULONG nr);
This function opens a particular module. p>
DapiCloseModule
ULONG DapiCloseModule(ULONG handle);
This command closes an opened module. p>
DapiGetLastError
ULONG DapiGetLastError();
This function returns the last registered error. p>
DapiGetLastErrorText
ULONG DapiGetLastErrorText(unsigned char * msg, unsigned long msg_length);
This function reads the text of the last registered error. p>
DapiGetDELIBVersion
ULONG DapiGetDELIBVersion(ULONG mode, ULONG par);
This function returns the installed DELIB version. p>
Special
Special functions
DapiSpecialCommand - DapiSpecialCMDGetModuleConfig
ULONG DapiSpecialCommand(ULONG handle, DAPI_SPECIAL_CMD_GET_MODULE_CONFIG, par, 0, 0);
This command returns the hardware equipment (number of in-/output channels) of the module. p>
DapiSpecialCommand - DapiSpecialCMDTimeout
void DapiSpecialCommand(handle, DAPI_SPECIAL_CMD_TIMEOUT, cmd, par1, par2);
This command serves to set the timeout time p>
DapiSpecialCommand - DapiSpecialCMDTimeoutGetStatus
ULONG DapiSpecialCommand(handle, DAPI_SPECIAL_CMD_TIMEOUT, DAPI_SPECIAL_TIMEOUT_GET_STATUS, 0, 0);
This command reads the timeout status. p>
Stepper
Stepper motor functions
DapiStepperCommandEx
ULONG DapiStepperCommandEx(ULONG handle, ULONG motor, ULONG cmd, ULONG par1, ULONG par2, ULONG par3, ULONG par4, ULONG par5, ULONG par6, ULONG par7);
This extended command controls stepper motors. p>
DapiStepperCommand - DapiStepperCmdStop
DapiStepperCommand(handle, motor, DAPI_STEPPER_CMD_STOP, 0, 0, 0, 0);
This command is used to stop the motor, the deceleration slope will be used. p>
DapiStepperCommand - DapiStepperCommand_GoPosition
DapiStepperCommand(handle, motor, DAPI_STEPPER_CMD_GO_POSITION, position, 0, 0, 0);
With this command the motor will drive to a position. This command can only be used when the motor is not disabled and Go_Position or Go_Reference are not executed. p>
DapiStepperCommand - DapiStepperCommand_GoPosition_Relative
void DapiStepperCommand(handle, motor, DAPI_STEPPER_CMD_GO_POSITION_RELATIVE, go_pos_rel_par, 0, 0, 0);
With this command the motor will go to a relative position. In contrast to the command GO_POSITION, which goes to an absolute position, this command considers the current position. This command can only be used when the motor is not disabled and Go_Position or Go_Reference are not executed. p>
DapiStepperCommand - DapiStepperCommand_GoRefswitch
DapiStepperCommand(handle, motor, DAPI_STEPPER_CMD_GO_REFSWITCH, par1, par2, par3, 0);
The motor goes to the referece position. p>
DapiStepperCommand - DapiStepperCommand_Fullstop
DapiStepperCommand(handle, motor, DAPI_STEPPER_CMD_FULLSTOP, 0, 0, 0, 0);
This command is used to stop the motors immediately without using the the deceleration slope. After this command the motor position might be ignorred because the motor has been stopped uncontrolled. p>
DapiStepperCommand - DapiStepperCommand_Disable
DapiStepperCommand(handle, motor, DAPI_STEPPER_CMD_DISABLE, par1, 0, 0, 0);
This command ist used to disable/enable the motor. The motor stops or starts driving. This command can be only used when the motor stopped. p>
DapiStepperCommand - DapiStepperCommand_SetPosition
DapiStepperCommand(handle, motor, DAPI_STEPPER_CMD_SET_POSITION, par1, 0, 0, 0);
This command ist used to set the motor position. The resolution ist 1/16 Full-step. This command may be used anytime. p>
DapiStepperCommand - DapiStepperCommand_SetFrequency
DapiStepperCommand(handle, motor, DAPI_STEPPER_CMD_SET_FREQUENCY, par1, 0, 0, 0);
This command is used to set the motor reference frequency. The motor frequency regulation takes on the compliance of the acceleration and deceleration slope. Step losses do not occur. The motor reference frequency is related to the full-step-mode.
The direction will be defined by the prefix. If the motor reference frequency is higher than the maximum frequency, the command is ignored.
With closed Endswitch1 the motor can only drive in positive direction, with closed Endswitch2 the motor can only drive in negative direction, otherwise the command is ignored. p>
DapiStepperCommand - DapiStepperCommand_SetFrequencyDirectly
DapiStepperCommand(handle, motor, DAPI_STEPPER_CMD_SET_FREQUENCY_DIRECTLY, par1, 0 ,0 ,0);
This command is used to set the motor frequency. The motor frequency regulation takes no funktion on the compliance of the acceleration and deceleration slope. The user is responsible. Step losses can occur. The motor reference frequency is related to the full-step. The direction can be defined by the prefix.
The motor frequency can't exceed the maximum frequency. p>
DapiStepperCommand - DapiStepperCommand_GetFrequency
ULONG DapiStepperCommand(handle, motor, DAPI_STEPPER_CMD_GET_FREQUENCY, 0, 0 ,0 ,0);
This command is used to read the motor frequency. This command can be used everytime. p>
DapiStepperCommand - DapiStepperCommand_SetMotorcharacteristic
DapiStepperCommand(handle, motor, DAPI_STEPPER_CMD_SET_MOTORCHARACTERISTIC, par1, par2, 0, 0);
With this command, you can set motor characteristics. p>
DapiStepperCommand - DapiStepperCommand_GetMotorcharacteristic
ULONG DapiStepperCommand(handle, motor, DAPI_STEPPER_CMD_GET_MOTORCHARACTERISTIC, par1, 0, 0, 0);
With this command, motor specific parameter can be read. This command may be used everytime. It is splitted in sub commands, that are analog to the parameters of the DAPI_STEPPER_CMD_SET_MOTORCHARATERISTIC p>
DapiStepperCommand - DapiStepperCommand_MotorcharacteristicLoadDefault
DapiStepperCommand(handle, motor, DAPI_STEPPER_CMD_MOTORCHARACTERISTIC_LOAD_DEFAULT, 0, 0, 0, 0);
The characteristic of the motor is set back to default. p>
DapiStepperCommand - DapiStepperCommand_MotorcharacteristicEEPROMSave
DapiStepperCommand(handle, motor, DAPI_STEPPER_CMD_MOTORCHARACTERISTIC_EEPROM_SAVE, 0, 0, 0, 0);
The current motor characteristic will be stored in the EEPROM. p>
DapiStepperCommand - DapiStepperCommand_MotorcharacteristicEEPROMLoad
DapiStepperCommand(handle, motor, DAPI_STEPPER_CMD_MOTORCHARACTERISTIC_EEPROM_LOAD, 0, 0, 0, 0);
The motor characteristic can be loaded from the EEPROM. p>
DapiStepperCommand - DapiStepperCommand_GetCPUTemp
ULONG DapiStepperCommand(handle, motor, DAPI_STEPPER_CMD_GET_CPU_TEMP, 0, 0, 0, 0);
The temperature of the CPU can be read. p>
DapiStepperCommand - DapiStepperCommand_GetMotorSupplyVoltage
DapiStepperCommand(handle, motor, DAPI_STEPPER_CMD_GET_MOTOR_SUPPLY_VOLTAGE, 0, 0, 0, 0);
The voltage supply of the motor can be read. p>
DapiStepperGetStatus - DapiStepperGetStatus_GetPosition
ULONG DapiStepperGetStatus(handle, motor, cmd);
With this command the motor position can be read. p>
DapiStepperGetStatus - DapiStepperGetStatus_GetSwitch
ULONG DapiStepperGetStatus(handle, motor, cmd);
With this command, the status of the switches can be read. p>
DapiStepperGetStatus - DapiStepperGetStatus_GetActivity
ULONG DapiStepperGetStatus(handle, motor, DAPI_STEPPER_STATUS_GET_ACTIVITY);
With this command, some status informations (e.g. activity of the motor phase current) can be read. p>

Connector
Plug connection
Screwless plug connectors
All input and output connectors have a practical, screwless terminal block. An mechanic ejection guarantees a very quick module change without any special tools. Wire connection happens with screwdriver or an included plastic pin. (s. pic.1)
Pic1:
Connection example of a RO-Module
![]() |
RO-MODULE | |
![]() |
Step 1:
| |
![]() |
Step 2:
| |
![]() |
Step 3:
| |
![]() |
Step 4:
|

Optional E.
Hutschiene-1m
Die 1m Hutschiene eignet sich optimal zur schnellen Montage unserer Steuer/Regeltechnik-Module.
Netzteil 24V/2A für Hutschinenmontage
Das Hutschienen-Netzteil bietet Anwendern eine sichere Arbeitsumgebung und ist eine ideale Spannungsversorgung für unsere Steuer/Regeltechnik-Module. Es besitzt einen Wirkungsgrad von bis zu 80% und Internationale Sicherheitszulassungen Dank der Isolationsklasse 2 als auch der Sicherheit die das Hutschienen-Netzteil bietet.
10 poliger Steckverbinder mit Auswerfmechanik
Unsere Steckverbinder bieten einen einfachen und sicheren Anschluss an unsere Module. Durch die integrierte Auswerfermechanik ist das nachträgliche Austauschen der angeschlossenen Module möglich.

Manuals
Manuals
Manual RO-Series
Manual RO-Series Technical hardware manual for the whole RO-Serie
- Description of the measurement modules
- Configuration of the different module interfaces
- Installation of the DELIB driver library
Manual RO-SER-INTERFACE
Manual RO-SER-INTERFACE (Extract of the Manual RO-Series)Software documentation of our RO-SER-Interfaces
Manual RO-Register Assignment
Manual RO-Register Assignment
- Description accessing the registers
- Description of the input, ouput and configuration registers
- Installing the DELIB driver library
Manual RO-STEPPER2
Manual RO-STEPPER2 (Extract of the Manual RO-Series)Software documentation for our stepper motor controls.
Datasheets
Datasheets
Driver
Driver / Programs
Manual for DELIB Driver Library for Windows 7, Windows Vista, XP, 2000 and Linux
Manual for DELIB Driver Library for Windows 7, Windows Vista, XP, 2000 and Linux Documentation of all functions
- module open/close functions
- Digital Input read 1 / 8 / 16 / 32 / 64 bit
- Digital Output write 1 / 8 / 16 / 32 / 64 bit
- A/D Read, read_volt, read_mA, set A/D mode
- D/A Write, write_volt, write_mA, set D/A mode
DELIB driver library for Windows 7, Vista, XP and 2000
DELIB driver library for Windows 7, Vista, XP and 2000
Installation file for USB driver
supports the following operating systems: 32 Bit:
- Windows 7
- Windows Server 2008
- Windows Vista
- Windows XP
- Windows Server 2003
- Windows 2000
64 Bit:
- Windows 7 x64
- Windows Server 2008 x64
- Windows Vista x64
- Windows XP x64
- Windows Server 2003 x64
Downloads
Downloads
RO Flasher Update
RO Flasher Update Flasher software for firmware update of the RO-CPU Modules and the Mini Sticks
Demos
Demo-Software
LabView Labview sample for analog and digital input/outputs
Labview sample for analog and digital input/outputs















