Mundarija:

To'g'ridan-to'g'ri raqamli sintez (DDS) chipli MIDI tomonidan boshqariladigan qadam dvigateli: 3 qadam
To'g'ridan-to'g'ri raqamli sintez (DDS) chipli MIDI tomonidan boshqariladigan qadam dvigateli: 3 qadam

Video: To'g'ridan-to'g'ri raqamli sintez (DDS) chipli MIDI tomonidan boshqariladigan qadam dvigateli: 3 qadam

Video: To'g'ridan-to'g'ri raqamli sintez (DDS) chipli MIDI tomonidan boshqariladigan qadam dvigateli: 3 qadam
Video: Xotirani kuchaytiruvchi 10 ta SIR. Hamma uchun birdek to'gri keladi! 10 daqiqada 2024, Noyabr
Anonim
To'g'ridan-to'g'ri raqamli sintez (DDS) chipli MIDI tomonidan boshqariladigan step motor
To'g'ridan-to'g'ri raqamli sintez (DDS) chipli MIDI tomonidan boshqariladigan step motor
To'g'ridan-to'g'ri raqamli sintez (DDS) chipli MIDI tomonidan boshqariladigan step motor
To'g'ridan-to'g'ri raqamli sintez (DDS) chipli MIDI tomonidan boshqariladigan step motor
To'g'ridan-to'g'ri raqamli sintez (DDS) chipli MIDI tomonidan boshqariladigan qadamli dvigatel
To'g'ridan-to'g'ri raqamli sintez (DDS) chipli MIDI tomonidan boshqariladigan qadamli dvigatel
To'g'ridan-to'g'ri raqamli sintez (DDS) chipli MIDI tomonidan boshqariladigan qadamli dvigatel
To'g'ridan-to'g'ri raqamli sintez (DDS) chipli MIDI tomonidan boshqariladigan qadamli dvigatel

Siz hech qachon mini -loyihaga aylanishingiz kerak degan yomon fikrga keldingizmi? Xo'sh, men AD9833 to'g'ridan -to'g'ri raqamli sintez (DDS) moduli yordamida musiqa yaratish uchun Arduino Due uchun yaratgan eskiz bilan o'ynab yurardim … va bir paytlar men: "Balki, men zinapoyali dvigatelni/haydovchini o'rnatishim kerak", deb o'yladim. bu ". Va aynan shu g'oya, taxtaga asoslangan kichik loyihaga turtki bo'ldi.

Ushbu loyihada Arduino Due-ni boshqarish va AD9833 moduli va qadam drayveri o'rtasida kvadrat to'lqinlarni yuborish uchun USB orqali MIDI-dan foydalanish kodi kiritilgan. Bundan tashqari, uni Arduino Due -ga ulash uchun diagramma va asosiy ko'rsatmalar bo'ladi.

Ta'minot:

Ushbu loyiha uchun sizga nima kerak:

Arduino tufayli

QAYD: Kod "Due" uchun yozilgan, lekin u ham ishlashi va/yoki nolga moslashtirilishi kerak. U Arduino -ning MIDIUSB kutubxonasidan foydalanadi, unga mahalliy USB port kerak.

Lehimsiz non paneli + jumper

AD9833 uzilish moduli

A4988 Step Driver (yoki shunga o'xshash)

NEMA 17 qadamli dvigatel (yoki shunga o'xshash)

- 24V quvvat manbai (esda tutingki, men 24 voltlik qiymatni tanladim, chunki u dvigatelning nominal zo'riqishidan yuqori edi. Agar siz katta dvigateldan foydalansangiz, sizning amaliyotingiz boshqacha bo'lishi mumkin)

1 -qadam: Breadboard

Breadboard
Breadboard

Buning asosiy g'oyasi shundaki, To'g'ridan -to'g'ri Raqamli Sintez IC, qadam dvigatelining "qadam" pinini haydash uchun kvadrat to'lqin hosil qiladi. Bu qadam haydovchi keyin motorni belgilangan ovozli chastotada harakatga keltiradi. Dvigatelning yo'nalishi, agar u to'g'ri chastotada qadam bossa, o'zboshimchalik bilan bo'ladi.

Men non taxtasi bilan ishlashni afzal ko'raman-bu birinchi navbatda quvvat pimi va poydevorni ishga tushirish, so'ngra boshqa barcha kuchsiz ulanishlarni ishga tushirish.

Zamin:

- AD9833 modulining AGND va DGND pinlarini non panelidagi GND rayiga ulang.

- Step haydovchisidagi ikkita GND pinini GND rayiga ulang

- Buni Arduino Due GND pinlaridan biriga olib keling

3.3V quvvat:

- Stepper haydovchisining VDD pinini V+ Rail -ga ulang

- AD9833 modulining VCC pinini non paneli V+ Rail -ga ulang

- Buni Arduino Due 3.3V piniga olib keling

24V quvvati:

- VMOT pinini 24V DC quvvat manbaiga ulang (siz tanlagan dvigatel turiga qarab, siz yuqori yoki pastroq temir yo'lni ishlatishingiz mumkin).

Moduldan modulga ulanish:

- AD9833 modulidagi OUT pinini motor drayverining STEP piniga ulang

Stepper haydovchiga ulanish:

- Step Motor ulanishlarini 2B/2A/1A/1B pinlariga ulang. Qutblanish unchalik muhim emas, chunki haydovchining fazalari qadam dvigatelining fazalariga to'g'ri kelsa.

- RESET va SLEEP pinlarini bir -biriga ulang va ularni Arduino Due Pin 8 ga olib keling.

- DIR pinini 3.3V relsga ulang

AD9833 moduli ulanishlari:

- SCLK -ni Arduino Due -ning SCK piniga ulang. E'tibor bering, bu pin oddiy tashqi ayol sarlavhalarida emas, mikrokontroller yaqinidagi 6-pinli ICSP sarlavhasida joylashgan.

- SDATA pinini Due MOSI piniga ulang. E'tibor bering, bu pin oddiy tashqi ayol sarlavhalarida emas, mikrokontroller yaqinidagi 6-pinli ICSP sarlavhasida joylashgan.

- FSYNC -ni Arduino Due Pin 6 -ga ulang (bu loyiha uchun chip tanlash pimi)

Endi non paneli to'liq yig'ilgan, kodni ko'rib chiqish vaqti keldi!

2 -qadam: Dasturlash va MIDI -ni sozlash

Dasturlash va MIDI sozlash
Dasturlash va MIDI sozlash

Qo'shilgan.ino eskizi Arduino Due Native USB porti orqali USB-MIDI kirishini oladi va ularni AD9833 haydash uchun ishlatadi. Bu chipda 25 MGts chastotali 28 bit chastotali rezolyutsiyada ishlaydigan DAC mavjud (bu erda kerak bo'ladigan narsalar uchun ortiqcha ortiqcha) va bu erda kodning katta qismi kvadrat to'lqinni ishga tushirish va chiqarishni sozlashda.

Eslatma: ikkita USB port mavjud. Ulardan biri taxtani dasturlash uchun, ikkinchisi USB orqali MIDI orqali uzatish uchun ishlatiladi

E'tibor bering, bu eskiz Arduino Uno -da bo'lgani kabi ishlamaydi - bu loyiha Arduino Due yoki shunga o'xshash qurilmalarda mahalliy USB -ga bo'lgan ehtiyoj bilan ajralib turadi

Moslashtirish imkoniyatlari:

- Oldindan protsessorli so'l ta'rifi bilan o'rnatilishi mumkin bo'lgan 2 rejim mavjud. Agar "#define STOPNOTES" buzilmagan bo'lsa, qadam yozuvlar orasida to'xtaydi. Bu har doim ham xohlanmaydi (masalan, tez arpegjiolarni ijro etish), shuning uchun bu xatti -harakatni o'zgartirish uchun #define iborasini o'chirib tashlang yoki izohlang va stepper o'ynalgandan so'ng doimiy ishlaydi.

-Men arzon oktavali yuqoriga/pastga tugmachali 2 oktavali MIDI klaviaturasidan foydalanaman, lekin agar sizda bunday imkoniyat bo'lmasa, siz 2-sonli kuchlarga ko'paytirish yoki bo'lish orqali quyidagi chastotali tarjimani oktavaga o'tkazishingiz mumkin.

MIDI-chastotali tarjima playNote funktsiyasida shu satr yordamida amalga oshiriladi: int f_out = (int) (27.5*pow (2, ((float) midiNote-33)/12)));

- Men shaxsiy kompyuterimni USB MIDI orqali ishlash uchun ishlataman - buni sevimli Raqamli Audio Ish Stantsiyasi (DAW) dasturidan qilishingiz mumkin. Agar sizda yo'q bo'lsa, bu tizimni LMMS - bepul, ochiq manbali platforma yordamida o'rnatish juda oson. O'rnatilgan va ishga tushirilgandan so'ng, Arduino Due -ni MIDI chiqish qurilmasi sifatida belgilang va agar siz USB MIDI klaviaturasidan foydalansangiz, uni kirish sifatida o'rnating.

3 -qadam: Sinov va tajriba

Step motorini o'ynash vaqti keldi!

Yuqorida aytilganidek, buning asosiy g'oyasi-bu tajribasizlik edi, shuning uchun har holda o'z tajribangizni o'tkazing!

Tavsiya: