design help

Hello,

the 555 timer (low power versions are now readily available too) is the classic way to do it precisely with few extra components, the uC

+MosFET is another interesting way, especially if you would like extra functionality and already have a uC programming setup.

The direct extension of your initial method is a transistor to buffer the RC timing circuit and let you use a smaller capacitor, however the gradual turn off problem will remain, and the component count is not less than the other two methods. Relatively expensive and large timeout relays also exist with a dial to set the timeout period.

In either case *do not omit* the R/C/D snubber circuit (typically about 100ohms in series with 100nF, plus a 1A diode in parallel or some resistor series combination, as close to the relay coil as is practical) unless you are really certain that they can be omitted in this case.

The snubber circuit will protect both your own circuit, and others. Inductive relay circuits often work on their own without them, however they are now substantial radio frequency generators and can stop other circuits/devices from working when connected or placed in proximity, even a device that is not introduced to the room until years later.

I once made a waterpump circuit switched by a relay with an R/C/D snubber mounted beside the relay coil. This worked well until I introduced an accessory to the same control computer connected by the (supplied) unshielded ribbon cable. It took a while to figure out that the program was crashing because of RF feedback, even with the snubber circuit, to the computer accessory memory via the unshielded cable. Grounded tinfoil on the cable provided a complete temporary fix.

Three bathroom 2kW down-flow heaters have now experienced exactly the same early brownout failure in my house. An examination of the pull cord switch shows that a plastic pin in series with the the pivoting metal plate (showing substantial arcing) gradually melted, shortening each time, until the switch no longer worked. The AC inductive heater coil has no R/C, or R/C/D snubber circuit. I am replacing the pull cord switches with fused wall panel cooker switches (wall panel fuse plates are already present) and will add R/C (available as in single packages for power loads), or maybe even R/C + back-2-back zener diode snubber circuits considering the AC operation in this case.

DH

Reply to
DH1
Loading thread data ...

Hello,

the 555 timer (low power versions are now readily available too) is the classic way to do it precisely with few extra components, the uC

+MosFET is another interesting way, especially if you would like extra functionality and already have a uC programming setup.

The direct extension of your initial method is a transistor to buffer the RC timing circuit current and let you use a smaller capacitor, however the gradual turn off problem will remain, and the component count is not less than the other two methods. Relatively expensive and large timeout relays also exist with a dial to set the timeout period.

In either case *do not omit* the R/C/D snubber circuit (typically about 100ohms in series with 100nF, plus a 1A diode in parallel or some resistor series combination, as close to the relay coil as is practical) unless you are really certain that they can be omitted in this application.

The snubber circuit will protect both your own circuit, and others. Inductive relay circuits often work on their own without them, however they are now substantial radio frequency generators and can stop other circuits/devices from working when connected or placed in proximity, even a device that is not introduced to the room until years later.

I once made a waterpump circuit switched by a relay with an R/C/D snubber mounted very close to the relay coil. This worked well until I introduced an accessory to the same control computer connected by the (supplied) unshielded ribbon cable. It took a while to figure out that the program was crashing because of RF feedback, even with the complete snubber circuit, to the computer accessory memory via the unshielded cable. Grounded tinfoil on the cable provided a complete temporary fix.

Three bathroom 2kW down-flow heaters have now experienced exactly the same early brownout failure in my house. An examination of the pull cord switch shows that a plastic pin in series with the the pivoting metal plate (showing substantial arcing) gradually melted, shortening each time, until the switch no longer worked. The AC inductive heater coil has no R/C (almost certainly a manufacturing error), nor R/C/D snubber circuit. I am replacing the pull cord switches with fused wall panel cooker switches (wall panel fuse plates are already present, & I have added a cable mount 20mm fuse inside) and will add R/C (available in single packages for power loads), or maybe even R/C + back-2-back zener (considering the AC operation) diode snubber circuits.

DH

Reply to
DH1

On Wed, 25 Feb 2009 19:24:46 -0500, "Greg Neill" wrote:

--- Good idea, but I get a little nervous getting too close to thresholds.

Here it is with MOSFETS for the relay driver and, as it turns out, for the power-on reset. Without it, it generates a pulse on power-up, according to LTspice.

.+V>--+---------+-----+------+--------+------+-----+-----------+ . | | | | | | | | . | | | +----+ | | +------+ | . | | |K | | | | | K| | . [10K] [100K][1N4148] [1M]-+--------+-------------+--------+------+------------+----+

And here's the LTspice circuit list:

Version 4 SHEET 1 880 680 WIRE -576 -48 -912 -48 WIRE -304 -48 -576 -48 WIRE -160 -48 -304 -48 WIRE 64 -48 -160 -48 WIRE 128 -48 64 -48 WIRE 256 -48 128 -48 WIRE 672 -48 256 -48 WIRE 752 -48 672 -48 WIRE 256 -32 256 -48 WIRE -576 0 -576 -48 WIRE 752 0 752 -48 WIRE -304 16 -304 -48 WIRE -160 16 -160 -48 WIRE 64 16 64 -48 WIRE 128 16 128 -48 WIRE 368 80 320 80 WIRE 672 80 672 -48 WIRE 672 80 592 80 WIRE -576 144 -576 80 WIRE -448 144 -576 144 WIRE -416 144 -448 144 WIRE -160 144 -160 96 WIRE -160 144 -352 144 WIRE 64 144 64 80 WIRE 64 144 -160 144 WIRE 368 144 64 144 WIRE 752 144 752 80 WIRE 752 144 592 144 WIRE -304 160 -304 96 WIRE -576 192 -576 144 WIRE -624 208 -752 208 WIRE 32 208 -64 208 WIRE 368 208 96 208 WIRE 752 208 752 144 WIRE 752 208 592 208 WIRE -64 240 -64 208 WIRE -64 240 -256 240 WIRE -912 272 -912 -48 WIRE -752 272 -752 208 WIRE 256 272 256 48 WIRE 368 272 256 272 WIRE 752 272 752 208 WIRE 256 304 256 272 WIRE -448 336 -448 144 WIRE -224 336 -448 336 WIRE -64 336 -64 240 WIRE -64 336 -160 336 WIRE 128 384 128 80 WIRE 208 384 128 384 WIRE -64 400 -64 336 WIRE 128 400 128 384 WIRE -912 496 -912 352 WIRE -752 496 -752 352 WIRE -752 496 -912 496 WIRE -624 496 -624 256 WIRE -624 496 -752 496 WIRE -576 496 -576 272 WIRE -576 496 -624 496 WIRE -304 496 -304 256 WIRE -304 496 -576 496 WIRE -64 496 -64 480 WIRE -64 496 -304 496 WIRE 128 496 128 480 WIRE 128 496 -64 496 WIRE 256 496 256 400 WIRE 256 496 128 496 WIRE 320 496 320 80 WIRE 320 496 256 496 WIRE 752 496 752 336 WIRE 752 496 320 496 WIRE -912 576 -912 496 FLAG -912 576 0 SYMBOL Misc\\\\NE555 480 176 R0 SYMATTR InstName U1 SYMBOL voltage -912 256 R0 WINDOW 123 0 0 Left 0 WINDOW 39 0 0 Left 0 WINDOW 3 24 104 Invisible 0 SYMATTR InstName V1 SYMATTR Value PULSE(0 12 .01 1e-6) SYMBOL res 736 -16 R0 SYMATTR InstName R1 SYMATTR Value 1e6 SYMBOL cap 736 272 R0 SYMATTR InstName C1 SYMATTR Value 120e-6 SYMBOL voltage -752 256 R0 WINDOW 0 -53 5 Left 0 WINDOW 3 -242 110 Invisible 0 WINDOW 123 0 0 Left 0 WINDOW 39 0 0 Left 0 SYMATTR InstName V4 SYMATTR Value PULSE(1 0 0 1E-6 1e-6 10 200 2) SYMBOL sw -576 288 M180 WINDOW 0 32 15 Left 0 WINDOW 3 32 44 Left 0 SYMATTR InstName S2 SYMBOL diode 96 192 R90 WINDOW 0 0 32 VBottom 0 WINDOW 3 32 32 VTop 0 SYMATTR InstName D1 SYMATTR Value 1N4148 SYMBOL diode 80 80 R180 WINDOW 0 50 35 Left 0 WINDOW 3 24 0 Left 0 SYMATTR InstName D2 SYMATTR Value 1N4148 SYMBOL res -320 0 R0 WINDOW 0 -39 37 Left 0 WINDOW 3 -44 71 Left 0 SYMATTR InstName R2 SYMATTR Value 100 SYMBOL res -176 0 R0 WINDOW 0 -41 37 Left 0 WINDOW 3 -53 66 Left 0 SYMATTR InstName R4 SYMATTR Value 100k SYMBOL res -592 -16 R0 WINDOW 0 -41 44 Left 0 WINDOW 3 -55 73 Left 0 SYMATTR InstName R5 SYMATTR Value 10k SYMBOL diode -224 352 R270 WINDOW 0 32 32 VTop 0 WINDOW 3 0 32 VBottom 0 SYMATTR InstName D3 SYMBOL cap -352 128 R90 WINDOW 0 0 32 VBottom 0 WINDOW 3 32 32 VTop 0 SYMATTR InstName C2 SYMATTR Value 1e-7 SYMBOL nmos -256 160 M0 SYMATTR InstName M1 SYMATTR Value BSS123 SYMBOL res 240 -48 R0 SYMATTR InstName R3 SYMATTR Value 10K SYMBOL res 112 384 R0 SYMATTR InstName R6 SYMATTR Value 100k SYMBOL cap 112 16 R0 SYMATTR InstName C3 SYMATTR Value 1e-7 SYMBOL nmos 208 304 R0 SYMATTR InstName M2 SYMATTR Value BSS123 SYMBOL res -80 384 R0 SYMATTR InstName R7 SYMATTR Value 100K TEXT -880 544 Left 0 !.model SW SW(Ron=.01 Roff=10Meg Vt=0.5Vh=0) TEXT -880 520 Left 0 !.tran 500 startup uic

--- But... something esle was running around in my head and here it is: a _much, much_ better way to do it, Duh...

+V>-----------+--------+-----+----+--------+ | | | | | [1M] [390] | [10K] [COIL] | | | | | | +----|+\\ | D ____ | | | >--+------G 2N7000 O O---+--------|----|-/ S | | | | | | [68µF] [Z10V] | | | | | | | GND>---+------+--------+-----+-------------+

For the timing we have:

Vcc T = RC ln ----------- = kRC Vcc - Vth

Vcc 12 k = ln ----------- = ln ---- = 1.79 Vcc - Vth 2

So:

T = 1.79 RC

Rearranging and solving for C with T = 120 seconds and R = 1 megohm:

T 120s C = ------- = -------- = 6.7e-5F = 67µF 1.79R 1.79e6

68µF is a common value aluminum electrolytic and should work OK.

JF

Reply to
John Fields

IF A USER

THE OPERATE SIDE.

FIRST FRAME THAT WE

PIPELINE

1 OR 2 SHOTS)

AUTHORIZED ANOTHER

"FRAME GO" TO FIX THIS.

Looks like hell on my Panasonic dot-matrix printer.

John

Reply to
John Larkin

Hello,

the 555 timer (low power versions are now readily available too) is the classic way to do it precisely with few extra components, the uC

+MosFET is another interesting way, especially if you would like extra functionality and already have a uC programming setup.

The direct extension of your initial method is a transistor to buffer the RC timing circuit current and let you use a smaller capacitor, however the gradual turn off problem will remain, and the component count is not less than the other two methods. Relatively expensive and large timeout relays also exist with a dial to set the timeout period (I have used such a relay when charging a large capacitor with a large inrush current: without the relays the switches kept fusing in the closed position & would not turn off: the timeout relay had a current limiting resistor in parallel for charging the capacitors, then after a short charging time delay the open relay closed and short-circuited the charging resistor).

In either case *do not omit* the R/C/D snubber circuit (typically about 100ohms in series with 100nF, plus a 1A diode in parallel or some resistor series combination, as close to the relay coil as is practical) unless you are really certain that they can be omitted in this particular application.

The snubber circuit will protect both your own circuit, and others. Inductive relay circuits sometimes work on their own without them, however they are now substantial radio frequency generators at switch- off (sharp current changes) and can stop other circuits/devices from working when connected or placed in proximity, even a device that is not introduced to the room until years later.

I once made a waterpump circuit switched by a relay with a R/C/D snubber mounted very close to the relay coil. This worked well until I introduced an accessory to the same control computer connected by the (supplied) unshielded ribbon cable. It took a while to figure out that the program was now crashing because of RF feedback, even with the complete snubber circuit, to the computer accessory memory via the unshielded cable. Grounded tinfoil on the cable provided a complete temporary fix.

Three bathroom 2kW down-flow heaters have now experienced exactly the same early brownout failure (a systematic error) in my house. An examination of the internal pull cord switch shows that a plastic pin in series with the the pivoting metal plate (showing substantial arcing) gradually melted, sometimes shortening (the magnitude of the arcing depends upon the phase of the mains current cycle at switch-off time), until the switch no longer worked. The AC inductive heater coil has no R/C (almost certainly a manufacturing error), nor R/C/D snubber circuit. I am replacing the pull cord switches with fused wall panel cooker switches (wall panel fuse plates are already present, & I have added a cable mount 20mm fuse inside) and will add R/C (available in single packages for AC power loads), or maybe even R/C + back-2-back high voltage zener (considering the mains AC operation) diode snubber circuits.

DH

Reply to
DH1

Exactly. I'm an engineer. I only program because I have to, not because I enjoy it. That's why my code is better than what most "programmers" hack; I want to get it done, bug free, as quickly as I can, so I make sure it's right the first time. I hate debugging even more than I hate coding.

I'm currently advertising (Craigslist) for an embedded-systems programmer. The ad asks for "something like a resume" and a code sample. Got lots of florid resumes, but only a few people (out of close to 100) actually submitted code samples, and only one was a decent, readable hunk of code. Pitiful. Would you hire an artist who refuses to show you any of his work?

John

Reply to
John Larkin

Hello,

the 555 timer (low power versions are now readily available too) is the classic way to do it precisely (sharp cut-of due to internal positive feedback) with few extra components, the uC +MosFET is another interesting way, especially if you would like extra functionality and already have a uC programming setup.

The direct extension of your initial method is a transistor to buffer the RC timing circuit current and let you use a smaller capacitor, however the gradual turn off problem will remain, and the component count is not less than the other two methods.

Relatively expensive and large timeout relays also exist with a dial to set the timeout period (I have used such a relay when charging a large capacitor with a large inrush current: without the relays the switches kept fusing in the closed position & would not turn off: the timeout relay had a current limiting resistor in parallel for charging the capacitors, then after a short charging time delay the open relay closed and short-circuited the charging resistor).

In either case *do not omit* the relay coil R/C/D snubber circuit (typically about 100ohms in series with 100nF, plus a 1A diode in parallel or some resistor series combination, as close to the relay coil as is practical) unless you are really certain that they can be omitted in this particular application.

The snubber circuit will protect both your own circuit, and others. Inductive relay circuits sometimes work on their own without them, however they are now substantial radio frequency generators at switch- off (fast current changes over long wires) and can stop other circuits/ devices from working when connected or placed in proximity, even a device that is not introduced to the room until years later.

I once made a water-pump circuit switched by a relay with a R/C/D snubber mounted very close to the relay coil. This worked well for months until I introduced an accessory to the same control computer connected by the (supplied) unshielded ribbon cable. It took a while to figure out that the program was now crashing because of RF feedback, even with the complete snubber circuit, to the computer accessory memory via the unshielded cable. Grounded tinfoil on the cable provided a complete temporary fix.

Three bathroom 2kW down-flow heaters have now experienced exactly the same early brownout failure (a systematic error) in my house. An examination of the internal pull cord switch shows that a plastic pin in series with the the pivoting metal plate (showing substantial arcing) gradually melted, sometimes shortening (the magnitude of the arcing depends upon the phase of the mains current cycle at switch-off time), until the switch no longer worked. The AC inductive heater coil has no R/C (almost certainly a manufacturing error), nor R/C/D snubber circuit. I am replacing the pull cord switches with fused wall panel cooker switches (wall panel fuse plates are already present, & I have added a cable mount 20mm fuse inside) and will add R/C (available in single packages for AC power loads), or maybe even R/C + back-2-back high voltage zener (considering the mains AC operation) diode snubber circuits.

DH

Reply to
DH1

Have you listed the salary as well? Would the decent engineer work for this salary? Would you bother for someone who refuses to show the money or who wants something for nothing?

Vladimir Vassilevsky DSP and Mixed Signal Design Consultant

formatting link

Reply to
Vladimir Vassilevsky

=A0| =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0|

=A0 =A0 =A0 =A0 =A0+-----+

=A0 =A0 =A0 =A0 =A0|K =A0 =A0|

=A0| =A0 =A0 =A0 =A0 =A0| =A0 =A0 |

=A0 =A0 =A0 =A0 +-----+

---+ =A0 =A0 =A0 =A0 =A0 =A0|

=A0|3 =A0 =A0 =A0 =A0 =A0 |

=A0 |

=A0 =A0 =A0 | =A0 =A0|A =A0 =A0 =A0|

1N4148] =A0 |

=A07555| =A0 =A0| =A0 =A0 =A0 |

=A0 =A0| =A0 [1k] =A0 =A0 |

GND =A0| =A0 =A0| =A0 =A0 =A0 C

---+ =A0 =A0+-----B 2N2222

|1 =A0 =A0 =A0 | =A0 =A0 =A0 E

=A0 =A0| =A0 =A0 =A0 =A0| =A0 =A0 =A0 |

=A0 =A0 |

=A0 =A0| =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0|

ad

=A0 =A0| =A0 =A0 | =A0 =A0 =A0 =A0 =A0 |

=A0| =A0 =A0 +------+ =A0 =A0|

=A0| =A0 =A0 | =A0 =A0 K| =A0 =A0|

=A0 =A0| =A0 =A0 | =A0 =A0 =A0| =A0 =A0|

| =A0 =A0 +------+ =A0 =A0|

| =A0 =A0 =A0 =A0 =A0 =A0| =A0 =A0|

=A0 =A0 =A0 =A0 =A0 =A0| =A0 =A0|

=A0 =A0|

=A0 | =A0| =A0 =A0 |A =A0 =A0 | =A0 =A0|

1N4148] =A0| =A0 =A0|

=A0| =A0 =A0 | =A0 =A0 =A0| =A0 =A0|

| =A0 =A0 | =A0 =A0 =A0| =A0 =A0|

=A0 | =A0 =A0 =A0| [0.1=B5F]

D =A0 =A0 | =A0 =A0 =A0| =A0 =A0|

0 G---|------|----+

=A0 =A0 =A0S =A0 =A0 | =A0 =A0 =A0D =A0 =A0|

[100K]

=A0 =A0 =A0| =A0 =A0 2N7000 S =A0 =A0|

=A0| =A0 =A0 =A0 =A0 =A0 =A0| =A0 =A0|

=A0 =A0 =A0| =A0 =A0 =A0 =A0 =A0 =A0| =A0 =A0|

=A0 =A0|

=A0 =A0|

=A0D

=A0 =A0 |

|

=A0 =A0 |

That thing in the middle is an opamp I'm guessing? Don't have any

2n7000's but I'll try radio shack since I don't happen to need anything else at the moment to make it worth a newarks order.
Reply to
jamesgangnc

--
Aaarrghhhh!!!

The switch has one leg connected to ground, is normally closed, and when
it\'s opened the relay is supposed to energize for as long as the switch
is open, then stay on for an additional 2 minutes when the switch is
released.  I think...


Such being the case, this ought to work:

+12>---+------------+------+----+--------+-----+----+-----+
       |            |      |    |        |     |    |     |
       |          [1M]     |  [1000]   [390]   |    |     |
     [10K]          |      E    |        |     |  [10K] [COIL]
       |            | 2N2222 B--+        |     |    |     |
       |     C------+      C    |        +----|+\\   |     D
       +---B 2N2222 |      |    |        |    |  >--+---G 2N7000
       |     E      +------+----|--------|----|-/         S
      |O     |      |           |        |     |          |
      |O     |   [68µF]      [2.7µF]   [Z10V]  |          |
       |     |      |           |        |     |          |
GND>---+-----+------+-----------+--------+-----+----------+

JF
Reply to
John Fields

On a sunny day (Thu, 26 Feb 2009 07:24:53 -0800) it happened John Larkin wrote in :

Yogi says: Anything made with joy is good.

I am glad you compare programming to art. In a way it is, and only limited by imagination.

But art made by somebody who just wants to blurb it on the canvas and get it over with.... I dunno. Mona Lisa is different though, Leonardo did something special there.

Maybe you have a concept about programming, I think everybody has. Sometimes they think *their* way is the only right way. The best managers I know let you be creative in your own way. As long as it works, the projects get completed on time. The shadow side is not far, take the complete idiotic moron who re-wrote adobe reader plug-in for the web browsers. He should be locked up in Guantanamo. I use xpdf in Linux to view a pdf document it is 100x (no kidding) faster. That moron has done more damage with his crap coding to adobe of whoever owns it these days then a cyclone could. I have heard, but that may be rumour, but say I sort of deduced from remarks by users of some video editing software from the same source, that he infected other applications too. So if they fire that guy, and he asks you for a job, do not hire him. Anybody else would be better I guess.

Reply to
Jan Panteltje

No. It would vary a lot, depending on the person. If I hire a talented kid with little experience, and spend a lot of time on speculative training, I'd pay less than for someone that I knew was going to be very productive right away. I know a few people like that, but they're not available for hire right now. Hell, I'd give them a piece of the company.

A good embedded systems programmer would make as much as a good engineer. Both should contribute about equal value. If a programmer working one hour saves me or another design engineer one hour (I wish!) then s/he'd be pretty valuable.

What are you raving about? We have excellent pay and benefits, as the ad notes. Nobody here works for nothing. Most hiring involves evaluation and negotiation on both sides.

And, incidentally, about 100 people did bother. Maybe 4 or 5 are worth interviewing.

John

Reply to
John Larkin

Or just...

John

Reply to
John Larkin

--
It\'s a comparator.  Something like half of an LM393 would be OK as long
as your 12V supply never goes below 11.5V. if it does, then the value of
the 10V Zener reference and the timing R and C need to be changed

>Don\'t have any 2n7000\'s but I\'ll try radio shack since I don\'t happen to need
>anything else at the moment to make it worth a newarks order.
Reply to
John Fields

Engineering is about results, not process. The result should be beautiful and perfectly functional, fast, correct, bug-free. Too many programmers are enamored about the process and resigned to a late, bloated, buggy result. I call such people "ex-employees."

Adobe is, like Microsoft, a huge organization that's out of control, thousands of programmers using the most sophisticated programming methodologies to create slow, buggy crap. Use Foxit Reader to view PDFs, CutePdf to make them. Both are smaller, faster, free, and more reliable than the Adobe jink.

John

Reply to
John Larkin

IF A USER

[...]
[...]

Dot matrix printer? Ahh, that explains your speedy reply...I was astonished to think your stone masons could be done chiseling so quickly.

Grins, James

Reply to
James Arthur

Talking out the other end of the horse, no doubt.

--
http://improve-usenet.org/index.html

Goggle Groups, and Web TV users must request to be white listed, or I
will not see your messages.

If you have broadband, your ISP may have a NNTP news server included in
your account: http://www.usenettools.net/ISP.htm
Reply to
Michael A. Terrell

--- Oops...

Change one of the 2N2222's to a 2N2907 / / /

JF

Reply to
John Fields

THAT, IF A USER

I average a few hundred lines per day of documented and debugged, and bug-free, code. The average embedded project takes a week or two of actual work. Formatting the listing for readability and beauty, and then *printing* it, and then carefully *reading* it before ever running it, is the primary mechanism that makes it mostly run the first time, and also the primary mechanism for eliminating bugs. Testing never finds all the bugs.

Commenting forces me to explain the logic to myself and to others, and reveals bugs and potential improvements. Slow down and go faster.

I run about 80% design/coding/reviewing, 20% testing/debugging. I understand that industry norms are the reverse. It's just like hardware design: check your boards carefully before you send them out to be fabbed.

Axiom: the easier it is to make changes to something, the sloppier the original design will be, and the more iterations it will take to get it to an arguably acceptable level of quality.

John

Reply to
John Larkin

Maybe I misunderstood, but wasn't the goal to engage a relay when a switch opens, then release the relay a minute or two or three after the switch re-closes?

If the delays aren't critical, why not something sloppy, like this:

+12v -+- | .------------+----------+ | | | [R1] | | | |/ | |> / +----------| Q1 [relay] | / | |>. | O O | | | +-----[R2]---+-----. |--' | | | |
Reply to
James Arthur

ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.