Dismiss
InnovationQ will be updated on Sunday, Oct. 22, from 10am ET - noon. You may experience brief service interruptions during that time.
Browse Prior Art Database

Stepper Motor Control Language

IP.com Disclosure Number: IPCOM000041675D
Original Publication Date: 1984-Feb-01
Included in the Prior Art Database: 2005-Feb-02
Document File: 2 page(s) / 15K

Publishing Venue

IBM

Related People

Cook, PA: AUTHOR [+4]

Abstract

The SMC programming system allows convenient implementation and optimization of complex stepper motor control algorithms in software. Control programs can be written using stepping motor control instructions instead of computer language instructions. The system has been successfully employed in development and optimization of stepper motor systems in various projects. In general, the SMC system allows the user to output a digital bit pattern from a data table. The bit pattern data table is written by the user, and the user also writes the program that controls the sequencing and timing at which the bit pattern entries are output. The programs can be written to allow control of sequencing and timing based on externally supplied bit pattern inputs.

This text was extracted from a PDF file.
This is the abbreviated version, containing approximately 50% of the total text.

Page 1 of 2

Stepper Motor Control Language

The SMC programming system allows convenient implementation and optimization of complex stepper motor control algorithms in software.

Control programs can be written using stepping motor control instructions instead of computer language instructions. The system has been successfully employed in development and optimization of stepper motor systems in various projects. In general, the SMC system allows the user to output a digital bit pattern from a data table.

The bit pattern data table is written by the user, and the user also writes the program that controls the sequencing and timing at which the bit pattern entries are output. The programs can be written to allow control of sequencing and timing based on externally supplied bit pattern inputs. In this manner different functions may be implemented on two or more computers and execution may be synchronized. The SMC system was developed to inhibit the necessity of algorithm implementation in special-purpose hardware or special-purpose computer programs. Neither of these methods allows convenient algorithm alteration, once implemented. The system allows stepper motors to be driven open-loop or closed-loop. It contains sufficient synchronization capabilities to allow incorporation of stepper motors in hardware models. Moreover, the system allows the user to select stepping modes (i.e., half-step, full-step, multiple phases on, etc.) and to adjust step timing interactively while monitoring motor response. Each SMC statement provides a stepper motor function instead of a computer function. For instance, the statement: ADV 2 will cause the motor to advance one step. The instruction: TBO X'MASK', LABEL will cause the computer to read a digital input, compare the data with the mask data, and branch to the instruction at "LABEL" if they are not the same. The SMC system can be implemented on any real-time computer with digital input/output capabilities and hardware interrupt timers. It has been implemented for the IBM Series/1 Minicomputer with support programs on an IBM System/370 host system. The instruction set for the stepper motor control language is set forth below. SMC INSTRUCTIONS There are 26 Instruction Macros in the Stepper Motor Command Language. Except for those macros used in program control and system synchronization, the instructions are written as stepper motor functions instead of computer functions. Simplified definitions of these instructions are listed in the following descriptions: Counter/Timer Statements DCR c Decrement the contents of counter c. c = 0,2,4,...,10. SCT c,count Load count into counter c. STI t,time For t = 64, load time in microseconds into timer, and for t = 65, load milliseconds into timer. VAR amt Vary the value of count/time for the SCT/STI instruction whose address is presently on the Digital Input Line #3 (DI-3) by amt. Add amt to count/time if bit 15 is set on DI-2. Subtract amt from count/time if bit 14 is set on...