DIY Arduino carb synchroinzer

Discussion in 'The Garage' started by prestonpaul, Sep 1, 2013.

  1. prestonpaul

    prestonpaul What?

    Joined:
    Nov 2, 2006
    Oddometer:
    1,640
    Location:
    Kennedys Creek
    I mentioned having a crack at this over on the Harmonizer thread in Vendors and there was a fair bit of interest so I decided to start a thread outlining what I've done.
    First off I wanted to start by saying it's NOT a DIY Harmonizer, the Harmonizer is Grok's creation and this is not an attempt to copy it or rip him off in any way. I don't have access to a Harmonizer so I've not reversed engineered it so any resemblance is coincidental.

    The basic principle for the idea is taken from here as is the software, I have no idea whatsoever about writing software and don't really have time to learn right now so if anyone wants to pick the software side of this up and run with it, feel free, as long as you keep everything open source.

    The basis of the project is an Arduino Uno R3 which for those that don't know is an open source microprocessor development board. These can be picked up cheap on eBay, the programming software is free, there is a huge Arduino knowledge base out there, they will run off 12 volts so can run off the bike's battery, and I had one left over from a home brewing project I never finished:lol3

    The sensors I used are Freescale MPX4115AP absolute pressure sensors. The reason I chose these sensors is they were used as the MAP sensor for the first virsion of the Megasquirt DIY EFI controller so I knew they should do the job. They are good from 15 to 115 kpa so will cover most aplications, however if you are in to forced induction you would need to use the MPX4250AP which is good for 250kpa.
    Yes, I could have used the GM MAP sensors as per the original design, but I wanted to keep it compact with a long term plan to put it all on to a board which will plug directly into the Arduino.

    The last major component is the LCD IIC 4x20 display which I purchaced on ebay for about $10.00 This is a serial display so doesn't take up a lot of pins on the Arduino that we need for inputs.

    Finally we need a few discreet components, 1 x 1.0uf electrolytic capacitor and 1 x 0.01 ceramic capacitor per sensor. I added a LED and 220 ohm resistor just so I could see that the Arduino was on.
    The schematic is as follows:

    [​IMG]


    And can be downloaded as a PDF here

    you will notice that there are a bunch of buttons up the top, they are not necessary at all for the synchronizer to function. My idea was to have them in a diamond layout so they can be used to scroll through a menu with an enter button in the middle, like a joypad sort of setup. They aren't used by the current software and may not make it on to the board.

    I currently have the synchronizer running on a breadboard on my desk and it appears to be working ok, I get reading changes when I suck and blow on the sensors but that's about it so far. I have yet to try it on a bike to see how it works.

    [​IMG]

    I have the schematic done up on Eagle PCB, but have yet do do a board layout as 4 sensors won't fit in the space allowed in the free version of Eagle. I need to find another PCB layout program that is free and will accept Eagle files so I don't have to re-do the schematic.

    That's probably as far as I am going to get for a while, Spring is here and I have a bunch of bee hive stuff to build and paint so I don't miss out on any honey plus I have a bunch of other jobs to do at home and around our farm, and I would like to do a bit of riding at some point too :rofl
    If anyone has any suggestions for changes or things I should have done differently or is able to take on the software side of things let me know and we can work on it.
    If anyone has any questions feel free to ask them and I will do my best to answer them. Just don't expect immediate answers.
    Please don't ask if I will build you one, as it's not going to happen.
    If you want to know where to get parts, try google or eBay :lol3
    If you want to know how to load the software, again, try google. There are plenty of tutorials out there, both written and Video format. Thats how I learned to do it :D
    #1
  2. Zebedee

    Zebedee Been here awhile

    Joined:
    Jan 3, 2004
    Oddometer:
    851
    Location:
    ... I was born a ramblin' man
    Still a noob when it comes to Arduino, so looking forward to seeing how this little project works out ... :clap

    :beer

    John
    #2
  3. TeneRay

    TeneRay 2>4

    Joined:
    Aug 16, 2009
    Oddometer:
    2,256
    Location:
    2-D, OH and SoVA
    Arduino noob here, too. I have a couple motorcycle projects I'd like to attempt once I get a better understanding of the system.

    Too cool!
    #3
  4. Davis53

    Davis53 Been here awhile

    Joined:
    Apr 29, 2005
    Oddometer:
    581
    Location:
    Northern California
    join, very interested in this project
    #4
  5. S/W

    S/W Been here awhile

    Joined:
    Oct 21, 2003
    Oddometer:
    412
    Location:
    Massachusetts
    #5
  6. prestonpaul

    prestonpaul What?

    Joined:
    Nov 2, 2006
    Oddometer:
    1,640
    Location:
    Kennedys Creek
    Yes you can, and there is nothing wrong with doing it that way, although I would imagine it would get a bit fiddly on a 3 or 4 cylinder bike. I can also sync my carbs using my Morgan Carbtune and get a good result as well, but my inner geek likes to play with stuff like this so that's what I do :lol3
    #6
  7. Zebedee

    Zebedee Been here awhile

    Joined:
    Jan 3, 2004
    Oddometer:
    851
    Location:
    ... I was born a ramblin' man
    ... but can you also use plastic tubing and oil to check the OBD codes ... :wink:

    +1

    :beer

    John
    #7
  8. TeneRay

    TeneRay 2>4

    Joined:
    Aug 16, 2009
    Oddometer:
    2,256
    Location:
    2-D, OH and SoVA
    What program is that you used to draw the schematic?
    #8
  9. prestonpaul

    prestonpaul What?

    Joined:
    Nov 2, 2006
    Oddometer:
    1,640
    Location:
    Kennedys Creek
    I have done the schematic on Eagle PCB, but have yet do do a board layout as 4 sensors won't fit in the space allowed in the free version of Eagle
    I have downloaded DesignSpark PCB designer this evening and have just started playing with it. It may take me a while to get my head around it :lol3
    #9
  10. TeneRay

    TeneRay 2>4

    Joined:
    Aug 16, 2009
    Oddometer:
    2,256
    Location:
    2-D, OH and SoVA
    Doh! I'm retarded. Somehow I skipped that last paragraph in your OP when you said you used Eagle PCB.

    Cool. Thanks!
    #10
  11. broncobowsher

    broncobowsher Long timer

    Joined:
    Apr 21, 2010
    Oddometer:
    1,979
    Location:
    Baking in AZ
    Those Arduinos are great for beginners. I know a little about electronics and have used a couple of Arduinos for various projects. Air suspension on a trailer, cooling fan controller, tow mode actuator to use a servo to lower a gauge panel (very James Bond:evil). Almost made my own analog gauges as well (got the stepper motors working but quit at the graphics and when I found a good deal on off the shelf gauges).
    #11
  12. JimVonBaden

    JimVonBaden "Cool" Aid!

    Joined:
    Feb 11, 2005
    Oddometer:
    56,148
    Location:
    Alexandria, VA
    Very interesting. A pure shame that life has gotten in the way of Grok's invention. It would sell very well, especially the 4 input version he was developing.

    I think this has great potential. Good luck with it.

    Jim :brow
    #12
  13. 9Dave

    9Dave Bazinga!

    Joined:
    Aug 4, 2005
    Oddometer:
    13,526
    Location:
    Central Ohio
    Cool stuff.

    I'm looking at Arduino to do some internet enabled garage door controllers.

    Basic, cheap, and there are lots of add-on "shields" available, and that can be created.
    #13
  14. prestonpaul

    prestonpaul What?

    Joined:
    Nov 2, 2006
    Oddometer:
    1,640
    Location:
    Kennedys Creek
    Totally agree,
    I will still buy one if he ever restarts production.
    #14
  15. RomaDakota

    RomaDakota Illuminatus!

    Joined:
    May 15, 2006
    Oddometer:
    1,580
    Location:
    Goldilocks Zone
    Cool. I have thought about doing the same just for fun.
    #15
  16. Rampage1967

    Rampage1967 Been here awhile

    Joined:
    Sep 2, 2010
    Oddometer:
    361
    Very fiddly . . .i have done it.
    #16
  17. PeterW

    PeterW Long timer

    Joined:
    Nov 11, 2005
    Oddometer:
    2,820
    Location:
    Gold Coast
    A few hints since I played with the pressure sensors a few years back.

    Getting a zero isn't too difficult, just do that at startup, getting the gain the same between multiple sensors, near impossible, particularly over a decent range of temperature - but for a balance device, the fact that one sensor is 15% more sensitive than another shouldn't matter too much.

    For two cylinders, a single sensor will do it, for more than two pots, use one sensor to each pot and common the other side of them all to ambient air. It'll cost more sensors (and more $$$), but screwing around being clever will cause you more grief than you really want - I suspect Grok found that out already.

    You'll need to filter the output, do some reading on digital filter design, the quality of that filter and how well it matches the rpm will make a hell of a difference to stability at the output.

    Pete
    #17
  18. tpak

    tpak Been here awhile

    Joined:
    Jul 15, 2010
    Oddometer:
    128
    Location:
    Monument, CO
    I've been working a nearly identical design as Paul. The MPX4115 sensors are incredibly accurate and after a bit of thinking I was able to get them all calibrating properly. As they are absolute pressure sensors i was able to confirm that the readings were correct vs. NOAA readings for my area. My design uses 3 buttons - one for select and the others to scroll a couple of options. After some initial runs on some observations 1) there is a lot of jitter - you need to slow down the display changes so you don't go crazy 2) on a breadboard these are a pain in the garage - make sure you have plenty of rubber hose 3) 5/32 hose is leaky - as soon as the rpms go up over 2500/3000 on my Super Tenere the engine light comes on - I assume that is a vacuum leak - get some spring clips for the tubing

    I'm not sure a lot of time needs to be spent on a filter design on this but would love to hear why you think so.

    I've just collected enough data from sample runs to tackle adding rpms to the display. That is work for a plane ride later today.

    One nice thing about this approach is that once you have a gauge mode you can set the intake pressure to spec - you can't do that with a liquid manometer but you should be able to with gauges. The Tenere has a specified range to be in as well as a range for in spec when syncing.
    #18
  19. Zebedee

    Zebedee Been here awhile

    Joined:
    Jan 3, 2004
    Oddometer:
    851
    Location:
    ... I was born a ramblin' man
    When Peter is talking about "filtering", I'm pretty sure he's talking about electronic/data filtering to prevent the jittery readings that you're experiencing ... hth

    :beer

    John
    #19
  20. prestonpaul

    prestonpaul What?

    Joined:
    Nov 2, 2006
    Oddometer:
    1,640
    Location:
    Kennedys Creek
    Thanks for jumping in here tpak.
    I meant to message you about this thread but it totally slipped my mind:huh sorry about that.
    Sounds like you are making good progress with the software and if you can add rpm based on pulse counting that would be great!
    What inputs are you using for your buttons? The 5 in my design are overkill and take up too much board space, 3 sounds like a good compromise to me so I'll modify the schematic when I get a chance.
    Feel free to post up your code when you think it's ready, I am sure there are a few of us here that would like to try it :evil
    The great thing about doing this on the Arduino platform is that if we can have a standard hardware design we can use whatever software best suits our needs.
    Keep up the good work.
    Cheers.
    Paul.
    #20