BÀI BÁO CÁO CỞ SỞ, ĐIỀU KHIỂN TỰ ĐỘNG ,Đề tà MẠCH ĐIỀU KHIỂN, MÁY BƠM BẰNG BIẾN TRỞ
UBND THÀNH PHỐ CẦN THƠ TRƯỜNG ĐẠI HỌC KỸ THUẬT - CƠNG NGHỆ CẦN THƠ KHOA KỸ THUẬT CƠ KHÍ BÀI BÁO CÁO CỞ SỞ ĐIỀU KHIỂN TỰ ĐỘNG Đề tài: MẠCH ĐIỀU KHIỂN MÁY BƠM BẰNG BIẾN TRỞ Cần Thơ – 2018 Giới thiệu chung Mạch bơm nước điều khiển biến trở cảm biến siêu âm mạch bơm nước đơn giản, nhỏ gọn Điều khiển máy bơm chủ yếu nhờ vào biến trở cảm biến siêu âm Biến trở dùng để điều chỉnh mức bơm động cơ, cảm biến siêu âm có chức kiểm tra lượng nước bồn chứa tới mức để trả thơng tính mạch điều khiển, để điều động tiếp tục bơm ngừng bơm Cấu tạo Gồm có thành phần sau: - Mạch điều khiển Arduino UNO R3 - Cảm biến siêu âm SRF05 - Biến trở 32k - Motor bơm nước 12V - Màn hình hiển thị LCD - Module cổng giao tiếp I2C - Module relay (rơ-le) Và số linh kiện khác: led, Test boarb, Adapter 5V, điện trờ 470, dây cắm test boarb, ống nước, bồn chứa nước 2.1 Arduino UNO R3 Hình 2.1 Arduino UNO R3 Trang Bảng 2.1 Một số thông số Arduino UNO R3 Vi điều khiển ATmega328 họ 8bit Điện áp hoạt động 5V DC (chỉ cấp qua cổng USB) Tần số hoạt động 16 MHz Dòng tiêu thụ khoảng 30mA Điện áp vào khuyên dùng 7-12V DC Điện áp vào giới hạn 6-20V DC Số chân Digital I/O 14 (6 chân hardware PWM) Số chân Analog (độ phân giải 10bit) Dòng tối đa chân I/O 30 mA Dòng tối đa (5V) 500 mA Dòng tối đa (3.3V) 50 mA Bộ nhớ flash 32 KB (ATmega328) với 0.5KB dùng bootloader SRAM KB (ATmega328) EEPROM KB (ATmega328) 2.1.1 Vi điều khiển Trang Hình 2.2 Vi điều khiển ATmega328 board Arduino UNO R3 Arduino UNO sử dụng vi điều khiển họ 8bit AVR ATmega8, ATmega168, ATmega328 Bộ não xử lí tác vụ đơn giản điều khiển đèn LED nhấp nháy, xử lí tín hiệu cho xe điều khiển từ xa, làm trạm đo nhiệt độ - độ ẩm hiển thị lên hình LCD,… Thiết kế tiêu chuẩn Arduino UNO sử dụng vi điều khiển ATmega328 với giá khoảng 90.000đ Tuy nhiên yêu cầu phần cứng bạn không cao túi tiền không cho phép, bạn sử dụng loại vi điều khiển khác có chức tương đương rẻ ATmega8 (bộ nhớ flash 8KB) với giá khoảng 45.000đ ATmega168 (bộ nhớ flash 16KB) với giá khoảng 65.000đ Arduino UNO cấp nguồn 5V thơng qua cổng USB cấp nguồn với điện áp khuyên dùng 7-12V DC giới hạn 6-20V Thường cấp nguồn pin vng 9V hợp lí bạn khơng có sẵn nguồn từ cổng USB Nếu cấp nguồn vượt ngưỡng giới hạn trên, bạn làm hỏng Arduino UNO 2.1.2 Các chân lượng GND (Ground): cực âm nguồn điện cấp cho Arduino UNO Khi bạn dùng thiết bị sử dụng nguồn điện riêng biệt chân phải nối với 5V: cấp điện áp 5V đầu Dòng tối đa cho phép chân 500mA 3.3V: cấp điện áp 3.3V đầu Dòng tối đa cho phép chân 50mA Trang Vin (Voltage Input): để cấp nguồn cho Arduino UNO, bạn nối cực dương nguồn với chân cực âm nguồn với chân GND IOREF: điện áp hoạt động vi điều khiển Arduino UNO đo chân Và dĩ nhiên ln 5V Mặc dù bạn không lấy nguồn 5V từ chân để sử dụng chức khơng phải cấp nguồn RESET: việc nhấn nút Reset board để reset vi điều khiển tương đương với việc chân RESET nối với GND qua điện trở 10KΩ Lưu ý: - Arduino UNO khơng có bảo vệ cắm ngược nguồn vào Do bạn phải cẩn thận, kiểm tra cực âm – dương nguồn trước cấp cho Arduino UNO Việc làm chập mạch nguồn vào Arduino UNO làm cho hư hỏng bạn nên bạn nên dùng nguồn từ cổng USB - Các chân 3.3V 5V Arduino chân dùng để cấp nguồn cho thiết bị khác, chân cấp nguồn vào Việc cấp nguồn sai vị trí làm hỏng board - Cấp điện áp 13V vào chân RESET board làm hỏng vi điều khiển ATmega328 - Cường độ dòng điện vào/ra tất chân Digital Analog Arduino UNO vượt 200mA làm hỏng vi điều khiển - Cấp điệp áp 5.5V vào chân Digital Analog Arduino UNO làm hỏng vi điều khiển - Cường độ dòng điện qua chân Digital Analog Arduino UNO vượt 40mA làm hỏng vi điều khiển Do khơng dùng để truyền nhận liệu, bạn phải mắc điện trở hạn dòng Ở nói bạn “có thể làm hỏng”, điều có nghĩa chưa hỏng thông số kĩ thuật linh kiện điện tử ln có tương đối định Do tn thủ theo thơng số kĩ thuật nhà sản xuất 2.1.3 Bộ nhớ Vi điều khiển Atmega328 tiêu chuẩn cung cấp cho người dùng: Trang - 32KB nhớ Flash: đoạn lệnh bạn lập trình lưu trữ nhớ Flash vi điều khiển Thường có khoảng vài KB số dùng cho bootloader đừng lo, bạn cần 20KB nhớ đâu - 2KB cho SRAM (Static Random Access Memory): giá trị biến bạn khai báo lập trình lưu Bạn khai báo nhiều biến cần nhiều nhớ RAM Tuy vậy, thực nhớ RAM lại trở thành thứ mà bạn phải bận tâm Khi điện, liệu SRAM bị - 1KB cho EEPROM (Electrically Eraseble Programmable Read Only Memory): giống ổ cứng mini – nơi bạn đọc ghi liệu vào mà lo bị cúp điện giống liệu SRAM 2.1.4 Các cổng vào/ra Hình 2.3 Các cổng vào/ra board Arduino UNO R3 Arduino UNO có 14 chân digital dùng để đọc xuất tín hiệu Chúng có mức điện áp 0V 5V với dòng vào/ra tối đa chân 40mA Ở chân có điện trở pull-up từ cài đặt vi điều khiển ATmega328 (mặc định điện trở khơng kết nối) Một số chân digital có chức đặc biệt sau: Trang - chân Serial: (RX) (TX): dùng để gửi (transmit – TX) nhận (receive – RX) liệu TTL Serial Arduino Uno giao tiếp với thiết bị khác thông qua chân Kết nối bluetooth thường thấy nói nơm na kết nối Serial không dây Nếu không cần giao tiếp Serial, bạn không nên sử dụng chân không cần thiết - Chân PWM (~): 3, 5, 6, 9, 10, 11: cho phép bạn xuất xung PWM với độ phân giải 8bit (giá trị từ → 28-1 tương ứng với 0V → 5V) hàm analogWrite() Nói cách đơn giản, bạn điều chỉnh điện áp chân từ mức 0V đến 5V thay cố định mức 0V 5V chân khác - Chân giao tiếp SPI: 10 (SS), 11 (MOSI), 12 (MISO), 13 (SCK) Ngoài chức thơng thường, chân dùng để truyền phát liệu giao thức SPI với thiết bị khác - LED 13: Arduino UNO có đèn led màu cam (kí hiệu chữ L) Khi bấm nút Reset, bạn thấy đèn nhấp nháy để báo hiệu Nó nối với chân số 13 Khi chân người dùng sử dụng, LED sáng Arduino UNO có chân analog (A0 → A5) cung cấp độ phân giải tín hiệu 10bit (0 → 210-1) để đọc giá trị điện áp khoảng 0V → 5V Với chân AREF board, bạn để đưa vào điện áp tham chiếu sử dụng chân analog Tức bạn cấp điện áp 2.5V vào chân bạn dùng chân analog để đo điện áp khoảng từ 0V → 2.5V với độ phân giải 10bit Đặc biệt, Arduino UNO có chân A4 (SDA) A5 (SCL) hỗ trợ giao tiếp I2C/TWI với thiết bị khác 2.1.5 Lập trình cho Arduino UNO R3 Các thiết bị dựa tảng Arduino lập trình ngôn riêng Ngôn ngữ dựa ngôn ngữ Wiring viết cho phần cứng nói chung Và Wiring lại biến thể C/C++ Một số người gọi Wiring, số khác gọi C hay C/C++ Riêng gọi “ngơn ngữ Arduino”, đội ngũ phát triển Arduino gọi Ngôn ngữ Arduino bắt nguồn từ C/C++ phổ biến dễ học, dễ hiểu Nếu học tốt Trang chương trình Tin học 11 việc lập trình Arduino dễ bạn.Để lập trình gửi lệnh nhận tín hiệu từ mạch Arduino, nhóm phát triển dự án cấp đến cho người dùng môi trường lập trình Arduino gọi Arduino IDE (Intergrated Development Environment) hình Hình 2.4 Đoạn mã nguồn hình điều khiển đèn LED nhấp nháy với chu kì giây 2.2 Cảm biến siêu âm Hình 2.5 Cảm biến siêu âm SRF05 Trang Cảm biến siêu âm hoạt động cách phát xung tín hiệu đo thời gian nhận tín hiệu trở vể Sau đo tín hiệu trở cảm biến siêu âm, ta tính thời gian từ lúc phát đến lúc nhận tín hiệu Từ thời gian tính khoảng cách Nếu đo xác thời gian khơng có nhiễu, mạch cảm biến siêu âm trả kết xác Điều phụ thuộc vào cách viết chương trình khơng sử dụng hàm delay Lưu ý: Sóng siêu âm bị dội lại gặp số loại vật cản, phát sóng siêu âm vào chăn, nệm bạn khơng nhận sóng phản hồi sử dụng loại chip thơng dụng để nhận xử lý liệu 8051, AVR, PIC, Arduino Thông số kĩ thuật module SRF05: 2.3 - Nguồn cung cấp: 5V DC - Dòng : 30mA (Max 50mA) - Tần số hoạt động : 40KHz - Khoảng cách lớn đo : 6m - Khoảng cách nhỏ đo : cm - Góc qt : 45 ° - Kích thước module: 45x20mm - Góc cảm biến < 15 độ - Độ xác cao lên đến 3mm - Chân kết nối: VCC / Trig(T) / echo (R) / GND Biến trở Hình 2.6 Biến trở Trang Biến trở thiết bị có điện trở biến đổi theo ý muốn Chúng sử dụng mạch điện để điều chỉnh hoạt động mạch điện Điện trở thiết bị thay đổi cách thay đổi chiều dài dây dẫn điện thiết bị, tác động khác nhiệt độ thay đổi, ánh sáng xạ điện từ, Cấu tạo biến trở gồm thành phần chạy cuộn dây làm hợp kim có điện trở suất lớn Biến trở thường ráp máy phục vụ cho trình sửa chữa, cân chỉnh kỹ thuật viên 2.4 Motor bơm nước Hình 2.7 Motor bơm nước 12V Động bơm P385 12VDC 3W có kích thước nhỏ gọn, sử dụng để bơm nước, dung dịch với khả bơm tối đa lên đến 1.8L / phút, động sử dụng điện áp 12VDC, thích hợp với thiết kế sử dụng máy bơm nhỏ: bơm hồ cá, tưới nước cho cây, , lưu ý không cấp ngược cực làm hư cấu bơm động (cực dương có đánh dấu màu đỏ) Thông số kĩ thuật: - Loại động DC: 385 - Điện áp sử dụng: 12VDC - Dòng điện sử dụng: 0.25A - Công suất: 3W - Lưu lượng bơm: 1,8 ± 0,1 L / phút - Áp suất nước: 0.3Mpa Trang 10 2.5 - Thời gian làm việc liên tục tối đa ngày: không 8h - Kích thước: 86 x 46 x 46 mm Màn hình hiển thị LCD Hình 2.8 Màn hình hiển thị LCD Sơ đồ chân: Như hình 2.8 Bảng 2.2 Chức chân LCD Thứ tự chân Tên chân Chức VSS GND LCD VCC Nguồn cấp cho LCD VEE Điều chỉnh độ tương phản ( cần gắn với biến trở RS Chọn ghi: RS = 0: Đưa LCD vào chế độ ghi lệnh RS = 1: Đưa LCD vào chế độ ghi liệu (dữ liệu xuất lên hình) RW Chọn chế độ đọc/ghi cho LCD: RW = 0: Vi điều khiển truyền liệu vào LCD RW = 1: Vi điều khiển đọc liệu vào LCD E E = 0: Vơ hiệu hóa đọc/ghi Trang 11 E = 1: Cho phép LCD đọc/ghi E chuyển từ mức 0: Bắt dầu đọc/ghi LCD D0 Dữ liệu bit thứ D1 Dữ liệu bit thứ D2 Dữ liệu bit thứ 10 D3 Dữ liệu bit thứ 11 D4 Dữ liệu bit thứ 12 D5 Dữ liệu bit thứ 13 D6 Dữ liệu bit thứ 14 D7 Dữ liệu bit thứ 15 LED + Nguồn dương cấp cho led 16 LED - Nguồn âm cấp cho led Các ghi: - Thanh ghi IR: 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.Ví dụ: Lệnh “hiển thị hình trỏ” có mã lệnh 00001110 - 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) - Cờ báo bận BF: (Busy Flag) Khi thực thi hoạt động bên trong, LCD bỏ qua giao tiếp với bên ngồi bật cờ BF( thơng qua chân DB7 có thiết lập RS=0, R/W=1) lên biết “bận” - Bộ đếm địa AC : (Address Counter) Khi địa lệnh nạp vào ghi IR, thông tin nối trực tiếp cho vùng RAM (việc chọn lựa vùng RAM tương tác bao hàm mã lệnh) Sau ghi vào (đọc từ) RAM, đếm AC tự động tăng lên (giảm đi) đơn vị Bộ nhớ LCD Vùng RAM hiển thị DDRAM : (Display Data RAM) DDRAM: Hình 2.9 DDRAM Trang 12 - Đây vùng RAM dùng để hiển thị, nghĩa ứng với địa RAM kí tự hình CGROM: Chứa mẫu kí tự loại 5x7 5x10 điểm ảnh/kí tự, định địa bit Hình 2.10 Mẫu kí tự đồ họa riêng Tập lệnh: Bảng 2.3 Các tập lệnh LCD Mã (Hex) Lệnh đến ghi LCD Xóa hình hiển thị Trang 13 Trở đầu dòng Giả trỏ (dịch trỏ sang trái) Tăng trỏ (dịch trỏ sang phải) Dịch hiển thị sang phải Dịch hiển thị sang trái Tắt trỏ, tắt hiển thị A Bật trỏ, tắt hiển thị C Tắt trỏ, bật hiển thị E Bật hiển thi, nhấp nháy trỏ F Tắt trỏ, nhấp nháy trỏ 10 Dịch vị trí trỏ sang trái 14 Dịch vị trí trỏ sang phải 18 Dịch tồn hiển thị sang trái 1C Dịch toàn hiển thị sang phải 80 Ép trỏ vào đầu dòng thứ C0 Ép trỏ vào đầu dòng thứ hai 38 Hai dòng ma trạn x Ví dụ số lệnh: Copy file “Lcd_4bit.h” vào thư mục C:\Program Files\PICC\Devices lcd_init(): Khởi tạo LCD, gọi lần hàm main lcd_gotoxy(int8 x, int8 y) : Hiển thị vị trí cột x , hàng y lcd_send_byte(int8 address, int8 n): Gửi byte n đến lcd, address=0: thao tác lệnh, address=1: thao tác liệu int8 lcd_read_byte(void) : đọc byte - lcd_putc(char c) : Gửi ký tự lên lcd char lcd_getc(int8 x, int8 y) : Đọc ký tự cột x, hàng y 2.6 Module cổng giao tiếp I2C Trang 14 Hình 2.11 Module I2C Các thơng số bản: - Kích thước: 41.5mm(L)x19mm(W)x15.3mm(H) - Trọng lượng: 5g - Điện áp hoạt động :2.5-6V - Giao tiếp I2C - Jump Chốt: Cung cấp đèn cho LCD ngắt - Biến trở xoay độ tương phản cho LCD I2C sử dụng hai đường truyền tín hiệu: - Một đường xung nhịp đồng hồ(SCL) Master phát ( thông thường 100kHz 400kHz Mức cao 1Mhz 3.4MHz) 2.7 Một đường liệu(SDA) theo hướng Module rơ-le Hình 2.12 Module rơ-le Trang 15 Giới thiệu: Rơ-le loại linh kiện điện tử thụ động hay gặp ứng dụng thực tế Khi bạn gặp vấn đề liên quan đến cơng suất cần ổn định cao, ngồi dễ dàng bảo trì, rơ-le bạn cần tìm Vì vậy, hơm nay, tìm hiểu relay ứng dụng sống Rơ-le cơng tăc (khóa K) Nhưng khác với cơng tắc chỗ bản, rơ-le kích hoạt điện thay dùng tay người Chính lẽ đó, rơ-le dùng làm cơng tắc điện tử Vì rơ-le cơng tắc nên có trạng thái: đóng mở Các loại rơ-le cách xác định trạng thái nó: Trên thị trường có loại module rơ-le: module rơ-le đóng mức thấp (nối cực âm vào chân tín hiệu rơ-le đóng), module rơ-le đóng mức cao (nối cực dương vào chân tín hiệu rơ-le đóng) Nếu sơ sánh module rơ-le có thơng số kỹ thuật hầu hết kinh kiện giống nhau, khác chỗ transitor module Chính transistor nên sinh loại module rơ-le (có loại transistor NPN - kích mức cao, PNP - kích mức thấp) Thông số module relay Một module rơ-le tạo nên linh kiện thụ động rơ-le transistor, nên module rơ-le có thơng số chúng - Hiệu điện kích tối ưu: Chẳng hạn, bạn cần module relay làm nhiệm vụ bật tắt bóng đèn (220V) trời tối từ cảm biến ánh sáng hoạt động mức 5-12V bạn bảo họ bán loại module relay 5V (5 volt) module relay 12V (12 volt) kích mức cao - Các mức hiệu điện tối đa cường độ dòng điện tối đa đồ dùng điện nối vào module rơ-le - 10A - 250VAC: Cường độ dòng điện tối đa qua tiếp điểm rơ-le với hiệu điện