Jump to content

Hacking a Mikuni


Trilby Tim

Featured Posts

Over the 3 years I've had it my Mikuni has been plenty of trouble. See this topic for details http://www.canalworld.net/forums/index.php?showtopic=43672. To cut a long story short it builds up carbon excessively rapidly which then causes it to blow glow plugs. I believe it's a function of my installation and operation (I have underfloor heating that takes a lot of energy to warm up, I like to use it to get the floor warmed up and then turn it off and use the wood burner to maintain the heat) it's not a fault as such with the installation or the heater, it's just the way it is! I know plenty of people have Mikunis/Ebers/Webastos that run well but plenty of others have similar experiences to me. I think they're just temperamental, if your set up and way of using them perfectly suits the heater then are great, if not then you're stuffed. Of course in an ideal world the manufacturer would make something that actually worked across a range of real life situations, but that's clearly not going to happen so I decided to hack it myself.

I've been making some progress. I hacked into the control box and tapped into the various inputs and outputs using an Arduino to log all the data. I also mounted a thermocouple into the exhaust port to measure the exhaust gas temperature.

Mikuni with Arduino

I think my suspicions were justified, in my set up it is taking a very long time to get to a decent operating temperature, if at all. The green line on the graph below shows the temperature of coolant that was circulating before I made any modifications. It was never really getting over 60 degrees C, and the heat up was really slow, taking 20 minutes to even reach 40C. I think this is running too cold for it burn cleanly and is causing the premature coking up.
So I decided to hack further and to use the Arduino to control the speed of the water pump according to the coolant temperature, so to pump more slowly while it's warming up and then to speed up to keep a steady temperature. I programmed the Arduino with a PID control algorithm to drive the pump controlled off water temperature. In theory this shouldn't make a difference to the heat I get out the unit, pumping a small volume of high temperature water transfers the same energy as a large volume of lower temperature water. In practice they'll be slightly higher losses at high temperature, but if the combustion is more efficient then hopefully that would be offset. The dark blue line was the first attempt, the light blue line was after a bit of tinkering. As you can see, it now gets almost up to temperature within 10 minutes and maintains a pretty steady 75 degrees C.

Graph

I've been running it like this for about 3 months now, 2 runs of 2 hours each per day (probably about 250 hours). I've not had any problems in that time and it doesn't appear to have any loss in performance. I've think this is the longest period I've had without fault since I've had it! Very chuffed with this, but I still think I can improve it. 3 months ago the exhaust gas temperature was nearly 500C, that's dropped to 470 now, so I think it still is coking up, just at a reduced rate. Ideally I'd do away with the Mikuni control box completely and just run the whole thing off the Arduino, but it's quite a big project to do that. If anyone has a dead control box I'll happily take it off your hands! It would be nice to have one to experiment with and ideally I'd like to fit all the new hardware into the same box with the same sockets so it would just plug into the existing wiring. If anyone would like more details or code then I'm happy to share.
Link to comment
Share on other sites

Good result! I have wondered in the past if slower warmup contributes to coking problems.

 

For a non electronic solution, a solar rated thermostatic valve (TMV) or tempering valve would also regulate the return temp to the heater up to around 65°C.

 

It may be that running some paraffin through it does some limited decoking, the exhaust temp when switching back to diesel may show an improvement.

 

cheers, Pete.

~smpt~

Edited by smileypete
Link to comment
Share on other sites

Well done. I think another cause of coking can be incorrect air-fuel mixture (ie running too rich) which can be detected by measuring the CO content of the exhaust gasses. This can be adjusted by shimming something I believe, but not sure exactly what.

Link to comment
Share on other sites

Hello

I would be interested to know which is the pot to adjust the high to low rate set point. I asked Mikuni some years ago but they would not tell me.

My system has always run very hot before going into low mode. My flow pipe is mostly 22mm copper so the water heats quickly until the radiators (5) are very hot.

I like the idea of your system. How do you make this work in conjunction with the pre start check that the control box seems to do.

Don't forget if you do a total redesign the air fan only runs at 8 or 9 volts.

I have only had problems with my MX40 when the batteries are low - locks out on the pre check, but will start once the power has been removed then reconnected some times.

It is much better now that the fuel quality has improved and starts on the 1st or 2nd try.

Just a thought - do you have an inlet silencer - is it clean. Is your air supply to the unit unrestricted.

Any info would be of interest

Thanks

Link to comment
Share on other sites

Shimming the fan impeller air fan adjusts the mixture.

The fan/housing run very close together so so need some careful handling - it is very easy to breakage blades from the impeller.

I understand this is best done on the bench by an expert, although I never understand how well this works as everybody's exhaust set-up is different.

Link to comment
Share on other sites

The current Arduino controller is just an add on to the Mikuni controller it doesn't replace anything, it's in the wire to the water pump and tapped into the wires to the coolant temp thermistor. I did have the problem when I first fitted it there that the Mikuni wouldn't start as it saw it as a failed water pump, but I managed to trick it by putting a high value resistor across the transistor that I'm using to switch the water pump. That way the Mikuni sees a resistance there all the time and so thinks the pump must be fine. So i don't think the start up checks are very complex, just checks nothings open circuit or short circuit, should be easy to program a replacement controller to do that. I've also got all the data I logged at the start, so I can program the replacement to follow the same start up procedure.

I'm surprised the mixture needs to be adjust mechanically, I can't see why it shouldn't be possible for the controller to adjust it electronically. It has control of the speed of the air blower and the speed of fuel pump after all, and mixture is just the ratio of those speeds. Ideally if I do get round to making a full controller I'd like it to fine tune mixture on the fly so as to compensate for variations in fuel, ambient air temperature and pressure, wear in components, etc, etc. Either I'd put a car lambda sensor in the exhaust flue or I was thinking to try tuning by exhaust gas temperature. I would imagine that maximum efficiency must be maximum EGT, so I'd have it constantly tweaking the mixture up or down a fraction and checking the effect on EGT. As with so many things, it's all a question of getting time to do it!

Link to comment
Share on other sites

I think you are right about controlling the air/fuel mix, but I am not sure the EGT is an accurate way of monitoring the combustion in relation to the CO2 level. I would think the EGT will be affected by the chamber shell temperature/heat absorbed, which will probaly give a low reading when cold.

How does a vehicle system work?

Link to comment
Share on other sites

Shimming the fan impeller air fan adjusts the mixture.

The fan/housing run very close together so so need some careful handling - it is very easy to breakage blades from the impeller.

I understand this is best done on the bench by an expert, although I never understand how well this works as everybody's exhaust set-up is different.

We normally simulate the vessel's exhaust when bench setting the CO2, the MX40 is the most difficult of all the available heaters to set the burn rate and because of that is rarely done, Webasto is easy on board using a laptop and Thermotest sofware as are the Mikuni forced air heaters which just use an air bleed screw. As the MX40 is now defunct and some parts are often difficult it will not be an issue for much longer though.

Edited by NMEA
Link to comment
Share on other sites

  • 2 weeks later...

Adrian, using the EGT to adjust the mixture isn't ideal, I've also thought about using a car lambda probe mounted in the exhaust to monitor the exhaust gases. However that's more expense, and I reckon EGT is a reasonable proxy. Once the device has heated up then the EGT is actually fairly constant (I'm controlling the coolant temp now remember). If you see this graph from one of my test runs for rapid heat up with low load on it you can see it fairly rapidly gets to a pretty constant 400C (and then drops to a fairly constant 300 when it switches to low mode as the coolant gets too hot).

Graph

The objective would only be to fine tune the mixture, it would start up and heat up with baseline settings. The strategy would therefore be to monitor average EGT over the course of a few minutes, wait until it had heated up (so EGT not changing by much) and then to try adjusting the mixture a small amount one way, waiting a few minutes and then checking the average EGT over the last few minutes. If it was hotter the adjustment was correct so change it again in the same direction, if it was cooler then change it in the opposite direction. Repeat that continuously. Hopefully that way it would fine tune to a perfect mixture, and would automatically adjust that point as things change (ambient air temperature and pressure, fuel temeprature, fuel grade, wear on components, etc, etc).

 

Link to comment
Share on other sites

I see what you are trying to do. I am familiar with this type of control for controlling heat platens(rubber moulding machines). I think you will find it hard to establish a steady control without using a PID ( proportional-integral-derivative)element in the controls. I have tried, without success, to use what you propose in simple PLC control systems but eventually found it necessary to include a higher level of control.

Link to comment
Share on other sites

I am using PID already to control the water pump. The problem with PID for controlling the mixture is that it isn't a case of "more fuel equals more heat" and you're trying to control to the correct heat level, it's a case of "the right amount of fuel equals more heat" and you don't know what the right amount is! Also it's likely to be a slow response from changing the mixture to getting a change in EGT, and there's going to be noise, so I do think it needs the averaging, adjust, check and re-adjust loop strategy.

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.