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

Шууд дижитал синтез (DDS) чип бүхий MIDI хяналттай Stepper Motor: 3 алхам
Шууд дижитал синтез (DDS) чип бүхий MIDI хяналттай Stepper Motor: 3 алхам

Видео: Шууд дижитал синтез (DDS) чип бүхий MIDI хяналттай Stepper Motor: 3 алхам

Видео: Шууд дижитал синтез (DDS) чип бүхий MIDI хяналттай Stepper Motor: 3 алхам
Видео: Digital Modulation Techniques. Цифровая модуляция. Основы. Part 1. 2024, Арваннэгдүгээр
Anonim
Шууд дижитал синтез (DDS) чип бүхий MIDI удирдлагатай Stepper мотор
Шууд дижитал синтез (DDS) чип бүхий MIDI удирдлагатай Stepper мотор
Шууд дижитал синтез (DDS) чип бүхий MIDI удирдлагатай Stepper мотор
Шууд дижитал синтез (DDS) чип бүхий MIDI удирдлагатай Stepper мотор
Шууд дижитал синтез (DDS) чиптэй MIDI хяналттай Stepper мотор
Шууд дижитал синтез (DDS) чиптэй MIDI хяналттай Stepper мотор
Шууд дижитал синтез (DDS) чиптэй MIDI хяналттай Stepper мотор
Шууд дижитал синтез (DDS) чиптэй MIDI хяналттай Stepper мотор

Зүгээр л мини төсөл болгон хувиргах ёстой гэсэн муухай санаа төрж байсан уу? Би AD9833 шууд дижитал синтез (DDS) модуль ашиглан хөгжим хийх зорилготой Arduino Due -д зориулж хийсэн ноорогоороо тоглож байсан … зарим үед би "хөөе, магадгүй би stepper мотор/жолооч залгах хэрэгтэй болов уу" гэж бодсон. энэ ". Энэхүү санаа нь талхны тавцан дээр суурилсан энэхүү жижиг төслийг эхлүүлсэн юм.

Энэ төсөлд Arduino Due-ийг удирдахын тулд MIDI-over-USB ашиглах, AD9833 модуль болон stepper драйвер хоёрын хооронд дөрвөлжин долгион илгээх кодыг багтаасан болно. Үүнийг Arduino Due -тэй холбох схем, үндсэн заавар байх болно.

Хангамж:

Энэ төсөлд танд хэрэгтэй зүйл:

Arduino Due

ТАЙЛБАР: Код нь дуусах хугацаандаа бичигдсэн боловч энэ нь тэг дээр ажиллах ба/эсвэл дасан зохицох ёстой. Энэ нь төрөлхийн USB порт шаарддаг Arduino -ийн MIDIUSB номын санг ашигладаг.

Гагнуургүй талхны самбар + холбогч

AD9833 Breakout модуль

A4988 Stepper Driver (эсвэл үүнтэй төстэй)

NEMA 17 Stepper Motor (эсвэл үүнтэй төстэй)

- 24V цахилгаан хангамж (анхаарна уу, энэ нь 24 вольтын утгыг сонгосон бөгөөд энэ нь step step моторын хүчдэлээс их байсан. Хэрэв та илүү том мотор ашигладаг бол таны хэрэгжилт өөр байж болно)

Алхам 1: Breadboard хийх

Breadboard хийх
Breadboard хийх

Үүний цаад санаа нь Direct Digital Synthesis IC нь stepper мотор жолоочийн "алхам" зүүг жолоодох дөрвөлжин долгион үүсгэх болно. Энэхүү stepper драйвер нь моторыг заасан дуут давтамжтайгаар хөдөлгөнө. Моторын чиглэл нь зөв давтамжтайгаар алхах үед зарим талаар дур зоргоороо байдаг.

Надад талхны самбар ашиглахыг илүүд үздэг арга бол эхлээд цахилгаан зүү, суурийг ажиллуулж, дараа нь бусад бүх хүчдэлгүй холболтуудыг ажиллуулж эхлэх явдал юм.

Газар:

- AD9833 модулийн AGND ба DGND зүүг талхны самбар дээрх GND төмөр замд холбоно уу.

- GND төмөр зам руу Stepper Жолоочийн хоёр GND зүү холбоно уу

- Үүнийг Arduino Due -ийн GND Pins -ийн аль нэгэнд авчир

3.3V хүчдэл:

- Stepper Driver -ийн VDD зүүг талхны V+ Rail руу холбоно уу

- AD9833 модулийн VCC зүүг талхны V+ төмөр замд холбоно уу

- Үүнийг Arduino Due -ийн 3.3V зүү рүү авчирна уу

24V хүчдэл:

- VMOT зүүг 24V тогтмол гүйдлийн тэжээлд холбоно уу (таны сонгосон мотороос хамааран та илүү өндөр эсвэл бага тэжээлийн төмөр зам ажиллуулахыг хүсч болно)

Модуль-модуль холболт:

- AD9833 модулийн OUT зүүг мотор драйверийн STEP зүү рүү холбоно уу

Stepper драйверын холболтууд:

- Stepper Motor холболтыг 2B/2A/1A/1B тээглүүрт холбоно уу. Жолоочийн үе шат нь Stepper мотортой давхцаж байвал туйлт байдал тийм ч чухал биш юм.

- RESET ба SLEEP зүүг хооронд нь холбож, Arduino Due Pin 8 руу авч яваарай.

- DIR зүүг 3.3V төмөр замд холбоно уу

AD9833 модулийн холболтууд:

- SCLK -ийг Arduino Due -ийн SCK зүү рүү холбоно уу. Энэ зүү нь энгийн гадаад толгойн толгой дээр биш, микроконтроллерийн ойролцоох 6-зүүтэй эрэгтэй ICSP толгой дээр байгааг анхаарна уу.

- SDATA Pin -ийг Due's MOSI зүү рүү холбоно уу. Энэ зүү нь энгийн гадаад толгойн толгой дээр биш, микроконтроллерийн ойролцоо байгаа 6 зүүтэй эрэгтэй ICSP толгой дээр байгааг анхаарна уу.

- FSYNC -ийг Arduino Due Pin 6 -тэй холбоно уу (энэ төслийн Chip Select pin юм)

Талхны самбарыг бүрэн угсарч дууссаны дараа кодыг харах цаг боллоо!

Алхам 2: Програмчлал ба MIDI тохиргоо

Програмчлал ба MIDI тохиргоо
Програмчлал ба MIDI тохиргоо

Хавсаргасан.ino ноорог нь USB-MIDI оролтыг Arduino Due-ийн уугуул USB портоор дамжуулж, тэдгээрийг ашиглан AD9833-ийг жолоодох болно. Энэ чип нь 25 МГц давтамжтай 28 битийн давтамжийн нарийвчлалтай ажилладаг DAC -тэй (энд хэрэгтэй байгаа бүх зүйлийн хувьд хэт их ачаалал), энд байгаа кодын ихэнх нь үүнийг дөрвөлжин долгионыг ажиллуулах, гаргахаар тохируулсан болно.

Тэмдэглэл: Хоёр USB порт байдаг. Нэг нь самбарыг програмчлахад ашиглагддаг бол нөгөө нь USB-ээр MIDI холболт хийхэд ашиглагдах болно

Энэ ноорог нь Arduino Uno дээр байгаа шиг ажиллахгүй болохыг анхаарна уу - энэ төсөл нь Arduino Due эсвэл үүнтэй төстэй төхөөрөмжүүдийн эх USB -ийн хэрэгцээнд зориулагдсан болно

Тохируулах сонголтууд:

- Урьдчилан боловсруулагч макро тодорхойлолтоор тохируулж болох 2 горим байдаг. Хэрэв "#define STOPNOTES" -ыг хэвээр үлдээвэл stepper нь тэмдэглэлийн хооронд зогсох болно. Энэ нь үргэлж хүсэгддэггүй (жишээлбэл, хурдан арпеджио тоглох), тиймээс энэ зан үйлийг өөрчлөхийн тулд #define мэдэгдэл болон stepper тоглогдсоны дараа тасралтгүй ажиллах болно гэдгийг устгах эсвэл тайлбарлах хэрэгтэй.

-Би хямд октав дээш/доош товчлууртай 2 октавтай MIDI гарыг ашигладаг боловч хэрэв танд ийм сонголт байхгүй бол та доорх давтамжийн орчуулгыг 2-ийн хүчээр үржүүлэх эсвэл хуваах замаар октаваар шилжүүлэх боломжтой.

MIDI-аас давтамжийн орчуулгыг playNote функцэд дараах мөрөөр гүйцэтгэнэ: int f_out = (int) (27.5*pow (2, ((float) midiNote-33)/12));

- Би компьютерээ USB MIDI -ээр дамжуулан холбох хандлагатай байдаг - та үүнийг өөрийн дуртай Digital Audio Workstation (DAW) програм хангамжаас хийж болно. Хэрэв танд байхгүй бол энэ системийг үнэгүй, нээлттэй эхийн платформ болох LMMS ашиглан тохируулах нь маш хялбар юм. Үүнийг суулгаж, ажиллуулсны дараа Arduino Due -ийг MIDI гаралтын төхөөрөмж болгон тохируулаарай, хэрэв та USB MIDI гар ашиглаж байгаа бол үүнийг оролт болгон тохируулаарай.

Алхам 3: Туршилт, туршилт

Stepper мотороо тоглох цаг боллоо!

Өмнө дурьдсанчлан, энэ бүх санаа нь ханцуйвчийн туршилт байсан тул ямар ч байсан өөрийнхөө туршилтыг хий!

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