PIC18 Motor Controller project

Status
Not open for further replies.

nsaspook

Well-Known Member
Most Helpful Member
This was a work related project for a XYZ assembly tester and controller for some old equipment. The original controller in the machines uses a set of relays and resistors for motion control so this controller had to use the same type of system to match the operational characteristics on the bench as when installed.

The system interface uses a 4x20 LCD module for the text display with menu selection and manual motor positioning controlled from two quadrature optical encoders and 4 push-buttons. A PIC18F8722 controller board handles all functions including RS-232 remote control and diagnostics. Motor position feedback is from either a 10 turn or linear pot geared to the motor drive or quadrature position encoders mounted on the motor shaft (500 counts per rotation). The relays select CW or CCW rotation with a slowing resistor and voltage changes (24VDC or 5VDC) for fine motion control. Dynamic braking is used by shorting the motor power leads together when disconnected from drive power.

The actual hardware design while simple can't be released but the software is GPL'd so I have posted it (the prototype version) here. The MPLABX 1.41 IDE was used for software development on a Linux workstation.
https://github.com/nsaspook/mandm.git

Some pictures and videos of the prototype units are here. Most of it was while fine-tuning the error feedback system to match the mechanical response of the relays to the faster motor encoder position data. The dead battery on top was to match the weight of the unit that normally sits on the carriage.
**broken link removed**
 
Status
Not open for further replies.
Cookies are required to use this site. You must accept them to continue using the site. Learn more…