johnb wrote: Tue Apr 26, 2022 8:02 pm
It suspect it's more complicated than than just using a PID. The KLR uses a combination of open loop and PID control. One of the things on my list is to disable each one in turn and find out which one matters more. But I strongly suspect that it's the open loop control that does most of the work, and the PID controller is for fine tuning. It could do all the work on it's own, but it might be slow.
That's fundamentally how a control system is supposed to work. The open loop control is basically a "feed forward" to the PID/Closed loop control. Without a well calibrated open loop system a PID controller won't result in very stable control...
johnb wrote: Tue Apr 26, 2022 8:02 pm
I've never used an aftermarket boost controller, so maybe they have this feature, but what I would consider if I was designing one is to use the PID control option, and the use that to gather the duty cycle data, and then use that data for open loop maps. Of course those maps have to change if you change anything in the engine, but as long as it stays the same it would be more responsive (in theory).
That's a common method to fine tune a closed loop control. Get close with your open loop maps/tables, find some stable PID gains, then use the error to go back and adjust the open loop parameters as necessary. Sort of like fuel trim "learning" in some EFI control.
Re: Porsche 951 and Arduino Uno?
Posted: Thu Apr 28, 2022 7:59 am
by AudiSport
Tom wrote: Tue Apr 26, 2022 3:51 pm
One project I've wanted to work on for a long time is a boost controller. With a cheap mac valve, an arduino, and lots of coding time, I'm sure we could come up with something that works as well or better than most the stuff out there. That video showing the LEDs that detect which gear the car is in was an early building block for a gear based boost controller, but it's been on the back burner for years. If anyone wants to run with it and/or do it as a group project, I'll share what I have and offer any advice that might come to mind from prior efforts....
Check in to Speeduino, it's essentially a basic ECU with boost control also. It lacks the ability to use a MAF though and works off of MAP.
Tom wrote: Tue Apr 26, 2022 3:51 pm
One project I've wanted to work on for a long time is a boost controller. With a cheap mac valve, an arduino, and lots of coding time, I'm sure we could come up with something that works as well or better than most the stuff out there. That video showing the LEDs that detect which gear the car is in was an early building block for a gear based boost controller, but it's been on the back burner for years. If anyone wants to run with it and/or do it as a group project, I'll share what I have and offer any advice that might come to mind from prior efforts....
Check in to Speeduino, it's essentially a basic ECU with boost control also. It lacks the ability to use a MAF though and works off of MAP.
Is the code public domain? Might be a good head start on a boost controller.... Although I'd really want to include my gear-detector for gear-based boost curves.
Re: Porsche 951 and Arduino Uno?
Posted: Thu Apr 28, 2022 9:09 am
by AudiSport
Pretty sure it is, since it's touted as open source. It's on github.
Re: Porsche 951 and Arduino Uno?
Posted: Thu Apr 28, 2022 10:48 am
by four0four
Tom wrote: Thu Apr 28, 2022 8:59 am
Is the code public domain? Might be a good head start on a boost controller.... Although I'd really want to include my gear-detector for gear-based boost curves.
It's GPL v2. In short, if you produce a modified version, you need to provide a copy of the modified sourced code to customers.
Boost stuff is here, it's a reasonably simple configurable PID controller.
Re: Porsche 951 and Arduino Uno?
Posted: Thu Apr 28, 2022 11:23 am
by DGUN951
Check this out. someone made one. I think he shared the code in the comments but Im at work and cant open it. SHould give us a good start
Re: Porsche 951 and Arduino Uno?
Posted: Thu Apr 28, 2022 11:28 am
by DGUN951
If we could use an OLED display we could display a lot of info on one screen, Grear, Boost, Target boost. ect
Re: Porsche 951 and Arduino Uno?
Posted: Thu Apr 28, 2022 3:57 pm
by Tom
Dave W. wrote: Wed Apr 27, 2022 5:21 pm
Have you guys looked at the MegaLogViewer program from MegaSquirt? It's extremely versatile, the parameters are customizable and it accepts data from many different forms including excel and csv. I once used it to log daily environmental conditions in a building, such as temperature, humidity, time of day and when certain devices clicked on and off.
I used a logger by DataQ several years ago to log intake temps while testing intercoolers. They worked great and at the time cost like $25. These days they have Arduino shields for logging straight to a microchip.
Re: Porsche 951 and Arduino Uno?
Posted: Sat Apr 30, 2022 6:12 pm
by dme
Alex89 wrote: Tue Apr 26, 2022 4:18 pm
Rather than collecting and saving data in the Arduino itself I was looking at using Excel to actually collect the data via serial from the Arduino. But it's still not really very user friendly. Especially if I want to be able to quickly review data and update my tune. I'm open to suggestions!
I hope that when you say serial, you are really talking about Bluetooth. That works much better. I was working with the Arduino in the engine compartment connected to the AFM. Bluetooth works great connecting to the laptop in the passenger seat.
Dave W. wrote: Wed Apr 27, 2022 5:21 pm
Have you guys looked at the MegaLogViewer program from MegaSquirt? It's extremely versatile, the parameters are customizable and it accepts data from many different forms including excel and csv. I once used it to log daily environmental conditions in a building, such as temperature, humidity, time of day and when certain devices clicked on and off.
I used a logger by DataQ several years ago to log intake temps while testing intercoolers. They worked great and at the time cost like $25. These days they have Arduino shields for logging straight to a microchip.
I was logging to an SD card, skipped the middle man (SD) and went straight to the laptop via Bluetooth. You can either log it there or use it as input into a running program.