| View previous topic :: View next topic |
| Author |
Message |
DonTZ125
Joined: 23 Jan 2010 Posts: 2
|
Posted: Sat Jan 23, 2010 4:23 am Post subject: Motorcycle Powervalves |
|
|
Good evening!
Clueless n00b here, still trying to figure out which way is up.
My magnum opus right now is to add fuel injection to a carbureted motorcycle; I've been researching and planning to use the MegaSquirt DIY ECU. The issue is that there is currently no provision to control the EXUP exhaust system baffle, which is driven by a 5-wire 'dumb' servo - 2 wires to the 12vdc motor, 3 wires to the pot, controlled (modulated according to engine rpm) by the black box. There are 2 or 3 PWM output signals available from the MS controller, but my servo doesn't speak this language.
I've been searching for quite some time for some sort of aftermarket or project controller that can help me out. Is there a 'simple' version of this controller that only deals with PWM control? Can it be set and forgotten, once the sweep limits are established / programmed?
TIA,
Don |
|
| Back to top |
|
 |
jharvey
Joined: 15 Mar 2009 Posts: 266 Location: Maine USA
|
Posted: Sat Jan 23, 2010 10:09 am Post subject: |
|
|
About MegaSquirt, I'd like to note this project. http://freeems.org
MS isn't actually opensource, and is very limiting when it comes to getting things like this included with the MS code. It's so closed, I suspect you will find you can't actually compile your own code, and you can't get someone to add to the existing code base to add features. I'll PM you more about MS. One of the reasons why I'm here is for a similar project to your motorcycle. Here's a link to my project. http://jaredharvey.com/Files/projects/FreeEMS/snow_blower/snow_blower.htm
About PWM, I seem to recall that there are some compile options that can allow it to function with a traditional PWM positioning signal, similar to a normal servo. However then it's just a normal servo (with programmable PID parameters), so I don't think it's caught as much attention with the developers and may be less mature than the I2C code. The primary comms for OpenServo have been I2C mostly for it's bi-directional communications capability, and immunity to noise issues that you can find with a PWM signal.
I just re-read your post, I think I see what you are talking about. It sound like you could use the OSV3, perhaps the OSV2 board as a PID controller for your exhaust baffle. Using the existing motor and POT in the exhaust valve. Do you have a schematic of the existing device? |
|
| Back to top |
|
 |
DonTZ125
Joined: 23 Jan 2010 Posts: 2
|
Posted: Sat Jan 23, 2010 10:44 am Post subject: |
|
|
Did you edit your post while I was replying to your PM, or did I just miss your last para entirely, the first time through?!
I have a schematic SOMEWHERE, but no idea where. It literally is as simple as "2 wires to motor, 3 wires to pot." Motor wires are +12v / gnd to open, gnd / +12v to close; pot wires are +5v / signal / gnd.
Using one of these boards as a PID controller is I think exactly what I'm after. This is what I think I need: The MS ECU will check a look-up table for position vs engine rpm vs throttle position, and send a PWM position signal. The OS PID controller takes that signal, and drives the valve motor open or closed until the feedback pot announces it's in the right spot. Am I right? |
|
| Back to top |
|
 |
baasharm
Joined: 22 Aug 2010 Posts: 7 Location: the netherlands
|
Posted: Sun Aug 22, 2010 8:06 pm Post subject: |
|
|
| I'm after the same thing, I have some programming experience so I'm confident that I can master to program this thing. But my question is, can I use the PWM signal (either average voltage or pulse time) as an input for OpenServo v3? If no how can I work around that? |
|
| Back to top |
|
 |
jharvey
Joined: 15 Mar 2009 Posts: 266 Location: Maine USA
|
Posted: Sun Aug 22, 2010 11:12 pm Post subject: |
|
|
It appears I missed the second post from DonTZ125.
It sounds like there is a very good chance OS can do what you are looking for. It sounds like the MS lookup table would allow the typical min 1ms pulse, up to 2ms full scale PWM, for full scale of the servo motor. I think a key problem you would run into is the power supply. OS is designed for 7.2-7.5v, raising it to 12-13.8v, would cause a bit of a problem. To become tolerant of that increased voltage, I seem to recall you need to replace a resistor on the OS board allowing the ADC to read the higher voltage. The next big issue you might have is how much current your motor requires. Do you know how much power you will require? My gut feel is that you'll be within range of the drive silicon used on the OS board. I'm not sure if you would be best with the OSV2, found at sparkfun, or the OSV3 found from robotfuzz. I think the OSV2, would be better suited to your plan.
baasharm, by "average voltage" I believe you mean analog voltage input. I don't believe there is an easy analog voltage input option. By "pulse time" I believe you mean a 1ms pulse is 0 scale, and a 2ms pulse is full scale. This is already available, and probably works fairly well. I believe you will need to download the code, change a define statement or two, then compile and upload the firmware. It's possible that firmware has been compiled, and posted somewhere, but I'm not sure where it might be.
Also about motorcycles, I might guess you will also have a ITB, that might want a device like this.
http://code.google.com/p/5554openecu/downloads/detail?name=multi_map.zip&can=2&q=#makechanges
This project includes the design files, and PDF schematics for 2cyl through 12 cyl setups. Such that it can be viewed by anyone who can view PDF's, and if your good with PCB software, you can also modify the design.
The PCB can be found and ordered from this page.
http://batchpcb.com/index.php/Products/35028
If you like the design, vote for it please. |
|
| Back to top |
|
 |
baasharm
Joined: 22 Aug 2010 Posts: 7 Location: the netherlands
|
Posted: Sun Aug 22, 2010 11:52 pm Post subject: |
|
|
Thanks for the response, I just read about the Standard R/C Servo Signalling using PWM, that looks promising. The MS table provides the signal and OS drives the servo.
But how does OS know the open and closed position, does the pot meter require some calibration or is there some initialisation/calibration at startup? Or do I need to program that in the firmware? And do I need the OSIF to load the firmware to the OS?
Somewhere on the forum I read that OS v3 would take 12V, but I'll read up on that some more.
I'll check the power rating on the DC motor tomorrow.
The option for 4 independent MAP sensors is neat, I'll keep that in mind. But I haven't decided whether I'm going to use a map sensor. The ITB's I've sourced, have one on them, so I'd probably start from there. |
|
| Back to top |
|
 |
jharvey
Joined: 15 Mar 2009 Posts: 266 Location: Maine USA
|
Posted: Mon Aug 23, 2010 12:50 am Post subject: |
|
|
Typically the servo will have a linear or near linear range, so the wiper will typically range from the full servo range. The wiper ranges from 0V to 5V. So a 1.5ms pulse, holds the pot at 2.5v.
The questioned device may not have a linear range, so it may only use 1/4 of the normal range. If that's the case, than it would only range from say 0V to like 2V. A limited range may not have the resolution you need. I don't recall calibration procedures that would allow a separation in scale. Perhaps the best approach would be to ensure the POT will range from 0-5v. On a good note, the code is covered by the MIT licence, so you can modify it as you wish, and if you feel you can share your work, or not if you don't want to.
Also also, the does the POT have a sufficiently high resistance? When connected across the 5V, will it burn a bunch of power? My guess is that it would be 12V tolerant, but you will want to check the impedance to make sure things won't go up in flames. |
|
| Back to top |
|
 |
baasharm
Joined: 22 Aug 2010 Posts: 7 Location: the netherlands
|
Posted: Mon Aug 23, 2010 1:13 am Post subject: |
|
|
If needed I can present 5V to the pot meter that's no problem. I'll look into the 12V for the OS board and the power rating of the DC motor, but it looks promising.
Thanks for your quick and clear answers |
|
| Back to top |
|
 |
baasharm
Joined: 22 Aug 2010 Posts: 7 Location: the netherlands
|
Posted: Mon Aug 23, 2010 11:26 am Post subject: |
|
|
This is what I found on the servo:
Servo motor static resistance: 5,3 - 9,8 KOhm
Servo motor variable resistance: 0 - 7,5 KOhm
I opened the servo to check the DC motor the only thing that's on there is:
RS-38554
BB 01 8X 07
It's from a Yamaha and most of the electronics/sensor components are NipponDenso or Omron. Hope that helps. |
|
| Back to top |
|
 |
jharvey
Joined: 15 Mar 2009 Posts: 266 Location: Maine USA
|
Posted: Mon Aug 23, 2010 9:13 pm Post subject: |
|
|
| I don't follow the static resistance measurement. Is this a wiper across a fixed resisotor? I don't know why the fixed resisotor would have a range. |
|
| Back to top |
|
 |
baasharm
Joined: 22 Aug 2010 Posts: 7 Location: the netherlands
|
Posted: Tue Aug 24, 2010 12:39 pm Post subject: |
|
|
Well, I don't know, this is what I found in the Haynes manual.
I just measured a resistance of 10 Ohm on the motor with a DVM if that's helpfull. So am I correct to assume that the motor draws 1,2 A at 12V?
If so that would work with the openservo,right. I read somewhere that 2-3 A wouldbe okay with the OS. |
|
| Back to top |
|
 |
jharvey
Joined: 15 Mar 2009 Posts: 266 Location: Maine USA
|
Posted: Tue Aug 24, 2010 9:13 pm Post subject: |
|
|
| 10 ohm steady state means the average load will be about 1 amp. The inrush is likely more. Does you DVM measure inductance? That would help ball park the inrush. OS can probably handle enough current, the key you may be faced with is keeping OS nice and cool. Perhaps mounting it to a heat sink will be in order. |
|
| Back to top |
|
 |
baasharm
Joined: 22 Aug 2010 Posts: 7 Location: the netherlands
|
Posted: Tue Aug 24, 2010 9:29 pm Post subject: |
|
|
| I'll give it a go. Do I need the OSIF to flash/program OSv3 or can I dowithout it. Or is v2 better suited for the higher voltage. |
|
| Back to top |
|
 |
jharvey
Joined: 15 Mar 2009 Posts: 266 Location: Maine USA
|
Posted: Tue Aug 24, 2010 11:59 pm Post subject: |
|
|
I think the OSIF is the easiest way to go about it, it's the most documented and it would appear that most folks here have experience with it.
Hmmm, OSV2 or V3, I'm not sure what one is best. Perhaps for shipping purposes the V3 might keep costs down. I think both would work fine for the initial testing. The OSV2, is simpler and a bit easier to diagnose, ect. However the OSV3 has a bunch of other extra features.
If you go with the OSV3, you'll want to change R4 to allow for a higher voltage. Hmmm I think the IRF7307 should be 12V compatible, but I see the Vgs is +/- 12V, so you might have some problems.
Perhaps it would be best to make a 7.5V regulator, that bumps down from 12V to 7.5V and prevent modification to the OS board. |
|
| Back to top |
|
 |
baasharm
Joined: 22 Aug 2010 Posts: 7 Location: the netherlands
|
Posted: Wed Aug 25, 2010 5:33 pm Post subject: |
|
|
KI ordered the MS, OSv3 and OSIF today. The MS is on backorder so it'll take a while before I can play with it. And the engine need a bit of work before too. But I'll be posting my progress, if any
Thanks for your help, I might be coming back with questions for the eventual mods, but taking the power down to 7,5V would be the safest option.
In the meantime I could build the regulator en test it on the servo with the stock ECU. If that works, it'll work with the OS as well |
|
| Back to top |
|
 |
|
|
You cannot post new topics in this forum You cannot reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot vote in polls in this forum
|
Powered by phpBB © 2001, 2005 phpBB Group
|