This update addresses how to adjust Speeduino for a type 1 engine with individual throttle bodies and air conditioning. Probably an edge case, but maybe someone will need it.
The Setup: 1776 cc, 45mm ITBs, 90 amp alternator, CBP performance pulley, Speeduino engine load set to Throttle Position Sensor (TPS) rather than the usual Manifold Air Pressure (MAP). Cars with ITBs usually respond better to this setup (Alpha-N).
The Problems: Occasionally, when waiting at a stoplight, the engine would stall if the AC was on. Idling for a long period of time with the AC on made the oil temp go above normal.
Diagnosis: I began by trying to make it stall by idling down quickly with the AC on, while I was datalogging. I couldn't get it to stall, but I saw my air:fuel mixture was leveling out around 18.5:1. My normal idle mixture is around 13.8. My engine runs hotter if the AFR is very lean (in the 17-19 range). The engine was getting an extra load at idle because of compressor drag, but since the TPS value was still 0 (idle), no matching changes to the fueling happened, making the engine run lean. If you were using Speeduino setup to use MAP as the engine load value (Speed Density), then it would have compensated as the MAP value rose. Further data measurement noted that battery voltage at idle (900 rpm) dropped to 11 volts when the AC evaporator fan, condenser fan, and oil cooler fan were all running.
Lean Fix: Speeduino can use different fuel tables or spark tables based on events occurring in the engine. The fix I used was to send Speeduino a signal when the AC compressor is engaged. The secondary fuel table switches into place when Speeduino sees the compressor signal. I just copied the regular fuel table into the secondary table and adjusted the idle cells in the secondary table until the AFR was correct. No more super lean idles and heating up.
Voltage Fix: Speeduino has a couple of ways to let you set the idle speed and to maintain that speed. There's a temperature table that lets you specify what idle speed you want at each temperature. The Speeduino battery voltage sensor read around 11V with all of the fans on at 900 rpm. Raising the idle rpm until the battery voltage was slightly above 12V resulted in an idle speed of 1200 rpm. It's not as low as I like, but it's not obnoxious, either. Having a 12V idle charge will keep the battery in good shape for starts in the summertime even if we run the AC at idle a lot. The charge voltage quickly runs up near 14V once the engine speed is higher than 1500 rpm.
Stall Fix: While raising the idle speed to 1200 rpm should reduce the chance of a stoplight stall, I went ahead and setup the idle air and idle advance tables to quickly add advance and extra manifold air when the engine speed goes below the set value. Without any Speeduino control, the ITBs are set to idle at 800 rpm. Idle speeds above that occur when the Speeduino idle air controller leaks air into the manifolds or additional timing advance is added. The primary fuel table is set manually to give an appropriate AFR at idle.
You can identify the optimal spark advance at idle speed by adding advance and watching the MAP gauge drop. At some point, the MAP gauge will stop dropping and will start rising again. In my case, that's at 42* advance and MAP=57 at 1200 rpm (amazingly high, eh?).
I set the idle column at 1200 rpm of my spark table to 10* advance and have higher advance settings above and below 1200 rpm. The engine will naturally idle in this trough since the higher advance below 1200 rpm will kick it back up in speed. Note, if I set the trough to the idle optimal of 42*, this wouldn't work because there'd be no improvement in volumetric efficiency when the RPMs dropped and the engine would slow down even more.
Building on this principle, I set the idle advance table to add additional timing increasing as the rpms fall below 1200 rpms, but never exceeding the optimal timing total. The idle air control works more slowly than the timing advance, but it also adds additional air to the manifolds as the rpms drop. The result is that rpms drop normally to 1200 and are then rapidly caught by automatic timing and additional air adjustments. No more stalling.
Hardware: I had pulled a spare wire into the central engine area when rewiring last year. Speeduino has many extra inputs and outputs that you can configure to do various things using TunerStudio. I soldered a small jumper from input A15 to the external connector of the Speeduino and attached the spare wire to the terminal. Speeduino inputs are 0-5V DC and the AC clutch is at battery voltage. I designed a small resistor voltage divider circuit that would give a 3-5V signal when the AC clutch saw voltages between 10-15V. There are many ways to do this sort of voltage reduction, but this seemed to be the simplest and it works fine for me. I'm sure Gordon's wife could do better. Congratulations to the person who read to this point. You are either terrifically curious or you are considering inflicting EFI pain upon yourself. Cheers!