Sơ đồ khối của hệ thống được mô tả trên hình 2.4, dưới đây là chi tiết các khối chính có trong sơ đồ:
Khối nguồn
Cung cấp nguồn 5V cho khối cảm biến, khối HX711, khối Arduino, khối bluetooth, … làm việc
Khối cảm biến
Chuyển đổi sự thay đổi về lực thành sự thay đổi về điện áp và tạo thành tín hiệu tương tự cho đầu vào của khối HX711
31 Khuếch đại và chuyển đổi tín hiệu tương tự từ khối cảm biến thành tín hiệu số 24 bit
Khối Arduino
Điều khiển Bluetooth và HX711, nhận tín hiệu số, thu dữ liệu và gửi chúng tới máy tính và khối bluetooth
Khối Bluetooth
Truyền dữ liệu từ khối Arduino tới cổng Bluetooth của máy tính
Máy tính
Nhận dữ liệu từ khối Arduino thông qua Bluetooth hoặc cổng COM trực tiếp. Dữ liệu sẽ được hiển thị trên màn hình máy tính thông qua chương trình phần mềm. Dữ liệu cũng sẽ được lưu lại cho việc tính toán và nghiên cứu sau này.
Khối bàn phím số
Bao gồm các nút nhấn đẻ nhập thông tin bệnh nhân và điều khiển hoạt động của thiết bị
Khối LCD
Hiện thị trạng thái của thiết bị
Khối thẻ nhớ
Lưu trữ dữ liệu tới thẻ nhớ MicroSD khi không có máy tính
Khối thời gian thực
Cung cấp thời gian và ngày tháng cho tên file
Khi không có máy tính, bàn phím ma trận có thể được sử dụng để chèn thông tin bệnh nhân và điều khiển thiết bị hoạt động. Trạng thái của thang đo có thể được hiển thị theo khối LCD và dữ liệu có thể được lưu trữ bằng bộ nhớ MicroSD trong khối thẻ SD.
2.3.5.1Cảm biến khối lượng – Loadcell
32
Khái niệm: Loadcell là một loại cảm biến chuyển đổi lực hoặc khối lượng thành đầu ra điện áp có thể đo được, trạng thái phổ biến nhất là mili vôn trên vôn(mV/V)
Chức năng: chuyển đổi lực, khối lượng thành tín hiệu điện ( tín hiệu analog ). + Các loại Loadcell:
- Hydraulic Load Cells: là loại loadcell sử dụng một pit-tông và xy-lanh thông thường được bố trí để truyền tải sự thay đổi áp suất bằng chuyển động của pit- tông và bố trí màng ngăn để tạo ra sự thay dổi áp lực trên ống Bourdon được kết nối với các cảm biến.
- Pneumatic Load Cells: là loại loadcell sử dụng khí nén áp vào một đầu của màng ngăn và nó thoát ra qua vòi được đặt ở dưới cùng của loadcell, có một đồng hồ đo áp suất bên trong loadcell.
- Strain Gauge Load Cells: là loại loadcell đo độ biến dạng, lực tác dụng lên sẽ làm biến dạng cảm biến.
Trong đồ án này, em sử dụng Strain gauge loadcell do độ phổ biến và giá thành phải chăng.
Giới thiệu cơ bản về Strain Gauge:
Strain Gauge là một thiết bị để đo sự thay đổi điện trở đáp ứng và tỷ lệ với độ biến dạng (khi có áp suất hoặc lực, hoặc bất cứ gì tác động vào) và được áp dụng cho thiết bị. Strain Gauge phổ biến nhất được tạo thành từ những sợi dây mảnh, hoặc lá được sắp đặt theo mô hình lưới như là cách để có sự thay đổi tuyến tính của điện trở khi có sự biến dạng theo một hướng cụ thể, phần lớn tìm thấy với các loại điện trở cơ bản như 120Ω, 350Ω và 1000Ω.
33
Hình 2.10 Giới thiệu về Strain Gauge
Thông số Gauge
Mỗi strain gauge có một độ nhạy khác nhau với độ biến dạng, và được biểu thị như một chỉ số gauge (GF). Chỉ số Gauge được định nghĩa như là tỷ lệ thay đổi theo điện trở so với tỷ lệ thay đổi theo chiều dài (độ biến dạng).
Sự thay đổi nhỏ ở độ biến dạng
Đo độ biến dạng hiếm khi lớn hơn một milistrain (e ) ( đơn vị đặc biệt đo độ biến dạng, tuy nhiên nó vẫn rất nhỏ)
Ta đưa ra một ví dụ như sau: Cho là bạn đặt độ biến dạng là 500 . Một Strain gauge với hệ số gauge là 2 sẽ có sự thay đổi điện trở chỉ khoảng:
2*(500*10-6) = 0.1
Cho điện trở Gauge là 120Ω , thì sự thay đổi này chỉ là 0.12Ω - một sự thay đổi và với phần lớn thiết bị, thực sự không thể phát hiện được. Vì vậy, chúng ta sẽ cần một thiết bị khác có thể hoặc là đo chính xác những thay đổi siêu nhỏ của điện trở, hoặc là một thiết bị có thể lấy những thay thay đổi rất nhỏ của điện trở và chuyển nó thành một thứ gì đó mà chúng ta đo chính xác.
Loadcell được cấu tạo bởi hai thành phần: phần thứ nhất là “Strain gage” và phần còn lại là “Load”:
34
- Strain gage: là một điện trở đặc biệt chỉ nhỏ bằng móng tay, điện trở có thể thay đổi khi bị nén hay kéo dãn và được nuôi bằng một nguồn điện ổn định, được dán chết lên phần “Load”.
- Load: là một thanh kim loại chịu tải có một đầu được gắn cố định với strain gage, đầu còn lại tự do.
Khi có tải trọng hoặc lực tác động lên thân loadcell làm cho thân loadcell bị biến dạng (giãn hoặc nén), điều đó dẫn tới sự thay đổi chiều dài và tiết diện của các sợi kim loại của điện trở strain gauges dán trên thân loadcell dẫn đến một sự thay đổi giá trị của các điện trở strain gauges. Sự thay đổi này dẫn tới sự thay đổi trong điện áp đầu ra. Như vậy, khi đặt vật cân lên bàn cân, tùy theo khối lượng vật mà phần Load sẽ bị uốn đi một lượng tương ứng. Thông số đầu ra được đo lường qua sự thay đổi điện trở của Strain Gauge. Thông thường, phần load sẽ được cấu tạo sao cho bất chấp vị trí ta đặt vật, nó đều cho cùng một mức độ bị uốn như nhau.
35
Thông số kĩ thuật cơ bản của loadcell:
- Độ chính xác: Cho biết độ chính xác trong các phép đo. Độ chính xác này phụ thuộc vào tính chất phi tuyến tính, độ trễ, độ lặp.
- Công suất định mức: Là giá trị khối lượng lớn nhất mà Loadcell có thể đo được (tùy từng loại).
- Dải bù nhiệt độ: Là khoảng nhiệt độ mà đầu ra Loadcell được bù vào, nếu nằm ngoài khoảng này, đầu ra không được đảm bảo thực hiện theo đúng chi tiết kĩ thuật được đưa ra.
- Cấp bảo vệ: Được đánh giá theo thang đo IP65 (chống được độ ẩm và bụi).
- Điện áp: Giá trị điện áp làm việc của Loadcell (dải làm việc của loadcell 5 – 15 V) trong trường hợp này điện áp dùng loadcell là 5V.
- Trở kháng đầu ra: Cho dưới dạng trở kháng được đo giữa E+ và E-
Hình 2.12 Cảm biến khối lượng loadcell
Cấu tạo chính của Loadcell sử dụng nguyên lý mạch cầu Wheatstone. Ban đầu cầu cân bằng, điện áp ra bằng 0V. Khi có lực tác động lên điện trở strain
36
gage (được mắc dưới bàn cân) nó sẽ thay đổi giá trị => Mạch cầu không còn cân bằng nữa => Xuất hiện điện áp ở đầu ra. Từ đó ta lấy được khối lượng từ mức điện áp trả về thông qua một bộ chuyển đổi tín hiệu ADC.
R4 R1 Vra R2 = R(1+ ) U R3
Hình 2.13 Mạch cầu cân bằng Wheatstone
Mạch cầu cân bằng để tạo độ lệch điện áp và đưa ra tín hiệu đó ra ngoài dưới dạng analog. Giá trị mỗi điện trở là 1kΩ nối lại với nhau và nối với loadcell. Loadcell hoạt động dưới điện áp 5V.
2.3.5.2Bộ ADC HX711
Mạch chuyển đồi ADC 24bit Loadcell HX711: module chuyển đổi tương tự sang số có độ phân giải 24-bit. HX711 được thiết kế để chuyển đối tín hiệu và ứng dụng điều khiển công nghiệp để giao tiếp trực tiếp với một cảm biến cầu. HX711 không chỉ có một vài chức năng cơ bản, mà có tích hợp cao, phản ứng nhanh, khả năng chống nhiễu và độ tin cậy cao. Đây là mạch đọc giá trị cảm biến loadcell với độ phân giải 24bit và chuyển sang giao tiếp 2 dây (SCK và DT) để gửi dữ liệu cho vi điều khiển Arduino.
Lý do lựa chọn HX711 thay vì dùng bộ ADC của Arduino: Output của loadcell có điện áp rất nhỏ, cở khoảng: 1-3mV. Đối với bộ giao thức ADC của Arduino là bộ giao tiếp 8 bit thì độ phân giải Analog = 5 ÷ 28 = 19.53mV >> 1- 3mV. Như vậy, khi dùng độ ADC của Arduino thì kết quả thu được sẽ không đủ chính xác, không đảm bảo độ phân giải cần thiết đối với những thay đổi nhỏ từ
37 loadcell đưa về nên để đáp ứng yêu cầu độ nhậy cũng như độ chính xác của cân thì phải sử dụng bộ ADC 24 bit để giảm độ phân giải của tín hiệu xuống cho phù hợp với loadcell. Đối với bộ ADC 24 bit này độ phân giải Analog = 5 ÷ 224 = 2.9802*2-7 (V) nhỏ hơn gấp nhiều lần so với bộ ADC 8 bit của Arduino vì vậy sử dụng bộ ADC này tối ưu hơn rất nhiều so với Arduino.
Hình 2.14 Bộ ADC 24 bit HX711
Thông số kỹ thuật của HX711
• Điện áp hoạt động : 2.7 – 5V
• Dòng tiêu thụ : < 1.5 mA
• Tốc độ lấy mẫu : 10 – 80 SPS
• Độ phân giải : 24 bit ADC
• Độ phân giải điện áp : 40mV
• Kích thước : 38 x 21 x 10 mm
• Giao thức giao tiếp: 2 dây (SCK và DT)
38
2.3.5.3Bộ vi xử lý Arduino
Arduino là một dòng kit phát triển nổi tiếng hàng đầu đối với việc tự thực hiện các mạch mà không cần hiểu biết quá sâu phần cứng. Được giới thiệu vào năm 2005, những nhà thiết kế đã cố gắng mang đến một thiết bị với một phương thức tiếp cận dễ dàng, không tốn kém cho những người yêu thích, sinh viên và giới chuyên nghiệp. Hiện nay, Arduino đã được biết đến và sử dụng một cách rộng rãi tại Việt Nam. Sức ảnh hưởng của Arduino ngày càng được chứng tỏ theo thời gian với vô vàn các ứng dụng mở (open source) độc đáo được chia sẻ rộng rãi. Nhiều Arduino được phát triển mở rộng bằng cách thêm vào các module đầu vào, đầu ra để đơn giản hóa các cấu trúc và phổ biến việc sử dụng trong các trường học, phòng nghiên cứu quy mô nhỏ.
Hình 2.15 Arduino UNO R3
Arduino UNO R3 là kit Arduino UNO thế hệ thứ 3, với khả năng lập trình cho các ứng dụng điều khiển phức tạp do được trang bị cấu hình mạnh như các loại bộ nhớ ROM, RAM và Flash, các ngõ vào ra digital I/O trong đó có nhiều ngõ có khả năng xuất tín hiệu PWM, các ngõ đọc tín hiệu analog và các chuẩn giao tiếp đa dạng. Arduino UNO R3 sử dụng chip ATmega8 (bộ nhớ flash 8KB) hoặc ATmega168 (bộ nhớ flash 16KB). Một mạch Arduino bao gồm nhiều ngoại
39 vi (peripheral) và linh kiện bổ sung giúp dễ dàng lập trình và có thể mở rộng với các thiết bị khác. Đối với board Uno R3, có 14 chân I/O kỹ thuật số, trong đó có 6 chân băm xung PWM (điều chế độ rộng xung) và 6 chân input analog (6 chân này hoàn toàn có thể được sử dụng như là 6 chân I/O số). Arduino hiện tại đượ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 là FTDI FT232. Các kết nối tiêu chuẩn của Arduino như: UART, SPI, I2C, GPIO, ADC,... cho phép người dùng kết nối giữa CPU của board với các module ngoại vi thêm vào có thể dễ dàng thay đổi, được gọi là shield - các shield có thể được xếp chồng lên nhau để mở rộng. Những shield này được thiết kế nằm phía trên mặt board, thông qua các header cái 0.10 - inch (2.5 mm). Nhiều shield ứng dụng plug - in cũng được thương mại hóa.
Arduino UNO R3 có thể được cấp nguồn 5V thông qua cổng USB hoặc cấp nguồn ngoài với điện áp khuyên dùng là 7 - 12V DC và giới hạn là 6 - 20V. Thường thì cấp nguồn bằng pin vuông 9V là hợp lí nhất nếu không có sẵn nguồn từ cổng USB. Nếu cấp nguồn vượt quá ngưỡng giới hạn trên sẽ làm hỏng Arduino. Arduino có một thạch anh dao động 16MHz hoặc một vài thiết kế chạy với thạch anh 8MHz và không có bộ điều chỉnh điện áp onboard để giảm thiểu kích cỡ thiết bị. Một vi điều khiển Arduino cũng có thể được lập trình sẵn với một boot loader cho phép đơn giản là upload chương trình vào bộ nhớ flash on- chip thông qua IDE có sẵn. So với các thiết bị khác như PIC, 8051 hoặc một số dòng STM32 thường phải cần một bộ nạp (debugger) bên ngoài thì hoàn toàn tiện lợi và đơn giản hơn.
Các mức năng lượng đầu ra của Arduino:
5V: cấp điện áp 5V đầu ra. Dòng tối đa cho phép ở chân này là 500mA. 3.3V: cấp điện áp 3.3V đầu ra. Dòng tối đa cho phép ở chân này là 50mA
40