CHUONG 1: CƠ SỞ LÝ THUYET 1.1. TINH TÍCH CUC VA SANG TẠO CUA HỌC SINH TRONG HỌC TAP
1.43. GIOI THIỆU VE BỘ THÍ NGHIỆM KET NÓI MAY TÍNH
Để đo được các đại lượng vật lí, ta biến đổi các đại lượng không điện của đối tượng do (1) thành các đại lượng điện nhờ các loại cam biến (2). Tính hiệu từ các cảm biến sẽ được được xử lí để chuyên từ tín hiệu tương tự sang tín hiệu số thông qua bộ chuyên đổi ADC của vi điều khiển (3) trên board mạch thứ nhất. Giá trị số này sẽ được gửi về board mạch thứ 2 thông qua sóng radio tần số 2.4 GHz. Board mạch thứ 2 (5) có nhiệm vụ xử lí và gửi dữ liệu về máy tính cá nhân thông qua chuan giao tiếp USB, nhờ đó mà tín hiệu hiệu sốc từ đối tượng cần đo được tái tạo lại, cung cấp các thông tin về diễn biến của hiện tượng cần đo. Thông qua giao diện người dùng trên máy tính cá nhân, người dùng có thê dễ dàng thực hiện các thao tác thu thập và xử lí số liệu thí nghiệm.
Đối tượng Truyền dữ liệu bằng Máy tính +
(4) (6)
Hình 1. 1. Sơ đồ bộ cảm biến kết nối máy tính.
1.3.1. Vi điều khiển Atmega328P 1.3.1.1. So đồ chân
Atmega328P là một vi điều khiển được sản xuất boi hãng Atmel thuộc họ MegaAVR. Đây là loại vi điều khiển AVR 8 bit công suất thấp.
15
(RESET) PC6 [| 1
(RXD) PDO F|2 (TXD) PD1 FÌ3 (INTO) PD2 C} 4
28 [1 PC5 (ADCS5/SCL)
27 1) PC4 (ADC4/SDA) 26 [1PC3 (ADC3)
25 1) PC2 (ADC2) (INT1) PD3 C}5 24 PC1 (ADC1) (XCK/T0) PD4 L|6 23L PCO (ADCO)
vec C7 2210 GND GND F8 210 AREF (XTAL1/TOSC1) PB6 C] 9 201 avec
(XTAL2/TOSC2) PB7 C 10 19 L] PBS (SCK) (T1) PDS F| 11 18 1) PB4 (MISO) (AINO) PD6 F| 12
(AIN1) PD7 L| 13 (ICP1) PB0 L| 14
17 5 PB3 (MOSI/OC2) 16 [PB2 (SS/OC1B) 15 Ƒ] PB1 (OC1A)
Hình 1. 2. Vi điều khiển Atmega328P. inh 1. 3. Sơ đồ các chân Atmega328P.
Chức năng các chân vi điều khiển Atmega328P được trình bày ở phụ lục 1.
13.12. Đặc điển
Atmega328P là vi điều khiển có tốc độ hoạt động tối da cho phép là 20 MHz với
một chu kì lệnh là 200 ns. Bộ nhớ chương trình 32 Kbyte với bộ nhớ dữ liệu 2 Kbyte
RAM và bộ nhớ dữ liệu EEPROM với dung lượng | Kbyte [10, tr.1]. Có tổng cộng 28 chân vào ra khả trình với 6 kênh chuyên đổi ADC, 6 kênh điều chế xung PWM.
Bảng 1.1. Các đặc tính nổi bậc của vi điều khiển Atmega328P.
Dac diém Đặc tín nôi bac
Điện áp hoạt
động
Day điện thế hoạt động 1.8 V đến 5.5 V.
Dòng tiêu thụ 25 mA.
Công suất thấp.
Bộ nhớ chương trình, bộ nhớ dữ
liệu.
Bộ nhớ FLASH 32 Kbyte với khả năng ghi xóa 1000 lần.
Bộ nhớ EEPROM với khả năng ghi xóa 100,000 lần.
Bộ nhớ dữ liệu 2 Kbyte.
Tắt cả các câu lệnh được thực hiện trong một chu kỳ lệnh.
Khả năng tự nạp chương trình với sự điều khiển của phần mềm.
16
Bộ định thời 2 bộ định thời/bộ đếm (timers/counters ) 8 bit với các chế độ đếm riêng rẽ và kiêu so sánh.
1 bộ định thời/bộ đếm 16 bit với các chế độ đếm riêng rẽ, kiểu so sánh và kiểu bắt sự kiện.
Chế độ bậc lại nguồn (reset).
Tích hợp bộ dao động trong với tần số toi đa 8 MHz.
Analog 6 kênh chuyền đôi ADC 10 bit.
Chuẩn giao tiếp Hỗ trợ chuẩn giao tiếp nối tiếp USART, SPI và I2C.
Code chương trình cho vi điều khiển hoạt động được viết trên phần mềm IDE và nạp bang board mạch Arduino uno. Sơ đồ chân và code điều khiển hoạt động của
Atmega328P ở phụ lục 2.
1.3.2. Board Arduino
Arduino là một board mạch vi xử lý dự trên nên tảng vị điều khiến Atmega được giới thiệu lần đầu tiên tại Italy nhằm giúp cho việc xây dựng các ứng dụng tương tác với
nhau hoặc với môi trường được thuận lợi hơn.
17
Hình 1. 4. Board Arduino uno.
Arduino uno là dong arduino sử dụng vi điều khiển Atmega328P đóng vai trò là bộ xử lí trung tâm, do vậy tất cả các thông số kỹ thuật trên board arduino hầu như gần giống với vi điều khiển Atmega328P. Board Arduino uno được lập trình thông qua công USB, thực hiện thông qua chip chuyển đổi USB - to — serial, nhờ đó mà giúp cho việc lập trình và upload chương trình đễ dàng hơn thông qua môi trường lập trình IDE trên nền tảng ngôn ngữ C. Trong dé tài nay, board arduino uno được sử dụng dé giao tiếp với máy tính cá nhân thông qua chuẩn USB, đồng thời nó cũng là mạch nhận tín hiệu sóng Radio 2.4 GHz từ mạch phát (mạch chuyên đổi tín hiệu từ các cảm biến trên đối tượng cần khảo sát) dé xử lí và gửi dữ liệu về máy tính cá nhân. Code nạp cho Arduino thực hiện giao tiếp với máy tính và truyền nhận dữ liệu không dây được tham khảo từ các nguồn thư viện mở của cộng đồng Arduino [12] và được chỉnh sửa cho phù hợp với đề tài.
1.3.3. Chuẩn phát sóng radio
Đề truyền nhận dữ liệu giữa hai board mach, Module nRF24L01 sử dụng chip thu phát không dây NRF24L01 của hãng Nordic cho phép kết nối không dây và truyền nhận dữ liệu giữa 2 module nhanh chóng thông qua sóng radio tần số 2,4 GHz. Với ưu điểm là cùng một tần số truyền nhận bằng sóng radio 2,4 GHz nhưng có tới 6 kênh truyền nhận
dữ liệu khác nhau, mỗi kênh truyền nhận dữ liệu được thực hiện thông qua một địa chỉ
riêng biệt [1 1, tr.37]. Day là ưu điểm nổi bậc so với các các module khác.
18
I.GND 3. VỨC
3, CE 4, CSN
5. SCK 6. MOSI 7. MISO 8. IRQ
Lam
(3) (@) [—
— ơ
Hình 1. 5. Module nRFL01 và sơ đồ các chân.
Thông số kỹ thuật:
— Điện áp làm việc: 1.9 V - 3.6 V.
— Tiêu thụ dòng thấp. Tại tốc độ truyền 2 Mbit/s, dòng tối đa là 12 mA. Chế độ
nghỉ, module 2.4 GHz tiêu thụ 32 yA.
Cac tính năng chính của module thu phát không dây 2.4 GHz:
— Có thé lựa chon 3 mức tốc độ kết nối là 2 Mbit/s, 1 Mbit/s và 250 Kbit/s [11,tr.1]. Tốc độ càng thấp, thì khả năng thu phát càng xa (khoảng cách xa nhất có thê đạt là 100 m trong môi trường không vật cản).
— Số kênh kết nói: 6 kênh
— Có sẵn anten trên module.
— Phương thức giao tiếp : SPI.
Sơ đồ kết nối các chân của module nRFLO1 với vi điều khiển Atmega 328P như
hình
PCINT0 PCINT1
PCINT2 PCINT3 PCINT4 PCINTS PCINT6 PCINT7
PCINT8 PCINT9 CINT10 CINT11
Hình 1. 6. Sơ đồ kết nối module nRFLO1 với vi điều khiển Atmega328P.
19