DIY Electric Car Forums banner

1 - 5 of 5 Posts

·
Registered
Joined
·
3 Posts
Discussion Starter #1 (Edited)
Hey,
I'm working on a car for the Formula Hybrid competition. We are using an Arduino as a master controller for our entire system. It inputs a voltage from a throttle pot and outputs a command to a throttle body servo, and a PWM signal intended for the Curtis 1238. I have setup the curtis to throttle type 2, a voltage source. I filtered the PWM output of the arduino using a low pass filter and the output is pretty clean; there is about 90mV peak to peak ripple at ~500hz. My problem is the 1238 supplies 6.24V on the Throttle Pot Wiper, pin 16. When i plug it into the output of my filter, the voltage jumps from ~1 or 2, to 4 or 5. Using Curtis' software i can read the values and the 1238 sees the same voltage i'm measuring.
Edit: I thought this might need to be clarified. The reason this is an issue is because I'm left with no usable voltage range, and therefor no real throttle range. Even when my source is at 0V, i get a throttle input of ~4V. As i increase the source the input increases too, but only to 5V.


So i have two paths, either try to fix this issue, or try to find a way to send the throttle command over serial. I have already written a few lines of code in VCL to output an error signal over a digital out. I think i could get the code, but i'm not sure what to send from the Arduino or really how to interface with it at all. I also have a CANBus shield for the arduino if that helps.

Does anyone have any insight?
Thanks!
 

·
Registered
Joined
·
3 Posts
Discussion Starter #2
I was able to increase the PWM frequency significantly, allowing for a lower impedance filter. This helped overpower the input's 6.24 volts and match the voltage I apply. I also noticed one of the analog inputs is at 10V and one is at 0V. I could use the analog input with VCL as a throttle input. I'll update again if I get everything working perfectly in case someone else comes across this issue.
 

·
Registered
Joined
·
3 Posts
Discussion Starter #4
The problem isn't the original throttle signal. The potentiometer i'm using works just fine, but that signal doesn't go directly to the Curtis controller. Since it's a performance oriented hybrid vehicle, we want fine control over the torque applied via the motor and torque applied via the engine. The way we decided to do this was using another controller, an Arduino. The arduino takes in the throttle position from a pot, and outputs a different throttle signal to the motor controller, and a signal to our throttle body servo. This allows control over what percentage of the total torque comes from our AC-15 and our 250cc E85 engine.
 

·
Registered
Joined
·
95 Posts
Hey,
I'm working on a car for the Formula Hybrid competition. We are using an Arduino as a master controller for our entire system. It inputs a voltage from a throttle pot and outputs a command to a throttle body servo, and a PWM signal intended for the Curtis 1238. I have setup the curtis to throttle type 2, a voltage source. I filtered the PWM output of the arduino using a low pass filter and the output is pretty clean; there is about 90mV peak to peak ripple at ~500hz. My problem is the 1238 supplies 6.24V on the Throttle Pot Wiper, pin 16. When i plug it into the output of my filter, the voltage jumps from ~1 or 2, to 4 or 5. Using Curtis' software i can read the values and the 1238 sees the same voltage i'm measuring.
Edit: I thought this might need to be clarified. The reason this is an issue is because I'm left with no usable voltage range, and therefor no real throttle range. Even when my source is at 0V, i get a throttle input of ~4V. As i increase the source the input increases too, but only to 5V.


So i have two paths, either try to fix this issue, or try to find a way to send the throttle command over serial. I have already written a few lines of code in VCL to output an error signal over a digital out. I think i could get the code, but i'm not sure what to send from the Arduino or really how to interface with it at all. I also have a CANBus shield for the arduino if that helps.

Does anyone have any insight?
Thanks!
OK let me make sure I understand:
1) you are using a charge pump to generate the throttle voltage for Curtis input pin
2) The curtis input pin has an interal pull up resistor.

If this is true you have two/three choices
1)Over drive the weak pull up with an op amp
2)Invert your control signal to drive a FET (or heck even a BJT-npn). The FET will be biased to sink current from the pull up resistor. When the gate (fet)/ base (bjt) is ~1V then Curtis input = 0V. When the gate/base is 0V the Curtis input = 6.24V. You will want to bias the device so that it is in it linear range. Watch out for parasitic capacitance slowing response times.
You'll want to make sure the device's; BJT Vce > 7V, FET Vds > 7 V.
3) ugly solution: put a strong pull down resistor on the curtis input and drive the charge pump harded. very ugly.

In cases 1&2 you are really sinking current.

I'd go with option 2. No chance of over driving the curtis (assuming 15 V supply to the op amp in option 1)
 
1 - 5 of 5 Posts
Top