2.3.1. Tổng quan.
Arduino Mega 2560 là một bo mạch vi điều khiển dựa trên ATmega2560. Nó có 54 chân vào / ra digital (trong đó 14 có thể được sử dụng như đầu ra PWM), 16 đầu vào analog, 4 UART (cổng nối tiếp phần cứng), bộ dao động thạch anh 16 MHz, kết nối USB, giắc cắm nguồn, tiêu đề ICSP, và một nút reset. Nó chứa mọi thứ cần thiết để hỗ trợ vi điều khiển; chỉ cần kết nối nó với một máy tính bằng cáp USB hoặc cấp điện cho nó bằng bộ chuyển đổi AC-to-DC hoặc pin để bắt đầu. Mega tương thích với hầu hết các khiên được thiết kế cho Arduino Duemilanove hoặc Diecimila.
2.3.2. Tóm lược.
Vi điều khiển ATmega2560. Điện áp hoạt động 5V.
Điện áp đầu vào (khuyến nghị) 7-12V. Điện áp đầu vào (giới hạn) 6-20V.
Chân I / O số 54 (trong đó 14 cung cấp đầu ra PWM).
BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH Trang 32 Chân đầu vào tương tự 16.
Dòng DC cho mỗi I / O Pin 40 mA. Dòng DC cho 3.3V Pin 50 mA.
Bộ nhớ Flash 256 KB trong đó 8 KB được bộ nạp khởi động sử dụng. SRAM 8 KB.
EEPROM 4 KB. Clock speed 16 MHz.
2.3.3. Power.
Arduino Mega có thể được cấp nguồn qua kết nối USB hoặc với nguồn điện bên ngoài. Nguồn điện được chọn tự động.
Nguồn ngoài (không phải USB) có thể đến từ bộ chuyển đổi AC-to-DC (wall-wart) hoặc pin. Bộ chuyển đổi có thể được kết nối bằng cách cắm một đầu cắm trung tâm 2.1mm vào giắc cắm nguồn của bo mạch. Đầu dẫn của pin có thể được chèn vào chân GND và chân Vin của kết nối Power.
Nó có thể hoạt động với nguồn cung cấp ngoại từ 6-20 volt. Tuy nhiên, nếu được cung cấp ít hơn 7V, chân 5V có thể cung cấp ít hơn 5 volt và board có thể không ổn định. Nếu sử dụng nhiều hơn 12V, bộ điều chỉnh điện áp có thể bị quá nhiệt và làm hỏng board. Phạm vi được khuyến nghị là từ 7 đến 12 volt.
Mega2560 khác với tất cả các bo mạch trước ở chỗ nó không sử dụng chip điều khiển FTDI USB-to-serial. Thay vào đó, nó có tính năng Atmega8U2 được lập trình như một công cụ chuyển đổi từ USB sang nối tiếp.
Các chân nguồn như sau:
VIN: Điện áp đầu vào cho board Arduino khi nó sử dụng nguồn điện bên ngoài (ngược với 5 volt từ kết nối USB hoặc nguồn điện được điều chỉnh khác). Bạn có thể cung cấp điện áp thông qua pin này, hoặc, nếu cung cấp điện áp thông qua jack nguồn, truy cập nó thông qua pin này.
5V: Nguồn điện được điều chỉnh được sử dụng để cấp nguồn cho vi điều khiển và các thành phần khác trên bo mạch. Điều này có thể đến từ VIN thông qua bộ điều chỉnh trên board, hoặc được cung cấp bởi USB hoặc nguồn 5V khác.
BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH Trang 33
3V3: Một nguồn cung cấp 3,3 volt được tạo ra bởi bộ điều chỉnh trên board. Dòng kéo tối đa là 50 mA.
GND: Chân nối đất.
2.3.4. Memory.
Bộ nhớ ATmega2560 có 256 KB bộ nhớ flash để lưu trữ code (trong đó 8 KB được sử dụng cho bộ tải khởi động), 8 KB SRAM và 4 KB EEPROM (có thể đọc và ghi bằng thư viện EEPROM).
2.3.5. Input và output.
Mỗi 54 chân digital trên board arduino Mega 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 (). Chúng hoạt động ở mức 5 volt. Mỗi chân có thể cung cấp hoặc nhận tối đa 40 mA và có một điện trở kéo lên bên trong (ngắt kết nối theo mặc định) là 20-50 kOhms. Ngoài ra, một số chân có chức năng chuyên biệt:
Serial: 0 (RX) và 1 (TX); Serial 1: 19 (RX) và 18 (TX); Serial 2: 17 (RX) và 16 (TX); Serial 3: 15 (RX) và 14 (TX). Được sử dụng để nhận dữ liệu nối tiếp TTL (RX) và truyền (TX). Chân 0 và 1 cũng được kết nối với các chân tương ứng của chip nối tiếp USB-to-TTL ATmega8U2.
External Interrupts: 2 (interrupt 0), 3 (interrupt 1), 18 (interrupt 5), 19 (interrupt 4), 20 (interrupt 3), and 21 (interrupt 2). Các chân này có thể được cấu hình để kích hoạt một ngắt trên một giá trị thấp, một rising or falling edge. Xem hàm attachInterrupt () để biết chi tiết.
PWM: 0 đến 13. Cung cấp đầu ra PWM 8 bit với hàm analogWrite ().
SPI: 50 (MISO), 51 (MOSI), 52 (SCK), 53 (SS). Các chân này hỗ trợ giao tiếp SPI bằng thư viện SPI. Các chân SPI cũng bị phá vỡ trên tiêu đề ICSP, tương thích vật lý với Uno, Duemilanove và Diecimila.
Đèn LED: 13. Có đèn LED tích hợp được kết nối với chân digital 13. Khi pin có giá trị HIGH, đèn LED sáng, khi pin LOW, nó sẽ tắt.
BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH Trang 34 I2C: 20 (SDA) và 21 (SCL). Hỗ trợ giao tiếp I2C (TWI) bằng thư viện Wire
(tài liệu trên trang web Wiring). Lưu ý rằng các chân này không ở cùng vị trí với các chân I2C trên Duemilanove hoặc Diecimila.
Mega2560 có 16 đầu vào tương tự, mỗi đầu vào cung cấp 10 bit độ phân giải (tức là 1024 giá trị khác nhau). Theo mặc định, chúng đo từ mặt đất đến 5 volts, mặc dù có thể thay đổi phần trên của phạm vi của chúng bằng cách sử dụng hàm AREF pin và analogReference ().
Có 2 chân khác trên board:
AREF: Điện áp tham chiếu cho đầu vào tương tự. Được sử dụng với analogReference ().
Reset: Mang dòng này LOW để reset vi điều khiển. Thường được sử dụng để thêm một nút nhấn reset để bảo vệ các khối trên board.
2.3.6. Giao tiếp.
Arduino Mega2560 có một số phương thức để giao tiếp với một máy tính, một Arduino, hoặc các vi điều khiển khác. ATmega2560 cung cấp bốn UART phần cứng cho giao tiếp nối tiếp TTL (5V). Một ATmega8U2 trên các kênh của một trong các cổng này qua cổng USB và cung cấp một cổng com ảo cho phần mềm trên máy tính (các máy Windows sẽ cần một tệp .inf, nhưng các máy OSX và Linux sẽ tự động nhận dạng bảng này như một cổng COM. Đèn LED RX và TX trên bảng sẽ nhấp nháy khi dữ liệu đang được truyền qua chip ATmega8U2 và kết nối USB với máy tính (nhưng không cho kết nối nối tiếp trên máy tính) chân 0 và 1).
Thư viện SoftwareSerial cho phép giao tiếp nối tiếp trên bất kỳ chân digital nào của Mega2560.
ATmega2560 cũng hỗ trợ giao tiếp I2C (TWI) và SPI. Phần mềm Arduino bao gồm một thư viện dây để đơn giản hóa việc sử dụng bus I2C; xem tài liệu trên Wiring Website để biết chi tiết. Đối với giao tiếp SPI, hãy sử dụng thư viện SPI.
2.3.7. Lập trình.
Arduino Mega có thể được lập trình bằng phần mềm Arduino. Để biết chi tiết, hãy xem tài liệu tham khảo và hướng dẫn.
BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH Trang 35 ATmega2560 trên Arduino Mega có sẵn bộ nạp khởi động cho phép bạn tải mã mới lên mà không cần sử dụng trình lập trình phần cứng bên ngoài. Nó giao tiếp bằng giao thức STK500 gốc (tham chiếu, các tệp tiêu đề C).
Bạn cũng có thể bỏ qua bộ nạp khởi động và lập trình vi điều khiển thông qua tiêu đề ICSP (Lập trình nối tiếp mạch trong).
Mã nguồn phần mềm ATmega8U2 có sẵn trong kho lưu trữ Arduino. ATmega8U2 được nạp với bộ nạp khởi động DFU, có thể được kích hoạt bằng cách kết nối jumper hàn ở mặt sau của bảng và sau đó đặt lại 8U2. Sau đó bạn có thể sử dụng phần mềm FLIP của Atmel (Windows) hoặc lập trình viên DFU (Mac OS X và Linux) để tải chương trình cơ sở mới. Hoặc bạn có thể sử dụng tiêu đề ISP với một lập trình viên bên ngoài (ghi đè bộ nạp khởi động DFU).
2.3.8. Automatic (Software) Reset.
Thay vào yêu cầu một nút bấm vật lý của nút reset trước khi tải lên, Arduino Mega2560 được thiết kế theo cách cho phép nó được thiết lập lại bằng phần mềm chạy trên một máy tính được kết nối. Một trong những dòng điều khiển phần cứng (DTR) của ATmega8U2 được kết nối với nút reset của ATmega2560 qua một tụ điện 100 nf. Khi dòng này được khẳng định (thấp), đường reset sẽ giảm đủ lâu để reset chip. Phần mềm Arduino sử dụng khả năng này để cho phép bạn tải lên mã bằng cách nhấn nút tải lên trong môi trường Arduino. Điều này có nghĩa là bộ nạp khởi động có thể có thời gian chờ ngắn hơn, vì việc giảm DTR có thể được phối hợp tốt với sự bắt đầu tải lên.
Thiết lập này có ý nghĩa khác. Khi Mega2560 được kết nối với một máy tính chạy Mac OS X hoặc Linux, nó sẽ reset mỗi khi kết nối được tạo ra từ phần mềm (qua USB). Trong nửa giây sau đó, bộ nạp khởi động đang chạy trên Mega2560. Mặc dù nó được lập trình để bỏ qua dữ liệu không đúng định dạng (tức là bất kỳ điều gì ngoài việc tải lên mã mới), nó sẽ chặn một vài byte dữ liệu đầu tiên được gửi đến bảng sau khi kết nối được mở. Nếu một bản phác thảo chạy trên bảng nhận cấu hình một lần hoặc dữ liệu khác khi khởi động lần đầu tiên, hãy đảm bảo rằng phần mềm mà nó liên lạc chờ một giây sau khi mở kết nối và trước khi gửi dữ liệu này.
BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH Trang 36
2.4. Tìm hiểu về module Sim900a. 2.4.1. Tổng quan 2.4.1. Tổng quan
Hệ thống thông tin di động toàn cầu – GSM (Global System for Mobile Communication) là tiêu chuẩn phổ biến nhất trong thông tin di động trên thế giới hiện nay. Theo tổ chức sáng lập là hiệp hội GSM ước đoán rằng 80% thị trường di động toàn cầu đang sử dụng công nghệ này, với hơn 3 tỷ người trên hơn 212 quốc gia. Sự phổ biến này giúp cho việc chuyển vùng quốc tế giữa các nhà cung cấp dịch vụ di động trở nên dễ dàng, các thuê bao có thể sử dụng dịch vụ di động ở nhiều nơi trên thế giới.
Ngoài cung cấp dịch vụ cuộc gọi thoại, GSM cũng mở rộng các dịch vụ tiện lợi khác cho người sử dụng như tin nhắn ngắn SMS, được hỗ trợ tốt bởi hầu hết các chuẩn di động khác. Các tiêu chuẩn mới sau này ra đời, như General Packet Radio Service – GPRS (năm 1997) và Enhanced Data Rates for GSM Evolution – EDGE (năm 1999), mang lại các dịch vụ giá trị gia tăng phong phú và các mức cước phí hấp dẫn.
2.4.2. Lịch sử mạng GSM
Vào đầu những năm 1980 tại Châu Âu, người ta phát triển một mạng điện thoại di động chỉ sử dụng cho vài khu vực, sau đó vào năm 1982 nó được chuẩn hóa bởi CEPT và tạo ra GSM (Groupe Spécial Mobile) với mục đích sử dụng chung cho toàn Châu Âu. Mạng điện thoại di động sử dụng công nghệ GSM được xây dựng và đưa vào sử dụng đầu tiên bởi nhà khai thác Radiolinja ở Finland.
Vào năm 1989, công việc quản lý tiêu chuẩn và phát triển mạng GSM được chuyển giao cho Viện viễn thông Châu Âu – ETSI (European Telecommunications Standards Institute), các tiêu chuẩn đặc tính phase 1 của công nghệ GSM được công bố năm 1990.
Đến cuối năm 1993 đã có hơn 1 triệu thuê bao sử dụng mạng GSM của 70 nhà cung cấp dịch vụ trên 48 quốc gia.
Cấu trúc hệ thống mạng GSM
BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH Trang 37 - Trạm di động (Mobile Station): cung cấp khả năng liên lạc được người dùng
thuê bao mang theo.
- Hệ thống trạm gốc (Base Station Subsystem): điều khiển kết nối vô tuyến với trạm di động.
- Hệ thống mạng (Network System): với bộ phận chính là trung tâm chuyển mạch dịch vụ di động MSC, có chức năng quản lí di động, thực hiện việc chuyển mạch cuộc gọi giữa các thuê bao di động với thuê bao mạng cố định
Hình 2-14 Cấu trúc mạng GMS
2.4.3. Khái quát về GPRS
GPRS (General Packet Radio Service) là dịch vụ dữ liệu di động, sử dụng phương thức chuyển mạch gói được phát triển trên nền hệ thống thông tin di động toàn cầu GSM, cho phép các thiết bị di động gửi và nhận dữ liệu trong mạng. GPRS là một bước để phát triển lên hệ thống thông tin di động thế hệ thứ 3 (3G).
Về tốc độ: GPRS sử dụng phương thức chuyển mạch gói. Tốc độ kết nối cao hơn, có thể đạt tới khoảng 56-118kbps, so với mạng GSM truyền thống chỉ là 9,6kbps. Bằng việc kết hợp các khe thời gian chuẩn GSM, tốc độ theo lý thuyết có thể đạt tới 171,2kbps. Tuy nhiên, tốc độ 20-50kbps là khả thi hơn trong thực tế.
Về kết nối: GPRS là dịch vụ kết nối liên tục, mà không cần phải quay số. Đây không phải là một tính năng duy nhất có ở GPRS, nhưng sẽ không có trở ngại
BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH Trang 38 nào để nó trở thành tính năng then chốt khi chuyển tiếp lên 3G. Nó giúp cho các thiết bị tiếp nhận các dịch vụ một cách tức thời.
Các ứng dụng giá trị gia tăng mới và tốt hơn: Kết nối truyền dữ liệu tốc độ cao và liên tục cho phép các ứng dụng internet và các dịch vụ như hội thoại hình có thể được thực hiện trên các thiết bị di động hay chuyển tới máy PC.
Chi phí đầu tư và vận hành: Các nhà cung cấp dịch vụ mạng di động không cần phải bắt đầu từ vạch xuất phát để có thể triển khai GPRS. GPRS được nâng cấp từ mạng GSM đã có.
Cước phí dịch vụ truyền tải dữ liệu bằng GPRS thường được tính trên lưu lượng truyền tải, trong khi đó phương pháp truyền thống sử dụng chuyển mạch kênh được tính dựa trên thời gian kết nối, không phụ thuộc vào việc người sử dụng đang truyền tải dữ liệu hay ở trạng thái nghỉ.
2.4.4. Tổng quan về Module Sim900a.
Hỗ trợ:
+ Nghe gọi
+ Gửi - nhận tin nhắn SMS
Với mức điện áp hoạt động 5VDC - Chuẩn điện áp thông dụng nhất với các loại Vi điều khiển và cả giao tiếp máy tính, cùng với tính ổn định cao và đơn giản về sử
BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH Trang 39 dụng, Module SIM900A này rất thích hợp cho các ứng dụng thực tế liên quan đến Nghe gọi, SMS, DTMF,..
Thông tin kĩ thuật:
- Điện áp hoạt động: 4.5 - 5 VDC - Dòng khuyến nghị: >2A - Giao diện: TTL
- Sơ đồ chân:
+ VCC: Nguồn vào 5V.
+ TXD: Chân truyền Uart TX. + RXD: Chân nhận Uart RX. + Headphone: Chân phát âm thanh.
+ Microphone: Chân nhận âm thanh (phải gắn thêm Micro từ GND vào chân này thì mới thu được tiếng).
+ GND: Chân Mass, cấp 0V.
BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH Trang 40 Kết nối với Arduino:
- Modul Sim900a mini hàn thêm diode vào chân vcc và tụ 2200uF/10V để sử dụng được nguồn 5v từ mạch Arduino
- 5V nối với chân 5V của board Arduino.
- GND nối với chân GND của board Arduino.
- TX nối với chân 51/2 của board Arduino MEGA/UNO.
- RX nối với chân 50/3 của board Arduino MEGA/UNO.
- PWR: Đây là chân bật tắt modul Sim900a.
- SPK: Chân này cần kết nối nếu bạn muốn xuất âm thanh ra loa thoại.
- MIC: Chân này cần kết nối nếu bạn muốn tạo mic để đàm thoại.
2.5. Cảm biến dòng. 2.5.1. Giới thiệu. 2.5.1. Giới thiệu.
ACS712 là linh kiện điện tử thuộc loại IC cảm biến dòng tuyến tính dựa trên hiệu ứng Hall.
- Thông số kỹ thuật và ưu điểm của linh kiện điện tử ACS712. + Đường tín hiệu analog có độ nhiễu thâp.
+ Thời gian thay đổi điện áp đầu ra tương ứng với dòng điện đầu vào là 5us.
+ Điện trở dây dẫn trong là 1.2 mΩ.
BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH Trang 41
+ Điện áp hoạt động 5V
+ Sai số điện áp đầu ra 1.5% ở 25 0C. + Độ nhạy đầu ra từ 66 đến 185 mV/A.
Các loại ACS:
- ACS712 – 5A
+ Khoảng đo – 5A -> 5A + Độ nhạy điện áp 185 mV/A - ACS712 – 20A
+ Khoảng đo – 20A -> 20A + Độ nhạy điện áp 100 mV/A - ACS712 – 30A
+ Khoảng đo – 30A -> 30A + Độ nhạy điện áp 66 mV/A
- Sơ đồ chân và kích thước của linh kiện điện tử ACS712. + Sơ đồ:
BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH Trang 42 + Kích thước:
2.5.2. Nguyên lý hoạt động.
Nguyên lý hoạt động của linh kiện điện tử ACS712:
- IC ACS712 là cảm biến dòn tuyến tính dựa trên hiệu ứng Hall. ACS xuất ra