Tại sao tôi có nhiễu xuyên âm trong Arduino ADC, mặc dù trở kháng nguồn thấp?


7

I. QUẦN ÁO:

Dưới đây, Arduino Do đo tín hiệu điện áp từ hai mạch phân chia điện áp song song:

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

Chúng tôi muốn Do đo chính xác các điện áp tại những nơi mà nó tiếp xúc với các bộ chia điện áp. Tuy nhiên, chúng ta thấy nhiễu xuyên âm đáng kể - thay đổi điện trở trong một kênh sẽ thay đổi điện áp ở kênh khác:

TEST I  (R1=R2=10MΩ):
nhập mô tả hình ảnh ở đây

TEST II  (R2=3.3MΩ<R2=10MΩ):
nhập mô tả hình ảnh ở đây

Tuy nhiên, về mặt lý thuyết , chúng ta có thể theo dõi các hiệu ứng này đối với sự rò rỉ hiện tại thông qua Do : Do thường có trở kháng đầu vào khoảng 10 kΩ, nhưng chúng ta đã đặt xung nhịp từ 20 MHz đến 1 MHz, làm tăng trở kháng đầu vào của nó lên 266 kΩ. Vì vậy, các electron trong mạch phân chia điện áp chắc chắn sẽ thích vào Arduino hơn là đi qua 1 MΩ được đặt trước mặt chúng.

II. SAU

Dưới đây, chúng tôi đã thực hiện một sửa đổi nhỏ cho mạch ban đầu của chúng tôi, với hy vọng làm cho các kênh điện áp thực sự độc lập: cả hai tín hiệu được đệm bởi một ADA 4528-2 ( một amp op kênh đôi ):

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

Op amp không có ở đó để khuếch đại tín hiệu: nó cung cấp mức tăng ~ 1.003. Thay vào đó, nó ở đó để che giấu trở kháng cao của mạch mà chúng tôi đang cố gắng đo. Thay vì trở kháng đầu ra là 1 MΩ, trở kháng bây giờ là <0,1:

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

vì vậy các electron nên ở lại trong mạch và không nên có nhiễu xuyên âm nào cả. Tuy nhiên, thật ngạc nhiên, mặc dù có một số cải tiến, vẫn có nhiễu xuyên âm đáng chú ý!:

TEST I  (R1=R2=10MΩ):
nhập mô tả hình ảnh ở đây

TEST II  (R2=3.3MΩ<R2=10MΩ):
nhập mô tả hình ảnh ở đây

Kênh màu đỏ không nên "biết" rằng kênh màu xanh đã tăng sức đề kháng. Tuy nhiên, tín hiệu của nó giảm xuống, khi tôi không thực hiện bất kỳ thay đổi nào đối với kênh màu đỏ - Tôi còn thiếu điều gì từ phân tích của mình (Nhân tiện, tôi đang sử dụng điện trở dung sai thấp <1%)?


Tôi tò mò - Bất kỳ lý do cho các điện trở phản hồi và không chỉ là một người theo dõi điện áp?
MdxBhmt

Sự thiếu hiểu biết của tôi. Tôi đoán một người theo dõi điện áp là đơn giản hơn.
Dave

1
Opamp của bạn có mức tăng 76, không ~ 1!
Nick Johnson

1
Ngoài ra, 10Mohm có rất nhiều sức đề kháng - bạn có thể thấy các hiệu ứng ký sinh ở khắp mọi nơi, bao gồm cả từ các chất gây ô nhiễm trên PCB.
Nick Johnson

1
Bạn có chắc rằng 3.3V của bạn có thể lái đủ ampe không? Với r1, r2 10M có 5,5M đến GND. Với r1 10M r2 3,3M, bạn chỉ có 3M đến GND. Nếu nguồn điện áp của bạn không thể điều khiển bất kỳ tải đáng kể nào, bạn có thể thấy tác động của điện áp đầu vào của mình thấp hơn 3,3V, dẫn đến các phép đo bạn đã đăng. Tôi đã làm việc với các cảm biến chỉ có thể điều khiển các phân số của micro ampere trước đây, vì vậy kích thước điện trở "thông thường" không đủ cao.
FRob

Câu trả lời:


2

Nhiều khả năng đó là vấn đề xảy ra với các kênh tương tự được ghép vào bên trong arduino - hãy thử lấy mẫu với khoảng cách thời gian lớn hơn giữa tín hiệu màu đỏ và màu xanh và điều này hy vọng sẽ giải quyết / chỉ ra vấn đề.


Đề nghị thú vị. Tôi sẽ cho bạn biết kết quả sau vài giờ ...
Dave

Việc mở khóa Arduino hơn nữa (tới 100 kHz) đã giải quyết được vấn đề !!!!
Dave

0

Mặc dù đây là một bài viết cũ, gần đây tôi đã gặp vấn đề tương tự với Arduino Do khi cố gắng đọc hai kênh âm thanh cho máy đo VU. Khi đặt cân bằng chỉ về một kênh, vẫn thấy tín hiệu trên đầu ra của cả hai kênh ADC. Tôi đã thử một độ trễ đáng kể giữa việc đọc hai kênh, nhưng không có may mắn. Điều dường như là mánh khóe đối với tôi, là đọc từng kênh hai lần và chỉ sử dụng chuyển đổi thứ hai.

analogRead(Channel1);
ADCLeft = analogRead(Channel1);
analogRead(Channel2);
ADCRight = analogRead(Channel2);

Bây giờ tôi đã hoàn thành các kênh riêng biệt khi di chuyển thanh trượt cân bằng từ trái sang phải và ngược lại.

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.