Агуулгын хүснэгт:

AD9833 дохионы үүсгүүр: 3 алхам
AD9833 дохионы үүсгүүр: 3 алхам

Видео: AD9833 дохионы үүсгүүр: 3 алхам

Видео: AD9833 дохионы үүсгүүр: 3 алхам
Видео: Самое время зафиналить резьбу ► 5 Прохождение Resident Evil Village 2024, Долдугаар сарын
Anonim
AD9833 дохио үүсгэгч
AD9833 дохио үүсгэгч
AD9833 дохио үүсгэгч
AD9833 дохио үүсгэгч

Дохио үүсгэгч нь туршилтын тоног төхөөрөмжийн маш ашигтай хэсэг юм. Энэ нь AD9833 модуль болон Arduino Nano ашигладаг - энэ бол ПХБ ч биш. Та OLED дэлгэцийг нэмж болно. AD9833 нь 0.1 Гц -ээс 12.5 МГц хүртэлх синус, гурвалжин, дөрвөлжин долгионыг даван туулж чаддаг - энэ төслийн програм хангамж нь 1 Гц -ээс 100 кГц хүртэл хязгаарлагддаг.

Энд болон энд Arduino болон AD9833 ашигладаг бусад зааварчилгаа хэрэгслүүд байсан. Энэ нь илүү хялбар бөгөөд цэвэрлэх генератор болгон ашиглаж болно. Шүүрдэх генераторууд нь шүүлтүүр, өсгөгч гэх мэт давтамжийн хариуг шалгахад тусалдаг. Бусад зааварчилгааны загвараас ялгаатай нь энэ нь өсгөгч эсвэл далайцын хяналтыг агуулдаггүй боловч хэрэв та хүсвэл тэдгээрийг нэмж болно.

Алхам 1: Хамгийн энгийн дохио үүсгэгч

Хамгийн энгийн дохио үүсгэгч
Хамгийн энгийн дохио үүсгэгч
Хамгийн энгийн дохио үүсгэгч
Хамгийн энгийн дохио үүсгэгч
Хамгийн энгийн дохио үүсгэгч
Хамгийн энгийн дохио үүсгэгч
Хамгийн энгийн дохио үүсгэгч
Хамгийн энгийн дохио үүсгэгч

Хамгийн энгийн дохионы генераторын хувьд та AD9833 модулийг Arduino Nano -ийн ар талд гагнана. ПХБ шаардлагагүй.

Миний сонгосон AD9833 модуль нь үүнтэй төстэй юм. Энэ бол хамгийн сайн эсвэл хамгийн хямд ханган нийлүүлэгч гэж би хэлэхгүй байгаа ч та тэр зураг (эсвэл дээрх зураг) шиг харагдахыг худалдаж авах хэрэгтэй.

Модулиудын хоорондох холболтууд нь:

  • үндэслэлүүд хоорондоо холбоотой
  • D2 = FSync
  • D3 = Clk
  • D4 = Өгөгдөл
  • D6 = AD9833 оны Vcc

AD9833 нь Arduino -ийн D6 өгөгдлийн зүүгээр тэжээгддэг бөгөөд Arduino нь хангалттай гүйдэл өгөх боломжтой. Би 100n задлах конденсатор нэмсэн, учир нь би үүнийг хийх ёстой гэж бодсон боловч ямар ч ялгааг олж харсангүй - AD9833 модулийн самбар дээр аль хэдийн задлах конденсатор байгаа.

Хэрэв та гоёмсог байсан бол "аналог газар" ба "дижитал газар" талаар санаа зовж магадгүй, гэхдээ хэрэв та сонирхолтой байсан бол 4 фунт стерлингээс илүү зардал гаргах байсан.

Хамгийн энгийн дохио үүсгэгчийг компьютерээс USB залгуураар удирддаг. USB нь 115200bps (8 бит, паритетгүй) дээр ажилладаг цуваа портыг дуурайдаг. Тушаалууд нь:

  • '0'.. '9': цифрийг "мин" давтамжийн массив руу шилжүүлэх
  • 'S': AD9833 давтамжийг тохируулж, синус долгион үүсгэнэ
  • 'T': давтамжийг тогтоож гурвалжин долгион гаргана
  • 'Q': давтамжийг тогтоож, дөрвөлжин долгион гаргана
  • 'R': AD9833 -ийг дахин тохируулна уу
  • 'M': "мин" давтамжийн массивыг "max" массив руу хуулах
  • 'G': "мин" -ээс "max" хүртэл 1 секундын турш арчина
  • 'H': 5 секундын дотор "мин" -ээс "хамгийн их" хүртэл цэвэрлэнэ
  • 'Би': 20 секундын дотор "мин" -ээс "хамгийн их" хүртэл цэвэрлэнэ

Arduino програм нь "min" ба "max" гэсэн 6 тэмдэгт бүхий хоёр массивыг агуулдаг. Хэрэв та оронтой тоог дамжуулбал "min" массив руу шилжинэ. Хэрэв та "S" илгээсэн бол "min" массивын тэмдэгтүүдийг longint давтамж болон AD9833 руу илгээгдсэн. Тиймээс мөрийг илгээж байна

002500S

AD9833 гаралтыг 2500 Гц синус долгионд тохируулах болно. Та бүх 6 оронтой тоог үргэлж илгээх ёстой. Хамгийн бага давтамж нь 000001, хамгийн их давтамж нь 999999 байна.

Хэрэв та 'M' илгээвэл "мин" массивыг "max" массив руу хуулна. Хэрэв та 'H' илгээсэн бол AD9833 нь 5 секундын турш аажмаар нэмэгдэж буй давтамжийг давтан гаргадаг. Энэ нь "мин" давтамжаас эхэлж, 5 секундын дараа "хамгийн их" давтамжтай байна. Тиймээс

020000M000100SH

100 Гц -ээс 20 кГц хүртэл гүйдэг. Давтамжийн өөрчлөлт нь логарифмын шинж чанартай байдаг тул 1 секундын дараа 288 Гц давтамжтай, 2 секундын дараа 833 Гц дараа нь 2402, 6931 ба 20000 болно. Давтамж нь миллисекунд тутамд өөрчлөгддөг.

Arduino өөр тэмдэгт хүлээн авах үед давталт зогсох тул командыг араас нь буцааж эсвэл шугамаар дамжуулахаас болгоомжил. Энэ нэмэлт тэмдэгт нь давталтыг зогсооно. Хэрэв та Serial Monitor ашиглаж байгаа бол баруун доод буланд "NL & CR аль аль нь" гэсэн утгатай хайрцаг байгаа бөгөөд энэ нь (миний бодлоор) таны командын дараа тэмдэгт илгээдэг. Үүнийг "Мөр төгсгөлгүй" гэж тохируулна уу.

Та доорх Windows EXE програмыг татаж авч, шаардлагатай тушаалуудыг илгээх эсвэл өөрөө бичиж болно. Arduino INO файл бас энд байна.

Алхам 2: OLED нэмэх

OLED нэмэх
OLED нэмэх
OLED нэмэх
OLED нэмэх
OLED нэмэх
OLED нэмэх

Хэрэв та OLED болон хоёр товчлуур нэмбэл дохио үүсгэгч нь компьютергүйгээр ганцаараа ажиллах боломжтой.

Миний зааварчилгааны осциллографыг уншсан хүмүүс ижил төстэй байдлыг хүлээн зөвшөөрөх болно. AD9833 модулийг миний осциллограф дээр нэмж "таарах хайрцагт осциллограф ба дохио үүсгэгч" үйлдвэрлэх боломжтой.

Дэлгэц нь 1.3 инчийн 3.3V хүчдэлтэй ажилладаг бөгөөд I2C автобусаар SH1106 чипээр хянагддаг.

EBay -аас 1.3 "OLED хайж олоорой. Холбоосууд хуучирсан тул би тодорхой нэг худалдагчийг санал болгохыг хүсэхгүй байна." I2C "эсвэл" IIC "гэж бичсэн, VDD GND SCL SDA гэсэн шошготой дөрвөн зүүтэй зургийг сонгоорой.. (Зарим дэлгэц дээр тээглүүрүүд өөр дарааллаар байрласан байх шиг байна. Тэдгээрийг шалгаарай. I2C цагийн зохих нэр нь "SCL" боловч eBay дээр самбар дээр миний зурган дээрх шиг "SCK" гэж бичиж болно.)

OLED номын сангийн талаар илүү дэлгэрэнгүй тайлбарыг миний осциллографын 8 -р алхамд заасан болно. Та 8 -р алхамд байгаа SimpleSH1106.zip драйверын номын санг татаж аваад суулгах хэрэгтэй..)

INO файлыг доороос татаж авах боломжтой. OLED -д ашигладаг зүү дугаарыг 70 -р мөрөнд зарласан болно. Хэрэв та миний "Осциллограф ба дохионы үүсгүүрийг тохирох хайрцагт" бүтээсэн бөгөөд энэ INO файлыг түүнтэй туршиж үзэхийг хүсч байвал өөр pin дугаарыг #define ашиглан идэвхжүүлсэн болно.

Би хэлхээнд зориулсан туузан хавтангийн загварыг үзүүлэв. Нано ба AD9833, дэлгэцийн хувьд хоёр ширхэг самбар байдаг. Тэд сэндвич үүсгэх ёстой. Самбарыг бүрэлдэхүүн хэсгийн талаас харуулав. Нарийн уян хатан утаснууд нь хоёр самбарыг холбодог. Самбарыг гагнасан зогсоолын хамт бэхлээрэй. Миний диаграммд туузан хавтангийн зэсийг цэнхэр өнгөөр харуулав. Улаан шугамууд нь самбар дээрх утсан холбоос эсвэл самбарыг хооронд нь холбосон уян хатан утас юм. Би хүч чадал, "дохио" залгуурыг харуулаагүй байна.

AD9833 модулийг туузан хавтангийн зэс талд - Нано -ийн эсрэг талд гагнаж байна. Зэс туузан дээр гагнуурын тээглүүр байрлуулж, дараа нь AD9833 -ийг бэхлээд гагна.

Дэлгэц нь нэг давтамж эсвэл "мин" ба "хамгийн их" давтамжийг харуулдаг.

Хоёр товчлуур байдаг: давтамжийн цифрийг сонгох "хэвтээ" товчлуур, цифрийг өөрчлөхийн тулд "босоо" товчлуур.

Би хөгжиж буй хэлхээнээс дохионы генераторыг тэжээдэг - миний ажлын станцад үргэлж 5V байдаг.

Алхам 3: Ирээдүйн хөгжил

Ирээдүйн хөгжил
Ирээдүйн хөгжил

Энэ нь батерейгаар ажилладаг байж болох уу? Тийм ээ, Nano -ийн RAW зүүтэй холбогдсон 9V PP3 нэмэхэд л хангалттай. Энэ нь ихэвчлэн 20 мА ашигладаг.

Үүнийг ганц литийн эсээр тэжээж болох уу? Яагаад болохгүй гэж би ойлгохгүй байна. Та OLED Vdd болон түүний татах эсэргүүцлийг 3.7V батерейтай холбох хэрэгтэй (Arduino-ийн 3.3V гаралт зөв ажиллах эсэх нь эргэлзээтэй байна).

Хэрэв та далайц ба давтамжийг графикаар дүрсэлж чадвал шүүлтүүрийн давтамжийн хариуг туршихад шүүр цэвэрлэх генератор илүү ашигтай байдаг. Дохионы далайцыг хэмжих нь хэцүү байдаг - та дугтуйны детекторын ялзрал, долгионыг бага давтамжтай, хариу өгөх хугацааг өндөр давтамжтай солих хэрэгтэй. Таны далайцын детекторыг бүтээсний дараа та түүний гаралтыг "Хамгийн энгийн дохио үүсгэгч" -ийн Arduino -ийн ADC -д өгч, үр дүнг одоогийн давтамжийн хамт компьютерт илгээх боломжтой.

Энэ хуудас нь ашигтай эхлэлийн цэг эсвэл Google -ээс "дугтуй илрүүлэгч" эсвэл "оргил детектор" -ыг хайж олох явдал юм. Дээрх санал болгож буй хэлхээнд та дохионы давтамжийг тогтворжуулж, Arduino A0 зүүг дижитал гаралтанд оруулах, C -ийг цэнэглэх хүртэл хүлээх, A0 -ийг оролтод оруулах, хүлээх, дараа нь ADC -ээр хэмжих шаардлагатай болно. Яаж яваагаа надад хэлээрэй.

Зөвлөмж болгож буй: