Continue to Site

Welcome to EDAboard.com

Welcome to our site! EDAboard.com is an international Electronics Discussion Forum focused on EDA software, circuits, schematics, books, theory, papers, asic, pld, 8051, DSP, Network, RF, Analog Design, PCB, Service Manuals... and a whole lot more! To participate you need to register. Registration is free. Click here to register now.

Controlling 8 motors with one PIC. Can it be done?

Status
Not open for further replies.

camilasccv

Newbie level 3
Joined
Jul 25, 2012
Messages
4
Helped
0
Reputation
0
Reaction score
0
Trophy points
1,281
Location
Rio de Janeiro, Brazil
Activity points
1,317
Hi. I'm using a PIC18F2550 on a Dinamic Positioning system that I'm developing. I'm currently using the PIC to control a single DC Stepper Motor. The PIC receives reference position from the PC through USB. The pulses are then generated by means of a Timer1 interrupt. One thing I've noticed is that if I make the pulse frequency too high, the PIC stops communicating to the PC. For this reason I decided to use a pulse waveform of 360Hz. The problem is that I have to control 8 motors and read data from 3 potentiometers and 3 encoders. I'm thinking that's quite a lot of work for a single PIC. Especially since I have the USB communication that cannot be lost. I was wondering if there's anyone here who has more experience with PIC programming that could give me their oppinion on the possibility or not of using a single PIC and how to do it. I was thinking about using mutiple interrupts, but I'm not sure that's necessary or if it can be done. Thanks.
 

I have only little experience with PIC, but it seems the load is too high to handle for a single PIC.
 

I have only little experience with PIC, but it seems the load is too high to handle for a single PIC.

I was wondering if maybe multiplexing the signals would work well. Do you have any idea? I was thinking of using the Timer1 interupt, but instead of generating a single waveform, having different ports taking turns on having their waveforms generated. I don't know if this is the right way to do this though.
 

Cant you use some motor driver's? It will reduce the load of PIC.
 

Cant you use some motor driver's? It will reduce the load of PIC.

Yep! I'm definetly using a motor driver for each motor. If I don't, there will not be enough current for the PIC and it will reset. The pic is used only for generating the pulses that will be sent to the motor driver.
 

Yep! I'm definetly using a motor driver for each motor. If I don't, there will not be enough current for the PIC and it will reset. The pic is used only for generating the pulses that will be sent to the motor driver.

you could use a dsPIC33FJ64MC802 which has 8 motor control PWM channels
https://www.microchip.com/wwwproducts/Devices.aspx?dDocName=en532314

Microchip's microstick 1 comes with a dsPIC33FJ64MC802 and costs about £15
**broken link removed**
it has an onboard programmer and a header to plug into a prototyping board
 
you could use a dsPIC33FJ64MC802 which has 8 motor control PWM channels
https://www.microchip.com/wwwproducts/Devices.aspx?dDocName=en532314

I didn' know about this PIC. I'll take a look at it. I forgot to mention before, but the motors I'm trying to control are 3 DC steppers a 5 DC motors. The DC motors are controlled by means of PWM, so I only need 5 PWM channels. (I just found out that my pic only has two PWM modules, so I'll have to buy a new one anyway. :p) The stepper motors' control is done by pulse quantity. It takes 10k pulses for it to turn around 360 degrees. The frequency of the waveform will effect the speed.

Microchip's microstick 1 comes with a dsPIC33FJ64MC802 and costs about £15
**broken link removed**
it has an onboard programmer and a header to plug into a prototyping board

This microstick looks really cool and pretty cheap. I'm currently using a Pickit2 programmer. I hope I'll find a pic that I can program with this programmer so I wont have to buy a new one.
 
Last edited:

This microstick looks really cool and pretty cheap. I'm currently using a Pickit2 programmer. I hope I'll find a pic that I can program with this programmer so I wont have to buy a new one.
the microstick has an onboard programmer/debugger - you don't need an external programmer
 

Status
Not open for further replies.

Part and Inventory Search

Welcome to EDABoard.com

Sponsor

Back
Top