When you click on links to various merchants on this site and make a purchase, this can result in this site earning a commission. Affiliate programs and affiliations include, but are not limited to, the eBay Partner Network.
I completed a test run with the headlights on and it went on quite well.
I had fixed a problem that caused oscillations of the voltage by connecting a capacitor at the output to the sense voltage. the amplifier sends a 500hz triangle shape waveform, possibly because of the pwm signal from arduino. the capacitor smoothens the signal and now the output from the alternator looks steady. There are also large capacitors available that could help the car getting a very smooth supply of voltage.
I set it up to 12.5V in normal mode and it stood there until the alternator heated up to 62C ( the temp setpoint). There is a different pwm control for thermal throttling and when the set point is met it switches between them. I think I could try something different like lowering the setpoint based on temperature, but it worked well enough like that.
I’ll adjust the temperature and voltage set points higher under engine braking for regen.
Currently I have signal from the injectors but it doesn’t detect engine braking because it seems like the ecm still runs the injectors during engine braking which is confirmed by the onboard computer, fuel consumption doesn’t fall to zero. So I need to figure a way around that. Either counting the time for each injection pulse or to use a capacitor at the board terminal and average these pulses. It could set it just say 20% below idle pulse. Anyway I’ll measure with the oscilloscope. Last time it seemed it sends alternative current instead of pulses, maybe it’s a smoother way, so I probably need a diode as well.
And here is a picture of the solar eclipse through the telescope and projected on a piece of paper I took yesterday
I’ve tried to add the code to read pulse widths at a digital pin but it takes too much resources of the microcontroller. I wasn’t able to find a solution that doesn’t keep the the μc busy. If I take readings at fixed intervals I miss the pulses. I wait for a pulse, read it then let the program run for a couple of seconds and repeat. Anyway, the ECM grounds one of the pins on the injectors while the other one is connected to positive all times, so the signal is inverted. I also think I need a zenner diode because of the injector coils and possibly RFI (cables not shielded yet). With the injector signal wire plugged in, the Arduino board is getting voltage reading fluctuations. The current setup is diode-voltage divider (30k/7k/GND)-board pin.
Alternatively I could use the map(or an extra sensor since measurement will disturb the system) sensor value which is lower than idle while engine braking, or a second option, an oxygen sensor that some say would read lean. I already have two sensors installed, I only need to see what kind of voltage it sends.
I’ve tried to add the code to read pulse widths at a digital pin but it takes too much resources of the microcontroller. I wasn’t able to find a solution that doesn’t keep the the μc busy. If I take readings at fixed intervals I miss the pulses. I wait for a pulse, read it then let the program run for a couple of seconds and repeat. .
No, your code is not written correctly. You need to use interrupts. It takes almost no resources whatsoever. If you can't figure out interrupt code, I can show you.
No, your code is not written correctly. You need to use interrupts. It takes almost no resources whatsoever. If you can't figure out interrupt code, I can show you.
Thank you,
Yes, I think it can be done. I wanted to use interrupts to trigger a function for rising signal then another function for falling on the same pin but only one function worked, maybe using state “change” would work. Anyway, I don’t like the signal I get from injectors. I have a wire that comes from the EV1 connector and it is connected to 12V as the injector have 12V at one terminal, then falls to 0 every time the injector is energised so it’s an inverted signal. The problem is for some reason I read voltages of up to 88V. It already fried a board which could only handle up to +/-25V. Also I’ll be installing a bluetooth AFR sensor that has an output 0-5V wire and I want to take that input, display it and determine engine braking as well, which should be while the AFR reads very low.
Regen works now. It’s triggered by an old lambda sensor on the passenger side where I’m going to install the wideband sensor, which will do the same thing (the module has a 0-5V outlet proportional to AFR). You can notice about 2x the slowdown rate of the car, once no combustion is determined.
One issue I had was the temperature set point of the alternator that was 90C and with the radiator fans on, it would discharge the battery. I need to set it higher where it would stabilise while the battery is fully charged. I’m also searching for better design alternator. A 2006+ should have higher efficiency and run cooler.
I’m also searching for better design alternator. A 2006+ should have higher efficiency and run cooler.
2006 + alternators are nice because they are programmable. More efficient alternators are much later and have the "hairpin" coil design. Those are 6 phase instead of 3 phase.
2006 + alternators are nice because they are programmable. More efficient alternators are much later and have the "hairpin" coil design. Those are 6 phase instead of 3 phase.
I think I could try adapting a c7 alternator. The lower mount should fit, and for the top I will design a new bracket. The problem is I need a solution for increasing rigidity like on the stock alternator that has a side mounting brace.
I think I could try adapting a c7 alternator. The lower mount should fit, and for the top I will design a new bracket. The problem is I need a solution for increasing rigidity like on the stock alternator that has a side mounting brace.
If you want to go all out with your regen, then consider the oversized alternator from a Hyundai hybrid car. The alternator, because it's oversized, in addition to charging the batteries in the hybrid, is also used to start the engine and drive the car to some extent. Never seen one, just heard about it.
If you want to go all out with your regen, then consider the oversized alternator from a Hyundai hybrid car. The alternator, because it's oversized, in addition to charging the batteries in the hybrid, is also used to start the engine and drive the car to some extent. Never seen one, just heard about it.
well, that would be a lot of work and research. The problem is that would need a larger battery energy capacity (I suppose 48V) to have all benefits plus coolant lines and an ESC plus throttle position input. But I don’t want to add weight to the car. The car is also historical and I want to be able to switch to stock quickly when I go for inspection.
I’m now searching for a LIN port alternator. I think it’s worth learning how to work with a binary communication protocol. Those alternators can send several parameters and work with several parameters for a much better control.
COM connection alternators need decoding and it seems like it’s hard to find the necessary information, at most the protocol type can be found.
I thought of buying the regulator an play with it or maybe I can cut it open to see the chip producer. The alternator that I’ve found and I think would be suitable is from a Bmw g01,g30 180A.
the module seems to work fine. In the default/(safe mode) it charges the battery to normal operating voltage (14V) then it disconnects and leaves the regulator work normally, as the alternator can handle a charged battery with no problems and it will do it better than the module.
So the conclusion is using the sense wire is fine for limiting the current until the battery is charged in case it was previously in a low SOC.
One aspect is charging rate is better to be setup lower initially if the thermistor is placed on the iron core because the coil pack can overheat before the temperature reaches the iron. You can do this by reading the initial then gradually go up to the voltage setpoint. However, the PID function already has the differential coefficient that basically doesn’t allow quick changes in temperature.
I’m at the version 5.1 now and the last chance was more useful basically it should eliminate the need for a temperature sensor on the alternator, and it did well on testing. Basically what I did was introducing a set point limit to maximum a few millivolts (adjustable) above the actual voltage read at 30s intervals. Now it gradually brings the voltage up while charging the battery at 15-20A, It will only charge at full power while DFCO is active. Before,
it would charge at full power if the battery SOC was low until the temperature had risen to maximum allowed where it would start to reduce the duty cycle.
FYI, not sure you can use this, but I swap regulators on my alternators on a regular basis. I convert the dumb regulators to PWM controlled ones with this regulator module. 2 pin PWM regulator