đo cường độ dòng điện sử dụng AVR

26 1.9K 14
đo cường độ dòng điện sử dụng AVR

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

Mục lục Trang Giới thiệu đề tài Sơ đồ khối Chức khối 3.1 Cảm biến đo dòng ACS712 3.2 Vi điều khiển Atmega8 3.3 Hiển thị LCD 16x02 .16 Sơ đồ nguyên lý 19 Lập trình .22 Hoàn thiện sản phẩm 25 1.Giới thiệu đề tài • • Sử dụng cảm biến đo dòng ACS712 để đo dòng qua tải Sử dụng vi điều khiển Atmega để nhận tín hiệu analog từ cảm biến ACS712 qua phân tích, tính toán, xử lý vi điều khiển để xuất giá trị • dòng điện mà hình hiển thị LCD 16x02 Thiết kế mạch đo dòng điện dải từ -5A đến 5A hiển thị số • hình Viết chương trình (phần mềm) thiết lập phần cứng để đáp ứng yêu cầu 2.Sơ đồ khối Trang Vi điều khiên Atmega8 Hiển thị LCD Cảm biến ACS712 • Khối cảm biến nhận tín hiệu dòng điện tải sau trả giá trị điện áp tương ứng, giá trị điện áp gửi đến chân ADC vi điều • khiển Vi điều khiển nhận tín hiệu điện áp từ chân ADC dạng Analog sau xử lý chuyển thành tín hiệu digital dạng 8bit 10bit Vi điều khiển tính toán giá trị Digital để đưa giá trị dòng điện tưởng ứng Sau gửi • tín hiệu tới LCD LCD 16x02 nhận tín hiệu từ Vi điều khiển cho phép hiển thị kết đo lên hình 3.Chức Năng Các Khối 3.1 Cảm biến đo dòng ACS712 3.1.1 Giới thiệu ACS712 ACS712 IC cảm biến dòng tuyến tính dựa hiệu ứng Hall ACS712 xuất tín hiệu Analog (tín hiệu tương tự), Vout biến đổi tuyến tính theo thay đổi dòng điện Ip lấy mẫu thứ cấp DC (hoặc AC) Trang Chú thích: Hiệu ứng Hall hiệu ứng vật lý thực áp dụng từ trường vuông góc lên làm kim loại hay chất bán dẫn hay chất dẫn điện nói chung có dòng điện chạy qua Lúc người ta nhận hiệu điện (hiệu Hall) sinh hai mặt đối diện Hall Tỷ số hiệu Hall dòng điện chạy qua Hall gọi điện trở Hall, đặc trưng cho vật liệu làm nên Hall 3.1.2 Phân loại Có loại cảm biến ACS712:    ACS712-5A(x05B): độ nhạy 180-190mV/A, IP= -5 đến 5A ACS712-20A(x20A): độ nhạy 96-104mV/A, Ip=-20 đến20A ACS712-30A(x30A): độ nhạy 63-69mV/A, Ip=-30 đến 30A Dựa vào độ nhạy mục đích sử dụng nhóm chọn ACS712-5A phù hợp để đo dòng qua tải có công suất thấp đảm bảo sai số bé ba loại cảm biến ACS712 Trên thị trường sản xuất modun ACS712-5A có độ nhậy cao, chống nhiễu tốt, dễ sử dụng giá thành không cao nhiều so với IC ACS712-5A Chính nên nhóm chọn mua modun ACS712-5A để sử dụng đề tài nhóm Hình dáng modun thể qua H1.2 H1.2: Modun ACS712-5A 3.1.3 Cấu tạo Trang 1.2 IP+: Nối chân IP+ với 3.4 IP- : Nối chân IP- với GND: Điện áp âm nguồn nuôi FILTER( lọc): Tác dụng lọc giúp tín hiệu không bị nhiễu VIOUT(Vout): Điện áp lối (dạng tín hiệu Analog) VCC: Điện áp dương nguồn nuôi Sơ đồ cấu tạo thể qua H1.3a H1.3b H1.3a: Cấu tạo bên ACS712 H1.3b: Dạng đóng gói thứ tự chân ACS712 3.1.4 Nguyên lý hoạt động a Sơ đồ nguyên lý thể qua hình 1.4a Trang Hình 1.4a: Sơ đồ nguyên lý ACS712 b Nguyên lý hoạt động Biểu đồ thể tuyến tính dòng Ip điện áp Vout.(H1.4b) H1.4b: Đồ thị thể tuyến tính Ip với Vout Dựa vào biểu đồ thể tuyến tính dòng Ip điện áp VIOUT ta đưa nguyên lý hoạt động cảm biến sau: Đầu tiên mắc mạch H 1.4c H1.4c: Mạch ACS712 Trang Khi K1 mở thi ACS chưa có tải lúc giá trị VIOUT(tín hiệu analog) trả 2.5v Khi K1 đóng: • Nếu Power nguồn DC, dòng qua tải từ IP+ sang IP- giá trị VIOUT trả rả từ 2.5v ~ 3.4v tương ứng với dòng thu từ ~ 5A Khi dòng qua tải từ IP- sang IP+ giá trị VIOUT trả từ 2.5v ~ 1.6v • tương ứng với dòng thi thu từ ~ -5A Nếu Power nguồn AC, nguồn AC không quy định chiều nên không cần xét đến dòng qua tải chạy từ IP+ sang IP- hay ngược lại Khi có dòng xoay chiều IP, dòng xoay chiều có độ lớn thay đổi liên tục theo hàm sin nên điện VIOUT điện xoay chiều hình sin có độ lớn tuyến tính với dòng điện AC từ – 5v tương ứng với -5A đến 5A 3.1.5 Ưu điểm ACS712-5A • • • • • • Tín hiệu Analog có độ nhiếu thấp Thời gian tăng đầu để đáp ứng với đầu vào 5µs Điện trở dây đẫn 1.2mΩ Nguồn vận hành đơn 5V Điện áp ổn định Độ nhạy đầu từ 180-190mV/A 3.2 Vi điều khiển ATmega8 3.2.1 Giới thiệu vi điều khiển Khái niệm: Vi điều khiển máy tính tích hợp chip, thường sử dụng để điều khiển thiết bị điện tử Cấu tạo : Gồm thành phần: lõi CPU, nhớ chương trình (thông thường ROM nhớ Flash), nhớ liệu (RAM), vài định thời cổng vào/ra để giao tiếp với thiết bị ngoại vi môi trường bên - tất khối thiết kế vi mạch tích hợp Trang Trên thị trường có nhiều họ vi điều khiển khác nhau, họ có vài chức giống có họ thực trực tiếp tín hiệu thu có họ không làm trực tiếp mà phải cần đến ngoại vi trợ giúp Do mạch sử dụng ACS712 có tín hiệu trả tín hiệu Analog nên nhóm chọn sử dụng họ vi điều khiển AVR, AVR tích hợp sẵn chuyển đổi ADC( chuyển từ tín hiệu Analog sang Digital) Về họ AVR có nhiều, ta chọn loại Trong đề tài nhóm xin chọn vi điều khiển ATmega8 để sử dụng 3.2.2 Vi điều khiển ATmega8 ATmega8 chíp thuộc họ AVR đóng gói dạng 28 chân, phổ biến thị trường có giá thành hợp lý 3.2.2.1 Tổng quan ATmega8 • • • • • • • • • • • Tốc độ tối đa: 16MHz với sử dụng thạch anh ngoài, ATmega tích hợp sẵn thạch anh nội 1MHz đến 8MHz điều chỉnh Dung lượng nhớ chương trình: KB Bộ nhớ EEPROM: 512 Byte Dung lượng nhớ RAM: KB Bộ nhớ chương trình có khả ghi 10.000 lần, nhớ EEPROM ghi 100.000 lần Hỗ trợ bootloader, có khả tự ghi vào nhớ chương trình, cập nhật chương trình cho chip mà không cần mạch nạp Timer bit: Timer 16 bit: ADC: kênh, 10 bit Giao tiếp: TWI (I2C), UART, SPI Điệnáp hoạt động: +)Atmega8L: 2.7V – 5.5V +)Atmega8: 4.5V – 5.5V 3.2.2.2 Sơ đồ chân Trang Trong đề tài nhóm dùng loại PDIP(dạng cắm) có 28 chân để sử dụng mạch 3.2.2.3 Mô tả chân • VCC: Chân cấp điện áp 5V • GND: Chân nối đất • RESET: Ngõ vào Reset, chân xuống mức thấp thời gian dài độ dài xung nhỏ (tra bảng) vi điều khiển bị reset xung clock chạy • AVCC: Trong mạch có sử dụng đến ADC nên ta cần cấp nguồn nuôi riêng cho chân Nguồn nuôi không khác nguồn nuôi chíp +/-0.3V Một cách đơn giản để tạo nguồn AVCC dùng mạch LC kết nối từ nguồn VCC chip • AREF: Là điện áp tham chiếu, mạch sử dụng điện áp tham chiếu 5V nên mắc AREF lên VCC • PORT B (PB0 PB7): Là port xuất nhập bit hai chiều có điện trở kéo lên bên (có thể chọn cho bit) Ngoài chân PORTB có chức đặc biệt: Chân Port PB2 PB3 PB4 PB5 Chức khác SS (bus master: Slave select) MOSI (bus chuẩn SPI: Master output/Slave intput) MISO (bus chuẩn SPI: Master input/Slave output) SCK ( bus chuẩn SPI) Trang • PORTC (PC6 PC0): Là port xuất nhập bit hai chiều có điện trởkéo lên bên (có thể chọn cho bit) Ngoài chân portC có chức đặc biệt: Chân port PC0 PC1 PC2 PC3 PC4 Chức khác ADC0- ngõ vào kênh ADC0 ADC1- ngõ vào kênh ADC1 ADC2- ngõ vào kênh ADC2 ADC3- ngõ vào kênh ADC3 ADC4- ngõ vào kênh ADC4 SDA- bus data input/output chuẩn truyền nối tiếp I2C PC5 ADC5- ngõ vào kênh ADC5 SCL- bus xung đồng bộcủa chuẩn truyền nối tiếp I2C Ngõ vào reset PC6 • PORT D (PD7 PD0): Là port xuất nhập bit hai chiều có điện trở kéo lên bên (có thể chọn cho bit) Ngoài chân portD có chức đặc biệt: ` Chân Port PD0 PD1 PD2 PD3 PD4 PD5 PD6 PD7 Chức khác RXD- ngõ vào liệu USART TXD- ngõ liệu USART INT0- ngõ vào ngắt INT1- ngõ vào ngắt T0- ngõ vào đếm kiện counter0 XCK- ngõ vào/ra xung clock USART T1- ngõ vào đếm kiện counter1 AIN0- ngõ vào so sánh không đảo so sánh Analog AIN1- ngõ vào so sánh đảo so sánh Analog 3.2.2.4 Cấu trúc cuả ATmega8 Sơ đồ cấu trúc ATmega thể qua H2.2.4 Trang 10 Do có mặt hạn chế nội dung, nên nhóm không phân tích chi tiết chức ATmega8 mà chủ yếu phân tích nội dung liên quan chuyển đổi ADC sử dụng đề tài nhóm 3.2.2.5.1 Giới thiệu ADC ATmega8 ADC (Analog to Digital Converter) Chuyển đổi tín hiệu tương tự sang kỹ thuật số Trên ATmega tích hợp kênh ADC với độ phân giải 8bit 10bit, tức điện áp chuyển đổi thành 256 1024 mức level dạng bậc thang ADC ứng dụng nhiều đo nhiệt độ, đọc giá trị điện áp, tính dòng điện, đọc phím nhấn theo thang điện trở (trong tivi ), biến đổi tín hiệu âm sang kỹ thuật số để lưu trữ, ADC có độ phân giải cao khó chế tạo từ giá thành tỉ lệ thuận, với AVR lo chuyện giá thành chip ADC tích hợp bên tất chip AVR kể dòng nhỏ gọn ATtiny 3.2.2.5.2 Thiết kế nguồn cho ADC Chân AVCC chân cấp nguồn cho ADC riêng không chung với VCC chíp Trong đề tài nhóm sử mạch RC để cấp nguồn cho ADC H2.2.5.2 Trang 12 H2.2.5.2: Mắc nguồn cho ADC Chân AREF chân chọn điện áp tham chiếu ADC (AREF Max=5V) so sánh áp tham chiếu mức logic tương ứng kiểu tỷ lệ % VD: AREF=5V, ADC input =2.5V tức 50% AREF giá trị ADC 1024/2=512 3.2.2.5.3 Công thức tính giá trị điện áp chuyển đổi ADC 10bit: Vin = (Vref*ADC)/1024 ADC 8bit: Vin = (Vref*ADC)/256 Trong đó: Vref điện áp tham chiếu (Đơn vị: V) ADC giá trị sau chuyển đổi 3.2.2.5.4 Các ghi tham gia điều khiển ADC Có ghi ADC AVR có ghi data chứa liệu sau chuyển đổi, ghi điều khiển chứa trạng thái ADC Trang 13 ADMUX (ADC Multiplexer Selection Register): ghi bit điều khiển việc chọn điện áp tham chiếu, kênh chế độ hoạt động ADC Chức bit ghi trình bày cụ thể sau: Trong đó: • REFS1 REFS0 bit chọn điện áp tham chiếu để so sánh, thể qua bảng sau: REFS1 REFS0 Giá trị điện áp tham chiếu 0 Bằng AREF đưa vào, mã HEX 0x00 1 Bằng AVCC đưa vào, mã HEX 0x40 Dự trữ - Không sử dụng 1 2.56V onchip, mã HEX 0xC0 ADLAR bit xếp ghi ADCH ADCL, chuyển đổi ADC 10bit nên ta phải có ghi 8bit để lưu giá trị chuyển đổi • MUX4:0 bit cho phép chọn kênh, chế độ hệ số khuyếch đại cho ADC ADCSRA (ADC Control and Status RegisterA): ghi điều khiển hoạt động chứa trạng thái module ADC • Trang 14 • ADEN: Là bit cho phép ADC hoạt động, ta không set bit lên ADC không hoạt động • ADSC bit cho phép ADC chuyển đổi, trình chuyển đổi hoàn tất bit tự động xóa ta muốn ADC chuyển đổi tiếp ta bắt buộc phải set lại bit • ADFR Là bit cho chế độ liên tục chuyển đổi, Nếu set bit ADC liên tục chuyển đổi • ADIF bit cờ ngắt, trình chuyển đổi hoàn tất bit tự động set lên 1, ta kiểm tra bit để đảm bảo trình đọc ADC không bị lỗi • ADIE bit cho phép ngắt ADC Khi chuyển đổi hoàn tất có ngắt xảy cho phép ngắt ADC • ADPS2:0 3bit chọn xung nhịp cho ADC, tốc độ chuyển đổi phụ thuộc vào bit Chú ý chế độ 10bit chuyển đổi chậm chế độ 8bit Ta có bảng sau: ADPS2 ADPS1 ADPS0 Xung nhịp 0 Fosc/2 0 Fosc/2 Fosc/4 1 Fosc/8 0 Fosc/16 1 Fosc/32 1 Fosc/64 1 Fosc/128 Trang 15 ADCL ADCH (ADC Data Register): ghi chứa giá trị trình chuyển đổi Do module ADC AVR có độ phân giải tối đa 10 bit nên cần ghi để chứa giá trị chuyển đổi Tuy nhiên tổng số bít ghi bit 16, số nhiều 10 bit kết chuyển đổi, phép chọn cách ghi 10 bit kết vào ghi Bit ADLAR ghi ADMUX quy định cách mà kết ghi vào SFIOR(Special FunctionIO Register C): ghi chức đặc biệt, bit cao ghi quy định nguồn kích ADC chế độ Auto Trigger sử dụng Đó bit ADTS2:0 (Auto Trigger Source 2:0) 3.3 Hiển thị LCD16x02 3.3.1 Cấu trúc LCD Text LCD loại hình tinh thể lỏng nhỏ dùng để hiển thị dòng chữ số bảng mã ASCII Text LCD chia sẵn thành ô ứng với ô hiển thị ký tự ASCII Cũng lý thị ký tự ASCII nên loại LCD gọi Text LCD (để phân biệt với Graphic LCD hiển thị hình ảnh) Mỗi ô Text LCD baogồm “chấm” tinh thể lỏng, việc kết hợp “ẩn” “hiện” chấm tạo thành ký tự cần hiển thị Trang 16 Sơ đồ chân LCD16x02 Trong đó: VSS: tương đương với GND - cực âm • VDD: tương đương với VCC - cực dương (5V) • Constrast Voltage (Vo): điều khiển độ sáng ô ký tự • Register Select (RS): điều khiển địa ghi liệu • Read/Write (RW): Phụ thuộc vào giá trị gửi vào mà LCD đọc hay viể liệu • Enable pin: Cho phép ghi vào LCD • D0 - D7: chân dư liệu, chân có giá trị HIGH LOW bạn chế độ đọc (read mode) nhận giá trị HIGH LOW chế độ ghi (write mode) • Backlight (Backlight Anode (+) Backlight Cathode (-)): chỉnh độ tương phản đèn hình LCD 3.3.2.Nguyên lý hoạt động: • Trong trình sản xuất, nhà sản xuất tích hợp chíp điều khiển (HD44780) bên LCD để điều khiển chân tín hiệu Sơ đồ khối chip điều khiển HD44780: Trang 17 Các ghi : Chíp HD44780 có ghi bit quan trọng : Thanh ghi lệnh IR (Instructor Register) ghi liệu DR (Data Register) • • Thanh ghi IR : Để điều khiển LCD, người dùng phải “ra lệnh” thông qua tám đường bus DB0-DB7 Mỗi lệnh nhà sản xuất LCD đánh địa rõ ràng Người dùng việc cung cấp địa lệnh cách nạp vào ghi IR Nghĩa là, ta nạp vào ghi IR chuỗi bit, chíp HD44780 tra bảng mã lệnh địa mà IR cung cấp thực lệnh Thanh ghi DR : Thanh ghi DR dùng để chứa liệu bit để ghi vào vùng RAM DDRAM CGRAM (ở chế độ ghi) dùng để chứa liệu từ vùng RAM gởi cho MPU (ở chế độ đọc) Nghĩa là, MPU ghi thông tin vào DR, mạch nội bên chíp tự động ghi thông tin vào DDRAM CGRAM Hoặc thông tin địa ghi vào IR, liệu địa vùng RAM nội HD44780 chuyển DR để truyền cho MPU Trang 18 4.Sơ Đồ Nguyên Lý Từ phân tích cấu tạo tham khảo tài liệu liên quan nhóm xây dựng mạch nguyên lý dòng điện sau: Trong sơ đồ chia làm khối: Khối nguồn Khối cảm biến Khối sử lý Khối hiển thị Trang 19 4.1.Khối nguồn Sử dụng LM7805 IC nguồn cho điện áp 5V sử dụng rộng rãi mạch điện tử công suất thấp Có giá thành rẻ dễ lắp giáp Sử dụng thêm tụ mắc vào đầu vào đầu LM7805 4.2.Khối cảm biến Sử dụng modun ACS712-5A lắp sẵn, có chân VCC, Vout, GND Trong VCC GND lấy từ nguồn nuôi 5V LM7805 Chân V out đưa vào chân ADC vi điều khiển 4.3.Khối xử lý, tính toán Sử dụng ATmega8 để nhận tín hiệu Analog từ càm biến qua chân ADC PC0 Khi giá trị chân PC0 tín hiệu Analog, ATmega8 sử lý tín hiệu chuyển sang tín hiệu digital dạng 10bit Qua công thức tính toán mà người lặp trình gán cho, ATmega8 tính toán trả lại giá trị dòng điện ứng với giá trị ADC Sau gửi tới hình Dựa vào độ nhạy ACS712-5A từ 180-190mV/1A ADC 10bit ATmega8 ta xây dựng công thức tính dòng diện sau: • Lấy độ nhạy trung bình 185mV/1A • Chọn điện áp tham chiếu chân Vref =5V • Khi chưa có dòng IP thi Vout = 2.5V khí giá trị ADC(Digital) Chân PC0 tính sau: ADC = (Vout/Vref)*1024 = 512 • Khi có dòng IP làm Vout thay đổi dòng IP thay đổi tuyến tính theo Vout Cứ 1A số bậc mà ADC nhảy là: Trang 20 ADC = 185*5000/1024 = 37.888 Nhưng giá trị ADC giá trị nguyên không dấu  ADC = 38 bậc Vậy nhảy bậc giá trị dòng diện tương ứng là: I = 1000/38 = 26,3 (mA)  Công thức tính dòng điện: Ip = (ADC – 512 + 1) * 26,3 Với ADC giá trị tương ứng đọc Vout thay đổi 4.4.Khối hiển thị Sử dung LCD16x02 để thị giá trị dòng diện tính toán từ vi điều khiển gửi tới Trang 21 5.Lâp trình Như nhóm lựa chọn sử dụng Atmega8 làm vi điều khiển dùng mạch đo dòng điện, ngôn ngữ lập trình cho Atmega8 có loại ASM(AVRstudio) C (Codevision), nhóm sử dụng ngôn ngữ lập trình C sử dụng phần mềm codevision để viết chương trình cho mạch ứng dụng Chương trình viết codevision: #include #include #include #include #define ADC_VREF_TYPE 0x00 //su dung dien ap tham chieu Vref // viet ham doc gia tri adc unsigned int read_adc(unsigned char adc_input) { ADMUX=adc_input | (ADC_VREF_TYPE & 0xff); delay_us(10); ADCSRA|=0x40; while ((ADCSRA & 0x10)==0); ADCSRA|=0x10; return ADCW; } // chuong trinh chinh void main(void) { Unsigner int adc, i=0; // adc,i la bien nguyen k dau signer long tong=0; // tong la bien nguyen co dau unsigner char ip[30]; //ip la bien ki tu k dau signer int dong; //dong la bien nguyen co dau PORTB=0x00; DDRB=0x00; PORTC=0x00; Trang 22 DDRC=0x00; PORTD=0x00; DDRD=0x00; TCCR0=0x00; TCNT0=0x00; TCCR1A=0x00; TCCR1B=0x00; TCNT1H=0x00; TCNT1L=0x00; ICR1H=0x00; ICR1L=0x00; OCR1AH=0x00; OCR1AL=0x00; OCR1BH=0x00; OCR1BL=0x00; ASSR=0x00; TCCR2=0x00; TCNT2=0x00; OCR2=0x00; MCUCR=0x00; TIMSK=0x00; UCSRB=0x00; ACSR=0x80; SFIOR=0x00; ADMUX=ADC_VREF_TYPE & 0xff; ADCSRA=0x83; SPCR=0x00; TWCR=0x00; Trang 23 lcd_init(16); lcd_clear(); lcd_gotoxy(0,0); lcd_puts(" NHOM 5"); lcd_gotoxy(0,1); lcd_puts("UNG DUNG DO DONG"); delay_ms(2000); lcd_clear(); lcd_puts(" DONG DO DUOC"); while (1) { adc=read_adc(0); if (i[...]... xây dựng mạch nguyên lý do dòng điện như sau: Trong sơ đồ trên chia ra làm 4 khối: Khối nguồn Khối cảm biến Khối sử lý Khối hiển thị Trang 19 4.1.Khối nguồn Sử dụng LM7805 là 1 IC nguồn cho ra điện áp 5V được sử dụng rộng rãi trong các mạch điện tử công suất thấp Có giá thành rẻ và dễ lắp giáp Sử dụng thêm các tụ mắc vào đầu vào và đầu ra của LM7805 4.2.Khối cảm biến Sử dụng modun ACS712-5A lắp sẵn,... đổi ADC được sử dụng trong đề tài của nhóm 3.2.2.5.1 Giới thiệu bộ ADC trên ATmega8 ADC (Analog to Digital Converter) Chuyển đổi tín hiệu tương tự sang kỹ thuật số Trên ATmega được tích hợp 6 kênh ADC với độ phân giải 8bit hoặc 10bit, tức điện áp sẽ được chuyển đổi thành 256 hoặc 1024 mức level dạng bậc thang ADC được ứng dụng rất nhiều như đo nhiệt độ, đọc giá trị điện áp, tính dòng điện, đọc phím... thì giá trị dòng diện tương ứng sẽ là: I = 1000/38 = 26,3 (mA)  Công thức tính dòng điện: Ip = (ADC – 512 + 1) * 26,3 Với ADC là giá trị tương ứng đọc được khi Vout thay đổi 4.4.Khối hiển thị Sử dung LCD16x02 để hiện thị giá trị dòng diện tính toán được từ vi điều khiển gửi tới Trang 21 5.Lâp trình Như ở trên nhóm đã lựa chọn sử dụng Atmega8 làm bộ vi điều khiển dùng trong mạch đo dòng điện, ngôn ngữ... 180-190mV/1A và bộ ADC 10bit của ATmega8 ta sẽ xây dựng được công thức tính dòng diện như sau: • Lấy độ nhạy trung bình là 185mV/1A • Chọn điện áp tham chiếu là ở chân Vref =5V • Khi chưa có dòng IP thi Vout = 2.5V khí giá trị ADC(Digital) tại Chân PC0 sẽ được tính như sau: ADC = (Vout/Vref)*1024 = 512 • Khi có dòng IP làm Vout sẽ thay đổi và dòng IP sẽ thay đổi tuyến tính theo Vout Cứ 1A thì số bậc mà ADC nhảy... khiển 4.3.Khối xử lý, tính toán Sử dụng ATmega8 để nhận tín hiệu Analog từ càm biến qua chân ADC PC0 Khi đó giá trị tại chân PC0 là 1 tín hiệu Analog, ATmega8 sử lý tín hiệu này chuyển sang tín hiệu digital ở dạng 10bit Qua công thức tính toán mà người lặp trình gán cho, ATmega8 tính toán trả lại giá trị dòng điện ứng với giá trị ADC đó Sau đó sẽ gửi tới màn hình Dựa vào độ nhạy của ACS712-5A là từ 180-190mV/1A... trên nhóm đã lựa chọn sử dụng Atmega8 làm bộ vi điều khiển dùng trong mạch đo dòng điện, ngôn ngữ lập trình cho Atmega8 có 2 loại là ASM(AVRstudio) và C (Codevision), và nhóm đã sử dụng ngôn ngữ lập trình C và sử dụng phần mềm codevision để viết chương trình cho mạch ứng dụng Chương trình viết trên codevision: #include #include #include #include #define ADC_VREF_TYPE... là điện áp tham chiếu (Đơn vị: V) ADC là giá trị sau chuyển đổi 3.2.2.5.4 Các thanh ghi tham gia điều khiển ADC Có 4 thanh ghi trong bộ ADC trên AVR trong đó có 2 thanh ghi data chứa dữ liệu sau khi chuyển đổi, 2 thanh ghi điều khiển và chứa trạng thái của ADC Trang 13 1 ADMUX (ADC Multiplexer Selection Register): là 1 thanh ghi 8 bit điều khiển việc chọn điện áp tham chiếu, kênh và chế độ hoạt động... chọn điện áp tham chiếu để so sánh, thể hiện qua bảng sau: REFS1 REFS0 Giá trị điện áp tham chiếu 0 0 Bằng AREF đưa vào, mã HEX 0x00 0 1 1 0 Bằng AVCC đưa vào, mã HEX 0x40 Dự trữ - Không sử dụng 1 1 2.56V onchip, mã HEX 0xC0 ADLAR là bit sắp xếp 2 thanh ghi ADCH và ADCL, do bộ chuyển đổi ADC là 10bit nên ta phải có 2 thanh ghi 8bit để lưu giá trị chuyển đổi • MUX4:0 là 5 bit cho phép chọn kênh, chế độ. .. ghi chính điều khiển hoạt động và chứa trạng thái của module ADC • 2 Trang 14 • ADEN: Là bit cho phép bộ ADC hoạt động, nếu ta không set bit này lên 1 thì bộ ADC không hoạt động • ADSC là bit cho phép bộ ADC chuyển đổi, khi quá trình chuyển đổi hoàn tất bit này sẽ tự động được xóa về 0 và ta muốn bộ ADC chuyển đổi tiếp ta bắt buộc phải set lại bit này • ADFR Là bit cho chế độ liên tục chuyển đổi, Nếu... giá trị điện áp, tính dòng điện, đọc phím nhấn theo thang điện trở (trong tivi ), biến đổi tín hiệu âm thanh sang kỹ thuật số để lưu trữ, ADC có độ phân giải càng cao thì càng khó chế tạo và từ đó giá thành cũng tỉ lệ thuận, nhưng với AVR không phải lo chuyện giá thành của các chip ADC nó đã được tích hợp bên trong tất cả các chip AVR kể cả dòng nhỏ gọn như ATtiny 3.2.2.5.2 Thiết kế nguồn cho bộ ADC

Ngày đăng: 28/09/2016, 23:21

Tài liệu cùng người dùng

Tài liệu liên quan