Jump to content

Differential temperature to control a GP output


jaypat01

Recommended Posts

So I am looking to control an GP Output (A2W Heat Exchanger Fan) with the differential temperature between two temperature inputs. I would be using the logic that when the differential temperature between the ambient air temp and the IC Heat Exchanger water output reaches a certain level, I will turn on the fans.

My question is, how do you compare these two analog input channels in the G4+ software to control the output. Worst comes to worse, I wire the two sensors into a voltage divider type circuit externally (which would feed a single differential signal back to the ecu), but I would rather do this comparison in software so that I can still view and log the individual temperatures in the ecu and/or digital dash.

Is there a solution to this?

Another possible solution I think I have found is to feed those two signals into a CAN I/O expansion module and I believe you can add an algebraic expression to manipulate the CAN transmission value which means I could transmit a temperature differential signal back to the ecu. I could be completely wrong on this.

Link to comment
Share on other sites

4 hours ago, Adamw said:

You could possibly use a GP PWM (Aux 1-8), have one temp input on each axis, populate the cells with either 0 or 100 in the areas where you want it on or off.

I did wonder if that would work, but wouldn't interpolation be a problem ? 

Link to comment
Share on other sites

9 hours ago, Richard Hill said:

I did wonder if that would work, but wouldn't interpolation be a problem ? 

There will definately be interpolation between cells but since the temp channels only have a resolution of 1°C you can possibly set up the axis break points to overcome that - depending on the range of temperatures he wants to cover.  I could be wrong, I havent plotted it out to think it through in depth.

Otherwise a SSR will be needed so the fan will just ramp up through the short interpolation area.

Link to comment
Share on other sites

This brings up a good topic. Are you saying you can connect SSR to a PWM signal from the ecu to create your own PWM speed controller? I was wondering if the frequency wouldn’t be high enough. 

On the other note about the dash...I was thinking of going with the AIM MXG 7” since Link does not have their own 7” dash on the market yet. Is there anything plans to release a Link 7” dash to the market to compliment the 5”?

Link to comment
Share on other sites

Just realized you we’re suggesting using the PWM output as essentially a discrete signal (on or off). This I think would work as long as I keep the switch over point from 0 to 100% duty cycle linear in the table and the ecu does not store temperature values as anything other than an integer. I’m going to have to try this in excel first to see if it’s possible. Essentially the table will look something like this as long as both axis are scaled the same and have the same offset for temp.

On another note, what is the resolution of the AN Volt channels?

10A48C2F-0DE8-4C58-AE43-526B4A8E92E7.png

Link to comment
Share on other sites

17 hours ago, jaypat01 said:

Just realized you we’re suggesting using the PWM output as essentially a discrete signal (on or off).

Correct 0% PWM is off and 100%DC is on. Your example table is what I had pictured in my mind.  However as Richard pointed out, you may get some interpolation between the 0 and 100.  For instance if you were exactly halfway between temperature B & C in your table above then the output would be 50%DC.  However, the temp channels are only stored as an integer so if the B & C break point were only 1deg apart then you wont get any interpolation - because the measured temp could never be halfway in between.

 

 

17 hours ago, jaypat01 said:

On another note, what is the resolution of the AN Volt channels?

The raw ADC resolution is 10bits over 5 volts. However that is stored in the ecu differently depending on what function the AN input is set to.  Many of the temps for instance are stored as 8bit numbers with a resolution of 1deg C.   A good way to see how inputs are stored/used in the ECU is using the test calculator tab in the CAN setup screen.  

 

wgQYTAk.png

Link to comment
Share on other sites

Alright I think I have this solved and there are multiple ways of doing it. In the PWM output function...there is an option to vary frequency of the output which is defined in a table. I can make each axis the two temperatures I am comparing, but this time the table will be defined to proportionally increase the frequency output based off of the differential temp. I think I will increase the frequency 1hz per 1 deg of differential temp (See table below). This will give me the temp range I need. Then I will either feed that frequency output back into a digital channel and assign that channel as a Frequency input. This way I can trigger my fan’s high and low speed off of the Frequency reference. 

Only thing that would make this better is if I can reference the output frequency directly without using an DI channel or even better, I could write the frequency output to a virtual channel and reference that...then I wouldn’t use any external I/O channels.

I know the first thing is possible, but I will need to look at the program later to see if I can accomplish the last thing I suggested.

63A2D02D-DA61-40E3-8EE7-6784C50DBF9C.png

Link to comment
Share on other sites

  • 4 weeks later...

Alright so I figured this out right after my last post, but I ended up with a little different solution than I planned. I figured I would post this on here so anyone else that needs to accomplish this can use my method. There is a CON to this method...it will use up an PWM capable AUX Output and a Digital Input.

So attached below are the configurations I set up. Basically I used my AUX 7 channel as a PWM output, in which I keep the Duty Cycle constant at 10% across the whole table (I have one AN Input on one axis and another AN Input that I am comparing to on the other axis). Then I utilized a table for the frequency of the AUX 7 PWM output and I kept each axis the same as the DC table, but this time I entered the difference of the two AN values, plus 10 (I will explain that in a second) in each cell. In my application I was comparing two temps in which I was turning an IC fan on, so you will see in my table that I left all the cells in the lower left corner of the table at 10hz (which means 0 differential temp), because I don't care if the IC heat exchanger water temp discharge is colder than the ambient air temp (because I don't need to turn the fan on in that case).

So the reason that all my cells are offset by +10hz is because apparently 10hz is the lowest number you can enter into these cells. So I just make 10hz my 0 degree differential temp reference.

For the wiring portion, you just need to jump the PWN capable AUX Output that you use to a free Digital Input. I used DI 8 in my case.

Unfortunately, you can not simply set your DI channel to a "Frequency" input, because you cannot reference that frequency in any other logic (kind of weird), so what I used was "GP Speed" and you have to scale it. Supposedly, entering 360 into the "Calibration" field will give you a 1:1 scaling of your frequency, but it was a hair off in my case and 356 got me closer (I'm not sure why). But in the end, this worked fantastic and now I can turn my GP Outputs on that control my IC HX fan's high and low speed by referencing my differential temp signal coming into DI 8.

Capture1.PNG

Capture5.PNG

Capture3.PNG

Capture4.PNG

 

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...