บทที่ 4 วงจร ADC เทอดศักดิ์ ลิ่วหาทอง สาขาวิชาอิเล็กทรอนิกส์

Slides:



Advertisements
งานนำเสนอที่คล้ายกัน
LAB # 4 Computer Programming 1 1. พิจารณาโปรแกรมต่อไปนี้
Advertisements

LAB # 4.
การใช้ภาษาซี มาสั่งงานผ่านพอร์ตพริ้นเตอร์
Introduction to Analog to Digital Converters
บทที่ 5 Interrupt เทอดศักดิ์ ลิ่วหาทอง สาขาวิชาอิเล็กทรอนิกส์
บทที่ 3 การรับ และส่งข้อมูลจากภายนอก และการเขียนโปรแกรม
ไมโครคอนโทรลเลอร์เบื้องต้น
การสัมฤทธิ์ทางการเรียนวิชาห้องสมุดกับการรู้สารสนเทศของ นักศึกษาระดับชั้น ปวส.1 ด้วยการจัดการเรียนรู้โดยใช้สื่อประสม นางสาวพัชรี นาคทอง วิทยาลัยเทคโนโลยีหมู่บ้านครู
เอื้อมพร ธาตุทำเล.
1 กรอบการประเมินผลตัวชี้วัด กรอบการประเมินผลตัวชี้วัดการพัฒนาคุณภาพการบริหารจัดการภาครัฐสำหรับส่วนราชการระดับกรม ปีงบประมาณ พ.ศ
Sc B011 Software ที่สนใจ. sc B012 VCD Cutter โปรแกรม ตัด - ต่อ VCD เฉพาะส่วนที่ ต้องการแบบง่าย ๆ.
หน่วยที่ 3 ภาษาคำสั่งพื้นฐานที่ใช้เขียนโปรแกรม PLC
Electronics for Analytical Instrument
หน่วยที่ 2 โครงสร้างโปรแกรมเมเบิลคอนโทรลเลอร์
สำนักวิชาเทคโนโลยีสารสนเทศและการสื่อสาร มหาวิทยาลัยนเรศวร พะเยา
Superior COmmunications Research and Prototyping for commercialization ความก้าวหน้าในการพัฒนาส่วนประมวลผล สัญญาณเบสแบนด์ ด้วยชิป DSP SCORPion Research.
การรับส่งข้อมูลระหว่าง Group 1 กับ Group 2
ชนิดของข้อมูล และการคำนวณทางคณิตศาสตร์
RESONANCE CIRCUITS - IMPEDANCE REVIEW
การรับส่งข้อมูลระหว่าง Group 2 กับ Group 3 ในสถานีเคลื่อนที่ (Mobile Station) 2 พฤษภาคม G Research Project 3G Research Project Thai Wireless Consortium.
กาญจนา ทองบุญนาค สาขาวิชาคอมพิวเตอร์ คณะวิทยาศาสตร์และเทคโนโลยี
หน่วยที่ 5 การเวียนเกิด
หน่วยที่ 6 แถวลำดับ (Array)
ADC & UART.
ครั้งที่ 7 รีจิสเตอร์ (REGISTER). รีจิสเตอร์ (Register) รีจิสเตอร์เป็นวงจรความจำที่ใช้ในการเก็บค่า ทางไบนารี่ ใช้ในการเก็บค่าในระหว่างการ ประมวลผลโดยใช้ฟลิป.
เตชิษฐ์ เรือง ไพศาล.  คอมพิวเตอร์เป็นอุปกรณ์ไฟฟ้าที่ใช้ไฟฟ้า กระแสตรงทำงาน  ข้อมูลภายในเป็นข้อมูลดิจิตอล  …..  แทนข้อมูลเหล่านี้ด้วยแรงดันไฟฟ้า.
LOGO ภาษาซี 1.1 อ. กฤติเดช จินดาภัทร์. LOGO ตัวอย่างโค้ดภาษาซี
ประวตศาสตร์เป็ นวชาทศี่ ึกษาเกยวกบอดตี โดยศึกษาถึง พฤตกิ รรมของมนุษย์ ตามบริบทของช่วงเวลาทเกดขึนซึ่งมผล ต่อมนุษยชาตเิ มอื่ เหตุการณ์น้ันเปลยี่
ส่วนประกอบของคอมพิวเตอร์ (Personal Computer : PC)
stack #2 ผู้สอน อาจารย์ ยืนยง กันทะเนตร
แนวข้อสอบ Final (จดด่วน)
Chapter 4 ข้อความสั่ง เลือกทำ.
Number system (Review)
องค์ประกอบและเทคนิคการทำงาน
SPI.
การประยุกต์ Logic Gates ภาค 2
ส่วนประกอบของคอมพิวเตอร์ (Personal Computer : PC)
เครื่องมือวัดดิจิตอล
Digital Circuit & Logic Design สอนโดย รศ. ดร
Programming in C.
อาจารย์อภิพงศ์ ปิงยศ บทที่ 2 : การนำเสนอมัลติมีเดียในรูปแบบดิจิตอล(Digital Representation) สธ212 ระบบสื่อประสมสำหรับธุรกิจ อาจารย์อภิพงศ์
บทที่ 7 การรับส่งข้อมูลบนเครือข่าย
การแปลงสัญญาณ ดิจิตอล เป็น อนาล็อก Digital to Analogue Conversion
ตัวอย่างการต่ออุปกรณ์ต่อพ่วงเข้ากับ PIC16F877A
คุณลักษณะของสัญญาณไฟฟ้าแบบต่าง ๆ
อาจารย์อภิพงศ์ ปิงยศ บทที่ 4 : สื่อกลางส่งข้อมูลและการมัลติเพล็กซ์ (Transmission Media and Multiplexing) Part3 สธ313 การสื่อสารข้อมูลและเครือข่ายคอมพิวเตอร์ทางธุรกิจ.
โครงสร้างภาษา C Arduino
จากรูปที่ 13.3 ที่เวลา เมื่อไม่มีสัญญาณที่อินพุตทรานซิสเตอร์ จะไม่ทำงานและอยู่ในสภาวะ OFF คาปาซิเตอร์ C จะเก็บประจุเพื่อให้แรงดันตกคร่อมมีค่าสูง ทำให้มีกระแสไหลผ่าน.
การบัญชีต้นทุนช่วง (Process Costing).
Introduction to Analog to Digital Converters
ประเภทแผ่นโปร่งใส (แผ่นใส) รายวิชา ออปแอมป์และลิเนียร์ไอซี
Interrupt & Timer.
ประเภทแผ่นโปร่งใส (แผ่นใส) รายวิชา ออปแอมป์และลิเนียร์ไอซี
สัญญาณและระบบ (SIGNALS AND SYSTEMS)
บัตรยิ้ม สร้างเสริมกำลังใจ
การหาคุณภาพของแบบทดสอบ
ผู้สอน ครูวัชระ วงษ์ดี
ตัวอย่างการจัดทำรายงานการผลิต และงบการเงิน
หน่วยที่ 6 อะเรย์ของอักขระ
ความดัน (Pressure).
บทที่ 11 พัลส์เทคนิค
วงจรอาร์ ซี ดิฟเฟอเรนติเอเตอร์
นายเกียรติศักดิ์ คนธสิงห์ วิทยาลัยเทคโนโลยีพายัพและบริหารธุรกิจ
นางสาวรตยา พนมวัน ณ อยุธยา นางสาววิไลลักษณ์ ดวงบุปผา
งานวิจัยในชั้นเรียน ผู้วิจัย นางสาวนนทกานต์ ลีอุดมวงษ์ .
การเคลื่อนที่แบบต่างๆ
การจัดบล๊อคและบัฟเฟอร์ (Blocking and Buffering)
ฟังก์ชันของโปรแกรม Computer Game Programming
บทที่ 5 พัลส์เทคนิค
บัญชีเงินเดือนขั้นต่ำขั้นสูงของข้าราชการพลเรือนสามัญ
ใบสำเนางานนำเสนอ:

บทที่ 4 วงจร ADC เทอดศักดิ์ ลิ่วหาทอง สาขาวิชาอิเล็กทรอนิกส์ สถาบันเทคโนโลยีพระจอมเกล้าเจ้าคุณทหารลาดกระบัง

Analog & Digital Signal Analog Signal Digital Signal Digital Signal

Analog to Digital Converter Sampling and Hold Quantize

Sampling Rate Selection fs >= 2 Bandwidth

Sampling Rate Selection Resolution LSB = (Vref+-Vref-)/2k

ADC ชนิด Successive Approximation

ADC ของ PIC18F8722 PIC18F8722 มีวงจร Analog to Digital Converter ขนาด 10 bit ทั้งหมด 16 วงจร (AN0-AN15)

ADC ของ PIC18F8722

ADC ของ PIC18F8722

ADC ของ PIC18F8722

Register ของ ADC PIC มี Register ที่เกี่ยวกับ ADC ทั้งหมด 5 ตัวคือ A/D Result High Register (ADRESH) A/D Result Low Register (ADRESL) A/D Control Register 0 (ADCON0) A/D Control Register 1 (ADCON1) A/D Control Register 2 (ADCON2)

ADRESH และ ADRESL ADRESH และ ADRESL เป็น Register ที่ใช้เก็บผลลัพธ์ของการแปลง ADC

ADCON0 ADCON0 เป็น Register ที่ใช้กำหนดว่าจะให้วงจร VAin ของวงจร ADC ต่อกับ AN ตัวที่เท่าใด (CHS3:0) สั่งให้ ADC เริ่มทำงาน Go/DONE และตรวจสอบว่า ADC ทำงานเสร็จหรือยัง ADON

ADCON0

ADCON1 ADCON1 เป็น Register ที่ใช้กำหนดให้ AN ตัวใดทำงานเป็น Analog Input Port หรือทำงานเป็น Digital I/O Port (PCFG3:0) และกำหนดให้ RA3/AN3 เป็น VRef+ และ RA2/AN2 เป็น VRef- (VCFG1:0)

ADCON1

ADCON2 ADCON2 เป็น Register ที่ใช้กำหนด Acquisition Time ของวงจร ADC

Acquisition Time สัญญาณ Analog จะถูกป้อนผ่านสวิทซ์ไปเข้าที่ขา VAin ของวงจร ADC จากนั้น CHOLD จะถูกชาร์จประจุให้มีแรงดันเท่ากับขา VAin

Acquisition Time เพื่อให้การแปลง ADC มีความถูกต้อง จะต้องให้แรงดันของ CHOLD เท่ากับ VAin เนื่องจาก VAin ชาร์จประจุ CHOLD ผ่าน RS, RSS ดังนั้นจึงต้องใช้เวลาในการชาร์จประจุ เราเรียกเวลาดังกล่าวว่า Acquisition Time (TACQ)

Acquisition Time

เราสามารถตั้งค่า Acquisition Time ได้จาก ACQT<2:0> เมื่อเซ็ทให้ GO/DONE = 1 PIC จะรอเป็นเท่ากับ Acquisition Time จากนั้นจึงเริ่มแปลง ADC และเมื่อแปลง ADC เสร็จแล้ว GO/DONE จะเท่ากับ 0

ขั้นตอนการแปลง ADC

#include <p18f8722.h> #include <adc.h> #include <delays.h> #include <timers.h> #define NUMBER_OF_LEDS 8 #pragma code int result; int shift; void main(void) { TRISAbits.TRISA0=1; TRISD = 0; PORTD = 0; ADCON1 = 0b00001110; ADCON2 = 0b10001010; ADCON0bits.ADON = 1; while(1) { ADCON0bits.GO=1; while(ADCON0bits.GO); result = ADRES; result >>=2; if(result==0) result = 1; // PORTD = result; PORTD=1<<shift; shift++; shift %=8; Delay10KTCYx(20); }