For Sale
Newzed
Posts: 2,503
Stamp Tester - tests outputs and inputs, finds opens and shorts.
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Sid Weaver
USB-powered Stamp Board
http://hometown.aol.com/newzed/index.html
·
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Sid Weaver
USB-powered Stamp Board
http://hometown.aol.com/newzed/index.html
·
Comments
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Jon Williams
Applications Engineer, Parallax
Dallas Office
Sid
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Jon Williams
Applications Engineer, Parallax
Dallas Office
Post Edited (Jon Williams) : 8/15/2004 3:50:33 PM GMT
Sid
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Sid Weaver
USB-powered Stamp Board
http://hometown.aol.com/newzed/index.html
Post Edited (Newzed) : 8/15/2004 4:08:13 PM GMT
Sid, did you tell me that you were going to make this test 16 pins at once, in a soon to be released version? I also wonder if you have a connection to ground, in addition to the connections to the 8 pins. It would be possible to make it work just between the 8 pins, but that would be a different thing.
I really like the approach Jon took in PIN_TEST, using a #SELECT $STAMP statement to select the timing constant appropriate for each Stamp. Jon, is it true that the tech support staff at Parallax use a similar setup for testing questionable stamps there at the factory?
The test Sid posted is a little more thorough, I think, in that it tests the possibility that a pin might be open to the high side or to the low side (aka "burn out"), so that it was not capable of driving the pin in one direction or the other. The test is for the capability of the pin to be an input, to drive the pin high, and to drive the pin low, and not to be short circuited to a neighboring pin.
-- Tracy
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Tracy Allen
www.emesystems.com
I have a long jumper coming out of the center of the board that goes to Vss.· I thought about making a tester that would plug into the AppMod connector but decided to stay with the 8-pin.
Tracy, did you get my e-mail about the tester.
Sid
One other thing I didn't take into account was the directives regarding timing constants, but each of my 4 BOE boards has only ever had a stock BS2 on it.· I suppose if I was going to manufacture one for other use, I would add that capability to the code.
So, to clarify Tracy, is Sid's board more thorough than your tester as well?·
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Chris Savage
Knight Designs
324 West Main Street
P.O. Box 97
Montour Falls, NY 14865
(607) 535-6777
Business Page:·· http://www.knightdesigns.com
Personal Page:··· http://www.lightlink.com/dream/chris
·
No, the hardware is the same. It is simply a resistor and a capacitor in parallel from each pin to common. I use 0.01uf film capacitors in parallel with 100k resistors, while Jon's uses 0.1uf capacitors in parallel with 10k resistors. I think Sid used 0.01/100k too. Same deal.
The place where my code differs is in the number of tests it performs on each pin.
My code is as follows for each pin (snippet):
' all pins are HIGH to start
LOW ix ' ix is the number of the pin to be tested
HIGH ix
RCTIME ix,1,wx ' wx=~650 means HIGH okay, input okay
HIGH ix
LOW ix
RCTIME ix,1,wy ' wx=1 means LOW okay
DEBUG "p",DEC ix,TAB,DEC wx ,REP 32\4,TAB,wy, REP 32\4, CR
HIGH ix ' <--- this leaves the pin high.
while Jon's Pin_Test.BS2 is centered on this snippet for each pin:
' all pins are inputs to start
HIGH TestPin ' charge RC circuit
PAUSE 2
RCTIME TestPin, 1, testVal ' measure the RC value
testVal = testVal */ Adjust ' adjust for module
' each pin is left as an input
My reasoning for the extra code I stuck in there is as follows. The most probable errors are:
-- pin cannot function as an input (bad solder joint, bond wire fried, circuit trace fried)
-- pin cannot drive high (source driver is fried)
-- pin cannot drive low (sink driver is fried)
-- pin is short circuited to a neighbor.
-- pin is shorted to Vdd or Vss (protection diode welded, circuit defect)
Jon's program starts with all pins as inputs, and after each RCTIME command, the tested pin is left as an input. My program forces all pins except the one tested to be outputs.
-- Take the situation where pin p2 is short circuited to pin p3, by say a solder bridge on the circuit board. When p2 is driven HIGH, that charges the capacitors on both p2 and p3. Subsequently in execution of RCTIME, the capacitance is 2*C in parallel with resistance R/2, so the time constant is the same as it would be on a good pin. The test does not detect the short circuit. On the other hand, if the pins not being tested are asserted as outputs, the time reading will be seriously off if there is an interpin short circuit.
-- Suppose the source driver for the pin is okay, but the sink driver is burnt out. The first RCtime test would not detect that, because it only demands that the pin drive HIGH. The second RCTIME is supposed to address that. The HIGH LOW sequence before the RCTIME would charge the capacitor and immediately discharge it, so the value returned should be 1. But if the sink driver is fried open, the RCTIME command would return a much larger value.
-- The LOW HIGH sequence before the first RCTIME command serves a similar purpose, to be sure the pin can assert HIGH, that it is not high due to some slow leakage process.
I have a socket for testing my OWL2pe boards, and it has 0.01/100k RC circuits on mainio 0-15 and also auxio 0 to 3. The other pins on auxio have dedicated functions (rtc, memory, adc, power) that are tested in a different manner. On a newly constructed circuit board, burnt source or sink drivers are highly unlikely, but mostly I am looking for shorts between pins and for cold solder joints where the signal does not reach the edge of the board at all. On a board that has been deployed in the field, despite all the i/o protection, ESD or inductive kickback or excess current might cause one of the other problems in the SX chip itself. Latent cold solder joint might act up too after field deployment and extreme temperature cycling or mechanical fatigue cycles.
-- Tracy
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Tracy Allen
www.emesystems.com
Sid
·· Thanks for the detailed description...Actually, even as an engineer myself I took some things for granted in the test circuit I built.· Your code would most certainly make it more effective.· Is your code available?· I would like to run it on my board and compare results.
·· To tell you the truth I mainly cater to hobbyists now, and each project we build new now is posted on our website step by step, with all code and schematics available (When they're done).· But I only built the test Module because of the discussion on the Yahoo Group.· I never really thought I'd have any use for it because I don't generally have those issues.· I guess the one thing I have done on countless occasions that justified building the test Module is not clear the code from a BS2 in between projects.· A definite no-no when you're constantly developing new interfaces.· So in that aspect it makes sense to have it.· I do have one extra BOE Rev A that I use as a test platform.
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Chris Savage
Knight Designs
324 West Main Street
P.O. Box 97
Montour Falls, NY 14865
(607) 535-6777
Business Page:·· http://www.knightdesigns.com
Personal Page:··· http://www.lightlink.com/dream/chris
·
The program is pretty simple. If I were making it for general use I would want to include the #SELECT header and adjustment for different Stamps that Jon Williams had in the program he posted a couple of messages back, Pin_Test.BS2
That also adds some nice diagnostic messages.
I use the BS2pe 99.9% of the time, so that is what I need to test.
' {$STAMP BS2PE}
' {$PBASIC 2.5}
' testpins.bpe
' http://www.emesystems.com
' tests BASIC Stamp 2pe pins for functionality
' of input and output high and low
' and detects shorted pins
' RC circuit on each pin, 0.01uf & 100kohm
' parallel to Vss
' readings should be pin#, value =~650, value =1 (BS2pe)
wx VAR Word
wy VAR Word
ix VAR Nib
DIRS=$ffff
OUTS=$ffff ' all high outputs
Allpins:
DEBUG CLS
MAINIO
DO
FOR ix=0 TO 15 ' test MAINIO pins
LOW ix ' low and immediately high
HIGH ix ' to be sure the pin can really source current
RCTIME ix,1,wx ' wx=~650 means HIGH okay, input okay
HIGH ix ' high and immediately low
LOW ix ' to be sure the pin can really sink current
RCTIME ix,1,wy ' wx=1 means LOW okay
HIGH ix
DEBUG "p",DEC ix,TAB,DEC wx ,REP 32\4,TAB,wy, REP 32\4, CR
NEXT
DEBUG HOME
LOOP
We (Sid and I) have been thinking about an alternative arrangement, wherein the RC circuit would connect from one pin to the next in a round robin arrangement, instead of to Vss. This is shown in the diagram (If it manages to appear...
In that the core of the routine could be, I think,
OUTS = $0000
HIGH ix
RCTIME ix,1,wx ' wx=~325 C discharging.
OUTS = $ffff
LOW ix
RCTIME ix,0,wy ' wy=~325 C charging.
That would test the capacity of each pin to be an input, an output low, an output high, and also it should catch shorted pins. Downside? Not sure. Upside, there is an attractive symmetry to it and no need for a Vss connection. I think Sid was going to build one up using one of his existing circuits and try it out. There is a little more interaction between pins, but that should not be too hard to sort out if there is a problem pin.
-- Tracy
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Tracy Allen
www.emesystems.com
DO
·· FOR ix=0 to 7
· ·· OUTL = $00
· ·· HIGH ix
· ·· RCTIME ix,1,wx·· ' test RC falling
· ·· OUTL = $FF
· ·· LOW ix
· ·· RCTIME ix,0,wy·· ' test RC rising
· ·· DEBUG DEC2 ix,TAB,DEC4 wx,TAB,DEC4 wy,CR
···· PAUSE 1000············ 'added pause
·· NEXT
·· DEBUG HOME
LOOP
I used a BS2P24.· All the "RC falling" numbers were as expected ~1600.
All the "RC rising" numbers were 0000 - was this what you expected?
Sid
·· Thanks for posting your code...I think it's great to get such a useful piece of code out there that applies to everyone, and that seems to be a collaboration of users from this forum!· Congrats guys!
If you guys decide on a final arrangement for an ultimate test rig, I hope you post your final work on here.· That would be great!· Sid could manufacture a general-use module, and then a lot of people would have access to an inexpensive tester, which would be a great asset to a BS2 bench/box.
I myself will probably re-vamp my breadboard module, since I already have it built for 16 pins.· Speaking of which, your images came out fine, but are you guys working on testing 16 pins?· AUXIO on BS2P40 isn't a real concern to me, but on the other modules the MAINIO pins are important, obviously...Keep up the good work Jon, Tracy & Sid.· Between the 3 of you this should be a nice unit.
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Chris Savage
Knight Designs
324 West Main Street
P.O. Box 97
Montour Falls, NY 14865
(607) 535-6777
Business Page:·· http://www.knightdesigns.com
Personal Page:··· http://www.lightlink.com/dream/chris
·
I took one of my bare Stamp Tester boards and finally found a Dremel tool small enough to cut all the ground lands for the resistors and caps.· I then wired the board in round-robin fashion per Tracy's sketch.
I then loaded and ran the following code:
wx· VAR word
wy· VAR word
x·· VAR byte
y·· VAR byte
lower:·········· 'checks pins 0-7
PAUSE 15000
DEBUG cls
FOR x = 0 TO 7
y = x + 1
IF y = 8 THEN
y = 0
ENDIF
LOW y
LOW x
HIGH x
RCTIME x, 1, wx
HIGH x
LOW x
RCTIME x, 1, wy
DEBUG DEC x, "· ", DEC wx, "· ", DEC wy, cr
PAUSE 1000
IF y = 0 THEN upper
NEXT
upper:················ 'checks pins 8-15
PAUSE 15000
FOR x = 8 TO 15
y = x + 1
IF y = 16 THEN
y = 8
ENDIF
LOW y
LOW x
HIGH x
RCTIME x, 1, wx
HIGH x
LOW x
RCTIME x, 1, wy
DEBUG DEC x, "· ", DEC wx, "· ", DEC wy, cr
PAUSE 1000
IF y = 8 THEN lower
NEXT
I had to introduce another variable, "y", to control the pin that was acting as a ground.· The 15 second pause after "lower" and "upper" gave me ample time to switch the tester from one bank to another.· It also gave me plenty of time to review the readings before the screen cleared.· I ran this on a BS2 and on a BS2P24 and it worked perfectly in both cases.
Tracy, the second program you sent me with the OUTL = $00 and OUTL=$FF will not work on the round-robin, of course.· I'm going to see if I can modify it so that it will, but if you have time could you·modify it for me.· Then I'll have a backup in case I can't handle it.
Sid
wx· VAR word
wy· VAR word
x·· VAR byte
y·· VAR byte
lower:
PAUSE 15000
DEBUG cls
DO
·· FOR x=0 TO 7············ 'checks pins 0-7
···· OUTL = $00
···· y = x + 1
···· IF y = 8 THEN
···· y = 0
···· ENDIF
···· LOW y
···· HIGH x
···· RCTIME x,1,wx·· ' test RC falling
···· OUTL = $FF
···· LOW x
···· RCTIME x,0,wy·· ' test RC rising
···· DEBUG DEC2 x,TAB,DEC4 wx,TAB,DEC4 wy,CR
···· IF y = 0 THEN upper
···· NEXT
LOOP
upper:
PAUSE 15000
FOR x = 8 TO 15··········· 'checks pins 8-15
···· OUTH = $00
···· y = x + 1
···· IF y = 16 THEN
···· y = 8
···· ENDIF
···· LOW y
···· HIGH x
···· RCTIME x,1,wx·· ' test RC falling
···· OUTH = $FF
···· LOW x
···· RCTIME x,0,wy·· ' test RC rising
···· DEBUG DEC2 x,TAB,DEC4 wx,TAB,DEC4 wy,CR
···· IF y = 8 THEN lower
···· NEXT
The high values ranged from 1388 to 1505.· The low values ranged from 397 to 420.· From Tracy's remarks I would have thought they would be about the same.· Beats me
Sid
The tester is made with 1Mohm with 0.001uf 0805 surface mount.
The results I got on different stamps are:
BS2 655,160 (I found that this one had a bad pin!)
BS2sx 1515,455
BS2e 600,175
BS2p 1630,475
BS2pe 640,185
Sid, tthe falling reading is greater than the rising reading, because the Stamp threshold is around 1.4 volts. The voltage has to fall from 5 down to 1.4, but it only has to rise from 0 to 1.4.
' {$STAMP BS2pe}
' {$PBASIC 2.5}
' round-robin.bpe
' with 0.001uf and 1Mohm from pin to pin and around
' owlogic.com/programs/round-robin.bpe
' Tracy Allen
wx VAR Word
wy VAR Word
ix VAR Nib
DEBUG CLS
DO
FOR ix= 0 TO 15 ' test all pins
DIRS=$ffff ' as outputs low
OUTS=$0000
HIGH ix ' except pin #ix is high to charge cap
PAUSE 8
RCTIME ix,1,wx ' voltage falling to threshold
DIRS=$ffff ' now pins outpus
OUTS=$ffff ' high
LOW ix ' except pin #ix is low
PAUSE 8
RCTIME ix,0,wy ' voltage rising to threshold
DEBUG DEC ix,TAB,DEC5 wx,TAB,DEC5 wy,CR
NEXT
PAUSE 300
DEBUG HOME
LOOP
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Tracy Allen
www.emesystems.com
if ix = 8 then
debug "Pausing", cr
pause 15000
endif
This was to give me time to move the tester.
Is there any way to move down one line when you hit Enter instead of two?
Sid
Tracy, I just finished mulling your code over, and along with your original schematic I wondered, why did you go with 1MΩ Resistors and .001μF Capacitors over the 100kΩ Resistors and .01μF Capacitors you originally had in the schematic?
Also, In your round-robin technique, is there a circuit between P0 & P15?· Your·diagram shows a loop, but there's no schematic, and I see nothing in the code to indicate this.
Lastly, did you confirm the bad pin on the BS2?
Sid, you mentioned only one change in Tracy's code...Did you use the same values in your code and components?
The fact that you are testing 8 pins at a time leads me to believe the answer to my above question to Tracy is that there's no connection between the outside pins as there is between the pins that are side-by-side.
Did you include Jon's code for selecting timing constants for different stamps?
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Chris Savage
Knight Designs
324 West Main Street
P.O. Box 97
Montour Falls, NY 14865
(607) 535-6777
Business Page:·· http://www.knightdesigns.com
Personal Page:··· http://www.lightlink.com/dream/chris
·
The ground end of the last RC circuit - P7 or P15 - is tied back to P0.· The only change I made to Tracy's code was to insert the following:
For ix = 0 to 15
if ix = 8 then
debug "Pausing", cr
pause 15000
endif
This was done to give me time to move the tester.
I did not include Jon's Select/Case statement.· Values for different Stamps are included in the Program Notes.· There is a reason I went this way - this tester, along with a lot of ther other stuff I do, is slanted towards the beginning or intermediate Stamper.· I therefore keep the program as simple as possible with an abundance of comments and use labels that are as short as possible without underscores.· While Jon's Select/Case statements are an excellent way to go for the more advanced, I was afraid they just might confuse a beginner.· Perhaps my philosophy is misguided, but that's the way I approach it.
Sid
Conditional Compilation is your friend!
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Jon Williams
Applications Engineer, Parallax
Dallas Office
Thanks
Sid
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Jon Williams
Applications Engineer, Parallax
Dallas Office
I understand what you're doing, and can appreciate that.· It will be a nice thing for people experimenting with the BASIC Stamp to have.· If you finalize code for this application,·you should make it freely available on here, and later when Parallax has their files section, on there as well.· Don't forget to put in creds for Tracy and Jon!
Now I am just waiting to hear from Tracy before I make any changes to mine...I want to have all the facts before I tear this thing down to re-work it.· I forgot if I mentioned, but my module is on a Proto Board AppMod.· I originally mis-worded this to read Breadboard AppMod, and today I found out from my favorite salesman at Parallax, that there is a breadboard AppMod that was also discontinued.
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Chris Savage
Knight Designs
324 West Main Street
P.O. Box 97
Montour Falls, NY 14865
(607) 535-6777
Business Page:·· http://www.knightdesigns.com
Personal Page:··· http://www.lightlink.com/dream/chris
·
It appears a standard tester functions as well as a round robin if you don't connect the ground wire.
Here is my last version of the modified code:
'Conditional Compilation
#SELECT $STAMP
· #CASE BS2, BS2E
··· Adjust····· CON···· $200··················· ' x 2 us per unit
· #CASE BS2SX
··· Adjust····· CON···· $0CC··················· ' x 0.8 us per unit
· #CASE BS2P
··· Adjust····· CON···· $0E6··················· ' x 0.9 us per unit
· #CASE BS2PE
··· Adjust····· CON···· $1E3··················· ' x 1.89 us per unit
#ENDSELECT
'Variables
wx VAR Word
wy VAR Word
ix VAR Nib
'Program
DEBUG CLS
PAUSE 15000
DO
· FOR ix= 0 TO 15
··· IF ix = 8 THEN
··· DEBUG "Pausing", cr
··· PAUSE 15000
··· ENDIF
··· DIRS=$ffff
··· OUTS=$0000
··· HIGH ix
··· PAUSE 8
··· RCTIME ix,1,wx
··· wx = wx */ adjust
··· DIRS=$ffff
··· OUTS=$ffff
··· LOW ix
··· PAUSE 8
··· RCTIME ix,0,wy
··· wy = wy */ adjust
··· DEBUG DEC ix,TAB,DEC5 wx,TAB,DEC5 wy',CR
··· IF wx>1000 and wx<1500 and wy>300 and wy<500 THEN
··· DEBUG "· Pass", cr
··· ELSE
··· DEBUG "· Fail", cr
··· ENDIF
· NEXT
· PAUSE 300
· DEBUG HOME
LOOP
It appears to me that all the issues have been resolved.· All Stamps give approximately the same reading, and the program will execute normally with either a round robin or an ungrounded standard tester.
Tracy and Jon, my thanks to both of you for continuing my education and for contributing so much to my programming ability.
Chris, try the above program with your "standard" tester and see what you get.
I need a cup of coffee - I am emotionally traumatized.
Sid
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Chris Savage
Knight Designs
324 West Main Street
P.O. Box 97
Montour Falls, NY 14865
(607) 535-6777
Business Page:·· http://www.knightdesigns.com
Personal Page:··· http://www.lightlink.com/dream/chris
·
Sid
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Chris Savage
Knight Designs
324 West Main Street
P.O. Box 97
Montour Falls, NY 14865
(607) 535-6777
Business Page:·· http://www.knightdesigns.com
Personal Page:··· http://www.lightlink.com/dream/chris
·
That is interesting that your original tester board with the ground disconnected gives the same result as the round-robin tester. hmmmm. A little circuit analysis should verify why that is so. I had not thought about that before, but yes, it is a a funny circuit. There is one RC from the pin being tested over to the common node, and then 15 RC circuits in parallel from there to the other pins that are either all at Vss for the first test or all at Vdd for the second test. Intuitively it seems like that will come out at pretty near the original RC, as you aptly observed.
Chris, the reason I used 0.001 uf with 1Mohm was simply that I wanted to construct the circuit using surface mount parts on a perf board (the kind with plated through holes). I had some 0805 capacitors, 2% tolerance PPS film type in 0.001 uf, and some 0805 1% resistors in 1Mohm. That physical size fits nicely on a 0.1" grid, as shown in this photo, if it comes out here:
The time constant is the same as 0.01 with 100k, or 0.1 uf with 10k so it should not make any difference in the result. You can see the ascii art in Jon's pin_test program (http://forums.parallax.com/attachment.php?attachmentid=36169), showing 0.1uf with 10kohm. Note that Jon recommended also the 220 ohm pin protection resistors, which is always a good idea. (I didn't do that in my circuit though--putting those Rs and Cs on the perf board is enough of a pain already!) I like to use film capacitors, but the smallest 0.01s come in a 1206 size package, and the smallest 0.1s are in a 1810 (and are more expensive!) The film capacitors are 2% tolerance to to go with the 1% resistors.
There are a lot of error sources in this measurement, including the components in the tester, and variations in the Stamp switching thresholds from pin to pin and from stamp to stamp. Might as well minimize the error due to the tester itself, but no kidding, any old RC circuit should do to hit it in the ball park. No need to get carried away with accuracy here.
Chris, in the round robin tester, yes, the last one in the chain loops around to the first one. So, p15 would loop around _through an RC_ to p0. In Sid's tester as I image it, or the one in the photo above, it is a loop of 8 that you can move around to test whatever group of 8 pins you want. A case in point. If I plug that one of mine into one row of an appmod connector, it tests every other pin, like p0-p2-p4-p6-p8-p10-p12-p14, and then put it in the other row of the appmod connector and it tests p1-p3-p5-p7-p9-p11-p3-p15. That is just how the appmod connector is wired, as I guess you know! I don't see why you need to rewire it?
Sid, I would vote for leaving out the PAUSE 15000. Just let it loop and let the user figure out which pins are returning the meaningful results. I like the 8-at-a-time model, but there is no penalty for taking out and moving the tester while the program is running.
We do have to think about the differences between the testers in what happens when a pin is bad. In the original tester, the result depends only on the pin being tested. In the round robin, the result depends on the pin being tested and on the two neighbors, and if the neighbors are defective in one way or another, that interaction might confuse the readings. In the "groundless" tester, all of the pins have a small effect on every test. With one bad pin, it should be easy to pick out, but with several bad pins it might take a little more logic and understanding of what goes on in RCTIME. That might not be for beginners?! ??
Sid, if you take your common "ground" wire, and attach it to Vdd (+5 volts) instead, then you will get the second set of numbers, from the "voltage rising" side of the test.
-- Tracy
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Tracy Allen
www.emesystems.com
·In the "groundless" tester, all of the pins have a small effect on every test. With one bad pin, it should be easy to pick out, but with several bad pins it might take a little more logic and understanding of what goes on in RCTIME. That might not be for beginners?! ??
I have a BS2 with four bad I/O ports - 4, 6, 7, and 11.· With the groundless tester these four pins showed up as bad, and all adjacent pins showed up as good, so it does not appear that this is an issue.
I'm a bit partial to the 15 second delay.· Without it, the screen fills rapidly and the 8 pins not being tested show up as "Fail".· With the pause, I get a nice clean display showing the true results for all 16 pins.
I have attached the "polished" version of the program, whihc now indicates "Pass" or "Fail" and I added a #Select/#Case routine so the screen tells you what Stamp is being tested.· This was Tracy's suggestion.· My thanks to both Tracy and Jon for their contributions to the program.
Sid