Motion - Motion Tracking

Motion Tracking

Author: Jeroen Vreeken


A while ago I and several others made a serial port controlled stepper motor system. I also added the capability to motion to use this system to track movement. The system is based on a 8051 derivative from atmel the AT89C2051. The other major components are a MAX232 serial driver and a driver IC for driving the coils of the motor.

Motion will work without modifications with any system that uses the same Motion Tracker API. You can also use your own system but you will have to add it to track.c


Controller and RS232 interface

Driver using the L298
Driver using 2n6659

Pin numbers
Name 89c2051 'standard' 8051
Vcc 20 40
Gnd 10 20
RST 1 9
X1 4 19
X2 5 18
RxD 2 10
TxD 3 11
P1.0 12 1
P1.1 13 2
P1.2 14 3
P1.3 15 4
P1.4 16 5
P1.5 17 6
P1.6 18 7
P1.7 19 8


The software was written in C for the sdcc compiler. It is covered under the GNU General Public License and you are encouraged to use it in your own projects.

The software will probably work with any 8051 derivative.
It asumes the stepper motor has four leads connected via a driver on P1.0 to P1.3. The left and right safety switches (in our case reedcontacts) are connected to P1.4 and P1.5.
In our case the driver IC had an Output_enable pin which was connected to P1.6, however this signal was first inverted with a transistor. The reason for this is that on power-up P1.6 is on by default. This pin is used to power down the motor completly when not in use.

The following images are of our system in action:




-- KennethLavrsen - 10 Oct 2004
Topic attachments
I Attachment Action Size Date Who Comment
89c2051.pdfpdf 89c2051.pdf manage 298 K 11 Oct 2004 - 00:22 KennethLavrsen  
l298.pdfpdf l298.pdf manage 188 K 11 Oct 2004 - 00:22 KennethLavrsen stepper.c manage 4 K 10 Oct 2004 - 23:57 KennethLavrsen  
stepper.hexhex stepper.hex manage 2 K 10 Oct 2004 - 23:57 KennethLavrsen  
wls.hh wls.h manage 461 bytes 10 Oct 2004 - 23:58 KennethLavrsen  
Topic revision: r1 - 10 Oct 2004, KennethLavrsen
Copyright © 1999-2017 by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Please do not email Kenneth for support questions (read why). Use the Support Requests page or join the Mailing List.
This website only use harmless session cookies. See Cookie Policy for details. By using this website you accept the use of these cookies.