Cách dễ nhất và rẻ nhất để có được đầu ra kỹ thuật số từ máy tính đến thế giới thực


8

Tôi cần một số đầu ra kỹ thuật số để kết nối máy tính của tôi với thế giới thực, tuy nhiên có vẻ như công việc này không dễ dàng như tôi mong đợi.

Tôi đã xem xét một số phương pháp khác nhau, từ thẻ I / O kỹ thuật số chuyên dụng, bộ điều khiển vi mô với giao diện USB, cổng nối tiếp, cổng song song, ect. Tuy nhiên, tất cả các giải pháp dường như quá tốn kém, quá nhiều công việc hoặc công nghệ quá lỗi thời.

Tôi hy vọng sẽ có hơn 64 đầu ra kỹ thuật số chạy ở mức xấp xỉ 1khz mỗi đầu ra, có thể điều khiển riêng lẻ. Cho đến nay, ý tưởng tốt nhất tôi có thể đưa ra là gắn các đầu ra của cổng nối tiếp với một thanh ghi dịch chuyển nối tiếp 8 bit sang thanh ghi dịch chuyển song song bất cứ khi nào tôi muốn thay đổi và xuất ra (chạy từ USB sang cổng nối tiếp bộ chuyển đổi). Tôi chưa thử nghiệm điều này vì vậy tôi không biết liệu nó có hoạt động không.

Có phương pháp nhanh và bẩn nào khác để có được một số lượng khá lớn các đầu ra kỹ thuật số rẻ tiền từ máy tính mà tôi có thể dễ dàng kiểm soát với các lệnh C ++ rất cơ bản không?



Bạn đã làm một số toán học? RS232 không phải USB đơn giản thường có tốc độ tối đa 115200bps, tương đương khoảng 10KB. Giả sử mỗi kênh chỉ cần 1 byte (tôi nghi ngờ). Bạn muốn gửi 64 x 1000 byte mỗi giây, khoảng 64KB. Nhiều hơn nữa thông lượng nối tiếp của bạn. Có một số cáp nối tiếp USB tốc độ cao với 921600bps, và mặc dù về mặt lý thuyết tôi có thể nghi ngờ điều này hữu ích vì nó nằm ở rìa và như tôi đã nói 1 byte sẽ đủ cứng và bộ điều khiển vi mô sẽ khó có thời gian cho bất cứ điều gì khác. Bạn sẽ phải giảm nhu cầu của bạn hoặc chuẩn bị ví của bạn.
avra

3
Có lẽ bạn nên đọc lại bình luận của mình cho các lỗi rõ ràng trước khi bạn bash ai đó ... GPOI ghim các bit đầu ra không phải byte. Điều đó có nghĩa là 64 kiloBITS / s, dưới mức tối đa 115,2kbs
Được thực hiện vào

Câu trả lời:


7

Âm thanh như bạn có ý định flash một số đèn Giáng sinh. :-)

Bất cứ điều gì sai với việc sử dụng một arduino hoặc tương tự? Sẽ khá dễ dàng để mở rộng số lượng cổng IO nếu số lượng cổng nói trên mega 1280/2560 không đủ. Bạn có thể lái nó qua thiết bị đầu cuối nối tiếp / USB. Bạn có thể sử dụng các thanh ghi thay đổi trên các chân đầu ra của arduino hoặc bạn có thể sử dụng bộ mở rộng cổng i2c và lái qua đó.

Sử dụng các thành phần tiêu chuẩn như thế sẽ cho bạn thời gian tạo mẫu ngắn nhất.

Lưu ý, cách của tôi có thể không phải là rẻ nhất. Nhưng nó hiệu quả và thực sự sẽ giúp bạn lăn nhanh chóng.


1
Không hoàn toàn với đèn nhấp nháy, tôi đang cố gắng điều khiển 32 động cơ bước trên thiết bị cố định phổ quát tự động nguyên mẫu, ngoại trừ tôi không có bất kỳ khoản tài trợ nào ... hoặc kiến ​​thức về điện tử nào. Có lẽ tôi đã loại bỏ bộ điều khiển vi mô quá nhanh, có bất kỳ tài nguyên từng bước tốt về cách làm thế nào để tăng tốc từ đầu với các ví dụ thực tế? (và tôi có nghĩa là từ dưới lên, tôi có một nền tảng kiến ​​thức khá kỳ lạ, quá lý thuyết và không đủ thực tế, bạn có thể cho rằng tôi hoàn toàn không biết gì ... cảm thấy giống như mọi lúc mọi nơi, heh)
Faken

1
Điều khiển động cơ bước sẽ đòi hỏi một chút thông qua. Bạn sẽ không thể lái chúng trực tiếp từ các chân đầu ra của vi điều khiển. Bạn sẽ cần sử dụng một số 'keo' điện tử ở giữa pin và động cơ để bạn không chiên vi. Giống như bất cứ điều gì tốt nhất để bắt đầu nhỏ và làm việc theo cách của bạn đến các ví dụ nâng cao hơn. Một trong những người đam mê cuồng nhiệt hơn tôi từng thấy xung quanh là tronix ware.wordpress.com có một số thứ tốt cho người mới bắt đầu. Tôi biết anh chàng điều hành nó cũng thường xuyên trao đổi ngăn xếp này.
Cướp

1
Yup, tôi tìm thấy một trình điều khiển động cơ bước rất đẹp để sử dụng ở giữa các tín hiệu điều khiển và động cơ (chỉ cần sử dụng 2 đầu vào, bước và hướng). Tôi sẽ xem qua hướng dẫn mà bạn liên kết, cảm ơn. Btw, để chắc chắn, tôi muốn nó là máy tính của tôi gửi các lệnh theo thời gian thực thông qua chương trình c ++ đến bộ điều khiển vi mô để di chuyển các động cơ. Điều này có thể hoặc rất dễ thực hiện với bộ điều khiển vi mô này?
Được thực hiện vào

1
Tất nhiên. Bộ vi điều khiển đóng vai trò là bộ đệm giữa máy tính và bảng điều khiển động cơ bước. Nó có thể diễn giải các lệnh mà bạn gửi và hành động theo chúng cũng như cung cấp phản hồi cho PC nếu được yêu cầu. Lợi ích khác của việc sử dụng một cái gì đó hơi thông thường là bạn có thể nhận được rất nhiều hỗ trợ / lời khuyên từ cộng đồng, cơ hội luôn tốt khi ai đó đã làm điều gì đó tương tự. Vì vậy, đó là khá tiện dụng trong chính nó. Micro chỉ cung cấp một giao diện chi phí thấp thực sự tốt đẹp giữa pc và bảng điều khiển của bạn.
Cướp

Adaf Berry tạo ra một bảng đẹp có thể được sử dụng để lái 16 động cơ và chúng có thể được xích lại với nhau. Sẽ khá dễ dàng để viết một số mã arduino đọc dữ liệu từ PC và sau đó gửi nó ra bảng điều khiển servo. adafbean.com/products/815
Eric Gunnerson

3

Thanh ghi dịch chuyển nối tiếp sang song song sẽ hoạt động. Sử dụng cổng SPI, bạn sẽ không gặp vấn đề gì với tốc độ cập nhật 1KHz. IIRC trên ATmega328 với tinh thể 8 MHz (hoặc cao hơn), bạn sẽ có thể nhận được 1Mbit mỗi giây. Rất nhiều vi điều khiển khác cũng sẽ hoạt động.

Một lựa chọn khác là sử dụng nhiều bộ vi điều khiển. Ví dụ: sử dụng ATmega328 (khoảng 5 đô la với những người bị động) sẽ cung cấp cho bạn 18 dòng trong khi vẫn giữ các dòng TXD và RXD miễn phí. Song song với các dòng RXD và sau đó tất cả các uC sẽ nhận được các chuỗi lệnh giống nhau. Bạn sẽ cần phân tích các chuỗi lệnh trên uC. Sử dụng cáp FTDI để truy cập USB. Thêm một bộ tải khởi động Arduino vào uC và bạn có thể sử dụng các công cụ Arduino.

Việc chuyển đổi nối tiếp sang song song là thẳng hơn. Nếu ứng dụng của bạn có thể sử dụng đầu ra cống mở, bạn có thể sử dụng trình điều khiển LED 16 kênh. Điều này có nghĩa là thêm bốn chip.


1

Tùy chọn đơn giản nhất mà tôi gặp có vẻ là IOIO-OTG . Đó là thiết bị USB OTG bên ngoài dựa trên bộ điều khiển PIC, được thiết kế cho Android, nhưng có thể sử dụng được với PC, thông qua Eclipse và Bộ công cụ phát triển Android. Nó có 46 chân GPIO 3,3v , cũng như một loạt các công cụ hữu ích khác. Nó không có 64 chân cần thiết cho dự án của bạn, nhưng bạn chỉ có thể sử dụng một vài thanh ghi dịch chuyển nối tiếp sang song song, như được đề cập bởi jluciani (hoặc sử dụng bộ điều khiển động cơ bước thay thế và sử dụng ít chân hơn).

Ngoài ra còn có bảng USB IO dựa trên PIC này , thực hiện những điều tương tự, nhưng có ít chân hơn.

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.