Asked — Edited
Resolved Resolved by Rich!

Tip102 Switch Trouble, Electronic Question

We've discussed the very handy TIP102 electronic switch circuit that is controlled by a digital port on EZB hare many times. I have built a few and am currently useing them in my B9 Robot.

I'm having odd issues with one of them. It's the one that turns the power on and off to my main high power Seiko servo that moves my B9's 5 pound or more bubble up and down.

Here's how I have it set up: I have the homemade switch connected to one of EZB's digital ports and set to turn on in EZB's INT Script. It then supplies 12vdc power to the servo "AFTER" the INT Script sends the first servo postion and Serov Speed. If I dont turn on the power after I send the first command the servo will jump (it's documented at the Servo's web site to do it this way also). I have the switch stay in the "On" postion till the robot is powered off.

Here's the problem: After sending commands over a period of time the switch will turn it's self off. The Digital Control I have installid in ARC will appear to be in the active postion but the actual switch is off. I assume something is happening to the switch to cause it to open the circuit and stop the electrical connection. I've noticed it has happened at no certian events and seems ramdon. The only thing that seems constant is that I notice the servo is not working after several servo postion commands are sent somewhat quickly, one after the other and from different scripts.

I did notice one other thing; Once in a while I'll see the servo Power Switch's Digital Control in ARC will be in the "Off" postion for no reasioin and this also shuts down the servo. I dont know if the two are related. I still have to search through all my servo Movment scripts to see if I have a command to turn it off but I dont think I do.

Any thoughts on what may be happening? Any input as always is welcomed! ;)


Upgrade to ARC Pro

Stay at the forefront of robot programming innovation with ARC Pro, ensuring your robot is always equipped with the latest advancements.


Maybe you need some diodes directing traffic letting it go in only ONE direction. I have seen the ezb stay on long after I disconnected it from the power. It would get voltage from another place and leak through the port connectors. Make sure all grounds are solid.

Also, your regulators may be heating up to the point they break down. I used to know all of that stuff, but hey, I am retired and my brain retired with me.

my 2 cents


Possibly what you need Dave is what is called a Latching relay. You can get them from EU on ebay for $15 including shipping.
Link to latching relay

User-inserted image tired

United Kingdom

It's an odd one, I'll give you that. I've been pondering over it since last night.

One thing I could suggest is to include an LED in the circuit as a visual indicator of if it's on or off. You should be able to do this simply by putting the LED across Signal and Ground on the port to indicate the signal being high and the switch energizing. You could add another between Signal and Vcc (via a regulator on Vcc if using the V4) which would indicate the signal being low.

Do you have a schematic for the circuits? Or are they pretty much the standards TIP switch circuit?

Another thing I can think of is, if ARC reports the digital is "on" but the circuit isn't then possibly the transistor is failing or worst case, one of the other components.

It may also be some type of brownout issue, if the voltage drops under load or anything like that. If that's the case a capacitor to provide a small reservoir to avoid the voltage/current drops.


@mel, good suggestion on useing Diodes. I had thought about trying them and now after your suggestion I think I'll give it a try. I do have a diode installed in the curcuit but it's the one curcuit designed to go between the legs of the transistor. Adding a couple in circuit and to either side of the switch my keep any power from back surging into the transistor and knocking the gate open. Maybe even a pull-up resistor in the proper spot may halp (if I understand them correctly).

@Robot-Doc, a latching relay also just may do the trick. I like the idea of keeping the power curcuit and signal circuit separate. Also if I remember how a latching circuit works it requires no power to keep it either open or closed so the relay coil wont stay energized (I think, I may be wrong and I need to relearn that one).

@Rich, Your like our Spock around here. :D Your always thinking, trying to solve problems and rarely wrong. In this case I do hope your wrong. I really dont want to think something in this servo is going bad. I have put it through a lot of torture as I've learned how to build this bubble lifting structure. I guess it could be a weak transistor or diode. I've burnt out this transistor before doing stupid things. When I replaced this TIP102 that I burnt up I replaced it with a much more rebust TIP122 so it should be almost iron clad. I can post a picture of the circuit but it the typical one we had discussed months ago and the same one you show in your tutorial.

I haven't had a lot of time since I posted last to play but I did look through my scripts last night after a 13 hr work day (I know... boohoo ;) ). I found an old script in the Speech Recognition conrtol that had a command in it that truned off the port to this power switch's digital port. That may explain why this digital port control would turn off in ARC sometimes. I removed that old script and that probem seemd to stop. As a matter of fact I let the robot run for a few hours with the Personality Generator running a lot of different bubble lifter related scripts and had no issues at all. The TIP switch never once opened nore did the digital port control turn off. So, maybe it's fixed. I'll have to let him run and play around to make sure. I'll report back later in the week to hopefully close this thread. :) If not I have a lot of good ideas to try. Thanks as always! cool

United Kingdom

Well the digital control in ARC will never change it's own status, only a script will. Hopefully you have found the culprit in the voice recognition script and solved it but it may be an idea to check through scripts for Set() commands.

I wouldn't have thought it is a bad component since the circuit still works. By bad component I meant something in the TIP circuit not something in the servo. So it's really limited to the resistor, transistor or diode, nothing that would cost the earth to replace.

Keep an eye on it, if it still does it after checking for any more Set() commands we can look a bit closer at the circuit. If you want I'm more than happy to search through the project for you and check for any Set() commands (I have a quick method but it involves messing around with the project file in something other than ARC and therefore could create problems for other people so am reluctant to share the method).


Thanks so much @Rich for the offer to look over my scripts. This means a lot to me. However I think this issue is resolved. Sense I took out that stray digital port command and let it sleep over night I've had no more problems. Not really sure what the exact problem was but it seems like all's well now.

Good thing too. At this point most of my scripts are primitive and still need development. I would have been embarrassed to show them. Heck, most of them are still stand alone and not even in the Script Manager yet. I'm useing multiple scripts for different movements of the same motor. I'll enentually have one movement script for each motor and just send variables for speeds and positions for most movement (hopefully).

Thanks again to all that helped!

United Kingdom

Dave, a lot of my scripts are primitive too, in fact Melvin's project is in great need of rewriting since I've learned a lot since I first started it.

Glad it seems like it's solved now though. If it does happen again the offer is always there to check over the project for rogue Set() commands.


I'd like to know how you do that. I understand this may be just enough information for some people to cause real problems with their ARC if they try it. Is there any way you would be willing to show me though knowing I may be going where angels fear to tread? If it's too time consuming and complacated then dont worry. Your time is more valuable then this.

United Kingdom

What's your email Dave? I'll send you some quick instructions.


Cool. dschulpius at wi dot rr dot Com

Thanks for sharing your super powers. :)

United Kingdom

With great power comes great responsibility :)

Just emailed you :)