Mục lục:

Bộ tạo tín hiệu AD9833: 3 bước
Bộ tạo tín hiệu AD9833: 3 bước

Video: Bộ tạo tín hiệu AD9833: 3 bước

Video: Bộ tạo tín hiệu AD9833: 3 bước
Video: AD9833 Programmable Waveform Generator 2024, Tháng bảy
Anonim
Bộ tạo tín hiệu AD9833
Bộ tạo tín hiệu AD9833
Bộ tạo tín hiệu AD9833
Bộ tạo tín hiệu AD9833

Bộ tạo tín hiệu là một thiết bị thử nghiệm rất hữu ích. Cái này sử dụng mô-đun AD9833 và Arduino Nano - đó là tất cả, thậm chí không phải PCB. Bạn có thể tùy chọn thêm màn hình OLED. AD9833 có thể đo sóng sin, sóng tam giác và sóng vuông từ 0,1 Hz đến 12,5 MHz - phần mềm trong dự án này được giới hạn ở 1Hz đến 100kHz.

Đã có những Tài liệu hướng dẫn khác sử dụng Arduino và AD9833, tại đây và tại đây. Điều này đơn giản hơn và có thể được sử dụng như một máy phát điện quét. Máy phát điện quét giúp kiểm tra đáp ứng tần số của các bộ lọc, bộ khuếch đại, v.v. Không giống như các thiết kế có thể nghe được khác, thiết kế này không bao gồm bộ khuếch đại hoặc điều khiển biên độ nhưng bạn có thể thêm chúng nếu muốn.

Bước 1: Bộ tạo tín hiệu đơn giản nhất

Bộ tạo tín hiệu đơn giản nhất
Bộ tạo tín hiệu đơn giản nhất
Bộ tạo tín hiệu đơn giản nhất
Bộ tạo tín hiệu đơn giản nhất
Bộ tạo tín hiệu đơn giản nhất
Bộ tạo tín hiệu đơn giản nhất
Bộ tạo tín hiệu đơn giản nhất
Bộ tạo tín hiệu đơn giản nhất

Đối với Bộ tạo tín hiệu đơn giản nhất, bạn chỉ cần hàn mô-đun AD9833 vào mặt sau của Arduino Nano. Không cần PCB.

Mô-đun AD9833 tôi đã chọn tương tự như mô-đun này. Tôi không nói đó là nhà cung cấp tốt nhất hoặc rẻ nhất nhưng bạn nên mua một nhà cung cấp giống như ảnh đó (hoặc ảnh trên).

Các kết nối giữa các mô-đun là:

  • các căn cứ kết nối với nhau
  • D2 = FSync
  • D3 = Clk
  • D4 = Dữ liệu
  • D6 = Vcc của AD9833

AD9833 được cấp nguồn từ chân dữ liệu D6 của Arduino - Arduino có thể cung cấp đủ dòng điện. Tôi đã thêm một tụ điện tách 100n vì tôi nghĩ rằng tôi "nên" nhưng tôi không thể thấy bất kỳ sự khác biệt nào - đã có một tụ điện tách trên bảng mô-đun AD9833.

Nếu bạn là người ưa thích, bạn có thể lo lắng về "mặt đất tương tự" so với "mặt đất kỹ thuật số" nhưng nếu bạn ưa thích, bạn sẽ chi hơn 4 bảng Anh.

Bộ tạo tín hiệu đơn giản nhất được điều khiển và cấp nguồn qua dây dẫn USB từ PC. USB mô phỏng một cổng nối tiếp chạy ở tốc độ 115200bps (8-bit, không có chẵn lẻ). Các lệnh là:

  • '0'.. '9': chuyển chữ số thành mảng tần số "tối thiểu"
  • 'S': đặt tần số AD9833 và tạo ra sóng sin
  • 'T': đặt tần số và tạo ra sóng tam giác
  • 'Q': đặt tần số và tạo ra sóng vuông
  • 'R': đặt lại AD9833
  • 'M': sao chép mảng tần số "tối thiểu" vào mảng "tối đa"
  • 'G': quét từ "tối thiểu" đến "tối đa" trong hơn 1 giây
  • 'H': quét từ "tối thiểu" đến "tối đa" trong 5 giây
  • 'I': quét từ "tối thiểu" đến "tối đa" trong 20 giây

Chương trình Arduino chứa hai mảng 6 ký tự "tối thiểu" và "tối đa. Nếu bạn truyền một chữ số thì nó sẽ được chuyển thành mảng" tối thiểu ". Nếu bạn gửi một ký tự 'S' thì các ký tự trong mảng" tối thiểu "được chuyển đổi thành một tần số dài và được gửi tới AD9833. Vì vậy, việc gửi chuỗi

002500S

sẽ đặt đầu ra AD9833 thành sóng hình sin 2500Hz. Bạn phải luôn gửi tất cả 6 chữ số. Tần số tối thiểu là 000001 và tần số tối đa là 999999.

Nếu bạn gửi 'M' thì mảng "tối thiểu" được sao chép vào mảng "tối đa". Nếu bạn gửi 'H' thì AD9833 lặp lại đầu ra với tần số tăng dần trong 5 giây. Nó bắt đầu ở tần số "min" và 5 giây sau là ở tần số "max". Vì thế

020000M000100SH

quét từ 100Hz đến 20kHz. Sự thay đổi tần số là logarit nên sau 1 giây tần số sẽ là 288Hz, sau 2 giây là 833Hz là 2402, 6931 và 20000. Tần số thay đổi sau mỗi mili giây.

Vòng lặp dừng khi Arduino nhận được một ký tự khác, vì vậy hãy cẩn thận không gửi lệnh theo sau là ký tự xuống dòng hoặc nguồn cấp dữ liệu dòng. Ký tự phụ đó sẽ kết thúc vòng lặp. Nếu bạn đang sử dụng Trình theo dõi nối tiếp, có một hộp ở dưới cùng bên phải có thể cho biết ví dụ: "Cả NL & CR" (tôi nghĩ) sẽ gửi các ký tự sau lệnh của bạn. Đặt nó thành "Không có dòng kết thúc".

Bạn có thể tải xuống chương trình Windows EXE bên dưới, chương trình này sẽ gửi các lệnh cần thiết hoặc bạn có thể viết lệnh của riêng mình. Tệp Arduino INO cũng ở đây.

Bước 2: Thêm OLED

Thêm một màn hình OLED
Thêm một màn hình OLED
Thêm một màn hình OLED
Thêm một màn hình OLED
Thêm một màn hình OLED
Thêm một màn hình OLED

Nếu bạn thêm màn hình OLED và hai nút, bộ tạo tín hiệu có thể hoạt động một mình mà không cần PC.

Những người trong số các bạn đã đọc Máy hiện sóng có thể hướng dẫn của tôi sẽ nhận ra sự tương tự. Mô-đun AD9833 có thể được thêm vào máy hiện sóng của tôi để tạo ra "Máy hiện sóng và Máy phát tín hiệu trong hộp diêm".

Màn hình là một OLED 1,3 inch chạy ở 3,3V được điều khiển bởi chip SH1106 thông qua bus I2C.

Tìm kiếm eBay cho màn hình OLED 1,3 ". Tôi không muốn giới thiệu một người bán cụ thể vì các liên kết nhanh chóng lỗi thời. Hãy chọn một liên kết trông giống như bức ảnh đó, có nội dung" I2C "hoặc" IIC "và có bốn chân gắn nhãn VDD GND SCL SDA. (Một số màn hình dường như có các chân theo thứ tự khác. Hãy kiểm tra chúng. Tên riêng cho đồng hồ của I2C là "SCL" nhưng trên eBay, bảng có thể được gắn nhãn "SCK" giống như bảng của tôi trong ảnh.)

Mô tả đầy đủ hơn về thư viện OLED có trong Máy hiện sóng của tôi có thể hướng dẫn ở Bước 8. Bạn nên tải xuống và cài đặt thư viện trình điều khiển SimpleSH1106.zip ở Bước 8. (Tôi không muốn tải lên một bản sao khác ở đây và phải duy trì hai bản sao.)

Tệp INO có thể được tải xuống bên dưới. Các số pin được sử dụng cho OLED được khai báo xung quanh dòng 70. Nếu bạn đã tạo "Máy tạo sóng và tín hiệu trong hộp diêm" của tôi và muốn kiểm tra tệp INO này với nó, các số pin thay thế được bật thông qua #define.

Tôi đã hiển thị một bố trí bảng dải cho mạch. Có hai dải - một cho Nano và AD9833 và một cho màn hình. Chúng sẽ tạo thành một chiếc bánh sandwich. Các bảng được hiển thị từ phía thành phần. Các dây mềm dẻo nối hai bảng. Gắn các bảng với nhau bằng các giá đỡ đã được hàn. Trong sơ đồ của tôi, đồng của bảng dải được thể hiện bằng màu lục lam. Các đường màu đỏ là các liên kết dây trên bảng dải hoặc các dây mềm nối các bảng với nhau. Tôi đã không hiển thị nguồn và "tín hiệu" dẫn.

Mô-đun AD9833 được hàn trên mặt đồng của bảng dải - ở phía đối diện với Nano. Hàn ghim vào các dải đồng sau đó lắp AD9833 vào chúng và hàn nó vào.

Màn hình hiển thị một tần số duy nhất hoặc tần số "tối thiểu" và "tối đa".

Có hai nút bấm: một nút "Ngang" để chọn một chữ số của tần số và một nút "Dọc" để thay đổi chữ số đó.

Tôi cấp nguồn cho bộ tạo tín hiệu từ mạch mà tôi đang phát triển - tôi luôn có sẵn 5V ở máy trạm của mình.

Bước 3: Phát triển trong tương lai

Phát triển trong tương lai
Phát triển trong tương lai

Nó có thể được chạy bằng pin? Có, chỉ cần thêm một 9V PP3 được kết nối với chân RAW của Nano. Nó thường sử dụng 20mA.

Nó có thể được cung cấp bởi một tế bào lithium duy nhất? Tôi không thấy lý do tại sao không. Bạn nên kết nối Vdd OLED và điện trở kéo lên của nó với pin 3,7V (tôi nghi ngờ liệu đầu ra 3,3V của Arduino có hoạt động bình thường hay không).

Bộ tạo quét hữu ích hơn khi kiểm tra đáp ứng tần số của bộ lọc nếu bạn có thể vẽ biểu đồ biên độ so với tần số. Việc đo biên độ của tín hiệu rất phức tạp - bạn phải đánh đổi sự phân rã của bộ dò đường bao so với độ gợn sóng để có tần số thấp và thời gian phản hồi đối với tần số cao. Sau khi xây dựng bộ dò biên độ, bạn có thể đưa đầu ra của nó vào ADC của Arduino của "Bộ tạo tín hiệu đơn giản nhất", sau đó gửi kết quả, cùng với tần số hiện tại đến PC.

Trang này là một điểm khởi đầu hữu ích hoặc tìm kiếm "máy dò phong bì" hoặc "máy dò đỉnh" trên Google. Trong mạch đề xuất ở trên, bạn sẽ đặt tần số tín hiệu, đợi nó ổn định, đặt chân A0 của Arduino để đầu ra kỹ thuật số ở mức thấp, chờ xả C, đặt A0 vào đầu vào, đợi, sau đó đo bằng ADC. Hãy cho tôi biết làm thế nào bạn có được trên.

Đề xuất: