Giới thiệu điện toán không sử dụng pin

1. Giới thiệu 

Chúng ta sử dụng pin trong hầu hết các thiết bị hàng ngày: thiết bị di động, máy tính xách tay, điều khiển từ xa ... Nhu cầu sử dụng pin ngày càng tăng lên, ước tính có 3000 tỷ thiết bị sử dụng pin đến năm 2030. Việc chôn lấp số lượng lớn pin sẽ gây ô nhiễm môi trường nghiêm trọng. Do vậy, việc phát triển những thiết bị điện toán nhỏ (embedded system) mà có khả năng tự thu hoạch năng lượng là cần thiết để giảm tải việc dùng pin, là một cách bảo vệ môi trường sống cho thế hệ tương lai. 

 2. Điện toán không sử dụng pin là gì? 

 Điện toán không sử dụng pin là những hệ thống nhỏ có khả năng tự thu hoạch năng lượng từ môi trường xung quanh để cung cấp điện năng và chạy các tác vụ điện toán. Các nguồn năng lượng mà hệ thống có thể thu hoạch được: gió, mặt trời, rung động, hơi nóng... Tại một thời điểm có thể nguồn năng lượng thu được không đủ để nuôi hệ thống, do đó khi thu hoạch được thì mạch điện sẽ sạc vào một siêu tụ điện (vài mF đến vài F), đến khi tụ đầy thì mới bật mạch chạy. Tuy nhiên khi nguồn năng lượng thu hoạch được lớn hơn nhu cầu của mạch điện thì việc sạc đầy mạch diễn ra nhanh chóng, sau đó mạch sẽ dùng trực tiếp từ nguồn không thông qua siêu tụ điện.

3. Kiến trúc cơ bản hệ thống không dùng pin



Hai thành phần quan trọng của điện toán không dùng pin là Vi điều khiển sử dụng điện năng thấp (Low-power microcontroller) và một mạch điện thu hoạch năng lượng. Tùy vào ứng dụng cụ thể, chúng ta có thể thêm các sensor (nhiệt độ, độ ẩm, độ pH, impedance, differental sensing voltage, ...) và các chuẩn kết nối không dây (Bluethooth Lower Energy, Wifi, Longrange Communication (LoRa),...).

4. Một số hệ thống điện toán không dùng pin tiêu biểu





4.1 BFree: Enabling Battery-free Sensor Prototyping with Python

Đây là một framework đầu tiên cho phép lập trình viên phát triển các ứng dụng không dùng pin sử dụng ngôn ngữ phổ biến nhất thế giới hiện nay là Python. Phần cứng dựa vào các thành phần có sẵn trên thị trường và dành cho người đam mê điện tử lập trình, tiêu biểu như:  Adafruit Metro M0 board. Lập trình viên sự dụng ngôn ngữ Python để viết code của mình, nhưng khi chạy code này sẽ được dịch sang C/C++ để chạy. Việc dịch từ Python sang C/C++ lúc chạy nhằm bảo đảm chương trình chạy đúng (tắt chỗ nào thì chạy là từ chỗ đó, và bảo vệ được dữ liệu khi  nguồn năng lượng đột ngột hết).  Công việc này được hoàn thành vởi framework và người dùng chỉ cần tập trung vào viết code Python.

4.2 Robot

4.3 Máy chơi game

Sử dụng năng lượng mặt trời và rung động từ nút nhấn của người chơi



4.4 Điện thoại di động không dùng pin

Phát triển bởi đại học Washington, US

4.5 Camera Stream không dùng pin




5. Các thách thức khi thiết kế hệ thống không dùng pin

Thách thức chính của các thiết bị không dùng pin là chương trình chạy sẽ bị ngắt quãng, vì thường nguồn năng lượng thu hoạch được hầu hết là không ổn định. Nói cách khác, chương trình sẽ bị dừng tại bất cứ dòng code nào và không thể đoán được, dẫn đến việc phục hồi chương trình tại thời điểm bị dừng, và dữ liệu của chương trình (trong RAM và FRAM) là một nhiệm vụ rất khó khăn.

Thách thức thứ hai là sử dụng tối ưu nguồn năng lượng thu hoạch được. Một số hệ thống việc thực hiện tác vụ bị ngắt quãng giữa chừng mà không có cách nào nhớ được chính xác chỗ nào bị ngắt quãng, do vậy phải bắt đầu từ lúc có thể nhớ gần nhất. Cách thứ hai là chạy đến đâu thì mark (ghi sổ) chổ đó, cách này đảm bảo chương trình quay lại đúng chỗ bị ngắt nhưng bị hao phí nhiều vì phải nhớ tất cả các bước khi chạy chương trình.

Tổng hợp bởi
Tuan Dang

Tham khảo 
[1] https://www.popsci.com/science/brilliant-scientists-2021/ 
[2] Reliable Timekeeping for Intermittent Computing,  https://josiahhester.com/cv/files/btks-asplos20.pdf
[3]Bfree, https://josiahhester.com/cv/files/bfree-camera.pdf
[4] Adafruit Metro M0 board, https://www.adafruit.com/product/3505
[5] http://josiahhester.com/cv/files/inksensys2018.pdf
[6] https://dl.acm.org/doi/pdf/10.1145/3090090
[7] https://ieeexplore.ieee.org/iel7/8716291/8719091/08719264.pdf

Comments