I'm working on a project to control the butterfly valve of a throttle body with an electronic pedal (this will all be done in a lab, not implemented in an actual car). I am in the planning stages still, but I'd like to use an Arduino as the brains of the device. The overall system will be linked like this:
Will I be able to hook that pedal up to the Arduino, read the pedal position, and move an actuator to the appropriate position? I'll need a driver to connect the Arduino to the actuator - any suggestions?
Any help would be much appreciated. Let me know if you have any questions.
Yes you should be able to do this.
The picture link just shows up as a black page on my iPad.
You need more information about the voltage range out from your peddle.
Are you going to use a servo to move the valve or do you have a motorised one?
I'm working on a project to control the butterfly valve of a throttle body with an electronic pedal (this will all be done in a lab, not implemented in an actual car). I am in the planning stages still, but I'd like to use an Arduino as the brains of the device. The overall system will be linked like this:
To start, you will need detailed knowledge of how the pedal works and its output, and detailed knowledge of how the throttle body actuator works and its type of control input. Post this info and then the determination if an arduino can be used might be made.
The pedal is equipped with a Hall-effect, non-contact sensor that can be programmed for analog output and/or integrated switches. It has an operating voltage of 5V and 12V-24V. The output signal includes Dual APS, Dual PWM, APS, PWM, APS/IVS. Would this work for an Arduino Uno?
I haven't decided on an actuator - I could use a servo, stepper motor, or DC motor. Any suggestions?
Thanks Mike. I think the servo is a good idea, but I'm wondering how I would do a failsafe. If the electronics were to fail, I would want a spring to pull the valve closed. Would this work with a servo?
For a motor, the spring would be weaker than the driving torque of the motor, but stronger than the crank torque. If the signal to the motor were to stop, the spring would be able to overpower the motor (which is no longer being told to hold a position) and shut the valve.
No a spring would not return a servo. This is because it contains a worm gear that stops a return spring from working.
You also face the same problem with a stepping motor.
Remember electronics can fail in many ways there is a lot of work in identifing failure modes.
You need to be a bit more ingenious with the mechanics to have an override that can kick in in the event of failure - what ever that may mean.
You might be able to modify an RC "Throttle failsafe" circuit. From what it sounds like, you want to be able to "Do something" in the event your throttle controls are no longer interfacing with the Arduino. I'm thinking the best thing to do there would be to install a failsafe that shuts the throttle body in the event there is a loss of signal similarly to how some radio controlled vehicles shut down, turn back or even land depending on how sophisticated the rest of the onboard electronics are.
It should be relatively easy with a throttle fail-safe to return the servo or what have you back to a zero duty-cycle in the event that there is no signal from the Arduino board.
It seems like a servo would be the best choice for the project, considering that it is probably the easiest actuator to set a position for.
How do servos compare to other motors in terms of speed? In my experience, servos are very slow to rotate to the desired position, and I'd like the valve to be very responsive to any signal from the Arduino.
I don't personally have any experience with stepper motors (Yet) it's on my to do list they are very accurate and provide plenty of torque but it is my understanding that they tend to require a lot more voltage and current. That being said, you could probably return a stepper motor with a spring whereas previously mentioned servos are usually pretty heavily geared and thus it would require powering the servo back to it's return position. There's also the matter of a servo picking up analog noise. I've never seen this with an arduino but have seen it with other micro-controllers coupled with lower quality servos.
I have seen a lot of applications where relatively small servos have been able to react quite quickly carrying a fair bit of load, such applications as CNC plasma cutting tables. A friend of mine some years ago built one that could move a gantry corner to corner over a full size sheet of steel in a matter of a few seconds. The gantry was made of steel and also had a plasma cutter and hoses attached to it. I don't know what kind of steppers these were but I can say they would fit in the palm of your hand. Quite impressive for such a small motor. I will also note that when these motors were not powered one could turn them with the thumb and forefinger quite easily.
Given that and considering your intended task, it might be a good idea to do some research into steppers. Servos on the other hand are extremely easy to drive with an Arduino but might not cover the other needs of your current benched project.
Why don't you look at some drive by wire throttle bodies and see what kind of motors and mechanics they are using? A good number of the late model cars are using DBW, take your pick.
Also most of the shop manuals should have all the info on the DBW system.
Of all the hobby servos I've had, none had worm gears. Are you talking about another type servo?
Of all the hobby servos I have had they have all had worm gears in them.
Is this an appropriate time to say pics or it didn't happen? I've only taken apart a few servos myself, once because the servo was dead and I wanted to try and fix it, which didn't happen. And once when I was converting a plastic gear servo over to metal gears.. with debatable results. In both cases, while the servos did both have a lot of gears in them, none would be classified as a worm gear. Everything in there is reduction gearing so the mechanism moves more slowly and smoothly and also provides more torque out of a smaller DC motor. Turning the horn of a hobby servo that's not powered, you will notice some resistance, but it's not impossible.
In-case anybody is lost on what a worm gear is, here's an image of one in the ugly plastic variety.
Does anyone have experience with encoders? I was thinking I could use an encoder alongside a stepper motor to make it a closed loop system.
Detown I looked into what kind of motors they use for DBW throttle bodies, and it appears as though the use DC motors, a gearing system, and a throttle position sensor.
You would have to use an absoloute encoder, most are only relative. They can be expensive, the best type is optical.
There is a hall effect rotary encoder that is quite cheap. That gives you 10 bits of resoloution but you have to mount a magnet accurately at the end of your shaft.