Làm thế nào để điều khiển ba đèn LED với hai chân uC chỉ bằng các thành phần thụ động?


8

Tôi chỉ có 2 chân (3 trạng thái) có sẵn trên vi điều khiển và cần điều khiển 3 đèn LED màu đỏ, uC đang chạy trên 5V. Tôi chỉ có thể sử dụng các thành phần thụ động ngoài ra.


Xác định "kiểm soát". Bạn có cần tất cả các đèn LED được chiếu sáng đầy đủ cùng một lúc, hoặc chỉ một cái cùng một lúc, hoặc cái gì khác không? Tại sao bạn nói rằng bạn chỉ có thể sử dụng các thành phần thụ động?
Joe Hass

Google "charlieplexing".
John U

1
@ John: Charlieplexing không làm gì hữu ích với ít hơn ba chân. Hai chân chỉ cung cấp cho bạn hai đèn LED.
Dave Tweed

Rõ ràng, một bộ mở rộng cổng I2C hoặc thậm chí một số thanh ghi dịch chuyển đơn giản sẽ cho phép bạn điều khiển một số lượng đèn LED tùy ý. Tại sao những người này bị loại trừ?
Dave Tweed

1
@DaveTweed - Mặc dù vậy, hành động của Google rất có thể là thông tin;)
John U

Câu trả lời:


9

Để điều khiển bốn đèn LED:

sơ đồ

mô phỏng mạch này - Sơ đồ được tạo bằng CircuitLab

Để bật cả hai đèn LED trên một pin cụ thể, hãy bật pin ở tốc độ vài trăm Hz.

Lưu ý rằng thiết lập này yêu cầu điện áp chuyển tiếp của đèn LED nhỏ hơn Vcc / 2.

Cũng lưu ý rằng các điện trở tiêu thụ năng lượng mọi lúc, không chỉ khi đèn LED được bật.


Có R1 chỉ kết nối với D1 và R2 chỉ với D2, v.v. sẽ giảm đáng kể khả năng rút dòng tĩnh khi đèn LED tắt, với điều kiện là điện áp LED giảm kết hợp với VDD.
supercat

@supercat: Có, nhưng điều đó hiếm khi đúng với đèn LED màu đỏ mà OP chỉ định. Xem sơ đồ của Will .
Dave Tweed

Thêm một đèn LED bổ sung giữa các nút R1-D1 và D2-D2 và ẩn nó ở đâu đó.
supercat


6

Giải pháp này phụ thuộc vào thực tế là 5V sẽ không sáng ba đèn LED nối tiếp. Nếu cần, bạn có thể thêm một diode silicon nối tiếp với một hoặc nhiều đèn LED để tăng tổng điện áp chuyển tiếp.

sơ đồ

mô phỏng mạch này - Sơ đồ được tạo bằng CircuitLab

  • Nếu cả chân A và chân B đều xoắn, tất cả các đèn LED đều tắt.
  • Nếu chân A được điều khiển ở mức thấp, D1 sẽ bật.
  • Nếu chân A được điều khiển ở mức cao và chân B được điều khiển ở mức thấp thì D2 được bật.
  • nếu chân B được điều khiển ở mức cao, D3 sẽ bật.

Để có nhiều đèn LED sáng cùng một lúc, bạn sẽ phải ghép nhiều lần: bật chúng cùng một lúc, đủ nhanh để chúng có vẻ sáng liên tục.


Có bất kỳ lợi thế nào của phương pháp này so với phương pháp của Michael Karas không?
Sẽ

Điều này làm việc với giảm điện áp chuyển tiếp thấp hơn trên các đèn LED. Giải pháp của ông chỉ là hai bản sao của phiên bản một pin / hai đèn LED này.
Dave Tweed

Ahh vậy với điều này nếu bạn có 2 điện trở trên thì bạn đang giảm một số điện áp qua 1 và một số khác, và phải đốt ít điện trở hơn?
Sẽ

1
@ Sẽ: Ừm, không. Với sơ đồ này, chỉ có một đèn LED được bật tại một thời điểm và chỉ có một điện trở tại một thời điểm là giảm điện áp. Khi cả hai chân đều xoắn, không có dòng điện nào, vì nó bị chặn bởi sự sụt giảm tích lũy về phía trước của ba đèn LED nối tiếp.
Dave Tweed

Nếu bạn tristate pin b, bạn có thể lái 2 đèn LED với sơ đồ của bạn, phải không?
Sẽ

3

Với hai chân bạn thực sự có thể điều khiển bốn đèn LED. Để điều khiển hai đèn LED đặt một điện trở từ chân MCU để giới hạn dòng điện và buộc nó vào hai đèn LED - cực âm của một đèn LED và cực dương của đèn LED khác. Đầu cực dương miễn phí của đèn LED đầu tiên được kết nối với VCC của bảng MCU thông qua một điện trở khác. Đầu cực âm miễn phí của đèn LED thứ hai được kết nối với GND (thông qua một điện trở khác). Bây giờ các đèn LED sẽ sáng xen kẽ khi chân MCU được đặt cao hoặc thấp. Nối dây MCU thứ hai theo cùng một cách và bây giờ bạn có quyền kiểm soát tổng cộng bốn đèn LED.

Để cho sự xuất hiện của điều khiển độc lập của từng đèn LED trong cặp ngoài một trong các chân cổng đòi hỏi một chút phần mềm hoạt động như sau.

Nếu LED1 là một cực có cực dương tới chân cổng và LED2 là cực có cực âm tới chân cổng thì hãy làm như sau để thiết lập bốn trạng thái cho hai đèn LED.

LED2  LED1    Action
OFF   OFF     Set the port pin to tristate level.
OFF   ON      Set the port pin low.
ON    OFF     Set the port pin high.
ON    ON      Toggle the port pin high and low at a frequency over about 120 Hz. 

Lặp lại các hành động tương tự cho chân cổng khác và bạn sẽ trông giống như bạn có bốn đèn LED độc lập tắt hai chân cổng.

Sơ đồ này hoạt động tốt đối với các đèn LED có điện áp chuyển tiếp giảm hơn một nửa mức VCC. Đèn LED màu đỏ với 2.1 VF sẽ không hoạt động tuyệt vời nếu VCC là 5V chẳng hạn. Mặt khác, đèn LED màu xanh lá cây có VF 2.5V sẽ hoạt động tốt trên hệ thống có VCC là 3,3V.


3
Đây có phải là tổng kiểm soát không? Làm thế nào để bạn bật tất cả hoặc tắt tất cả?
stanri

Một đèn LED bật khi dòng điện chạy ra khỏi chân, đèn LED còn lại bật khi dòng điện chạy vào chân. Vì vậy, tắt cả hai bạn chỉ cần ba trạng thái pin cổng, không có dòng điện nào đi vào hoặc ra khỏi nó, vì vậy không có đèn LED. Hiện tại không thể chảy vào và ra cùng một lúc để bạn không thể bật cả hai đèn LED cùng một lúc. Nhưng bạn có thể tạo hiệu ứng của cả hai bằng cách lái pin cao rồi thấp rồi cao rồi thấp rồi thấp ...
Sẽ là

2

2 led một pin, vẽ xấu

Vì vậy, như thế này không có dòng điện khi chúng tắt, và bạn có thể lái xe điện áp chuyển tiếp nhiều / ít như bạn cần


Điều này giống như giải pháp của Michael Karas. Nó yêu cầu V_f của đèn LED lớn hơn Vcc / 2, nếu không bạn không thể tắt chúng hoàn toàn.
Dave Tweed

+1 vì đã nỗ lực trình bày giải pháp của Michael Karas sao chép sơ đồ CircuitLabs của Dave Tweed và vẽ các đường chỉ tay trong đó bằng MS Paint (hoặc tương tự).
Ricardo

Và nó đã được sơn :)
Will

1
À tôi hiểu những gì bạn đang nói bây giờ Dave. Hiện tại đi r1 d1 d2 r2 và không có gì phải đi vào / pin của chúng tôi
Sẽ

2

EDN đã xuất bản một số ý tưởng liên quan cho thiết kế tại đây

Đây là một trong số họ: -

nhập mô tả hình ảnh ở đây

Đối với các giá trị điển hình với D1, đèn LED màu vàng (bật 2.2V), đèn LED màu đỏ D2 (bật 1.9V) và điện áp tắt lần lượt là 1.2V và 1.1V và dòng điện 8mA mỗi dòng, Vcc = 5.0V, mức tối ưu giá trị là

R 1 = 300 ohms R2 = 330 ohms R3 = 1,2K ohms

Dòng tĩnh là 2.7mA. Để có cả hai đèn LED dường như được chiếu sáng, hãy chuyển đổi chân đầu ra ở tần số 100Hz hoặc cao hơn.

Tôi đã sử dụng bộ giải Excel trong bài viết gốc, mã có thể vẫn có sẵn từ EDN.

Các độ tự do bổ sung mà điện trở R3 cung cấp có thể tránh được các hạn chế của cả mạch của Dave Tweed và Michael Karas, mặc dù đối với trường hợp cụ thể là 2 đèn LED đỏ hoạt động từ nguồn cung cấp 5V, mạch của Dave Tweed có thể chấp nhận được, nhưng hãy kiểm tra Vf một cách cẩn thận, nó không ổn đối với một số đèn LED màu đỏ và có thể là cận biên đối với các đèn LED khác nếu chân cổng không kéo hết xuống hoặc lên.


Lưu ý: OP đang yêu cầu một mạch thụ động . Ngoài ra, nếu chân MCU có Z cao, biến tần bị buộc phải ở chế độ hoạt động tuyến tính, thường sẽ gây lãng phí điện năng.
Dave Tweed

@DaveTweed Có, bài đăng gốc của tôi đã chỉ định biến tần ST, vì vậy tôi đã chỉnh sửa để làm rõ điều đó. Nó không phải là tất cả thụ động, nhưng nó đơn giản và không Iq. Mạch thứ hai là Iq cao hơn nhưng hoàn toàn thụ động. Cảm ơn các ý kiến.
Spehro Pefhany

Tôi không thấy đầu vào Kích hoạt Schmitt giúp như thế nào; thay vào đó, tôi nghĩ rằng nó sẽ buộc mạch dao động. Cấp, đèn LED sẽ tắt, nhưng chính biến tần sẽ tiêu thụ năng lượng đáng kể.
Dave Tweed

Chà, vì nó không đáp ứng yêu cầu ban đầu là không có bộ phận hoạt động, tôi sẽ xóa nó, nhưng tôi tin rằng nó hoạt động tốt.
Spehro Pefhany

+1 cho R3, có thể là một mẹo hữu ích. Và một cái giá rẻ ở đó
Will
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.