Mục lục:
- Bước 1: Những thứ bạn cần
- Bước 2: Xây dựng mạch và điện
- Bước 3: Hệ số thăm dò
- Bước 4: Phần mềm cơ sở
- Bước 5: Ứng dụng điện thoại thông minh
- Bước 6: Bao vây
- Bước 7: Cài đặt PC và cấu hình Bluetooth
- Bước 8: Kết luận
Video: Nhiệt kế Bluetooth: 8 bước
2024 Tác giả: John Day | [email protected]. Sửa đổi lần cuối: 2024-01-30 13:33
Hướng dẫn này trình bày chi tiết việc chế tạo một nhiệt kế 2 kênh đơn giản bằng cách sử dụng đầu dò nhiệt điện trở 100K, một mô-đun Bluetooth và điện thoại thông minh. Mô-đun Bluetooth là LightBlue Bean được thiết kế để đơn giản hóa việc phát triển ứng dụng Bluetooth Low Energy bằng cách sử dụng môi trường Arduino quen thuộc để lập trình mô-đun.
Sau một hồi loay hoay tìm cách lấy dữ liệu nhiệt độ từ mô-đun Bluetooth đến iPhone của mình, tôi đã tìm thấy một ứng dụng có tên là EvoThings giúp đơn giản hóa đáng kể khía cạnh phát triển ứng dụng của dự án. Tôi không có máy Mac (tôi biết thật sốc!), Điều này hạn chế khả năng phát triển ứng dụng iPhone của tôi và tôi không có thời gian để giải mã các công cụ mới của Microsoft, rõ ràng là hỗ trợ phát triển đa nền tảng cho iOS và Android. Tôi đã thực hiện một số ứng dụng kiểu HTML5 nhưng cách duy nhất để truy cập dữ liệu Bluetooth là thông qua các plugin cho Cordova, trông giống như một thử thách hơn tôi đã có thời gian. EvoThings cung cấp một bộ công cụ rất dễ sử dụng đã biến thử thách Bluetooth với iPhone thành một cuộc thử thách bánh bèo. Và tôi thích bánh ngọt!
Nhìn chung, tôi thấy sự kết hợp giữa Lightblue Bean và EvoThings là một giải pháp rất thiết thực với mức đầu tư thời gian thấp.
Bước 1: Những thứ bạn cần
Tôi đã sử dụng một đầu dò nhiệt điện trở bán sẵn trên thị trường cho một kênh vì tôi muốn nhiệt điện trở được hàn kín để nhúng vào chất lỏng. Đối với kênh thứ hai, tôi đã tạo một đầu dò cơ bản từ một điện trở nhiệt, một số dây đo 26 và một phích cắm tai nghe 3,5 mm. Bạn có thể tự do sử dụng bất kỳ điện trở nhiệt nào bạn muốn và bạn có thể tự chế tạo đầu dò từ epoxy dẫn nhiệt và ống hút nhựa / dụng cụ khuấy cà phê chẳng hạn. Những gì sau đây là những gì tôi đã sử dụng - nó không phải là một danh sách kê đơn!
Phần cứng
- 1 x 100K đầu dò nhiệt điện trở. Mô hình Extech TP890. Chúng thường có sẵn trên ebay và amazon.
- Giắc cắm âm thanh nổi 2 x 2,5 mm phù hợp với phích cắm 2,5 mm trên đầu dò Extech. Tôi đã tìm kiếm các giắc cắm 3,5 mm từ một máy tính cũ nên tôi đã cắt đầu cắm của đầu dò Extech và thay thế bằng phích cắm 3,5 mm. Bạn nên tránh điều này bằng cách chỉ sử dụng giắc cắm 2,5 mm hoặc sử dụng phích cắm bộ chuyển đổi âm thanh nổi 2,5 mm sang 3,5 mm không có sẵn.
- Hạt nhiệt điện trở 100K cộng với 26 dây đo cộng với phích cắm âm thanh nổi 3,5 mm nếu bạn muốn tạo đầu dò của riêng mình. Nếu không, hãy mua một đầu dò Extech thứ hai!
- 1 x Lightblue Bean của Punch Through Designs. Đây là mô-đun Bluetooth có thể lập trình như một bảng phát triển Arduino. Mô-đun này hơi đắt tiền nhưng nó loại bỏ rất nhiều sự phức tạp. Họ đang chạy một chiến dịch Kickstarter cho thiết bị thế hệ tiếp theo có thể đáng được xem xét.
- Điện trở 2 x 1 / 4W 100K được sử dụng để phân chia điện áp tham chiếu cho các nhiệt điện trở. Tôi đã sử dụng điện trở 5% nhưng điện trở có dung sai cao hơn thường ít nhạy cảm với nhiệt độ hơn và sẽ cung cấp hiệu suất tốt hơn. 1% là một giá trị dung sai tốt cho điều này.
- Hàn sắt và thuốc hàn
- Kìm cắt dây và một số sợi dây dài cỡ nhỏ 26 hoặc 28 khổ.
Phần mềm và chương trình cơ sở
- Để lập trình Bean, bạn sẽ cần ứng dụng Bean Loader. Tôi đã sử dụng các cửa sổ nên tất cả các liên kết sẽ dành riêng cho Windows. Mọi thứ bạn cần để bắt đầu với Bean bao gồm các chi tiết cụ thể về Arduino đều có sẵn từ trang LightBlueBean
- Bàn làm việc EvoThings cho ứng dụng điện thoại thông minh có sẵn tại đây. Tất cả tài liệu "bắt đầu" cũng có sẵn ở đó. Nó được ghi lại rất đầy đủ.
Bước 2: Xây dựng mạch và điện
Một nhiệt điện trở là một điện trở phụ thuộc nhiệt độ. Đầu dò Extech có hệ số nhiệt độ âm có nghĩa là khi nhiệt độ tăng, điện trở giảm. Giá trị điện trở được đo bằng một mạch đơn giản tạo ra một bộ chia điện áp với nhiệt điện trở ở một chân và một điện trở cố định 100K ở chân kia. Điện áp đã chia được đưa vào một kênh Đầu vào Tương tự trên Bean và được lấy mẫu trong phần sụn.
Để xây dựng mạch, tôi đã tìm kiếm các giắc cắm âm thanh 3,5 mm từ một chiếc PC cũ bị hỏng. Một đồng hồ vạn năng được sử dụng để xác định hai điểm trên PCB tương ứng với đầu và dải đầu tiên của đầu dò. Các dây được hàn vào giắc cắm âm thanh và Bean như trong hình ảnh. Các giắc cắm âm thanh đã được dán vào khu vực nguyên mẫu của Bean bằng băng keo hai mặt. Băng keo mà tôi sử dụng là băng keo dán decal cấp ô tô tạo liên kết rất chắc chắn giữa các bộ phận cần kéo.
Bước 3: Hệ số thăm dò
Cũng phổ biến như thăm dò Extech, hệ số Steinhart-Hart không được công bố ở bất kỳ đâu mà tôi có thể tìm thấy. May mắn thay, có một máy tính trực tuyến sẽ xác định các hệ số từ 3 phép đo nhiệt độ mà bạn cung cấp.
Những gì foillows là thủ tục cơ bản tôi đã sử dụng để đi đến các hệ số. Sẽ không kiếm được bất kỳ điểm nào về phong cách nhưng đủ tốt để khiến bạn nói chính xác +/- 1 độ (tôi hoàn toàn thích thú)…. tất nhiên tùy thuộc vào độ chính xác của nhiệt kế tham chiếu và đồng hồ vạn năng của bạn! Đồng hồ vạn năng của tôi là một đơn vị giá rẻ không có thương hiệu, tôi đã mua nhiều năm trước đây khi tiền eo hẹp. Tiền còn eo hẹp mà vẫn hoạt động được!
Để hiệu chỉnh, chúng tôi cần ba số đọc điện trở từ 3 nhiệt độ.
- Gần đóng băng bằng cách thêm đá vào cốc nước và khuấy cho đến khi nhiệt độ ổn định. Khi đã ổn định, sử dụng đồng hồ đa năng để ghi lại điện trở của đầu dò và nhiệt kế tham chiếu để ghi lại nhiệt độ..
- Bây giờ đặt đầu dò vào một cốc nước ở nhiệt độ phòng, để đầu dò cân bằng với nhiệt độ nước và ghi lại nhiệt độ trên nhiệt kế tham chiếu của bạn và số đo điện trở trên đồng hồ đa năng của bạn.
-
Đặt đầu dò vào một cốc nước nóng và ghi lại điện trở.
Nhiệt độ Chống lại 5.6 218 nghìn 21.0 97,1 nghìn 38.6 43.2
Toàn bộ quá trình này là một chút tình huống gà và trứng vì bạn cần một nhiệt kế đã hiệu chuẩn để ghi lại nhiệt độ và một đồng hồ đa năng đã được hiệu chuẩn để ghi lại điện trở. Các sai sót ở đây sẽ dẫn đến việc đo nhiệt độ bạn thực hiện không chính xác nhưng đối với mục đích của tôi, +/- 1 độ là nhiều hơn mức tôi cần.
Việc cắm các giá trị đã ghi này vào máy tính web sẽ mang lại kết quả sau:
Các hệ số (A, B và C) được gắn vào phương trình Stenhart-Hart để xác định nhiệt độ từ giá trị điện trở được lấy mẫu. Phương trình được định nghĩa là (nguồn: wikipedia.com)
Trong đó T = Nhiệt độ tính bằng Kelvin
A, B và C là các hệ số của phương trình Steinhart-Hart mà chúng tôi đang cố gắng xác định R là điện trở ở nhiệt độ T
Phần sụn sẽ thực hiện phép tính này.
Bước 4: Phần mềm cơ sở
Các điện áp nhiệt điện trở được lấy mẫu, chuyển đổi thành nhiệt độ và gửi qua Bluetooth đến ứng dụng EvoThings chạy trên điện thoại thông minh.
Để chuyển đổi điện áp thành giá trị điện trở trong Bean, một phương trình tuyến tính đơn giản được sử dụng. Đạo hàm của phương trình được cung cấp dưới dạng hình ảnh. Thay vì chuyển đổi giá trị được lấy mẫu thành điện áp, vì cả ADC và điện áp đầu vào đều được tham chiếu đến cùng một điện áp pin, chúng ta có thể sử dụng giá trị ADC thay cho điện áp. Đối với Bean ADC 10bit, điện áp pin đầy sẽ dẫn đến giá trị ADC là 1023, vì vậy chúng tôi sử dụng giá trị này làm Vbat. Giá trị thực tế của điện trở bộ chia là một điều quan trọng cần xem xét. Đo giá trị thực của điện trở bộ chia 100K và sử dụng giá trị đo được trong phương trình để tránh nguồn sai số không đáng có do dung sai điện trở.
Sau khi giá trị điện trở được tính toán, giá trị điện trở được chuyển đổi thành nhiệt độ bằng cách sử dụng phương trình Steinhart-Hart. Phương trình này được mô tả chi tiết trên Wikipedia.
Vì chúng ta có 2 đầu dò, nên đóng gói chức năng thăm dò vào một lớp C ++ là rất hợp lý.
Lớp này đóng gói các hệ số phương trình Steinhart-Hart, giá trị điện trở bộ chia danh định và cổng tương tự mà nhiệt điện trở được kết nối. Một phương pháp duy nhất, nhiệt độ (), chuyển đổi giá trị ADC thành giá trị điện trở và sau đó sử dụng phương trình Steinhart-Hart để xác định nhiệt độ tính bằng Kelvin. Giá trị trả về trừ độ không tuyệt đối (273,15K) từ nhiệt độ được tính toán để cung cấp giá trị tính bằng độ C.
Sức mạnh của Lightblue Bean thể hiện rõ ở chỗ tất cả các chức năng Bluetooth về cơ bản được thực hiện trong 1 dòng mã ghi các giá trị nhiệt độ được lấy mẫu vào vùng dữ liệu đầu trên bộ nhớ Bluetooth.
Bean.setScratchData (TEMPERATURE_SCRATCH_IDX, (uint8_t *) & nhiệt độ [0], 12);
Mỗi giá trị nhiệt độ được lấy mẫu được biểu diễn bằng một phao chiếm 4 byte. Vùng dữ liệu đầu có thể chứa 20 byte. Chúng tôi chỉ sử dụng 12 trong số đó. Có 5 vùng dữ liệu cào để bạn có thể chuyển tối đa 100 byte dữ liệu bằng cách sử dụng dữ liệu cào.
Luồng cơ bản của các sự kiện là:
- Kiểm tra xem chúng tôi có kết nối Bluetooth không
- Nếu vậy, hãy lấy mẫu nhiệt độ và ghi chúng vào vùng dữ liệu đầu
- Ngủ 200ms và lặp lại chu kỳ.
Nếu không được kết nối, phần sụn sẽ đặt chip ATMEGA328P ở trạng thái ngủ trong một thời gian dài. Chu kỳ ngủ rất quan trọng để bảo tồn điện năng. Chip ATMEGA328P chuyển sang chế độ năng lượng thấp và ở đó cho đến khi bị ngắt bởi mô-đun Bluetooth LBM313. LBM313 sẽ tạo ra một ngắt để đánh thức ATMEGA328P vào cuối thời gian ngủ được yêu cầu hoặc bất cứ khi nào kết nối Bluetooth được thực hiện với Bean. Chức năng WakeOnConnect được kích hoạt bằng cách gọi rõ ràng Bean.enableWakeOnConnect (true) trong khi thiết lập ().
Điều quan trọng cần lưu ý là phần sụn sẽ hoạt động với bất kỳ ứng dụng khách BLE nào. Tất cả những gì khách hàng cần làm là tách các byte nhiệt độ khỏi ngân hàng dữ liệu đầu và tập hợp chúng lại thành các số dấu phẩy động để hiển thị hoặc xử lý. Ứng dụng khách hàng dễ nhất đối với tôi là sử dụng EvoThings.
Bước 5: Ứng dụng điện thoại thông minh
Ứng dụng mẫu Evo Things rất gần với những gì tôi cần chỉ với nỗ lực nhỏ cần thêm các phần tử hiển thị bổ sung để hoàn thành thiết bị đo nhiệt độ 3 kênh.
Quá trình cài đặt và hoạt động cơ bản của nền tảng EvoThings được ghi lại rất đầy đủ trên trang web Evo Things nên không có giá trị gì khi nhắc lại điều đó ở đây. Tất cả những gì tôi sẽ đề cập ở đây là những thay đổi cụ thể mà tôi đã thực hiện đối với mã mẫu của chúng để hiển thị 3 kênh thông tin nhiệt độ, được trích xuất từ vùng dữ liệu cào Bluetooth.
Sau khi bạn đã cài đặt EvoThings Workbench, bạn sẽ tìm thấy ví dụ Lightblue Bean tại đây (trên máy tính Windows 64 bit):
ThisPC / Documents / EvothingsStudio_Win64_1. XX / Examples / Lightblue-bean-basic / app
Bạn có thể thay thế các tệp index.html và app.js bằng các tệp được đính kèm trong bước này. Các thay đổi được thực hiện đối với tệp jacascript trích xuất 3 giá trị nhiệt độ dấu phẩy động tạo thành vùng dữ liệu đầu và lên HTML bên trong của các phần tử mới được tạo trong tệp HTML.
function onDataReadSuccess (dữ liệu) {
var nhiệt độData = new Float32Array (dữ liệu);
var bytes = new Uint8Array (dữ liệu);
var nhiệt độ = nhiệt độData [0];
console.log ('Nhiệt độ đọc:' + nhiệt độ + 'C');
document.getElementById ('heatAmbient'). innerHTML = heatData [0].toFixed (2) + "C °";
document.getElementById ('heat1'). innerHTML = heatData [1].toFixed (2) + "C °";
document.getElementById ('heat2'). innerHTML = heatData [2].toFixed (2) + "C °";
}
Bước 6: Bao vây
Bao vây là một hộp được in 3D đơn giản. Tôi đã sử dụng Thiết kế Lập thể để tạo thiết kế nhưng bất kỳ chương trình mô hình 3D nào cũng đủ. Tệp STL được đính kèm để bạn tự in. Nếu phải làm lại, tôi sẽ làm cho các bức tường dày hơn một chút so với hiện tại và thay đổi thiết kế kẹp giữ bảng đúng vị trí. Các kẹp rất dễ bị vỡ do ứng suất nằm trong mặt phẳng smae như các lớp in 3D, đây là định hướng yếu nhất đối với các bộ phận được in 3D. Các bức tường rất mỏng nên cơ chế chụp ảnh hơi yếu. Tôi đã sử dụng băng keo trong để giữ hộp đóng lại vì các bức tường quá mỏng manh - không trang nhã nhưng nó hoạt động!
Bước 7: Cài đặt PC và cấu hình Bluetooth
Chu kỳ tải lên và xây dựng chương trình cơ sở cho Bean đều được thực hiện qua Bluetooth. Mỗi lần chỉ có thể có một kết nối Bluetooth đang hoạt động. Bean Loader có sẵn từ Windows App Store
Chu trình cơ bản mà tôi sử dụng để ghép nối và kết nối (và sửa chữa và kết nối lại khi có sự cố) như sau: Từ Bảng điều khiển; / Cài đặt Bluetooth, bạn sẽ thấy màn hình sau:
Cuối cùng các cửa sổ sẽ báo "Sẵn sàng ghép nối". Tại thời điểm này, bạn có thể nhấp vào biểu tượng Bean và sau vài giây, Windows sẽ nhắc bạn nhập mật mã. Mật mã mặc định cho bean là 00000
Nếu mật mã được nhập chính xác, Windows sẽ hiển thị rằng thiết bị được kết nối đúng cách. Bạn phải ở trạng thái này để có thể lập trình Bean.
Sau khi bạn đã ghép nối và kết nối, hãy sử dụng Bean Loader để tải phần sụn vào bean. Tôi thấy điều này thường xuyên bị lỗi hơn không và nó có vẻ liên quan đến sự gần gũi với máy tính của tôi. Di chuyển Bean xung quanh cho đến khi bạn tìm thấy vị trí phù hợp với mình. Đôi khi không có gì hoạt động và Bean Loader sẽ đề xuất ghép nối lại thiết bị. Thông thường, thực hiện lại quá trình ghép nối sẽ khôi phục kết nối. Bạn phải "Xóa thiết bị" trước khi ghép nối lại.
Hoạt động của Bean Loader rất đơn giản và được ghi lại trên trang web của họ. Với Bean Loader đang mở, hãy chọn mục menu "Chương trình" để mở hộp thoại duyệt đến tệp Hex được cung cấp trong bước chương trình cơ sở của hướng dẫn này.
Sau khi tải xong chương trình cơ sở, hãy ĐÓNG Trình tải Bean để kết nối giữa Trình tải Bean và phần cứng Bean bị ngắt. Bạn chỉ có thể có một kết nối tại một thời điểm. Bây giờ, hãy mở bàn làm việc EvoThings và khởi động ứng dụng khách EvoThings trên điện thoại thông minh hoặc máy tính bảng.
Khi bạn nhấp vào nút "Chạy", ứng dụng khách EvoThings sẽ tự động tải trang html cho nhiệt kế. Nhấp vào nút Connect để kết nối với Bean và bạn sẽ thấy nhiệt độ hiển thị. Sự thành công!
Bước 8: Kết luận
Nếu mọi thứ được xây dựng và cấu hình chính xác, bạn sẽ có một hệ thống hoạt động cho phép bạn theo dõi nhiệt độ với 2 đầu dò, cũng như theo dõi nhiệt độ của cảm biến BMA250 trên bảng phát triển Bean. Có thể làm được nhiều hơn thế với EvoThings - Tôi chỉ mới sơ khai nên tôi để lại thử nghiệm này cho bạn! Cảm ơn vì đã đọc! Nếu có gì sai, chỉ cần để lại ý kiến và tôi sẽ giúp đỡ nếu tôi có thể.
Đề xuất:
Đo nhiệt độ bằng XinaBox và nhiệt điện trở: 8 bước
Đo nhiệt độ bằng XinaBox và nhiệt điện trở: Đo nhiệt độ của chất lỏng bằng đầu vào tương tự xChip từ XinaBox và đầu dò nhiệt điện trở
Sử dụng lại tản nhiệt máy tính để tạo tản nhiệt bóng bán dẫn: 7 bước
Sử dụng lại tản nhiệt máy tính để tạo tản nhiệt bóng bán dẫn: Một thời gian trước, tôi đã mua một số Raspberry Pi 3 để sử dụng. Vì chúng không có tản nhiệt nên tôi đã tìm mua một số chiếc. Tôi đã tìm kiếm nhanh trên Google và bắt gặp sản phẩm Có thể hướng dẫn này (Đế tản nhiệt Raspberry Pi) - đây là sau khi từ chối ý tưởng về
Hiển thị nhiệt độ & độ ẩm nhiệt nhiệt - Phiên bản PCB: 6 bước (có hình ảnh)
Hiển thị Nhiệt độ & Độ ẩm Thermochromic - Phiên bản PCB: Cách đây không lâu, một dự án có tên Nhiệt độ Nhiệt & Màn hình độ ẩm nơi tôi đã chế tạo màn hình 7 phân đoạn từ các tấm đồng được làm nóng / làm mát bằng các phần tử peltier. Các tấm đồng được bao phủ bởi một lá mỏng nhiệt sắc
Cách sử dụng cảm biến nhiệt độ DHT11 với Arduino và nhiệt độ in Nhiệt độ và độ ẩm: 5 bước
Cách sử dụng cảm biến nhiệt độ DHT11 với Arduino và nhiệt độ in Nhiệt độ và độ ẩm: Cảm biến DHT11 được sử dụng để đo nhiệt độ và độ ẩm. Họ là những người rất ưa thích đồ điện tử. Cảm biến nhiệt độ và độ ẩm DHT11 giúp bạn thực sự dễ dàng thêm dữ liệu độ ẩm và nhiệt độ vào các dự án điện tử tự làm của mình. Đó là mỗi
Nhiệt kế nấu ăn đầu dò nhiệt độ ESP32 NTP với cảnh báo nhiệt độ và hiệu chỉnh Steinhart-Hart.: 7 bước (có hình ảnh)
Nhiệt kế nấu ăn đầu dò nhiệt độ ESP32 NTP với cảnh báo nhiệt độ và hiệu chỉnh Steinhart-Hart. là một chương trình Có thể hướng dẫn cho thấy cách tôi thêm đầu dò nhiệt độ NTP, piezo b