HPWM - 14M

Tallents

New Member
Can HPWM channels A,B,C& D be used to drive 2 motors forward and reverse with PWM without a motordriver IC?

 
 

Tallents

New Member
Another question, can both motors be run with different PWM? I've looked at the PIC16F886 datasheet very briefly and have come to the conclusion that still only 1 frequency of oscillation can be set. Is this true or have I misunderstood the document? Also, when are these brilliant technical gurus going to release a datasheet for the 14M? I don't understand why a microprocessor would be released without it.
 

hippy

Ex-Staff (retired)
HPWM can only drive a single motor. The routing to each of ABCD is either the PWM signal, its inverse, fixed high or low.

The 14M has only a single PWM channel which can either be used as for classic PWM using a single output line, or through the ABCD lines.

When two PWM signals are available ( 28X etc ) I believe they are the same frequency, but have independent duty cycles, so the speed of two motors is entirely independent of each other.

Both motors on a vehicle platform would normally be the same so using the same frequency should not cause a problem.

Edited by - hippy on 04/07/2007 14:11:03
 

papaof2

Senior Member
You will need a motor driver, either IC or discrete components. The PICAXE cannot drive a motor directly.

John
 

Tallents

New Member
So I need to first of all use a 28X with 2xPWM and also use a motor driver to control 2 motors at differing speeds. Thanks guys, very helpful. I thought this 14M was going to be a miracle chip but it seems it's not quite up to the task I am asking.
 

Tallents

New Member
One more question though. Why would a motor require 4 inputs? That is, ABCD of HPWM. I mean, PWM + Inverse + High + Low. This is going to be one confused motor. I'll re-look over that datasheet to see if I can get it, but that sound like a waste of outputs. I thought it could have been to reduce outputs to 4 for 2 motors instead of the 4xhigh/low + PWM (5 outputs) required for a motordriver IC. And hence use a simple darlington driver to control 2 motors at PWM. Any thoughts?
 

hippy

Ex-Staff (retired)
The core of an H-bridge is four transistors or FET's ) as here - <A href='http://legolab.daimi.au.dk/CSaEA/RCX/Manual.dir/Actuators.dir/Images.dir/H-bridge4.gif' Target=_Blank>External Web Link</a>

HPWM allows those four transistors to be controlled directly by the PICAXE with no ( or minimal ) extra components.

You can drop down to using two lines to drive say the bottom two transistors only, but you then need inverters to drive the transistors on the opposite side of the diagonals from the same lines.

So HPWM wastes two lines, but saves having inverters, or you can choose to have it the other way round.
 

Tallents

New Member
So does that mean a single motor could be hooked up with four FETs or four channels of a darlington driver?
 

Tallents

New Member
If so, is it possible to hook up 2x 14M to provide the 2xPWM that I require? The 28X will not fit on the circuit board I am designing and it is also too expensive, whereas the 14M for edu purposes is only 1UK when bought in a pack of 30. Plus, 2x 14M would fit perfectly on the PCB design I am thinking of.
 

Tallents

New Member
Hippy, I've read a little on the handshake process you've talked about in other threads. Do you think it would be alright to have 14M-1 to drive the project inputs + outputs + PWM + drive 14M-2(PWM), or is this getting too difficult?
 

hippy

Ex-Staff (retired)
You can control two motors using two 14M's. Controlling the motors is 'set and forget' so each can do other things until they need to change the motor settings again.

You need to design the system so both can work alongside each other and communicate as necessary but that can be as simple as having one 14M do most of the work while the other simply drives its motor. SEROUT and SERIN can be used to pass over the instructions on what to do to the second motor, and that probably won't require any handshaking.

If you develop the project incrementally you should not hit any major problems. Get a 14M controlling a motor first, get another 14M controlling that 14M to indirectly control the motor, and then get the 14M which controls the other also controlling its own motor. Add in the code which determines what each motor should be doing and it should be plain sailing.
 
Top