OK, I've had a go at making a simple Picaxe interface this morning. All told it took about an hour, including time spent writing the short bit of code. Here's a quick description of what I did.
First off, I wired up a Picaxe 08M microcontroller (see here for one source of these http://www.rev-ed.co.uk/picaxe/
) so that the +5v pin (pin 1) was connected to the Hall throttle +5V, the 0V pin (pin
was connected to the Hall throttle 0V and the Hall throttle output was connected to the Picaxe 08M analogue input 1 (pin 5). The three leads to the ESC were connected to the +5V and 0V pins, with the PPM wire from the ESC (normally white or orange) connected to digital output 2 (pin 4) on the Picaxe 08M. A small capacitor of 0.1uf was connected across the Picaxe power pins.
The Picaxe 08M was plugged in to a programming breadboard and hooked up to the PC using a serial/USB lead. The following simple code was loaded into the chip:
servo 2,75 ;initialises servo timer and sets PPM to 0.75mS (zero throttle)
symbol throttle_input = w0
symbol throttle_output =w1
symbol ppm_output =w2
readadc10 1,throttle_input ;Read Analogue voltage from Hall throttle at 10 bit resolution and store in throttle_input
throttle_output = throttle_input - 197 ;Subtract zero offset value of 197 from Hall throttle reading to correct for Hall throttle voltage being non-zero when throttle closed
ppm_output = throttle_output * 36 ;these three lines convert throttle value to ppm range of 0.75mS to 2.25mS
ppm_output = ppm_output / 130
ppm_output = ppm_output + 75 ;Add zero offset of 0.75mS to ppm range to get true ESC zero throttle point
servopos 2,ppm_output ;send pulse width to ESC ppm signal
This works fine, with a very fast throttle response. The circuit I knocked up is a lash-up and the code uses an extra variable that's not needed, but this could very easily be turned into something that's quite versatile at processing throttle signals and adding various features. This baby 8 pin microcontroller will typically hold around 80 lines of code, so the little bit of code above is only using a small proportion of its capabilities.
Please ask questions on the forum, rather than by PM, as it helps others and you'll get a better range of answers.