View Full Version : Dùng ADC 10bit của 16F877 làm mạch đọc giá trị dòng, áp DC???
tesuika
09-04-2008, 11:10 AM
Chào mọi người,
Em mới tập tìm hiểu về PIC và muốn làm một project để khởi đầu (bỏ qua hello word và nhấp nháy led):
Dùng ADC của Pic (16F877) để đọc dòng áp DC nên ngoài (Vdc=0-12V, Idc=0-1000mA). Hiển thị kết quả ra U/I ra LCD 16x2.
Bác nào có tài liệu hay source code cho mình xin tham khảo nha.
p/s: mình đã post 1 bài bên dientuvietnam.net nhưng thấy bên đó loãng quá (PIC) nên khó học hỏi.
Mong mọi người giúp đỡ,
minhsondaklak
09-04-2008, 03:49 PM
Chào bạn Tesuika !
Lính mới mà nổ ghê ta. Mình cũng là "dân nháy led" thôi, cũng xin mạo muội tham gia ý tưởng cùng bạn, nếu có gì sai thì cùng sửa nha ...!
Mình nghĩ dùng ADC đo áp thì quá rõ rồi, vì ADC thật ra là thể hiện điện áp analog dưới dạng số đó thôi (hình như áp cần đo phải <= điện áp nguồn con Pic)
Nếu dùng ADC 10 bít, đo áp 0-5 V thì có thể dùng công thức sau:
U = ADC_Read() / 204,6 (Vol). (Nếu xài 12 Vol thì chia cho 85,25, thay vi 204,6)
Với ADC_Read() là hàm đọc giá trị ADC (trình dịch MikroC)
Còn đo dòng thì mình ... chịu !
Hiển thị LCD chắc miễn bàn nhỉ, Pic vui nhé !
tesuika
10-04-2008, 10:05 AM
Mình cũng ko biết đo dòng kiểu gì, vấn đề là tải thay đổi nên ko dùng định luật Ohm dc, đang tìm con cảm biến thích hợp cho việc này, nhưng thấy vẫn sao sao ...ai có cách nào hay chỉ bảo giùm nha.
cuteolenpho
10-04-2008, 10:50 AM
Sao ko mắc R shunt nhỏ nt với tải để đo???
tesuika
10-04-2008, 03:34 PM
Sao ko mắc R shunt nhỏ nt với tải để đo???
Em thiết kế mạch đọc như thế này các bác xem hộ có đo dc ko dùm em.
AN0 =>> đưa vào ADC đo dòng = áp (hiển thị mA thì *1000).
AN1 =>> đo sụt áp của nguồn khi thay đổi tải.
=>> ko biết có ổn ko????
Anh nào có tài liệu liên quan về vấn đề này và đã works ok cho em xin links tham khảo nha.
Thanks in advance,
namqn
10-04-2008, 04:13 PM
Em thiết kế mạch đọc như thế này các bác xem hộ có đo dc ko dùm em.
AN0 =>> đưa vào ADC đo dòng = áp (hiển thị mA thì *1000).
AN1 =>> đo sụt áp của nguồn khi thay đổi tải.
=>> ko biết có ổn ko????
Anh nào có tài liệu liên quan về vấn đề này và đã works ok cho em xin links tham khảo nha.
Thanks in advance,
- Không thể tương 12 V thẳng vào AN1 (bạn sẽ đốt chân AN1 của PIC).
- Bạn không mắc nối tiếp RS với tải cần đo dòng.
- 1 ohm thường là giá trị quá lớn nếu dòng tải cỡ A, và áp nguồn khoảng 12 V.
- Với mạch đo dòng của bạn, cần dùng OPAMP loại rail-to-rail cả ngõ vào lẫn ngõ ra.
=> không ổn.
Thân,
tesuika
10-04-2008, 05:05 PM
- Không thể tương 12 V thẳng vào AN1 (bạn sẽ đốt chân AN1 của PIC).
- Bạn không mắc nối tiếp RS với tải cần đo dòng.
- 1 ohm thường là giá trị quá lớn nếu dòng tải cỡ A, và áp nguồn khoảng 12 V.
- Với mạch đo dòng của bạn, cần dùng OPAMP loại rail-to-rail cả ngõ vào lẫn ngõ ra.
=> không ổn.
Thân,
1. Em quên chuyển qua mạch chia áp.
2,3: Rs trong mạch của em vẽ trên thực chất là một điện trở nhỏ để đo dòng theo định luật ohm. Có thể dùng 0.1R/10W để tăng giá trị dòng đo, nhưng mua con này hơi khó, với con 1R/10W có thể đo dc tối đa 3A. Nếu mắc song song làm sao đo dc nhỉ??
4: Sơ đồ này em lấy trong datasheet cùa LM358 nên chắc dùng dc con opamp này????
namqn
10-04-2008, 06:32 PM
1. Em quên chuyển qua mạch chia áp.
2,3: Rs trong mạch của em vẽ trên thực chất là một điện trở nhỏ để đo dòng theo định luật ohm. Có thể dùng 0.1R/10W để tăng giá trị dòng đo, nhưng mua con này hơi khó, với con 1R/10W có thể đo dc tối đa 3A. Nếu mắc song song làm sao đo dc nhỉ??
4: Sơ đồ này em lấy trong datasheet cùa LM358 nên chắc dùng dc con opamp này????
Với dòng 3 A, điện trở RS có giá trị 1 ohm, điện áp rơi trên điện trở này sẽ là 3 V, trong khi điện áp nguồn của bạn chỉ có 12 V. Không rõ bạn có thấy vấn đề ở đây không!?
Sơ đồ 'Ground Referencing a Differential Input Signal' ở trang 16 trong datasheet của LM158 đã được bạn áp dụng một cách máy móc trong sơ đồ của bạn. Theo tên của sơ đồ, mạch dùng để đo một ngõ vào vi sai so với ground, trong đó cả hai ngõ + và - của R đều có áp cao hơn ground. Bạn xem lại mạch mà bạn đã vẽ xem có thỏa mãn điều kiện này không.
Nếu bạn cho rằng mạch của bạn không có vấn đề thì bạn hỏi để làm gì!?
Thân,
cuteolenpho
10-04-2008, 07:46 PM
Nếu mình đoán ko nhầm thì bạn tesui muốn làm mạch thử tải cho adapter laptop,LCD,... hiển thị kết quả ra LCD??? ...nên vấn đề sụt áp ko dc quan tâm đúng mức.
Nếu bạn muốn dùng Current Sensor thì xem qua con MAX4173 giá khoảng 1$ (dùng trong nhiều mạch dk sạc), dùng đo dòng tải tất nhiên ok.
Dùng op-amp mình thấy nó loằng ngoằng sao đó, nên chuyển qua dùng IC tiện hơn.
Have fun,
tesuika
11-04-2008, 10:12 AM
Cám ơn bác, em đã nhờ các bác tư vấn cho dùng loại nào ok mà, dùng op-amp đo dòng em cảm thấy ko ổn, chỉ có điều ko biết ko ổn chỗ nào thôi ...
Bác nào có thêm links hay tài liệu nào về vấn đề này cho em xin tham khảo nha, có C source code cho PIC càng tốt, vì em mới tìm hiểu về PIC nên rất cần những code chuẩn để tham khảo thêm.
Rất cảm ơn mọi người đã giúp đỡ.
linhnc308
11-04-2008, 04:57 PM
Để do dòng DC, bạn có thể tìm các IC của hãng Allegro (www.allegromicro.com/en/Products/Categories/Sensors/currentsensor.asp)
Có rất nhiều loại IC đo dòng chuyên dụng. Tuy nhiên, nếu bạn muốn đo dòng với độ chính xác đến mA thì e hơi khó khăn đấy, phương pháp dùng Rs xem ra là tốt nhất.
cuteolenpho
12-04-2008, 12:52 PM
dùng op-amp đo dòng em cảm thấy ko ổn, chỉ có điều ko biết ko ổn chỗ nào thôi ...
Con MA4173 cũng dùng theo cách op-amp làm thôi, đo dòng bằng Rs, 2 hình mình pót là tương đương (high-side current sense measurement). Tuy nhiên op-amp thì có nhiều loại và đáp ứng khác nhau tùy theo mục đích đo vi sai, khuyếch đại,đệm,... mà sử dụng hợp lí =>> việc phang đại 1 con op-amp nào đó để đo dòng có thể gây nên "ko ổn". IC tích hợp sẵn để làm một mục đích nào đó có thể đảm bảo ok hơn trong chừng mục features của nó.
Have fun,
vandungevn
12-04-2008, 05:31 PM
Nói chung để đo được ngượnin chính xác thì ko được, Dũng thấy trong đồng hồ DT9202 của thằng trung Quôc thì nó dùng điện trở 0.01 (dây dẫn ) để đo dòng 20A -> 200mV dùng cho ICL7107. 0-200mV có thể đưa lên 0-5V đưa vào PIC là ok.
vBulletin® v3.8.11, Copyright ©2000-2025, vBulletin Solutions Inc.