interfacing (chapter 7) 07 interfacing input.pdfวงจรที่ต้องใช้มี...
TRANSCRIPT
Lecture 7
1
อปกรณหรอ sensor บางชนดใหเปนสญญาณ Digital เพอใชเปน Input ของ Microcomputer ไดโดยตรง บางแบบใหคาของ Output Voltage ซงเปนสญญาณ Analogue ทเปลยนแปลงไปตามปรมาณทางกายภาพ ดงนนการน าสญญาณทเปน Analogue มาใชเปน Input ใหกบ Microcomputer นนจะตองมการเปลยนใหเปนขอมล Digital เสยกอนโดยใชวงจร Analogue to Digital Converter (A/D) ซง A/D บางชนดจะมวงจรภายในทเปน Digital to Analogue Converter (D/A)ดวย
Digital Input Digital output โดยปกตแลวคอการสงขอมลของจาก Port 0-3 เชน เมอดขอมลจาก Datasheet ของ IC P89V51 พบวา VIL (Low-level input voltage หรอ Logic 0) ท port มคาต าสด -0.5 และสงสด 0.2VDD - 1 V VIH (High-level input voltage หรอ Logic 1) ท port มคาต าสด 0.2VDD +0.9 V สงสด VDD+ 0.5 V คานขนอยกบปรมาณกระแสทตวอปกรณ input จายใหไมโครคอนโทรลเลอร ถาอปกรณจายปรมาณกระแสนอยลง คา Voltage กจะเพมขนแตไมเกนคาสงสด นอกจากนน
IIL (Low-level input current หรอ Logic 0) ท port 1, 2 และ 3 มคาสงสด -75 A โดยคานขนอยกบปรมาณ Voltage (VIN) ของ Logic 0 ทตวอปกรณ input จายใหไมโครคอนโทรลเลอร ถาอปกรณจาย VIN นอยลง คากระแสกจะเพมขนแตไมเกนคาสงสด ทงนแสดงวาในการใช Microcontroller รบคาแบบ digital จากอปกรณตางๆ ม ตองเลอกใช อปกรณทมระดบของ Voltage ใหเปน Logic 0 หรอ Logic 1 ตามทระบใน Datasheet ดวย
Lecture 7
2
Lecture 7
3
รปท xx Datasheet P89V51
Input a Non TTL Signal
ในกรณท สญญาณทตองการรบนนมคาระดบแรงดนทไมเปน TTL สามารถรบคาสถานะเขามาไดโดยการใชวงจรของ Transistor Buffer หรอ Opto-Isolator หรอวงจร IC ใดๆ ทท าหนาทแปลง ระดบแรงดนของ สญญาณ Input ใดๆ ทเขามาใหเปนสญญาณ Digital ดงตวอยาง
Signal R1VSi gnal
ISi gnal
5 V
Input Port
R2
Opto-isolatorPC817
Lecture 7
4
รปท 1 การใชงานของ Opto-Isolator มขอด คอท าให วงจรไฟฟาของ Input Device กบสวนของ Microcomputer นนแยกออกจากกน ตวอยาง จากรป Opto Isolator เปน PC817 และ signal มคาสงสด 12v จาก Datasheet ของ PC817 คา VD = 1.2 V, IF(D) = 20mA, VCE(sat) = 0.2 V, IC(MAX) = 50 mA Vsignal - 0 = VR1+VF(D) VR1 = IsignalR1 หรอ IF(D)R1แตในกรณนวงจรจะท างานไดตามจดมงหมายกระแสตองมคามากพอทจะท าใหสวนทเปน Diode แปลงแสงของ Opto-isolator ท างานได ดงนน VR1 = IF(D)R1 Vsignal = IF(D)R1+VF(D) สวน VF(D) นนกไมควรเกนจากคาสงสดทควรจะเปน จากตารางใน Datasheet VF(D) มคาสงสดท 1.4V และ จากกราฟ Forward Current vs. Forward Voltage จะเหนไดวา ท VF(D) = 1.4 V , IF(D) = 50mA 12 = 50mA*R1+1.4 R1 = 212 Ω สวนทางดาน output 5 - 0= ICR2+ VCE(sat) 5 - 0= 1mA(R2)+ 0.1 R2 = 8.9k Ω Analogue Input การรบคา Analogue Input เนองจากสญญาณไฟฟาทมาจากอปกรณภายนอก เชน sensor อาจมระดบต ามาก จงตองน าสญญาณนนไปขยายกอนโดยการใช Amplifier หลงจากนน ตองมการแปลงสญญาณดงกลาวเปนตวเลขเพอให Microcontroller สามารถน าไปประมวลผลได ดวยการใช A/D โดยกอนทจะมการแปลงโดยใช A/D นน จ าเปนตองผานวงจร Sample and Hold กอนเพอใหสญญาณมระดบคงทจนกวาการแปลง A/D จะเสรจสน ดงทจะอธบายตอไป
Lecture 7
5
Amplifiers เนองจากสญญาณจาก sensor สวนใหญจะมขนาดเลกมากจงตองน ามาขยายดวยวงจรขยายประเภทตางๆ กอนจงจะสามารถน ามาใชได
รปท 2 Amplifiers
Amplifier Sample and Hold A/D Conversion Sensor Microcontroller
Lecture 7
6
Instrumentation Amplifiers
วงจรขยายแบบ Differential Amp อาจม Common Mode Rejection Ratio (CMRR) สงไดแต input Impedance ถกจ ากดโดย R ทขา Input ท าใหบางครงอาจม input Impedance ต า และเนองจากม Input impedance ต า จะมการดงกระแสจาก signal sources ไหลเขาส amplifier โดยปกตแลวไมม signal sources เชน CD players, microphones หรอ sensor ใดทถกออกแบบใหจายพลงงานไดสงซงนเปนสาเหตท าใหตองมการใช amplifier อยแลว amplifier จงไมควรท าตวเปนโหลดของ sensor อก และนอกจากนน การทมกระแสไหลจาก signal sources ไปส amplifier อาจท าใหเกดสญญาณรบกวนแทรกเขามาในสายเคเบลทเชอมตอสองวงจรนไดงาย
แตวงจร Instrumentation Amp จะไมมขอจ ากดนโดย Input impedance ของวงจรจะมคาเทากบ Input Impedance ของตว Op-Amp ซงปกตจะมคาสงมาก การทม input impedance สงท าใหวงจรไมดงกระแสและพลงงานจาก signal sources
รปท 4 ขอดอกอยางคอม CMRR สง จงเหมาะกบการน าไปใช กบ sensor ซงสวนใหญจะใหสญญาณ amplitude ต าในสภาวะใชงานทสญญาณรบกวนสง Sample and Hold
รปท 3
Lecture 7
7
เมอสญญาณจาก sensor ผานเขาวงจรขยายจนไดขนาดทเหมาะสมแลว กอนทการแปลงสญญาณ analogue เปน digital จะเกดขนนน ตองผานสญญาณเขาวงจร sample and hold กอน เนองจากสญญาณ analogue มการเปลยนแปลงอยางตอเนองแตการแปลงสญญาณ analogue เปน digital นน ตองใชเวลานานพอสมควรโดยขณะทแปลงอาจตองมการเปรยบเทยบคาทแปลงไดกบคาทแทจรงในขณะนน ดงนนเพอคงคาในขณะนนไวระหวางการแปลง จงตองมการใชวงจร sample and hold เขา มาชวย โดยวงจรจะ sample สญญาณดงรป และ output ของวงจรคอคาของสญญาณตอนท sample เขามา และคานจะคงทจนกวาจะมการ sample ครงใหม
Lecture 7
8
รปท 5 การท างานของวงจร sample and hold
Analogue to Digital Converter (A/D)
A/D Converter Types
วธการท A/D นนๆ ใชในการแปลงสามารถแบงไดดงน
Flash A/D หรอ Parallel Comparator A/D Converters
จากรปเปน A/D 2 บต ทใชหลกการของ Parallel comparator โดยแรงดน Input ทเขามาจะถกน าไปเปรยบเทยบกบแรงดนอางองคาตางๆ และทก comparator จะท างานพรอมๆกนท าใหการแปลงรวดเรว ผลลพธทไดจากการเปรยบเทยบจะถกสงเขาไปยง Encoding Gate เพอสรางรหสตวเลขของ Output ทตองการ ท าให A/D แบบนสามารถจะใหรหสของ Output เปนอยางไรกได ขนกบการออกแบบ Encoder ขอดของ A/D แบบ Flash หรอ Parallel comparator A/D คอการแปลงสญญาณทรวดเรว ขอเสยคอมราคาแพง เนองจากวงจรทตองใชม comparator ส าหรบทกๆ Voltage step เชน ถาเปน A/D ขนาด 8 บต จะตองใช Comparator ทงหมด 2N – 1 ตว
Tracking ADC
ประกอบดวย comparator, counter และ DAC comparator เปรยบเทยบ input voltage กบ DAC output voltage ถา input มคาสงกวา DAC voltage counter จะนบขน ถา input ต ากวา DAC voltage counter จะนบลง
รปท 6
Lecture 7
9
รปท 7
Bit 7 6 5 4 3 2 1 0 Volts 2.5 1.25 0.625 0.3125 0.156 0.078 0.039 0.0195
Lecture 7
10
Dual-Slope A/D Converters
รปท 8
สวนประกอบภายในของ A/D แบบ Dual-slope แสดงในรป A/D ในแบบนใชมากใน Digital Voltmeter เนองจากสามารถท าใหมจ านวนบตทมากๆ ไดในราคาทถก หลกการท างานคอเมอเรม สวน Control circuit จะท าการ Reset คาของ Counter ใหเปน ‚0‛ และท าการตอ Input ของสวน Integrator เขากบ สญญาณ Analog ทจะท าการแปลง ถาสมมตให แรงดนทตองการแปลงมคาเปน ‚บวก‛ Output ของ Integrator จะลดลงตามเวลาเปนเสนตรงดงรป
รปท 9 เมอ Output ของ Integrator เรมเปนลบ สวน Comparator จะให Output ทเปน ‚1‛ ออกมา ท าให AND gate สงสญญาณ Clock 1 MHz เขาไปยงสวนของ Counter หลงจากท Counter นบไปไดเปนจ านวนทก าหนด (เชน t1= 1000 Count) สวนของ Control circuit จะสลบ Input ของ Integrator ให
ไปทแรงดนอางองทเปนลบ และ Reset คาของ Counter เมอมแรงดนไฟทเปนลบปอนเขาท Integrator จะท าให Output คอยๆ
Lecture 7
11
เพมขนดวยอตราคงท และ Counter จะเรมนบใหมโดย เมอ Output ของ Integrator น มคากลบถง ‚0‛ จะท าให AND gate หยดสงสญญาณ Clock ใหกบ Counter คาจ านวนทนบไดของ Counter น (t2 หรอ t3) จงขนอยกบ Input Voltage ทปอน ขอเสยทส าคญของ A/D ชนดน คอใชเวลาในการแปลงสญญาณทนานมาก
Successive Approximation A/D Converters
เมอมสญญาณ Start of Conversion (SC) เขาส A/Dแลว สญญาณ Clock ลกแรก SAR จะท าให MSB มคาเปน ‚1‛ ซงคาน (1000 0000) จะไปเขาท DAC ไดเปนระดบแรงดน ออกมา และน าไปเปรยบเทยบกบสญญาณ Input ของ A/D ถาคาแรงดนน มากกวาสญญาณทเปน Input สวนของ Comparator จะใหสญญาณไปบอก SAR วา ขอมล ‚1‛ ท MSB นเปนคาทมากเกนไป SAR จะ ท าใหขอมลบต น เปน ‚0‛ แตถาแรงดนทไดจาก D/A นนอยกวา สญญาณ Input สวน SAR จะคงขอมลทเปน ‚1‛ ของบตนเอาไว เมอมสญญาณ Clock ลกถดมา SAR กจะท าให ขอมลบตถดจาก MSB ใหเปน ‚1‛ และขบวนการทเกดขนกจะเชนเดยวกบ บตทแลว จนกระทงถงบตของ LSB การท างานของ SAR นจะใชสญญาณ Clock เพยง 8 ลกเทานนส าหรบการแปลงขอมล เมอขบวนการแปลงนเสรจสน A/D จะสงสญญาณ End Of-Conversion (EOC) ออกมาเพอไปบอกให Latch ท าการเกบขอมลนเอาไว จาก รปท 10 แสดงในตวอยางการแปลง Vin=3V โดยใช VREF = 5V, 8 bits ADC SAR จะเปรยบเทยบ Input กบ DAC Output โดยเรมจากการ set คาของ MSB กอน bit ท ถก set จะคงคาเปน 1 เมอ VDAC < Vin แตถก reset เปน 0 เมอ VDAC > Vin ท าเชนนเรอย ไปจนครบทกบต
รปท 10
Lecture 7
12
รปท 11 Half-Flash ADC 8-bit Half-Flash ADC convert 4 bits MSB กอนดวย 15 comparators โดยเลอกคาทใกลกบ Vin ทสด แลวน าผลตางของ Vin กบการแปลงครงแรกมา convert อกทเพอใหไดคา 4 bits LSB ดวย15 comparators โดย Vrefใหม = (1/16)Vref เดม
รปท 12
Lecture 7
13
Sigma Delta ADC Duty cycle อยกบระดบสญญาณ Input ตวอยางการแปลง 0.3 V โดย ให +V = 0.5V, -V = -0.5V
รปท 13 Voltage-to-Frequency Converter
Lecture 7
14
รปท 14
รปท 15
ADC Comparison
คณภาพของ A/D นนสามารถดไดจากคณสมบตตางๆเชนเดยวกบ D/A แต A/D จะมคณสมบตส าคญขอหนงทแตกตางกน คอ Conversion Time ซงหมายถงเวลาท A/D ใชในการแปลงคา Analogue ใหไดเปนขอมล Digital ระยะเวลาทใชในการแปลงน จะขนอยกบชนดของ A/D ดงทกลาวมาแลวและแสดงสรปดงกราฟ
Lecture 7
15
Interfacing Different Types of A/D Converter to Microcomputers
Interfacing to Parallel Comparator A/D Converters
ส าหรบงานทใช A/D แบบ Flash อาจเปนงานทตองการความเรวสงมาก ซงมากกวาความเรวของ Microprocessor ทจะรบขอมลนนเขามาไดทน ดงนนแลวจะตองใชวงจรเพมเตม ท าการน าเอาขอมลนใสเขาไปในหนวยความจ าโดยตรง แลว Microprocessor จะไปอานขอมลทงหมดในหนวยความจ ามาใชอกในภายหลง การน าขอมลไปใสในหนวยความจ าโดยตรงนจะเรยกวาเปน Direct Memory Access (DMA) สามารถท าไดใน Z80 โดยใชขาสญญาณ BUSRQ
Interfacing to Dual-Slope A/D Converters
ส าหรบการรบคาจาก A/D แบบนนน จากการท างานของ A/D ทชากวาการท างานของ Microprocessor สามารถท าไดโดยการเขยนโปรแกรมใหท าการตรวจสอบสถานะของ A/D วามการสง Output ออกมาหรอไม ถาพบวามการสง Output ออกมา จงจะท าการรบขอมลนนมาใชงานไดตอไป
Interfacing to Successive-Approximation A/D Converters
ตวอยาง PCF8591
รปท 16
Lecture 7
16
รปท 17
จากท Output ของ A/D แบบนออกมาเปน Binary หรอ Offset binary ซงสามารถน ามาเขาท Input port ของ Microcomputer ไดโดยตรง หรอมการรบสงขอมลแบบ Binary ดวยวธอนๆเชน แบบอนกรม หรอ I2C
Lecture 7
17
Analogue and Digital Input Devices
1. Reading the Switches
รปท 18
Input Port สามารถตอวงจรเพอรบคาสถานะจาก Switch ไดดงรป และการตรวจสอบสถานะของ Switch น กเพยงแตเขยนโปรแกรมในการรบคาจาก Input Port ท Switch ตออย
ปญหาทพบในการรบคาจาก Switch คอจะม Bounce เกดขนได ซงท าใหการรบขอมลเขาไปไมถกตอง สามารถแกไขไดโดยวธการของ Hardware หรอ Software
รปท 19 10 ms 10 ms
Input Key
Key press?
Wait 10 ms
Input Key
Key press?
Yes
Yes
No
No
Lecture 7
18
ส าหรบการแกไขโดยใช Software ท าโดยใช Algorithms ทแสดงตาม Flowchart และส าหรบการแกปญหาโดย Hardware นนอาจท าไดอยางงายโดยใชตวเกบประจทเหมาะสม ใสเขาไปในวงจร หรอท าไดโดยใหสญญาณทไดจาก Switch น ไปเขาวงจร Mono-Stable แลวจงน าสญญาณทไดจากวงจร Mono-Stable น ไปเปน Input ใหกบ Microcomputer ตอไป การตอ switch กบ Microcontroller
Port x.x
Ra
V+
II
VI
Port x.x
Rb
V+
II
VI
a b
Port x.x
Port x.x
R
V+
II
VI
c d
รปท 20 การตอ switch เขากบ port ของ Microcontroller สามารถตอไดหลายรปแบบแตวธทดทสดคอรปแบบ a ดงจะอธบายตอไป แตเนองจากใน Microcontroller ตระกลMCS-51ทก port ยกเวน port0 มการตอ Pull-up resistor ภายในตว IC อยแลวจงสามารถท าการตอในรปแบบ c ได สวนการค านวณหาคา Pull-up resistor ทเหมาะสมส าหรบ port0 สามารถท าไดดงน
Lecture 7
19
แบบ a เปนการตอ port เขากบ switch และ pull-up resistor เพอใหขณะไมกด switch จะม Logic เปน 1 มคาความตางศกยเทากบ VIH และมกระแสไหลเขาส Microcontroller และเมอ switch โดนกด port ของ Microcontroller จะม Logic เปน 0 มคาความตางศกยเทากบ 0 และมกระแสไหลออกจาก Microcontroller
ในขณะท switch โดนกด ถาคาของ Pull-up resistor (Ra) มขนาดนอยเกนไปจะท าใหมกระแสไหลผาน Microcontroller มาก ตว Microcontroller จะรอนและท าใหสนเปลองพลงงาน เพอจ ากดไมใหก าลงทสญเสยคาเกนสงสดของ Total power dissipation per package สามารถค านวณหาคา Ra ไดดงน ขณะไมกด switch ได Logic ‘1’ กระแสทไหลเขาแตละขาของ port จะมคาสงสดเมอ VIH มคาต าสด และ IIH ไมเกน Ptot/Vcc/32 = 1.5/5/32 = 9.375mA (port ม 32 ขา) V+ - VIH = II Ra
Ra = (V+ - VIH)/ IIH
ถา V+ = 5 V, VIH = 0.2V+ + 0.9 = 1.9 คา Pull-up resistor ทต าสดคอ Ra = (5 - 1.9)/ 9.375mA
Ra = 330
ขณะ switch ไม โดนกดถาคาของ Pull-up resistor มขนาดมากเกนไปอาจท าใหมกระแสไหลเขาส Microcontroller นอยเกนไป (นอยกวา Leakage current) จะท าใหทขานนของ Microcontroller ม Voltage ไมถงระดบ High คา Pull-up resistor ทสงสดคอคาสงสดของ resistor ทยงสามารถท าใหกระแสไหลไดมากกวา Leakage current
IIH > 10 A ถา V+ = 5 V, VIH = 0.2V+ + 0.9 = 1.9 V+ - VIH = II Ra
คา Pull-up resistor ทสงสดคอ Ra = (V+ - VIH)/ IIH
Ra = (5 - 1.9)/ 10 A
Ra = 310k Ω
ดงนนคาของ Pull-up resistor ควรมคา 330 < Ra < 310k โดยทวไปแลว ถาใชกบ IC ชนด BJT ทมระดบแรงดนประมาณ 5 V คาของ Pull-up resistor จะมคาประมาณ 1-5kΩ หรอเมอน าไปใชตอกบ switch หรอ sensor คาของ Pull-up resistor จะมคาประมาณ 1-10kΩ แตถาเปน IC ชนดทเปน FETคาของ Pull-up resistor จะมคาประมาณ 10k-1MΩ ขอเสยของการใช Pull-up resistor ทมคาสงคอ ตวตานทานทตอเขาไปนจะไปรวมกบตวเกบประจแฝงในสายไฟทเปนขา input ท าใหเกดเปนวงจร RC ทตองอาศยเวลาในการ charge ประจของตว C ยงคา R มคาสงวงจรกจะยงตอบสนองชาลง
Lecture 7
20
แบบ b เปนการตอ port เขากบ switch และ pull-up resistor เพอใหขณะไมกด switch จะม Logic เปน 0 คาความตานทาน Rb มไวเพอใหขณะกด switch จะม Logic เปน 1
ขณะไมกด switch ตว Microcontroller จะมกระแส ไหลออก โดยคาของกระแสนจะมคาต าสดเทากบ Leakage current ดงนน ผลคณของกระแส Leakage current กบ Rb จงไมควรมคาเกนคาสงสดของ VIL เพอใหยงเปน Logic 0 อย VIL = 0.2V+ - 0.1 ถา V+ = 5 V, VIH = 0.2V+ - 0.1 = 0.9 คา Pull-down resistor ทสงสดคอ
Rb = ( VIL- 0)/ ILI = 0.9/ 10 A Rb < 90 k Ω
ขณะเดยวกน ถา Rbนอยเกนไปจะท าใหกระแสผาน Microcontroller มากเกนไป เกดความรอนและการสญเสยพลงงาน ดงนนเพอจ ากดไมใหก าลงทสญเสยคาเกนสงสดของ Total power dissipation per package สามารถค านวณหาคา Rb ไดดงน ขณะไมกด switch ได Logic ‘0’ กระแสทไหลออกแตละขาของ port จะมคาสงสดเมอ VIL มคาสงสด และ IIL ไมเกน Ptot/Vcc/32 = 1.5/5/32 = 9.375mA (port ม 32 ขา) VIL - 0 = IIL Rb
คา Pull-down resistor ทต าสดคอ Rb = (V+ - 0)/ IIL
ถา V+ = 5 V, VIL = 0.2V+ - 0.1 = 0.9 Rb = ( VIL- 0)/ IIL = 0.9/ 9.375mA Rb < 96 Ω
ดงนนคาของ Pull-down resistor ควรมคา 96 < Rb < 90k แบบ c เปนรปแบบทไมควรใชเพราะ ท าใหเกดการ short circuit ทขา port ซงจาก datasheet ไดระบไววา ถานานเกน 1 วนาทจะท าให Microcontroller พงไดเพราะเกดกระแสไหลผานปรมาณมาก ( 50 mA) แลวท าใหเกดความรอนขน หรอถาจ าเปนจรงๆกไมควรเกดการ short circuit เกน 1 ขาในเวลาเดยวกน ทงน ระยะเวลาท Microcontroller จะทนไดขนอยกบรปแบบตวถง IC วาสามารถระบายความรอนไดดขนาดไหน
Lecture 7
21
แบบ d เปนรปแบบทไมแนะน าเพราะขณะไมกด switch จะไมสามารถทราบระดบ Logic ทเปนอยไดวาเปน Hi หรอ Low หรอ ไมอยในสถานะใดเลย
2.1 Keyboard
ในกรณทตองการทรบคาสถานะจาก Switch จ านวนมากนน สามารถท าไดโดยการเพมจ านวนของ Input Port ใหมากขนตาม อยางไรกด ในการเพมจ านวนของ Input port จะท าใหระบบมราคาแพง การเพมจ านวนของ Switch สามารถท าไดโดยใชการท างานของ Software ชวยอาศยหลกการพนฐานทวา Microcomputer นน สามารถท างานไดเรวมากเมอเทยบกบการท างานของ Switch ดงนนแลว Microcomputer กไมจ าเปนตองรบคาของ Switch ทงหมดพรอมกน โดยเลอกรบ Input ทละตว หรอทละชด กได จนครบจ านวนของ Switch ทงหมด
จากรป เปนการตอ Switch แบบ Matrix ซง Port 1 บต D0-D3 ถกใชในการเลอกวาจะอานคาสถานะของ Switch ในแถวใด และ Port 1 บต D4-D7 เปนการเลอกวาจะอานคาสถานะของ Switch ในหลกใด การเขยนโปรแกรมเพอรบคาสถานะของ Switch ทงหมดสามารถแสดงเปน Pseudo code ไดดงน 1. สงขอมล ‘0’ ไปออกท P1.0 และใหขอมลท บต อนๆ เปน ‘1’ ทงหมด ( 1111 1110B ออกไปท Port 1) 2. รบคาขอมลการกด Switch ของแถวบนสดจาก
Port 1 แลวน ามาเกบ 3. เลอนต าแหนงของขอมล บตทเปน ‘0’ (Ex 1111
1101B) แลววนกลบไปท า ขอ 1 อกครง จนกวาจะครบทกแถว 4. ท าการตความหมายของขอมลทเกบมาได เชน ถาขอมลทรบมาไดเปน 1011 1101B (ในขณะทสง 1111 1101B ออกไปท Port 1) จะหมายถงการกดป ม ‚A‛
Lecture 7
22
ตวอยางของฟงกชน
ฟงกชนนท าการรบคาจาก keypad 4x4 โดยท าการตรวจสอบในเบองตนกอน วามการกดป มใดๆ หรอไม เมอพบวามการกดป ม จงจะท าการตรวจสอบวาเปนป มใด ฟงกชนจะ return คา key ทกดเปน 1-16 ตามล าดบ ถาไมมการกดจะ return คาเปน 0xff unsigned char get_key (void) // get key {unsigned char i,j,x,colx,row,rowx,k; rowx=0xfe; //11111110 colx=0x7f; //11101111 P1=0xf0; //11110000 k=0xff; x = P1; // check for key press if (x!=0xf0) { dmsec(40); if (x!=0xf0) // new press accepted { for (i=0;i<=3;i++) // look for col { P1=rowx; col=P1&0xf0; rowx=_crol_(rowx,1); if(col!=0x7f) { for (j=0;j<=3;j++) { if (col==(colx&0x7f)){k=i+4*j;} colx=_crol_(colx,1); } } } } } return (k); }
Is any key pressed?
Input Column
Select ALL row
SCAN KEY
P1= 0xf0;
X=P1;
If (x!=0xf0){scan for key pressed};
Yes
No
รปท 21
Lecture 7
23
2. Sensors
2.1 Optical sensors
2.1.1 Photodiode
ใชในการวดปรมาณของแสงทตกกระทบ โดยมหลกการท างานคอเมอมแสงตกกระทบ P-N junction จะท าให Reverse leakage current ของ Junction นนเพมขน โดยมความสมพนธ ทเปนเชงเสนกบปรมาณแสง การใชงานของ Photodiode โดยใชวงจรอยางงายคอ
รปท 22
วงจรน ท าหนาทเปลยนคากระแสรวไหลของ Diode ซงมคานอยใหเปนแรงดนทเปลยนแปลงตาม ในวงจรมการปอนแรงดน -2 Volt เขาท Non-inverting input ของ Op-amp ซงแรงดนน จะไปปรากฏทขา Inverting input ดวยซงเปนการ Reverse bias
ของ Photodiode กระแสรวไหลของ Diode จะไหลผาน Resistor (Rf = 100 k) ไดเปนแรงดนท Output (ส าหรบ
Photodiode ทวๆ ไปแลวเชน HP 5082-4203 มคากระแสรวไหลทเปลยนแปลงจากประมาณ 0 A ไปจนถงประมาณ 100
A ท าใหไดแรงดนท Output เปลยนแปลง ตงแต 0 – 10 Volt) ในวงจรนตองใช Op-amp ทม Input เปน FET (เชน LM356) เนองจากไมตองการ Input bias current การท างานของ Photodiode ตอบสนองไดดกบแสงในชวงของความยาวคลนยาน Infrared อปกรณตรวจจบแสงอกชนดหนงคอ Solar cells ซงการท างานคอเมอมแสงตกกระทบจะมกระแสไหลทเปลยนแปลงตามปรมาณแสงนนๆ เหมอนกบ Photodiode แต Solar cells ใหกระแสทมากกวา เราสามารถใชวงจรเชนเดยวกบ Photodiode ในการเปลยนคากระแสเปนแรงดนได แตตองลดคาของ Rf ลง และไมจ าเปนตองปอนแรงดนทเปนลบเขาท Non-Inverting Input ของ Op-amp เนองจาก Solar cells ถกสรางใหตอบสนองไดดกบแสงในชวงความยาวคลนเดยวกบแสงอาทตย จงเหมาะทจะใชวดปรมาณแสงทเกยวกบการมองเหน 2.1.2 Phototransistor และ IR (Infrared LED) IR มกใชคกบ Phototransistor มหลายรปแบบ เชน Slotted switch, Thu-beam, Reflective, Diffused Reflective, Opto-isolator
Lecture 7
24
หลกการของ phototransistor คลาย กบ photodiode แตกตางกนเพยงโครงสรางของ phototransistor เปน P-N-P หรอ N-P-N ทเปดใหแสงตกกระทบรอยตอ Base-collector ขอจ ากดของ IR คอ วตถบางอยางททบหรอสะทอนแสงธรรมดาไดดอาจตรวจจบไดไมดดวยชวงความยาวคลนของ infrared และแสงรบกวนจากหลอดไฟ fluorescent และแสงอาทตยมผลอยางมากตอ sensor
Optical Shaft Encoder
Optical Shaft Encoder ใชเปน Input Device เพอตรวจสอบการหมน หรอการเคลอนท หลกการของ Optical Shaft Encoder ใชจานหมนเพอตดแสง และจากสญญาณ ทไดจาก Opto-Sensor น จะถกเปลยนเปนสญญาณ Digital เพอปอนเขาท Input port ของ Microcomputer ตอไป ทวไปแลว Encoder จะแบงได 2 แบบคอ
รปท 24
Slotted switch Reflective optical sensor Opto-isolator
รปท 23
Lecture 7
25
Absolute Encoder Incremental Encoder
รปท 25
Absolute Encoder จานตดแสงจะเปนชองอยหลายชน เปนขอมลของเลขฐาน 2 แบบ GRAY ซงหมายความวา เมอจานหมนมาตรงกบตวตรวจจบ กจะทราบมม นนๆ ไดทนท ขอจ ากดของ Absolute Encoder นกคอมนจะตองมตวตรวจจบหลายชด และไมสามารถ ท าใหมความละเอยดมากๆ ได
Incremental Encoder สวนของจานตดแสงนน มชองใหแสงผานไดอย 2 ชน และตวจบ 2 ตว โดยชองจะเยองกนดงรป เมอมนหมนผานตว ตรวจจบ กจะไดสญญาณ ของ Phase A และ Phase B ซงจากสญญาณน ท าใหเราทราบไดวา มการหมนเกดขน และหมนไปในทศทางใด สวนระยะทางทหมนไปนน ตองใช Software ในการนบจ านวนของ Pulse ทเกดขน ตวอยางการใชงานของ Incremental Encoder น เชนท อยใน Mouse ของ PC นนเอง รปดานลางเปนวธการคลายกนใชตวตรวจจบ 2 ตว แตมชองใหแสงผานระดบเดยวโดยวางตวตรวจจบเยองกน ตวหนงวางตรงกบชองอกตววางกงกลางระหวางชอง
Lecture 7
26
รปท 26
Light dependent resistor (LDR)
รปท 27
LDR ทจรงแลวมเรยกกนอกหลายชอ เชน โฟโตคอนดกทฟเซล (photoconductive cell) หรอ ตวตานทาน ไวแสง (LSR - light sensitive resistor) สวนใหญท าดวยสารแคดเมยมซลไฟด (CdS) หรอไมกแคดเมยมซนไนด (CdSe) ซงทงสองตวนเปนสารประเภทกงตวน า เอามาฉาบลงบนแผนเซรามกทใชเปนฐานรองแลวตอขาจากสารทฉาบ ไวออกมา
Lecture 7
27
รปรางของ LDR แสดงดงรป สวนทขดเปนแนวเลกๆสด า ท าหนาทเปนตวตานทานไวแสง และ แนวสด านนแบงพนทของตว LDR ออกเปน 2 ขาง ซงถาดของจรงจะเหนวาออกสทองนน เปนตวน าไฟฟาทท าหนาทสมผส กบตวตานทานไวแสง เปนทส าหรบตอขาออกมาภายนอก หรอ เรยกวาอเลกโทรด ทเหลอเปนฐานเซรามก และอปกรณ ส าหรบหอหม ซงมไดหลายแบบ
CCDs (Charge Coupled Devices)
หลกการท างานของ CCD คอ เมอมแสงมากระทบสาร semiconductor พลงงานจาก photons จะท าให semiconductor แตกตวเปน electron-hole pairs รปภาพทเกดจะขนอยกบจ านวน electron-hole pairs ซงแปรผนตามแสงทมาตกกระทบ CCDs สามารถแบงออกเปน
Linear CCDs
Tri-linear colour CCDs
Area CCDs
Temperature Sensors
Semiconductor Temperature Sensors
Semiconductor Temperature Sensors ท างานโดยอาศยหลกการท forward bias voltage ท P-N junction มคาเปลยนแปลงตามอณหภม มอยสองแบบคอ แบบทให Output เปนแรงดน และแบบทให Output เปนกระแส
Linear CCD Imaging
รปท 29
Tri-linear colour CCD
รปท 28
Lecture 7
28
ดงรปเปนวงจรทใชส าหรบ Sensors ทงสองแบบ LM35 เปน Sensor แบบทเปน Temperature-dependent voltage source โดยใหแรงดน Output ทเพมขน 10 mV ทกๆ 1 องศาเซลเซยสทสงขน ถาตอวงจรโดยใช R1 และแรงดนอางองดงรปจะท าใหได
แรงดน Output ทมความหมาย ไดจาก –55 to +150 C และสามารถปรบแรงดน Output ใหได 0 V ท 0 C ได แรงดน Output ทไดออกมาน สามารถน าไปขยายดวยวงจรขยายสญญาณ เพอใหไดแรงดนมากตามทตองการ
อกแบบหนงของ Semiconductor Temperature Sensors คอแบบ Temperature-dependent current source เชน AD590
จะใหกระแสทเพมขน 1 A/ K มการใชงานดงในวงจรตวอยางขางตน วงจรจะเปลยนคากระแสทได ใหเปนแรงดน โดยใชตว
รปท 31
รปท 30
Lecture 7
29
ตานทาน 1 K ดงนนจะไดการเปลยนแปลง 1 mV/ K และโดยการใชของ AD580 ซงเปนตวสรางแรงดนอางองและใช Trim
pot แบบละเอยด ปรบใหไดแรงดน 273.2 mV จะท าใหไดแรงดน Output เปน 0 Volt ท 0 C และโดยการปรบอตราการขยายของ Instrument amp ทเหมาะสมจะท าใหไดแรงดนตามทตองการ ขอดของการใช Sensor ทเปน Current source นกคอไมมผลของ Voltage drop ในสายสญญาณทยาวๆ คาทวดไดจงถกตองกวาแบบทเปน Voltage source
Thermocouples
หลกการของ Thermocouples คอเมอน าโลหะสองชนดมาตอเขาดวยกน จะเกดกระแสไฟฟาไหลทจดตอนนๆ เมอถกความ
รอน คาแรงดนทเกดขนน จะเปลยนแปลงไปตามอณหภม โดยมคาแรงดนโดยประมาณ 7 ถง 75 A/ C ขนอยกบชนดของโลหะทงสอง มหลายแบบเชน
Type J: iron-constantan
Type T: copper-constantan
Type K: chromel-alumel
การเลอกใชของชนดโลหะขนอยกบ ชวงของอณหภมทตองการวด เชน Thermocouples Type J จะส าหรบใชในชวงอณหภม
–184 to +760 C
ตว Thermocouples มขนาดเลก ทนทาน และมความนาเชอถอสง แตในการน ามาใชงานนน มปญหาทส าคญ 4 ประการคอ ขอแรกสญญาณทไดจาก Thermocouples นนม คานอยมากๆ จงจ าเปนตองใช วงจรเพอขยายสญญาณใหไดขนาดตามตองการ
รปท 32 ระดบแรงดนไฟฟาทไดจากเทอรโมคบเปลชนดตาง ๆ เมอเทยบกบอณหภม
Lecture 7
30
ขอทสองคอตองม Reference junction เนองจากจดทตอไปเขากบวงจรทขยายสญญาณเปนจดตอของโลหะสองชนดทไมเหมอนกน ท าใหแรงดนทวดไดทงหมดเปนเกดจากอณหภมทจดตอน และอณหภมทหววด เพอปองกนขอผดพลาดน จงมการออกแบบใหชวงทตอกบวงจรขยายเปนโลหะชนดเดยวกน ดงรปตวอยางการตอ Type J thermocouple เขากนวงจรขยาย ท าใหจดตอระหวาง Thermocouple กบวงจรขยายทงสองขว (constantan-copper) เกด Voltage เทาๆกนและไมถกขยายโดยวงจร Differential Amplifier แตการท าเชนนท าใหเกดมรอยตอเพม (iron-constantan) จากรอยตอทหววด (iron-constantan)
ดงนนถาใชรอยตอทเพมขนเปนจดตออางองและท าใหอณหภมทจดตออางองเปนคาคงท กจะสามารถค านวณอณหภมทหดวดได หรออกทางหนงคอใช AD590 ซงเปน Current source ทแปลตามอณหภม มาตดตงเขากบ Reference junction น กระแสทได จะไปยง Resistor เพอสรางเปนแรงดนชดเชยผลของการเปลยนแปลงท Reference junction น จะไดเปนวงจรทใชงานดงรป
รปท 33
สวนของ Reference junction จะเรยกอกอยางไดวาเปน Cold junction นนเอง
ขอทสามคอ ตองท าใหจดตอระหวาง Thermocouple กบวงจรขยายทงสองขว (constantan-copper) มอณหภมเทากนเพอใหเกด Voltage เทาๆกน โดยการตอ Thermocouple ผาน Isothermal Block แลวจงตอเขาวงจรขยาย
Lecture 7
31
ปญหาขอสดทายของการใชงาน Thermocouples คอคาแรงดนทได นนไมไดเปลยนแปลงอยางเปนเชงเสนกบอณหภม แกไขไดดวยวงจรทท าการปรบ Gain ไดตามสญญาณทเขามา แตอยางไรกด ถาเปนการใช Thermocouples เพอเปน Input Device ใหกบ Microcomputer แลวการแกโดยใชโปรแกรม ดวยการเปดตารางและการค านวณจะท าไดสะดวกกวา
RTDs and Thermistors
เปนอปกรณทใชในการตรวจวดอณหภม หลกการท างานของอปกรณสองชนดนคอเปลยนคาความตานทานตามการเปลยนแปลงของอณหภม
RTDs (Resistance Temperature Detector) โครงสรางของ RTDs จะเปนลวด หรอ Thin film ของ Platinum หรอ Nickel คาความตานทานของ RTDs นนจะมคาทเพมขนตามอณหภม ขอเสยคอการตอบสนองตออณหภม ไมเปนเชงเสนกบอณหภม แตมขอดคอ เสถยรภาพ และการเกดขนซ ารอย (Repeatability) ดงนนแลว RTDs นจะใชในงานทตองการวดอณหภมทตองการ
ความเทยงตรง หรอถกตองมาก RTDs จะใชในการวดอณหภมในชวง –250 to +850 C โดยการใชวงจรดงรป
รปท 34
Thermistors (Thermal sensitive resistors) มโครงสรางภายในทเปน Semiconductor ม 2 แบบคอ
NTC (Negative Temperature Coefficient) ซงคาความตานทานจะลดลงเมออณหภมเพมขน และ PTC (Positive Temperature Coefficient) ซงคาความตานทานจะเพมขนเมออณหภมเพมขน แตผลตอบสนองไมเปนเชงเสนเชนกน ขอดของ Thermistor คอมราคาถกมาก และมการตอบสนองไดเรว แตไมมความเทยงตรงมากนก สามารถใชในงานทวๆ ไปทไมตองการความแมนย า วงจรทใชงานเปนวงจรเดยวกบ RTDs
Lecture 7
32
นอกจากนน RTD และ thermistor มคณสมบตเปนตวตานทาน เมอมกระแสไหลผานจะท าใหมความรอนเกดขน ปรากฏการณนเรยกวา self-heating ท าใหอณหภมทอานไดคลาดเคลอนจากอณหภมจรงๆ ของสงทตองการวด โดยรวมอณหภมทเพมขนมาของตว sensor เขาไปดวย ผออกแบบวงจรควรระวงโดยออกแบบวงจรใหมกระแสไหลผานตว sensor นอยทสด ปรมาณก าลงความรอนทเกดขนนนซงท าใหอณหภมเปลยนไปเรยกวา Dissipation constant (D.C.) สวนมากจะมหนวยเปน Milliwatts ตามสมการ P = D.C. x Required accuracy; in ˚C ตวอยางเชน ถา thermistor ตวหนง มคา D.C. 2 mw/ ˚C และตองการวดอณหภมโดยม accuracy เทากบ 0.5 C เพราะฉะนน คา power dissipation สงสดทยอมใหเกดขนไดคอ 2mw/ ˚C x 0.5 ˚C = 1mw
Force and Pressure Transducers
Strain Gauges and Load Cells
Strain Gauge คอ Resistor ทคาความตานทานของมนเปลยนแปลงตามความยาวทยดออก โครงสรางอาจท าดวยลวดตวน าเลกๆ หรอเปนแผนบางๆ หรอ Semiconductor กได จากรปเปนการใชงานของ Strain gauge เพอการวดน าหนก
รปท 35
Lecture 7
33
แตเนองจากความตานทานของตว Strain gauge เองเปลยนแปลงไปตามอณหภมดวย ในการใชงานจงตด Strain gauge ไปสองตวในแนวตงฉากกน เพอใหเปนการชดเชยอณหภม โดยการใชวงจร Balance Bridge ในการแปลงคาความตานทานทเปลยนแปลงไป ใหออกมาเปนแรงดน คาแรงดนทไดจาก Strain gauge สวนมากจะให Full-Scale Differential output voltage ประมาณ 2-3 mV ตอแรงดนทปอนเขาไป เชนถาใชแรงดนทปอนเขาไปท วงจร Bridge เปน 10 Volt แรงดนทจะไดเมอ Full-Scale กจะเปน 20-30 mV ซงจะถกน าไปเขาวงจรขยายเพอน าไปใชงานตอไป การใชงานของ Strain Gauge Bridge จะมหลายรปแบบ เพอใชในการวดแรง หรอแรงดนในแบบตางๆ เชนถาตดตง Strain gauge เขากบโครงสรางท บดตวได ดงแสดงในรป จะได Load cell ส าหรบการวดน าหนก
รปท 36
หรอถาเปนการตดตง Strain Gauge Bridge นเขากบแผน Diaphragm ทอยในทอ แรงดนทไดจากวงจร Bridge นจะแปรตามแรงดน ทกระท ากบ Diaphragm น ถาดานหนงของ Diaphragm นเปนสญญากาศ คาแรงดนทอานไดกจะเปน Absolute Pressure แตถาเปนปลายเปดเขากบบรรยากาศ กจะไดเปน Relative Pressure กบความดน บรรยากาศ หรอถาปลายทงสองขางตอเขากบจดทมแรงดนตางกนนน กจะไดเปน Differential Pressure
4. Flow Sensors
การวดอตราการไหลสามารถท าไดหลายวธ ขนอยกบความเหมาะสมของ ชนดของๆ ไหล อตราการไหล และอณหภม ตวอยางของการวดอตราการไหลเชน โดยการน าใบพดไปตดตงในแนวของการไหล ดงรป
Lecture 7
34
รปท 37
ความเรวในการหมนของ ใบพดนกจะขนอยกบอตราการไหลนนเอง การวดความเรวของการหมนกจะท าไดโดยใช Optical encoder ตดตงเขากบแกนของใบพดน สญญาณทไดกจะน าไปเปน Input ใหกบ Microcomputer ตอไป ส าหรบอกวธการหนงของการวดอตราการไหลนน จะท าโดยใช Differential pressure sensor ดงรปเมอของไหลๆ ผานชองแคบ กจะเกนความแตกตางของแรงดนขน ซงความแตกตางน จะเปลยนไปตามอตราการไหล
Motion/Acceleration Sensors
รปท 39
รปท 38
Lecture 7
35
จากรป เนองจากการทตวน าสองตวถกกนดวยฉนวนจะมคณสมบตเปนตวเกบประจ (capacitor) เมอมแรงมากระท าบนคาน (beam) แกนกลางทตอกบคานจะเคลอนเขาใกล fixed plates ดานใดดานหนง ท าใหคาความจไฟฟา ( capacitance )ระหวางคานทเคลอนทไดกบ plate เปลยนแปลงไปเนองจากระยะระหวางคานกบ plates เปลยนไปโดยดานหนงจะมคาความจเพมขนสวนอกดานจะมคาลดลง ความตางศกย Output กจะเปลยนแปลงตามไปดวย จงท าใหเกดเปนความสมพนธระหวาง Output voltage กบแรงทมากระท า
Ultrasonic Sensor
คลนเสยงทน ามาท าเซนเซอรประเภทนจะอยใน ชวงความถ 20KHz - 1GHz ซงเรยกวา Ultrasonic ซงหของมนษยไมสามารถจะไดยน
รปท 40
Magnetic Sensors
เซนเซอรแบบเหนยวน า (Inductive Sensor) เปน เซนเซอรทท างานโดยอาศยหลกการเปลยนแปลงคาความเหนยวน าของขดลวด ซงการเปลยนแปลงดงกลาวจะมผลตอชนงานหรอวตถทเปนโลหะเทานน
เซนเซอรชนดเกบประจ (Capacitive Sensor)
เซนเซอรประเภทนมการเปลยนแปลงของความจ ซงเนองมาจากการเคลอนทของวตถชนดหนงเขามาใกลสนามไฟฟาของคาปาซเตอร เซนเซอรชนดนสามารถตรวจจบอปกรณทไมไดเปนโลหะได
Lecture 7
36
Hall Effect Sensors
จากปรากฏการณท เมอสนามแมเหลกถกวางตงฉากกบแผนทองค าบางๆ ทมกระแสไหลผานจะเกด Voltage ตก
ครอมแผนทองค า ท าใหสามารถใชเปน sensor ตรวจสอบสนามแมเหลกได
รปท 41
LVDT (Linear Variable Differential Transformers)
เมอกระแสไฟ ACไหลผานขดลวดขดหนง จะเกดการเหนยวน าใหเกด voltage ในขดลวดขางๆ (pickup coil) ทงสองขด ถาแกน (movable core เลอนจากเดมไปทางดานใดดานหนง pickup coil ดานนนกจะเกดการเหนยวน าไดมากกวา ท าใหเกด output voltage มากกวา จากปรากฏการณนจง ท าใหสามารถวดการเคลอนทได
Variable reluctance sensor (VRS)
รปท 42
Lecture 7
37
รปท 43
Other Sensors
นอกเหนอจากทกลาวมาแลวนน ยงม Sensor ส าหรบวดคณสมบตทางกายภาพ ตางๆอกมาก เชน ส าหรบการวดคา pH, การวดความหนา, การตรวจจบวามหรอไมมของวตถ ในทางปฏบตนนการวดปรมาณทางกายภาพ อาจวดทางตรงหรอทางออมกไดเชน ถาตองการวดระดบ หรอปรมาณของน าทอยในถง กอาจท าไดโดยการน าเอา Pressure sensor ไปตดทกนถงเพอวดคาของแรงกดของน า แลวน าคานไปค านวณเปนระดบน าอกตอหนง
4 - 20 mA Current Loops
ในการใชงานทางอตสาหกรรมทสวนของ Sensor อาจอยหางจากสวน A/D หรอ Microcomputer สญญาณจาก Sensor จะถกแปลงใหอยในรปแบบของกระแส แทนทจะเปนแรงดน เนองจากสญญาณทเปนกระแสจะไมมปญหาของการลดทอนของสญญาณจากความตานทานของสายทยาว หรอความตานทานภายในวงจร และยงมสญญาณรบกวนไดยากอกดวย สญญาณทใชเปนมาตรฐานในทางอตสาหกรรมคอ 4 - 20 mA Current Loops คากระแสท 4 mA เปนการแทนคาของสญญาณทเปน 0 และ 20 mA หมายถงคา Full scale และคาของกระแสทเปน 0 mA หมายถงการขาดของวงจร หรอสายสญญาณ เมอสญญาณนมาถงผ รบ จะถกเปลยนกบใหเปนคาแรงดนเหมอนเดมได โดยใช Resistors และวงจร Op-amp คาของแรงดนนจะน าไปเขาท A/D Converter เพอแปลงเปนขอมล Digital เพอเปน Input ใหกบ Microcomputer น าไปใชงานตอไป