Announcement

Collapse
No announcement yet.

Use for the Tesla Switch

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • Originally posted by nvisser View Post
    Now I`m confused
    Why would Q1 & Q9 fire together instead of Q1 & Q10? or did you swop Q9 and Q10 on a newer schematic
    I can see the delay ( dead time) is between swithing of the banks .
    Vissie, think of Q1 and Q2 as a "normally open" switches and Q9 and Q10 as "normally closed" switches. When I fire Q1 (pin 4) I need to open the path Q9 is in to avoid the recirculating current (yes the same current that smoked your diodes). Q9 and Q10 are PNP tranny's. When you bias them they open.



    do



    loop while b1 < 10

    This is a loop routine that runs through this section 10 times before the program jumps out of it and re-checks the health of the batts.


    Hope this helps

    Bit's
    Last edited by Bit's-n-Bytes; 01-13-2010, 07:55 PM.

    Comment


    • Am I correct when I say that Q10 is already closed for 200msec when Q1 fires?
      I wont be easy to do with a analog flip flop

      Comment


      • Originally posted by nvisser View Post
        Now I`m confused
        Why would Q1 & Q9 fire together instead of Q1 & Q10? or did you swop Q9 and Q10 on a newer schematic
        I can see the delay ( dead time) is between swithing of the banks .
        What does this command do? loop while b1 < 10

        Vissie
        , b1 represents a value, how many times we want to loop (switch the group). With command - loop while b1 < 10, it will keep looping until value reaches 10 (10 times) then it will read ChargeSense/ BattLVLSense. Depending on their relation - CS=BLVLS, CS>BLVLS or CS<BLVLS it will start switching other bank. For instance, if CS=BLVLS, it will switch Group3. If CS>BLVLS, group1, if CS<BLVLS - Group2.



        I'm sure Bit's can explain this better

        Oooups, he already did!


        Vtech
        Last edited by blackchisel97; 01-13-2010, 08:06 PM. Reason: edit
        'Get it all on record now - get the films - get the witnesses -because somewhere down the road of history some bastard will get up and say that this never happened'

        General D.Eisenhower


        http://www.nvtronics.org

        Comment


        • Originally posted by nvisser View Post
          Am I correct when I say that Q10 is already closed for 200msec when Q1 fires?
          I wont be easy to do with a analog flip flop
          Yes that is correct.

          Comment


          • Originally posted by blackchisel97 View Post

            Vissie
            , b1 represents a value, how many times we want to loop (switch the group). With command - loop while b1 < 10, it will keep looping until value reaches 10 (10 times) then it will read ChargeSense/ BattLVLSense. Depending on their relation - CS=BLVLS, CS>BLVLS or CS<BLVLS it will start switching other bank. For instance, if CS=BLVLS, it will switch Group3. If CS>BLVLS, group1, if CS<BLVLS - Group2.

            Oooups, he already did.

            I'm sure Bit's can explain this better


            Vtech
            Vtech, you paid attention in my class. Nicely done.

            Comment


            • Originally posted by nvisser View Post
              Am I correct when I say that Q10 is already closed for 200msec when Q1 fires?
              I wont be easy to do with a analog flip flop
              Vissie,

              You could do this with a 556. Set each output of the 556 to 80% duty cycle.
              Use the first output to drive the H11D1's for Q1 & Q9, and the second output to drive the H11D1's for Q2 & Q10.

              Set the 556 up in flip-flop mode, the outputs will drive 2 x H11D1's in series no problem, even with an LED in series as well - so you can see the signal. I've used opto ss relays the same way, but I imagine it would work for H11D1's as well? Correct me if I'm wrong.

              @Bits. Great job mate, I hope it keeps chugging away for you. From the code for the timing you're running at 0.5Hz. It takes 2 seconds to complete 1 "loop". Then you check the voltages (I guess from the TP's in the cct) every 10 cycles (20 seconds) and then what does it do?

              John K.
              http://teslagenx.com

              Comment


              • Originally posted by nvisser View Post
                Am I correct when I say that Q10 is already closed for 200msec when Q1 fires?
                I wont be easy to do with a analog flip flop
                What if we employ analog flip flop with independently controlled ON,OFF and DELAY, driving optocouplers and Bit's PNP's in place
                Just a thought. I have a problem visualizing this being easy done with SG chip.

                John K That's what I had in mind

                Vtech
                Last edited by blackchisel97; 01-13-2010, 09:13 PM. Reason: edit
                'Get it all on record now - get the films - get the witnesses -because somewhere down the road of history some bastard will get up and say that this never happened'

                General D.Eisenhower


                http://www.nvtronics.org

                Comment


                • Originally posted by John_K View Post
                  From the code for the timing you're running at 0.5Hz. It takes 2 seconds to complete 1 "loop". Then you check the voltages (I guess from the TP's in the cct) every 10 cycles (20 seconds) and then what does it do?

                  John K.
                  @John K

                  Depending on the battery values it switches banks.


                  Vtech
                  'Get it all on record now - get the films - get the witnesses -because somewhere down the road of history some bastard will get up and say that this never happened'

                  General D.Eisenhower


                  http://www.nvtronics.org

                  Comment


                  • Originally posted by blackchisel97 View Post
                    @John K

                    Depending on the battery values it switches banks.


                    Vtech
                    @John K

                    Here is the code;

                    Note: This still in the tweeking stage. Becareful when adjusting the delay between the high and low statements as this is the duration the tranny remains on. The higher the value, the "hotter" the tranny.

                    Start:
                    SYMBOL ChargeSense = W1
                    SYMBOL BattLVLSense = W2
                    SYMBOL TotalCompare = W3

                    Main:
                    readadc10 1, ChargeSense
                    readadc10 2, BattLVLSense

                    let b1 = 0

                    ;let BattLVLSense = 128
                    ;let ChargeSense = 128

                    if ChargeSense > BattLVLSense then SwitchGroup1
                    if ChargeSense < BattLVLSense then SwitchGroup2
                    if ChargeSense = BattLVLSense then SwitchGroup3

                    ;let TotalCompare = BattLVLSense + ChargeSense '########## Reserved for future use

                    ;If TotalCompare > 255 then '########## Reserved for future use
                    ;high 3 '########## Reserved for future use
                    ;else
                    ;low 3 '########## Reserved for future use
                    ;endif

                    SwitchGroup1:
                    do
                    high 4, 7
                    pause 800
                    low 4, 7
                    inc b1
                    loop while b1 < 10
                    goto Main

                    SwitchGroup2:
                    do
                    high 6, 5
                    pause 800
                    low 6, 5
                    inc b1
                    loop while b1 < 10
                    goto Main

                    SwitchGroup3:
                    do
                    high 4, 7
                    pause 800
                    low 4, 7
                    pause 200
                    high 6, 5
                    pause 800
                    low 6, 5
                    pause 200
                    inc b1
                    loop while b1 < 10
                    goto Main


                    goto Main

                    Bit's

                    Comment


                    • Originally posted by blackchisel97 View Post
                      @John K

                      Depending on the battery values it switches banks.


                      Vtech
                      But why? Doesn't it switch banks every second? Or to be more precise Bank A for 800mS, rest for 200mS, Bank B for 800mS, rest for 200mS - rinse and repeat?

                      When the switch rests for 200mS, Q1 & Q2 (NPN) are "open" and Q9 & Q10 (PNP) are "closed". Therefore both banks positives are connected, but because Q1 & Q2 are both open, nothing happens as there is no "closed" loop anywhere.

                      It's only during one of the 800mS periods that one of the loops is closed, allowing one bank to be at 24V and the other at 12V. Then they swap banks. (The "duality of closed paths and open paths...")

                      Have I got this right or do I need another coffee?

                      John K.
                      http://teslagenx.com

                      Comment


                      • Originally posted by John_K View Post
                        But why? Doesn't it switch banks every second? Or to be more precise Bank A for 800mS, rest for 200mS, Bank B for 800mS, rest for 200mS - rinse and repeat?

                        When the switch rests for 200mS, Q1 & Q2 (NPN) are "open" and Q9 & Q10 (PNP) are "closed". Therefore both banks positives are connected, but because Q1 & Q2 are both open, nothing happens as there is no "closed" loop anywhere.

                        It's only during one of the 800mS periods that one of the loops is closed, allowing one bank to be at 24V and the other at 12V. Then they swap banks. (The "duality of closed paths and open paths...")

                        Have I got this right or do I need another coffee?

                        John K.
                        @John K, might as well have some reading material with that coffee.

                        Description of the code functionality;

                        Variables are set up to receive values from various pin readings through the READADC command. These Variables are;

                        BattLVLSense - Holds the value of the voltage from Batts 1 and 3.
                        ChargeSense - Holds the value of the voltage from Batts 2 and 4.
                        TotalCompare- Holds the value of Batts 1 and 3 + Batts 2 and 4.

                        Once all Batts are connected, power is applied (12V from Batt1) to R1-R18 voltage divider which supplies power to Z1. Z1 is a 5.1V zener diode that maintains the voltage to operate the PICAXE-18X chip. Cap C1 filters any noise.

                        (3) SwitchGroups (subroutines) are setup to do the “pulsing” of Q1 and / or Q2.

                        The process starts by the PICAXE-18X(U1) reading and storing information presented to pins 0, 1 2 from the Test Points that senses the voltage at the points shown on the schematic and presents it to U1 as a voltage range from 0 to 5vdc. The U1 in turn, converts this to a value from 0 to 255. The test points, through the voltage divider resistors, are selected to output 2.5 volts on its output when the voltages are 18vdc between Batts 1 and 3 as well as 14vdc for Batts 2 and 4.

                        We know that if we place different loads on the TS, this will affect the “Charge Process” of Batts 2 and 4 and the use of capacity from 1 and 3 or vise versa. The algorithm in U1 is such that it can compensate by utilizing any of the 3 SwitchGroup sub routines. (Illustrated below is just one of the scenarios).

                        Let’s understand that if Batts 1 and 3 fall below 18vdc collectively, our reading of pin 1 of U1 will yield a value of something less than 127. This value will be stored into the BattLVLSense variable and the code algorithm determines that SwitchGroup2: is needed. SwitchGroup2: favors the pulsing of Q2 which places Batts 2 and 4 in series for a 800ms “Pulse” consecutive for 10 times. The algorithm jumps out of this subroutine and takes another reading at the U1 pins 1 and 18. This is a “Health” check of Batts 1 and 3 as well as 2 and 4.

                        This scenario is repeated as long as U1 has power, but U1 also has the intelligence to understand other levels and adjust (by selecting the right SwitchGroup) to maintain all for Batts to the desired levels.

                        Another part of the U1 algorithm is to determine if all of the Batts are healthy enough to place a load on them. Pin 9 output signal is turned high (5V) wich can drive a N FET that in turn can drive a relay coil to connect a load. This happens when the Variable “TotalCompare” has a value greater than 255 (Batt 1 and 3 = 19V or, 137 as U1 sees them) plus (Batts 2 and 4 = 15V or, 137 as U1 sees them). 137 + 137 = 274 so the algorithm turns pin 9 on U1 high and also through SwitchGroup3: will oscillate Q1 and Q2 to maintain the proper Batt levels.

                        Caveats:
                        Different load types (i.e. Inductive, Reactive, Resistive) will cause batteries to charge or discharge at different rates. The algorithm assumes the battery levels to be as mentioned above acceptable to maintain the batteries capacity. Adjustments can be made by changing the parameters both in the “pulse” duration within the SwitchGroups as well as the measurement level (in this case 127 for the desired level) for the batteries.



                        Bit's

                        Comment


                        • Originally posted by John_K View Post
                          But why? Doesn't it switch banks every second? Or to be more precise Bank A for 800mS, rest for 200mS, Bank B for 800mS, rest for 200mS - rinse and repeat?

                          When the switch rests for 200mS, Q1 & Q2 (NPN) are "open" and Q9 & Q10 (PNP) are "closed". Therefore both banks positives are connected, but because Q1 & Q2 are both open, nothing happens as there is no "closed" loop anywhere.

                          It's only during one of the 800mS periods that one of the loops is closed, allowing one bank to be at 24V and the other at 12V. Then they swap banks. (The "duality of closed paths and open paths...")

                          Have I got this right or do I need another coffee?

                          John K.
                          John K., sorry to use your post ...

                          @Bits:

                          I'm just really surprised that it works, although, we know that not everything "works" the way "they" say it does.

                          A PNP normally wants to have some current out of the base when it is turned on. You have it connected to nothing (when the opto is off), and are saying the switch is closed, but that gate is just floating in outer space (sort of). No current can leave the PNPs base, but you say it is "closed" or "on" when no signal is applied. I guess you know what your doing, as it seems to be working for you, but maybe it is just letting a tiny, tiny bit of current through when it is supposedly "closed", allowing the potential to exist, without current.

                          I agree that it will be off, when the opto signal is present, as it is at the same level as the emitter. It is a good learning thing for me, so I guess I'll just have to hook something up like that and do some tests on what comes out of that puppy when the base is just floating, it is probably turning on and off really fast or something, which is way cool, but based on the floating signal, it should not be driving it hard for a "clean" switch. Interesting.

                          Thank you for the school lesson, I'll have to study up on that.

                          Leroy
                          Last edited by ldissing; 01-13-2010, 10:38 PM.

                          Comment


                          • Originally posted by John_Bedini View Post
                            Just though I would let you all know, Scalar wave tuner is off the scale in the geo-magnetic area +100, we must be in for some huge earth movement. Last time I have see this was the Sylmar earthquake. Tuner pointing towards the south of Idaho, I'm 90 miles from Canada. Again Excellent work Bit's, we need to talk about some work we need done here.
                            JB
                            Earthquake, 7R in caribbean

                            Earthquake in haiti - Vox
                            Atoms move for free. It's all about resonance and phase. Make the circuit open and build a generator.

                            Comment


                            • Originally posted by Bit's-n-Bytes View Post
                              @John K, might as well have some reading material with that coffee.

                              Description of the code functionality;

                              Variables are set up to receive values from various pin readings through the READADC command. These Variables are;

                              BattLVLSense - Holds the value of the voltage from Batts 1 and 3.
                              ChargeSense - Holds the value of the voltage from Batts 2 and 4.
                              TotalCompare- Holds the value of Batts 1 and 3 + Batts 2 and 4.

                              Once all Batts are connected, power is applied (12V from Batt1) to R1-R18 voltage divider which supplies power to Z1. Z1 is a 5.1V zener diode that maintains the voltage to operate the PICAXE-18X chip. Cap C1 filters any noise.

                              (3) SwitchGroups (subroutines) are setup to do the “pulsing” of Q1 and / or Q2.

                              The process starts by the PICAXE-18X(U1) reading and storing information presented to pins 0, 1 2 from the Test Points that senses the voltage at the points shown on the schematic and presents it to U1 as a voltage range from 0 to 5vdc. The U1 in turn, converts this to a value from 0 to 255. The test points, through the voltage divider resistors, are selected to output 2.5 volts on its output when the voltages are 18vdc between Batts 1 and 3 as well as 14vdc for Batts 2 and 4.

                              We know that if we place different loads on the TS, this will affect the “Charge Process” of Batts 2 and 4 and the use of capacity from 1 and 3 or vise versa. The algorithm in U1 is such that it can compensate by utilizing any of the 3 SwitchGroup sub routines. (Illustrated below is just one of the scenarios).

                              Let’s understand that if Batts 1 and 3 fall below 18vdc collectively, our reading of pin 1 of U1 will yield a value of something less than 127. This value will be stored into the BattLVLSense variable and the code algorithm determines that SwitchGroup2: is needed. SwitchGroup2: favors the pulsing of Q2 which places Batts 2 and 4 in series for a 800ms “Pulse” consecutive for 10 times. The algorithm jumps out of this subroutine and takes another reading at the U1 pins 1 and 18. This is a “Health” check of Batts 1 and 3 as well as 2 and 4.

                              This scenario is repeated as long as U1 has power, but U1 also has the intelligence to understand other levels and adjust (by selecting the right SwitchGroup) to maintain all for Batts to the desired levels.

                              Another part of the U1 algorithm is to determine if all of the Batts are healthy enough to place a load on them. Pin 9 output signal is turned high (5V) wich can drive a N FET that in turn can drive a relay coil to connect a load. This happens when the Variable “TotalCompare” has a value greater than 255 (Batt 1 and 3 = 19V or, 137 as U1 sees them) plus (Batts 2 and 4 = 15V or, 137 as U1 sees them). 137 + 137 = 274 so the algorithm turns pin 9 on U1 high and also through SwitchGroup3: will oscillate Q1 and Q2 to maintain the proper Batt levels.

                              Caveats:
                              Different load types (i.e. Inductive, Reactive, Resistive) will cause batteries to charge or discharge at different rates. The algorithm assumes the battery levels to be as mentioned above acceptable to maintain the batteries capacity. Adjustments can be made by changing the parameters both in the “pulse” duration within the SwitchGroups as well as the measurement level (in this case 127 for the desired level) for the batteries.



                              Bit's
                              Bit's,

                              Thanks heaps for that, now it makes sense. I can read vBasic and some SQL, so your code is a piece of pie.

                              So, the way you have it, it only switches banks when SwitchGroup3 is called. Ingeniuos my friend!

                              I take back all those bad comments about digital switching!

                              John K.
                              http://teslagenx.com

                              Comment


                              • Originally posted by ldissing View Post
                                I'm just really surprised that it works, although, we know that not everything "works" the way "they" say it does.

                                A PNP normally wants to have some current out of the base when it is turned on. You have it connected to nothing (when the opto is off), and are saying the switch is closed, but that gate is just floating in outer space (sort of). No current can leave the PNPs base, but you say it is "closed" or "on" when no signal is applied. I guess you know what your doing, as it seems to be working for you, but maybe it is just letting a tiny, tiny bit of current through when it is supposedly "closed", allowing the potential to exist, without current.
                                @Leroy: I am just as surprised as you are that this comes even close to working.

                                Comment

                                Working...
                                X