PICAXE-14M pulsout error

goom

Senior Member
#1
I am designing a rudder/throttle mixer for a 3-engined RC boat using a -14M. Input pulses are taken in for rudder and throttle on pins 1 & 2, and pulses are output on pins 1, 3 & 5 (to the 3 motor speed controllers). Pins 0, 2 and 4 drive LED indicators.
I was getting wierd results on the pulse outputs on pins 3 & 5. After much head scratching, I wrote a very simple program which turned on each of the 6 outputs with a 1/2 second pause between each, turned them off in the same sequence, then sent a 100ms pulse to each output.
The outputs all went high and low as expected, but the pulses only appeared on outputs 0, 1, and 2. Outputs 3, 4 and 5 refused to blink. I tried 3 different chips, all with the same result.
Coud it be that pulsout does only works on some pins? I could not find anything on a Forum search.
Firmware is version 9.C, Programmer is version 5.1.5.
 

Wrenow

Senior Member
#2
Might help to see:
1) your code
2) a schematic, or a photo, or at the least, a description of your wiring.

I may be wrong, but I think you could do this with the 08M and the 3 servo controller board. I use one to take 3 R/C RX inputs and generate one servo output.

Alternatively a Vtail/elevon mixer on a "y" connector for the outboard props might work.

Cheers,

Wreno
 

sghioto

Senior Member
#3
I have had similar problems using the pulsout command with the 14M. Same program code worked fine on the 08M. Also tried 3 different 14Ms with the same results. I believe there is a problem with the 14M, or possible early versions of this chip. At the time when I was having this problem the 14M was no longer listed as a product on the main website,but now it is. Found no threads in the forum or archive addressing this problem. So I just worked around the problem using pause commands. Maybe Technical has some insight?

Steve G
 

hippy

Technical Support
Staff member
#4
Output Pins 0, 1 and 2 are on the GPIO port while Output Pins 3, 4 and 5 are on PORTC of the 16F684 so it is possible that there's a firmware error.

Technical would have to give a definitive answer.
 

Technical

Technical Support
Staff member
#5
This is a known restriction of the 14M, it should be explained in the latest manual but appears not to be, apologies for that - we will correct this. Only 0-2 are supported on this command on this chip. We had to take a couple of difficult design decisions on the firmware in the 14M due to very tight bootstrap memory restrictions (its completely full!). The difficulty is the strange port layout as Hippy points out.

The compiler will also be modfied to report this.
 

goom

Senior Member
#7
Thanks for the response Technical. Thank goodness we have a great forum to ask questions.
It has cost me about 8 hours of troubleshooting my PCB layout, soldering and code before I realised that it was the PICAXE at fault. I would have used a -18X if I had known.
The sooner you you document this the better.
Now to try and hack my PCB and change my code to use pins 0-3 for the pulsouts.
I'll post my code if and when I get it all working.
 

Wrenow

Senior Member
#8
Goom,

Why not use the 08M 3 servo controller board? It has 3 servo outs (which can be used for RX signal in, even with the resistors in place. as well) and access to an additional input pins, right? Filtering etc. is designed in.

Not so pretty, but food for thought. I use these for my FCA (fire control assistant - R/C Model Warship Combat) to take 2 position and one depression signal (say channels 6, 7, and 8 from the RX) and determine whether to pass-through or modify the channel 6 signal to the servo. I.e., - 3 inputs, one output. So it would be easy to do one of these per motor, though, like I indicated, not pretty (lots of wires and bits).

Another easy way is to just output to the outboard motors (the centerline motor does not need additional mixing, just run it off of a "Y". Then you only need 2 ins and 2 outs and one board.

Cheers,

Wreno
 
Last edited:
Top