Агуулгын хүснэгт:
Видео: Шууд дижитал синтез (DDS) чип бүхий MIDI хяналттай Stepper Motor: 3 алхам
2024 Зохиолч: John Day | [email protected]. Хамгийн сүүлд өөрчлөгдсөн: 2024-01-30 11:00
Зүгээр л мини төсөл болгон хувиргах ёстой гэсэн муухай санаа төрж байсан уу? Би 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 хийх
Үүний цаад санаа нь 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 тохиргоо
Хавсаргасан.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 мотороо тоглох цаг боллоо!
Өмнө дурьдсанчлан, энэ бүх санаа нь ханцуйвчийн туршилт байсан тул ямар ч байсан өөрийнхөө туршилтыг хий!
Зөвлөмж болгож буй:
100W LED чип бүхий зөөврийн дотор гэрэл: 26 алхам (зурагтай)
100W LED чип бүхий зөөврийн дотор гэрэл: Энэхүү зааварчилгаа / видеон дээр би хуучин зөөврийн компьютерээс 19V 90W цахилгаан хангамжаар ажилладаг 100W LED чип ашиглан зөөврийн дотор гэрэл хэрхэн хийснийг харуулах болно. (20С -ийн өрөөнд 30минутын дараа 85W -д 37С тогтвортой)
IR хяналттай Stepper Motor Lift: 15 алхам
IR хяналттай Stepper Motor Lift: Зуухны дээгүүр суурилуулсан ТВ -ийг нуусан том зургийг өргөх ажлыг автоматжуулах шаардлагатай болсон. Энэ зургийг олс, дамар, эсрэг жинг ашигладаг гулсах ган хүрээ дээр суурилуулсан тул гараар өргөх боломжтой. Энэ нь онолын хувьд сайн сонсогдож байгаа ч гэсэн
Микроконтроллергүй Stepper Motor удирдлагатай Stepper Motor!: 6 алхам
Микроконтроллергүй Stepper Motor удирдлагатай Stepper Motor!: Энэхүү хурдан зааварчилгаанд бид stepper мотор ашиглан энгийн stepper мотор хянагч хийх болно. Энэ төсөл нь нарийн төвөгтэй хэлхээ эсвэл микроконтроллер шаарддаггүй. Тиймээс илүү их зүйлийг нуршилгүй эхлүүлцгээе
Микроконтроллергүй Stepper моторын хяналттай Stepper Motor (V2): 9 алхам (зурагтай)
Микроконтроллергүй Stepper Motor Stepper Motor (V2): Өмнөх зааварчилгааны нэг хэсэгт би микроконтроллергүй stepper мотор ашиглан stepper моторыг хэрхэн удирдахыг танд харуулсан. Энэ бол хурдан бөгөөд хөгжилтэй төсөл байсан боловч энэ зааварчилгаанд шийдвэрлэх хоёр асуудлыг авчирсан. Тиймээс, ухаантай
Stepper Motor удирдлагатай Stepper Motor - Эргэдэг кодлогч болох Stepper мотор: 11 алхам (зурагтай)
Stepper Motor удирдлагатай Stepper Motor | Эргэдэг кодлогч болох Stepper мотор: Хэд хэдэн алхамтай моторууд хэвтэж байгаад ямар нэгэн зүйл хийхийг хүсч байна уу? Энэхүү зааварт гарын авлагад Arduino микроконтроллер ашиглан stepper моторыг өөр нэг stepper моторын байрлалыг хянахын тулд эргэдэг кодлогч болгон ашиглацгаая. Тиймээс цааш нь хэлэлгүйгээр, явцгаая