Mục lục:

Nhiệt kế USB trong nhà / ngoài trời (hoặc 'Thiết bị USB đầu tiên của tôi'): 4 bước (có hình ảnh)
Nhiệt kế USB trong nhà / ngoài trời (hoặc 'Thiết bị USB đầu tiên của tôi'): 4 bước (có hình ảnh)

Video: Nhiệt kế USB trong nhà / ngoài trời (hoặc 'Thiết bị USB đầu tiên của tôi'): 4 bước (có hình ảnh)

Video: Nhiệt kế USB trong nhà / ngoài trời (hoặc 'Thiết bị USB đầu tiên của tôi'): 4 bước (có hình ảnh)
Video: Để ý Em đánh trống 2024, Tháng bảy
Anonim
Nhiệt kế USB trong nhà / ngoài trời (hoặc 'Thiết bị USB đầu tiên của tôi')
Nhiệt kế USB trong nhà / ngoài trời (hoặc 'Thiết bị USB đầu tiên của tôi')

Đây là một thiết kế đơn giản thể hiện thiết bị ngoại vi USB trên PIC 18Fs. Có một loạt các ví dụ về chip 18F4550 40 chân trực tuyến, thiết kế này thể hiện phiên bản 18F2550 28 chân nhỏ hơn. PCB sử dụng các bộ phận gắn kết bề mặt, nhưng tất cả các thành phần đều có sẵn trong các phiên bản lỗ. Tôi sử dụng các bộ phận gắn kết bề mặt vì nó nhanh hơn để tạo ra bảng mà không cần khoan lỗ. Kết quả cuối cùng là một thiết bị ngoại vi USB nhỏ có thể đo nhiệt độ trong nhà / ngoài trời. Dữ liệu có sẵn cho PC thông qua một cổng nối tiếp ảo. Cảm biến nhiệt độ được sử dụng trong ví dụ này, nhưng có thể thêm các cảm biến tương tự khác. đồ thị

Bước 1: Tổng quan về thiết kế

Tổng quan thiết kế
Tổng quan thiết kế
Tổng quan thiết kế
Tổng quan thiết kế
Tổng quan thiết kế
Tổng quan thiết kế

Các thành phần PIC bắt buộc

Thiết bị ngoại vi USB này dựa trên PIC 18F2550 28 chân. Con chip này có mọi thứ cần thiết cho một giao diện USB tốc độ đầy đủ. Một tụ điện 0,1uf giữa nguồn điện và mặt đất tách PIC khỏi nguồn điện. Một tinh thể 20MHz (được sử dụng để tạo xung nhịp bên trong 48MHz) và hai tụ điện 27pf. Một điện trở 10K từ nguồn đến chân MCLR. Tôi đã thêm một diode tương đương 1n4148 giữa điện trở và nguồn để các điện trở 13 + volt đặt trên MCLR trong quá trình lập trình không làm hỏng các thành phần khác trên bảng mạch. Một tiêu đề ICSP (5 chân) được sử dụng để lập trình và gỡ lỗi thiết bị. Nội dung USB bắt buộc Một ổ cắm kiểu chữ ‘B’ USB. Điện dung 220nf-440nf là cần thiết cho bộ điều chỉnh điện áp USB bên trong. Tôi sử dụng hai tụ điện 0,1uf (giống như được sử dụng để tách) mà không có vấn đề gì. Một đèn LED với điện trở giới hạn dòng 330ohm được sử dụng để hiển thị trạng thái kết nối USB. Nội dung cảm biến bắt buộc Tôi đã sử dụng cảm biến nhiệt độ vi mạch TC1047A làm cảm biến nhiệt độ trong nhà. Nó được hàn vật lý vào bo mạch - điều này khiến nó nóng hơn vài độ so với nhiệt độ phòng. Một đầu cắm được sử dụng để kết nối đầu dò nhiệt độ ngoài trời (phiên bản TO-92 của TC1047a). Một tụ điện 0,1uf bổ sung giúp tách một dây dài chạy khỏi phần còn lại của bảng. Các mức điện áp USB không đủ nhất quán để đo và tính toán chính xác nhiệt độ từ các cảm biến tương tự. Tham chiếu điện áp bên ngoài (MCP1525, 2,5volt) được sử dụng. Tham chiếu điện áp yêu cầu một tụ điện trên đầu ra của 1uf đến 10uf. Nếu không có tụ điện này, tham chiếu điện áp sẽ không hoạt động.

Bước 2: Phần mềm cơ sở

Phần sụn sử dụng lớp CDC USB để mô phỏng một cổng nối tiếp. Thiết bị sẽ hiển thị dưới dạng cổng com ảo trên PC. Phần sụn được chia thành ba phần: 1. Trình điều khiển USB đảm nhận việc liệt kê thiết bị trên PC và mô phỏng cổng COM. 2. Quy trình bảo dưỡng luân phiên đọc các giá trị nhiệt độ và chuyển đổi chúng sang định dạng có thể đọc được. Thực hiện cả hai thao tác này cùng một lúc khiến thiết bị USB mất kết nối với PC (lỗi thời gian). Việc chuyển đổi các giá trị dấu phẩy động thành một chuỗi trong chu kỳ dịch vụ sau quá trình chuyển đổi đã giải quyết vấn đề kết nối. * 3. Cuối cùng, một quy trình chính nhận các byte được gửi từ PC và trả về các phép đo được yêu cầu. Nhiều thước đo được phân tách bằng dấu phẩy, các dòng được kết thúc bằng ký tự rỗng (hex 0x00) Phần mềm trình diễn chấp nhận các lệnh sau: Giá trị hex Trả về 0x00 Nhiệt độ trong nhà (cảm biến trên bo mạch) 0x01 Nhiệt độ ngoài trời (tiêu đề bên ngoài) 0x02 Cả hai nhiệt độ (dấu phẩy riêng biệt) Nhiệt độ được tính toán dựa trên tham chiếu 2,5 volt và độ lệch và độ dốc của Microchip TC1047A. Các cảm biến nhiệt độ khác có thể có các đặc điểm khác nhau. Biểu dữ liệu TC1047A có sẵn tại đây: https://ww1.microchip.com/downloads/en/DeviceDoc/21498c.pdf Phần sụn được viết bằng MPLAB với trình biên dịch PIC C18 trình diễn. https://www.microchip.com/sthesia/idcplg?IdcService=SS_GET_PAGE&nodeId=1406&dDocName=en010014&part=SW006011 Phần mềm USB thực tế được cung cấp bởi Microchip. Môi trường gốc có sẵn tại đây: https://www.microchip.com/sthesia/idcplg? IdcService = SS_GET_PAGE & nodeId = 1824 & appnote = en021631Để chỉnh sửa chương trình cơ sở: giải nén toàn bộ cấu trúc thư mục của nguồn vào thư mục gốc của bạn (c: / MCHPFSUSB). Sau đó, bạn có thể tải tệp không gian làm việc trong MPLAB. * Quy trình float thành chuỗi là một tài nguyên hog. Để khắc phục sự cố kết nối, quy trình dịch vụ USB được gọi tại các điểm khác nhau trong quy trình float2string. Điều này tốt nhất sẽ được khắc phục bằng cách bảo dưỡng thiết bị ngoại vi USB khi ngắt. Tôi đã sử dụng bản hack để phần sụn ở gần với phiên bản tham chiếu nhất có thể.

Bước 3: Kiểm tra thiết bị

Kiểm tra thiết bị
Kiểm tra thiết bị
Kiểm tra thiết bị
Kiểm tra thiết bị
Kiểm tra thiết bị
Kiểm tra thiết bị

Hướng dẫn dành cho windows, nhưng thiết bị có thể được kết nối với bất kỳ thứ gì có trình điều khiển mô phỏng cổng nối tiếp CDC.

Lập trình thiết bị với phần sụn. Tất cả các bit cấu hình phải được đặt chính xác trong phần sụn. Cắm thiết bị vào cổng USB. Windows sẽ phát hiện nó và nhắc bạn chọn một trình điều khiển. CHẮC CHẮN NHẤP VÀO ‘DUYỆT CHO NGƯỜI LÁI XE KHÁCH HÀNG’. Điều hướng đến vị trí của tệp.inf được bao gồm trong kho lưu trữ dự án (driver-win2k_winxp). Windows sẽ sử dụng tệp này để cài đặt thiết bị. * Lưu ý về trình điều khiển CDC - trình điều khiển mô phỏng cổng nối tiếp CDC được bao gồm trong Windows. Tệp.inf (do Microchip cung cấp) chỉ cho Windows kết nối các trình điều khiển này với thiết bị. Để biết thiết bị đã được gán cổng COM nào, hãy làm như sau: Đi tới bảng điều khiển (bắt đầu-> cài đặt-> bảng điều khiển) Nhấp đúp vào ‘hệ thống’ Nhấp vào tab ‘phần cứng’. Nhấp vào ‘trình quản lý thiết bị’ Nhấp vào dấu ‘+’ bên cạnh các cổng Danh sách các cổng COM trên hệ thống được hiển thị. Tôi đã thấy thiết bị hiển thị dưới dạng COM 3 và 4, nhưng nó sẽ khác nhau tùy theo hệ thống. Nếu không rõ cổng nào mới, hãy thử cách này: Rút phích cắm thiết bị khỏi cổng USB. Một trong các cổng sẽ biến mất. Đây là số cổng COM của thiết bị. Cắm lại thiết bị, cổng sẽ xuất hiện trở lại. Ứng dụng VB nhỏ (bao gồm nguồn) có thể được sử dụng để kiểm tra thiết bị. Nhập lệnh để gửi, nhấp vào 'Bắt đầu'. Câu trả lời sẽ được hiển thị trong cửa sổ.

Bước 4: Nó có thể làm gì khác?

Nó có thể làm gì khác?
Nó có thể làm gì khác?

Bảng trình diễn này là một điểm khởi đầu tốt cho một trạm thời tiết gia đình nhỏ: Thêm cảm biến độ ẩm HIH3160 hoặc thay thế cảm biến nhiệt độ tương tự bằng cảm biến nhiệt độ và độ ẩm nối tiếp có độ chính xác cao Sensiron HT74. Thêm cảm biến áp suất Freescale MPX (a) 4115 vào đo áp suất khí quyển. Bạn muốn cung cấp dữ liệu này lên web? Đưa nó vào trang web của riêng bạn, xem nó trên google earth hoặc nhận thông tin cập nhật trong RSS reed của bạn? Xem hướng dẫn này về cách tích hợp thiết bị này với chương trình phụ trợ web syndicIT.com:

Đề xuất: