Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 39 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
39
Dung lượng
1,21 MB
Nội dung
Lời mở đầu Học phần Đồ án II môn học thiết kế để củng cố nâng cao lực chuyên môn cho sinh viên; giúp liên kết khối kiến thức điện tử tương tự điện tử số, kỹ thuật vi xử lý, xử lý số tín hiệu, thơng tin số, v.v nhằm hồn thiện khả vận dụng kiến thức vào thực tế Trong học phần này, nội dung công việc sinh viên cần thực gồm: làm quen với công cụ thiết kế mạch điện, thực hành lập trình phần cứng xây dựng số ứng dụng với vi mạch khả trình Để đảm bảo tiến độ cơng việc, sinh viên chúng em hỗ trợ số phương tiện để triển khai công việc tảng xây dựng sẵn, kế thừa Trong nội dung báo cáo, em chia báo cáo thành chương sau: ❖ CHƯƠNG 1: GIỚI THIỆU ❖ CHƯƠNG 2: CẤU HÌNH MẠCH KIT ❖ CHƯƠNG 3: THỰC HÀNH LẬP TRÌNH CƠ BẢN CHO VĐK ❖ CHƯƠNG 4: VẬN DỤNG KIẾN THỨC VÀO THỰC TẾ ❖ CHƯƠNG 5: KẾT LUẬN Em xin cảm ơn thầy cô giảng viên hướng dẫn môn học Đồ án II hướng dẫn sinh viên chúng em cách thực đồ án Trong trình thực hiện, em cố gắng thực đầy đủ xong kiến thức hạn hẹp nên khơng tránh khỏi sai sót Em mong nhận góp ý thầy để em hồn thiện Em xin chân thành cảm ơn! SINH VIÊN Đàm Xuân Hiếu Mục lục Contents Lời mở đầu Mục lục Danh mục hình vẽ Danh mục bảng biểu .5 Chương 1: Thông tin chung Giới thiệu tổng quan Mạch Kit cho VĐK họ AVR Ngơn ngữ lập trình cơng cụ phần mềm Chương 2: Cấu hình mạch Kit .8 Cấu trúc mạch Các thông số Mạch nạp mã nguồn Màn hình LCD mơ-đun UART-USB 10 Chương 3: Thực hành lập trình cho VĐK 12 Tạo project thử nạp mã máy cho VĐK 12 Điều khiển cổng số 14 Đọc trạng thái logic đầu vào số 18 Đo điện áp tương tự hiển thị kết hình LCD 20 Chương 4: Vận dụng kiến thức vào thực tế 23 Đề tài thực 23 Giới thiệu cẩm biến nhiệt độ LM35 23 Thiết kế sơ đồ nguyên lý Altium Designer 24 Mô mạch đo nhiệt độ Proteus 26 Mạch đo nhiệt độ sử dụng LM35 30 Chương 5: Kết luận 37 Danh mục hình vẽ Hình 1 Mạch kit phát triển phụ kiện .7 Hình Cấu trúc mạch Kit Hình 2 Mạch nạp ISP chuẩn 10 chân 10 Hình Màn hình LCD 1602 chuẩn kết nối 16 chân 10 Hình Mơ-đun UART-USB sử dụng chip FT232RL .11 Hình Bước tạo Project .12 Hình Bước chọn Debug platform chọn chip khởi tạo Project 12 Hình 3 Chỉnh mức độ Optimization cho Project 13 Hình Thiết lập Toolchain cho Project 13 Hình Sửa Fuse bit hình 14 Hình Kết thực tế LCD 22 Hình Cảm biến LM35 23 Hình Sơ đồ nguyên lý LM35 24 Hình Giao diện Schematic Altium 25 Hình 4 Sơ đồ nguyên lý mô Altium .26 Hình Giao diện hình Proteus 8.7 27 Hình Giao diện hình mô 27 Hình Sơ đồ mơ mạch đo nhiệt độ sử dụng LM35 28 Hình Mơ mạch 28 Hình Kết mơ LM35 Proteus 29 Hình 10 Kết mơ LCD Proteus 30 Hình 11 Kết đo nhiệt độ thực tế 36 Danh mục bảng biểu Bảng Linh kiện quan trọng mạch Kit chức tương ứng Bảng Code kiểm tra AVR_Kit_Test .14 Bảng Code điều khiển cổng số 15 Bảng 3 Thư viện riêng điều khiển cổng số 18 Bảng Code đọc trạng thái logic đầu vào số 18 Bảng Thư viện riêng đọc trạng thái logic đầu vào số 20 Bảng Code đo điện áp tương tự hiển thị LCD 20 Bảng Thư viện riêng đo điện áp tương tự hiển thị LCD 21 Bảng Code đo nhiệt độ LM35 30 Bảng Thư viện riêng đo nhiệt độ LM35 35 Chương 1: Thông tin chung Giới thiệu tổng quan Học phần đồ án II thiết kế để củng cố nâng cao lực chuyên môn cho sinh viên; giúp liên kết kiến thức điện tử tương tự, điện tử số, kỹ thuật vi xử lý, xử lý số tín hiệu, thơng tin số, v.v nhằm hoàn thiện khả vận dụng kiến thức vao thực tế Trong đồ án bao gồm: làm quen cơng cụ thiết kế mạch điện, thực hành lập trình phần cứng, xây dựng ứng dụng với vi mạch khả trình Để đảm bảo tiến độ công viêc, sinh viên hỗ trợ số phương tiện để triển khai công việc tảng xây dụng sẵn, kế thừa Mạch Kit cho VĐK họ AVR AVR dòng VĐK bit mạnh thông dụng thị trường Việt Nam Với tốc độ xung nhịp tói 16MHz, nhớ chương trình tối đa tới 256 kB, nhiều chức ngoại vi tích hợp sẵn, VĐK họ AVR đáp ứng tốt nhiều ứng dụng thực tế, từ đớn giản tới phức tạp Kit phát triển sử dụng đồ án II Viện Điện tử- Viễn thông thiết kế để đảm bảo tính hiệu q trình đào tạo Với Kit này, sinh viên thử nghiệm ứng dụng như: Điều khiển cổng số, với LED đơn LED Đoc trạng thái logic đầu vào từ bàn phím giắc cắm mở rộng Đo điện áp tương tự, với biến trờ vi chỉnh ADC 10-bit Điều khiển hình tinh thể lỏng, với hình LCD dạng text Giao tiếp với máy tính thơng qua UART-USB Thử nghiệm ngắt ngoài, thử khả điều chế độ rộng xung Nhiều ứng dụng điều khiển chức tích hợp sẵn VĐK như: vận hành định thời (Timer) đếm (Count), đọc ghi EEPROM, lập trình ngắt chương trình, lập trình Watchdoc, v.v Hình 1 Mạch kit phát triển phụ kiện Mặt khác, việc kết nối mơ-đun mở rộng, sinh viên thử nghiệm ứng dụng phức tạp như: Đo tham số môi trường bản: nhiệt độ, độ ẩm, ánh sáng, v.v Điều khiển tải bản: đèn báo, van điện trở, động DC, động bước, v.v Điều khiển thị bản: LED ma trận, LCD ma trận, cảm ứng, v.v Giao tiếp I2C SPI: IC thời gian thực, IC EEPROM, cảm biến gia tốc, v.v Ứng dụng tổng hợp: đo trì ổn định tham số mơi trường; số hóa xử lý tín hiệu âm thanh; điều khiển robot xe tự hành, v.v Ngơn ngữ lập trình cơng cụ phần mềm Để học tập làm việc với VĐK AVR, sinh viên sử dụng ngơn ngữ C Assembly, viết số môi trường phát triển khác Các thực hành đồ án xây dụng với ngôn ngữ C; môi trường soạn thảo biên dịch kết hợp AVR studio với WinAVR Phần mềm nạp mã máy PROGISP Phần mềm thu nhận liệu từ cổng USB hay COM ảo Terminal Chương 2: Cấu hình mạch Kit Cấu trúc mạch Để thực nhiều chức ngoại vi với phần cứng tối thiểu, mach Kit thiết kể với cấu trúc Hình 2.1 chức linh kiện nêu rõ Bảng 2.1 Sơ đồ nguyên lý layout chi tiết thể phụ lục kèm theo Hình Cấu trúc mạch Kit STT Tên linh kiện Giắc cắm nguồn IC ổn áp 7805 LED báo nguồn VĐK họ AVR Chức Nhận nguồn điện 9-12VDC cấp cho mạch Kit Hạ 9-12VDC xuống 5VDC giữ ổn định mức điện áp để cấp cho tồn mạch Báo nguồn( sáng: có nguồn 5VDC; ngắt: nguồn) Điều khiển toàn mạch theo mã nguồn người dùng lập trình nạp xuống 10 11 12 13 Thạch anh Nút ấn RESET Giắc ISP Nhóm phím ấn Giắc cắm chân Giắc cắm chân Giắc cắm chân Giắc cắm chân Dãy LED đơn 14 15 16 17 18 Jumper dãy LED đơn LED Jumper LED Giắc cắm LCD Biến trở vi chỉnh 19 Giắc UART Quyết định tần số xung nhịp cấp cho VĐK Khởi động lại VĐK Kết nối mạch nạp để nạp nguồn cho VĐK Nhận lệnh điều khiển từ người sử dụng Nối chân vào/ra đa chức năng( ứng với Port-A) VĐK Nối chân vào/ra đa chức năng( ứng với Port-B) VĐK Nối chân vào/ra đa chức năng( ứng với Port-C) VĐK Nối chân vào/ra đa chức năng( ứng với Port-D) VĐK Báo trạng thái logic chan Port-D( sáng:mức logic0, tắt: mức logic 1) Cho phép vơ hiệu hóa dãy LED đơn Hiện thị từ 0-9 vài ký tự người dùng định nghĩa Cho phép vơ hiệu hóa LED Kết nối hình LCD dạng text Điều chỉnh trơn liên tục, từ 0-5VDC, mức điện áp đầu vào ADC0 ADC(chân PA0) Kết nối mô đun chuyển đổi UART-USB Bảng Linh kiện quan trọng mạch Kit chức tương ứng Các thơng số Các thông số kỹ thuật mạch Kit: Điện áp nguồn: o Tiêu chuẩn: 9-12VDC o Giới hạn: 7-18 VDC Dịng điện tiêu thụ: o Khi khơng có mơ đun mở rộng, toàn LED thị I/O tắt: 18mA o Khi có LCD mơ đun USB, LED thị I/O bị vơ hiệu hóa: 22mA o Khi có LCD mơ đun USB,tồn LED thị I/O sáng 80mA Mạch có khả tự bảo vệ bị lắp ngược cực tính nguồn Mức logic cổng I/O: TTL(5V) Điện áp tương tự vào chân ADC: từ 0-5V Loại VĐK hỗ trợ: Atmega 16 , Atmega32, tương đương Cổng I/O mở rộng: giắc cắm( loại chân) ứng với 4-Port( bit Port) Hỗ trợ hình LCD: dạng text, giao tiếp bit bit Hỗ trợ mô đun USB: UART-USB hay COM-USB( mức VDC) Xung nhịp tích hợp sẵn: thạch anh 8MHz Chương 4: Vận dụng kiến thức vào thực tế Đề tài thực Đề tài: Thiết kế chế tạo mạch đo nhiệt độ sử dụng cảm biến tương tự Yêu cầu công việc: chế tạo mạch điện có khả đo nhiệt độ dải 0-100oC sử dụng cảm biến tương tự Kết đo hiển thị hình LCD với độ phân giải tối thiểu 0.25oC Gợi ý cách thực hiện: Thiết kế mô đun đo sử dụng LM35 kết nối tới mạch Kit để số hóa, xử lý hiển thị kết Giới thiệu cẩm biến nhiệt độ LM35 Cảm biến LM35 là cảm biến nhiệt mạch tích hợp xác cao mà điện áp đầu tỷ lệ tuyến tính với nhiệt độ theo thang độ Celsius Chúng khơng u cầu cân chỉnh ngồi vốn chúng cân chỉnh Đặc điểm cảm biến LM35: Điện áp đầu vào từ 4V đến 30V Độ phân giải điện áp đầu 10mV/oC Độ xác cao 25 C 0.5 C Trở kháng đầu thấp 0.1 cho 1mA tải Hình Cảm biến LM35 Hình Sơ đồ nguyên lý LM35 Thiết kế sơ đồ nguyên lý Altium Designer Altium Designer trước có tên gọi quen thuộc Protel DXP, công cụ vẽ mạch điện tử mạnh Được phát triển hãng Altium Limited Altium designer phần mềm chuyên nghành sử dụng thiết kế mạch điện tử Altium Designer có số đặc trưng sau: - Giao diện thiết kế, quản lý chỉnh sửa thân thiện, dễ dàng biên dịch, quản lý file, quản lý phiên cho tài liệu thiết kế - Hỗ trợ mạnh mẽ cho việc thiết kế tự động, dây tự động theo thuật toán tối ưu, phân tích lắp ráp linh kiện Hỗ trợ việc tìm giải pháp thiết kế chỉnh sửa mạch, linh kiện, netlist có sẵn từ trước theo tham số - Mở, xem in file thiết kế mạch dễ dàng với đầy đủ thông tin linh kiện, netlist, liệu vẽ, kích thước, số lượng… - Hệ thống thư viện linh kiện phong phú, chi tiết hoàn chỉnh bao gồm tất linh kiện nhúng, số, tương tự… - Đặt sửa đối tượng lớp khí, định nghĩa luật thiết kế, tùy chỉnh lớp mạch in, chuyển từ schematic sang PCB, đặt vị trí linh kiện PCB - Mô mạch PCB 3D, đem lại hình ảnh mạch điện trung thực khơng gian chiều Trong phạm vi môn học, để thực vẽ sơ đồ nguyên lý, thư viện chung sử dụng để vẽ thư viện: “syhaunguyen” thư viện mặc định sẵn có phần mềm Để mở Project ta thực hiện: File >> New >> Project Để tạo vẽ sơ đồ nguyên lý, ta thực hiện: File >> New >> Schematic, ta dao diện: Hình Giao diện Schematic Altium Để lấy linh kiện từ thư viện ta chọn mục Library ( thường công cụ bên phải cửa sổ) sau lấy linh kiện cần tìm Sau chọn linh kiện cần theo bảng 2.1 thực vẽ, sơ đồ nguyên lý mạch Kit sau: Hình 4 Sơ đồ nguyên lý mô Altium Mô mạch đo nhiệt độ Proteus Proteus là phần mềm cho phép mô hoạt động mạch điện tử bao gồm phần thiết kế mạch viết chương trình điều khiển cho họ vi điều khiển MCS-51, PIC, AVR, … Proteus phần mềm mô mạch điện tử Lancenter Electronics, mô cho hầu hết linh kiện điện tử thông dụng, đặc biệt hỗ trợ cho MCU PIC, 8051, AVR, Motorola. Phần mềm bao gồm chương trình: ISIS cho phép mơ mạch ARES dùng để vẽ mạch in Proteus công cụ mô cho loại Vi Điều Khiển tốt, hỗ trợ dịng VĐK PIC, 8051, PIC, dsPIC, AVR, HC11, MSP430, ARM7/LPC2000 giao tiếp I2C, SPI, CAN, USB, Ethenet, ngồi cịn mơ mạch số, mạch tương tự cách hiệu Proteus công cụ chuyên mô mạch điện tử Hình Giao diện hình Proteus 8.7 Hình Giao diện hình mô Để lấy linh kiện, ta chọn Pick Device tìm theo tên linh kiện tương ứng Hình Sơ đồ mô mạch đo nhiệt độ sử dụng LM35 Hình Mơ mạch Double Click vào Atmega 16, ta chọn đường dẫn File hex (tương tự PROGISP) để chọn Run the simulation để mơ Kết mơ phỏng: Hình Kết mơ LM35 Proteus Hình 10 Kết mô LCD Proteus Mạch đo nhiệt độ sử dụng LM35 Mã nguồn #include #define FRE unsigned char push_button=0; #include "hunget_adc.h" #include "hunget_lcd.h" #include "thu_vien_rieng.h" int main() { INIT(); ADC_temperature(); return 0; } Bảng Code đo nhiệt độ LM35 *File thu_vien_rieng.h: void INIT(); void PORT(); void LED7_OUT(unsigned char num); void DELAY_MS(unsigned int mili_count); void PB_2_LED(); unsigned char PB_CHECK(); void ADC_2_LCD(); void ADC_temperature(); float teperature_calculate(); /******************************************** Ham INIT() la ham khong co tham so va khong tra lai gia tri, nguoi lap trinh tu xay dung de khoi tao trang thai cac PORT cua vi dieu khien Nhu bat ky ham tu xay dung nao khac,nguoi lap trinh co the doi ten, chia nho, gop to, hoac thay doi cac lenh ham theo y rieng lap trinh ********************************************/ void INIT() { //khoi DDRD|=0xFF; //khoi PORTD|=0xFF; //khoi DDRC|=0xFF; //khoi PORTC|=0xFF; tao trang thai Output cho cac chan noi toi cac LED don tao trang thai Logic cho cac chan noi toi cac LED don tao trang thai Output cho cac chan noi toi LED tao trang thai Logic cho cac chan noi toi LED DDRA= 0x00; PORTA = 0x00; } ADC_PRES(128); ADC_2V56(); ADC_IN(1); /********************************* Ham PORT() la ham khong co tham so va khong tra lai gia tri, nguoi lap trinh xay dung de dieu khien trang thai logic 0/1 cua cac chan cac PORT cua vi dieu khien Trong mach KIT nay, trang thai logic lam cac den LED sang tat theo quy tac: 0- LED sang; 1-LED tat **********************************/ void PORT() { /*Khai bao cac bien se dung toi ham nay*/ //Bien Led_shift de dieu khien cac LEd don //Gia tri dau la 255= 0xFF= 0b11111111 -> tat ca cac LED deu tat unsigned char led_shift=255; //Bien dem cho LED thanh, gia tri dau la unsigned char led_7_count=0; for(;;) { /*Doan ma dieu khien cac led don*/ //Cac LED sang/tat theo bit cua bien led_shift PORTD= led_shift; //thay doi bien led_shift if(led_shift!=0) //neu led_shift khac led_shift=led_shift