CHƯƠNG 5 : THIẾT KẾ HỆ THỐNG ĐIỀU KHIỂN VÀ MÔ PHỎNG
5.1 Thiết kế hệ thống điều khiển
Trong q trình tìm hiểu và nghiên cứu, nhóm đồ án đã biết được ưu, nhược của nhiều loại thiết bị khác nhau từ đó đã đưa ra được sự lựa chọn các thiết bị phù hợp nhất cho đồ án này. Dưới đây là cách triển khai theo một sơ đồ khối các thiết bị cần thiết:
Khối Nguồn
Khối thu tín hiệu ( RF, Bluetooth) Khối xử lý Khối hiển thị ( LCD) Driver động cơ Động cơ 1 Động cơ 2
34
Vi điều khiển ATEMEGA328P (Kit Arduino Nano)
ATmega328P là một bộ vi điều khiển tiên tiến và nhiều tính năng. Nó là một trong những vi điều khiển nổi tiếng của Atmel vì nó được sử dụng trong bo mạch arduino UNO. Nó là một bộ vi điều khiển thuộc họ vi điều khiển megaMVR của Atmel (Cuối năm 2016, Atmel được Microchip Technology Inc mua lại). Các vi điều khiển được sản xuất trong họ megaMVR được thiết kế để xử lý các bộ nhớ chương trình lớn và mỗi vi điều khiển trong họ này chứa lượng ROM, RAM, các chân I / O và các tính năng khác nhau và được sản xuất với các chân đầu ra khác nhau, từ 8 chân đến hàng trăm chân.
Hình 5. 1: Vi điều khiển Atemega328P
Mạch bên trong của ATmega328P được thiết kế với tính năng tiêu thụ dịng điện thấp. Con chip này chứa 32 kilobyte bộ nhớ flash trong, 1 kilobyte EEPROM và 2 kilobyte SRAM. EEPROM và bộ nhớ flash là bộ nhớ lưu thơng tin và thơng tin đó vẫn thốt ra mỗi khi nguồn điện bị ngắt nhưng SRAM là bộ nhớ chỉ lưu thông tin cho đến khi có điện và khi ngắt nguồn điện tất cả thông tin được lưu trong SRAM sẽ bị xóa.
35 - Thiết kế hiệu suất cao
- Tiêu thụ ít điện năng
- Tổng số chân ngõ vào Analog là 6 - Chứa 32 kilobyte bộ nhớ flash - Chứa 2 kilobyte SRAM
- Chứa 1 kilobyte EEPROM - Tốc độ xung nhịp 16 megahertz
- Nhiệt độ tối thiểu và tối đa -40 độ C đến 105 độ C. - Tổng số chân I / O kỹ thuật số là 14 chân
- RISC tiên tiến
- Khóa chức năng chương trình để bảo mật mã lập trình - Chứa tổng cộng ba bộ định thời, hai 8 bit và một 16 bit - Tổng số chân I / O là 23 chân
- Tổng số kênh PWM là 6
- Điện áp hoạt động tối thiểu và tối đa từ 1.8V DC đến 5.5V DC
Số thứ tự chân Mô tả Chức năng Mô tả chức
năng
1 PC6 Reset Khi chân reset
này ở mức thấp, bộ vi điều khiển và chương trình của nó sẽ được reset. 2 PD0 Chân kỹ thuật số (RX)
Chân đầu vào cho giao tiếp nối
36
3 PD1 Chân kỹ thuật
số (TX)
Chân đầu ra cho giao tiếp nối
tiếp 4 PD2 Chân kỹ thuật số Chân 4 được sử dụng làm ngắt ngoài 0 5 PD3 Chân kỹ thuật số (PWM) Chân 5 được sử dụng làm ngắt ngoài 1 6 PD4 Chân kỹ thuật số Chân 6 được sử dụng cho nguồn bộ đếm bên ngoài Timer0
7 Vcc Điện áp dương Nguồn dương
của hệ thống
8 GND Nối đất Nối đất của hệ
37
9 XTAL Dao động tinh
thể
Chân này nối với một châncủa bộ dao động tinh thể để cung cấp
xung nhịp bên ngoài cho chip
10 XTAL Dao động tinh
thể
Chân này nối với chân còn lại của bộ dao động tinh thể để cung cấp xung nhịp bên
ngoài cho chip
11 PD5 Chân kỹ thuật số (PWM) Chân 11 được sử dụng cho nguồn bộ đếm bên ngoài Timer1 12 PD6 Chân kỹ thuật số (PWM) Bộ so sánh analog dương i / ps 13 PD7 Chân kỹ thuật số Bộ so sánh analog âm i / ps 14 PB0 Chân kỹ thuật số
Nguồn đầu vào bộ đếm hoặc bộ
38 15 PB1 Chân kỹ thuật số (PWM) Bộ đếm hoặc bộ hẹn giờ so sánh khớp A 16 PB2 Chân kỹ thuật số (PWM)
Chân này hoạt động như lựa chọn
slave i / p.
17 PB3 Chân kỹ thuật
số (PWM)
Chân này được sử dụng làm đầu ra
dữ liệu master và đầu vào dữ liệu
slave cho SPI.
18 PB4 Chân kỹ thuật
số
Chân này hoạt động như một đầu vào xung nhịp master và đầu ra xung nhịp slave. 19 PB5 Chân kỹ thuật số
Chân này hoạt động như một đầu
ra xung nhịp master và đầu vào
xung nhịp slave cho SPI.
39
20 AVCC Điện áp dương Điện áp dương
cho ADC (nguồn)
21 AREF Tham chiếu
analog
Điện áp tham chiếu analog cho ADC (Bộ chuyển đổi analog sang kỹ
thuật số)
22 GND Nối đất Nối đất của hệ
thống
23 PC0 Đầu vào analog Đầu vào analog
giá trị kỹ thuật số kênh 0
24 PC1 Đầu vào analog Đầu vào analog
giá trị kỹ thuật số kênh 1
25 PC2 Đầu vào analog Đầu vào analog
giá trị kỹ thuật số kênh 2
40
26 PC3 Đầu vào analog Đầu vào analog
giá trị kỹ thuật số kênh 3
27 PC4 Đầu vào analog Đầu vào analog
giá trị kỹ thuật số kênh 4. Chân này cũng có thể được sử dụng làm kết nối giao diện nối tiếp cho dữ liệu.
28 PC5 Đầu vào analog Đầu vào analog
giá trị kỹ thuật số kênh 5. Chân này cũng được sử dụng
như dòng xung nhịp giao diện nối
41
Hình 5. 2: Sơ đồ chân vi điều khiển ATEMEGA328P
Có hàng ngàn ứng dụng cho Atmega328P và sẽ có nhiều hơn nữa trong tương lai gần tùy thuộc vào cách người ta có thể suy nghĩ sáng tạo. Mỗi ngày, chúng ta đều thấy một ứng dụng mới được xây dựng bằng chip này. Một số ứng dụng cho chip này có thể liệt kê như:
- Hệ thống điều khiển máy móc cơng nghiệp - Máy móc và ứng dụng năng lượng mặt trời - Các ứng dụng dựa trên IOT
- Các ứng dụng dựa trên nguồn điện và bộ sạc - Hệ thống thời tiết
- Ứng dụng giao tiếp không dây - Các ứng dụng dựa trên bảo mật
- Các dự án & hệ thống liên quan đến y tế và sức khỏe - Các ứng dụng liên quan đến ô tô
- Và nhiều ứng dụng khác…
Mạch Arduino Nano CH340 có kích thước nhỏ gọn, có thiết kế và chuẩn chân giao tiếp tương đương với Arduino Nano chính hãng, tuy nhiên mạch sử dụng chip nạp chương trình và giao tiếp UART CH340 giá rẻ để tiết kiệm chi phí.
42
Arduino Nano là phiên bản nhỏ gọn của Arduino Uno R3 sử dụng MCU
ATmega328P-AU dán, vì cùng MCU nên mọi tính năng hay chương trình chạy trên Arduino Uno đều có thể sử dụng trên Arduino Nano, một ưu điểm của Arduino Nano là vì sử dụng phiên bản IC dán nên sẽ có thêm 2 chân Analog A6, A7 so với Arduino Uno.
Hình 5. 3: Kit Arduino Nano với vi điều khiển ATEMEGA328P
Thông số kỹ thuật:
- IC chính: ATmega328P-AU.
- IC nạp và giao tiếp UART: CH340.
- Điện áp cấp: 5VDC cổng USB hoặc 6-9VDC chân Raw. - Mức điện áp giao tiếp GPIO: TTL 5VDC.
- Dòng GPIO: 40mA.
- Số chân Digital: 14 chân, trong đó có 6 chân PWM. - Số chân Analog: 8 chân (hơn Arduino Uno 2 chân). - Flash Memory: 32KB (2KB Bootloader).
43 - EEPROM: 1KB
- Clock Speed: 16Mhz.
- Tích hợp Led báo nguồn, led chân D13, LED RX, TX. - Tích hợp IC chuyển điện áp 5V LM1117.
- Kích thước: 18.542 x 43.18mm
Hình 5. 4: Sơ đồ chân Arduino Nano
- Các chân: 1, 2, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15 và 16
Như đã đề cập trước đó, Arduino Nano có 14 ngõ vào/ra digital. Các chân làm việc với điện áp tối đa là 5V. Mỗi chân có thể cung cấp hoặc nhận dịng điện 40mA và có điện trở kéo lên khoảng 20-50kΩ. Các chân có thể được sử dụng làm đầu vào hoặc đầu ra, sử dụng các hàm pinMode (), digitalWrite () và digitalRead ().
Ngoài các chức năng đầu vào và đầu ra số, các chân này cũng có một số chức năng bổ sung.
44
Hai chân nhận RX và truyền TX này được sử dụng để truyền dữ liệu nối tiếp TTL. Các chân RX và TX được kết nối với các chân tương ứng của chip nối tiếp USB tới TTL.
- Chân 6, 8, 9, 12, 13 và 14: Chân PWM
Mỗi chân số này cung cấp tín hiệu điều chế độ rộng xung 8 bit. Tín hiệu PWM có thể được tạo ra bằng cách sử dụng hàm analogWrite ().
- Chân 5, 6: Ngắt
Khi chúng ta cần cung cấp một ngắt ngoài cho bộ xử lý hoặc bộ điều khiển khác, chúng ta có thể sử dụng các chân này. Các chân này có thể được sử dụng để cho phép ngắt INT0 và INT1 tương ứng bằng cách sử dụng hàm attachInterrupt (). Các chân có thể được sử dụng để kích hoạt ba loại ngắt như ngắt trên giá trị thấp, tăng hoặc giảm mức ngắt và thay đổi giá trị ngắt.
- Chân 13, 14, 15 và 16: Giao tiếp SPI
Khi bạn không muốn dữ liệu được truyền đi khơng đồng bộ, bạn có thể sử dụng các chân ngoại vi nối tiếp này. Các chân này hỗ trợ giao tiếp đồng bộ với SCK. Mặc dù phần cứng có tính năng này nhưng phần mềm Arduino lại khơng có. Vì vậy, bạn phải sử dụng thư viện SPI để sử dụng tính năng này.
- Chân 16: Led
Khi bạn sử dụng chân 16, đèn led trên bo mạch sẽ sáng.
- Chân 18, 19, 20, 21, 22, 23, 24, 25 và 26 : Ngõ vào/ra tương tự
Như đã đề cập trước đó UNO có 6 chân đầu vào tương tự nhưng Arduino Nano có 8 đầu vào tương tự (19 đến 26), được đánh dấu A0 đến A7. Điều này có nghĩa là bạn có thể kết nối 8 kênh đầu vào tương tự để xử lý. Mỗi chân tương tự này có một ADC có độ phân giải 1024 bit (do đó nó sẽ cho giá trị 1024). Theo mặc định, các
45
chân được đo từ mặt đất đến 5V. Nếu bạn muốn điện áp tham chiếu là 0V đến 3.3V, có thể nối với nguồn 3.3V cho chân AREF (pin thứ 18) bằng cách sử dụng chức năng analogReference (). Tương tự như các chân digital trong Nano, các chân analog cũng có một số chức năng khác.
- Chân 23, 24 như A4 và A5: chuẩn giao tiếp I2C
Khi giao tiếp SPI cũng có những nhược điểm của nó như cần 4 chân và giới hạn trong một thiết bị. Đối với truyền thông đường dài, cần sử dụng giao thức I2C. I2C hỗ trợ chỉ với hai dây. Một cho xung (SCL) và một cho dữ liệu (SDA). Để sử dụng tính năng I2C này, chúng ta cần phải nhập một thư viện có tên là Thư viện Wire.
- Chân 18: AREF
Điện áp tham chiếu cho đầu vào dùng cho việc chuyển đổi ADC. - Chân 28 : RESET
Đây là chân reset mạch khi chúng ta nhấn nút rên bo. Thường được sử dụng để được kết nối với thiết bị chuyển mạch để sử dụng làm nút reset.
Mô đun thu phát Bluetooth HC-06
Mô đun thu phát Blutooth HC-06 là một thiết bị điện thử thường được các sinh viên sử dụng để chuyển nhận tín hiệu.Với thiết kế nhỏ gọn, tiện lợi, giao tiếp với vi điều khiển chỉ bằng 2 chân (Tx và Rx), module bluetooth HC06 sẽ giúp thực hiện các dự án truyền dẫn và điều khiển từ xa một cách dễ dàng.
46
Hình 5. 5: Mơ đun bluetooth HC-06
Điểm khác biệt so với HC05 đó là HC06 chỉ có thể chạy được 1 chế độ Slave (khác với HC05 có thể hoạt động với chế độ Mater hoặc Slave). Điều này có nghĩa là khơng thể chủ động kết nối từ vi điều khiển đến các thiết bị ngoại vi. Mà cách kết nối là: bạn phải sử dụng thiết bị ngoại vi (điện thoại thơng minh, máy tính laptop) để dị tín hiệu kêt nối Buletooth mà HC06 phát ra. Sau khi kết nối thành công ta có thể gửi tín hiệu từ vi điều khiển đến các thiết bị ngoại vi này, và ngược lại.
Thông số kĩ thuật:
Điện áp hoạt động: 3V3-5V DC Dòng điện tiêu thụ: 20-30mA Nhiệt độ hoạt động: -20~75°C Sử dụng chip: CSR Bluetooth V2.0
Cấu hình Slave mặc định, khơng thay đổi được.
Hỗ trợ tốc độ Baud : 200, 2400, 4800, 9600, 19200, 38400, 57600, 115200.
47 Giao tiếp: UART (TX, RX)
Tốc độ: - Bất đồng bộ: 2.1Mbps(Max)/160kbps - Đồng bộ: 1Mbps/1Mbps - Bảo mật: mã hóa và chứng thực - Cấu hình mặc định: - Tốc độ baud 9600, N, 8, 1 - Mật khẩu: 1234.
Sơ đồ mạch ngun lí mơ đun thu phát HC06:
48
Màn hình LCD 16x02
Màn hình LCD 1602 xanh lá sử dụng driver HD44780, có khả năng hiển thị 2 dịng với mỗi dịng 16 ký tự, màn hình có độ bền cao, rất phổ biến và dễ dàng sử dụng hơn nếu đi kèm mạch chuyển tiếp I2C.
Hình 5. 7: Màn hình LCD 1602 xanh lá Thơng số kỹ thuật: Thông số kỹ thuật:
- Điện áp hoạt động là 5V. - Kích thước: 80 x 36 x 12.5mm - Chữ trắng, nền xanh dương.
- Khoảng cách giữa hai chân kết nối là 0.1 inch tiện dụng khi kết nối với Breadboard.
- Tên các chân được ghi ở mặt sau của màn hình LCD hổ trợ việc kết nối, đi dây điện.
- Có đèn led nền, có thể dùng biến trở hoặc PWM điều chình độ sáng để sử dụng ít điện năng hơn.
- Có thể được điều khiển với 6 dây tín hiệu.
49