Continue to Site

Welcome to our site!

Electro Tech is an online community (with over 170,000 members) who enjoy talking about and building electronic circuits, projects and gadgets. To participate you need to register. Registration is free. Click here to register now.

  • Welcome to our site! Electro Tech is an online community (with over 170,000 members) who enjoy talking about and building electronic circuits, projects and gadgets. To participate you need to register. Registration is free. Click here to register now.

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.

Latest threads

New Articles From Microcontroller Tips

Back
Top