Jump to content


  • Content Count

  • Joined

  • Last visited

  • Days Won


Reputation Activity

  1. Like
    Davidv got a reaction from cruz177 in dashboard arduino   
    Forget about the CanID you really need to think about Frame ID instead.
    Your frame ID takes up one of the bytes in the message. 
    So in this example below, it is Frame number 13 . 

    When this can frame is received by your teensy, you need to look a that first byte to tell you which frame it is. 

    If the number is 13, then you know that your values in the frame are Inj timing, Ign Angle, and Inlet / LH target. 
    So you can update those values.

  2. Like
    Davidv got a reaction from Adamw in dashboard arduino   
    Forget about the CanID you really need to think about Frame ID instead.
    Your frame ID takes up one of the bytes in the message. 
    So in this example below, it is Frame number 13 . 

    When this can frame is received by your teensy, you need to look a that first byte to tell you which frame it is. 

    If the number is 13, then you know that your values in the frame are Inj timing, Ign Angle, and Inlet / LH target. 
    So you can update those values.

  3. Like
    Davidv reacted to Adamw in dashboard arduino   
    I dont know what library you are using but with most you shouldnt need to specify the CAN ID if that is the only message that is going to be on the bus - if will just read every message.
    This bit here looks wrong to me:
    You want it to switch based on the frame ID which is the number in Byte 0.  Based on how the rest of your code is written I suspect this should be something like:  switch (rxmsg.buf[0])
    Also your byte numbers are wrong in this section you cant have data in byte zero as that is your frame ID:

  4. Thanks
    Davidv reacted to Adamw in RPM simulation to test CANBUS   
    You can connect a loop wire from an aux to trigger 1 pin.  Set the trigger mode as below.  Set the aux to test PWM and changing the frequency will give you different RPM.

  5. Like
    Davidv reacted to Adamw in Beams 3SGE + G4+ Xtreme 1983 Toyota Carina   
    I like your simulator, we have a project in house at the moment doing something vaguely similar. 
    Removing weight is definitely overlooked so often, it is far more important than engine performance in most cases.  Fibreglass doors and hatch are possibly out of budget but are often the biggest bang for buck weight reduction in a car like this (loss of 60-80kg common), but they often dont fit as nice and seal shut etc so there are some negatives for a car that may be road driven often too.
  6. Like
    Davidv got a reaction from Adamw in Beams 3SGE + G4+ Xtreme 1983 Toyota Carina   
    I've been doing some work on making a crude engine simulator, so if I'm using something else that I want to test that has Canbus I can just hook them up to each other and expect similarish results that my engine would give.
    So it needs an airflow model. So far I'm just using these simple factors to determine how much airflow the engine could potentially be consuming 

    How much air per cyl at 100% VE 
    How max VE tapers each side of max torque
    RPM based friction losses
    Potential horsepower based on mass flow

    Then I've modelled a throttle body too, which has an exponentially increasing/decreasing flow rate based on angle. 
    So if the angle allows you  to flow more air than what the engine is trying to consume, MAP stays at 101kpa and the engine can reach its full throttle VE value. 
    But if the throttle is closed further than this, then it shows the number as dictated by throttle angle but also generates a map sensor value. 
    Which then generates a pumping losses number based on MAP and RPM.
    So the idea here is that it can simulate the situation where the engine is still able to flow 100% of its potential power even at lower throttle, if the engines airflow demand is low enough.
    Even if he airflow number is fixed the actual power number changes a little through the RPM sweep due to differing losses.

    So to add more features I basically add more things which potentially take away from max power if they are non optimal. 
    So I still need to make an AFR model, so that you'll make less power as you go further away from peak power AFR. 

    Then make an ignition model which has an ideal ignition number (in milliseconds to 15 ATDC so it generates a fairly sane number across the rpm range)
    But then has variables to account for different amount of ignition needed when you run richer or leaner, or less engine load. 

    Then from there, I'll make a road load simulator where the car is requiring a varying load as it travels along ups and downs. So the simulation of cruise control is a bit more accurate as in real life the test conditions go out of bounds a lot if the road gradient changes too much across the course of a single test.

    So obviously this wont be a 100% accurate simulation of my engine or any other engine. But it will react to changes in hopefully a similar way a real engine does, and be capable of being tuned like a real engine does.
    The eventual idea is that I'll be able to test and troubleshoot my cruise control ignition trim system using this instead of needing to drive the car every time I need to test something.
    So this virtual motor will have an ideal ignition table which I currently dont even know what it is.
    But it will be my other devices job to run iterative tests to figure that out.
    This will be able to whizz through 1000s of iterations much faster than how it can process in real time when you're waiting for fuel samples to generate and conditions to stabilize.
    Which should help for troubleshooting and bug finding/fixing to no end.
    So hopefully when I get my car running again it'll be fairly stable. 

    What will also be good is if a G4X ECU is in the budget at some point, I'll be able to drastically cut down the number of calculations etc I'm having my dash do and send back to the ECU.
    As the math channel feature will allow the majority of things to be done all onboard which is exciting.
  7. Like
    Davidv got a reaction from Rustam in Injector Timing   
    Remember that injector timing only really makes a difference when the injector is open for a very small amount of time. Such as idle or cruising. 

    Because once you're up to say 70% or higher duty cycle, your injector is firing for so long that it makes little difference.

    I've found that around 400deg is good but on cold starts bringing closer to 250deg (from memory ) meant I could reduce cold start enrichments.
  8. Like
    Davidv reacted to TechDave in Ethrottle span beyond 0 and 100 %   
    I just tried it, works great.

    There is no error state for the E-Throttle going outside of bounds.
  9. Like
    Davidv reacted to Simon in Latest Update   
    6.16.26 PC link and 6.16.15 FW are now available 
    http://www.linkecu.com/pclink/Link Engine Management PC Link G4X Updates 13032020.pdf
  10. Like
    Davidv got a reaction from Adamw in Log analysis improvement   
    You can already do that too. 

    You just open the log file manager tab on the side, and then click in the box for the one you'd like to overlay. 

    Then it shows two lots of graph times down the bottom, you can move one back and forth if you want to try make them line up.
  11. Like
    Davidv reacted to TechDave in How big can Maths numbers be?   
    It's a 32 bit single precision float.
    so there are a few answers to the question.

  12. Like
    Davidv reacted to Adamw in Water Pump PWM   
    No, there are 4 terminals.  1 is constant 12V.  2 is the low current PWM signal from ecu. 3 & 4 are both constant ground (it differentiates signal and power ground but fine to connect them both to chassis).

  13. Like
    Davidv reacted to Adamw in Water Pump PWM   
    Correct except there are 2 grounds.  And a GP PWM is lowside drive only.  But as I mentioned earlier these work fine connected directly to an aux out, they donot need a pull-up or anything.
    You dont need the controller that mldc attached - this would be for someone that wants to control the pump without an ECU.
    What diagram are you looking at? On the pump there should be a 4 pin plug, +12V, a power gnd, a signal ground and a PWM signal.  There is no tach output.
    The G4+ PWM outputs cant do highside drive, only low side.  The Aux outputs already have a 1.5Kohm pull-up internally.  
  14. Like
    Davidv reacted to Richard Hill in Water Pump PWM   
    That isn't the pump manual, The 500mA current specified is the maximum output of the TinyCWA controller, not the current consumption of the PWM input pin on the pump (which will be much lower).  You can control these pumps with either a high side aux, or if none available you could use a low side (I would add a 10k pull up resistor in the pump connector) 
    Also, worth noting these pumps should be installed as low as possible and work best in a "reverse flow" configuration as they cannot suck air, and so will fail to pump if coolant levels are low and mounted in the top hose
  15. Thanks
    Davidv got a reaction from Babych44 in Modelled fuel   
    Definitely put in the tested value. 

    If you want really good accuracy though then it's good to have a fuel pressure sensor so it can work out the fuel pressure differential accurately.

    As mechanical FPR can fluctuate a little.

    Your deadtimes being accurate will be a big make or break for accuracy of your fuel consumption though.
  16. Like
    Davidv reacted to cj in Sensor Grounds (5V and 12v Sensors, speed sensors, knock....ETC))   
    You can connect both 5v and 12v sensors (and VR sensors etc that have varying voltage output) all to the same sensor ground. 
    The reason to chose 1 type of ground over another is not input voltage, but more:
    1) how stable does the signal need to be for the engine to run well (crank trigger = really important, any of the temp sensors = not a big issue if the signal bounces around a few percent). And as part of this, will a ground offset cause an incorrect reading that still looks legit. (eg voltage offset on any analog sensor)
    2) How much load is expected to go through the ground circuit. eg do not use a sensor ground as the ground side for a vtec solenoid or anything like that.
    As long as everything on the sensor grounds is low *current* then adding a flex fuel sensor to sensor ground wouldnt hurt, and generally anything that is an ECU *input* you would lean towards putting on the sensor ground circuits. But if you do see issues that seem like sensor noise once you add it, you can probably move the flex sensor to use a direct ground and not see too many issues. These dont report an analog output anyway so should work just fine with slightly noisy voltage/ground.
  17. Like
    Davidv reacted to Jenova in 3SGE REDTOP BEAMS TUNING   
    I have swapped the stock 3sfe to a 3sge redtop beams in my 1991 Toyota Camry and in the process of converting it to a 5 speed manual. So I decided to get a standalone system for it, got a link g4+ fury and need some help figuring out how to set up a base map/tune it?
  18. Like
    Davidv reacted to TechDave in Virtual aux trigger check engine light   
    Added "Custom CEL functions" a few weeks back, no ETA but it's in there.
  19. Like
    Davidv reacted to Adamw in Virtual aux trigger check engine light   
    I agree, it would be nice to have a more configurable driver warning light function.  Some ecu's I work with have a table or check list where you can select which situations or sensors will trigger a warning.  
    @Davidv.  I know its not exactly what you want, but just in case you didnt think of this, I often do something like below to give the CE light output multiple functions:

  20. Thanks
    Davidv got a reaction from iliasfyntanidis in Knock Setup on G4+ Plug in - EVO 6   
    Okay so there are a few stages to setting it up.
    1. Wiring
    Run one wire to the knock1 or knock2 wire on the link loom, and one to sensor earth, polarity unimportant. must must must must use shielded wire. The knock sensor outputs a very low voltage signal that's prone to interference.
    2. Initial settings
    Since you are using the 'wideband' knock sensor and an engine with an ~86mm bore has a knock frequency in the ~6khz range select your Freq Channel as 4-10khz Wide Band.
    Set Ignition Retard limit to 0 degrees.
    Set the RPM high and low lockouts however you like. (500rpm likely not ideal for the low setting)


    3. Cylinder balancing
    Your knock sensor is mounted closer to one cylinder than the others. It picks up vibrations, so the vibrations from that one cylinder will give a stronger signal than the others.
    So what you need to do, is hold the motor at say 4000rpm (no load) and check the signal strength of each cylinder.
    You can check the signal strength by pressing F12 to get to the runtime values screen and looking at these numbers, knock level cyl 1/2/34

    See how in that example above, the numbers are 235 / 160 / 255 /145. You need to get these numbers as balanced / equal as possible.

    You can adjust the values up or down by tweaking the numbers up and down in Knock control > Cyl setup > Cyl 1/2/34 knk level gain

    Best to start with a value of 1 for the cylinder that's closest to the knock sensor, and increase the other values to suit. If one of the values reaches '2' (maximum) you can reduce some of the other numbers to less than 1.
    4. Non knock noise levels
    Since the knock sensor picks up vibrations, there are of course vibrations happening even when there's no knock. As RPM increases, the amount of 'natural' background noise increases too.
    The ECU can tell that knock is happening, because there's an unexpected large spike in the 'noise' from the motor around the time of the iginition event. Soooo, you need to find out what the background noise level is for your engine.
    According to the manual, a 2 row table with full throttle and 0 throttle is sufficient but this is up to you and how long you want to spend on it haha.
    So head to Knock control > Knock target, right click on the table and select Axis setup to define your table similar to this (if you want)

    Then you need to run a datalog through the rpm range at full throttle to see what the values are for this table. (and coast back down off throttle for the zero TP target, although I'm guessing not much knock happens at 0% throttle)
    Open the datalog and bring up a screen to show engine rpm and the knock level global.
    Knock level global has a maximum value of '1000'. If you find that you are hitting 1000, you need to reduce the Gain Channel number on the main knock sensing setup page to something a bit lower and try again. Remember that the '1000' has to be the maximum even including allowance for knock which is much stronger signal than the background noise so you need to allow headroom for that too.

    Once you've established these background noise levels for the motor in your table, increase all of the numbers in the table by 20% to give it a bit of a margin against picking up normal engine noise as knock.
    At this point, because you've set the maximum ignition retard to 0 degrees in your first step, the ECU isnt taking any action against knock.
    Now that you've got everything setup though (unless I've missed a step here, haha) you can turn the knock sensing on by setting an ignition retard limit here, to say 3 degrees or 5 degrees or whatever you want:

    Then as per reccomendations from the manual, it's best to test that knock sensing is working under a scenario that minimises risk of damage to your engine.
    So you could drive along at low load / low rpm and induce knock by creeping the timing forward until it knocks and you can see from the runtime values table (F12) that it's working.
    From here, it should all be working awesomely. (No responsibility taken for blown up motor though! This is just what has worked for me)

    Hopefully it all makes sense though
    Where are you based / what is the car used for? 
    Keen to hear how you get on.
  21. Thanks
    Davidv reacted to TechDave in Fuel film modelling in G4X line   
    Accel fuel has been changed to a simplified X-Tau model
  22. Like
    Davidv reacted to TechDave in Starter control - speed or clutch lockout   
    G4X solves this with a VA on the starter switch DI, but I do wonder if we need to move the start position function setting into the starter control settings. I'll put it to the engineers.
  23. Like
    Davidv got a reaction from Leo Malcolm in G4x Base map   
    That would be pretty cool! Like have a preset number of functions in there.
  24. Like
    Davidv reacted to Ducie54 in G4x Base map   
    Is it possible to have a Math block drop down box with the maths all ready worked out? 
  25. Like
    Davidv reacted to TechDave in G4x Base map   
    Should also be fixed.
  • Create New...