Orodha ya maudhui:

Pikipiki ya Stepper inayodhibitiwa na MIDI na Chip ya moja kwa moja ya Usanisi wa Dijiti (DDS) Chip: 3 Hatua
Pikipiki ya Stepper inayodhibitiwa na MIDI na Chip ya moja kwa moja ya Usanisi wa Dijiti (DDS) Chip: 3 Hatua

Video: Pikipiki ya Stepper inayodhibitiwa na MIDI na Chip ya moja kwa moja ya Usanisi wa Dijiti (DDS) Chip: 3 Hatua

Video: Pikipiki ya Stepper inayodhibitiwa na MIDI na Chip ya moja kwa moja ya Usanisi wa Dijiti (DDS) Chip: 3 Hatua
Video: Управление двигателем постоянного тока с ШИМ с помощью Arduino и модуля L298N с библиотекой - Robojax 2024, Novemba
Anonim
Pikipiki ya Stepper inayodhibitiwa na MIDI na Chip ya Usanisi wa Moja kwa Moja wa Dijiti (DDS) Chip
Pikipiki ya Stepper inayodhibitiwa na MIDI na Chip ya Usanisi wa Moja kwa Moja wa Dijiti (DDS) Chip
Pikipiki ya Stepper inayodhibitiwa na MIDI na Chip ya Usanisi wa Moja kwa Moja wa Dijiti (DDS)
Pikipiki ya Stepper inayodhibitiwa na MIDI na Chip ya Usanisi wa Moja kwa Moja wa Dijiti (DDS)
Pikipiki ya Stepper inayodhibitiwa na MIDI na Chip ya Usanisi wa Moja kwa Moja wa Dijiti (DDS)
Pikipiki ya Stepper inayodhibitiwa na MIDI na Chip ya Usanisi wa Moja kwa Moja wa Dijiti (DDS)
Pikipiki ya Stepper inayodhibitiwa na MIDI na Chip ya Usanisi wa Moja kwa Moja wa Dijiti (DDS) Chip
Pikipiki ya Stepper inayodhibitiwa na MIDI na Chip ya Usanisi wa Moja kwa Moja wa Dijiti (DDS) Chip

Je! Umewahi kuwa na wazo mbaya kwamba ilibidi ugeuke kuwa mradi mdogo? Kweli, nilikuwa nikicheza karibu na mchoro ambao nilikuwa nimeutengenezea Arduino kutokana na lengo la kutengeneza muziki na moduli ya AD9833 Direct Digital Synthesis (DDS)… na wakati fulani nilifikiri "haya, labda ningepaswa kubatilisha motor stepper / dereva ili hii ". Na wazo hilo ndio haswa lilichochea mradi huu mdogo wa msingi wa ubao wa mkate.

Pamoja na mradi huu kutakuwa na nambari ya kutumia MIDI-juu-USB kudhibiti Arduino Kutokana na kutuma mawimbi ya mraba kati ya moduli ya AD9833 na dereva wa stepper. Kutakuwa pia na mchoro na maagizo ya msingi ya kuunganisha hii hadi Arduino Ngenxa.

Ugavi:

Nini utahitaji kwa mradi huu:

Arduino Kutokana

KUMBUKA: Nambari imeandikwa kwa sababu, lakini inapaswa pia kufanya kazi na / au kubadilishwa kwa Zero. Inatumia maktaba ya MIDIUSB ya Arduino, ambayo inahitaji bandari ya asili ya USB.

Bodi ya mkate isiyo na waya + Rukia

Moduli ya kuzuka kwa AD9833

A4988 Stepper Dereva (au sawa)

NEMA 17 Stepper Motor (au sawa)

Ugavi wa umeme wa 24V (kumbuka, nilichagua thamani hii ya Volts 24 kwa sababu ilikuwa kubwa kuliko voltage ya mwendo wa kasi ya kasi. Utekelezaji wako unaweza kuwa tofauti ikiwa unatumia motor kubwa zaidi)

Hatua ya 1: Bodi ya mkate

Bodi ya mkate
Bodi ya mkate

Wazo la msingi nyuma ya hii ni kwamba Direct Digital Synthesis IC itazalisha wimbi la mraba kuendesha pini ya "step" ya dereva wa gari. Dereva huyu wa stepper basi atahamisha motor kwa masafa maalum ya kusikika. Uelekeo wa gari ni kiholela kwa kadiri inapozunguka kwa masafa sahihi.

Njia ninayopendelea kuchukua na upeanaji mkate ni kuendesha pini za umeme na viwanja kwanza na kisha kuanza kutumia miunganisho mingine yote, isiyo ya nguvu.

Ardhi:

- Unganisha Pini za AGND na DGND za Moduli ya AD9833 kwa Reli ya GND kwenye ubao wa mkate.

- Chuma Pini mbili za GND kwenye Dereva ya Stepper kwa Reli ya GND

- Leta hii kwa moja ya Pini za GND za Arduino Ngenxa

3.3V Nguvu:

- Unganisha Pini ya VDD ya Dereva ya Stepper kwa Reli ya V + ya ubao wa mkate

- Unganisha Pini ya VCC ya Moduli ya AD9833 kwa V + Reli ya ubao wa mkate

- Leta hii kwa Pini ya Arduino Ngenxa ya 3.3V

Nguvu ya 24V:

- Unganisha pini ya VMOT kwenye Usambazaji wa Umeme wa 24V DC (kulingana na chaguo lako la gari, unaweza kutaka kuendesha reli ya juu au ya chini)

Muunganisho wa Moduli-kwa-Moduli:

- Unganisha pini ya OUT kutoka moduli ya AD9833 hadi pini ya STEP ya dereva wa gari

Maunganisho ya Dereva ya Stepper:

- Unganisha viunganisho vya Magari ya Stepper kwa Pini za 2B / 2A / 1A / 1B. Polarity sio muhimu sana, maadamu awamu za Dereva zinalingana na zile za Stepper Motor.

- Unganisha REDESI na Pini za Kulala pamoja, na uwalete kwenye Arduino Ngenxa ya 8.

- Unganisha Pini ya DIR kwenye Reli ya 3.3V

Uunganisho wa Moduli ya AD9833:

- Unganisha SCLK na pini ya SCK ya Arduino Ngenxa. Kumbuka kuwa pini hii iko kwenye kichwa cha kiume cha pini 6 cha ICSP karibu na microcontroller, sio kwenye vichwa vya kawaida vya nje vya kike.

- Unganisha Pini ya SDATA kwenye pini ya MOSI inayofaa. Kumbuka kuwa pini hii iko kwenye kichwa cha kiume cha pini 6 cha ICSP karibu na microcontroller, sio kwenye vichwa vya kawaida vya kike vya nje.

- Unganisha FSYNC na Arduino Ngenxa ya 6 (hii ni pini ya Chip Chagua mradi huu)

Sasa kwa kuwa ubao wa mkate umekusanyika kabisa, ni wakati wa kuangalia nambari!

Hatua ya 2: Programu na Usanidi wa MIDI

Programu na Usanidi wa MIDI
Programu na Usanidi wa MIDI

Mchoro ulioambatishwa.ino utachukua pembejeo za USB-MIDI kupitia bandari ya USB ya Arduino Ngenxa, na itazitumia kuendesha AD9833. Chip hii ina DAC ambayo inaendesha kwa 25MHz w / 28 bits ya azimio la masafa (jumla ya ziada kwa kile kinachohitajika hapa), na nambari nyingi hapa inazingatia kusanidi na kutoa wimbi la mraba.

Kumbuka: kuna Bandari mbili za USB. Moja hutumiwa kwa kupanga bodi, na nyingine itatumika kwa MID-over-USB comm

Kumbuka kuwa mchoro huu hautafanya kazi kama ilivyo kwenye Arduino Uno - mradi huu ni maalum kwa hitaji la USB ya Asili katika Arduino Ngenxa au vifaa sawa

Chaguzi za Ugeuzwaji:

- Kuna njia 2, ambazo zinaweza kuwekwa na ufafanuzi wa jumla wa mtangulizi. Ikiwa "#fafanua STOPNOTES" imebaki sawa, stepper atasimama kati ya noti. Hii haitakiwi kila wakati (kwa mfano, kucheza arpeggios haraka), kwa hivyo kubadilisha tabia hii, futa tu au toa maoni kwamba #fafanua taarifa na stepper itaendelea kuendelea mara moja ikichezwa.

- Ninatumia kibodi cha bei ya chini cha 2-octave MIDI na hii ambayo ina kitufe cha juu / chini cha octave, lakini ikiwa huna hiari hiyo, unaweza kubadilisha tafsiri ya chini ya masafa kwa kuzidisha au kugawanya kwa nguvu za 2.

Tafsiri ya MIDI-to-frequency imefanywa na mstari huu katika kazi ya playNote: int f_out = (int) (27.5 * pow (2, ((float) midiNote-33) / 12));

- huwa natumia PC yangu kuingiliana juu ya MIDI ya USB - unaweza kufanya hivyo kutoka kwa programu unayopenda ya Digital Audio Workstation (DAW). Ikiwa huna moja, ni rahisi sana kuweka mfumo huu kwa kutumia LMMS - jukwaa la chanzo huru, wazi. Mara tu ikiwa imewekwa na inafanya kazi, weka tu Arduino Kutokana kama Kifaa cha Pato cha MIDI, na ikiwa unatumia kibodi ya USB MIDI, weka hiyo kama pembejeo.

Hatua ya 3: Upimaji na Majaribio

Wakati wa kucheza motor yako ya stepper!

Kama ilivyoelezwa, wazo lote nyuma ya hii lilikuwa aina ya jaribio la kofi, kwa hivyo kwa njia zote, jaribu mwenyewe!

Ilipendekeza: