ADC là một công cụ chuyển đổi từ tín hiệu analog sang tín hiệu kỹ thuật số, viết tắt của Analog to Digital Converter, là một mạch chuyển đổi giá trị điện áp liên tục (analog) sang giá trị nhị phân (kỹ thuật số), mà các thiết bị kỹ thuật số có thể hiểu được. Sau đó, nó có thể được sử dụng để tính toán kỹ thuật số. Mạch ADC này có thể là vi mạch ADC hoặc được tích hợp vào một bộ vi điều khiển.
Tại sao cần chuyển đổi từ analog sang kỹ thuật số.
Kỹ thuật số và đen trắng chỉ không phải là chỉ có màu sắc chúng ta đang sống và vẫn hoàn toàn là kỹ thuật số, không còn là thời kỳ của máy tính thiết bị điện tử ngày nay. Thật không may cho các hệ thống số học.
Một cảm biến nhiệt độ như LM35 ví dụ tạo ra điện áp phụ thuộc vào nhiệt độ. Trong trường hợp của thiết bị cụ thể này, nó sẽ tăng 10mV khi nhiệt độ tăng lên mỗi độ. Nếu chúng ta kết nối trực tiếp thiết bị này với đầu vào kỹ thuật số, nó sẽ ghi là cao hoặc thấp tùy thuộc vào các giới hạn đầu vào. Điều này là hoàn toàn vô dụng.
Các bit này được gửi tới bộ xử lý để tính toán và chuyển đổi thành dữ liệu điện áp tương tự để sử dụng. Thay vào đó, chúng ta dùng một bộ ADC để chuyển đổi đầu vào điện áp tương tự thành một chuỗi bit có thể được kết nối trực tiếp với bus dữ liệu của bộ xử lý và được sử dụng để tính toán.
ADC hoạt động như thế nào?
ADC được xem như một công cụ chia tỷ lệ toán học, để nghiên cứu hoạt động của nó một cách rất tốt. Tỷ lệ cơ bản là ánh xạ các giá trị từ một dải này sang một dải khác, do đó ADC ánh xạ một giá trị điện áp sang một số nhị phân.
Một chuỗi các mức logic có thể chuyển đổi điện áp thành một thứ chúng ta cần, ví dụ như trong một bộ nhớ. Tất nhiên, các bộ nhớ chỉ có thể chấp nhận các mức logic làm đầu vào, vì vậy nếu bạn kết nối tín hiệu trực tiếp với đầu vào logic, kết quả sẽ không tốt. Vì vậy cần có một giao diện ở giữa logic và điện áp đầu vào tương tự.
Cách nó hoạt động, chúng ta sẽ tìm hiểu qua khi xem qua, dưới đây là một số tính năng quan trọng của ADC.
ADC nào cũng không hoàn hảo, do đó điện áp tham chiếu được gán cho giá trị nhị phân lớn nhất. Ví dụ: trong bộ chuyển đổi 10 bit, 1111111111 (số nhị phân 10 bit cao nhất có thể) tương ứng với 5V và 0000000000 (số thấp nhất tương ứng với 0V) với điện áp tham chiếu là 5V. Do đó, mỗi bước nhị phân tương đương với khoảng 4,9mV, do có thể có 1024 giá trị trong 10 bit. Độ phân giải của ADC được xác định bởi giá trị điện áp tại mỗi bit này.
Nếu biến đổi điện áp thay đổi dưới 4,9mV mỗi bước, điều gì sẽ xảy ra? Kết quả chuyển đổi luôn có một sai số nhỏ do đặt ADC vào vùng chết. Có thể ngăn chặn sai số này bằng cách sử dụng ADC có độ phân giải cao hơn, ví dụ như bộ ADC lên đến 24 bit, mặc dù tần số chuyển đổi thấp.
Mỗi giây, bộ biến đổi có thể thực hiện số lượng biến đổi từ tín hiệu analog sang kỹ thuật số được gọi là tốc độ lấy mẫu. Ví dụ, tốc độ lấy mẫu của một bộ ADC tốt có thể là 300 triệu mẫu trên giây. Đơn vị này được đọc là megasamples trên giây, tức là một triệu mẫu mỗi giây. Lưu ý rằng tiền tố SI áp dụng ở đây.
Để xem xét tín hiệu đầu vào (thường là thu thập mẫu và lưu hoặc đầu vào tích hợp) và nếu không cần độ chính xác cao thì nó có thể đọc rất nhanh, tốc độ thu thập mẫu phụ thuộc hoàn toàn vào loại bộ chuyển đổi và độ chính xác cần thiết.
Tùy thuộc vào ứng dụng, việc lựa chọn ADC là rất quan trọng. Nguyên tắc tổng quát là tốc độ và độ chính xác có mối quan hệ nghịch đảo với nhau.
Các dạng ADC.
Với một bộ chia điện áp, nó gồm một chuỗi các bộ so sánh với các đầu vào không inverter kết nối với đầu vào tín hiệu và các chân inverter. Đây là loại ADC đơn giản nhất và nhanh nhất.
Hai nhị phân chuyển đổi thành đầu ra mã hóa ưu tiên qua cấp, giải quyết vấn đề này, giới hạn trên cho so sánh dưới cùng, bit được đặt ở mức dưới đầu ra các bit tương tự, một thành phần được áp điện với điện áp cao nếu mức này cao hơn áp điện.
Bởi sự trễ truyền của bộ so sánh và bộ mã hóa ưu tiên, tốc độ chỉ bị hạn chế. Tuy nhiên, độ chính xác là đủ phù hợp.
Tại thời điểm chuyển đổi, một mạch tạo đoạn dốc được khởi đầu và bộ đếm nhị phân được khởi động đồng thời. Một bộ so sánh sẽ phát hiện khi đoạn dốc vượt quá điện áp đầu vào và dừng bộ đếm nhị phân. Tỷ lệ của bộ đếm nhị phân thu được phụ thuộc vào mức độ điện áp đầu vào.
Câu hỏi này vẫn là độ chính xác hoàn hảo của bộ chuyển đổi, tuy nhiên nó thực hiện đơn giản và cung cấp độ phân giải tốt, khoảng cách đều giữa các bước nhị phân. Mạch này có thể được tạo riêng nếu không có vi mạch.
Chính xác nhất có thể là bộ ADC này. Nó gồm một bộ so sánh, một bộ DAC flash đơn giản và một thanh ghi bộ nhớ. Thiết bị ban đầu giả định tất cả các bit trong thanh ghi, trừ bit có ý nghĩa cao nhất (là một), có giá trị là 0. Sau đó, thanh ghi này sẽ được gửi đến DAC để chuyển thành điện áp tương tự, được so sánh với đầu vào thông qua bộ so sánh. Nếu điện áp đầu vào cao hơn điện áp DAC, thì MSB vẫn là một. Quá trình này sẽ được lặp lại cho đến khi tất cả các bit được đặt thành không hoặc một, tức là khi giá trị thanh ghi bằng điện áp đầu vào.
Một trong những ADC thường được sử dụng nhất khi cần độ chính xác và tốc độ không vượt quá giới hạn là ADC này, ví dụ như trong vi điều khiển. ADC loại SA có thể dễ dàng đạt được thời gian chuyển đổi vài micro giây.
Các ứng dụng nên được sử dụng.
Các phép đo trên bo không thể thực hiện hoặc lưu trữ các dạng sóng để sử dụng sau này. Lợi ích chính của máy hiện sóng analog là có rất ít mạch điện giữa đầu nối đầu vào và màn hình, tức là bạn có thể quan sát chính xác những gì đang diễn ra trong mạch theo thời gian thực.
Trung tâm của máy hiện sóng số là một bộ ADC rất mạnh và nhanh với độ phân giải từ 12 bit trở lên, nó khắc phục được tất cả những vấn đề này. ADC chuyển đổi các hình dạng sóng thành giá trị nhị phân có thể được lưu trữ trong bộ nhớ, hoạt động và hiển thị trên màn hình.
ADC được tích hợp sẵn, phổ biến nhất là Arduino dựa trên ATMega328P với độ phân giải 10 bit và STM32 với độ phân giải 12 bit, là phần lớn tất cả các vi điều khiển hiện đại.
Cung cấp Arduino IDE function ‘analogRead ()’ để đọc điện áp analog trên một trong các chân analog và trả về giá trị số nguyên 10 bit, tức là phạm vi từ 0 đến 1023.
Cần có một bộ chuyển đổi số-analog để máy tính đo được điện áp đầu ra và phần lớn các nguồn điện hiện nay đều được điều khiển bằng máy tính.
Cách sử dụng một mạch chuyển đổi tương tự (ADC).
Có rất nhiều module chuyển đổi tương tự (ADC) được sử dụng phổ biến nhất trên thị trường để đo điện áp analog. ADC0804, ADC0808, MCP3008, … Là một số vi mạch ADC. Chúng thường được sử dụng kết hợp với Raspberry pi và vi xử lý hoặc mạch số hóa khác. Điều này là bởi vì ADC tích hợp sẵn không có sẵn. Ví dụ, hãy xem xét vi mạch ADC ADS1115 của Texas Instruments với độ phân giải cao và kiến trúc hiện đại.
QFN hoặc VSSOP có trong bao gói, cho phép một hệ số hình thức rất nhỏ. Nó gần như không chiếm diện tích trên PCB. Rất nhiều sản phẩm được tạo ra bằng việc sử dụng con chip nhỏ này, chúng ta sẽ xem xét một số tính năng của nó dưới đây.
Viết các thư viện mở rộng cho thiết bị, tính năng này giúp bạn rất dễ sử dụng IC này với bo Arduino. Bất kỳ ai đã từng làm việc với vi điều khiển đều biết bus SPI và I2C hữu ích như thế nào để giao tiếp với các thiết bị ngoại vi.
Sử dụng ít điện năng và có khả năng hoạt động trên đa dạng điện áp từ 2.0V đến 5.5V, điều này là một ưu điểm của việc sử dụng bất kỳ vi mạch hiện đại nào.
ADS đi cùng với một bộ so sánh rời rạc, đối với các ứng dụng nhanh thì không có gì vượt trội hơn so với tham chiếu của nó có thể được lập trình qua bus I2C. Tất nhiên.
Có thể là hai cặp sai số (chỉ tính đến chênh lệch điện áp trên các chân đó) hoặc bốn đầu vào đầu mút đơn, bốn đầu vào.
Giới hạn của ADC.