Đầu vào 12V trên pin vi điều khiển


8

Tôi đang cố gắng đếm xung / giây. trên chân vi điều khiển trong phạm vi ~ 5 đến 100Hz. Máy có thể hoạt động ở đầu vào 5V, vì vậy tôi phải giảm mức điện áp xuống một cách an toàn.

Một điện trở đơn giản xuất hiện trong tâm trí, nhưng điều đó khiến cho bất kỳ sự đột biến nào mở trực tiếp đến chân pinC - meh .

Tôi đã bắt gặp câu trả lời này , nhưng câu hỏi vẫn còn nếu mạch đó có khả năng thay đổi 100Hz "nhanh".

Có cách nào đã được chứng minh, đáng tin cậy (bằng IC có thể không?) Khi tiếp xúc với các chân 5V hoặc 3.3V với các đầu vào 12V "bẩn" ? Tôi có sẵn 12V và 5V để lái bất kỳ IC "làm sẵn" nào.


2
chia điện trở + điốt zener / kẹp?
Wesley Lee

2
Đây thực sự là một câu hỏi không thể trả lời bằng một tìm kiếm đơn giản của Google?
Ale..chenski

16
Nó có thể được trả lời, nhưng tôi rất muốn một câu trả lời chất lượng trước khi phá hủy thiết bị của tôi thông qua sự ngu ngốc của chính tôi. Hãy giải quyết "sự an tâm"?
Christian

8
@AliChen stackexchange nhằm mục đích trở thành một kho lưu trữ các câu hỏi và câu trả lời chính tắc. Ngay cả những câu hỏi đơn giản cũng có thể tốt nếu họ thu thập các câu trả lời hữu ích.
Wayne Conrad

2
100Hz không nhanh.
dùng253751

Câu trả lời:


13

Sử dụng một mạch như thế này:

sơ đồ

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

R1 và R2 xác định phạm vi điện áp và thực hiện phân chia ban đầu. Những điện trở này phải có khả năng của một số sức mạnh. Điển hình là MELF 0,4W. Tất cả khác có thể là điện trở chip / tụ điện.

R3 ngăn chặn bất kỳ sự đột biến nào để gây hại cho trình kích hoạt schmitt. R4 một R5 là tùy chọn để ngăn chặn bất kỳ tín hiệu nổi.
Tuy nhiên, kết hợp R3 / R4 cũng có thể được sử dụng để điều chỉnh ngưỡng, nếu cần.

C1 và C2 xác định tốc độ tối đa. Kết hợp R3 / C2 có thể lọc chậm. C1 bộ lọc quá độ.

Một kích hoạt schmitt riêng biệt được sử dụng vì bạn có thể có được chúng thực sự nhỏ và rẻ. Và nó ngăn chặn việc định tuyến tín hiệu yếu qua các dấu vết dài. Trong khi cũng là một phần hy sinh trên các đợt tăng lớn.

Tôi đã thiết kế mạch này dựa trên những gì tôi đã thấy bên trong PLC. Mạch trên là cho 24V. Điều chỉnh các điện trở để phù hợp với 12V theo tiêu chuẩn IEC61131-2.

iec 61131-2
Khái niệm của tiêu chuẩn là đảm bảo đầu vào phải chìm một lượng dòng tối thiểu trước khi coi nó là '1'. Ba loại xác định bao nhiêu và được áp dụng dựa trên tiếng ồn môi trường. Điều này ngăn ngừa sự cố khi chạm vào nó hoặc rơle gần đó. Hạn chế là R1 / 2 phải được xếp hạng sức mạnh khá và sức đề kháng thấp.


Ồ Một câu trả lời rất kỹ lưỡng cho những gì ban đầu có vẻ là một câu hỏi đơn giản. Cảm ơn bạn.
Christian

Tôi thực sự tò mò về R4 và R5 - khi nào họ sẽ làm gì hữu ích? R2 + R3> R4 nào. Có phải trong trường hợp bất kỳ thành phần "nhiệm vụ nặng nề" bị hỏng?
đường ống

@pipe R3 và R4 có thể giúp định cấu hình ngưỡng, đồng thời cung cấp đường dẫn trở kháng cao cho logic. R5 hầu như không cần thiết trong hầu hết thời gian, nhưng trong thiết kế, điều này đã được sử dụng, không thể sử dụng kéo xuống mcu. Nếu vì một lý do nào đó, bộ đệm sẽ thất bại, đầu vào mcu sẽ không đọc được 50hz hum. (Lưu ý: đáng tin cậy đã được yêu cầu)
Jeroen3

17

Tôi sẽ thử một giải pháp chia điện trở như dưới đây.

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

Chọn tỷ lệ điện trở sao cho điện áp chia ở mức phù hợp cho MCU khi đầu vào ở điện áp danh định. Điện áp diode zener được chọn để kẹp đầu vào MCU khi đầu vào vượt quá đầu vào tối đa. Zener cũng sẽ bảo vệ MCU nếu đầu vào xảy ra âm tính.

Giải pháp này sẽ hoạt động tốt cho dải tần số tương đối thấp mà bạn đã chỉ định.


1
Tại sao chọn zener là 4v7? 5v2 (5v1?) Sẽ là giải pháp tốt hơn?
R.Joshi

7
@ R.Joshi: Nếu vi điều khiển 5V được cấp nguồn từ nguồn cung cấp dung sai 10% (4,5-5,5V VDD), thì việc áp dụng 5,2V trên pin có thể nhiều hơn mức tối đa tuyệt đối của VDD + 0,3V. Logic cao được nhận ra ở mức 2V đối với TTL và 2/3 * VDD đối với CMOS, do đó không có vấn đề gì với zener 4V7 ở đó.
Hans

2
Tôi thực sự muốn tôi có thể đánh dấu hai câu trả lời là "được chọn". Cách của bạn là cách đi hàng ngày, nhưng câu trả lời của Jeroen chỉ là một chút sâu sắc hơn. Cảm ơn bạn, mặc dù, đã dành thời gian để trả lời.
Christian

8

Tôi sẽ sử dụng một bộ chia điện trở và sau đó bảo vệ uC với Zener 5.1v

Nếu bạn đặt zener giữa pin và mặt đất song song với, điện trở kéo xuống 10k, sau đó đưa tín hiệu chia điện áp của bạn vào thì ... zener là quá đủ nhanh, và rẻ / dễ dàng.

Tôi thường làm điều này và phân chia tín hiệu trước bit zener bằng một cái nồi.

Tùy chọn khác là như được liên kết, nếu bạn thực sự lo lắng có thể sử dụng opto, nếu đó không phải là vấn đề an toàn, tôi sẽ sử dụng pin ở trên hoặc pin thường cao từ 5V Vcc và kéo nó xuống thấp bằng một cái đầu (tắt khỏi đầu tôi 2N7000 sẽ hoạt động) - nhưng nó ít đơn giản hơn tùy chọn zener.


7

Nếu các mức tín hiệu là GND và 12V (hoặc> 5V), cách đơn giản nhất và an toàn 100% là:

sơ đồ

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

Nếu nó thực sự phục vụ mục đích của bạn phụ thuộc vào trở kháng thực tế của tín hiệu 12V (nên ở dưới mức R1) và ý của bạn là "bẩn".

Ngoài ra, như @MichaelKara chỉ ra một cách chính xác, mức thấp trên đầu vào của CEC có thể được chuyển lên mức thấp của tín hiệu 12V cộng với Vf của diode (lên đến khoảng 0,7V). Bạn nên kiểm tra xem đây có phải là vấn đề trong trường hợp của bạn hay không. Nếu có, bạn vẫn có thể thử và sử dụng diode Schottky với Vf khoảng 0,35V.


Trên hầu hết các loạiCraft, người ta thậm chí có thể thả điện trở và kích hoạt pullup bên trong cho pin đó.
Janka

Giải pháp diode được đề xuất ở đây không phải lúc nào cũng là giải pháp tốt nhất hoặc tối ưu. Điện áp đầu vào mức thấp được trình bày cho MCU sẽ cao hơn GND bởi một lần giảm điện áp chuyển tiếp diode cộng với điện áp đầu ra mức thấp chưa từng có đang tạo ra tín hiệu 0 đến 12V. Đây có thể là một vấn đề đặc biệt trong đó các tín hiệu có thể mang nhiễu và đầu vào MCU được chỉ định với các mức điện áp loại TTL cho V <sub> IL </ sub>. Thông thường thông số kỹ thuật này có thể chỉ 0,8V. Vì vậy, nếu giải pháp này được sử dụng hãy cẩn thận và ít nhất là cụ thể một diode giảm điện áp chuyển tiếp thấp như BAT54.
Michael Karas

@MichaelKara Bạn nói đúng về sự dịch chuyển mức thấp của Vf của diode; điều này cần phải được tính đến. Đối với tôi, đối với 5V 5V, V [IL] là 0,8V có vẻ đặc biệt thấp. Tôi dường như thường tìm thấy 0,3Vcc (~ 1,5V) spec'd.
JimmyB

Nếu MCU của bạn có thông số loại CMOS cho V <sub> IL </ sub> thì có thể nó hoạt động tốt. Tôi vẫn thích thiết kế theo cách có thể hoạt động ngay cả khi thông số kỹ thuật thấp hơn mức đó chỉ để đạt được mức lợi nhuận hoạt động càng nhiều càng tốt. Ngay cả sự khác biệt của việc chỉ định một diode thả thấp cũng là một bước tốt nếu bạn chọn sử dụng loại mạch này. Mạch của bạn không đặc biệt tốt cho các trường hợp có thể có các chuyến du ngoạn tiêu cực trên đầu vào 12V.
Michael Karas

Tôi đồng ý. Thiết kế cho lề là một điều tốt. Và điện áp âm trên tín hiệu 12V thực sự có thể làm hỏng mạch điện.
JimmyB

5

Tôi sẽ sử dụng một bộ cách ly quang, 100Hz dễ dàng nằm trong phạm vi của bất kỳ loại nào. 4n25 liên quan đến một số phần chung và tôi biết rằng nó có khả năng tốt hơn 100Hz.


Vấn đề với việc sử dụng bộ cách ly opto để giải quyết vấn đề này là nó giả định rằng bạn có thể rút dòng điện từ tín hiệu 12V. Bạn có thể đệm tín hiệu 12V nhưng sau đó sẽ cần thêm nguồn cung cấp.
Jason Morgan

Tôi chắc chắn rằng bạn có thể có được một opto sẽ có hiệu quả gần như cùng dòng với đầu vào vi mô, từ 12 v, nó sẽ không đặt nhiều tải vào để chiếu sáng một đèn LED nhỏ.
John U

1
Rò rỉ đầu vào kỹ thuật số thường nằm trong khoảng từ 10nA đến 1uA (phụ thuộc vào nhiệt độ và quy trình). Tôi chưa bao giờ bắt gặp một bộ ghép opto hoạt động ở mức 1uA. Một bộ ghép opto điển hình, được bán trên thị trường với công suất thấp, ví dụ Broadcom ACPL-x6xL cần 1.6mA. Đó là từ 1600 đến 160000 lần so với hiện tại. Nhưng sau đó, như tôi nêu trong câu trả lời của mình, nó phụ thuộc vào yêu cầu những gì sẽ hoạt động nên tôi không loại bỏ một giải pháp opto.
Jason Morgan


2

Phương thức được chọn một phần phụ thuộc vào tín hiệu đầu vào làm gì, nó hoạt động như thế nào và điều đó có thể ảnh hưởng đến mạch đầu vào và mã đọc nó như thế nào?

vd: Có phải luôn luôn là 12V không? Nó có gai hay tiếng ồn không? Nó có thể lái bao nhiêu hiện tại? Hiện tại có thể được điều khiển vào nó? Sẽ lấy hiện tại từ nó ảnh hưởng đến bất cứ điều gì khác? Có an toàn quan trọng không? ....

Bởi vì điều này không bao giờ có thể có một câu trả lời chung cho câu hỏi này vì giải pháp 'chính xác' phụ thuộc vào phần còn lại của hệ thống. Các giải pháp được lựa chọn đáp ứng các yêu cầu sẽ có chi phí và độ phức tạp khác nhau.

Điều đó nói rằng, như chưa có ai khác đề xuất, tôi sẽ chọn đầu vào FET.

JFE hoặc MOSFET có thể được sử dụng và có thể là nguồn chung hoặc chế độ thoát chung. Ví dụ, cống chung:

sơ đồ

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

Ưu điểm của chế độ cống chung là cho phép đầu vào được kết nối với cả tín hiệu tương tự (ví dụ ADC) hoặc chân kỹ thuật số. Nếu tín hiệu thực sự là kỹ thuật số, tôi sẽ kích hoạt bộ kích hoạt schmitt trên đầu vào CPU (nếu có) hoặc thêm bộ đệm schmitt bên ngoài vào chân đầu vào của CPU.

Ưu điểm

  • Trở kháng đầu vào rất cao
  • Đầu vào cách ly một phần (có thể chịu được +/- 30V, tùy thuộc vào lựa chọn FET)
  • Tương tự có thể
  • Hiệu ứng tối thiểu trên tín hiệu bên ngoài

1

sơ đồ

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

Hình 1. Giao diện cách ly Opto. Sử dụng pull-up nội bộ trên GPIO.

Một bộ cách ly quang giải quyết một số vấn đề.

  • Cách ly hoàn toàn giữa mạch 12 V và logic 5 V.
  • Xử lý tín hiệu 12 V bẩn mà không có rủi ro.
  • Sự đơn giản.

1

sơ đồ

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

R1, R2 và C1 tạo thành một bộ chia điện áp với bộ lọc thông thấp 1kHz. Bất kỳ tín hiệu tần số cao không mong muốn đi trên 12V có thể được lọc đi. Tính toán cho tần số bộ lọc là 1 / (2 pi R2 C1). Lưu ý: Cơ sở yêu cầu ít nhất 0,7V để hoạt động đúng, cẩn thận khi điều chỉnh điện trở.

BJT đang được sử dụng vì nó rất phổ biến so với mosfet. Trong trường hợp 12V vẫn hoạt động nhưng 5V cho uC của bạn bị hỏng, BJT sẽ không truyền dòng điện vào pin và gây ra thiệt hại.

Đối với lập trình uC, sử dụng kích hoạt cao đến thấp để đếm xung của bạn. Vì mạch này sẽ đảo ngược xung.


-2

Nói chung, đầu vào MCU đã được bảo vệ bằng điốt kẹp, miễn là bạn có điện trở với giá trị được tối ưu hóa (đủ cao cho kẹp và đủ thấp để lấy mẫu) và có khả năng bỏ qua tốt giữa VDD và VSS, bạn không có lo lắng về nó Vì vậy, chỉ cần một điện trở là đủ.

chỉnh sửa: Nhờ bình luận của PeterJ, tôi muốn giải thích thêm một chút. MCU rút ra ít năng lượng nhất (giả sử nó không ngủ), công suất bỏ qua, giá trị điện trở; khi tất cả những thứ này ở điểm thỏa hiệp - trong đó dễ dàng là trường hợp rất chung chỉ với điều kiện sử dụng điện trở khoảng 10kOhm- điện trở duy nhất là tốt cho ứng dụng đơn giản của OP.


4
Một vấn đề tôi đã gặp phải với điều này nhiều năm trước là trong khi nó có thể không làm hỏng bất cứ thứ gì Vcc bên trong có thể trôi đi một chút (cho đến khi diode tiến hành) và tùy thuộc vào vi điều khiển có thể loại bỏ những thứ như đọc ADC.
PeterJ

@PeterJ Nó hoạt động tốt nếu bạn có thể đảm bảo rằng ít nhất là nhiều dòng điện được lấy ra khỏi nguồn cung. Trong trường hợp xấu nhất, thêm một điện trở giả khác
CL.

Mặc dù "khó chịu" tôi đã thấy điều này được thực hiện trên nhiều mặt hàng tiêu dùng giá rẻ. Tôi đã sửa chữa đồng hồ báo thức một lần khi nguồn điện được đưa vào đầu vào kỹ thuật số thông qua bộ chỉnh lưu 10M làm tham chiếu thời gian. Không ngạc nhiên khi con chip đã chết.
Jason Morgan

-5

Bạn có thể chọn bộ điều chỉnh điện áp LM7805 / LM7804 cho 5V và 3.3V. Tôi giả sử uC được cách ly với tải yêu cầu hiện tại, nếu có.


1
Đó là sự sáng tạo. Nhưng bạn sẽ hoạt động ra khỏi spec trên tốc độ cao. Nếu đó là tất cả những gì bạn đã nằm xung quanh, có lẽ.
Jeroen3
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.