Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 11 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
11
Dung lượng
3,42 MB
Nội dung
Đề tài: TỔNGQUÁTVỀARDUINO I/ Khái niệm Arduino - Arduino board mạch Vi Điều Khiển sử dụng chip AVR 8bit ATmega328, Atmega168, ATmega8 Atmel - Board mạch Arduino sử dụng dòng vi xử lý 8-bit megaAVR Atmel với hai chip phổ biến ATmega328 ATmega2560 Các dòng vi xử lý cho phép lập trình ứng dụng điều khiển phức tạp trang bị cấu hình mạnh với loại nhớ ROM, RAM Flash, ngõ vào digital I/O có nhiều ngõ có khả xuất tín hiệu PWM, ngõ đọc tín hiệu analog chuẩn giao tiếp đa dạng UART, SPI, TWI (I2C) - Sức mạnh xử lý + Xung nhịp: 16MHz + EEPROM: 1KB (ATmega328) 4KB (ATmega2560) + SRAM: 2KB (Atmega328) 8KB (Atmega2560) + Flash: 32KB (Atmega328) 256KB (Atmega2560) - Đọc tín hiệu cảm biến ngõ vào: Digital: Các board mạch Arduino có cổng digital cấu hình làm ngõ vào ngõ phần mềm Do người dùng linh hoạt định số lượng ngõ vào ngõ Tổng số lượng cổng digital mạch dùng Atmega328 14, Atmega2560 54 Analog: Các board mạch Arduino có trang bị ngõ vào analog với độ phân giải 10-bit (1024 phân mức, ví dụ với điện áp chuẩn 5V độ phân giải khoảng 0.5mV) Số lượng cổng vào analog Atmega328, 16 Atmega2560 Với tính đọc analog, người dùng đọc nhiều loại cảm biến nhiệt độ, áp suất, độ ẩm, ánh sáng, gyro, accelerometer… - Xuất tín hiệu điều khiển ngõ ra: Digital output: Tương tự cổng vào digital, người dùng cấu hình phần mềm để định dùng ngõ digital ngõ Tổng số lượng cổng digital mạch dùng Atmega328 14, Atmega2560 54 PWM output: Trong số cổng digital, người dùng chọn số cổng dùng để xuất tín hiệu điều chế xung PWM Độ phân giải tín hiệu PWM 8-bit Số lượng cổng PWM board dùng Atmega328 6, board dùng Atmega2560 14 PWM có nhiều ứng dụng viễn thông, xử lý âm điều khiển động mà phổ biến động servos máy bay mô hình - Chuẩn Giao tiếp Serial: Đây chuẩn giao tiếp nối tiếp dùng phổ biến board mạch Arduino Mỗi board có trang bị số cổng Serial cứng (việc giao tiếp phần cứng chip thực hiện) Bên cạnh đó, tất cổng digital lại thực giao tiếp nối tiếp phần mềm (có thư viện chuẩn, người dùng không cần phải viết code) Mức tín hiệu cổng TTL 5V Lưu ý cổng nối tiếp RS232 thiết bị PC có mức tín hiệu UART 12V Để giao tiếp hai mức tín hiệu, cần phải có chuyển mức, ví dụ chip MAX232 Số lượng cổng Serial cứng Atmega328 Atmega2560 Với tính giao tiếp nối tiếp, bo Arduino giao tiếp với nhiều thiết bị PC, touchscreen, game console… USB: Các board Arduino tiêu chuẩn có trang bị cổng USB để thực kết nối với máy tính dùng cho việc tải chương trình Tuy nhiên chip AVR cổng USB, board Ardunino phải trang bị thêm phần chuyển đổi từ USB thành tín hiệu UART Do máy tính nhận diện cổng USB cổng COM cổng USB tiêu chuẩn SPI: Đây chuẩn giao tiếp nối tiếp đồng có bus gồm có dây Với tính board Arduino kết nối với thiết bị LCD, điều khiển video game, điều khiển cảm biến loại, đọc thẻ nhớ SD MMC… TWI (I2C): Đây chuẩn giao tiếp đồng khác bus có hai dây Với tính này, bo Arduino giao tiếp với số loại cảm biến thermostat CPU, tốc độ quạt, số hình OLED/LCD, đọc real-time clock, chỉnh âm lượng cho số loại loa… II/ Bộ phận phần cứng Arduino 1.Cổng USB (loại B): cổng giao tiếp để ta upload code từ PC lên vi điểu khiển Đồng thời giao tiếp serial để truyền liệu vi điểu khiển với máy tính Jack nguồn: để chạy Arduino lấy nguồn từ cổng USB trên, lúc cắm với máy tính Lúc đó, ta cần nguồn 9V đến 12V Hàng Header: đánh số từ đến 12 hàng digital pin, nhận vào xuất tín hiệu số Ngoài có pin đất (GND) pin điện áp tham chiếu (AREF) Hàng header thứ hai: chủ yếu liên quan đến điện áp đất, nguồn Hàng header thứ ba: chân để nhận vào xuất tín hiệu analog Ví dụ đọc thông tin thiết bị cảm biến Vi điều khiển AVR: xử lý trung tâm toàn bo mạch Với mẫu Arduino khác chip khác Ở Arduino Uno sử dụng ATMega328 III/ Lập trình cho Arduino Thiết kế board mạch nhỏ gọn, trang bị nhiều tính thông dụng mang lại nhiều lợi cho Arduino, nhiên sức mạnh thực Arduino nằm phần mềm Môi trường lập trình đơn giản dễ sử dụng, ngôn ngữ lập trình Wiring dễ hiểu dựa tảng C/C++ quen thuộc với người làm kỹ thuật Và quan trọng số lượng thư viện code viết sẵn chia sẻ cộng đồng nguồn mở lớn Giao diện IDE Arduino Thanh menu IDE gồm: Biên dịch, Biên dịch nạp, New, Open, Save, Serial Monitor Cắm board vào cổng USB, cài Driver (có thư mục cài IDE Arduino) Xác định cổng COM kết nối PC: Truy cập Divice Manager > Pors (Com & LPT) > Arduino (COM…) ; có nghĩa board Arduino nối vào cổng COM… Chọn cổng COM tương ứng IDE: Tools > Serial Port > COM… (số cổng COM tương ứng xem trên) Chọn board Arduino IDE: Tools > Board > Arduino Uno Mở code: File > Open > Chọn file *ino Nạp code: Bấm lệnh Upload (biểu tượng mũi tên nằm ngang, thứ từ bên trái) Quá trình nạp bắt đầu có thông báo hoàn tất (Nạp bootloader cho Atmega328 từ PC với khai báo thích hợp IDE) Cấu trúc chương trình Arduino: - Khai báo thư viện chuẫn IDE: #include - Khai báo thư viện kèm theo (tên file chứa thư mục): #include "UnoJoy.h" - Định nghĩa macro (khi biên dịch, đoạn code macro thay vào chỗ gọi nó): #ifndef UNOJOY_H { ….} #endif - Định nghĩa cấu trúc liệu mới: typedef struct data_t {…;} struct data_t ; - Đặt tên chân board theo chức (chân nối encoderA): const int encoderA = 2; - Khai báo biến toàn cục: int Pulse0 = 20; - setup() { + Các lệnh cấu hình hoạt động chân (nhập, xuất, kéo lên), giao tiếp … + Các lệnh thực lần nhất, không cần lặp + Khai báo hàm ngắt; } - loop() { + Các lệnh lặp chu trình; } - Khai báo hàm, hàm thực ngắt {…;} Thay đổi chức board Arduino: Có thể hiểu board Arduino gồm phần cứng phần mềm Chức board phụ thuộc vào phần mềm, tức file hex nạp chip Atmega16u, phụ trách giao tiếp USB-UART với máy tính Mặc định board làm việc với IDE, trở thành gamepad hay thiết bị khác nạp file hex tương ứng với thiết bị (lúc kết nối với IDE được) Cách nạp file Hex cho chip Atmega16u: - Tải, cài phần mềm flip file hex mong muốn Set chế độ DFU (reset chip giao tiếp): chạm chân GND lên chân Reset cụm ICSP1 (2 - chân cùng, phía cổng USB) Chạy flip, chọn loại chíp (16u) Chọn file Hex nạp Rút cắm lại dây USB cho PC nhận lại board Khi muốn Arduino làm việc với IDE phải khôi phục nạp lại file Hex có thư mục cài IDE (trong Arduino\hardware\arduino\firmwares\atmegaxxu2) KẾT QUẢ ĐÁNH GIÁ CHẤT LƯỢNG THIẾT BỊ Chuẩn bị hóa chất - Hóa chất sử dụng: Glucozo hãng CENTRONIC - Quy trình pha hóa chất: Mục đích đánh giá - Kiểm tra chất lượng máy xét nghiệm sinh hóa khâu quan trọng quy trình đảm bảo chất lượng nhằm phát sai số, nguyên nhân dẫn đến tình trạng sai số để từ đưa biện pháp xử lý kịp thời - Giám xác bảo việc bảo dưỡng, bảo trì hiệu chuẩn thiết bị định kỳ - Đánh giá độ tin cậy thiết bị Những số thống kê để đánh giá chất lượng - Kiểm tra độ xác( dùng đại lượng hệ số biến thiên): Kiểm tra độ lặp lại nhằm phát sai số ngẫu nhiên( độ lệch chuẩn) Một phương pháp xét nghiệm coi xác kết xét nghiệm thu phân tán so với giá trị trung bình Độ xác tương ứng với khoảng cách kết xét nghiệm riêng rẽ thu với trị số trung bình Sự phân tán kết xét nghiệm nhỏ độ xác cao - Độ xác thực: Một phương pháp xét nghiệm coi xác thực kết xét nghiệm thu xấp xỉ giá trị thực Xử lý số liệu BẢNG SỐ LIỆU THU ĐƯỢC Số lần đo Máy xét nghiệm sinh hóa bán tự động PM650(mg/dl) 101 Máy đồ án 101 4.24 2.57 2.5 102 100 4.25 2.7 2.69 100 103 4.23 2.42 2.39 102 98 4.24 2.58 2.46 101 99 4.25 2.53 2.51 101 101 4.24 2.51 2.48 103 98 4.24 2.45 2.50 98 101 4.24 2.34 2.37 98.2 10 100 4.24 2.45 2.46 99.2 Blank(V) Standard(V) Sample(V) Nồng độ Glucozo(mg/dl) 4.2 2.62 2.63 98.8 BẢNG KẾT QUẢ Máy Máy xét nghiệm sinh hóa bán tự động PM650 Máy đồ án Trị số trung bình 100.2 Phương sai Độ lệch chuẩn Hệ số biến thiên 2.4 1.55 1.54% 100.32 3.03 1.74 1.73% Nhận xét Theo bảng số liệu kết thu ta thấy: - Số liệu đo từ máy xét nghiệm sinh hóa bán tự động PM650 máy đồ án có sai lệch không đáng kể - Hệ số biến thiên máy xét nghiệm sinh hóa bán tự động PM650 nhỏ so với máy đồ án chệnh lệch số liệu không nhiều - Trị số trung bình sau 10 phép thử nồng độ glucose từ máy đồ án có giá trị xấp xỉ so với nồng độ mẫu( standard =100mg/dl) Dù có sai số yếu tố khách quan gây giá trị đo chấp nhận Đây kết tham khảo, chưa kiểm tra mức QC cao QC thấp nên không đánh giá độ xác kết làm đồ án ... mạch Với mẫu Arduino khác chip khác Ở Arduino Uno sử dụng ATMega328 III/ Lập trình cho Arduino Thiết kế board mạch nhỏ gọn, trang bị nhiều tính thông dụng mang lại nhiều lợi cho Arduino, nhiên... > Arduino (COM…) ; có nghĩa board Arduino nối vào cổng COM… Chọn cổng COM tương ứng IDE: Tools > Serial Port > COM… (số cổng COM tương ứng xem trên) Chọn board Arduino IDE: Tools > Board > Arduino. ..I/ Khái niệm Arduino - Arduino board mạch Vi Điều Khiển sử dụng chip AVR 8bit ATmega328, Atmega168, ATmega8 Atmel - Board mạch Arduino sử dụng dòng vi xử lý 8-bit megaAVR