Làm thế nào tôi có thể kết nối một bộ chuyển đổi tương tự sang kỹ thuật số (ADC)?


22

Tôi đang xem xét các lựa chọn cho ADC trên Rasbperry Pi. Tôi đang tự hỏi những gì có thể cho đến nay. Tất nhiên dễ dàng và rẻ là tốt.


Mày cần nó để làm gì?
Jivings

@Jivings, tôi đang nghĩ về một vài dự án có thể thực hiện với tỷ lệ mẫu tương đối thấp.
John La Rooy

Câu trả lời:


15

Adafruit có một tốt đẹp hướng dẫn về cách sử dụng MCP3008 ($ 3.75) - 8-Channel 10-Bit ADC Với SPI giao diện để điều khiển âm lượng của một tập tin mp3, nhưng nó sẽ cho bạn một tốt điểm bắt đầu cho bất kỳ tương tự đối với dự án kỹ thuật số.


1
Cả Arduino và PICAXE đều là những giải pháp sai ở đây.
Alex Chamberlain

Tôi không đồng ý rằng Arduino là giải pháp sai ở đây. Arduino sử dụng USB trong khi MCP3008 sử dụng SPI. Arduino đã sẵn sàng và sẵn sàng để sử dụng trong khi MCP3008 sẽ cần một số phụ kiện và công việc để bắt đầu. MCP3008 rẻ hơn, nhưng vào thời điểm bạn thêm vào tất cả những thứ bạn cần (GPIO thoát ra, lắp bánh mì ..) khoảng cách chi phí không lớn như vẻ ngoài của nó. Tất cả trong tất cả nếu bạn muốn thử nghiệm và nhanh chóng xoay quanh Arduino là tùy chọn ưu việt, nhưng nếu bạn đang tìm kiếm một bản cài đặt vĩnh viễn, tôi sẽ đồng ý rằng MCP3008 hoạt động tốt nhất.
Dan B

8

ADS1115

ADS1113, ADS1114 và ADS1115 là các bộ chuyển đổi tương tự sang số chính xác (ADC) với độ phân giải 16 bit được cung cấp trong gói QFN-10 siêu nhỏ, không chì hoặc gói MSOP-10. ADS1113 / 4/5 được thiết kế với độ chính xác, sức mạnh và dễ thực hiện trong tâm trí. ADS1113 / 4/5 có tính năng tham chiếu và bộ dao động trên tàu. Dữ liệu được truyền qua giao diện nối tiếp tương thích I²C; bốn địa chỉ nô lệ I²C có thể được chọn. ADS1113 / 4/5 hoạt động từ một nguồn cung cấp điện duy nhất từ ​​2.0V đến 5.5V.

Trước tiên, bạn cần đảm bảo các mô-đun I²C được tải . Tiếp theo kết nối ADS1115 như hình dưới đây. Có 4 địa chỉ khác nhau có thể tùy thuộc vào pin ADDR được kết nối với. Điều này có nghĩa là bạn có thể kết nối tổng cộng 16 kênh với một xe buýt I²C.

GND = 0x48, VDĐ = 0x49, SDA = 0x4A, SCL = 0X4B

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

Bạn có thể thấy kết quả của chuyển đổi cuối cùng như thế này

# i2cget -y 0 0x49 0 w
0x0000

Mặc định 0x0000 được trả về ở đây vì chưa có chuyển đổi nào được thực hiện. Bây giờ hãy xem đăng ký cấu hình

# i2cget -y 0 0x49 1 w
0x8385

LSB là đầu tiên, vì vậy điều này tương đương với 0b1000010110000011

Tôi muốn thực hiện chuyển đổi một lần kết thúc trên AIN0, vì vậy tôi cần phải viết các bit [14:12] như 0b100. I E0b1100010110000011

# i2cset -y 0 0x49 1 0xC385 w
# i2cget -y 0 0x49 0 w
0xa30b

LSB là đầu tiên, do đó, nó bằng 2979 thập phân


1
không phải các loại gói này khó làm việc hơn một chút vì kích thước / khoảng cách pin? Đặc biệt đối với những người như tôi bị viêm khớp (điều này hạn chế sự khéo léo của tôi.
Steve Robillard

@SteveRobillard, vâng họ khó khăn hơn để làm việc với, nhưng chắc chắn dễ dàng hơn chúng xuất hiện để được. Đối với MSOP, nó giúp có độ phóng đại, thông lượng, bấc hàn và trạm hàn tốt. Bạn có thể có một vài bước để giải quyết một góc của MSOP với một số vật hàn cho đến khi bạn hài lòng với định vị. Kích thước nhỏ sẽ giúp giảm tiếng ồn trong mạch, vì vậy nó đáng để thử, bạn có thể ngạc nhiên.
John La Rooy

1

Miễn là sử dụng mong muốn của bạn không đòi hỏi bitrate hoặc độ phân giải siêu cao, bạn có thể chỉ cần sử dụng một Arduino. Arduinos rất tuyệt vì họ có một cộng đồng lớn để được hỗ trợ, họ đã có mặt một thời gian và giao tiếp qua USB không có GPIO!

Đây là một liên kết đến bài đăng trên blog của Simon Monk với các hướng dẫn về cách anh ấy giao tiếp với Arduino từ Raspberry Pi với con trăn.

Ngoài ra, chỉ trong trường hợp bạn chưa bao giờ nghe nói về Arduino trước đây (có lẽ bạn đã sống dưới một tảng đá) đây là một liên kết đến trang Giới thiệu của họ và một ví dụ cấp độ mới bắt đầu về đầu vào tương tự.


0

Tương tự như sử dụng Arduino nhưng làm thế nào về một thiết bị PICAXE, được kết nối với RPi UART? Điều này sẽ nhỏ hơn và rẻ hơn nhiều. Đối với tôi, Arduino dường như trên đầu tùy thuộc vào nhu cầu thực tế của bạn.


0

Trong một hoặc hai tháng, (do vận chuyển đến Châu Phi) tôi sẽ nhận được bảng I2C PCF8591 có hỗ trợ hệ thống dây điện Trang web WiresPi và bảng sử dụng 3.3v (thông thường) Tôi đã nhận được phiên bản WaveShare trên amazon Amazon từ những gì tôi ' Tôi đã đọc, PCF8591 khá đẹp nhưng cho đến khi tôi thực sự có bảng trước mặt, tôi không thể nói nó có tốt hay không


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.