Throttle input is useful to log to see how the car is being driven, however due to the number of different ways throttles are implemented on cars there are a few methods of interfacing it to the eChook.
A throttle input is also needed for the apps lap counter feature, as this uses the throttle to determine race start.
Finally, the eChook will take a variable throttle and output a PWM signal that can be used as an input to a higher power motor driver circuit. The green LED on the eChook board is connected to this output.
This is the input that the eChook board is designed for. If a variable throttle input is used, it is likely that it already works in this voltage range, however confirm this with a multimeter before attaching anything. If it does, simply run a second wire from the output to the ‘Throttle In’ pin on the eChook nano board. The board can also provide power and ground to the throttle.
The output from the throttle will need to be reduced such that the highest output voltage is stepped down to 5v in order to interface with the eChook Board. To do this a potential divider will be needed. For potential divider design, see this SparkFun tutorial.
To reduce current use, choose the resistors such that the sum of R1 and R2 is 10kΩ or greater
For example: If the maximum output of the throttle is 10v, a potentiometer is needed that reduces this to 5v. As this is halving the voltage, R1 and R2 will be equal. 5kΩfor each is a sensible figure to use.
Connect the potential divider as shown:
Use a multimeter to verify that the output from the throttle to the board (eChook_Board_Throttle_In above) does not exceed 5V at any point in the throttle's range before connecting it to the board. Higher voltages will damage the arduino.
If the vehicle runs a push button throttle, the same potential divider as above will be needed. For a button switching a 24v signal, set R1=82k and R2 = 16k. This drops 30V to 5V and is intended to protect against the batteries having higher voltages than 12V each.
The second tweak needed for a push button throttle is in code. Within the code there are two ‘readThrottle’ functions, one for a variable throttle input, one for a push button. By default the push button function is commented out:
In order to use a push button throttle, comment out or delete the first function and un-comment the lower one.