For any add-on boards such as VR conditioners, optos and OEM interface boards
User avatar
By DStage
#63228
Hi everyone

After testing of v1.4 I realized that among other changes it requires adding two more op-amps. Since there was absolutely no space left in current form factor for new components I went for version 2.0 that changes the PCB dimensions significantly. I could extend it just a little and if anyone thinks this would still be a good option please let me know. However, the presented design is larger partially also due to optional add-on of Arduino Nano.

Here's the list of main improvements:
1. Calibration of gas pedal and TPS is now not based on resistance therefore vastly simplifies and improves usage of purely voltage positions signals (TPS and/or gas pedal based on hall and other non contact technologies).
2. More intuitive calibration and wider calibration range - input signal can be now multiplied by a factor from roughly 0.5 (division) to 2 (amplification/multiplication) and an positive or negative offset can be added. This should allow for very wide spectrum of signal dynamic range as long as it is within 0-5V boundaries.
3. signal conditioning (calibration) always giving same final boundaries of 1-4V which eliminates the need for modification of fail safe thresholds for non-pot based sensors.
4. LED indicator for main power and for fault condition meaning when fail safe kicks in. Optionally the fault LED can be connected externally using extra pads for soldering wires.
5. All standard inputs and outputs can now use screw terminals for easier connection. Terminals are not part of JLCPCB bom and have to be soldered manually but as those are big THT components this shouldn't be an issue. Optionally wires can be soldered directly in their place.
6. More fixing holes added. Board will fit few universal metal casings. I will also provide an STL file for 3D printing.
7. BOM already includes updated values for TPS filter that are proven to work fine |(no need for removing capacitors etc.) as well as changed R6 lowering motor PWM which results in much lower heat dissipation from power transistors.
8. Even though there are more components the final cost in JLCPCB is even a bit lower as all op-amps are now the same type which eliminates one of the extended part 3$ fee ;-)

The Arduino is here mainly for those who would like to have a build in map for the gas pedal so in other words non linear response from accelerator to the throttle opening. so far few people achieved that by using the boost map in Speeduino I think. The advantage of doing so is that it is available in TS but requires a bit of hacking. The option with build in Arduino gives a standalone option or no changes/hacks to Speeduino but map has to be added externally to TS. Again, if you think that's a bad idea please let me know. Please note that the main principle of operation even when using the map from Arduino stays analogue so for example the fail safes for broken or shorted wires on gas pedal and TPS lines stay the same which is a benefit over the hacks using boost map in Sppeeduino. Since Arduino is not in direct control over the feedback loop for throttle position but only translates gas pedal position the program does not have to be fast and optimal ;-) It's also worth mentioning that Arduino is completely buffered from the main analogue part via op-amps and transistors so most faults in the program won't cause fatal problems to the throttle.

Potentially there are other options such as communicating with Speeduino by serial or other interfaces but that of course means customization/extension of the code. Other usages for Arduino are also possible here, it can also asyst in tuning of the pots or control something else based on throttle position etc. It is totally optional though and ETC v2.0 can work without it just as the previous versions.
Attachments
DStage ETC v2.0 Schematic.png
DStage ETC v2.0 Schematic.png (186.63 KiB) Viewed 7312 times
DStage ETC v2.0 PCB 3D.png
DStage ETC v2.0 PCB 3D.png (413.28 KiB) Viewed 7312 times
User avatar
By PSIG
#63234
Progress and evolution! Thanks for relaying your thoughts and process as it evolves rather than mutates. :lol: I'm still trying to grasp the potential of the changes. :mrgreen:
By runesm
#63422
DStage wrote: Fri May 26, 2023 9:18 pm Hi everyone

After testing of v1.4 I realized that among other changes it requires adding two more op-amps. Since there was absolutely no space left in current form factor for new components I went for version 2.0 that changes the PCB dimensions significantly. I could extend it just a little and if anyone thinks this would still be a good option please let me know. However, the presented design is larger partially also due to optional add-on of Arduino Nano.

Here's the list of main improvements:
1. Calibration of gas pedal and TPS is now not based on resistance therefore vastly simplifies and improves usage of purely voltage positions signals (TPS and/or gas pedal based on hall and other non contact technologies).
2. More intuitive calibration and wider calibration range - input signal can be now multiplied by a factor from roughly 0.5 (division) to 2 (amplification/multiplication) and an positive or negative offset can be added. This should allow for very wide spectrum of signal dynamic range as long as it is within 0-5V boundaries.
3. signal conditioning (calibration) always giving same final boundaries of 1-4V which eliminates the need for modification of fail safe thresholds for non-pot based sensors.
4. LED indicator for main power and for fault condition meaning when fail safe kicks in. Optionally the fault LED can be connected externally using extra pads for soldering wires.
5. All standard inputs and outputs can now use screw terminals for easier connection. Terminals are not part of JLCPCB bom and have to be soldered manually but as those are big THT components this shouldn't be an issue. Optionally wires can be soldered directly in their place.
6. More fixing holes added. Board will fit few universal metal casings. I will also provide an STL file for 3D printing.
7. BOM already includes updated values for TPS filter that are proven to work fine |(no need for removing capacitors etc.) as well as changed R6 lowering motor PWM which results in much lower heat dissipation from power transistors.
8. Even though there are more components the final cost in JLCPCB is even a bit lower as all op-amps are now the same type which eliminates one of the extended part 3$ fee ;-)

The Arduino is here mainly for those who would like to have a build in map for the gas pedal so in other words non linear response from accelerator to the throttle opening. so far few people achieved that by using the boost map in Speeduino I think. The advantage of doing so is that it is available in TS but requires a bit of hacking. The option with build in Arduino gives a standalone option or no changes/hacks to Speeduino but map has to be added externally to TS. Again, if you think that's a bad idea please let me know. Please note that the main principle of operation even when using the map from Arduino stays analogue so for example the fail safes for broken or shorted wires on gas pedal and TPS lines stay the same which is a benefit over the hacks using boost map in Sppeeduino. Since Arduino is not in direct control over the feedback loop for throttle position but only translates gas pedal position the program does not have to be fast and optimal ;-) It's also worth mentioning that Arduino is completely buffered from the main analogue part via op-amps and transistors so most faults in the program won't cause fatal problems to the throttle.

Potentially there are other options such as communicating with Speeduino by serial or other interfaces but that of course means customization/extension of the code. Other usages for Arduino are also possible here, it can also asyst in tuning of the pots or control something else based on throttle position etc. It is totally optional though and ETC v2.0 can work without it just as the previous versions.
When will 2.0 go live on github :D
User avatar
By DStage
#64190
Sorry guys to keep you waiting - it's here! :lol:

Last night I performed a successful bring-up of v2.1. Well, it wasn't successful right from the start :D I had to add a small rework to make it work.
The story is I had v2.0 ready for sending to JLC but then I thought maybe I can also address the matter of heat dissipation. So, I decided to change the MOSFET driver at the last moment - great idea :lol:
I've chosen drivers (now there are 2 instead of one) that have a build in dead-time. However, pretty much all of such drivers are dedicated for HV designs meaning they have a build in charge pump. This is nothing bad BUT for it to work you have to provide a constantly changing signal to the input. In other words the high side transistor cannot be controlled statically. Something I did not think about.
The PWM controller in ETC is capable of providing duty cycle between 0% and 97%. It depends on the rate of input changes or in other words how fast you step on the gas. When the change is rapid it will jump to one of the extremes. In v2.1 it meant the 0% in case gas was added quickly. The problem is 0% means no signal change on drivers inputs therefore charge pump stops working. It resulted in throttle closing and in order to make it work again gas had to be fully de-pressed.
Fortunately I found a simple solution to this problem. I reversed inputs to PWM controller so now it jumps to 97% instead of 0% and drivers are fine 8-) v2.2 that I put on Github already includes this fix.
To be completely honest I'm not sure why the problem doesn't show itself now in the reverse direction so when gas is rapidly de-pressed but test show it's fine. I will measure it some more with the oscilloscope just in case.

In other news the changes I made actually have lowered the price a bit even though there are few more components so that's a nice bonus ;-) However, when I checked like 10 minutes ago JLC was short on 100k miniature pots so keep that in mind (maybe it's just a matter of waiting few days, if not I can provide alternative BOM with changed values for pots and corresponding resistors).
The change of drivers also allowed to use all N-channel MOSFETs instead of N and P. N MOSFETs have generally half of the P type channel resistance. Even if the drivers themselves do not contribute to much to the head reduction (they should improve rise time on transistor gate but I do not have measurements from v1.3 to compare to) for sure the reduced R-ds-on will.
One more thing - by mistake I reveres the logic for red LED (the green one shows 12V power). So, now instead of indicating a fault it shows a status OK :lol: When it's OFF it means fail safes kicked in.

TO DO:
1. I did not test or even connect Arduino Nano and I do not have a program for it. If someone is willing to help with that I'd be glad as I don't know when I will find time for this additional functionality.
2. When I find some free time (haha good joke) I will design a case for 3D printing and add STL file to the repo. Board size should allow for using quite a few of the shelf aluminium cases though.
3. I need to prepare new user manual but in principal all main stuff stay the same as for generation 1.
4. I need to add Excel sheet that helps with calibration to the repo. I have it ready but it still needs procedure description either in user manual or directly in the spreadsheet.
5. IAC not tested yet.
Attachments
v2.1 first test c.jpg
v2.1 first test c.jpg (331.54 KiB) Viewed 3433 times
User avatar
By DStage
#64192
point 4 done - calibration spreadsheet is now on repo. It contains a short procedure description too.
Attachments
calibration spreasheet screenshot.png
calibration spreasheet screenshot.png (90.15 KiB) Viewed 3414 times
User avatar
By DStage
#64208
I attach schematic especially if someone wills to play around with Arduino soft :mrgreen:

Also please note that there is something not exactly right with the calibration sheet. I need to work on that some more. The calibration is working nicely it's just I have to come up with comprehensive tweaking method.
Attachments
DStage_ETC_v2.2_schematic.png
DStage_ETC_v2.2_schematic.png (513.36 KiB) Viewed 3383 times
  • 1
  • 7
  • 8
  • 9
  • 10
  • 11

Hi, I am trying to assign Signed values to the x-a[…]

Vr Conditioner Noise when cranking

New version 202305 don't fix the issue. Now after[…]

blitzbox

I've finally figured out why MAP and Lambda weren'[…]

Hello, I bring news!! Let me tell you that after […]

Still can't find what you're looking for?