Bộ chuyển đổi ADC 8 kênh 10 bit MCP3008 với giao tiếp SPI

0
356

MCP3008 là bộ chuyển đổi tín hiệu Analog sang tín hiệu Digital 10 bit có tám kênh đầu vào single-ended. Nó có giao thức SPI truyền/nhận dữ liệu nối tiếp 4 dây được dùng để nhận tín hiệu đầu ra digital cho các kênh.

Có mạch lấy mẫu và giữ tín hiệu. Chân analog và kỹ thuật số nối mass giúp giảm nhiễu. Thích hợp với các ứng dụng hệ thống nhúng (embedded systems).

Ngoài ra, MCP4008 hỗ trợ 4 đầu vào analog hoặc 8 đầu vào single-ended. Hơn nữa, nó có tốc độ lấy mẫu tín hiệu 200ksps. Quan trọng nhất là có thể sử dụng giao thức SPI để lấy dữ liệu digital từ tất cả các chân đầu vào.

Sơ đồ cấu hình chân

Sơ đồ chân cho biết rằng nó có tám kênh analog từ CH0-CH7.

Sơ đồ cấu hình chân

Mô tả chân

Chân 1 đến 8: CH0 đến CH7

Đây là các đầu vào analog từ kênh 0 đến kênh 7. Các kênh này có thể được cấu hình thành bốn đầu vào single-ended hoặc hai cặp đầu vào pseudo-differential. Ở chế độ pseudo-differential, mỗi cặp kênh được lập trình có đầu vào IN + và IN- bằng cách gửi một chuỗi lệnh nối tiếp.

Chân 9: DGND

Là chân nối mass digital được kết nối bên trong mạch.

Chân 10: / SHDN

Là chân chọn chip, được sử dụng để bắt đầu giao tiếp với thiết bị bằng cách kết nối chân này với mức logic thấp. Nếu nó đã ở mức logic thấp, thì nên kéo lên lên mức logic cao rồi xuống mức logic thấp lại để bắt đầu giao tiếp. Khi được kéo đến mức logic cao, nó sẽ kết thúc một lần chuyển đổi dữ liệu.

Chân 11: Din

Đây là chân đầu vào cho dữ liệu nối tiếp.

Chân 12: Dout

Là đầu ra dữ liệu nối tiếp được sử dụng cho giao thức SPI. Ở mỗi cạnh xung tích cực thấp của tín hiệu xung clock, dữ liệu sẽ chuyển đổi và được đưa ra trên chân này.

Chân 13: CLK

Là chân tín hiệu xung clock truyền dữ liệu nối tiếp được sử dụng để bắt đầu chuyển đổi và gửi từng bit ra ngoài khi quá trình chuyển đổi diễn ra.

Chân 14: AGND

Là chân nối mass analog được kết nối bên trong với mạch analog, được kết nối với điện áp tham chiếu.

Chân 15: Vref

Được kết nối với điện áp tham chiếu và được sử dụng để xác định phạm vi của điện áp analog.

Chân 16: VDD

Cấp điện áp dương vào mạch.

Lựa chọn tương đương MCP3008

PCF8591, ADC0804 ADS1115

Các đặc tính của bộ ADC MCP3008

  • IC ADC 8 kênh với độ phân giải 10 bit và giao thức truyền thông SPI nối tiếp.
  • Có các đầu vào analog có thể lập trình được, có thể được cấu hình ở chế độ single-ended hoặc pseudo-differential.
  • Điện áp hoạt động từ 2.7V đến 5V.
  • Chip sử dụng kiến ​​trúc vi mạch Successive Approximation (SAR) để chuyển đổi ADC.
  • Tốc độ lấy mẫu lần lượt là 200ksps đối với 5V và 75ksps đối với 2.7V.
  • Dựa trên công nghệ CMOS công suất thấp
  • Phạm vi nhiệt độ từ -40 ° C đến + 85 ° C.
  • Có dòng điện ở chế độ ngủ 5 nA và dòng điện hoạt động bình thường là 320 µA.

Nơi ứng dụng

Có một số thiết bị như Raspberry pi không có phần cứng phục vụ cho bộ chuyển đổi analog sang digital do đó chúng không thể đọc đầu vào analog, vì vậy bạn cần một mạch chuyển đổi.

Đối với các thiết bị như vậy, bạn có thể sử dụng chip MCP3008. Chip này sử dụng giao thức SPI để giao tiếp nên khi sử dụng Raspberry Pi chỉ cần bốn chân GPIO. Vì vậy, bạn có thể nhận thêm 8 đầu vào analog bằng cách sử dụng chip này.

Cảm biến sử dụng đầu ra analog. Do đó, nhiều thiết bị cần bộ chuyển đổi ADC để đọc các đầu ra này. MCP3008 có thể được sử dụng để chuyển đổi các tín hiệu analog thành tín hiệu digital.

Cách sử dụng MCP3008

Có công nghệ kiến ​​trúc vi mạch SAR ADC có một mạch lấy mẫu tích hợp và một tụ điện. Kiến trúc này thực hiện lấy mẫu với một tụ điện Sample/Hold trong 1.5 chu kỳ xung clock có xung cạnh lên đầu tiên của chu kỳ xung nhịp. Sau đó ADC xuất đầu ra digital 10 bit tùy thuộc vào giá trị điện tích trên tụ điện S/H (Sample/Hold)

Giao tiếp với MCP3008 được thực hiện bằng cách hạ mức logic xuống thấp ở chân CS. Khi có tín hiệu xung nhịp đầu tiên (khi CS ở mức logic thấp và DIN ở mức logic cao), bit đầu tiên nhận được sẽ là bit bắt đầu và theo sau là bit SGL / DIFF (xác định chế độ chuyển đổi Single-ended hoặc chế độ Differential).

Sau đó, ba bit tiếp theo là D0, D1 và D2 ​​được sử dụng để chọn kênh. Khi có xung cạnh lên thứ tư của xung clock và sau khi bit bắt đầu được nhận thì việc lấy mẫu giá trị các đầu vào analog sẽ được bắt đầu.

Cách sử dụng MCP3008

Chọn điện áp tham chiếu

Tùy thuộc vào dải điện áp đầu vào analog kết nối với các kênh tương tự mà có thể chọn điện áp tham chiếu với sự hỗ trợ của chân điện áp tham chiếu. Dải điện áp đầu vào nhỏ hơn độ dài bit LSB.

Độ dài LSB = Vref / 1024

Cách tính giá trị đầu ra digital

Có thể tính điện áp tham chiếu đầu ra bằng công thức này.

Output digital = 1024 x Vin / Vef

Bit cấu hình

bít cấu hình

Bảng được đưa ra hiển thị các bit cấu hình để chọn chế độ.

Mạch giao tiếp đơn giản với MCP3008

Sơ đồ kết nối của Arduino với IC MCP3008.

Sơ đồ kết nối của Arduino với IC MCP3008.

Các ứng dụng

  • Thu thập dữ liệu
  • Robot
  • Bộ ghi dữ liệu đa kênh
  • Thiết bị đo lường
  • Điều khiển động cơ servo
  • Cảm biến thông minh

>>> Mời anh em xem thêm:

Tôi là một người làm việc trong lĩnh vực cơ khí, thiết bị công nghiệp....Blog là nơi tôi chia sẻ thông tin hữu ích đến các bạn đọc.
Subscribe
Notify of
0 Bình luận
Inline Feedbacks
View all comments