”I,‘, 2I§2I2,,2IIQ‘ I'IJI'I'I I532: '12“ 55,1I222'W2Iw: :I,I,:,I2I,I,g, ,2“, .."“II }I ,,Q2III, 2‘12”“ '21. III I} ' 'I'." III" Q " 14:22: 'II:},,1,'I "I":: 4 ,Q 22" 'Q'I '1,‘ "Ifil, I}, I 21222: 22“,}: ,,,, ,,,:2:,:,:: ,1 V2,, 122,22}, . -'::.'I: 1': .I :- ‘:.-I \1.‘I.Q . ' :I'2I'4'222"'Q:" .“’.§- ’ II'Q2,‘ I'IIII2'21 , - 2...“,I2 IIIx2:,:...: . ‘ I.'II ,fiy'fl' ' I-I2I'I 22I'I'I .I‘.I,'I :I III-.Q'III 'I'I'I 11': 2,,,I,I,,I, ',II,I,IIIIIII 21‘2 ‘2: .. ,I,} . W, 2 , I2:,'I,I,‘.' ,I, I,'..2 'I‘ ,2“ ,,2'2II2, II'I'I.! III {22% ”IN": ..... III“ III}: III} ,,I,I I: "I 2,“ 2I" : . "‘2 "'IQ'I' 'I:""':III2:2:,I \.2I'I 'I' 22' ’1,., 22"” ,:,:2:,,,,2,4 ,,IQI,,,,~,,, ,,':,,: ‘I2I2.2\2 }'I:212:, WIN, M R':’.‘.I.2.,2222,I. ' . ' '.I. ' I2III'I I'I,}2" '2'.IIQ :2I3'1I I, ,I I,I2"I 1,1,2“; ,. Id'I2I2I, ,22I22 l 'II2I2I :2I'12 I 2:2, .',.I4, .22 i, 2'5, : 2. I,.2I :,:':I,'I.'2:,:,.I.I.n:1,4'I,, I ,,.,.,II: 2n,3,.:,,,I.Q'Q, I'I 1,12: :5 , ' . :‘.’.I.III.I.‘.:'.‘. I.‘:'.'."‘ I,:,.,',‘, 4,,‘IIII2'2I2.,:.Q'::,1,',,,,,-, 12:2 1,2,}. {,II, 'II,.II. ,,‘2,,I,I, r2!,}'1,:, . ,‘Q2Q'I, Q I.-'.“' '.I. ”1'." I"II|:I 1.va .,,::2QI :QII, . ‘ 1.141,}.9' _ '.I.II.'IIIQ"I'.I4‘ :5:':.I ,1‘.,-,‘: :21‘,:: , :,::::‘ '12:.32 1"” ,I,: :I. 2, . '.. I,‘. .":2:FI'~I' ..g.:':':::2:,:2I'I2 , :2::22:2:; W155 II'I'IQI..',,,, :2}, :21" 2 .22IIII"' I'3II' 'I'II2-I' '2 I.'I22I ‘IIIIIIII I'I'."." - IlI'IIHIIV'III'2'I'I'2'I'I'I'I'I'I2II'I2I'I2I2I'I2I.2'29'2II1IQ'1'1'2'1'LE"I'II'I'I'ItI'II‘I, 222:2I‘ 2.22: 2: :12 ,I,.,.2.,.22 2} ,., ‘. ': 2, :4,. .,,:.,,a,}, 12,, .2IIIIII2 ,, 2., 12,11}, ,,,,},: . I ,,,,},},:,},},},LI ,22142421 ,,I_ ,.. #23'2'29. 'I'I ”2,,¥“I,I.l,}, .2 w” 22.32 :2:‘: 2,5,2'22'2III:"" 'I."""'2‘..'.'.'.II‘I:' I'I':::::.2:2"2',I'II. ""I2'I'IIIIII‘IIIII'I2QIQ'2'2 I226, I II , ',I:‘('2‘2 4,,,,.':2"'42|II|II: 4,, , ,II'I . 'I'I'2uI"II.I|I '22 2 2'2I‘. 222' ‘2'I'I'I2I'I'I'I2I:III I'I2I': “'2' '2232‘2" ‘42:“, " J'I' 'I2I' I'I‘I2",'I222I:I'2' 2222"! ,‘I'2I'I'VL'I I',.IQ: I '1 2 , , “,2“, ,I,I.":, ,,,§.,,,III,II 4,:2,“,I.1:..I,,I2,Q ,I2I2}2I,},},,‘I" .'I::,:E:,'I2.2 , ,, 2:2: , . ,, , :' I2‘ ,} ,III,I,.}} ,,,,:,I2} III'II'IIE 2:2II4}:},},},\2I,.29, ,,II, :21,u,n,,,. VQ‘SVIII'L'I‘I'Q'VL'I .., ,I,.,.. :'.~. ,n,,}.I\,., I::.:,,I:I'I:: I I} ."".':‘ III?!” I: ":III w. m". I: III" "W ., ' 1'. MW. III: 2::222' ,2, 222,2. 222.2 .522}. ',:,:, I1, :I,I':2I‘,,2II!I.I2 ”2),, ,,fl ‘ I},‘II",,I"I' Q,:I,HQ (*2. 1' .' . "II I. :: ":I2I IIQI,I "2 "I” "I: "II'I I,',I,.,: IIIII'I2I I I I':.:,I,I I'I'fl' 2II2I2' I2I2I'2' I-4I,I,II2:2',' 22.2.“: I2I2I2} ,IIII'.'4'2III': '2' 'II2I2I2I ”III I'II'2 " I,'.I'I'N'II2III' 2,223, . :21 222322133," 2"! .,}: ,2, ,:},},,,.,I :,:.},}2 51.22.} .1:,:,:,:.}.-,,,:,},I,,.::2,,, ,I,}, ,,,,,,,I,}, ,2,“ ,,2:,,.,,.,,, ,,, 1, ,,,,,,. 1W,“ 2:22,}, m,,,},,,,,},,,,,.,, ’21,,2,,,,,,},;},1,., «(222,, 2,2,, I, N ,,2. I- 22,2I,:>4I,,:2,,,},I,‘,},,,I2:,I,,,,,,,,.,.‘,},’I,,I,,,I.I2I',,}}24,I,::,,,'I41,,2:,:,,1,152,221.,2”1,,23,':2,II,,;,,‘V ‘1'“ :.:. . .:,:,::,..,, ,1},,,4: m," II,22,I, : I.I..4,QI ,4,}:,i.,:, :,1,:'4, ,2” ‘92,,22‘: ,‘,II,,'I ,M,:,,:2I:: 2:2:,2:,, 2I,:,:,,, I,' -... .,II, I..I..I.,: . ,}.}5,,:, : :I, , ,:I,'“,:,},,,,,,,,,,,,.2,2}2,2},},,,I.,.,I,,,I'},, 2.22,, 2:42: 22:“? ,2,.,II1I I: II},},,, ”$2,”, 2,22,22,32,},2, Q.I.,_,II::,., $2,141,, 1.: :21: 2,5,} 22“}: I,:I‘I :w'm: . -, I‘II 4'4 I, 1.144.: 'Q':,2.:: 4 : I‘ , . 1.‘ 2.:12I2'I' , ,. . , ..,..,vf:,‘.'fi ,},5,~ :1, :2, ,,,:,} ,,,I.:}}.3,1222}25232.2I5.2I;:;22}5:2.E:5=2}2}22.2.2:,:‘I ,,,,,,4,:,.,4,.,,,.I.2 2: ':2:I: .1532”; 222,223,},1,2222%:g'vfl ,,,.:.Q,,;},, $1.22} ”,1,“ . ‘ _ . R ,.,.2 I . r :..‘4 :Q: .'1' I.) 1: ,. ,,. -. ' .. I:I!:'H,,Q:III,(,1I,II,,.,,II,I,I,,2I,I,III’,I,_,,,.},.44I4:::..¢24:I::,14,l:4,Q22:I',I,QII,,2",}II2,2 ,,II,::. “I: 'I'I'I2I' .3, ,1 .. 5 , . : :«.. ,.:::4,:..I,::Q 4...... u u 31,122”. ,1.” ,II II: :,U2}2I,, 2,2,, .,: : . ,I,:2.:.2.2I:'.:,:.I:2.',‘.II2:,'2,,I,:,,,, 2II”2,2,2.r.2.2}2:2;,}2:2}2}.¢.:,,I,:,2:I,,I,}42.,I,I,I,,,,},,.I.,1,,,,,,,,,,,,,,I,I,,},,,,, ,I,, 1422,12},I2}2;,},},},,,,,,,,,,2:. €22,322: ,I,},I, “SIN ,,2421 .. , I" .1 I '- ..,, " I: I: I 6 : I ..,, 24:, ,,,;.,,,, ”"12222I'II'22'I'2II'2II212'I22I222,J2I2I"2I2I'{'I":2'2II‘22II'2'" .,.},,, 2,},2} ”11,,” 2,, 3222, ,:I.,:}, :2,,,,:,I,2,.}.2,}.}:,,,,,I,: 1% £21,}, : 204%.} I 4,“, l .I 1.: :2 II: .1‘.’,I,II':I.I'I'I'III'II'I""'| III.II‘i'- :‘,:,I2II ,I,}IQ ...I' .I.:. WIII'I'f 'IIII'III4I 'I2II ' “"2": ,2I::I$III" W: 22'2"." 'I'I’II} :I‘I'I'II 1.2fII'2I‘2'I. ..1,,.I:,‘:2:,:, , :I I,': 'II2I,III,:,' },52:,:2, . ,IIII: , IIII,},Q I,},I2I2',12,222,, ,I2I, ,,:,}, 2I,‘II2., “,I, ': I:21,:'II,III2I, I,': ,I,:II.:2 2431,11,: l I“. , 11:22:”, «' 22::22 I2::,:2}::,2,:}I.442.,:,:,:,I,, ,.,4,:4I a}, ,4, “125,, ,,2 (,,21, ,I,},,, I,,,I ::,.:,Q, ..},,,,,} '1""2I.' I}, I6. 5; ,,43,‘ I'III' -': 5'.“.‘Q':"I"I:':‘I1~4":I:"#2225}: 'IVI'I‘I2I,},'I2III','I,I.",I,I,II.{I212'II2I2'I1I“212,, .,,,1v'1'2'::2QII,::,1,:,I 1‘:,:2:,I., . II.:I ,II:2‘. 29:: II4I'III'I.II4'II.‘I 25,9,I2,II III I: 'I2II2 22:2121IIII2I ’II'II’IQ I:2:{‘,22III ,}2:II‘,:.'121 13212121, ‘21.! 1". x2121 : Q‘.,:,,::}2:I ,l: ,1 1I'.,2".,I, ., ,I‘,,, ,, :,:,u (,1 '5, , 2, “4, .4: :2, 2 ..},:,:,I ,I,: 1,262,232}. .22“: WI. }222,,,II,,:\II21,I,III ,}:,2, I, 2., 'I'II2I2‘III :‘I'II: "'IIIIg'2 6,1,1, ,I,}. “'2'?" l 3, 22'.,,.,,,I‘21,I,',,I 2,21,:III'III2 }2II IIILIIVII, I2I'I'I'III2gI'I'Il'2'I'I22'"g"III:':%22k¢'1>,2':;¥2‘2§$§2",1:2'Q‘I','2(‘§322I€I'-‘q4,12:2t2$::fl I '- 2,: _' u .) “2,2, ,, 2,2,, ,,,,,III2 2,: I, ,2,'I,';},' },QII,,,},:: 2,,:,,, :L:22,},I 2,2,72,22,22, 2,229,222., 2.12:“ ,: HEIIIIIIififlk'I'I'I'IJfi £22m, K422“ I'I‘V}? th‘ H‘fi'fixxbfiz'flfbu: - ';:5..‘I :I“'II":‘:‘:'.‘:'I“ 'I‘I‘I2,‘ 'I'I'I'": "1:3:ij ‘I'II'I ‘5I.,,'..; 2:. :‘I'I'I'. IIIIIII I I1. I" :‘I, II: “$22.22 '1 WMIQII'IIIIII‘I‘ ‘3‘...“L L .,: 4":11' . ,I:I,,,:,.,,.,,, III, :,4I., ”I III-II” , I,“ ' I, I-"1,- ‘I'? . mud-,I,: ~I' ...I:I.:,:I.‘.,’ '::,.,:,:,I::,:,I,Q,:,:,,I,:.:.I,.,.,IIn, ,,,.I, ‘-..:):I: ,,:,:‘:,},:,.' ,I'I, I,',I; L: .,.,, _ . 5,33,12,13 1:: mi: ,4... III II' II: ';‘;:.: IIIIIII .445»: III: I:}:I.~.:I; “III. WW" .I: '52: I. . “x“: .. .w'iI I:'.‘:,I:I ‘II‘IIIQIII' II24' ,:2,;:2QI.II2.' .v.I.::1I.I. .rI22:,1, 'I"IIl “In,“ .43.. I,‘, 2.2: 5'2, '8. , . 1'1: : I, : I I.‘: I... ‘1 1‘5“": .2: . I "I ""IIIII'H‘ WI'I‘ 1"QI'I2'I""""" ::' I'. III}. '2 25,51": ”II .2’: I‘ 22"" 'IIII‘IIL'.I"II‘%I}; " ww'} -. 331': VI. ' 2' :I22‘2'4'I' 2I'I' II2IQ22I4 I 'II’ :‘I' 2'I' “‘2IIII', 2I2II 'i I and: ‘(13 "2212!! g4 In" (22,244. .:. 2M: :,::: ... I,, ,,gu, L1,, J I,' ,2,,, ,,,2 “W, H II I I,,'I '1III'Q“ . 4 VP." ,:,I; 1.2.2}. ,,.,,},,, ,.,,.I,:,I:, 2:521, I42 ,2 ,, '94,} Q:,:I.:.I:.,,,.,I:: "3.9,. ;,:p2.,.,:,,,.,:_ 135s." .; $.32. IIIII‘ IIII' - :II': .IIIIM III-I I3: . 4:43,, . I'II' . IIMIII ‘III‘ :IIII'I :: .-. um:..'I.a'-..;..v:=.13:153.: ' 1 "1'2“,” I‘II2I:,:,’:‘ 2222III4.,:,:,:‘:,I': .,.:,,I§:I"I:,'I :2:,:I ,I'I2}2: 2,2152}, 22%;3'.1§}2.I'&%;¢$$,3.33.. I" 'I2I‘,II2 22:62. I122 I] ”3 {WI I22, (“I ' I I “I ‘I-t. 1‘" I Ii”, ' - .41 . Q ‘ , :‘In'IIII‘I. II I,‘: III": MINI: "I'I‘I’I‘ III}. ‘I'I‘:"H"II. III»: ,,I“. .I 22%.“ “"55 'I‘ I-‘I'I"-'222QI 2' H.322, I212I2I'I'I Q. “I'M ,I4I2 'I'I'I; '2‘}: 2'22“; I,}"I' I,'.) II2§212I'Q2I"‘II,'3'\, 'I ,"’ I}. :';':'I'2.'I. ,4.I,, 2.524% Q,24'I I:},2: 1222,23, I I)" I In ,I. .4, ”w 1: ., , . I'I‘I" :IIIII'I"'II II'”: III. III: . 5:3, ‘33»? -:- -- J .5} l I ‘II. I,: I II. 2,3,“,22222221, I222: VI: 2,2,2, I'IU'V'I'I‘IQI ’21,], 52222.2," 5,2,1,“ :I:2‘: 2:532:21: I2.I2},.'2 , I,‘,‘d, (1 ~-‘I&2"‘ I; .. . II, I}: III? ' «II: I..2‘"I.~m 1.. 22522.. I2.2,: ”I“ l' WWII" $.22 2.‘.\?..11‘ . ”13-: a: ""I I, II. M5: .192“. 2,5,}: .15“ :3. @222,” ,I,-w mm W .II",.‘::‘ 'II,'{,I,:.I I2 ,,5: :I ,,I': I: m». III:- 41:31.”: g'fl’fw "5105.": I: I 1 I I'I'lII'I I ., - In: I... ,,.,., ., ,.:..:‘II..Q: .222}: 2.5,... .Q'I‘IIIIZQI ’IEIY'IIIIIIIIlgun . I; I I‘III'IIIII2I'II :ItI'I4:I ,,,. .I-Iu I'"" .222: 42251:. 22' INII 'I'I'Iil'III2"'I.L- A???" 2‘2?"""""W"'N , ,2‘ ,I,, 4,4,4: I2I26,I2I y,,,}2I,}.I2,,, :‘wfifig :, 222W" I2II' I ' ¢ k: :3: If": . g .-‘ ,- 1", I I “‘33: $2,252,295.45, $44.25,... 1’ 1" .I2 I jI2f’: I22I2 I II. :5 'Q'II 4;},.,2}-:24I1II:, ,, ,I,, 22%,”, 22".. ,I'I:,:,,,:, 22:; 22“, ,,2622 2' 1.2:, .} ,I I22}I:,I2I'2Q :I2I2 II.:I,4,.,I}I I,'I" '23:;I211'2I4I2 12%” (2221'f2r ,2. III '2" ,' 'II'I.4:. I'IIQ2'I2'II'I.II I222: 22‘2}:,2 2222 - , “' 4 *r- ,_r 5 ‘3:— h’ “ I: 4 ‘9’ 'II:., Im ,22,‘ "ll ,,.,,},},: :,:::‘ ,},,,}I.I, I 22,225: : «,I, I I” 22“,: III I542. I,'III I.’ :22" I152: .221}. ":4: 4.3: I. 'I H22 I,'I 'IIII212 '2IJ'I'2I ... . 222': ' "" e. 'I'I'I' 'II. ‘4‘I'I3I'u. I}. II 'I‘II’ 5.. III :“I. . . I III III III” 'IIII'I: 2H2. ‘III 'II""'22II'I"22 :'22 22"2' :II‘I‘I,,, "I: II" 2"I'I222:,I,I2II,I,?n'ITI2222222932221?" 'III'g 3".22' ’1', Q,2 I),I, , I 22“,, :,, .2 ‘ I: 2..2:},2}.I,:,,,},,,,,,,:,,,',14,}.1,,2 3,162,212,}, 22,222: I,.,.2I}2,2.,, 52,2, 2,22%}, 1,1,}, , 2,22,; ,4, , ,2 ' "'I'I 2 .292 2'" '2‘ II.” I, 'QII VIII'22II; '22.“? B I.“ {I,I' , ' I,‘,I: I,‘ .I,,,:II1I.." “2.": I 2'I'I22", I, I}2{2'22' 2,2222, '222'I,, Q}, g. “22:222.": '41:, 1, f '. 2,“: . a; I HI} I,” I2. , .I‘ 2'32}, 2|II.I,I2},,,,, ("2'2' 222,222 ,,2, 2,,2IIR' 2 ‘ 4 2, {3: {2 .., I II... .. 2,... 'II' 2"I .. I'I' ‘12: 522222 I2I'I’. ,IIII'I I . I '42.}I - ' In: . .,I:I,I I .,2I,II,},I,,I ,2 I,,,:,I_,, ”2,“, W2, I'.2I ' 352:2: ’ fig; ,,612' 4,,I,-: ' I‘I.’ :""‘II'I."' 12' III}. .I‘ ...: :5 I. :5: 2.,4 :I' .II: 251' III. a:;; 4. .:,,I: ‘ ' ' I: . .' :1 , 'I'I'I‘I “III? III: 2222'": I'II’III I .1 "I I}: ,,,\ 'ththg}? 331': If? 6,31: IIIH‘I'I‘: III: ‘ 2.221%,» 222% 'I'IIIfi M» 131". 4" -_ :5“:- III, .-“:x “'4 'I' P222323, 22:11:22: ”$12!? - x ,5: - I ' i I "7'3 II I32". I I 9.: , 2" 3:,2‘1'”? “IX I,‘,v, . 221.2219" 21ml; mg, {91} _ 22:21:: 'I' I " 2"" 222322;." I'222' #2222 2122';- 3:I.,2-‘242 , ,I,} 2:, ,, , '22:.2 ,2, {2.21; .2 2'", I 2., z ,.I -.'I‘ '2"‘I'I'I "" 2"12'II" -' '2" {I2 I": III I" '23::222IIIIEII III? 2223‘ $223.2 {'3'} III'I‘IV lI-"V 2'2"“ 2 'I 22" 2'2; .' II 222:9: 2",42I2I2I2§24 ‘ 'l‘i,.":.f2"'I1I'-S ~_ II._I,',II,I 2,, I22' 1 If}? ,I22, '},'I2 ,,, ,’,,_,,,1,”:. 5 ~ . I '22; . ,2,“ 22221221 II'I'II"I' 1526-4: -I,,- .Q I'I' 'II'III‘ WIN ‘.4-' 'I"' 'I' L: fl} .I422'2I (“.2 ,, , 'I,I,, ,,,,',, 2,,I,I,'I '22, 6. ,,II' :33'” ,:Ii,,:}»y fiff‘ *3"? Will llllillll lllll lllllVVIVllll l fill ill This is to certify that the thesis entitled A GENERAL PURPOSE ELECTROANALYTICAL SYSTEM BASED ON A MICROCOMPUTER CONTROLLED COULOSTATIC GENERATOR presented by Spyros Emmanouel Hourdakis has been accepted towards fulfillment of the requirements for wdegree in Chemistry Wfl Major professor Date August 8, 1978 0-7 639 LIBRARY V V’Midngan Sate UniversitY OVERDUE FINES ARE 25¢ PER DAY PER ITEM Return to book drop to remove this checkout from your record. A GENERAL PURPOSE ELECTROANALYTICAL SYSTEM BASED ON A MICROCOMPUTER CONTROLLED COULOSTATIC GENERATOR By Spyros Emmanouel Hourdakis A DISSERTATION Submitted to Michigan State University in partial fulfillment of the requirements for the degree of DOCTOR OF PHILOSOPHY Department of Chemistry 1978 ABSTRACT A GENERAL PURPOSE ELECTROANALYTICAL SYSTEM BASED ON A MICROCOMPUTER CONTROLLED COULOSTATIC GENERATOR By Spyros Emmanouel Hourdakis A microcomputer controlled and operated electrochemi— cal analysis system has been developed and, in its polaro- graphic mode, it has been shown to be more sensitive than polarography in the determination of cadmium. The system consists of an electrochemical reaction cell, a digitally controlled charge generator for adding charge to the work- ing electrode, a voltage measurement system to monitor the working electrode potential, and a multimicrocomputer system, as the control logic, to control the operation of the charge generator and the voltage measurement system. The cen- tral part of the new electrochemical system is the charge generator. -A new charge generator has been developed which uses the charge injection technique to add charge pulses into the electrochemical cell. The characteris- tics of the charge generator were studied and its opera- tion is discussed in detail. The function of the charge generator is the injection Spyros Emmanouel Hourdakis of charges into the cell and the function of the voltage measurement system is the monitoring of the potential of the working electrode. The control logic determines how these two simple functions are employed in any given experiment. Using a computer instead of hardware logic as the control logic, arr extra flexibility is added to the electrochemical system. The system can be operated in many electrochemical polarization modes, where the charge, current,or potential must be measured or controlled, without modification of the instrument hardware. The multimicro- computer system consists of three independent microcom— puters and each one of them is responsible for a specific task. One microcomputer coordinates the operation of the other microcomputers so that the system works as one func- tional unit. The advantages of the multimicrocomputer system over the single microcomputer, for real—time control Of the instrument, are the speed, the modularity, and the convenience of the programming of the system. The electrochemical system was applied in the polaro— graphic determination of cadmium. The sensitivity of the system was limited to 0.5 uM cadmium. ACKNOWLEDGMENTS I wish to express my deep appreciation to Professor C. G. Enke for his guidance, encouragement and friendship throughout my work at Michigan State University. Thanks are given to Professor M. Weaver for his helpful sugges- tions as second reader. Gratitude is also extended to the Department of Chem- istry, Michigan State University and the Office of Naval Research for financial support. I would like to thank all the members of the labora— tory of Dr. C. G. Enke for their friendship, and assist— ance during our association. I especially thank Dr. T. V. Atkinson, Dr. T. Last, Dr. J. E. Hornshuh, and E. Carlson. Special thanks to our friends in the U.S.A., who contributed to render our stay in this country a pleasant and unique experience. Chapter LIST OF TABLES. LIST OF FIGURES CHAPTER I — Introduction. A. Coulostatic Polarization Technique . . . B. A Microcomputer Controlled Coulostatic Generator CHAPTER 2 - Operation of the Coulostatic Generator A. Introduction. B. Constant Electrode Potential. C. Electrode Potential as a Function of Time D. Effect of the Supporting Electrolyte. E. Implementation of the Coulostatic Generator in the Basic Polarization Techniques. 1. Controlled Potential Experiments . . . . . . . . . 2. Controlled Current Experiments CHAPTER 3 - Polarographic Measurements Using the Microcomputer Controlled Coulostatic Generator . . . . . . A. Introduction. B. Determination of Cd2+ C. Selectivity . . . TABLE OF CONTENTS iii Page vi . vii l2 13 2O 33 145 50 50 51 53 5A 58 79 Chapter CHAPTER A - Description of the System Hardware. . . A. Pulse Generator Digital-to-Analog Converter Switches and Charging Amplifier 3. The Interface Logic B. Voltage Measurement System. C. The Real—Time Clock CHAPTER 5 - Multimicrocomputer System Architecture. . . . A. Introduction. B. Multiprocessor System C. Multiprocessor Control of the Electrochemical System. 1. Coordinator micro 2. Slave 2 micro 3. Slave l micro CHAPTER 6 — Communication in a Distributed Intelligence System . . . . . . A. Introduction. B. Description of the System C. The Minicomputer Side of the Link D. The Micro I/O Port. . . . . E. The Communicator. F. Operation . . . . . . . . \\. APPENDIX A - Converse Library for the Micro- computer System . . . APPENDIX B — Data Analysis Programs iv Page 89 9O 91 93 95 97 . 102 . 105 . 106 . 108 . 111 . 113 . 113 . 117 . 120 . 121 . 124 . 129 .133 - 138 .143 . 146 . 167 Chapter Page APPENDIX C - Microcomputer to Minicomputer Communication Programs. . . . . . . . . . . . 174 REFERENCES. . . . . . . . . . . . . . . . . . . . 181 Table ‘\]O\U1 LIST OF TABLES Diffusion limited current of various concentrations of Cd2+ in 0.1 M KCl as supporting electrolyte. . . Diffusion limited current of various concentrations of Cd2+ in 0.1 M KCl as supporting elec- trolyte. DELAY = 5000 msec. Log [(id-i)/i] as a function of the electrode potential for two different runs Memory map of the coordinator. Memory map of slave 2. Memory map of slave l. Converse library for operation of the electrochemical system vi Page 68 81 85 114 116 118 146 Figure 10 LIST OF FIGURES Block diagram of the electrochemical system Block diagram of the coulostatic generator. Flow chart of the program CELLTS. First part Flow chart of the program CELLTS. Second part. The electrode potential as a func— tion of time. Controlled potential = 0 mV The electrode potential as a func- tion of time. Controlled potential = -1500 mV The electrode potential as a func- tion of time. Controlled potential = -1500 mV, TEXP = 3000 msec . Flow chart of the program SCANV. First part.. Flow chart of the program SCANV. Second part. . . . . . . Flow chart of the program SCANV. Third part vii Page 10 15 21 22 28 30 32 35 36 37 Figure 11 12 13 14 15 16 17 18 Page Software generated ramps . . . . . . . . . U2 The actual ramp applied to the cell as a function of the theoretical ramp. DVSTEP = 50 mV. . . . . . . . . . . A3 The actual ramp applied to the cell as a function of the theoretical ramp. DVSTEP = 10 mV. . . . . . . . . . . AA The electrode potential as a function of time. Controlled potential = 0 mV. Supporting electrolyte l x 10-u M KCl. . . “6 The electrode potential as a func- tion of time. Controlled potential = -1500 mV. Supporting electrolyte “MKc1.............. w l x 10- The actual ramp applied to the cell as a function of the theoretical ramp for three different solutions of KCl as supporting electrolyte (Plot 1 0.1 M KCl, Plot 2 0.001 M KCl, Plot 3, 0.0001 M KCl) . . . . . . . . . . . . . . . . . . 49 Flow chart of the program POLARl. First part . . . . . . . . . . . . . . . . 59 Flow chart of the program POLARl. Second part. . . . . . . . . . . . . . . . 60 viii Figure Page 19 Flow chart of the program POLARl. Third part.. . . . . . . . . . . . . . . . 61 20 Polarogram of a 0.1 M KC1 solution (1), 5 x 10-“ M Cd2+ in 0.1 M KC1 solution (2), 1 x 10‘3 M Cd2+ in 0.1 M KC1 solution (3) . . . . . . . . . . 65 21 Polarogram of a 0.1 M KC1 solution (1), S x 10‘5 Cd2+ in 0.1 M KC1 4 2+ solution (2), l x 10' Cd in 0.1 M KC1 solution (3) . . . . . . . . . . . . 66 22 Polarogram of a 0.1 M KC1 solution 6 2+ Cd in 0.1 M KC1 2+ (1), 5 x 10- solution (2), 1 x 10'5 Cd in 0.1 M KC1 solution (3) . . . . . . . . . . . . 67 2+ 23 The working curve for Cd determina— tion . . . . . . . . . . . . . . . . . . . 69 24 Plot of Log Id versus Log C for Cd2+ determination. . . . . . . . . . . . . . . 70 25 Polarogram of 0.1 KC1 solution at two different periods of the drop life: DELAY = 100 msec (1), DELAY = 5000 msec (2). . . . . . . . . . . . . . 72 26 Polarogram of a 5 x 10"6 M Cd2+ in 0.1 M KC1 solution at different periods of the drop life, and the corresponding ix Figure 27 28 29 30 31 polarograms of a blank solution. DELAY = 100 msec (1,2), DELAY = 5000 msec (3,4). Polarogram of a 0.1 M KC1 solution (1), l x lo"6 M Cd2+ in 0.1 M KC1 solution (2), 5 x 10"“6 M Cd2+ in 0.1 M KC1 solution (3), l x 10’5 M Cd2+ in 0.1 M KC1 solution (A). DELAY = 5000 msec. Polarogram of a 0.1 M KC1 solution 2+ (1), and a 5 x 10‘7 M Cd in 0.1 M KC1 solution. DELAY = 5000 msec 2+ determina— The working curve for Cd tion at DELAY = 5000 msec. Plot of Log Id versus Log C for co2+ determination at DELAY = 5000 msec . . . . . . . . . . . . . . . Polarograms of a l x lO'V4 M Cd2+ in 0.1 M KC1 solution obtained with different run parameters. For Plot 1 VPULSE = —300 mV, VINITIAL = -A00 mV, VFINAL = —900 mV, DVSTEP = 20 mV, DELAY = 100 msec. For plot 2 VPULSE -300 mV, VINITIAL = -500 mV, VFINAL —900 mV, DVSTEP = 15 mV, DELAY = 100 msec . . . . . . . . . . . . . Page 77 78 80 82 83 8A Figure 32 33 3A 35 36 37 38 39 A0 Al A2 A3 A4 ”5 A6 L03 [(id-i)/i] versus E for two dif- ferent scans . A 2+ Polarogram of a 1 x 10' M Cd , u M Zn2+, l x 10'“ M Ni2+ 1 x 10- in 0.1 M KC1 solution. Digital-to-Analog converter. Bi— polar operation. Switches and charging amplifier. Charge Generator interface logic Analog-to—Digital converter. A/D converter interface logic. Real-time clock. Block diagram of the multimicro— computer system. Multiprocessor control of the electrochemical system Operations of a dedicated computer Operations of an "high intelligence" computer system. . . . . Block diagram of an hierarchical system Block diagram of the MDB-l710 and the external I/O port. . . Block diagram of the micro I/O port xi Page 87 88 92 94 96 98 99 103 109V 112 123 125 128 130 134 Figure Page U7 Block diagram of the micro- computer peripherals . . . . . . . . . . . . 139 xii CHAPTER 1. INTRODUCTION CHAPTER 1 INTRODUCTION Polarography has been used as an analytical tech- nique since Heyrovsky discovered that the current meas- ured at a dropping mercury electrode (DME), which is main- tained at a particular potential, is related to the con- centration of the electroactive species present in the solution in which the DME and the reference electrodes are immersed. Even with the use of a three electrode system (DME, a reference and counter electrode) which reduces the error due to the IR drop in the cell, classical DC polarography has a serious defect which sets a limit on the sensitivity of this technique. The theory assumes that the current in the cell is the diffusion controlled Faradaic current. But the actual current that one meas— ures contains contributions from a number of other sources. The problem of distinguishing the current of interest from the currents due to other phenomena is the problem that the "modern" electroanalytical techniques try to solve (1, 2, 3, A, 5, 6). The result of the effort of the development of the modern electroanalytical methods were new polarographic instrument designs which provide lower noise levels and better performance. A basic element in the development of the new polarographic instruments and new electro— analytical techniques is the use of operational ampli- fiers. The use of operational amplifiers in the develop— ment of new polarographic instruments has been studied by a number of workers and there are many articles,reviews, and books on the theory and applications of operational amplifiers in electrochemistry (7, 8, 9, 10, 11). Opera- tional amplifier circuits can be used to generate a wide variety of voltage signals and, as signal detectors, to sample the output signals from an electrochemical experi— ment and provide these signals in a form suitable for measurement. Several instruments have been developed which can perform a variety of electrochemical techni- ques: linear sweep polarography, chronopotentiometry, cyclic voltammetry, chronoamperometry, cyclic chrono— amperometry, square wave voltammetry and polarography, and pulse polarography (12, 13, 1A, 15, 16, 17). These instruments are generally developed around a potentiostat (or galvanostat) which is a controller cir— cuit that maintains the potential (or current) at the work- ing electrode equal to some signal-generator potential, which may be a constant voltage or a time varying signal. In its fundamental operation the controller reacts to the difference between the actual and the desired poten— tials through a negative feedback circuit in such a way as to reduce the difference to zero. In the potentiostat, the electrochemical cell is part of a closed circuit in which the current is continually controlled in order to keep the potential difference between the working elec- trode and the reference electrode equal to the desired value. A. Coulostatic Polarization Technique In the early 1960's P. Delahay published a series of papers in which he described the theory and applications of a new method, the coulostatic polarization method (18—23). The method was originally developed for studies of adsorption phenomena and electrode processes, but it proved useful for trace analysis as well. The basic principle of the coulostatic method is the very rapid addition of charge to the working electrode of an electrochemical cell to bring its potential to a new value at which there is a Faradaic current. The cell is at open circuit after the addition of the charge and the Faradaic current is entirely supplied by discharge of the double layer capacitance. The potential tends to change toward its initial value as the double layer capacitance is progressively discharged. The potential-time varia- tion is measured after the addition of the charge and is related to the concentration of the substances involved in the electrode reaction. The double layer charging current problem which limits the usefulness of most polarographic methods in trace analysis is avoided in the coulostatic technique. The voltage measurements are made when no net current passes through the cell which eliminates the effects of the solution resistance during the measurements, and permits lower concentrations of supporting electrolyte. Despite the above characteristics and advantages which make the coulostatic polarization technique an attractive technique for analytical applications, only a small number of applications of this method have been reported (21,23). This is due to the lack of selectivity of this method and the relative inconvenience of the hanging mercury drop electrode compared to the dropping mercury electrode, and the difficult interpretation of the data. Recently a number of new coulostatic methods have been developed which improve the selectivity of the coulostatic method (24-28). These methods use a dropping mercury electrode, and the potential decay curves are measured and plotted as a function of the applied poten- tial. This plot allows both quantitative and qualitative analysis of mixtures of electroactive species. The early instruments used for the coulostatic tech- nique included a potentiometer with which the potential of the working electrode was set at the foot of the cur— rent - potential curve for the analyzed electroactive species, a coulostat by which a known quantity of charge was supplied to the cell and a circuit for sampling and reading the cell voltage. The coulostat injects the charge to the working electrode via a small capacitor charged to a very high voltage (19,30,31). In a more recent coulostatic instrument the potentiometer has been replaced by a potentiostat and the small charging capaci— tor by an operational amplifier circuit which acts as a constant current source (28). This system works as fol— lows: Towards the end of the drop life, when the change of the area of the dropping mercury electrode is minimal, the ramp voltage is disconnected from the cell and a coulostatic pulse is applied to the system. This pulse of charge changes the potential of the cell to a new value. The cell potential is allowed to decay at open circuit for a predetermined period of time. In the next step the same procedure is repeated for a higher electrode potential. B. A Microcomputer Controlled Coulostatic Generator Although the potentiostat offers a very accurate way of controlling the potential of a working electrode to follow a number of different excitation forms, its electro- analytical use has some limitations: A net current passes through the cell, which requires the presence of rela- tively high concentration of supporting electrolyte to avoid IR drop errors in the controlled potential, and the total current passing through the cell is the sum of the Faradaic current and the double layer charging current which limits the sensitivity to the Faradaic component. On the other hand, the traditional coulostatic tech- nique has the disadvantages that the potential of the working electrode is not constant during the whole time of the experiment, and in most cases the measured varia— tions of the electrode potential are larger than the desired resolution. Also, the time required for a measurable potential var- iation is not constant. Despite these limitations, the coulostatic technique has a number of advantages: The potential of the working electrode is measured when no current is passing through the cell; the current is not measured but determined by the controlled addition of charge; the charge is quantized, i.e., digital; and the double layer capacitance of the working electrode is accessible in real time and in real systems. The charge injection technique, which is used in the coulostatic method to change the potential of the work- ing electrode to a desired value, can be used as well to maintain the electrode potential at a desired value. In this way the charge injection technique combines the ad- vantages of the coulostat and the potentiostat. The idea of controlling the potential of the working electrode by injection of charges has been used by Goldsworthy and Clem to develop the so called "Bipolar Digipotentiograter" (29). This system uses the charge injection technique to maintain a control potential and simultaneously serves as a current—to-digital converter. The system applies small pulses of constant coulombic content to the working electrode as often as necessary to keep its potential at a desired value. The construc- tion and operation of the bipolar digipotentiogrator is based on dedicated hardwired logic. Instead of the dedicated hardwired logic, a micro- computer can be used to control and operate a coulostatic generator which uses the charge injection method to con- trol the potential of the working electrode. Such a coulostatic generator is the heart of the electroanalytical system described in this thesis. Computers have been used in the development of modern automated instruments in order to increase the efficiency and the flexibility of the instruments. The dedicated computer, liii: the computer which is directly inter- faced to the instrument and to the experiment, operates the instrument, collects data, performs data analysis, and makes decisions regarding the course of the experi- ment. Minicomputers have been used extensively, during the past years, as dedicated computers to develop new instruments and new analytical techniques. The mini- computer with its powerful library, its fast response time, and its ability to manipulate large amounts of data, is almost ideal for automation and on-line use. The disadvantage of the use of the minicomputer as a dedicated computer is its cost. Some years ago the microprocessor, a single integrated circuit chip containing at least 75% of the power of the central processor part of a computer, appeared on the market. The microprocessor can be used, with the aid of some support chips (memory, counters, input-output reg- isters, buffers), to build a microcomputer as part of any instrument. The dedicated computer used in this system is a multimicrocomputer system that has been developed in our laboratory and which substitutes for the minicomputer in the control and the operation of the instrument. Figure 1 shows a block diagram of the system which consists of: an electrochemical reaction cell with work— ing, reference, and counter electrodes, a pulse generator for adding charge to the cell, a voltage measurement system to monitor the working electrode potential, a microcomputer to control the operation of the system, and a device for operator—system communication. The basic principle of the operation of this system, when controlling the potential of a dropping mercury electrode, is the rapid addition of charge to the working electrode to bring its potential to a desired value and to control the electrode potential at this value. The 10 .chfismop @239 men opoano\opmopzox m who Bmo can mm .mopoppooao Lopcsoo can .wcfixhoz Amocopomon one one 0 new HZHm .Eopmmm HmoHEosoospooHo can mo Emnwwfio xooam .H opswfim moe “W AU N d m O 1 zmpm>m .j k (.l szzm¢3m mmeadzoquHz 20mm QZ< OH 11 instrument monitors the electrode potential between the addition of charges. If there is a deviation of the electrode from the desired potential, the computer com— mands the pulse generator to add more charge to the elec- trode to restore its potential to the desired value. In the next drop a new series of charge pulses is added to the working electrode to bring its potential to a new, higher, value. The same procedure is repeated until the end of the scan (desired range of controlled potentials). The pulse generator and the voltage measurement system can perform only two very simple operations on the elec— trochemical cell: add charge to the working electrode, and measure the potential of the working electrode. The use of the microcomputer as the control element of the operation of the system gives an extra dimension of flex— ibility in the system which is not found in conventional instruments. The operator has the ability, by programm- ing, to determine how the simple operations of the pulse generator and the voltage measurement system are to be used in order to perform an experiment, and he can program the system to produce and apply any complex potential waveform to the electrochemical cell. This flexibility of the system permits the operator to choose and apply the electrochemical technique which gives the best response for the investigated chemical system. CHAPTER 2 OPERATION OF THE COULOSTATIC GENERATOR 12 CHAPTER 2 OPERATION OF THE COULOSTATIC GENERATOR A. Introduction The interface between a dropping mercury electrode (DME) and an aqueous solution of an electrolyte, behaves like an electrical capacitor in that it is capable of storing electric charge. If the so called double layer capacitor is in an open circuit and no electric charge is added to it, the potential across the capacitor will remain constant and equal to the potential of zero charge (PZC). In the presence of electroactive species in the solution, the potential across the interface will be equal to a value at which no Faradaic reaction will occur (or the Faradaic current will be equal and opposite to the charging current). If an electric charge is injected to the double layer capacitor,the potential across the interface will change by a value AB = Q/Cdg where AE = El - EPZC (the difference between the potential of zero charge and the new potential), q is the amount of charge injected to the double layer and Cd, is the double layer capacitance. In an open circuit,the potential .of the double layer capacitor will not remain constant but it will tend to return to an equilibrium value. 13 1“ There are two processes by which the potential across the electrode-solution interface will be changed: the double layer capacitance changes as the area of the DME changes, and the double layer capacitor is dis- charged by any electrochemical reaction taking place across the interface. In order to keep the potential of the electrode constant some charge must be added to the double layer capacitor to compensate for the effect of the growth of the drop and the discharge due to the Faradaic reaction (qtotal = qcharging + qFaradaic)° The total charge can be positive or negative. For reductions, the Faradaic "charge" is negative but the "charging" charge can be either positive or negative depending upon which side of the electrocapillary maximum (PZC) the desired potential lies. A coulostatic generator able to inject charge pulses to the working electrode in order to maintain its potential equal to a desired value is shown in Figure 2. The coulos- tatic generator consists of a Digital-to—Analog Converter (DAC), an inverter (A1), a set of FET switches SW1, SW2, SWi, a set of small capacitors C1, C2, CI, an operational amplifier (A2) to provide the necessary charge pulses to the cell, and a microcomputer to control and operate the DAC and the switches. The voltage measurement system, which is used to monitor the potential of the reference .LODwLocom OprmeHsoo on» mo Empwmfip xQOHm .m opswfim m D m z o x I o o 12 © mwhamxooomouz co»<4w l5 > J i L), .41: :11. LHZm sz Hzm r % JV s Ihfi 1:. .l. 2 A A m A , mw(\ ~.IH/ ~.IIIHV%II m «2); 1<1 ulxo mYlillil .IIIIII < o s z :msmsm m hzmxmmam 16 electrode with respect to the working electrode, is shown in the same block diagram. The voltage measurement system is controlled by a different microcomputer, the coordinator, which is connected with the slave microcom- puter through the common bus, and which coordinates the operation of the system. The cell used throughout this study was a three elec- trode cell with a dropping mercury electrode (DME) as a working electrode, a cylinder of platinum gauze for the counter electrode, and a saturated calomel electrode (SCE) as a reference electrode. The DME was made from a 6 to 12 second capillary and the height of the mercury was adjusted to give a 9.0 second drop time. The cell also includes a glass bubbler through which nitrogen was passed to expel the oxygen from the solution. During an experi- ment,the bubbler was raised above the solution so the nitrogen continued to flow over the top of the solution. The nitrogen was bubbled through the 250 ml gas washing bottles containing vanadous chloride solution and heavily amalgamated zinc, and through distilled water before it entered the cell. The operation of the pulse generator is as follows: the slave microcomputer loads the DAC with a 10 bit word. The selected output voltage of the DAC, VDAC’ is connected through the inverter Al and switch SW1 to capacitor C1, or through any switch SW1 to the corresponding capacitor 17 CI. This produces a precise charge q = CI VDAC which is stored in the selected capacitor. In order to inject the charge to the cell, the slave microcomputer switches the appropriate switch to position 3. The operational amplifier, A2, senses a difference in the voltage between the positive and negative input and through the negative feedback, which contains the counter and the working electrode, tries to eliminate this difference by forcing an opposite charge through the counter electrode. The result of this operation of the amplifier is that the charge stored in the charging capacitor is quickly trans— ferred to the working electrode of the electrochemical cell. The amount of charge that the pulse generator injects to the cell depends on the selected output voltage of the DAC and on the selected charging capacitor. In- verter Al provides the same output voltage but opposite in sign iimml the DAC, 143;, -VDAC‘ So in order to inject charge of identical magnitude but opposite sign, the slave microcomputer does not have to load the DAC with a different word but it simply selects the appropriate switch. The design details of the electronic components of the pulse generator and the voltage measurement system are given in Chapter A. In the present form,the coulos- tatic generator uses two charging capacitors Cl and C2 with capacitance 0.001 uF and 0.01 uF respectively. Capacitor C2 is used to inject negative charge to the 18 cell and capacitor C1 is used to inject positive charge. The pulse generator injects charge to the cell and the voltage measurement system monitors the potential of the working electrode. The control logic determines how these two simple operations must be used in order to control the potential of the working electrode at a desired value. A multimicrocomputer system was used as the con— trol logic. The multimicrocomputer system was developed jointly with James E. Hornshuh (32) and Erik M. Carlson (33) and was used for real-time control of the pulse generator and the voltage measurement system. Details of the computer architecture and its operation are given in Chapter 5. Since all the instrument control and the data ac- quisition functionsare under computer control, an operat- ing software system was developed which was based on the use of the CONVERS-M software system (33). CONVERS-M is a new dynamic programming technique which allows the operator to create his own commands, and which is designed to operate in the multimicrocomputer system. The new commands are subroutines written in assembly language. Once these subroutines have been written and entered in the system software library they can be called up and executed in one of two ways: the name of the subroutine can be entered at the terminal for immediate execution or the subroutine name can be included in another software 19 routine as a line of code. Thus the operator can create his own specific subroutines to operate and control his instrument and use these subroutines as a line of code in a more sophisticated routine to perform an experiment. Each microcomputer has its own subroutine library and it Operates independently from the other microcomputers of the system. The coordinator coordinates the operation of the slaves and regulates when andanAfllsubroutine must be executed in each slave so that the total operation of the system becomes a unified function. This programming technique allows the maximum operating speed of the system since a number of different tasks can be performed at the same time. Appendix A includes listings of the basic programs used during this work. Appendix A also includes the name and the function of the subroutines used during this work. For the purpose of the discussion in this chapter we can consider the multimicrocomputer system as a unified operational unit and that the execu- tion of any program is the continuous execution of instruc- tions. In order to understand the operation of the coulostatic generator and to study its characteristics, two cases will be examined: the potential of the DME is constant, and. the potential of the DME is a function of time. 20 B. Constant Electrode Potential Although the coulostatic generator has the ability to control the electrode potential at positive and negative values versus the SCE, only the negative values will be examined. The flow chart of the program used to maintain the potential of the DME at a constant value is shown in Figures 3 and A. The program starts with an initial dialog to obtain the values of the run parameters. The program displays the name of the parameters and their default values on the CRT. The operator can change the value of any parameter by entering the name of the param- eter and its new value. The computer checks the validity of each entry and updates the CRT display. If an illegal parameter or value is entered, the computer ignores the last entry and reads out a question mark and waits for a new entry. A new value for any parameter becomes the new default value. The significance and the legal values for the run parameters are as follow: VPULSE : It determines the output voltage of the DAC, and the voltage at which the charging capacitor will be charged. VPULSE can be varied from —5 mV to -2500 mV. 21 l ‘ INITIAL DIALOG TEXP,DELAY A LOAD DAC r——-——>l START CLOCK! DLOCKZ A MEASURE GIVE ONE - PULSE Figure 3. A Flow chart of the program CELLT5. VI(VNIN V VCELL VPULSE,VCELL,DVCELL STORE VCELL PLOT VCELL CHEEK ) A GIVE ONE + PULSE A VI)YHAX VHAX>V1>VHIN 4 First part. .upmo Ucooom .meqme Emnwogo can no phone zofim .: opswfim 44mu> #041 ngu> wackm 22 kuxw i\\\\><4uo wrap aoco mwnaa + xvL>vsz> Dacha wzo w>uo xA~>A~pxm> thm>xu> Nexm>v_> \.mxoonu oopm muons - mzo m>~o 2H2>v~>vwhxw> 44mu> ‘f wm3w g V 1’ Lu o." c)" U) :‘V 3 ,4" (n X ,i’ > 3' LL, .A ‘B-QGBW TIME Figure 5. The electrode potential as a function of time. Controlled potential = 0 mV. 29 and for the rest of the drop life, 8280 msec, the potential remained constant between 0 mV and -5 mV. Figure 6 shows a plot of the electrode potential versus time obtained with the same program and using the same solution. The run parameters are: VPULSE = -300 mV, UCELL = —l500 mV, DVCELL = A mV, TEXP = 100 msec, DELAY = 200. The number of points are 22622 and the drop time is 735“ msec. The data acquisition rate is m3.l kHz (N321 usec)/point period). The difference in the data acquisition rates is due to the fact that in the first case (Figure 5) the coulostatic generator was injecting positive pulses only. In the second case (Figure 6), the coulostatic generator probably had to give both positive and negative pulses in order to keep the elec- trode potential constant after point B. VCELL was reached in 7 msec and for the rest of the drop life (72A? usec) the electrode potential remained constant at -1500i 10 mV. In the early part of the plot shown in Figure 6 a small curvature is observed. In order to observe the electrode potential variations at the initial part of this plot, and to understand the cause of the curvature, a new scan was made using the same solution and the same program but with different values of the run parameters. The run parameters are: VPULSE = -1500 mV, VCELL = -1500 mV, DVCELL = U mV, TEXP = 3000 msec, DELAY = 200. The 30 --@.2208 A r\ 2. > \J . DJ 1 L) 0 U9 2 U? . > . Lu ', B 0 ' .o-°.“o.o o o oak“ ‘‘‘‘‘‘‘ “'0 6 ooooooo ‘u'°"‘ oooooooooooooooooooooooooooooooo 9.0-0006 7nuecl —-7247 msec—- I '-1.E388 TIME Figure 6. The electrode potential as a function of time. Controlled potential = -l500 mV. 31 result is shown in Figure 7,plot I. The beginning of the experiment was moved to a different period of the drop life (TEXP = 3000 msec), at which time the double layer capacitance of the working electrode is larger and the rate of change of the double layer capacitance is smaller. The value of VPULSE had to be increased to —1500 mV in order to have a good control of the electrode potential. The presence of some electroactive species in the solution is obvious from this plot (1 x 10"3 Cd2+ in this case). The shape of this plot can be explained as follows: Prior to any addition of charge,the electrode potential is at some equilibrium value at which no Faradaic reaction occurs. After the addition of one charge pulse, the electrode potential is moved to a new value. Initially, all the charge injected to the working electrode per pulse is used to charge the double layer capacitor and change its potential to a new value. After a certain value of the electrode potentiaL a Faradaic reaction (the reduction of Cd++) starts. After that electrode potential,the charge that is injected to the DME is used not only to charge the double layer capacitor but also to supply the necessary Faradaic current for the reduction. The change of the electrode potential per charge addition is smaller now. As the electrode potential moves to more negative values, the Faradaic reaction rate increases until it reaches its diffusion limited value (point B). After 0.EZOE3 E VS 8CE(V) -1..8638 Figure 7. 32 ——]()2n1sec.— l6599 \L msec TIME The electrode potential as a function of time. Controlled potential = -l500 mV, TEXP = 3000 msec. 33 that point,the "Faradaic charge", the charge that must be added to the cell in order to keep the Faradaic reac— tion at its diffusion limited value, is constant, so the effect of the "Faradaic charge" on the potential variation after the addition of each pulse is constant. The addi- tional charge, also constant, charges the double layer capacitor along the almost linear transition from point B to point C. The potential variation, as a function of time, in a blank solution containing the supporting electrolyte only (0.1 M K011 is shown in Figure 7, Plot II. The run parameters for Plot II are the same as in Plot I. The above method is a form of chronopotentiommetry on a DME. Although the electrode area is changing with time, the above method can be used in a manner similar to chronopotentiommetry for analysis. C. Electrode Potential as a Function of Time In the previous sec ion,the method of controlling the potential of the DME at a fixed, constant value was dis- cussed, and some examples of the operation of the coulos— tatic generator were given. In this section, the discus— sion will be extended to more complex potential excitation waveforms. A number of different potential excitation forms have been used in electrochemistry in order to perturb the 3A equilibrium of chemical system. The response of the chemical system to these voltage waveforms has been used for quantitative and qualitative analysis. In the conven- tional electrochemical system,the potential excitation waveform is generated by dedicated hardwired logic. To change the excitation waveform, some changes must be made to the hardware logic of the system. The data ac- quisition system is also controlled by dedicated hardwired logic in the conventional electrochemical systems, and in order to change it,some changes must be made to the hard- ware logic of the system. In the automated electrochemical system, in which the operation of the system is under com- puter control, the potential excitation waveforms are generated by the software logic. The same hardware logic is used to generate any potential excitation waveform simply by changing the control program. The same flexi- bility is offered for data acquisition in the auto— mated electrochemical systems. The same hardware logic can be used in different ways,determined by the software logic. The coulostatic generator described here offers this flexibility. In order to illustrate the method used to generate and apply, to the electrochemical cell, any potential excitation waveform, one example will be studied, ELSE: the generation of a ramp. Figures 8, 9 and 10 show the flow chart of the program 35 INITIAL DIALCG VPULSE,VINJTIAL,VFINAL DVSTEP,TEXP LCAD DAC L—————— DFDF STARTICLOCKI AND cLocxz CLEAR H,N \ ,\ TEXP MEASURE GIVE ONE - PULSE Figure 8. W VCELL vrvnax CHECK A VHAX’VI)VHIN STORE VCELL G) GIVE ONE 4 PULSE Flow chart of the program SCANV. First part. 36 .ppmm ocooom .>zA~>Auhxm> anus; e u+zaz uzo w>mo Duuu> oo< meDm I «+202 m mzo m>_o Dumu> oo< z_x>A—>Ax znx>v~>vmbxw> .u4 machm z waohm J meFw .m ogswflm Damo> oooe 2.2.2 hm oo< % mxuoqo ¢<»m-»umm¢ use» xuwIU «hxm>A~> V loco Utah“ thw>v~> w¥40 nova 44m0> wm3m Figure 10. Flow chart of the program SCANV. Third part. 38 used to generate and apply a ramp to the electrochemical cell. The program starts with an initial dialog to obtain the values of the run parameters. This initial dialog is similar to the initial dialog described in Section B and the same discussion applies to it. The significance and the legal values for the run parameters are as follows: VPULSE Again VPULSE determines the output voltage of the DAC. Its value can be varied from -5 mV to —2500 mV. VPULSE determines the amount of charge that the pulse generator injects to the cell per charge pulse. For negative pulses q_ = VPULSE x 0.001 DF and for positive pulses q+ = VPULSE x 0.001 HF. The amount of charge that the pulse generator must inject to the cell per pulse in order to keep the electrode potential constant de- pends on the concentration of the supporting electrolyte, the concentration of the electroactive species, the desired electrode potential, and the time of the experiment. In order to find the optimum value for VPULSE the operator can run the program described in Section B and observe the effect of VPULSE on the accuracy of the potential control for the particular potential range of interest and solution. Once the optimum 39 value for VPULSE has been found it can be used from then on for all solutions of similar composition. VINITIAL : Determines the starting value of the ramp. Its value can be from 0 mV to -2500 mV. VFINAL : Determines the final value of the ramp. Its value can be from 0 mV to -2500 mV. DVSTEP : It determines the difference of the elec- trode potential between drops. Its value can be from 2 mV to 2500 mV. TEXP : It has the same significance as in Section B. The initial dialog calculates VMAX, VMIN, VEXTl, and VEXT2 for the first value of the electrode potential (VINITIAL). To calculate VMAX and VMIN the value 4 mV is used, and for VEXTl, VEXT2, the value 100 mV is used. To start the experiment,a special character must be entered from the keyboard (+C). After the detection of the drop fall,the computer starts the two real—time clocks and clears the two 16-bit software counters; COUNTER l, and COUNTER 2. After TEXP has elapsed, the computer measures the electrode potential and if it is not equal to VINITIAL it asks the pulse generator to inject posi- tive or negative pulses in order to bring the electrode potential to VINITIAL. When the electrode potential reaches the desired value, the computer stores this first A0 "good" value and continues to control the addition of the charge pulses in order to maintain the electrode potential constant. Each measured potential value that is not beyond the two extreme values VEXTl and VEXT2, is added to a 32— bit software buffer and the number of measurements is increased by one. When the program detects the drop fall, it stops the clocks and stores the drop time. Then it resets and restarts the clocks. In the few following steps the program stores some information concerning this drop. In the following steps the program calculates the potential which the next drop must be and checks this value to see if this is the end of the scan. If VNEXT < VFINAL the program stores VNEXT and calculates the new values for VMAX, VMIN, VEXTl, VEXT2, and jumps to the TEXP timing loop. If VNEXT > VFINAL the program stores the number of drops (M) and returns to the calling program. After the end of the scan the operator can store the acquired data on a floppy disk by entering the name of the subroutine SAVE2 in the keyboard. The stored informa- tion is transmitted to the minicomputer for final processing and final plotting. A listing of the programs used in the minicomputer for data processing is given in Appendix B. The stored information includes: the number of drops (M), the first "good" and the last "good" electrode potential values for each drop, the sum of all "good" values and the number of measurements (N) for each drop, the Al theoretical value of the electrode potential for each drop, and the drop time for each drop. Figure 11 shows three software generated ramps. In this figure the calculated values of the electrode poten- tial are plotted as a function of time. The run parameters for Plot 1 are: VPULSE = -200 mV, VINITIAL = 0 mV, VFINAL = -1000 mV, DVSTEP = 100 mV, and TEXP = 100 msec. For plot 2 and plot 3 the run parameters are the same as be— fore except DVSTEP which has the value 50 mV and 10 mV respectively. The sweep speed for ramp 1 is 0.656 V/min, for ramp 2 is 0.342 V/min and for ramp 3 is 0.0728 V/min. Figure 12 and 13 show the agreement between the theo- retical ramp, generated by the program, and the actual ramp applied to the cell by the system. In these plots the average values of the electrode potential have been plotted against the calculated potential values. The data were obtained from a solution of l x 10"3 M Cd2+ in 0.1 M KC1. Nitrogen was passed through the solution for 5 minutes before the experiment. For the plot in Figure 12 the run parameters are VPULSE = -300 mV, VINITIAL = 0 mV, VFINAL = -1000 mV, DVSTEP = 50 mV, and TEXP = 100 msec. For the plot in Figure 13 the run parameters are: VPULSE = -300 mV, VINITIAL = 0 mV, VFINAL = -1000 mV, DVSTEP = 10 mV, and TEXP = 100 msec. 142 0.E300 /‘\ VV'... :> 'u v V“. LLI . o a U 0 U) .0 :> , 2 an LU 1 a“ 4.292 . , 0.800 1.000 T I ME (SE C) X10 '3 Figure 11. Software generated ramps. A3 0.!308 (V) E AVER 0.l300 E CALC (V) Figure 12. The actual ramp applied to the cell as a func— tion of the theoretical ramp. DVSTEP = 50 mV. All 0.E300 - (V) E AVER 0.000 E CALC (V) Figure 12. The actual ramp applied to the cell as a func- tion of the theoretical ramp. DVSTEP = 50 mV. 45 D. Effect of the Supporting Electrolyte In the two previous sections the methods used to generate simple and complex potential excitation forms were discussed, the effects of the run parameters were studied and some examples of the data obtained from real solution were given. All these test solutions contained 0.1 M KC1 as supporting electrolyte. In this section, the effect of the supporting electrolyte on the perform- ance of the coulostatic generator will be discussed. Since the electrochemical cell is in an open circuit and all potential measurements are made when no net cur- rent is passing through the cell, the performance of the coulostatic generator should not be affected by the con- centration of the supporting electrolyte. A set of solu- tions with different concentrationscfi‘supporting electrolyte were prepared and the test programs described in Section B and Section C were used to observe the performance of the coulostatic generator. The data obtained from these tests indicate that the characteristics of the coulostatic generator are not affected by the concentration of the supporting electrolyte. Concentrations as low as 0.001 M KC1 may be used with no appreciable effect. Figures 14 and 15 show the electrode potential varia- tions as a function of time. These data were obtained -A from a solution of 1 x 10 M Cd2+ in 0.0001 M KC1 as supporting electrolyte using the test program CELLT5 A6 —3880msec— I 8msec I.“ '— ___‘+. IIIITrfl JJJIIJJI ILllllill'Jl IITIIITII'IT JILIIJIJIIIVIJIlJlll'lJllllllll IIIITIIIITIIIIYIIIIIIIIITIIITII JllIIlll IITIIIIII TIME 8 m i t foo on .1 nt or .10 to. CD. nu US on. av. sml a C OK 1 a__M .1 tlA na. e10 ttl on pex t eol db. 0 e rdt tey 011 6.10 lor ert tc ene hol TCe Figure 1A. -0.2200 E VS SCE ~1.i300 Figure 15. A7 8 . .. . . .. '5..‘.~...d.~..-flw.o.u'....-W.MM...~W.¢~ o D 6 l —7790msec—- I msec TIME The electrode potential as a function of time. Controlled potentia = —l500 mV. Supporting electrolyte l x 10' M KC1. A8 (Section B). The run parameters for the plot in Figure 1A are: VPULSE = -250 mV, VCELL = 0 mV, DVCELL = A mV, TEXP = 100 msec, DELAY = 200. The total number of points are 37275 and the drop time is 8998 msec. The run param— eters for the plot in Figure 15 are: VPULSE = -250 mV, VCELL = 0 mV, DVCELL = A mV, TEXP = 100 msec, DELAY = 200. The total number of points are 29223 and the drop time is 7896 msec. The time that the system needs to establish a good control over the electrode potential is about 397 msec (Point C). After that point and until the end of the drop (7399 msec) the system controls the potential at a constant value within ilO mV. Figure 16 shows the agreement between the theoretical ramp, generated by the program SCANV (Section C) and the actual ramp that the system applied to three different solutions. The run parameters for the three plots shown in Figure 16 are: VPULSE -300 mV, VINITIAL = - mV, VFINAL = —l500 mV, DVSTEP 50 mV, TEXP = 100 msec. The solution used contained 1 x 10'“ M Cd2+ (Plot 1), l x 10"LI M Cd2+ A 2+ in 0.1 M KC1 in 0.001 M KC1 (Plot 2), and l x 10' M Cd in 0.0001 M KC1 (Plot 3). Plot 2 and Plot 3 have been shifted by 100 mV and 200 mV respectively in order to be plotted in the same figure. A9 0.‘+08 /'\ .....o. >, .... . \J o 0 .V. CC .V .' ,‘ UJ .V .. .V :> .° .° ,° << . . .. . 0". LL] ' -1 .6E30 . ’1.800 3.993 E CALC (V) Figure 16. The actual ramp applied to the cell as a func— tion of the theoretical ramp for three different solutions of KCl as supporting electrolyte (Plot 1 0.1 M KCl, Plot 2 0.001 M KC1, Plot 3, 0.0001 M K01). 50 E. Implementation of the Coulostatic Generator in the Basic Polarization Techniques In the previous sections the operation and the characteristics of the coulostatic generator were dis- cussed. Also in Section B,the software drop fall detector used to synchronize the system with the beginning of the drop was discussed. The software drop fall detector does not require any extra hardware logic and so it is not critical in its adjustment. The flexibility of the system to generate different potential excitation waveforms was illustrated in Section C. The real flexibility that the system offers can be seen by its ability to perform a wide range of electrochemical experiments where the current or the potential must be measured or controlled. Since the operation of the system is under computer control, and the operating program determines the type of the experi— ment that the system will perform, the operator can choose almost any polarization technique to work with in order to obtain the best response of the studied chemical system. 1. Controlled Potential Experiments One of the obvious applications of the coulostatic generator is in experiments involving control of the elec- trode potential while measuring the resultant current. The current needed to maintain the potential constant at 51 a particular value can be calculated directly from the charge content of the pulses and the number of pulses used during a specific time. In addition, information regarding the differential double layer capacitance can be obtained by measuring the potential immediately before and after the addition of a charge pulse. Once the differential double layer capacitance has been calculated in the par- ticular potential range of interest, the system can be used to produce potential step functions. A large charg- ing capacitor can be used to rapidly change the potential to a new value, and then smaller charge pulses can be used to maintain the potential constant. Since the large pulse is used to change the double layer capacitor to the new potential value, the number of the smaller pulses, used to maintain the potential constant, give the inte— gral of the Faradaic current. This provides a very effective way to compensate the charging current effects. 2. Controlled Current Experiments The coulostatic generator can be used as a current source for controlled current experiments in which a constant current is passed between the working and the counter electrode, and the potential of the working elec- trode is measured as a function of time. By injecting charge pulses at constant time intervals to the cell, the coulostatic generator acts as a current source. The 52 average current supplied by the coulostatic generator is controlled by the charge content and the rate at which the pulses are applied. Different current densities can be obtained under software control simply by changing these time parameters. In addition, rapid current steps or complex current waveforms can be created simply by programming changes. Again the differential double layer capacitance can be calculated from the potential measure- ments immediately before and after the addition of charge. CHAPTER 3 POLAROGRAPHIC MEASUREMENTS USING THE MICROCOMPUTER CONTROLLED COULOSTATIC GENERATOR 53 CHAPTER 3 POLAROGRAPHIC MEASUREMENTS USING THE MICROCOMPUTER CONTROLLED COULOSTATIC GENERATOR A. Introduction The operation and the characteristics of the coulo— static generator, and its possible implementation in the basic polarization techniques have been described in Chapter 2. In this chapter the application of the coulo- static generator in polarography will be discussed. In 1920 Jaroslav Heyrovsky used a dropping mercury electrode to observe the current-voltage curves obtained from an electrochemical cell, and he set the basisfkmla new electrochemical technique, named polarography. The basic principle of polarography is the application of a potential excitation signal to the cell, and the display of the resulting current as a function of the applied potential. The current—voltage curves can be used for both quantitative and qualitative analysis, and polaro- graphy has been used not only for the determination of inorganic ions but for organic substances as well. It can also be applied to solutions in some nonaqueous solvents. Polarography is probably the oldest instrumental method of analysis which is still under development, and as a classical method of analysis it has been described in many 5A 55 books (35-38). When a potential sufficient to reduce the surface con- centration of the electroactive species to less than 1% of the bulk concentration is applied to the DME, the rate of the electrode reaction becomes diffusion controlled. Passage of current requires material to be transported to the electrode surface as well as away from it. Starting from Fick's second law of diffusion, a relationship can be developed to describe the diffusion limited current as a function of the concentration and the diffusion of the electroactive species. According to Fick's second law of diffusion, (38) 2 dC(x,t) = Dd C(x,t) (1) dt dx2 where D represents the diffusion coefficient, C the con- centration of the electroactive species at distance x from the electrode surface, and t the amount of time that the concentration gradient has existed. Equation 1 can be solved to give a relationship for the concentration in terms of the parameters x and t: X C(x,t> = Cerf <2) By taking the derivative of Equation (2), the concen- tration gradient at the electrode surface can be found: 56 C = (3) <§§> This gradient produces a flux of material crossing the electrode boundary which can be expressed in terms of the electrode current, i: H. II nFAD (gg) (A) where n is the number of electrons involved in the reac- tion, F the faraday, and A the area of the electrode. When Equation (3) is substituted into this relation, an expression for the semi-infinite linear diffusion current is obtained: 1 = nFACDl/2 (5) nl72tl/2 (Cottrel Equation) The above diffusion current equation can be extended to include the dropping mercury electrode by appropriate substitution for the area of the electrode. The area of the DME as a function of the experimental parameters is given by Equation (6): A = (,fl)1/3 32/3 m2/3 t2/3 d-2/3 (6) where m is the mass flow rate of mercury from the orifice of the capillary, t the life of the drop, and d the density of the mercury under the experimental conditions. 57 By substituting Equation (6) to Equation (5) the cal- culated diffusion current for the dropping mercury elec- trode is obtained: (it)calC. = A6A nCDl/2m2/3tl/6 (7) Experimental tests indicate that the constant in Equation (7) is too small by a factor of /773. This cor- rection factor is due to the fact that the growth of the mercury drop happens in the solution away from the capillary orifice. Thus the correct diffusion current expression for a dropping mercury electrode is: i = 706 nCDl/2m2/3tl/6 (8) which gives the current at any time up to the life time of the drop. If the drop time, td, is substituted, the Ilkovic equation is obtained: id = 706 nCDl/2m2/3tl/6 (9) For reversible reactions the applied potential is related to the polarographic current by the Nernst equa- tion: -i 0.059 1d + —_H_— log —37— (10) 58 where i is the current at a particular applied potential. The half wave potential, El/2’ is defined as the potential at which the current is equal to id/2 and it is also related to the standard electrode potential, E°, of the electroactive species according to: D1/2 _ 0.059 ox E1/2 - E0 - Eref - n log _I72 (11) Dred where Eref is the potential of the reference electrode and DOX and Dred are the diffusion coefficients of the oxidized and reduced species respectively. Because El/2 is directly related to the standard reduction potential of the redox couple, it is useful for qualitative analysis of electroactive species. B. Determination of Cd2+ In order to use the coulostatic generator in the polarographic determination of Cd2+ in a solution, the program described in Figures 17, 18, and 19 was used. This program was used to generate and apply a ramp to the cell and to measure the resulting current as a function of the electrode potential. The program starts with an initial dialog, similar to that described in Chapter 2, Section C to obtain the values of the run parameters. The significance and the legal values for the parameters VPULSE, VINITIAL, VFINAL, and 59 INITIAL DIALOG VPULSE,V1NITIAL,VFINAL DVSTEP,DELAY l LOAD DAC .—————— DFDF TART CLOCKZ CLEAR N,M,P DELAY MEASURE VCELL srvs on: I vrVMAX GIVE one CHECK __J - PULSE J‘ _T\\\\\\ + PULSE VHAX)VI)VMIN START CLOCKZ Figure 17. Flow chart of the program POLARl. First part. 60 .meQ ocooom .Hm_o deznz JJmu> oo< xA~>Aupxm> ~+mum uwnaa - wzo m>~o «+zuz 44wu> oo< «02.2 44w0> oo< 2H1>AM>Ax z~x>v~>vmhxw> .UA<0> machm z macho J wco»m a wCOFm mxuono Fmx~> (v. aaca uaoeu ~me>v~> wyuo deem Duwu> wcam<:) M=H+1 2 l STORE H RETURN Figure 19. Flow chart of the program POLARl. Third part. 62 DVSTEP aretfluasame as in SCANV program (Chapter 2C). The parameter DELAY has the same significance as the parameter TEXP in the SCANV program and it indicates the delay time between the beginning of the drop and the beginning of the experiment. A 16 bit software counter has been added in this program which measures the number of negative pulses that the system injects to the cell in order to keep the electrode potential constant. After the detection of the drop fall, the computer starts CLOCK2. After DELAY has elapsed, the computer measures the electrode potential and if it is not equal to the desired value,the computer asks the pulse generator to inject positive or negative pulses in order to bring the electrode potential to the controlled value. When the electrode potential reaches the desired value, the computer starts CLOCKl and continues to control the addition of charge pulses in order to maintain the electrode potential constant. Each measured potential value that is not beyond the two extreme values VEXTl and VEXT2 is added to a 32— bit software buffer and the number of measurements (N) is increased by one. After every injection of a negative pulse to the cell, the tally of the number of negative pulses (P) is increased by one. When the program detects the drop fall, it stops the clocks and stores the time that has been elapsed from the moment that the electrode poten- tial reaches the desired value until the end of the drop. 63 Immediately after that,the program resets and restarts the clocks. In the following steps the program stores some information (N, P, Vtotal, Vcalcul.) concerning this particular drop and calculates the potential at which the next drop must be. If VNEXT < VFINAL,the program stores VNEXT, calculates the new values for VMAX, VMIN, VEXTl, VEXT2 and jumps to the DELAY timing loop. If VNEXT > VFINAL, the program stores the number of drops (M) and returns to the calling program. By entering the name of the sub- routine SAVE2 in the keyboard, the operator can store the acquired data on a floppy disk. The stored information is transmitted to the minicomputer for final processing and final plotting. The current which the system provides to the cell in order to keep the electrode potential constant can be calculated from the equation C2'VPULSE°P I = t (12) where C2 is the value of the charging capacitor, VPULSE is the charging voltage and P is the number of the negative pulses injected to the cell during time t. The quantity Vtotal and the number of points (N) can be used to calcu- late the average electrode potential of each drOp. The plot of the calculated current versus the average electrode potential should look like a smooth polarogram. 6A Figures 20, 21, and 22 show the polarograms obtained from 2+ different solutions of Cd in 0.1 M KC1 as supporting electrolyte. The run parameters for these polarograms are: VPULSE = -300 mV, VINITIAL = 0 mV, VFINAL = —l500 mV, DVSTEP = 50 mV, DELAY = 100 msec. Table 1 contains 2+ a listing of the concentrations of Cd and the diffusion limited current corresponding to each polarogram. Figure 23 shows a plot of the measured diffusion limited current 2+ as a function of the concentration of Cd in the solution. The working curve has a slope of A.6 x 103 and an inter- 2 cept of 2.31A x 10- , and as it can be seen, it does not deviate from linearity in the studied range of concentra- 2+ 6 M Cd2+. tions of Cd (1 x lo“3 M to 5 x 10' Figure 2A shows a plot of log Id versus log C. The accuracy of the classical polarographic method is of the order of 1 percent in the concentration range from 10'2 down to about 10’“ molar, and of the order of A and 10'5 molar. The lower detec- 5 percent between 10— tion limit of the classical polarographic method is in the neighborhood of 10_6 molar (35). One of the main factors which determines the accuracy and sets the detection limits in the conventional DC polarography is the charg- ing current. The charging current is part of the measured current in the electrochemical cell and it is used to charge the double layer capacitor of the working electrode to the controlled potential. In order to improve the accuracy 65 A (sag V ezmmmao -1..ecaci=.u.uu I .1 I. I." I." I.“ a 2 1 -. It. ‘ O 0 LI II . O 0 If. [fl . I- o o 1... Jr! C O O 1.! o 1.. O O I." .r . O . III I... JII o o o ”H C O C [I '1' [I o o o :1 III . O O I.‘ I] III I] o o 0 II II o o 0 1| 4] r. . . . “Ii ll 1' r o 0 0 U! {I . lvl I... . I] o ”H . I... III C I- I] . i- [I o in. I... III 0 ll. . I r . -m. . .I. . II e we rE—b.P——Dn_~nhnpbwhn—b-—h—P—p~thhb——~_—~nub.pP—nn—npbhnhPPhhph—r-b-hpfibuhhbhb to —-u—o--«—-.uqnqdq~u“go—cucn—uqu-C—ndu—u.uqd—-H——-uq——-~d_-Wuu--u-q-cu .- 1.E500 -E VS SCECV) gram of a 0.1 M KCl solution (1), 5 x M 0d2+ in 0.1 M KC1 solution (2), 1 x 10‘3 M 0d2+ in 0.1 M KC1 solution (3). Polaro 10’“ Figure 20. 66 1.(300 /'\ <( :3 . . ’ 9 \J 0" I,— Z ..-,2 LL] 0. ° . m ..- D: D L) 0...: -0 100 0.000 1.800 ~E VS SCE(V) Figure 21. Polarogram of a 0.1 M KC1 solution (1), 5 x 10’5 0d2+ in 0.1 M KC1 solution (2), 1 x 10‘” Cd2+ in 0.1 M K01 solution (3). 67 0.5500 ( LJ/A ) CURRENT 0.E300 -E VS SCE(V) Figure 22. Polarogram of a 0.1 M KC1 solution (1), 5 x 10'6 Cd2+ in 0.1 M KC1 solution (2) 1 x 10'5 0d2+ in 0.1 M KC1 solution (3) 1.E500 , 68 Table l. Diffusion limited current at various concentra- tion, of Cd2+ in 0.1 M KC1 as supporting electro- lyte. Cd2+ Concentration Id Figure M uA lxlo’3 A.60 20-3 5x10'V1 2.A0 20-2 1x10.l4 0.A7 21-3 5x10‘5 0.27 21-2 1x10"5 0.05 22—3 5x10"6 0.027 22—2 69 5.:a00 /\ 4: :3 \/ C] H -1.EB00 . -0.100 1.000 C 10**3 Figure 23. The working curve for Cd2+ determination. 7O 1.E300 LOGID ~22.0E30 ‘8.000 -2.000 LOGC + Figure 2A. Plot of Log Id versus Log C for Cd2 determina— tion. 71 and the detection limits of the polarographic method, the charging current must be reduced or eliminated from the current measurements. The DC capacitance current is given by = km2/3 t’l/3 q (13) 3'Lo = gm) (8% (m) where q(m) is the surface charge density and k is a con- stant. The ratio of the Faradaic current to the DC capaci- tance current is directly proportional to the drop time t at which the current measurement is made. Thus, in order to have the maximum sensitivity, it is desirable to control the electrode potential at the desired value late at the drop life. The electrochemical system described here provides an easy way to do so. The operator has the ability to choose any time of the drop life to start controlling the electrode potential and to measure the resulting current. Figure 25 shows the polarograms of a solution contain— ing only the supporting electrolyte, 0.1 M KC1, obtained at two different periods of the drop life. In the first case (Plot 1) the experiment started after 100 msec from the beginning of each drop (DELAY = 100 msec) and in the second case (Plot 2) the experiment started after 5000 msec from the beginning of each drop. There still is some amount of charging current after 5000 msec from the beginn- ing of the drop but compared to the first case there is a 72 0.5500 /\ < I) \/ F- 23 LU . 1 cc CI: 0... 3 .. . .2 -0. 100 0.000 1.800 -E VS SCECV) Figure 25. Polarogram of 0.1 KC1 solution of two different periods of the drop life: DELAY = 100 msec (l), DELAY = 5000 msec (2). The current at the init- ial part of the polarograms is equal to zero because the program is written so that only the negative charge pulses are counted. 73 drastic improvement in the base line. When the potential of the working electrode is sudden— ly stepped from one initial value to a new value, sev- eral components of the measured current must be con- sidered (A). First there is the pulse Faradaic current which is proportional to the concentration of the electro- active species. Second there is the pulse capacitance current required to change the electrode double layer to the new potential. To optimize the sensitivity, the ratio of the Faradaic current to the sum of all other currents must be maximized. The pulse Faradaic current is given by 2 D 1/2 PAS -PA 1 = nFAC(—E) ( 2 2 ) (1A) 6+PA5 +PA+P 5 A where E +E .. __1 2 _ fl and V F (E -E )n— 6 = exp 2 21 RT (16) El and E2 are the potentials between which the potential is stepped. As the pulse potential becomes more negative than E1/2’ PA approaches zero, so the limiting current ob— tained is the Cotrell current (Equation 5). 7A The pulse capacitance current is given by i = (AE/r)exp(-t/er ) (17) c l where t is the time after the step application, is the Cd1 capacitance of the electrode double layer and r is the solu- tion resistance. Since the pulse capacitance current de— cays more rapidly than the pulse faradaic current, the ratio of the two currents continues to increase as the current measurement is delayed after the step application. The total faradaic current, after the application of a potential step to the drop is equal to (18) The limiting pulse faradaic current (iPF) is given by Equa- tion (5) and it is a current spike decaying with time to a diffusion limiting value. The DC faradaic current (iDCF) is given by Equation(9). The average current after the ap- plication of the potential step until the end of the drop is equal to i t d __ 1 - -,:—1— f idi=I = nFACDl/ZM ”2 —1— f t l/2dt d ° tl ° 1/2 2/3 1 To + 706nCD m f (Td‘T25 T2 T1/6dT (19> 75 where tl is the time required for the pulse faradaic cur- rent to reach the diffusion limited value, T is the drop 2 time corresponding to t1 and Td is the end of the drop. If the potential step is applied at two different periods of the drop life,the ratio of the two average currents will be equal to t 1 t1 0 t! l O + 706nCDl/2m2/3 1 de Tl/6dT T (Td-T2) 2 (2o) + 7O6nCDl/2m2/3 T———l—7 f T'l/6dt' By substituting Equation (6) into Equation (20), the ratio becomes T2/3 g; ftlt-l/Zdt + j 7 1 de T1/6dT 1 t1 0 3 (Td-Té) T2 T'2/3 l; fti t"l/2dt' +« 1 1 de T'l/6dT' 1 ti o 3 (Tgiré) Ti (21) 01” 76 2/3 =l/2 6 1/6 Tl x 2 x tl +¢Tg x ? x (Td-T2) 12/3 t'l/2 7 6 y 1/6 T1 x 2 x tl +‘J; x 7 X (Td-T2) (22) Tland Ti corresponds to the drop time of which the potential step is applied. For t1 = 0.55A sec, ti = 0.007 sec, T1 = 5 sec, T2 = 5.55A sec, Ti = 0.1 sec, Té = 0.107 sec, and Td = 9 sec the ratio of the two average currents is equal to 1.35. This indicates that the sensitivity increases as the pulse step is applied later in the drop life. Figure 26 shows the polarogram of a solution of 5 x 10"6 M Cd2+ in 0.1 M KCl obtained with different run parameters. In the same figure the polarograms of the blank solution are shown. For plots 1 and 2 the run parameters are: VPULSE = —300 mV, VINITIAL = 0 mV, VFINAL = 01500 mV, VSTEP = 500 mV, DELAY = 100 msec. For plots 3 and A the run parameters are: VPULSE = -300 mV, VINITIAL = -500 mV, VFINAL = -900 mV, VSTEP = 20 mV, DELAY = 5000 msec. Plots 3 and A have been shifted by 0.2 units in order to be plotted in the same figure with Plots 1 and 2. The charg- ing current has been removed from the polarographic wave of Cd2+. Also the diffusion limiting current has been increased so that the accuracy and the detection limits have been improved (Plot 3 and A). A new working curve for the determination of Cd2+ was obtained using DELAY = 5000 msec. Figure 27 shows the polarograms of a 1 x 10"5 M Cd2+ (A), 5 x 10—6 M Cd2+ (3), 77 0.5500 /\ <1 3 O. \J .000".... . .00°°'.. I‘— ou" ° 23 . .2 LU . . . . . 1 m . O . . O . . o m 0 . . O Q . . :3 .° .° L) ‘, ~° ‘E3.1E30 0.000 1.800 ~E vs SCE(V> Figure 26. Polarogram of a 5 x 10"6 M Cd2+ in 0.1 M KCl solution at different periods of the drop life, and the corresponding polarogram of a blank solution. DELAY = 100 msec (1,2), DELAY = 5000 msec (3,A). 78 1.‘+00 0...... /\ <( :3 ° . \l ..".. 09 ° ° H #4 , . 2 ' . .;;°" 1 -0.:200 0.500 1.000 -E VS SCE(V) Figure 27. Polarogram of a 0.1 M KC1 solution (1), 2+ 2+ 2+ 1 x 10"6 M Cd in 0.1 M KC1 solution (2), 5 x 10"6 M Cd in 0.1 M KC1 solution (3), 1 x 10"5 M 0d in 0.1 M K01 solution (A). DELAY = 5000 msec. 79 6 2+ and l x 10- M Cd (2) solution in 0.1 M KC1. The polaro- gram of the blank solution is also shown in the same figure (Plot 1). Figure 28 shows the polarogram of a 5 x 10-7 2+ M Cd (2) in 0.1 M KC1 solution, and the polarogram of the blank solution (1). The run parameters for the above polarograms are: VPULSE = —300 mV, VINITIAL = -500 mV, VFINAL = —900 mV, VSTEP = 20 mV and DELAY = 5000 msec. Table 2 contains a listing of the concentrations of Cd2+ and the corresponding diffusion limited current. Figure 29 shows a plot of the diffusion limited current as a func- 2+ tion of the concentration of Cd in the solution. The working curve has a slope of 8.9 x 103 and an intercept of A -8.9 x 10‘ Figure 30 shows a plot of log Id versus log C. C. Selectivity According to Equation 10 the plot of the electrode potential versus log [(id—i)/i] should give a straight line with slope equal to 0.059/n at 25°C, and the potential where the log term becomes zero should be the half-wave potential. In order to verify these predictions,two polarograms of a l x 10"“ M Cd2+ in 0.1 M KC1 solution were taken with different run parameters. Figure 31 shows these two polarograms. Table 3 contains a listing of the elec- trode potentials and the corresponding log [(id-i)/i] values. A plot of the log term versus the electrode 80 0.5500 A O .COHpmpodo .zm ohswfim ; Tye mmo «to uwm> >m+ >nao LmHoon .Loppm>coo woamcm+ m. 8 xqu téthé so no no so hmu b. llllllllllz m D : \E Z \L + Z \ .l/l \ 1/1 \ 1 / \ / \ //. \ / .\E /_ \ / : >mel)\(f1+J H% 0202 H . LEAH” .C. \ d er _f\ xxwx F) 97 the data bus. Next the computer sends a two bit word to the DAC and the CS6, A0 and MEMW pulses. The output pulse of the AND gate (HBS) loads the high byte register of the DAC with the data on the D0 and D1 lines and trig— gers the monostable (MONO). The output pulse of the monostable (LDAC) updates the output voltage of the DAC. In order to select any switch, the computer latches a A-bit word in the 7A17A register. The outputs of the register are connected to a 7AA2 A-line-to—lO—line de- coder, which decodes the input signals and selects the appropriate switch driver. Two 7Al7 hex/open collector drivers are used to drive the output signals of the de- coder to the DAC board. The CLEAR switch is used to manually reset the register. B. Voltage Measurement System The voltage measurement system measures the potential between the working and the reference electrodes, ampli- fies it, converts the analog signal to a digital number, and sends the results to the microcomputer. The system (Figure 37) consists of a buffer, an amplifier, a sample and hold to hold the voltage during the digitization, an analog-to-digital converter (A/D converter), and the interface logic which controls the operation of the vol- tage measurement system (Figure 38). The buffer ampli- fier (Al) is an RCA CA31A0 operational amplifier in the 98 Amov Amov zwwm Awov Arov zwmx nouv Ahoy zwmq ntzv Amzv Amzv Ahzv nwzv Amzv nauzv Auuxv n~uv hmhw “gov I\m .Lopno>coo HmpfimHQIOplmonc< .sm opswfim z— z~ z" no mo u:no.o mo OSZTAH-OGV to ma N 040: s\mnazcoo Q\< .wm opswfim j—?fl+ lv//, 38 51 . T _ m 020: in .\: 33: H . \J axmx 83 zoom .C. M «A L .93 >m+ mxmx 2.3 zwm: .C. W A a mmp >m+ >\# is cxmx 33 2:... .C. m ../L //L 4 i.emo >m+ mxmx 88 E5 .C. (M 4 (A Aim .me. >n+ e we a u thin 100 voltage follower configuration, and is used to buffer the input signal. Two l2-volt zener diodes (1N52A2) between the input and the ground protect the amplifier by keeping the input voltage between the safe limits. The resistor and the capacitor in the feedback loop prevent the oscilla— tion of the amplifier when the amplifier is on and there is no voltage present at the positive input of the ampli- fier. The second amplifier (A2) is also an RCA CA31A0 operational amplifier and it is used as an inverter with gain (G=2). The amplification is necessary if the full resolution of the A/D converter is to be utilized. The output of the inverter should be exactly equal to the potential of the working electrode with respect to the reference electrode. The sample and hold amplifier, a Harris Semiconductor A1-2A25-5, tracks the voltage con- tinuously, holding it only while the A/D converter digi- tizes it. Two 5.1—volt zener diodes (1NA733) between the sample and hold input and ground are used to keep the input voltage between the limits of the A/D converter. The A/D converter is a DATEL ADC-HY12BC 12-bit suc- cessive approximation analog-to-digital converter with an input range of :5 V and a specified conversion time of 8 microseconds. The resolution of the A/D converter is 2.A mV which corresponds to 1.2 mV resolution of the electrode potential. The interface of the voltage meas- urement system to the microcomputer is divided in two 101 parts. One part is built on the same board with the A/D converter and the other part is built on the microcomputer board. In Figure 37,the connections between the two boards are shown. The Operation of the system is as follows Usually the S/H signal is low and the sample and hold is in the sampling mode. In order to read the potential of the working electrode with respect to the reference electrode, the computer sends the CS77 and MEMR pulses. The output (STRT) of the inverter is a 260 msec pulse which starts the conversion sequence in the A/D converter. The rising edge of the STRT pulse clocks the 7A7A flip—flop and the output of the F/F turns the sample and hold to the hold mode. During the conversion time,the STATUS output of the converter is high. The computer checks the STATUS out- put to see when the conversion is completed and reads the output data of the converter. The l2-bit output word is divided in two bytes, the 8—bit low byte and the A-bit high byte. The computer reads the two bytes separately by sending the LBEN and HBEN pulses to the drivers. The HBEN pulse also clears the output of the F/F and the sample and hold is switched to the sample mode. The rising edge of the LBEN, HBEN, and BSEN signals triggers a monostable (MONO) producing a 1.0 usec pulse, which is connected to the READY line of the microcomputer. This pulse causes the microcomputer to enter into a WAIT state for 1.0 Usec. 102 The 1.0 usec delay ensures that the Data Bus contains the right information during the read time. Two 8097 and one 8095 TRISTATE hex buffers are used as drivers to connect the appropriate set of signals to the Data Bus at the right time. C. The Real—Time Clock The real-time clock is used by the system to measure the drop time and to generate drive delays under computer control. It consists of an INTEL 8253 PROGRAMMABLE INTER- VAL TIMER and a few supporting chips. The 8253 is a programmable converter/timer chip organized in three independent counters (A0). Each counter consists of a single 16 bit pre—settable down counter. The counters are independent and each can have separate MODE configura- tion and counting operation. Counter 2 is used as a rate generator to generate a l KHz signal which is used as a clock input for counter 0 and counter 1. Counter 0 is used to measure the drop time and counter l is used to generate time delays. The interface of the real-time clock and the control logic are shown in Figure 39. The operation of the clock is as follows. The CPU sends a control word to each counter of the 8253, to set its MODE, and its present count value. To start the opera- tion of any counter,the CPU sets the appropriate bit in the 7A17A register. A low in the Gate input of the 103 "#30 .xooHo oEHp Hmom .mm opzwfim on «o No we to no we so sumo xxwx u< mmNm o< uxuo sxuu ADLLVNL N»: 104 counter inhibits its operation. A high enables the counter operation. In order to measure the drop time, the CPU sets counter 0 1A MODE 0 and loads the counter with zeroes. When the computer detects the drop fall,it sets Gate 0 and Gate 2 and starts the operation of the clock. At the next drop fall,the CPU stops the operation of Counter 0 (Gate 0 = 0) and reads the contents of this 16— bit counter. The two's complement of this number gives the drop time in milliseconds. In order to generate accurate time delays,the CPU sets computer 1 in MODE 0 and loads the counter with the appropriate counts (milliseconds). After the count is loaded into the counter,the CPU sets Gate 1 and Gate 2 and the counter starts counting. The CPU checks the output of the counter l (OUTl). A high in OUTl indicates the end of the delay time. CHAPTER 5 MULTIMICROCOMPUTER SYSTEM ARCHITECTURE 105 CHAPTER 5 MULTIMICROCOMPUTER SYSTEM ARCHITECTURE A. Introduction Digital electronics and computers have become, in recent days, standard laboratory tools for the analytical chemists. The on-line use of the computer for instrument control and operation, data acquisition and data analysis, opens new areas in analytical chemistry. Better accuracy, greater flexibility and new analytical techniques are being obtained with the automation of analytical ex— periments. The on-line application of the computers to the automation of analytical experiments have been studied by some workers and there are many books and reports on this subject (A1,A2,A3,AA,A5,A6). Electro- chemistry offers the most convenient field for the on- line use of the computers since all the parameters in an electrochemical system can be set electrically rather than mechanically, and the use of digital circuitry for instrument control and operation in this field is well established. Electrochemical function generators have been described which are under computer control (A7—A9), and an increasing number of computer applications in the electroanalytical chemistry field have been published 106 107 (50-56). In all these applications of computers in electrochemistry, a minicomputer was directly connected to the experiment, as a dedicated computer, to control the instrument and acquire and analyze the data. The minicomputer is the ideal choicefxn°a dedicated computer because it offers highly sophisticated software support- ing systems, and it has a fast response time. The only disadvantage of the minicomputer is the price that one has to pay for it. During 197A a new large scale integrated circuit (LSI) appeared on the market, the microprocessor, which func- tions the same as the central processing unit (CPU) of larger computers. The significance and the importance of this new technological development to the analytical chemist is that a microprocessor, in conjunction with memory, control circuitry, and data input and output ports, constitutes a microcomputer (57-61). This micro- computer can be built, at low cost, as part of any analyti- cal instrument and it can serve as a dedicated computer. The disadvantages of the microcomputer is that it is relatively slow and the available supporting software systems are not so highly sophisticated. For complex functions, the programming in the microcomputer can be difficult and long. Also,as the complexity of the func- tion increases the response time of the microcomputer decreases. 108 B. Multiprocessor System In order to improve the response time of the micro- computer and to simplify programming, several micro- processors can be linked together to form an intelli- gent network (62,63). Such a multiprocessor system was developed in our laboratory and it was used as the control logic in the electrochemical system. A block diagram of the multiprocessor system is shown in Figure A0. The system consists of a number of microprocessors, each one located in a different board, connected together through the main bus. The main bus includes a l6-bit address bus, an 8—bit data bus and four control lines (MEMR, MEMW, DBIN, READY). Each microprocessor, in con- junction with some supporting circuitry, constitutes a fully functional microcomputer capable of independent operation. A specific task is assigned to each micro- computer and one of them, the coordinator, coordinates the operation of all the slaves in order to obtain a unified functioning of the system. A user-defined portion of each slave's memory and task space resides in the address space of the coordinator and the local slave bus is an extension of the coordinator's bus. The coordinator has the capability to start or stop the slave processor, read or write status words to them, instruct them to execute a specific program of their software library, reprogram them, or even take complete control of the slave's 109 MAIPJ BUS DECODER RAM TASK l 1 UP DECODER . RAM TASK l RAM TASK OECOOER ‘ l Figure A0. Block diagram of the multiprocessor system. . .. .4. 3...... 110 memory and task. When the coordinator wishes to take over control of the memory or task space of one of the slaves, it sends the address of that particular slave's memory or task to the main bus. The address decoding circuitry of each slave microcomputer receives and decodes the address and one of them recognizes its address and informs the slave processor that the coordinator desires control of the local bus. After the slave processor finishes its current cycle, it enters in a HOLD state and the decoder switches control of the slave's bus to the coordinator. The co— ordinator now has full control of the slave's bus. The coordinator terminates its interaction with the slave by simply removing the slave's address from the address bus and the address decoding circuit returns control of the slave bus to the slave processor. For details on the construction of the address decoding circuit and the main bus assignment see Reference 33. One of the main advantages of the multiprocessor system is its ability to perform simultaneously a number of different tasks with the result that the speed of the system is significantly increased. Other important ad- vantages of the system include standardization of the design, modularity in both software and hardware, ease of expansion in software and hardware, and simplified pro- gramming. 111 C. Multiprocessor Control of the Electrochemical System The control logic of the electrochemical system con— sists of three microcomputers, the coordinator and two slaves, Each microcomputer is responsible for specif- ic tasks. Figure #1 shows a block diagram of the multimicrocomputer system used to control and operate the electrochemical system and the specific tasks assigned to each microcomputer. The three microcomputers and their dedicated I/O interfaces are contained in a SR20105 BUD RACK SUB SYSTEM. The rack has 12 cards slots with 12 58—pair PC connectors. A back plane was soldered to the lower #0 pair of connectors to provide a common bus across the width of the rack. The upper 18 pair of connectors were left open for special connection between boards. A typical microcard is a 6.2 x 8.2 inch double sided wire wrap board with holes in 0.1 inch centers. All of the micros have their own local memory for the storage of data and program modules. A new software system was developed (33) and was used as the operating system. The executive for this system resides in the coordinator micro. The function and the memory map for each micro will be discussed separately: I112 44mg zwhm>w hzwxwm3m .Eopmzm HMOHEonooppooHo opp mo Hoppcoo powwoOOLQHpazz .H: ohswfim ~w><4w moph» o» xz_4 >aao4u ox x<¢ awesome mopmam wwwwml0ploooo: mowdm xmmp can maoEmE a m.o>mam mwmwmlouloooom QOHmpo>coo HmprHQIOplwoawc< pampm Emem Eopmzm pcmEoQSwmoE owmpao> oomwa popno>coo Q\< Eopm Hmcmflw mmzn omom zmmm Eopmzm pcoEoLSmmoE owmpao> comma popho>coo Q\< Eonm mama swan Uwom zmmm Eopmmm psoEopSmmoE oprHo> comma pmpho>soo Q\< Eopm mama 30H boom zmmq Eopmzm pcoEmQSmmmz oprHo> ooona Lopwfiwmp Hoppcoo xOOHo moama m Lopmfiwop xooao Norma H nmpmfiwmn xooao Hosea o pmpmfiwmn XOOHQ oozmfi memEEoo COHpocsm Afiwpoov mmohco< .Uozcfipnoo .2 canoe mam goszm pomHmm H o o H mam noszm HomHmm o o o H nzm soszm pomHmm H H H o mam goszm pomHmm o H H o mam.noszm pomHmm H o H 0 saw noszm pomem o o H o mam noszm somHmm H H o o mam copHZm pomHmm o H o o Hzm noszm somHmm H o o 0 03m goszm somHmm o o o Q on Ho mm mm 6 mmememm Boo ooomH u cowmmo>coo upwpm “poppo>coo moawsmIOp uHmpHmHe ou wasp cng mprz <9H.mmmnocoo wOHmaIOp -HmprHe on mass 30H mpan mmHnome mo awe hpoEoz .m oHnme 117 to control the operation of the digital-to—analog converter and address 16000 is used to control the switches of the pulse generator. The truth table of OUTREGISTER is given in Table 5. 3. Slave 1 Micro Slave 1 microcomputer, the communicator, is respon- sible for all the communications of the system with the operator. It is also communicating with the PDP—ll mini- computer and the teletype. Table 6 gives the memory map of the communicator. Chapter 6 includes a detailed description of the operation of the communicator. QmHm ompmm mommsummnH 3mm smomnmo see map sons mOH>nmm mommseomnH @mm weeuHo mgzpmHmp was 0p mums nsmm on emm: epo Heenoo mmBmHmmm BDO mmmmpm zH\mmemHmmm Boo ooomH snosmz 2mHm mo awe mLoEmz .m oHnt 119 2 NNNNHIOpIccha moanompo ompo>on moapdCMIa poopso moanampc map moanmcmna psmuso E¢m> on» moanmcmla a pmxmao mpompOhQ opapzla c poxmac mpoopOLQ opamzla ponoE mo>apc momoam map manmmamla moanmmpo owpo>omlma oanmco mcammlmm apoopopa opapzlma opoopopm opapznam wanmcm n0pozlcm moeamo Ion ow comma ma oompoaop osela c44m Pzwimmmaxm .Empmhm - amoanopwpoam no mo Ewhwmac xooam .z: madman «m _m .mooo Taco... AHH madi maamzouom(~: HUV ax \\ .xxoo \\\\x pmo awksazouomquHklnz [L >hh prom man— oxa omen: oxa - and,oxH 4c GNHZ~ out _ Illfio»< < 1 .; zymo mm M >omo mm 22 voo Join.— b. owDOOW“ five; _o:coU .uwuuao .30:— mwmmbn 302.0 .anc_ 140 The Diskette Controller and the Dual Diskette Drive provide a low cost random access data storage system with an on-line capacity of more than one million bytes. The VRAM—GRAPHICS peripheral consists of a MATROX MTX-l632SL Video RAM and a MATROX MTX-256**2 Graphic System. The VRAM is used to display alphanumeric data and its output can drive a CRT monitor to provide a 16 x 32 field of 512 ASCll characters. The Grahpic System generates a matrix of 256 lines with 256 dots in each line, and allows a microcomputer controlled plot of dif— ferent graphic figures formed by a 256 x 256 dot raster on the screen. The CRT is a Ball TV-9" Data Display Monitor. The microcomputer controls the data display on the monitor, and the operation of the Diskette Drive through the CONTROL LOGIC which consists of a six bit CONTROL REGISTER and Drivers. The bit assignment and the function of each bit in the CONTROL REGISTER are as follows: BIT D0 : Spindle motor enable. A zero on this bit turns off the spindle motor of the diskette drive. Bit D1 : Write protect ¢. A zero on this bit write protects the diskette ¢ and the write circuitry of the diskette drive is prevented from writing on this diskette. Bit D2 : Write protect l. A zero on this bit write 141 protects the diskette 1. Bit D3 : VRAM. The TTL Video output of the VRAM is gated with this bit so the microcomputer can turn on or off the alphanumeric output of t the VRAM. A zero on this bit disables the alphanumeric output to the monitor. Bit DA : GRAPHICS. The TTL Video output of the Graphic System is gated with this bit. A zero on this bit disables the graphic out- put to the monitor. Bit D5 : REVERSE GRAPHICS. The inverted TTL Video output signal of the graphic system is gated with this bit. A one on this bit enables the reverse graphics. The KB is an ELECTRONICS WAREHOUSE EW-lOO 63 Key ASCll Encoded keyboard with parallel data output. INPUT REGISTER latches the data from the KB and sets a flag to inform the microcomputer that data are available on this register. The communication between the microcomputer system and the minicomputer is obtained through the Communicator and the block diagram in Figure 6 shows the logic of the link. Usually PDPllREG is high and the STATUS BUFFER on the Micro I/O Port is enabled. In order to read the STATUS REGISTER the microcomputer sends the address of the INPUT BUFFERl and MEMRI The output pulse of OR gate 2 enables the OUTPUT BUFFER on the Micro I/O Port and triggers 142 Monostable2. The output pulse of the monostable pulls the Ready line low for 1.5 usec causing the CPU to enter the WAIT state for 1.5 usec. To read a data word from the minicomputer,the microcomputer changes the level on the BBBIIREQ line to zero to disable the STATUS BUFFER and repeats the read operation. RLGR is used as a flag to inform the microcomputer that data are available on the Micro I/O Port. During a transfer of data from the microcomputer to the minicomputer,the following steps are involved: The microcomputer changes the level on the RDRIIREG line to zero to disable the STATUS BUFFER and sends the address of the DRIVERS, MEET, and the data word. The output pulse of OR gate 1 enables the DRIVERS and loads the INPUT REGISTER on the Micro I/O Port. During the write Opera- tion,the ready line goes low for 1.5 usec causing the CPU to enter in the WAIT state for 1.5 msec. RLGI is used as a flag by the microcomputer for coordinating the transfer of information to the minicomputer. In order to use the teletype,the microcomputer changes the level on the PDRIIRER line to one to disable the link to the minicomputer and to enable the teletype logic on the Micro I/O Port, and asks for teletype service by changing the level on the TTYREO line to zero. When the link to the teletype has been established,the microcomputer sends the data as a series of pulses using the TTYOUT 143 line. The serial output to the teletype is created by a program which transforms the parallel data word to a serial data word with a rate of 110 bits/sec. F. Operation In the present mode of operation,the system can support four different types of communications: 1. Mini to microcomputer ASCII (UA) 2. Mini to microcomputer NORMAL (UN) 3. Micro to minicomputer ASCII (MA) A. Micro to minicomputer NORMAL (MN) The ASCII mode of communication is actually a transfer of Formatted ASCll files from one floppy disk to the other. Source programs can be created in the minicomputer using its powerful software operating system and transferred to the minicomputer using the ASCll mode of communication. The NORMAL mode of communication is actually a trans- fer of unformatted ASCll files from one floppy disk to the other. Data files can be transferred, using the NORMAL mode of communication, as images from the microcomputer to the minicomputer for extensive data analysis. The interrupt capability of the system is not used in the present mode of operation and the flags RLGl and FLG2 are used to coordinate the communication between the minicomputer and the microcomputer systems. The procedure 144 and the protocol of the communication between the mini- computer and the microcomputer is the following: The operator loads the communication programs of both ends of the link and by typing a two-letter command on the local keyboard he instructs the microcomputer to ask for service. The microcomputer sends an ACK to the minicomputer. The minicomputer reads and checks the character to see if it is an ACK. If the character is not an ACK the mini— computer ignores the request and returns to the wait loop. If the character is an ACK the minicomputer reads the FLAG REGISTER to see which microsystem asked for service, it sends the address of this micro system to the Micro I/O Port to enable the link to this micro system and sends an ACK-EOT. The microcomputer sends the two letter command and an EOT. The minicomputer replies with a BEL—EOT if the command is valid or with a NAK—ERROR MESSAGE—BOT if the command is not valid. The microcomputer sends the file specification (up to 2A characters)-EOT. The minicomputer replies with (a) ENQ—EOT if the transfer is from the microsystem to the minicomputer; 145 (b) SOH if the transfer is from the minicomputer to the microsystem; or (c) NAK—ERROR MESSAGE-BOT if there is a file error. The actual data transfer is as follows: Sender : Sends a 8-bit byte count (N). Zero byte count indicates the end of the transfer. Sends N bytes of data Sends Checksum Receiver : Reads checksum and sends ACK—EOT if check- sum is the same or NACK-EOT if checksum is different. The procedure is repeated until the sender sends a zero byte count to terminate the transfer. After the communication with the microsystem is ter- minated the minicomputer clears the Micro I/O Port and returns to the wait loop ready to accept any other service request. APPENDICES APPENDIX A CONVERSE LIBRARY FOR THE MICROCOMPUTER SYSTEM The name and the function of the programs used to operate the electrochemical system are included here. The listings of the basic subroutines are also included here. These subroutines constitute the programs SCANV and POLARl which are discussed in the text. Table 7. Converse Library for Operation of the Electro- Chemical System. Coordinator Library Name Function DIV l6-bit binary by 8—bit binary unsigned division BINDEC l6-bit binary to 5-digit BCD DECOUT Outputs a decimal number to the CRT ADCN Reads the A/D Converter. Registers H and L contains the 12—bit data word CNTRO Sets ClockO CNTR2 Sets Clock2. Clock2 is used as a l KHz Signal generator TEXP Sets Clockll WRITEl Outputs the drop time and the number of points per drop to the CRT SAVEl Saves on floppy the data obtained with program CELLT5 CHECKl Checks VCELL to see if negative or positive pulse is needed or if it is the end of the drop. CHECKl is used with CELLT5 146 147 Table 7. Continued. Name Function DFD Detects the end of the drop. DFD is used with CELLT5 DATl Gets one VCELL value, stores it in memory, plots it on screen VCELL5 Keeps the electrode potential constant at a controlled value CELLT5 Program described in Chapter 2, Section B CHECK2 The same function as CHECKl. It is used with programs SCANV and POLARl DTIM Sets Clockl DFDF The same function as DFD. It is used with programs SCANV and POLARl SAVE2 The same function as SAVEl. It is used with programs SCANV and POLARl DROPl Keeps the potential of one drop constant at a controlled value. Stores data in memory SCANV Program described in Chapter 2, Section C. CURRT Keeps the potential of one drop constant at a controlled value. Measures number of pulses and drop time. Stores data in memory. POLARl Program described in Chapter 3 Slavel Library SWFILE SCFILE STRSF DECBIN AXISX POINTl PARAM2 PAR3 Opens a file in the floppy disc Closes an opened file in the floppy disc Writes data to a floppy disc file 5—digit BCD to l6—bit binary Draws axes and tickmarks on the CRT Plots one point on the CRT Initial dialog for CELLT5 program Initial dialog for SCANV and POLARl 148 Table 7. Continued. Slave2 Library Name Function SW2 Gives a positive pulse. Controls SW1 and SW3 SW1 Gives a negative pulse. Controls SW1 and SW2 VPG Loads DAC SETPGl Sets the run parameters for CELLT5 program SETPG2 Sets the run parameters for SCANV and POLARl programs VNEXT Calculates the value of the electrode poten- tial of each drop. 149 6-BIT BY B-BIT UNSIGNED DIVISION (C DIV iI iSAVE STATUS AND REGISTERS V C m I V m 2 iGET DIVISOR sGET DIVIDEND 5BIT COUNTER UO ) I) F) N D p Q :10 NOV sROTATE LOH BYTE -- iROTATE HIGH BYTE :DECREMENT COUNTER . 'OI )P ppbo a mo: 3L Dbl C > ‘0 mg CZ co co M O :20 SUB :30 NOV A.H ECOMPLENENT HIGH BYTE OF GUOTIENT CMA iCOHPLENENT EON BYTE PUSH2 sGUOTIENT ON STACK NOV ON iREMAINDER ON STACK POP B 3RESTORE STATUS AND REGISTERS >> << ADCN :HOLD.STRT :BSEN iREADY? iGET H BYTE sMASK sSAVE H BYTE zGET L BYTE iSAVE L BYTE ten 0 O O I #0 00 00 O O LDA O O ‘V‘NOVO VVUU O O 3 D C o GOPHIHQHMHHH )0) ON >) 3 MEASURE THE TIME 3 BETWEEN DROPS << CNTRO HVI A;6O iCONTROL WORD FOR $52 $6403 iCOUNTER O . STA 16400 iSEND L BYTE STA 16400 iSEND H BYTE OUTPUT FREG.-1KHZ NVI A1264 iCONTROL WORD FOR STA 16403 iCDUNTER 2 "VI A:377 ' iSEND L BYTE HVI AoIO JSEND H BYTE >> 3 (< CNTR2 >> CC CHECK2 PUSH H LDA 40046 :GET V H BYTE CHA AVéi-‘O‘UUIU AN! DTIM >> << DFDF '00 MM 0‘0 >> (C SAVE2 MOV H;A LDA 40045 MOV LIA 0.1 D X HG LHLD 40043 DAD D JNC .1 LHLD 40041 DAD D JNC . 6 LHLD 40033 DAD UIU JC . LHLD 40035 DA ' (. O ' DUO SETUP 2 VPG CALL .10 SETUP 2 SUI ADCN 150 i L BYTE iREG. D,E=-V iCET VEXTREM ;(H,L)=VEXTREM-V iERROR VEXTREMC V ;GET VMAX ;(H.L)=VMAX-V 50K VMAXD/V 5(HlL)=VEXTREM2-V iDROP ! :GET VMIN ;(H.L)=VMIN-V 2VR1N>I V l 7MORE PULSES MORE PULSES iLON BYTE iHIGH BYTE 50K iPOSITIVE PULSE iPOSITIVE PULSE iNEGATIVE PULSE iEXIT iEXIT Hu- 0‘0 :30 :40 US H SETUP 1 SNFILE CALL .10 CALL .20 LDAX D CALL .20 LDA 40061 MOV L:A DCX D STAX D LDA 40062 MOV HoA JNZ .2 SETUP 1 SCPILE L .10 20014 H RET CALL .22 SETUP 1 STRSF CALL .10 CALL .20 RET PUSH H LHLD 40014 MOV AoH MOV C.L iSEND TEXT TO FLOPPY iGET COMM. STACK sGET STATUS 50K TO URITE ? sRESET COMM. STACK iFLAG iGET 8 OF POINTS L BYTE iSTORE IT iSEND IT TO COMM. 5H BYTE ;SEND # OF POINTS TO FLOPPY iGET PG STACK 5L BYTE iSEND IT TO COMM. 3H BYTE iSEND IT TO FLOPPY BLAST POINT ? iCLOSE THE FILE >> (C 010 :50 :51 DROP1 :30" POP H L SHLD 40055 ADCN SHLD 40045 SHLD 40051 SHLD 40057 CHECK2 CPI 0 J .2 CPI 2 J2 .50 CPI 4 J2 .50 CALL .20 MP .1 CALL .30 ADCN SHLD 40045 CHECK2 CPI 1 J2 .4 CPI 4 J2 .51 CPI 2 J2 .5 CPI 3 J2 .5 SHLD 40057 CALL .40 JMP .3 CALL .20 SHLD 40057 CALL .40 JMP .3 SETUP 2 8N2 CALL .20 SETUP 2 SUI JMP .1 SETUP 2 8N2 CALL .20 SETUP 2 8N1 SHLD 40057 CALL .40 JMP .3 MVI A:O STA 16200 DTIM MVI AI7 STA 16200 CALL .30 LHLD 40051 SHLD 40057 CALL .30 LHLD 40053 SHLD 40057 CALL .30 LHLD 40055 SHLD 40057 CALL .30 LHLD 40037 SHLD 43857 T LHLD 40014 MOV AaH ORI 100 MOV HoA XCHG LHLD 40057 MOV AIL DCX D STAX D MOV AoH DCX D 152 5M=1 iGET VCELL 50K iPULSE sSAVE FIRST GOOD VALUE iGET VCELL iPULSE aEXIT :EXIT sADD iGIVE PULSE :ADD iSTOP COUNTERS iRESET COUNTER 1 iSTART COUNTERS ;SAVE LAST GOOD VALUE iSAVE TOTAL iSAVE M sSAVE M sSAVE VCAL. :40 :41 >> CC SCANV :30 HH “0 MOV HIA SHLD 40014 RET LXI Bo4 LXI 0,40051 LXI H.40045 JMP .41 LHLD 40055 INX H SHLD 40055 RET H H SETUP 1 PAR3 CALL .10 CALL .20 MVI L:17 LXI 8.40020 CALL . MVI A;0 STA 16200 CNTRO MVI A:7 SETUP 2 VNEXT 40 CALL . LDA 40032 CPI 0 J2 .2 INX B SEgUP12 8N1 MVI AoO STA 16200 A.C STA 40061 A B STA 40062 LXI H.1asoo SHLDH40014 L .21 SETUP 2 SETPG2 40 153 3M=M+1 iGET COMM. STACK iSTORE PARAM. AT PG iCLR COMM. STACK iSTOP COUNTERS iSET COUNTERS iOPEN SW C iDROP!!!!!!!!!! sSTERT COUNTERS 5N=1 iTIME ? iEND ? 5N=N+1 iSAVE # OF POINTS ' BYTE 0L 5H BYTE BRESET PG STACK :20 :21 154 LHLD 20014 MOV A. URI 40 MOV H.A XCHG RET MOV L: E MOV A: D A H. SHLD 20014 RET RUN 2 FLAG 2 JZ .41 MVI A00 STA 46 << CURRT PUSH B LXI H:0 SHLD .100 XI H.1 SHLD .102 :1 A CN SHLD 40045 SHLD 40051 CHECK2 CPI 2 J2 .1 CPI O .3 CALL .20 . JMP .1 :3 MVI Ap7 STA 16200 ADC SHLD 40045 CHECK2 CPI 1 J2 .4 CPI 2 J2 .5 CPI 3 JZ .5 CALL .40 P .3 4 ALL 20 LHkD .100 SHLD .100 C LL .40 3 :5 M :0 STA 16200 LDA 16400 CMA MO IA LDA 16400 CMA MOV H; SHLD .101 CNTRO TIM I A16 STA 16200 HL .100 US CAL 3 CALL .30 LHLD 40051 RET :30 LHLD 40014 MOV AIH ORI 100 MOV HpA XCHG 155 5M=1 ;GET VCELL iAGAIN 50K iPULSE iSTART COUNTER O iGET VCELL iPULSE iEXIT iEXIT iADD iGIVE PULSE IADD ESTUP COUNTERS iGET DROP TIME iSTORE IT iRESET COUNTER 1 iSTART COUNTERS iSAVE # OF PULSES 2 SAVE DROP TIME iSAVE L TOTAL zSAVE H TOTAL 'SAVE M I iSAVE VC :40 :41 156 MOV HIA SHLD 40014 RET LXI Bo4 LXI Do40051 LXI H.40045 XRA A LHLD'.102 2M=M+1 << POLAR! PUSH D PUSH B PUSH H SETUP 1 PAR3 .10 CALL CALL .20 MVI L017 LXI 8140020 :30 LDAX D CALL . MVI A:C STA 16200 CN 0 MVI A;1 STA 56000 DFDF MVI Ao6 STA 16200 LXI B:1 :1 LDA 16200 ANI 2 J2 .1 CURRT WHAT MVI A:0 STA CALL . LDA 40032 CPI 0 J2 .2 INX B SETUP 2 SW1 MVI Aa1 STA 56000 :2 MVI A00 STA 16200 A.C STA 40061 STA 40062 LXI H.135OO SHLD 40014 Z4; ”0 I)” C 2 p :20 LHLD 20014 MOV A:H ORI 40 MOV HaA XCHG RET :21 MOV LoE MOV AoD ANI 37 MOV H.A SHLD 20014 RET :40' RUN 2 :41 FLAG 2 J2 .41 MVI A.O STA 46 L .21 SETUP 2 SETPG2 40 56000 SETUP EOVNEXT 157 3GET COMM. STACK 55TORE PARAM. AT PG iCLR COMM. STACK iSTOP COUNTERS sSET COUNTERS iOPEN SW C iDROP!!!!!!!!!! iSTERT COUNTERS 5N=1 :TIME ? 5END ? 3N=N+1 iSAVE 4 OF POINTS 5L BYTE 3H BYTE IRESET PG STACK << SNFILE PUSH PSN PUSH B PUSH D :10 :15 :20 .22 CALL 1123 MVI A:12 CALL 1123 DCR B JNZ .20 MVI Ao15 CALL 1123 MVI A:12 CALL 1123 JMP .15 MVI A11 JMP . MVI A:3 CALL 1123 LXI Ba.55 MV D 7 :40 LD :22 :25 :30 :35 :50 :55 :10 .20 :20 >> << STRSF OFF CALL 1123 OFF CALL 1123 .10 >) (C DECBIN ‘1') C U) I ‘OUCDI 158 5 *‘I‘INESLAVE 1 *fl‘i‘l iOUTPUT "i“ iGET COMMAND iIF IT IS A CRL/C EXIT 5CALL FLOPY 515 IT OK TO WRITE? iGET ADDR. OF MESSAGE1 iGET CHARACTER iPOINT TO NEXT CHAR. iDECREMENT BYTE COUNT :GET MESSAGE EGET #OF CHARACTERS sGET CHAR. :CR? :SEND IT TO FLOPPY 'LF CHAR. 9 CR :SEND LF 5GET ANOTHER COMMAND STRING iSEND AN ETX :130.124.40.55o40; :101a124:105:123a15 zSEND EOT iGET ACK OR NAK iACK? iREAD EOT iAND RETURN :READ ERROR MESSAGE sEOT? isEND TO SCREEN :JUMP FOR MORE iGET HIGH BYTE iSEND IT TO FLOPPY JGET LON BYTE iDECIMAL TO BINARY CONVERSION I“ CHARACTERS :10 :15 :20 :30 :40 << AXISX :10 :12 40 159 sINITIALIZE THE BUFFER sGET A DIGIT 513 IT BCD? iJUMP IF ERROR 3ADD THE DIGIT TO THE BUFFER 3TOO LARGE IF CARRY iLAST DIGIT? iJUMP IF DONE 31F NOT THEN BUFFER X 10 iADD 10 TIMES FOR MULTIPLY iTOO LARGE IF CARRY 3ADDED 10 TIMES? iBACK TO GET A DIGITQE iPUT THE RESULT ON THE STACK BCLEAR THE CARRY (NO ERROR) 3Q CHARACTERS LEFT iSET THE CARRY (ERROR FLAG) iCLR GRAPHICS :11 nov AIL STA 16200 STA 16200 nov A10 STA 16201 MOV A1E STA 16202 ny c.4o )2 << POINT1 :12 << PAR3 :13 PUSH B PUSH D PUSH H OFF STA 16201 POP2 MVI Ao15 H m \ H H O 0115 P x P In §m\° Hub'u H005 uo HO O N p 200x>200x> HFHHfiHFXC)Hr up) HONfl 00 0 O O “H. 0 u 160 iGET X iCLR SCREEN iNRITE FIRST VAR. iNRITE VALUE OF iFIRST VAR. iNRITE SECOND VAR. iNRITE VALUE OF iSECOND VAR. 3NRITE THIRD VAR. iNRITE VALUE OF iTHIRD VAR. 3NRITE FOURTH VAR. iAND ITS VALUE iHRITE FIFTH VAR. IAND ITS VALUE :12 :11 :30 :10 :20 :21 :22 :23 :24 [Tr-«H r—HH. [—HH' [— p F N :3 £28 £8 PHFHFHFHFququ. 9: p 0 H FfixLooHrnmnnororornrorcnznzLorrgnrrgorrgnr X F I 'U a mo: H m ‘ O )HmfiNmHX)4VUV 5' u V u N Z oxcmz X X 'UNIG'J mum N m p Lorngr ZZUZCO M so u U) 161 iGET VAR. AND NEW VAL. iIF C/C CONTINUE ;GET # OF CHAR. iSET COUNTER # OF CHAR. iREAD MESSAGE AND iSTORE IT iPOINT TO FIRST VAR. iAND ITS VALUE iPOINT TO SECOND VAR. iAND ITS VALUE iPOINT TO THIRD VAR. iAND ITS VALUE 3POINT TO FOURTH VAR. iAND ITS VALUE iPOINT TO FIFTH VAR. iAND 1Ts VALUE ISEND CR TSEND "?" :SAVE POINTER iPOINT TO NEW VAR. IGET R OF CHAR. iSAVE IT :CHECK FOR 3 LETTERS IPOINT TO NEXT CHAR. IGET CHAR. iNEXT CHAR. 31F OK CHECK FOR 8 )SAVE 0 OF CHAR. TO L IGET POINTER iGET G OF DIGITS JGET NEXT DIGIT :25 :40 :41 :42 :43 :44 3 U" Vcoo-oooouucocovoOoI-aa VHHHHHHHHHHH VAbuwNNHHOO VHOHOHOHO~O 162 B 5AND STORE IT STAX D .‘IN NEXT LOCATION 2 iGET 3 OF DIGITS SA VE sCOUNTER :POINT TO LAST DIGIT iGET DIGIT CPI 55 5“-“? CPI 53 ."+"? J2 3 >>30 . 1 MVI E.O iSIGN ***O=POSITIVE C 313 OF DIGITS MOV A. E iSAVE SIGN V . MVI E. 1 iSIGN ***1=NEGATIVE 1 MOV C. A JMP .42 126. 120. 125. 114. 123. 105. 50. 155. 166. 51. 75 4. 55.63.60.600. 0 126. 111.116. 111. 124.111.101.114. 50.155. 166. 51. 75 .60. 0. 0.0.0.0 106. 111.116. 101.114. 50. 155.166. 51. 75 . 65. 60. 60. 0. 123. 124.105. 120. 50.155. 166. 51. 75 . 60. 0. 0. 0. 0 04. 105.114. 101. 131. 50. 155.166. 51. 75 . 61. 60. 60. 0. 0 0. 0. O. 0.0. 0.0.0. 0.0.0. 0. 0.0.0.0.0. 0.0.0 0 163 << DIV 2-BIT BY B-BIT UNSIGNED DIVISION 31 PUSH PS“ 58 VE STATUS AND REGISTERS 5GET DIVISOR EGET DIVIDEND BBIT COUNTER “J ) pun :10 MOV J> I)*l’) iROTATE LON BYTE - iROTATE HIGH BYTE iDECREMENT COUNTER Q ‘ OI )1" )U)O In WOI 3c. Oh: < D "U DC! :20 SUB :30 MOV A.H .CONPLENENT HIGH BYTE OF GUOTIENT CMA iCOMPLEMENT LON BYTE MOV L.A PUSH2 50UOTIENT ON STACK MOV A.D ON .REMAINDER ON STACK POP a .RESTORE STATUS AND REGISTERS H POP Pew >> (C 8N2 A.1 STA 16000 >> (C SUI MVI A.1 STA 16000 A.7 STA 16000 A.2 STA 16000 >) (C VPG :10 :12 :13 :11 41 LXI D.177774 LHLD 37 DAD D SHLD 35 LXI 0.310 LHLD 37 DAD D SHLD 43 LéI 0.177470 L LD 37 DA 164 iGET VPULSE iCAL. VPULSE=2.5-X/RES. OF PG iCAL VINIT=2.5-VINT/RES OF ADC iCAL. VFIN iCAL. DV SEEDS“ 5+ 4 MV 5 VMAX i- 4 MV aVMIN 3+122‘MV :VEXTRI 5- 122 MV iVEXTR2 iSTATUS O=END.1=CONTINUE iGET SIGN :NEGATIVE tGET L BYTE iGET H BYTE iCAL. 2.5-X 5*8 iRES. OF PG ' X :23 LXI H.4704 DAD D :22 DAD D :21 INX B > << VNEXTP 165 iNEGATIVE iRES. OF ADC*9000 iGET VI' iGET DV 5 VNEXT=VI+DV AVE IT §CET VFIN H BYTE .CET VFIN L BYTE .-VPIN .CET VNEXT .VNEXT-VPIN VNEXTCVFIN CAR 0 R: i VNEXT>IVFIN CARR =1 iCAL. NEW LIMITS :VMAX .VMIN 5 :VEXTRI sVEXTR2 iSTATUS =0 >> POP POP 166 APPENDIX B DATA ANALYSIS PROGRAMS The programs used in the PDP-ll/AO minicomputer to analyze the acquired data are listed here. 167 000000 100 «5000» 300 20 40 50 60 70 168 VCELL.FTN THIS PROGRAM READS A DATA FILE AND CREATES A STD C.G.ENKE FILE FOR PLOTING INTEGER COUNT.OBS.VOLT(1024) BYTE DATA(3000).IFILE(24).OFILE( 24) DIMENSION YDATA(1024).VOLT(1024) .X( 1024) WRITE(6.900) READ(6.901)IFILE IERR=0 CALL FORPIP(IFILE.IERR) IF(IERR.EG.1)GO TO 110 WRITE(6.902)IFILE GO TO 100 CALL UNFMO(IERR.IFILE.O.1) COUNT=3000 CALL UNFMRW(IERR.DATA.COUNT) IF(IERR)200.210.220 CALL UNFMC(IERR) WRITE(6.904) GO TO 100 CALL UNFMC(IERR) WRITE(6.903) GO TO 100 CALL UNFMC(IERR) CALL FMESSG(NOBS.DATA.COUNT.VOLT ) DO 10 I=1.NOBS YDATA(I)=2.5-VOLT(I)*0.001221 X(I)=I*1.0 CONTINUE OPTIONS WRITE (6.911) READ(6.912) IFLG IF(IFLG.EG.1)GO TO 300 IF(IFLG.EG.2)GO TO 40 IF(IFLG.EQ. 3)GO TO 100 WRITE(6.913 GO TO 4 DO 20 1= WRITE(6 914) X(I) YDATA(I) CONTINU GO TO 400 WRITE (6.906) READ (6.901) OFILE IERR=0 CALL FORPIP(OFILE.IERR) IF (IERR)50.70.6O WRITE (6.903) GO TO 40 WRITE (6.907) GO TO 40 CALL ASSIGN (4.0FILE.24.IERR) IF (IERR.E0.0) GO TO 80 WRITE (6.908) GO TO 40 DO 30 I=1. NOBS WRITE(4.909) X(I).YDATA(I) CONTINUE4 END FILE WRITE (6.910) GO TO 100 FORMATS FORMAT('$FILE:') FORMAT(24A1) FORMAT(1X.24A1/'DOES NOT EXIST') FORMAT(1X.’FILE ERROR’) FORMAT(1X.’TOO MANY POINTS’) FORMAT(/.4X.15. 4X. I5.4X. F9. 6.4X. F9. 6) FORMAT (’SOUTPUT FILE: FORMAT (’FILE ALREADY EXISTS' ) FORMAT (’ASSIGN ER ROR' FORMAT ( ’RD'. 2015. 6) FORMAT ( ’CONVERSION COMMPLETE’ ) FORMAT(4X.’1 SCREEN 7’. /.4X.’2 SAVE ?’./.4X. 1’3 GO BACK 7’./) FORMAT(11) FORMAT(4X.’INV. COMD.’) 169 914 FORMAT(4X.F15. 6. 4X.F15.6) END 00000000 100 110 210 220 200 10 20 21 30 311 170 POLAR.FTN THIS PROGRAM CALCULATES VA.VC.AND CURRENT AND SENDS THE RESULTS TO THE SCREEN OR TO THE FLOPPY INTEGER COUNT.VOLT(1024) BYTE DATA(3000).IFILE(24) DIMENSION VOLT(1024).V(5 WRITE(6. 900) AD(8. 901)IFILE LL FORPIP(IFILE. IERR) (IERR.EG.1)GO TO 110 RITE(6. 902)IFILE GO T0100 CALL UNFMO(IERR.IFILE.0.1) COUNT= 3000 CALL UNFMRW(IERR.DATA.COUNT) IF(IERR)200.210.220 CALL UNFMC(IERR) WRITE(6.904) GO TO 100 CALL UNFMC(IERR) WRITE(6.903) GO TO 100 CALL UNFMC(IERR) CALL FMESS3(NOBS.DATA.COUNT.VOLT) ) 024).Y(1024) I=4*K+1 V(4;J)=VOLT(I)§1.0 J J CONTINUE -1 DO 20 K=0.NOBS I=4*K+2 V(5.J)—-VOLT(I)*1.0 J= J+ 1 CONTINUE DO 21 J= 1. NOBS V(1.J)=V(4.J)*VP*CI/V(5.J) CONTINUE J=1 DO 30 K=0.NOBS I=4*K+3 V(2.J)=2.5-VOLT(I)*0.001221 J=J+1 CONTINUE 05 4o K=0.NOBS 184*K+4 3(3.01=2. 5-VOLT(I)*O. 001221 CONTINUE OPTIONS WRITE(6.908) READ(6.906) JFLG IF(JFLG.E0.1)GO TO 310 IF(JFLG.E0.2)GO TO 320 IF(JFLG.E0.3)GO TO 100 WRITE(6.907) GO TO 300 TE(6.918) D(6.906) IFLG IFLG.E0 0)GO TO 311 IFLG. GT. 3)GO TO 311 11 J=1. NOBS TE (6.909) J.V(IFLG.J) NUE GO TO 300 WRITE (6.907) U000 340 341 350 351 360 361 370 371 380 381 330 50 60 70 0000000 HHbfiHfl 0000NHO GO TO 310 FILE WRITE(6.905) READ(6.906) IFLG E0.1)GO TO .E0.2)GO .E0.3)GO .EG.4)GO .EG.5)GO G HAAAAAA H fl r O IFLG. E0.6)GO IF . TE (6.907) 171 =1 I NOBS ZLL HflflUDHflflbo ZCCH LL ZCCH “NO ucAa wean m9%8mumcmmumc LL? ONZOOAneoconoooanoOOAAoomnnnnnn -V(1.J))/V(1.J)) AMOHHHQANDHHNVOHHN0D ‘0"“00 Ufldflvvwofidfivvmfidvvmflfi FILE OFILE.IERR) 0.60 U‘vm 0‘UMNOC0‘UNUNLUM RR.E0.0)GO TO (6.912) =1: ND 3 UO£H00£O£H0H3200X<03£00omomn>mmm00na R L I T T L ASSIGN(4.0FILE.24.IERR) I 80 T T 1 B T 913) X(J).Y(J) 4 .914) GO TO FORMATS FORMAT(’$FILE:’) FORMAT(24A1) FORMAT(1X.24A1/’DOES NOT EXIST’) FORMAT(1X.’FILE ERROR’) FORMAT(1X.’TOO MANY POINTS’) FORMAT(4X.’1 CURRENT VS VA ?’./.4X.’2 CURRENT VS 1 VC ?’./.4X.’ VA VS VC ?’./.4X.’4 TIME VS VA 7’. 2/.4X.’5 LOGDI/I VS VCELL 7’./.4X.’ 6 GO BACK ?’./) FORMAT(11) FORMAT(4X.’INV. COMD. ’) FORMAT(4X.’1 SCREEN ?’./.4X.’2 SAVE 7’./.4X.’3 GO 1BACK ?’./) FORMAT(4X.I5.4X.F9.6) ' FORMAT(’$OUTPUT FILEI’) FORMAT(’FILE ALREADY EXISTS’) FORMAT(’ASSIGN ERROR’) FORMAT(’RD’.2015.6) FORMAT(’CONVERSION COMMPLETE’) FORMAT(4X.’CIN(UF)= ) FORMAT(F5.2) 1".- ~- 5. so \- ‘9 - s. so MESSG: to no. RITE: 172 P8RH2TI4X"YPgLSE(MV)=”/) l I URRENT ?’ ,0 I ’ ?’I I l ' II FORMAT(F7.5) . 4X 2 VA / 4X 3 VC ? /) EggMAT(4X.’LIMITED CURRENT (UA) =’./) .TITLE FILTER .GLOBL FMESSG TPS=177564 TPB=177566 .MCALL .F4DEF .F4DEF 0 CALL FMESSG(NOBS.DATA.COUNT.IVOLT) R1=NOBS R2=COUNT R3=DATA R4=IVOLT MOVB (R3)+.R0 iSEND TEXT TO THE TTY CMPB #3.R0 BEG B JSR R5.WRITE JMP A BISB (R3)+.R1 iGET # OF POINTS SWAB R1 BISB (R3)+.R1 MOV R1.Q2(R5) BISB (R3)+.R2 iGET POINTS SWAB R2 BISB (R3)+.R2 MOV R2.(R4)+ CLR R2 SOB R1. MOV (SP)+.R4 MOV (SP)+.R3 MOV (SP)+.R2 MOV (SP)+.R1 MOV (SP)+.RO RTS R5 TSTB TPS BPL WRITE \I ‘3‘.-. Q. ~- ~u .0 -- FMESS3: \n‘d‘o WRITE: READD: 173 .TITLE FILT3 GLOBL FMESS3 TPS=177564 TPB=177566 .MCALL .F4DEF .F4DEF 0 CALL FMESSG(NOBS. DATA.COUNT.IVOLT) R1=NOBS R2 =COUNT R3=DATA R4=IVOLT MOV R0.-(SP) MOV R1.-(SP) MOV R2.-(SP) MOV R3.-(SP) MOV R4.-(SP) CLR R1 CLR @2(R5) MOV @6(R5).R2 MOV 4(R5).R3 MOV 10(R5).R4 CLR R2 MOVB (R3)+.R0 iSEND TEXT TO THE TTY CMPB 03.R0 BEG B BISB (R3)+. R1 sGET R OF POINTS SWA AB R1 BISB (R3)+. R1 MOV R1. @2(R5) JSR R5.READD sGET POINTS CLR R2 JSR R5.READD CLR R2 MOV R1.-(SP) iSAVE NOBS CLR CLR R1 BISB (R3)+.R1 sGET L TOTAL AT R1 SWAB R1 BISB (R3)+.R1 BISB (R3)+.R0 iGET H TOTAL AT R0 SWAB R0 BISB (R3)+.R0 BISB (R3)+.R2 JGET M AT R2 SWAB R2 BISB (R3)+.R2 DIV R2.R0 IV AVERAGE MOV R0.(R4)+ MOV (SP)+.R1 CLR R2 JSR R5.READD JGET VC CLR R2 SOB R1.C MOV (SP)+.R4 MOV (SP)+.R3 MOV (SP)+.R2 MOV (SP)+.R1 MOV (SP)+.R0 RTS R5 TSTB TPS BPL WRITE MOVB R0.TPB TS R5 R BISB (R3)+.R2 SWA AB R2 - BISB (R3)+.R2 MOV R2.(R4)+ RTS R5 .END APPENDIX C MICROCOMPUTER TO MINICOMPUTER COMMUNICATION PROGRAMS The programs used in the PDP—ll/AO minicomputer for the mini-to-microcomputer communication are listed here. PROGRAM LINK.FTN FINAL FORM OF THE LINK 00000 INTEGER COMMND.COMLST(4) ,BYTE ACK.NAK.BEL DATA NCOM/4/ DATA ACK.NAK.BEL/6.21.7/ DATA COMLST/2HMN.2HMA.2HUN.2HUA/ CLEAR MDB RACK 00 CALL CMICRO CHECK TO SEE IF ANY MICRO ASKED FOR SERVICE IF YES SEE WHICH MICRO IT WAS AND SEND ACK-EOT CALL WAITM(MICRON.MASK) GET COMMAND CALL RAMICR(IERR.COMMND.COUNT) CHECK THE LIST OF COMMANDS DO 100 I=1.NCOM IF(COMMND.NE.COMLST(I))GO TO 100 000 000 00000000 C 8 IF ONE IS FOUND SEND BEL-EOT CALL MSMICR(BEL) GO T0(110.120.130.140)I éOO CONTINUE g IF NOT FOUND SEND NAK-ERROR MESSAGE CALL MSMICR(NAK.’INV. COMD’) GO TO 60 110 CALL MINCSR(I) GO TO 600 120 CALL MINCSR(I) GO TO 60 130 CALL UICCSR(I) GO O 600 140 CALL UICCSR(I) GO TO 600 174 0000000 00tfi 0000 350 (d O 0 0000000 000 000 0‘ O 320 340 370 330 #000000fi0000 0‘ O 420 410 175 UICCSR.FTN THIS SUBROUTINE SENDS AN UNFORMATTED BINARY OR A FORMATTED ASCII FILE TO MICRO SUBROUTINE UICCSR(I) INTEGER COUNT BYTE IDATA(510).IFILE(24).NAK.ACK.BEL.EOT;ENG.SOH DATA NAKoACK:BEL.EOT.ENQ:SOH/21-6.7. GET THE NAME OF THE FILE CALL RAMICR(IERR.IFILE.COUNT) IERR=O CHECK TO SEE IF THIS FILE EXISTS OR IF THERE IS ANY ERROR CALL FORPIP