Thiết kế mạch điện tử cần có một phần mềm chuyên dụng, mạch điện tử của đềtài được thiết kế bằng phần mềm EasyEDA. Hình ảnh giao diện của phần mềm được biểu thị tại Hình 2.1
EasyEDA là một công cụ thiết kế vi mạch (EDA) miễn phí, không cần cài đặt, trên nền tảng điện toán đám mây, được thiết kếđể mang đến cho kỹsư điện, giảng viên, sinh viên kỹ thuật và những người yêu thích điện tử một trải nghiệm thiết kế mạch dễdàng hơn. EasyEDA chạy trên trình duyệt web, rất dễđể sử dụng cho thiết kế, mô phỏng mạch và thiết kế PCB.
Hình 2.1 Giao diện website Easy EDA
Đặc trưng của EasyEDA
Được tích hợp với nhiều tính năng, công cụ này là công cụ phát triển mạch tốt và được sử dụng nhiều nhất cho nhiều người. Một sốđiều cơ bản hay tính năng của EasyEDA là:
• Khảnăng dễ dàng và hiệu quả trong thiết kế mạch • Chia sẻcông khai và riêng tư
• Có thể phát triển nhiều dự án mã nguồn mở • Hỗ trợ tập lệnh và cung cấp API
20 • Chia sẻ trực tuyến các dự án
• Cài đặt chủđề
• Phục hồi tài liệu ở mọi cấp độ
• Xuất tài liệu dưới dạng PDF, SVG và PNG
• Xuất Netlist như FreePCB, Spice, Pads và Altium Designer • Kiểm tra quy tắc thiết kế
• Xuất BOM / DXF • Module PCB
• Truy cập gần 1,000,000 thư viện công cộng • Quản lý các thư viện khác nhau
• Tạo và chỉnh sửa biểu tượng hoặc phần phụ và biểu tượng hoặc mô hình Spice
• Tạo và chỉnh sửa footprint • Thiết kế từng bước
• Mở phần trình chỉnh sửa trong công cụ
• Chọn một trong hai là linh kiện hoặc footprint để tạo • Tạo các thành phần mới
• Tạo footprint mới • Chụp schematic
• Xác minh các mạch thông qua quy trình mô phỏng • Chạy mô phỏng
• Chuyển đổi schematic layout sang PCB
2.3 Thiết kế phần cứng
Sơ đồ khối các chức năng chính của mạch đo thông số sinh tồn cơ thểngười được chỉ ra tại hình 2.2.
21
Hình 2.2 Sơ đồ khối toàn mạch
Mạch đo gồm các khối chức năng như sau:
• Khối cảm biến: có 3 chức năng chính là đo nhiệt độ, nhịp tim và SpO2
• Khối điều khiển bao gồm 2 chức năng chính:
o Xử lý, tính toán dữ liệu nhận được từ các cảm biến
o Truyền dữ liệu, cụ thể là Nhịp tim, SpO2 và nhiệt độ lên phần mềm thông qua khối giao tiếp
• Khối giao tiếp có nhiệm vụ kết nối mạch đo thông số sinh tồn với máy tính thông qua Cổng COM để nhận lệnh và truyền dữ liệu lên Phần mềm khi có yêu cầu.
• Khối nguồn có chức năng cấp nguồn điện 5V cho toàn mạch. Khối nguồn có thể lấy đầu vào từ nguồn điện lưới 220V thông qua adapter chuyển đổi.
2.3.1 Nghiên cứu lựa chọn cảm biến
Mạch đo thông số sinh tồn gồm 3 thông số là nhiệt độ, nhịp tim và SpO2. Các cảm biến này thường có độchính xác đáng kếđể không bị ảnh hưởng bởi các yếu tố khách quan. Cũng vì thế mà giá thành cao hơn nhiều so với các cảm biến dùng trong công nghiệp. Để phù hợp với thời gian nghiên cứu, phạm vi đề tài, cảm biến nhiệt độ DS18B20 và cảm biến nhịp tim kèm SpO2 Max30100 được lựa chọn.
2.3.1.1.Cảm biến nhiệt độ DS18B20
Cảm biến nhiệt độ DS18B20 được ứng dụng nhiều trong công nghiệp nhằm theo dõi sự biến đổi nhiệt độ trên bề mặt; là một loại cảm biến kỹ thuật số tuân theo
22 giao thức 1 dây và có thểđo nhiệt độ từ -55 oC đến +125 oC (-67 oF đến +257 oF) với độ chính xác ± 5%. Tuy là cảm biến thường được sử dụng trong công nghiệp nhưng trong đề tài này có thể sử dụng để thay thế các cảm biến có độ chính xác cao, giá thành không phù hợp để nghiên cứu. Cảm biến DS18B20 được biểu thị tại
Hình 2.3.
Cảm biến DS18B20 có một sốđặc điểm sau:
• Nguyên tắc chuyển đổi trực tiếp từ nhiệt độ thành giá trị số • Thay đổi sốlượng bit theo sựthay đổi của nhiệt độ
• Có 3 chân gồm PIN #1 VCC +%Voltage, PIN#2 là chân dữ liệu, PIN#3 là chân đất
Hình 2.3 Cảm biến nhiệt độ DS18B20
Thông số kỹ thuật của cảm biến • Nguồn: 3 – 5.5V
• Dải đo nhiệt độ: -55 đến 125 độ C (-67 đến 257 oF) • Sai số: +- 0.5 oC khi đo ở dải -10 – 85 oC
• Độ phân giải: người dùng có thể chọn từ 9 – 12 bits • Chuẩn giao tiếp: 1-Wire (1 dây).
• Có cảnh báo nhiệt khi vượt ngưỡng cho phép và cấp nguồn từ chân data.
• Thời gian chuyển đổi nhiệt độ tối đa: 750 ms (khi chọn độ phân giải 12bit).
23 • Mỗi IC có một mã riêng (lưu trên EEPROM của IC) nên có thể giao tiếp
nhiều DS18B20 trên cùng 1 dây
• Ống thép không gỉ (chống ẩm, nước) đường kính 6mm, dài 50mm • Đường kính đầu dò: 6mm
• Chiều dài dây: 1m
Với cấu tạo như trên, chân dữ liệu của cảm biến có thể kết nối trực tiếp vào vi điều khiển.
2.3.1.2.Cảm biến MAX30100
Cảm biến nhịp tim và SpO2 MAX30100 được tích hợp 16-bit sigma delta ADC và bộ xử lý tín hiệu tương tự với độ nhiễu thấp giúp cảm biến hoạt động chính xác và ổn định cao (Hình 2.4). Đồng thời được thiết kế nhỏ gọn có thể sử dụng làm thiết bịđeo tay và dễ dàng giao tiếp với các MCU.
Ánh sáng phát ra từđèn LED, chiếu vào tay và sau đó bị phản xạ lại. Các tia phản xạ trở lại từ da không chỉ phụ thuộc vào phổ hấp thụ của máu mà còn do cấu trúc và sắc tố của da.
Nồng độOxy bão hòa được đo bằng cách phân tích các tín hiệu ánh sáng đỏ
và ánh sáng hồng ngoại thông qua nhịp đập. Những ánh sáng được thu bởi photodiode sau khi tán xạ trở lại từ bề mặt da. Photodiode hấp thụ ánh sáng và chuyển qua bộ chuyển đổi ADC, chuyển từ tín hiệu tương tự sang tín hiệu số. Ánh sáng từled đi vào tế bào bị tán xạ do chuyển động của hồng cầu và tế bào không dịch chuyển. Một phần ánh sáng tán xạnày đến photodiode được máy đo tính toán
24
Hình 2.4 Cảm biến MAX30100
Hai LED hấp thụ ánh sáng đỏ và ánh sáng hồng ngoại với hai bước sóng lần
lượt là 650 nm và 950 nm. Một photodiode hấp thụ và tổng hợp ánh sáng từ hai
đèn led, chuyển đổi năng lượng ánh sáng thành dòng điện. Sau đó cho qua bộ
ADC chuyển từ tín hiệu tương tự sang tín hiệu số. Bộ xử lý tín hiệu có tích hợp thêm cảm biến nhiệt độđể bù sựthay đổi oxy trong máu khi nhiệt độmôi trường
thay đổi. Sau đó thông qua một bộ khuếch đại tầng với bộ lọc để loại bỏ nhiễu
50/60Hz và tiếng ồn xung quanh
Sau khi lọc và khuếch đại, ta đua nó qua khối ADC để đọc tín hiệu qua
đường I2C. ADC có độ phân giải là 16bit, do đó tốc độ dữ liệu đầu ra có thể lập trình từ50Hz đến 1000Hz
Chúng ta có thểđo nhịp tim bằng cách phân tích phản ứng chuỗi thời gian
của ánh sáng đỏ và hồng ngoại phản xạ. Khối LED Drivers cho phép chọn giữa
25
Hình 2.5 Sơ đồ nguyên lý khối cảm biến Max30100
Chân SCL, SDA, INT là các chân tín hiệu của cảm biến Max30100, 3 chân này được kết nối với các chân của vi xửlý thông qua điện trở.
Giao tiếp giữa cảm biến và vi xử lý là giao tiếp I2C. I2C kết hợp các tính năng tốt nhất của SPI và UART. Với I2C, có thể kết nối nhiều slave với một master duy nhất (như SPI), có thể có nhiều master điều khiển một hoặc nhiều slave.
Giống như giao tiếp UART, I2C chỉ sử dụng hai dây để truyền dữ liệu giữa các thiết bị: SDA (Serial Data) - đường truyền cho master và slave để gửi và nhận dữ liệu. SCL (Serial Clock) - đường mang tín hiệu xung nhịp. I2C là một giao thức truyền thông nối tiếp, vì vậy dữ liệu được truyền từng bit dọc theo một đường duy nhất (đường SDA). Giống như SPI, I2C là đồng bộ, do đó đầu ra của các bit được đồng bộ hóa với việc lấy mẫu các bit bởi một tín hiệu xung nhịp được chia sẻ giữa master và slave. Tín hiệu xung nhịp luôn được điều khiển bởi master.
Với I2C, dữ liệu được truyền trong các tin nhắn. Tin nhắn được chia thành các khung dữ liệu. Mỗi tin nhắn có một khung địa chỉ chứa địa chỉ nhị phân của địa chỉ slave và một hoặc nhiều khung dữ liệu chứa dữ liệu đang được truyền.
26 Thông điệp cũng bao gồm điều kiện khởi động và điều kiện dừng, các bit đọc/ghi và các bit ACK/NACK giữa mỗi khung dữ liệu.
Điều kiện khởi động: Đường SDA chuyển từ mức điện áp cao xuống mức điện áp thấp trước khi đường SCL chuyển từ mức cao xuống mức thấp.
Điều kiện dừng: Đường SDA chuyển từ mức điện áp thấp sang mức điện áp cao sau khi đường SCL chuyển từ mức thấp lên mức cao.
Khung địa chỉ: Một chuỗi 7 hoặc 10 bit duy nhất cho mỗi slave đểxác định slave khi master muốn giao tiếp với nó.
Bit Đọc / Ghi: Một bit duy nhất chỉđịnh master đang gửi dữ liệu đến slave (mức điện áp thấp) hay yêu cầu dữ liệu từ nó (mức điện áp cao).
Bit ACK / NACK: Mỗi khung trong một tin nhắn được theo sau bởi một bit xác nhận / không xác nhận. Nếu một khung địa chỉ hoặc khung dữ liệu được nhận thành công, một bit ACK sẽđược trả lại cho thiết bị gửi từ thiết bị nhận
Hình 2.6 Hình ảnh minh hoạ cách hoạt động giao tiếp I2C
2.3.2 Thiết kế khối vi xử lý
Vi xử lý sử dụng trong mạch có nhiệm vụ nhận tín hiệu từ các cảm biến, phần mềm trên máy tính và gửi dữ liệu đã xử lý lên máy tính thông qua cổng COM. Để phục vụ nghiên cứu cũng như phát triển đềtài trong tương lai, vi xử lý ESP32 [2] được lựa chọn (Hình 2.7). Mục đích đểtương lai có thể kết nối với phần mềm trên máy tính thông qua Wifi.
27
Hình 2.7 Sơ đồ chân ESP32
ESP32 là 1 thiết bịvi điều khiển mạnh mẽ của Espressif Systems, có thể dễ dàng lập trình với nhiều ngôn ngữkhác nhau như Lua, Python, C/C++, … ESP32 là module MCU mạnh mẽ và đa dụng được sử dụng rộng rãi trong các thiết kế mạch PCB Wifi Bluetooth và BLE. Sản phẩm được ứng dụng phổ biến trong các đềtài liên quan đến IoT hiện nay.
ESP sở hữu 1 lõi được gọi là chip ESP32-D0WDQ6. Chip nhúng được thiết kếđể nâng cao khảnăng mở rộng và tùy biến rất cao. Thiết kế ESP32 có 2 lõi CPU hoạt động 1 cách độc lập có thể dễdàng điều khiển. Tần số clock có thểđiều chỉnh dễ dàng từ80MHZ lên đến 240MHZ. Trong quá trình sử dụng người lập trình có thể tắt CPU để có thể sử dụng thiết bị ở chế độ công suất thấp. Qua đó theo dõi được sựthay đổi và vượt ngưỡng. ESP32 được tích hợp các bộtương tác ngoại vi khá phong phú như: cảm biến Hall, cảm biến điện dung, SD card, SPI tốc độ cao, I2S, I2C hay SPI tốc độ cao
ESP32 có thông số kỹ thuật như sau:
CPU and Memory
• Xtensa® Dual-Core 32-bit LX6 microprocessors, up to 600 DMIPS • 448 KByte ROM
28 • 16 KByte SRAM in RTC
• QSPI Flash/SRAM, up to 4 x 16 MBytes • Power supply: 2.2 V to 3.6 V
Clocks and Timers
• Internal 8 MHz oscillator with calibration • Internal RC oscillator with calibration
• External 2 MHz to 40 MHz crystal oscillator
• External 32 kHz crystal oscillator for RTC with calibration
• Two timer groups, including 2 x 64-bit timers and 1 x main watchdog in each group
• RTC timer with sub-second accuracy • RTC watchdog
Ngoại vi
• 12-bit SAR ADC up to 18 channels • 2 × 8-bit D/A converters
• 10 × touch sensors • Temperature sensor • 4 × SPI • 2 × I2S • 2 × I2C • 3 × UART • 1 host (SD/eMMC/SDIO) • 1 slave (SDIO/SPI)
• Ethernet MAC interface with dedicated DMA and IEEE 1588 support • CAN 2.0
• IR (TX/RX) • Motor PWM
• LED PWM up to 16 channels • Hall sensor
29 • Ultra low power analog preamplifier
Với những tính năng tích hợp sẵn như trên, ESP32 thể hiện là một dòng chip vi điều khiển không chỉ có tốc độ xửlý cao mà còn được tích hợp rất nhiều chức năng ngoại vi, rất phù hợp để sử dụng cũng như phát triển trong tương lai.
Chân D4, D21, D22 của ESP32 sẽ được kết nối với lần lượt với chân INT, SDA, SLC của cảm biến Max30100 đã trình bày ở trên. Chân D5 của vi xửlý được kết nối với chân 2 tín hiệu (màu vàng) của cảm biến nhiệt độ.
Hình 2.8 Sơ đồ mạch nguyên lý khối vi xử lý
Thuật toán cơ bản đo thông số sinh tồn và gửi dữ liệu đo được lên phần mềm theo các bước sau (Hình 2.9):
• Bước 1. Khi có tín hiệu từ phần mềm gửi vềvi điều khiển, vi điều khiển sẽ bắt đầu chạy chương trình
• Bước 2. Các cảm biến sẽđo thông số và gửi về vi xử lý, vi xử lý tính toán ra kết quả
• Bước 3. Các dữ liệu đã tính toán sẽđược gửi về phần mềm và hiển thị trên phần mềm
30
Hình 2.9 Sơ đồ thuật toán chương trình điều khiển
2.3.3 Thiết kế khối truyền dữ liệu
Như đã trình bày ở trên, vi xửlý ESP32 được lựa chọn đểđiều khiển chương trình. Module ESP32 được tích hợp nhiều tính năng ngoại vi trong đó có tính năng giao tiếp port với máy tính. Khối giao tiếp sử dụng IC CH340 chuyển đổi giao tiếp USB sang UART. IC này có thông số kỹ thuật như sau:
• Điện áp hoạt động: ~5V
• Điện áp chân đầu vào: -0.5V to 5.5V • Dải nhiệt độ chịu được: -40C to 125C • Dòng điện hoạt động Icc: ~20mA • Dòng điện tiêu thụ chờ: 200uA • Tần số cắt xung: 12Mhz
31
Hình 2.10 Sơ đồ nguyên lý khối giao tiếp
2.3.4 Thiết kế khối nguồn
Khối nguồn có nhiệm vụ cung cấp nguồn điện theo đúng yêu cầu của từng đơn vị trong hệ thống hoạt động. Sơ đồ thiết kế khối nguồn được thể hiện trên Hình 2.11
Thiết bị sử dụng nguồn điện đầu vào có điện áp 12V, nguồn đầu vào này được biến đổi thành điện áp 5V và 3.3V cung cấp cho từng phần tử của mạch điện tử.
Thiết kế nguồn 5V sử dụng IC LM7805 biến đổi điện áp 12V thành điện áp 5V. LM7805 hay 7805 là IC điều chỉnh điện áp dương đẩu ra 5V. Nó là IC của dòng ổn áp dương LM78xx được sản xuất trong gói TO-220 và các gói khác. IC này được sử dụng rộng rãi trong các thiết bịthương mại và giáo dục. Nó cũng được sử dụng bởi nhiều người đam mê điện từ và thợ sửa chữa điện tử do giá rẻ, dễ sử dụng và không cần nhiều linh kiện bên ngoài. IC có nhiều tính năng tích hợp lý tưởng để sử dụng trong nhiều ứng dụng điện tửnhư dòng điện đầu ra 1.5A, chức năng bảo vệ quá tải, bảo vệ quá nhiệt, dòng điện tĩnh thấp, v.v
32 Hình 2.11 IC LM7805 Ứng dụng IC LM7805: • Giảm áp • Nguồn điện • Bộ sạc pin
• Nguồn cung cấp năng lượng mặt trời • Các ứng dụng liên quan tới vi điều khiển • Trình điều khiển động cơ
Hình 2.12 Khối nguồn 5V
Thông số kỹ thuật IC 7805: • Dòng điện đầu ra: 1.5A
33 • Chức năng tắt quá nhiệt tức thì
• Điện áp đầu ra: 5V DC
• Điện áp đầu vào: tối da 35 voltage DC • Dòng điện tĩnh thấp chỉ: 8mA
Nguồn 3.3V sử dụng IC HT7333, IC này chuyển đổi điện áp 5V sang 3.3V để cung cấp cho vi xử lý và cảm biến max30100 hoạt động.
Hình 2.13 IC HT7333