Mục lục:

Nguồn cung cấp Bluetooth kỹ thuật số hỗ trợ USB C: 8 bước (có hình ảnh)
Nguồn cung cấp Bluetooth kỹ thuật số hỗ trợ USB C: 8 bước (có hình ảnh)

Video: Nguồn cung cấp Bluetooth kỹ thuật số hỗ trợ USB C: 8 bước (có hình ảnh)

Video: Nguồn cung cấp Bluetooth kỹ thuật số hỗ trợ USB C: 8 bước (có hình ảnh)
Video: Tưởng USB-C là đơn giản hả? Bạn sai rồi nha 2024, Tháng bảy
Anonim
Kỹ thuật số USB C hỗ trợ Bluetooth Powersupply
Kỹ thuật số USB C hỗ trợ Bluetooth Powersupply
Kỹ thuật số USB C hỗ trợ Bluetooth Powersupply
Kỹ thuật số USB C hỗ trợ Bluetooth Powersupply
Kỹ thuật số USB C hỗ trợ Bluetooth Powersupply
Kỹ thuật số USB C hỗ trợ Bluetooth Powersupply
Kỹ thuật số USB C hỗ trợ Bluetooth Powersupply
Kỹ thuật số USB C hỗ trợ Bluetooth Powersupply

Bạn đã bao giờ muốn có một nguồn cung cấp năng lượng mà bạn có thể sử dụng khi đang di chuyển, ngay cả khi không có ổ cắm trên tường gần đó? Và sẽ thật tuyệt nếu nó cũng rất chính xác, kỹ thuật số và có thể điều khiển thông qua PC và điện thoại của bạn?

Trong phần hướng dẫn này, tôi sẽ chỉ cho bạn cách xây dựng chính xác: nguồn cung cấp năng lượng kỹ thuật số, được cấp nguồn qua USB C. Nó tương thích với arduino và có thể được điều khiển qua PC qua USB hoặc qua điện thoại của bạn qua Bluetooth.

Dự án này là sự phát triển của nguồn cung cấp năng lượng trước đây của tôi, được vận hành bằng pin và có màn hình hiển thị và các nút bấm. Kiểm tra nó ra ở đây! Tuy nhiên, tôi muốn thu nhỏ hơn, vì vậy đó là lý do tại sao tôi làm điều này!

Nguồn cung cấp có thể được cấp nguồn từ bộ pin USB C hoặc bộ sạc điện thoại. Điều này cho phép công suất lên đến 15W, đủ để cung cấp cho hầu hết các thiết bị điện tử công suất thấp! Để có một giao diện người dùng tốt trên một thiết bị nhỏ như vậy, tôi đã bao gồm Bluetooth và một ứng dụng Android cho các điều khiển. Điều này làm cho nguồn cung cấp năng lượng này trở nên siêu di động!

Tôi sẽ hiển thị toàn bộ quy trình thiết kế và tất cả các tệp dự án có thể được tìm thấy trên trang GitHub của tôi:

Bắt đầu nào!

Bước 1: Tính năng & Chi phí

Tính năng & Chi phí
Tính năng & Chi phí

Đặc trưng

  • Được hỗ trợ bởi USB C
  • Điều khiển qua ứng dụng Android qua Bluetooth
  • Điều khiển qua Java qua USB C
  • Chế độ điện áp không đổi và chế độ dòng điện không đổi
  • Sử dụng bộ điều chỉnh tuyến tính có độ ồn thấp, đi trước là bộ điều chỉnh trước theo dõi để giảm thiểu tiêu hao điện năng
  • Được cung cấp bởi ATMEGA32U4, được lập trình với Arduino IDE
  • Có thể được cung cấp năng lượng bởi một ngân hàng pin USB C để làm cho nó di động
  • USB C và phát hiện bộ sạc Apple
  • Các phích cắm chuối cách nhau 18 mm để tương thích với bộ điều hợp BNC

Thông số kỹ thuật

  • 0 - 1A, bước 1 mA (10 bit DAC)
  • 0 - 25V, bước 25 mV (10 bit DAC) (hoạt động 0V thực)
  • Đo điện áp: độ phân giải 25 mV (10 bit ADC)
  • Đo dòng điện: Độ phân giải <40mA: 10uA (ina219) <80mA: độ phân giải 20uA (ina219) <160mA: Độ phân giải 40uA (ina219) <320mA: độ phân giải 80uA (ina219)> Độ phân giải 320mA: 1mA (10 bit ADC)

Trị giá

Việc cung cấp đầy đủ năng lượng đã tiêu tốn của tôi khoảng 100 đô la, với tất cả các thành phần một lần. Mặc dù điều này có vẻ đắt tiền, nhưng các nguồn cung cấp năng lượng có hiệu suất và tính năng kém hơn nhiều thường có giá cao hơn mức này. Nếu bạn không ngại đặt mua các linh kiện của mình từ ebay hoặc aliexpress, giá sẽ giảm xuống khoảng 70 đô la. Mất nhiều thời gian hơn để các bộ phận đi vào hoạt động, nhưng đó là một lựa chọn khả thi.

Bước 2: Sơ đồ & Lý thuyết hoạt động

Sơ đồ & Lý thuyết hoạt động
Sơ đồ & Lý thuyết hoạt động

Để hiểu hoạt động của mạch, chúng ta sẽ phải nhìn vào sơ đồ. Tôi chia nó thành các khối chức năng, sao cho dễ hiểu hơn; Do đó, tôi cũng sẽ giải thích từng bước hoạt động, phần này khá sâu và đòi hỏi kiến thức điện tử tốt. Nếu bạn chỉ muốn biết cách xây dựng mạch, bạn có thể chuyển sang bước tiếp theo.

Khối chính

Hoạt động dựa trên chip LT3080: đó là một bộ điều chỉnh điện áp tuyến tính, có thể giảm điện áp, dựa trên tín hiệu điều khiển. Tín hiệu điều khiển này sẽ được tạo ra bởi một vi điều khiển; Làm thế nào điều này được thực hiện, sẽ được giải thích chi tiết sau.

Cài đặt điện áp

Mạch điện xung quanh LT3080 tạo ra các tín hiệu điều khiển thích hợp. Đầu tiên, chúng ta sẽ xem xét cách đặt điện áp. Cài đặt điện áp từ bộ vi điều khiển là tín hiệu PWM (PWM_Vset), được lọc bằng bộ lọc thông thấp (C23 & R32). Điều này tạo ra một điện áp tương tự - từ 0 đến 5 V - tỷ lệ với điện áp đầu ra mong muốn. Vì phạm vi đầu ra của chúng tôi là 0 - 25 V, chúng tôi sẽ phải khuếch đại tín hiệu này với hệ số là 5. Điều này được thực hiện bởi cấu hình opamp không đảo ngược của U7C. Độ lợi cho chân đặt được xác định bởi R31 và R36. Các điện trở này có dung sai 0,1%, để giảm thiểu sai số. R39 và R41 không quan trọng ở đây, vì chúng là một phần của vòng phản hồi.

Thiết lập hiện tại

Chân cài đặt này cũng có thể được sử dụng cho cài đặt thứ hai: chế độ hiện tại. Chúng tôi muốn đo mức hòa hiện tại và tắt đầu ra khi điều này vượt quá dòng mong muốn. Do đó, chúng tôi bắt đầu lại bằng tín hiệu PWM (PWM_Iset), được tạo ra bởi bộ vi điều khiển, hiện đã được lọc thông thấp và suy giảm để đi từ dải 0 - 5 V sang dải 0 - 2,5 V. Điện áp này bây giờ được so sánh với điện áp rơi trên điện trở cảm nhận hiện tại (ADC_Iout, xem bên dưới) bằng cấu hình so sánh của opamp U1B. Nếu dòng điện quá cao, điều này sẽ bật đèn LED, đồng thời kéo dòng đặt của LT3080 xuống đất (qua Q1), do đó tắt đầu ra. Việc đo dòng điện và tạo tín hiệu ADC_Iout được thực hiện như sau. Dòng điện đầu ra chạy qua điện trở R22. Khi dòng điện chạy qua điện trở này, nó tạo ra sụt áp mà chúng ta có thể đo được và nó được đặt trước LT3080, vì điện áp rơi trên nó sẽ không ảnh hưởng đến điện áp đầu ra. Sự sụt giảm điện áp được đo bằng bộ khuếch đại vi sai (U7B) với độ lợi 5. Điều này dẫn đến dải điện áp 0 - 2,5 V (nhiều hơn về sau), do đó bộ chia điện áp ở tín hiệu PWM của dòng điện. Bộ đệm (U7A) ở đó để đảm bảo rằng dòng điện chạy vào các điện trở R27, R34 và R35 không đi qua điện trở cảm nhận hiện tại, điều này sẽ ảnh hưởng đến việc đọc của nó. Cũng lưu ý rằng đây phải là opamp đường sắt, vì điện áp đầu vào ở đầu vào dương bằng với điện áp cung cấp. Tuy nhiên, bộ khuếch đại không đảo ngược chỉ dành cho phép đo khóa học, đối với các phép đo rất chính xác, chúng tôi có chip INA219 trên bo mạch. Con chip này cho phép chúng ta đo dòng điện rất nhỏ và được định địa chỉ qua I2C.

Những điều bổ sung

Ở đầu ra của LT3080, chúng tôi có thêm một số thứ. Trước hết, có một bồn rửa hiện tại (LM334). Điều này tạo ra một dòng điện không đổi 677 uA (đặt bởi điện trở R46), để ổn định LT3080. Tuy nhiên, nó không được kết nối với đất, mà là VEE, một điện áp âm. Điều này là cần thiết để cho phép LT3080 hoạt động xuống 0 V. Khi kết nối với đất, điện áp thấp nhất sẽ là khoảng 0,7 V. Điều này có vẻ đủ thấp, nhưng hãy nhớ rằng điều này ngăn chúng ta tắt hoàn toàn nguồn cung cấp năng lượng. Thật không may, mạch này nằm ở đầu ra của LT3080, có nghĩa là dòng điện của nó sẽ đóng góp vào dòng điện đầu ra mà chúng ta muốn đo. May mắn thay, nó không đổi nên chúng ta có thể hiệu chỉnh cho dòng điện này. Diode zener D7 được sử dụng để kẹp điện áp đầu ra nếu nó vượt quá 25 V và bộ chia điện trở giảm phạm vi điện áp đầu ra từ 0 - 25 V xuống 0 - 2,5 V (ADC_Vout). Bộ đệm (U7D) đảm bảo các điện trở không hút dòng điện từ đầu ra.

Sạc máy bơm

Điện áp âm mà chúng ta đã đề cập trước đây được tạo ra bởi một mạch nhỏ kỳ lạ: máy bơm tích điện. Nó được cung cấp bởi 50% PWM của vi điều khiển (PWM).

Bộ chuyển đổi Boost

Bây giờ chúng ta hãy xem xét điện áp đầu vào của khối chính của chúng ta: VCC. Chúng tôi thấy rằng nó là 5 - 27V, nhưng chờ đợi, USB cho tối đa 5 V? Thật vậy, và đó là lý do tại sao chúng ta cần tăng điện áp, với cái gọi là bộ chuyển đổi tăng cường. Chúng tôi luôn có thể tăng điện áp lên 27 V, bất kể đầu ra nào chúng tôi muốn; tuy nhiên, điều này sẽ lãng phí rất nhiều năng lượng trong LT3080 và mọi thứ sẽ trở nên nóng hơn! Vì vậy, thay vì làm điều đó, chúng tôi sẽ tăng điện áp lên một chút so với điện áp đầu ra. Cao hơn khoảng 2,5 V là thích hợp, để giải thích sự sụt giảm điện áp trong điện trở cảm nhận hiện tại và điện áp rơi của LT3080. Điện áp được đặt bằng điện trở trên tín hiệu đầu ra của bộ chuyển đổi tăng áp. Để thay đổi điện áp này một cách nhanh chóng, chúng tôi sử dụng một chiết áp kỹ thuật số, MCP41010, được điều khiển thông qua SPI.

USB C

Điều này dẫn chúng ta đến điện áp đầu vào thực: cổng USB! Lý do sử dụng USB C (chính xác là USB loại 3.1, USB C chỉ là loại đầu nối) là vì nó cho phép dòng điện 3A ở 5V, đó là một lượng điện khá lớn. Nhưng có một điểm bắt buộc, thiết bị cần phải tuân thủ để rút ra dòng điện này và 'thương lượng' với thiết bị chủ. Trong thực tế, điều này được thực hiện bằng cách kết nối hai điện trở kéo xuống 5.1k (R12 và R13) với đường CC1 và CC2. Đối với khả năng tương thích với USB 2, tài liệu này ít rõ ràng hơn. Tóm lại: bạn vẽ bất cứ thứ gì hiện tại bạn muốn, miễn là máy chủ có thể cung cấp nó. Điều này có thể được kiểm tra bằng cách theo dõi điện áp bus USB: một điện áp giảm xuống dưới 4,25V, thiết bị sử dụng quá nhiều dòng điện. Điều này được phát hiện bởi bộ so sánh U1A và sẽ vô hiệu hóa đầu ra. Nó cũng gửi tín hiệu đến bộ vi điều khiển để thiết lập dòng điện tối đa. Như một phần thưởng, các điện trở đã được thêm vào để hỗ trợ phát hiện ID bộ sạc của bộ sạc apple và samsung.

Bộ điều chỉnh 5V

Điện áp cung cấp 5 V của arduino thường đến trực tiếp từ USB. Nhưng vì điện áp USB có thể thay đổi giữa 4,5 và 5,5 V theo thông số kỹ thuật của USB, điều này không đủ chính xác. Do đó, một bộ điều chỉnh 5V được sử dụng, có thể tạo ra 5V từ điện áp thấp hơn và cao hơn. Tuy nhiên, điện áp này không quá chính xác, nhưng điều này được giải quyết bằng một bước hiệu chỉnh trong đó chu kỳ hoạt động của tín hiệu PWM được điều chỉnh cho phù hợp. Điện áp e này được đo bằng bộ phân áp tạo thành bởi R42 và R43. Nhưng vì tôi không còn đầu vào miễn phí nữa, tôi phải thực hiện nhiệm vụ kép kéo pin. Khi bộ nguồn khởi động, đầu tiên chân này được đặt làm đầu vào: nó đo đường ray cung cấp và tự hiệu chỉnh. Tiếp theo, nó được đặt làm đầu ra và nó có thể điều khiển dòng chọn chip của chiết áp.

Tham chiếu điện áp 2,56 V

Con chip nhỏ này cung cấp tham chiếu điện áp 2,56 V rất chính xác. Điều này được sử dụng làm tham chiếu cho các tín hiệu tương tự ADC_Vout, ADC_Iout, ADC_Vbatt. Đó là lý do tại sao chúng tôi cần bộ chia điện áp để đưa những tín hiệu này xuống 2,5 V.

FTDI

Phần cuối cùng của cuộc cung cấp sức mạnh này là mối liên hệ với thế giới bên ngoài tàn nhẫn. Đối với điều này, chúng ta cần chuyển đổi các tín hiệu nối tiếp thành tín hiệu USB. May mắn thay, điều này được thực hiện bởi ATMEGA32U4, đây là con chip tương tự được sử dụng trong Arduino Micro.

Bluetooth

Phần Bluetooth rất đơn giản: một mô-đun Bluetooth có sẵn được thêm vào và đảm nhận mọi thứ cho chúng tôi. Vì mức logic của nó là 3,3V (VS 5V cho vi điều khiển) một bộ chia điện áp được sử dụng để thay đổi mức tín hiệu.

Và đó là tất cả những gì cần làm!

Bước 3: PCB & Điện tử

PCB & Điện tử
PCB & Điện tử
PCB & Điện tử
PCB & Điện tử
PCB & Điện tử
PCB & Điện tử

Bây giờ chúng ta đã hiểu cách thức hoạt động của mạch, chúng ta có thể bắt đầu xây dựng nó! Bạn có thể đơn giản đặt mua PCB trực tuyến từ nhà sản xuất yêu thích của mình (giá của tôi khoảng 10 đô la), các tệp mầm có thể được tìm thấy trên GitHub của tôi, cùng với hóa đơn vật liệu. Sau đó, lắp ráp PCB về cơ bản là vấn đề hàn các thành phần tại chỗ theo màn lụa và bảng giá vật liệu.

Trong khi nguồn cung cấp năng lượng trước đây của tôi chỉ có các thành phần xuyên lỗ, hạn chế về kích thước đối với nguồn cung cấp mới của tôi đã khiến điều này trở nên bất khả thi. Hầu hết các thành phần vẫn còn tương đối dễ hàn, vì vậy đừng sợ. Như một minh họa: một người bạn của tôi, người chưa bao giờ hàn trước đây đã quản lý được thiết bị này!

Dễ dàng nhất là làm các thành phần ở mặt trước, sau đó là mặt sau và hoàn thiện với các thành phần lỗ dù. Khi làm điều này, PCB sẽ không bị lung lay khi hàn các thành phần khó nhất. Thành phần cuối cùng được hàn là mô-đun Bluetooth.

Tất cả các thành phần đều có thể được hàn, ngoại trừ 2 jack cắm chuối, chúng tôi sẽ gắn kết trong bước tiếp theo!

Bước 4: Vỏ & lắp ráp

Trường hợp & lắp ráp
Trường hợp & lắp ráp
Vỏ & lắp ráp
Vỏ & lắp ráp
Trường hợp & lắp ráp
Trường hợp & lắp ráp

Với pcb được thực hiện, chúng ta có thể chuyển sang trường hợp. Tôi đặc biệt thiết kế PCB xung quanh một vỏ nhôm 20x50x80mm (https://www.aliexpress.com/item/Alumin-PCB-Instr…), vì vậy không nên sử dụng một vỏ khác. Tuy nhiên, bạn luôn có thể in 3D một trường hợp có cùng kích thước.

Bước đầu tiên là chuẩn bị bảng kết thúc. Chúng tôi sẽ cần phải khoan một số lỗ cho các giắc cắm chuối. Tôi đã làm điều này bằng tay, nhưng nếu bạn có quyền truy cập vào máy CNC đó sẽ là một lựa chọn chính xác hơn. Chèn giắc cắm chuối vào các lỗ này và hàn chúng trên PCB.

Bạn nên thêm một số miếng lụa vào và giữ chúng cố định bằng một giọt keo siêu nhỏ. Điều này sẽ cho phép truyền nhiệt giữa LT3080 và LT1370 và vỏ máy. Đừng quên chúng!

Bây giờ chúng ta có thể tập trung vào bảng điều khiển phía trước, chỉ cần vít vào đúng vị trí. Với cả hai tấm tại chỗ, bây giờ chúng ta có thể lắp cụm vào vỏ và đóng tất cả lại. Tại thời điểm này, phần cứng đã hoàn thành, bây giờ tất cả những gì còn lại là thổi một chút sức sống vào nó bằng phần mềm!

Bước 5: Mã Arduino

Mã Arduino
Mã Arduino

Bộ não của dự án này là ATMEGA32U4, chúng tôi sẽ lập trình với Arduino IDE. Trong phần này, tôi sẽ đi qua các hoạt động cơ bản của mã, các chi tiết có thể được tìm thấy như là bình luận bên trong mã.

Về cơ bản, mã lặp qua các bước sau:

  1. Gửi dữ liệu đến ứng dụng
  2. Đọc dữ liệu từ ứng dụng
  3. Đo điện áp
  4. Đo dòng điện
  5. Nút thăm dò ý kiến

Quá dòng USB được xử lý bởi một quy trình dịch vụ ngắt để nó đáp ứng nhanh nhất có thể.

Trước khi chip có thể được lập trình qua USB, bộ nạp khởi động phải được ghi. Điều này được thực hiện thông qua cổng ISP / ICSP (tiêu đề 3x2 đực) thông qua một lập trình viên ISP. Các tùy chọn là AVRISPMK2, USBTINY ISP hoặc arduino làm ISP. Đảm bảo bo mạch nhận được nguồn điện và nhấn nút 'ghi bộ nạp khởi động'.

Giờ đây, mã có thể được tải lên bảng thông qua cổng USB C (vì chip có bộ nạp khởi động). Board: Arduino Micro Programmer: AVR ISP / AVRISP MKII Bây giờ chúng ta có thể xem xét sự tương tác giữa Arduino và PC.

Bước 6: Ứng dụng Android

Ứng dụng Android
Ứng dụng Android

Bây giờ chúng ta có một nguồn cung cấp năng lượng đầy đủ chức năng, nhưng vẫn chưa có cách nào để kiểm soát nó. Rất phiền toái. Vì vậy, chúng tôi sẽ tạo một ứng dụng Android để kiểm soát việc cung cấp năng lượng qua Bluetooth.

Ứng dụng đã được tạo ra với chương trình phát minh ứng dụng MIT. Tất cả các tệp có thể được đưa vào để sao chép và sửa đổi dự án. Đầu tiên, hãy tải ứng dụng đồng hành MIT AI2 xuống điện thoại của bạn. Tiếp theo, nhập tệp.aia trên trang web AI. Điều này cũng cho phép bạn tải xuống ứng dụng trên điện thoại của mình bằng cách chọn "Xây dựng> Ứng dụng (cung cấp mã QR cho.apk)"

Để sử dụng ứng dụng, hãy chọn thiết bị Bluetooth từ danh sách: thiết bị đó sẽ hiển thị dưới dạng mô-đun HC-05. Khi được kết nối, tất cả các cài đặt có thể được thay đổi và có thể đọc ra đầu ra của bộ nguồn.

Bước 7: Mã Java

Mã Java
Mã Java

Để ghi dữ liệu và kiểm soát nguồn cung cấp năng lượng qua PC, tôi đã tạo một ứng dụng java. Điều này cho phép chúng tôi dễ dàng điều khiển bảng thông qua GUI. Giống như với mã Arduino, tôi sẽ không đi vào tất cả các chi tiết mà chỉ đưa ra một cái nhìn tổng quan.

Chúng tôi bắt đầu bằng cách tạo một cửa sổ với các nút, trường văn bản, v.v.; nội dung GUI cơ bản.

Bây giờ đến phần thú vị: thêm các cổng USB, mà tôi đã sử dụng thư viện jSerialComm. Khi một cổng được chọn, java sẽ lắng nghe mọi dữ liệu đến. Chúng tôi cũng có thể gửi dữ liệu đến thiết bị.

Hơn nữa, tất cả dữ liệu đến được lưu vào tệp csv, để xử lý dữ liệu sau này.

Khi chạy tệp.jar, trước tiên chúng ta nên chọn cổng phù hợp từ menu thả xuống. Sau khi kết nối dữ liệu sẽ bắt đầu đến và chúng tôi có thể gửi cài đặt của mình đến nguồn cung cấp năng lượng.

Mặc dù chương trình khá cơ bản, nhưng nó có thể rất hữu ích để điều khiển nó qua PC và ghi dữ liệu của nó.

Bước 8:

Hình ảnh
Hình ảnh
Hình ảnh
Hình ảnh
Hình ảnh
Hình ảnh

Sau tất cả công việc này, giờ đây chúng ta đã có một nguồn cung cấp năng lượng đầy đủ chức năng!

Giờ đây, chúng ta có thể tận hưởng nguồn cung cấp năng lượng tại nhà của riêng mình, sẽ rất hữu ích khi làm việc trên các dự án tuyệt vời khác! Và quan trọng nhất: chúng tôi đã học được nhiều điều trong suốt chặng đường.

Nếu bạn thích dự án này, hãy bình chọn cho tôi trong cuộc thi vi điều khiển và kích thước bỏ túi, tôi thực sự đánh giá cao nó!

Đề xuất: