- Thế giới Analog với Điện tử kỹ thuật số
- ADC là gì và làm thế nào để sử dụng nó?
- Độ phân giải (bit) và các kênh trong ADC
- Điện áp tham chiếu cho một ADC
- Thí dụ
- Các loại ADC và hoạt động
- Một số câu hỏi thường phát sinh trên ADC
Thế giới Analog với Điện tử kỹ thuật số
Vài năm trở lại đây, toàn bộ các thiết bị điện tử mà chúng ta sử dụng ngày nay như điện thoại, máy tính, Ti vi, v.v. có bản chất là analog. Sau đó, dần dần điện thoại cố định được thay thế bằng điện thoại di động hiện đại, Ti vi CRT và màn hình được thay thế bằng màn hình LED, máy tính có ống chân không phát triển mạnh mẽ hơn với bộ vi xử lý và vi điều khiển bên trong chúng, v.v.
Trong thời đại kỹ thuật số ngày nay, tất cả chúng ta đều được bao quanh bởi các thiết bị điện tử kỹ thuật số tiên tiến, điều này có thể đánh lừa chúng ta nghĩ rằng mọi thứ xung quanh chúng ta đều là kỹ thuật số, điều này không đúng. Thế giới luôn có bản chất tương tự, chẳng hạn như mọi thứ mà con người chúng ta cảm nhận và trải nghiệm như tốc độ, nhiệt độ, vận tốc không khí, ánh sáng mặt trời, âm thanh, v.v. đều có bản chất tương tự. Nhưng các thiết bị điện tử của chúng tôi chạy trên bộ vi điều khiển và bộ vi xử lý không thể đọc / giải thích các giá trị tương tự này trực tiếp vì chúng chỉ chạy trên 0 và 1. Vì vậy, chúng tôi cần một cái gì đó sẽ chuyển đổi tất cả các giá trị tương tự này thành số 0 và số 1 để bộ vi điều khiển và bộ vi xử lý của chúng tôi có thể hiểu chúng. Cái này được gọi là Bộ chuyển đổi Analog sang Digital hoặc viết tắt là ADC. Trong bài viết này chúng ta sẽ tìm hiểumọi thứ về ADC và cách sử dụng chúng.
ADC là gì và làm thế nào để sử dụng nó?
Như đã nói ở trên, ADC là viết tắt của từ Analog sang kỹ thuật số chuyển đổi và nó được sử dụng để chuyển đổi các giá trị tương tự từ thế giới thực thành các giá trị kỹ thuật số như 1 và 0. Vậy những giá trị tương tự này là gì? Đây là những thứ mà chúng ta thấy trong cuộc sống hàng ngày như nhiệt độ, tốc độ, độ sáng, v.v. Nhưng hãy đợi đấy !! ADC có thể chuyển đổi trực tiếp nhiệt độ và tốc độ thành các giá trị số như 0 và 1 không?
Không thách thức không. Một bộ ADC chỉ có thể chuyển đổi các giá trị điện áp tương tự thành các giá trị số. Vì vậy, thông số nào chúng ta muốn đo, trước tiên nó phải được chuyển đổi thành điện áp, việc chuyển đổi này có thể được thực hiện với sự trợ giúp của cảm biến. Ví dụ để chuyển đổi các giá trị nhiệt độ thành điện áp, chúng ta có thể sử dụng Thermistor tương tự để chuyển đổi độ sáng thành điện áp, chúng ta có thể sử dụng LDR. Khi nó được chuyển đổi thành điện áp, chúng ta có thể đọc nó với sự trợ giúp của ADC.
Để biết cách sử dụng ADC trước tiên chúng ta nên làm quen với một số thuật ngữ cơ bản như, độ phân giải kênh, phạm vi, điện áp tham chiếu, v.v.
Độ phân giải (bit) và các kênh trong ADC
Khi bạn đọc thông số kỹ thuật của bất kỳ Vi điều khiển hoặc IC ADC nào, thông tin chi tiết của ADC sẽ được cung cấp bằng cách sử dụng các kênh thuật ngữ và Độ phân giải (bit). Ví dụ , ATmega328 của Arduino UNO có ADC 8 kênh 10-bit. Không phải mọi chân trên vi điều khiển đều có thể đọc được điện áp Analog, thuật ngữ 8 kênh có nghĩa là có 8 chân trên vi điều khiển ATmega328 này có thể đọc được điện áp Analog và mỗi chân có thể đọc được điện áp với độ phân giải 10-bit. Điều này sẽ khác nhau đối với các loại Vi điều khiển khác nhau.
Giả sử rằng dải ADC của chúng ta là từ 0V đến 5V và chúng ta có ADC 10 bit, điều này có nghĩa là điện áp đầu vào 0-5 Volts của chúng ta sẽ được chia thành 1024 mức giá trị tương tự rời rạc (2 10 = 1024). Có nghĩa là 1024 là độ phân giải cho ADC 10 bit, tương tự đối với ADC 8 bit độ phân giải sẽ là 512 (2 8) và đối với độ phân giải ADC 16 bit sẽ là 65,536 (2 16).
Với điều này nếu điện áp đầu vào thực tế là 0V thì ADC của MCU sẽ đọc nó là 0 và nếu nó là 5V, MCU sẽ đọc 1024 và nếu nó ở đâu đó giữa như 2,5V thì MCU sẽ đọc 512. Chúng ta có thể sử dụng các công thức dưới đây để tính toán giá trị kỹ thuật số sẽ được MCU đọc dựa trên độ phân giải của ADC và điện áp hoạt động.
(Độ phân giải ADC / Điện áp hoạt động) = (Giá trị số ADC / Giá trị điện áp thực tế)
Điện áp tham chiếu cho một ADC
Một thuật ngữ quan trọng khác mà bạn nên làm quen là điện áp tham chiếu. Trong quá trình chuyển đổi ADC, giá trị của điện áp chưa biết được tìm thấy bằng cách so sánh nó với một điện áp đã biết, điện áp đã biết này được gọi là Điện áp tham chiếu. Thông thường tất cả MCU đều có tùy chọn đặt điện áp tham chiếu bên trong, nghĩa là bạn có thể đặt điện áp này bên trong thành một số giá trị có sẵn bằng phần mềm (chương trình). Trong bảng Arduino UNO, điện áp tham chiếu được đặt thành 5V theo mặc định bên trong, nếu được yêu cầu, người dùng có thể đặt điện áp tham chiếu này bên ngoài thông qua chân Vref sau khi thực hiện các thay đổi cần thiết trong phần mềm.
Luôn nhớ rằng giá trị điện áp tương tự đo được phải luôn nhỏ hơn giá trị điện áp tham chiếu và giá trị điện áp tham chiếu phải luôn nhỏ hơn giá trị điện áp hoạt động của bộ vi điều khiển.
Thí dụ
Ở đây chúng tôi đang lấy ví dụ về ADC có độ phân giải 3 bit và điện áp tham chiếu 2V. Vì vậy, nó có thể ánh xạ điện áp tương tự 0-2v với 8 (2 3) mức khác nhau, như thể hiện trong hình dưới đây:
Vì vậy, nếu điện áp tương tự là 0,25 thì giá trị kỹ thuật số sẽ là 1 ở hệ thập phân và 001 ở dạng nhị phân. Tương tự như vậy nếu điện áp tương tự là 0,5 thì giá trị kỹ thuật số sẽ là 2 ở dạng thập phân và 010 ở dạng nhị phân.
Một số vi điều khiển có sẵn ADC như Arduino, MSP430, PIC16F877A nhưng một số vi điều khiển không có nó như 8051, Raspberry Pi, v.v. và chúng ta phải sử dụng một số IC chuyển đổi Analog sang số bên ngoài như ADC0804, ADC0808.
Dưới đây, bạn có thể tìm thấy các ví dụ khác nhau về ADC với các bộ vi điều khiển khác nhau:
- Làm thế nào để sử dụng ADC trong Arduino Uno?
- Hướng dẫn sử dụng Raspberry Pi ADC
- Giao tiếp ADC0808 với Vi điều khiển 8051
- Vôn kế kỹ thuật số 0-25V sử dụng Vi điều khiển AVR
- Cách sử dụng ADC trong STM32F103C8
- Cách sử dụng ADC trong MSP430G2
Các loại ADC và hoạt động
Có rất nhiều loại ADC, những loại được sử dụng phổ biến nhất là Flash ADC, ADC độ dốc kép, xấp xỉ kế tiếp và ADC độ dốc kép. Để giải thích cách thức hoạt động của từng ADC này và sự khác biệt giữa chúng sẽ nằm ngoài phạm vi của bài viết này vì chúng khá phức tạp. Nhưng để đưa ra một ý tưởng sơ bộ, ADC có một tụ điện bên trong sẽ được sạc bằng điện áp tương tự cần đo. Sau đó, chúng tôi đo giá trị điện áp bằng cách phóng điện tụ điện trong một khoảng thời gian.
Một số câu hỏi thường phát sinh trên ADC
Làm thế nào để đo nhiều hơn 5V bằng ADC của tôi?
Như đã thảo luận trước đó, một mô-đun ADC không thể đo giá trị điện áp nhiều hơn điện áp hoạt động của bộ vi điều khiển. Đó là một vi điều khiển 5V chỉ có thể đo tối đa 5V với chân ADC của nó. Nếu bạn muốn đo bất cứ điều gì nhiều hơn điều đó nói, bạn muốn đo 0-12V thì bạn có thể ánh xạ 0-12V thành 0-5V bằng cách sử dụng bộ chia điện thế hoặc mạch phân áp. Mạch này sẽ sử dụng một cặp điện trở để ánh xạ các giá trị cho một MCU, bạn có thể biết thêm về mạch phân áp bằng cách sử dụng liên kết. Đối với ví dụ trên, chúng ta nên sử dụng điện trở 1K và điện trở 720 ohm mắc nối tiếp với nguồn điện áp và đo điện áp giữa các điện trở như đã thảo luận trong liên kết ở trên.
Làm thế nào để chuyển đổi Giá trị kỹ thuật số từ ADC thành Giá trị điện áp thực tế?
Khi sử dụng bộ chuyển đổi ADC để đo điện áp tương tự, kết quả thu được bởi MCU sẽ ở dạng kỹ thuật số. Ví dụ: trong bộ vi điều khiển 10-bit 5V khi điện áp thực tế được đo là 4V, MCU sẽ đọc nó là 820, chúng ta có thể sử dụng lại các công thức đã thảo luận ở trên để chuyển đổi 820 thành 4V để chúng ta có thể sử dụng nó trong các phép tính. Hãy kiểm tra chéo giống nhau.
(Độ phân giải ADC / Điện áp hoạt động) = (Giá trị số ADC / Giá trị điện áp thực tế) Giá trị điện áp thực tế = Giá trị số ADC * (Điện áp hoạt động / Độ phân giải ADC) = 820 * (5/1023) = 4.007 = ~ 4V
Hy vọng bạn có một ý tưởng hợp lý về ADC và cách sử dụng chúng cho các ứng dụng của bạn. Nếu bạn có bất kỳ vấn đề nào trong việc hiểu các khái niệm, vui lòng gửi ý kiến của bạn bên dưới hoặc viết nó trên diễn đàn của chúng tôi.