Mục lục:

TinyLiDAR cho IoT: 3 bước
TinyLiDAR cho IoT: 3 bước

Video: TinyLiDAR cho IoT: 3 bước

Video: TinyLiDAR cho IoT: 3 bước
Video: Lesson 80: How to measure distance with VL53L0X GY-530 laser distance meter for Arduino 2024, Tháng bảy
Anonim
TinyLiDAR cho IoT
TinyLiDAR cho IoT

Nếu quan sát xung quanh, bạn sẽ nhận thấy rất nhiều thiết bị nhỏ thông minh đang được sử dụng trong cuộc sống hàng ngày. Chúng thường chạy bằng pin và thường được kết nối với Internet (hay còn gọi là 'đám mây') bằng cách nào đó. Đây là tất cả những gì chúng ta gọi là thiết bị 'IoT' và chúng đang nhanh chóng trở nên phổ biến trên thế giới ngày nay.

Đối với các Kỹ sư Hệ thống IoT, rất nhiều nỗ lực thiết kế được dành cho việc tối ưu hóa mức tiêu thụ điện năng. Tất nhiên, lý do cho điều này là do dung lượng pin có hạn. Thay pin với số lượng lớn ở các vùng sâu vùng xa có thể là một đề xuất rất tốn kém.

Vì vậy, hướng dẫn này là tất cả về tối ưu hóa sức mạnh trong tinyLiDAR.

Tóm tắt TL; DR

Chúng tôi có chế độ đo "Thời gian thực" mới (kể từ chương trình cơ sở 1.4.0) để giúp tối đa hóa thời gian chạy của pin trong các thiết bị IoT.

Ép thêm nước trái cây từ pin

Một cách trực quan, chúng ta có thể tăng thời gian chạy bằng cách giảm mức tiêu thụ điện năng của các thiết bị IoT. Được rồi, vậy đó là điều hiển nhiên! Nhưng làm thế nào bạn có thể làm điều này một cách hiệu quả và tính toán đúng thời gian chạy dự kiến? Hãy cùng tìm hiểu…

Bước 1: Năng lượng tinh khiết

Có nhiều cách để làm điều này nhưng chúng tôi muốn chia nhỏ nó thành những điều cơ bản và chuyển đổi mọi thứ thành năng lượng. Năng lượng điện được đo bằng Joules (ký hiệu J) và theo định nghĩa:

Một Joule là năng lượng bị tiêu tán dưới dạng nhiệt khi dòng điện có cường độ một amp đi qua điện trở một ôm trong thời gian một giây.

Vì năng lượng (E) cũng là điện áp (V) x điện tích (Q), nên ta có:

E = V x Q

Q là Hiện tại (I) x thời gian (T):

Q = I x T

Vì vậy, năng lượng trong Joules có thể được biểu thị bằng:

E = V x I x T

trong đó V là điện áp, I là cường độ dòng điện tính bằng Amps và T là thời gian tính bằng giây.

Giả sử chúng ta có một bộ pin được tạo thành từ bốn pin kiềm AA (LR6) mắc nối tiếp. Điều này sẽ cung cấp cho chúng tôi tổng điện áp khởi động là 4 * 1.5v = 6v. Thời hạn sử dụng đối với pin AA kiềm là khoảng 1,0v vì vậy điện áp trung bình sẽ là khoảng 1,25v. Theo bảng dữ liệu mfr "Công suất phân phối phụ thuộc vào tải áp dụng, nhiệt độ hoạt động và điện áp cắt." Vì vậy, chúng tôi có thể giả định khoảng 2000mAhr hoặc tốt hơn cho một ứng dụng tiêu hao thấp như thiết bị IoT.

Do đó, chúng tôi có thể tính toán rằng chúng tôi có 4 ô x 1,25V mỗi ô x 2000mAhr * 3600 giây = 36000 J năng lượng có sẵn từ bộ pin này trước khi phải thay thế.

Để tính toán đơn giản hơn, chúng tôi cũng có thể giả định hiệu suất chuyển đổi là 100% đối với bộ điều chỉnh hệ thống của chúng tôi và bỏ qua mức tiêu thụ điện năng của bộ điều khiển máy chủ.

Một lời về đi xe đạp

Không, không phải kiểu bạn cưỡi! Có một vài khái niệm kỹ thuật được gọi là "Đạp xe điện" và "Đạp xe ngủ". Cả hai đều có thể được sử dụng để giảm mức tiêu thụ điện năng nhưng có sự khác biệt giữa hai loại. Phương pháp đầu tiên liên quan đến việc tắt thiết bị của bạn cho đến khi cần thiết và sau đó chỉ bật thiết bị trong một thời gian ngắn để thực hiện phép đo. khoảng thời gian không nhỏ để khởi động sao lưu và đốt cháy năng lượng trong khi làm như vậy.

Khái niệm thứ hai liên quan đến việc chỉ giữ thiết bị ở chế độ ngủ với hy vọng nó sẽ thức dậy nhanh hơn nhưng bạn sẽ đốt cháy một lượng dòng điện hữu hạn khi nó đang ngủ. Vì vậy, cái nào là tốt nhất để sử dụng?

Nó phụ thuộc vào tần suất bạn cần thức dậy.

Bước 2: Chạy số

Chúng tôi muốn tìm tổng năng lượng (E) được chuẩn hóa thành 1 giây cho mỗi bối cảnh được liệt kê bên dưới.

Trường hợp A: Tc = 1 giây; đo khoảng cách sau mỗi giây Trường hợp B: Tc = 60 giây; đo khoảng cách mỗi phút. Trường hợp C: Tc = 3600 giây; đo khoảng cách mỗi giờ.

Để làm điều này, chúng ta có thể nói Tc là thời gian chu kỳ cho các phép đo của chúng tôi, tấn thời gian hoạt động và tắt thời gian không hoạt động và sắp xếp lại các công thức năng lượng của chúng tôi như được hiển thị ở đây:

Hình ảnh
Hình ảnh

Đối với tinyLiDAR, thời gian khởi động là khoảng 300ms hoặc ít hơn và trong thời gian này sẽ mất trung bình 12,25mA khi hoạt động từ nguồn cung cấp 2,8v được quy định. Do đó, nó sẽ tiêu tốn khoảng 10,3mJ năng lượng cho mỗi lần khởi động.

Dòng điện ngủ / yên cho tinyLiDAR là 3uA cực thấp. Con số này thấp hơn nhiều so với tỷ lệ tự xả hàng tháng 0,3% của một bộ pin kiềm, vì vậy chúng tôi sẽ chỉ khảo sát bằng cách sử dụng phương pháp "đi xe đạp khi ngủ" ở đây.

Tại sao không phân phối với micro và chuyển trực tiếp đến cảm biến VL53?

Câu trả lời cho điều này không hoàn toàn rõ ràng. Trong những ngày đầu phát triển điện thoại thông minh, chúng ta đã biết rằng việc giữ cho bộ xử lý tốc độ cao luôn hoạt động để phát nhạc mp3 là một phương pháp chắc chắn để giảm thời lượng pin. Ngay cả khi đó, chúng tôi đã cố gắng hết sức để sử dụng "bộ xử lý ứng dụng" công suất thấp hơn cho các nhiệm vụ ngoại vi như chơi nhạc. Ngày nay nó không khác nhiều và trên thực tế, bạn có thể nói nó thậm chí còn quan trọng hơn khi chúng tôi thu nhỏ tất cả các thiết bị IoT này với mọi dung lượng pin giảm dần. Vì vậy, việc sử dụng bộ xử lý ứng dụng năng lượng cực thấp cho nhiệm vụ duy nhất là điều khiển cảm biến VL53 và cung cấp dữ liệu sẵn sàng để xử lý tiếp là tài sản nhất định đối với bất kỳ ứng dụng chạy bằng pin nào.

Chế độ đo tinyLiDAR

Nó có thể không được rõ ràng trong hướng dẫn sử dụng tại thời điểm này [nhưng sẽ có một số thời điểm vì chúng tôi luôn cập nhật hướng dẫn sử dụng của mình:)] - thực tế có 3 chế độ đo khác nhau trong tinyLiDAR.

Chế độ MC

Ngay từ khi ra đời tinyLiDAR, chúng tôi đã bị ám ảnh bởi việc cố gắng có được các phép đo nhanh hơn từ cảm biến VL53 ToF. Vì vậy, chúng tôi đã tối ưu hóa chương trình cơ sở của mình để nhận dữ liệu phát trực tuyến nhanh nhất và nhất quán từ nó. Điều này liên quan đến việc giới thiệu bộ đệm. Một chút bộ đệm là một điều tốt vì nó cho phép bộ điều khiển máy chủ (tức là Arduino) lấy dữ liệu đo của nó trong nháy mắt và chuyển sang những thứ quan trọng hơn. Do đó, bộ đệm là hoàn toàn cần thiết và do đó, chúng tôi có thể đạt được tốc độ phát trực tuyến vượt quá 900Hz ngay cả trên Arduino UNO tương đối chậm. Do đó, thời gian phản hồi nhanh nhất sẽ là khi sử dụng MC hoặc chế độ "liên tục" của tinyLiDAR.

BTW, nếu có cơ hội, bạn nên kết nối cáp nối tiếp với chân đầu ra TTY trên tinyLiDAR và bạn sẽ thấy chế độ MC này hoạt động như thế nào. Theo nghĩa đen, nó thực hiện phép đo nhanh nhất có thể và khi làm như vậy, nó sẽ lấp đầy bộ đệm I2C với dữ liệu mới nhất tuyệt đối. Thật không may, vì nó đang chạy ở tốc độ tối đa, nó cũng đang đốt cháy lượng điện năng tối đa. Xem bên dưới để biết biểu đồ hiện tại so với thời gian của chế độ MC này.

Hình ảnh
Hình ảnh

Chế độ SS

Chế độ tiếp theo là những gì chúng tôi gọi là "SS" cho chế độ "một bước". Về cơ bản đây là chế độ hiệu suất cao tương tự ở trên nhưng thay vào đó trong một vòng lặp bước duy nhất. Vì vậy, bạn có thể nhận được phản hồi nhanh từ tinyLiDAR nhưng dữ liệu sẽ lấy từ mẫu trước nên bạn sẽ phải thực hiện hai phép đo để có được dữ liệu mới nhất. Xem bên dưới để biết biểu đồ hiện tại so với thời gian của chế độ SS này.

Hình ảnh
Hình ảnh

Cả hai chế độ trên đều phù hợp với hóa đơn cho hầu hết người dùng vì chúng nhanh chóng và dễ sử dụng - chỉ cần ra lệnh "D" và đọc kết quả. Tuy vậy …

Tiến tới thế giới IoT, nơi mỗi mili-Joule đều có giá trị, chúng tôi có một mô hình mới.

Và nó hoàn toàn ngược lại với những gì chúng ta đã mã hóa trong tinyLiDAR! Đối với thế giới IoT, chúng tôi cần các phép đo đơn lẻ trong khoảng thời gian không thường xuyên để tiết kiệm năng lượng và kéo dài thời gian chạy.

Chế độ RT

Thật hạnh phúc, bây giờ chúng tôi có thể nói rằng chúng tôi có giải pháp cho tình huống này kể từ phần sụn 1.4.0. Nó được gọi là chế độ "RT" cho các phép đo "thời gian thực". Và về cơ bản nó thực hiện một phương pháp kích hoạt, chờ và đọc. Để sử dụng, bạn vẫn có thể ra lệnh "D" để bắt đầu đo, nhưng đối với chế độ RT này, bạn phải đợi một khoảng thời gian thích hợp để quá trình đo kết thúc rồi mới đọc kết quả. tinyLiDAR tự động chuyển sang trạng thái tĩnh thấp nhất trong các mẫu dưới 3uA ở giữa các mẫu. Nó thực sự vẫn còn đơn giản để sử dụng và thậm chí còn tiết kiệm năng lượng hơn vì bạn chỉ phải thực hiện một phép đo thay vì hai lần để nhận dữ liệu mới nhất, tức là không đệm.

Xem bên dưới để biết biểu đồ hiện tại so với thời gian của chế độ RT mới này.

Hình ảnh
Hình ảnh

Bước 3: Các phép đo thực tế

Sử dụng chế độ liên tục MC cho các phép đo IoT không thường xuyên không có ý nghĩa gì vì chúng ta chỉ cần các phép đo đơn lẻ. Do đó, chúng tôi có thể tập trung sự chú ý của mình vào chế độ SS và RT. Vận hành tinyLiDAR từ nguồn cung cấp được quy định + 2,8v mang lại cho chúng tôi mức tiêu tán điện năng thấp nhất. Vì vậy, khi sử dụng cài đặt trước Độ chính xác cao (200ms), chúng tôi đã đo mức tiêu thụ năng lượng sau đây trên tinyLiDAR:

Chế độ SS / một bước: 31,2 mJ trung bình qua 2 phép đo

RT / chế độ thời gian thực: 15,5mJ trung bình trên 1 lần đo

Cắm các giá trị trên vào công thức năng lượng của chúng tôi và chuẩn hóa thành một giây, chúng tôi có thể tìm thấy kỳ vọng thời gian chạy giả sử năng lượng từ bộ pin của chúng tôi là 36000 J.

Trường hợp A: đọc mỗi giây (thực hiện 2 lần đọc để nhận dữ liệu mới nhất) Tc = 1secTon = 210ms mỗi lần đọc x 2 lần đọc Toff = Tc - Ton = 580msIon (avg) = 26,5mA mỗi lần đọc Ioff (avg) = 3uA tĩnh hiện tại Vcc = Điện áp cung cấp 2,8V Năng lượng hoạt động do tải tiêu thụ tính bằng Joules là Eon = Vcc x Ion x Ton = 2,8V x 26,5mA * 420ms = 31,164mJ Năng lượng không hoạt động do tải tiêu thụ tính bằng Joules là Eoff = Vcc x Ioff x Toff = 2,8V x 3uA x 580ms = 4.872uJ Chuẩn hóa thành TcE = (Eon + Eoff) / Tc = (31.164mJ + 4.872uJ) / 1 = 31.169mJ hoặc 31.2mJ mỗi giây Thời gian chạy tính bằng giây do đó tổng năng lượng của nguồn / năng lượng tiêu thụ là 36000J / 31,2mJ = 1155000 giây = 320 giờ = 13,3 ngày

Lặp lại các tính toán này, chúng ta có thể tìm thấy thời gian chạy cho các tình huống khác:

Chế độ SS

Trường hợp A: 2 lần đọc mỗi giây. Năng lượng chuẩn hóa là 31,2mJ. Do đó thời gian chạy là 13,3 ngày.

Trường hợp B: 2 lần đọc mỗi phút. Năng lượng chuẩn hóa là 528uJ. Do đó thời gian chạy là 2,1 năm.

Trường hợp C: 2 lần đọc mỗi giờ. Năng lượng chuẩn hóa là 17uJ. Thời gian chạy được tính là >> 10 năm, do đó tải do tinyLiDAR là không đáng kể. Do đó, bộ pin sẽ chỉ bị giới hạn bởi thời hạn sử dụng của nó (tức là khoảng 5 năm)

Chế độ RT

Trường hợp A: 1 lần đọc mỗi giây. Năng lượng chuẩn hóa là 15,5mJ. Do đó thời gian chạy là 26,8 ngày.

Trường hợp B: 1 lần đọc mỗi phút. Năng lượng chuẩn hóa là 267uJ. Do đó thời gian chạy là 4,3 năm.

Trường hợp C: 1 lượt đọc mỗi giờ. Năng lượng chuẩn hóa là 12,7uJ. Thời gian chạy được tính là >> 10 năm, do đó tải do tinyLiDAR là không đáng kể. Do đó, bộ pin sẽ chỉ bị giới hạn bởi thời hạn sử dụng của nó (tức là khoảng 5 năm)

Do đó, chế độ Thời gian thực mới sử dụng chu kỳ ngủ là một lợi ích ở đây để kéo dài thời gian chạy qua 4 năm nếu một phép đo được thực hiện mỗi phút như được hiển thị trong Trường hợp B.

Lưu ý rằng mức tiêu thụ năng lượng của bộ điều khiển máy chủ không được tính đến trong phân tích này và thông số kỹ thuật của bộ pin vẫn ở khía cạnh thận trọng. Bạn có thể tìm thấy nhiều loại pin mạnh hơn như mong muốn để phù hợp với nhu cầu của mình.

Cảm ơn bạn đã đọc và luôn theo dõi vì chúng tôi sẽ cung cấp một ví dụ IoT hoạt động bằng cách sử dụng tinyLiDAR cho hướng dẫn tiếp theo của chúng tôi. Chúc mừng!

Đề xuất: