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ơ đồ chân cho biết rằng nó có tám kênh analog từ CH0-CH7.
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.
PCF8591, ADC0804 , ADS1115
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ó 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.
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
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.
>>> 100+ Mã Sản Phẩm Dây Rút: https://mecsu.vn/san-pham/day-rut-nhua.5op
>>> 1000+ Mã Sản Phẩm Đầu Cosse: https://mecsu.vn/san-pham/dau-cosse.Q1j
>>> Mời anh em xem thêm: