1. Welcome to Tacoma World!

    You are currently viewing as a guest! To get full-access, you need to register for a FREE account.

    As a registered member, you’ll be able to:
    • Participate in all Tacoma discussion topics
    • Communicate privately with other Tacoma owners from around the world
    • Post your own photos in our Members Gallery
    • Access all special features of the site

Charcoal canister permanent Removal?

Discussion in '2nd Gen. Tacomas (2005-2015)' started by FishaRnekEd, Dec 27, 2014.

  1. Nov 24, 2019 at 8:03 PM
    #41
    b_r_o

    b_r_o Gnar doggy

    Joined:
    Nov 17, 2016
    Member:
    #202672
    Messages:
    14,574
    First Name:
    Alex
    WA
    Vehicle:
    2015 DCLB
    You're right, 1st gen just opens the purge valve to let vacuum into the evap system. Later models use a pump.

    What specific code do you have again? Cracked/rotted vacuum lines would be a place to start

    If you really want to get around it, register your vehicle with an address that is outside the emissions control area
     
  2. Nov 25, 2019 at 5:34 AM
    #42
    Rosbrughjb

    Rosbrughjb Member

    Joined:
    Mar 11, 2014
    Member:
    #125082
    Messages:
    5
    Gender:
    Male
    Wrightsville beach, nc
    Vehicle:
    2002 tacoma, 2012 hilux
    More than i can type on this tiny keyboard.
    @b_r_o : thank you for the info. I was able to (finally) pass today. Have the miles since last reset and engine was hot w no cel so drove straight to inspect station and was first in line. Now i bought a year to either replace all that evap hardware or determine another option.
    Any idea what the ECM uses to initiate a test? Is it every so many starts, time based, something else? I have all three of the solenoid triggers wired back to cab so i can monitor them w an arduino so i will be able to tell when it is going to happen by watching the valves. Next is the pt signal as an analog input so i can plot the pt signal to the ECM. I am wide open to any ideas.
    Probably sounds crazy but dont have a good source for the hoses since a taco in pick n pull is like gummy bears w four year olds. Gone in a blink. So my only option would be buy all the hardware new and likely that is expensive and with my luck it would not fix the issue.
    If it had an economy/performance connection i would fix it.
    Thanks again for the info and guidance
     
  3. Nov 25, 2019 at 7:04 AM
    #43
    b_r_o

    b_r_o Gnar doggy

    Joined:
    Nov 17, 2016
    Member:
    #202672
    Messages:
    14,574
    First Name:
    Alex
    WA
    Vehicle:
    2015 DCLB
    Depends on what test it wants to run (purge, vent, leak test, etc)

    Usually all the other monitors run first and if they pass then evap runs last.

    Post up some pics of your failure sheets, inc the most recent one
     
  4. Nov 25, 2019 at 9:40 AM
    #44
    96carboard

    96carboard Well-Known Member

    Joined:
    Sep 14, 2018
    Member:
    #266237
    Messages:
    1,593
    Ok, so from post #10 possibly describing the system;
    https://www.tacomaworld.com/threads/charcoal-canister-permanent-removal.356701/#post-9628821

    There are the following components;
    -tank pressure sensor
    -evap purge solenoid
    -leak test pump
    -** possibly more

    So here's the thing; the system is NOT designed to be "unhackable". It can definitely be bypassed.

    BUT, you need to figure out the sequence of what happens before you can actually implement it.
    For instance, what actually triggers the CEL? Probably the test failing. So what does the test involve? It probably involves closing the solenoid, running the pump, and seeing if the pressure sensor activates, and possibly if it REMAINS activated after the pump is shut off, and until the solenoid is triggered.

    So what that means is that in order to bypass the test, you would have to have something that reads whether the solenoid and pump are triggered, and then responds with the appropriate sensor state.

    What you need;
    A microcontroller on a breakout board. For you noobs, I'd suggest something that is "arduino compatible".
    A box of 2n7000 n-channel mosfets.

    You wire a couple of the mosfets into microcontroller digital input pins. Gate connects to the "signal" (i.e., the pump or solenoid), source connects to GND, and drain connects to the digital input pin. Set the microcontroller internal resistor to pull UP. When the solenoid or pump activate, the corresponding inputs will be pulled low by the transistor switching on.

    Note: Because the transistor is a FIELD-effect transistor (FET), the gate voltage will NOT be delivered to either of the other two pins. This circuit makes up a unidirectional voltage level translator so that the input pin is only exposed to GND and its own output voltage, and NOT the ~14v that is driving the transistor's gate. The 2n7000 can handle 20v continuous, and 40v spikes, so it can do the job.

    Up to this point, you have the INPUTS.
    Next, you need the OUTPUT.

    The sensor is *probably* a binary sensor (i.e., on or off based on the pressure).
    That means that you need to switch a ~14v circuit when the appropriate conditions are met.
    It isn't clear that the sensor is a binary sensor (it could be a variable resistance that changes with pressure).
    It also isn't clear if the sensor is active high or low.
    Both of these can be handled in software. A variable resistance can be simulated using pulse width modulation (PWM), and high vs low is just a matter of inverting the logic.

    Now there is one more consideration for the output side;
    What exactly does the sensor switch? If its got battery on one side and drives that voltage to the ECU, then it means we are dealing with high side voltage, and need a P-channel FET. Alternatively, if it is controlling the state of an input pin with pull-up resistor, then we are dealing with a low-side voltage and can handle it with another 2n7000. Actually, we're going to use a 2n7000 either way, because a microcontroller can't drive a P-channel FET directly unless the two sides share the same high-level voltage (which they don't).

    But on this one, the microcontroller is going to connect to the gate.
    So another digital pin from the microcontroller to the gate of the 3rd 2n7000. As in the other case, source pin to GND. And the drain pin is going to be where the magic happens.

    You see, what happens with the FET in this configuration, is you are going to have a positive voltage on the drain. When the FET is OFF, the positive voltage is blocked. When the FET is ON, the positive voltage will be shorted to GND. So now you're thinking BUT BUT BUT if you short the 14v to GND, bad things will happen, like smoke. And that may be correct, which is why it is important to know if we are taking battery and switching it to the ECU, or if we are switching an input pin to GND. The latter case involves switching very small current, which is perfectly correct to do.

    So how do we know? Well, you need to find the wires that run the sensor, and test them. If one of those pins is reading 3.3 or 5 volts, then I can pretty much guarantee that it is an input pin and we can hook it straight up to the FET. In this instance, you will probably also find that the other pin to the sensor is directly connected to chassis/gnd/battery-. HOWEVER, if you find that one of the wires has the same voltage on it as the battery, and the other has very high resistance to GND, then you have to wire up a P-channel FET.

    ** also good to do is test how much current that positive voltage can supply. If it measures in AMPS, then its a high side switch configuration. If it measures max of a few tens of milliamps, then you are switching directly to GND through the N-channel FET.

    If I were designing the system, I'd run input pin and GND to the sensor (safe), rather than input pin and ~14v (dangerous).
    The reason why the 14v solution would be dangerous, is in case something gets shorted out. If the high voltage gets shorted out to something, then some fuse is going to have to give or you would have smoke and fire and the whole vehicle will shut down and have to be towed. HOWEVER, if its an input pin with pull-up resistor and THAT gets shorted out, then you just get a bad sensor reading and throw a CEL.

    And the best reason why a car maker would do it the same way I would is this; it is simpler to implement and CHEAPER since at most it requires a couple of resistors (one of which is probably internal to the MCU in the ECU anyway). The driving high voltage way would require something like an N-channel FET on the input to the ECU's MCU.

    So my best guess is that its probably a low current switch and can be handled directly with a 2n7000.


    But for the sake of completeness, IF it was wired dangerously, you would handle it like this; you take some P-channel FET, like an IRF9510, and wire its GATE into the drain of the 2n7000. You also need a resistor, like a 4.7k ohm, and connect it between the P-channel FET's source and gate. Then you take the high voltage and wire it into the source pin of the P-fet, and the remaining wire to the drain side of the P-fet.

    So how it works is like this;
    P-channel FET's switch on when you apply a NEGATIVE voltage to their gate pin relative to their source pin. That means that when the gate and source are at the same voltage (connected through the pull-up resistor), or when the gate voltage is HIGHER than the source voltage, then power is BLOCKED. When you activate the N-channel FET, it conducts voltage off the P's gate faster than it comes back through the resistor, so it pulls the voltage down to 0v. So now the source pin is at ~14v, and the gate pin is at 0v, or to look at that another way, the gate voltage is -14v relative to the source pin, so we have our negative voltage and the P-channel FET is now switched on, which means that it now conducts from source to drain.



    Software: I've already recommended an arduino compatible microcontroller breakout.
    In the setup() function, set the two input pins to "input pull-up" mode. Set the output pin to output, and write LOW to it.
    In the loop() function, read the state of the two input pins, and based on their states, write the appropriate HIGH or LOW to the output pin.

    There could be more complexity needed, such as delays between the pump activating and the output switching on, or analog output via PWM, but that can be addressed later.




    ***************************************************
    On the differences between P and N channel FET's:

    You can think of a P-channel FET as a "high side switch", and an N-channel FET as a "low side switch". In other words, say you have a light bulb and you want to switch it on and off with a FET. If you use a P-channel FET, it goes on the POSITIVE side of the bulb. If you use an N-channel FET, it goes on the GND side of the bulb.

    The reason for this has to do with the fact that in order to activate a switch, there has to be a voltage DIFFERENCE between the controlling elements.

    To activate an N-channel FET, you need to apply a positive voltage to the GATE relative to the SOURCE. So lets think for a moment about what would happen if you put an N-channel FET into the positive side....

    You have your +12V (lets say), connecting to the DRAIN side of the N-channel FET, and you have the SOURCE side of the FET connecting to the light bulb, and then you have the light bulb connecting to GND.

    When the FET is switched OFF, the voltages on the pins are as follows;
    Drain: +12
    Gate: 0
    Source: 0

    So now lets switch it on by connecting +3.3 to GATE:
    In the first instant, you have this;
    Drain +12
    Gate: +3.3
    Source: 0.
    That's fine. Gate > Source, so it activates, and begins conducting.

    But, the light is a resistance. That means that current won't instantly dump across it, which means that there will be a voltage difference across it. So an instant later, this is what you get;
    Drain: +12
    Gate: +3.3
    Source: +3.3
    That's no good. Now Gate == Source, and it switches off. In fact what happens is that the FET ends up acting like a resistor. It lets some current flow, but it is far from an ideal switch.

    But when its in the low side position, the Source will *always* be 0V because resistance to GND is negligible, which means that applying voltage to the gate will ALWAYS activate it.

    The situation is exactly the same on the P-channel side, just mirror image, *and of course* one complicating factor, which is the fact that you need to work using the high-side voltage as the reference. That means that if you're trying to switch 12v, and your logic is 3.3v relative to the same GND, then logic low will apply -12v (relative to source) to the gate pin, and logic high will apply -8.7v (relative to source) to the gate pin -- both of which result in the transistor being in an "on" state, and both of which being outside of the tolerances of your microcontroller. This is why it is necessary to control the P-channel FET with an N-channel FET. The N-channel FET is being used as a logic level shifter and inverter so that our 3.3v relative to GND is translated into -3.3v relative to +12.
     
    Last edited: Nov 25, 2019
    deanosaurus, burntkat and Rosbrughjb like this.
  5. Jan 4, 2021 at 2:59 PM
    #45
    burntkat

    burntkat Well-Known Member

    Joined:
    Aug 16, 2018
    Member:
    #263029
    Messages:
    1,422
    Gender:
    Male
    First Name:
    Phillip
    Charleston, SC
    Vehicle:
    97 Extracab Tacoma
    OK, so tell me what I need to do. ;)
     
  6. Dec 29, 2021 at 9:42 PM
    #46
    Krzykraker

    Krzykraker Well-Known Member

    Joined:
    Nov 26, 2021
    Member:
    #383107
    Messages:
    60
    Gender:
    Male
    Vehicle:
    1998 Toyota Tacoma Base, 2.7L, 4wd, Regular Cab, Shortbed
    I take it nobody figured this out yet? I found some info on some other forums, but it's for a 4-Runner and maybe a different year, cuz it doesn't look the same as mine, but it makes sense what he did, I'm gonna try it to see if mine will work without the CEL coming on
     
  7. Dec 29, 2021 at 9:50 PM
    #47
    Krzykraker

    Krzykraker Well-Known Member

    Joined:
    Nov 26, 2021
    Member:
    #383107
    Messages:
    60
    Gender:
    Male
    Vehicle:
    1998 Toyota Tacoma Base, 2.7L, 4wd, Regular Cab, Shortbed

Products Discussed in

To Top