Page 1 of 1

Using 83 Plus as a switch (Need a diagram!!!)

Posted: Sat 01 Oct, 2005 9:39 pm
by nepmarauder
Hello,

As I have mentioned before, I take a robotics course at Pinckney High School. We are the national champions in Robotics/Automation!

Anyway, for my groups next robotic workcell, we want to use an 83 Plus as an electrical switch. It is a pretty simple idea.

First, you would buy a 2.5mm to 3.5mm adapter for the link port. Then, you would take some crappy headphones, snip off some of the wire along with the port connector. Plu that into the adapter. Then run the to wires to a relay coil (contacts 2 and 7). Then, on the relay switch (contacts 1 and 3), run the common and the input to the robot controller. This way When you turn on the link port, it would power the coil creating a magnetic field, pull the switch closed, and activate one of the controllers inputs.

However, I need to know some more info about the link port. First, I need a a cross-section or drawn diagram of the switches (I think there are two) inside the link port. Also, I need to know the voltage and amperage of the link port when it is activated/sending data.

Thanks

Posted: Sun 02 Oct, 2005 12:27 am
by nepmarauder
I tested the voltage by plugging a link cord into the link port of my 89 Titanium (I was going to use an 83 Plus, but my sister left it at school...), checking continuity between the seperate sections of the plug. When I found the circuit, I checked voltage. It displayed 3.28 V. So, now I know the voltage output.

But there is one problem. I constantly outputs that amount of volts.
My idea to use it as a switch would only work if I could shut that output off. So, I need to get some code (for an 83 Plus) to turn on and off the link port output (if that type of code exists???). If its out there, then I could write an assembly program that would turn the link port output on and off with a button, such as ENTER.

If you come across anything, let me know.

Posted: Sun 02 Oct, 2005 2:47 am
by DigiTan
The TI link uses a negative TTL in its signaling, so this 3.28 Volts is an idle state rather than 0V. The best place to start is Joe Clussman's All about the 86 linkport--and don't let the name fool you, the general ideas apply to all calc models.

Changing the link state with ASM is a very short process sending the right value to the linkport. Linking works in BASIC too, but not on the on/off basis we could all use.

Also if you're driving a relay, you should be sure to place a diode backward across the relay leads so the calc won't get damaged. Because the voltage on a coil is always L*(di/dt), any rapid current change can cause a reverse voltage spike that'll fry an unsuspecting calc faster than a mayfly in a microwave.

Posted: Sun 02 Oct, 2005 3:11 am
by Andy_J
I thought the link specs called for +/-5V?

Posted: Sun 02 Oct, 2005 9:32 pm
by DigiTan
That's correct. Something's real fishy here if it's only reading 3V.

Posted: Mon 03 Oct, 2005 12:54 am
by nepmarauder
Hmmmm.

There is a possibility that I checked for voltage the wrong way.
I walk you through what I did.
First, I pulled out a multimeter, plugged a calc-to-calc link cord into the link port of my 89 Titanium, and checked for continuity on the end of the cord (the end not plugged into a calc).
I found two connections, between the tip and the ground, and the ring and the ground (obvious :) ). Then I checked voltage for both of the connections. Both read 3.27 to 3.28 V.
I was suprised too.

Also, I have another question. I went to RadioShack and bought a reed relay and some diodes (don't worry, I checked all of the electrical ratings, they will work). The only question is where in the circuit would I put the diodes.
I guessing one on the red and one on the white wire, between the link port and the relay...

Posted: Mon 03 Oct, 2005 1:16 am
by Andy_J
I'd but a diode on the ground as well, just to be safe.

Posted: Mon 03 Oct, 2005 1:55 pm
by Timendus
It should theoretically read 5v, but that depends on your batteries. This package has a simple Ti-83 program to easily control the link port. It will not work on a Ti-83+, but you can easily edit it and recompile for 83+ with a little knowledge from the tiwiki. As for a scematic:

Code: Select all

The TI bus is a two-wire serial interface consisting of a 'red' line and a 'white' line. Both lines are bi-directionnal therefore outputs must be of an open-drain or an open-collector type. Each line is connected to the supply voltage via a pull-up resistor. A line is then logic high when none of the connected devices drives the line, and logic low if one or more is drives the line low.

							Vdd
							---
							 |
							 < 10 Kohms
							 >
							 |
							 V Diode
							 |
						    out--O---------- input
							 |
							 < 470 ohms
							 >
							 |
					  NPN  \__/\/\____ output
							 /  33 Kohms
							 |
						  __|___
							 Gnd
From the collected ti-protocol documentation by Romain Lievin

Posted: Mon 03 Oct, 2005 11:49 pm
by nepmarauder
I was thinking about the diode thing again.
There should be a diode on the ground. The only reason I posted that was because I only had two diodes, but to put one on the ground as well, I would need another.

But, I tested the circuit again. There is the same voltage between red/black and white/black. Since I am only using the link port for voltage and not data transmission, I don't even need one of the wires.

Also, thanks for the the documentation link!

Posted: Thu 06 Oct, 2005 3:35 pm
by nepmarauder
Well, I talked to my Robotics teacher about my idea. He had only one suggestion. Instead of a relay, use an LED and a triac switch. This would prevent any dangerous current from coming back to the calc. This paired with the diodes will assure that this project will be safe.

Also, I made a program to test my idea two nights ago. And it worked great.
If you are not pressing ENTER, the voltage is set to 28 mV (pretty much 0V). But, when you press ENTER, the voltage is set to 3.4 V (pretty much 5V, there is enough voltage to power the LED).
Now the calculator has become a normally open switch. But, what if you want a normally closed. Just switch around the programming operations so that when you are not pressing ENTER the voltage is 3.4 V, and when you are pressing ENTER the voltage is set to 28 mV.

So, in other words, I made a 1 input by 1 output PLC... sweet!

Added 5 minutes later:
But, now that I think about it, I could make it 2 inputs by 2 outputs. Use the white and black as one output circuit and use the red and black as another. Since you can control the voltage on both the tip and the ring this is possible. Well, I got some more work to do...

I think too much... :)

Posted: Thu 06 Oct, 2005 5:23 pm
by Timendus
Having two outputs is basically the idea of having three wires... Otherwise it'd be pretty darn difficult to send data over without a proper crystal, wouldn't it? ;)

Posted: Fri 07 Oct, 2005 12:02 am
by nepmarauder
OK. Now that I can have two outputs, I have finalized my idea.

Here is how it will work. First, the program will prompt for you to enter a 5-digit operator code. Once, you have successfully entered the correct code, it will turn on the white/black output, which will trigger input 1 on the robot controller. Then the screen will prompt for you to complete the authorization be pressing ENTER.

This will be great. Thanks. And I'll keep you updated.

Posted: Fri 07 Oct, 2005 3:54 pm
by DigiTan
Well, I sould a like little much to me. After all, anyone could subvert the authorization by tying the output to the supply voltage: using a gum wrapper or some other object.

Posted: Sun 16 Oct, 2005 12:36 am
by kv83
This is not programming help related. Therfor moved to General TI.