Sisällysluettelo:
Video: MIDI-ohjattu askelmoottori, jossa on suora digitaalinen synteesi (DDS) -piiri: 3 vaihetta
2024 Kirjoittaja: John Day | [email protected]. Viimeksi muokattu: 2024-01-30 08:59
Onko sinulla koskaan ollut aavistusta, että sinun piti vain muuttua miniprojektiksi? No, pelasin luonnoksella, jonka olin tehnyt Arduino Due -pelille ja jonka tarkoituksena oli tehdä musiikkia AD9833 Direct Digital Synthesis (DDS) -moduulilla … ja jossain vaiheessa ajattelin "hei, ehkä minun pitäisi asentaa askelmoottori/kuljettaja Tämä". Ja juuri tämä idea herätti tämän pienen leipälautapohjaisen projektin.
Tähän projektiin sisältyy koodi MIDI-USB: n käyttämiseksi Arduino Due -laitteen ohjaamiseen ja neliöaaltojen lähettämiseen AD9833-moduulin ja askelohjaimen välillä. Siellä on myös kaavio ja perusohjeet tämän yhdistämiseksi Arduino Due -laitteeseen.
Tarvikkeet:
Mitä tarvitset tähän projektiin:
Arduino Due
HUOMAUTUS: Koodi on kirjoitettu erääntymistä varten, mutta sen pitäisi myös toimia ja/tai olla mukautettu nollaa varten. Se käyttää Arduinon MIDIUSB -kirjastoa, joka vaatii alkuperäisen USB -portin.
Juotamaton leipälauta + puserot
AD9833 Breakout -moduuli
A4988 Stepper Driver (tai vastaava)
NEMA 17 askelmoottori (tai vastaava)
- 24 V: n virtalähde (huomaa, valitsin tämän arvon 24 volttia, koska se oli suurempi kuin askelmoottorin nimellisjännite. Toteutus voi olla erilainen, jos käytät suurempaa moottoria)
Vaihe 1: Breadboarding
Tämän perusajatus on, että Direct Digital Synthesis IC tuottaa neliöaallon askelmoottorin kuljettajan "askel" -tapin käyttämiseksi. Tämä askelmoottori liikuttaa moottoria määritetyllä äänitaajuudella. Moottorin suunta on jonkin verran mielivaltainen, kunhan se astuu oikealla taajuudella.
Lähestymistapa, jonka mieluummin otan leipälautailun kanssa, on käyttää ensin nastat ja maadoitukset ja aloittaa sitten kaikkien muiden, ei-virtaliitosten käyttäminen.
Maa:
- Liitä AD9833 -moduulin AGND- ja DGND -nastat leipälevyn GND -kiskoon.
- Liitä askelmoottorin kaksi GND -nastaa GND -kiskoon
- Tuo tämä yhteen Arduino Due GND -nastoista
3.3V teho:
- Liitä askelmoottorin VDD -tappi leipälevyn V+ -kiskoon
- Liitä AD9833 -moduulin VCC -nasta leipälevyn V+ -kiskoon
- Tuo tämä Arduino Due: n 3.3V -nastaan
24V teho:
- Liitä VMOT -nasta 24 V DC -virtalähteeseen (moottorivalinnastasi riippuen saatat haluta käyttää korkeampaa tai alempaa syöttökiskoa)
Moduuli-moduuliliitäntä:
- Kytke AD9833 -moduulin OUT -nasta moottoriajurin STEP -nastaan
Askelohjaimen liitännät:
- Liitä askelmoottorin liitännät 2B/2A/1A/1B -nastoihin. Napaisuus ei ole niin tärkeä, kunhan kuljettajan vaiheet vastaavat askelmoottorin vaiheita.
- Yhdistä RESET- ja SLEEP -nastat yhteen ja vie ne Arduino Due -nastan 8 päälle.
- Kytke DIR -nasta 3.3V -kiskoon
AD9833 -moduuliliitännät:
- Liitä SCLK Arduino Due -laitteen SCK -nastaan. Huomaa, että tämä nasta on 6-nastaisessa urospuolisessa ICSP-otsikossa lähellä mikrokontrolleria, ei tavallisissa ulkoisissa naarasliittimissä.
- Liitä SDATA -nasta Due: n MOSI -nastaan. Huomaa, että tämä nasta on 6-nastaisessa urospuolisessa ICSP-otsikossa lähellä mikrokontrolleria, ei tavallisissa ulkoisissa naarasliittimissä.
- Liitä FSYNC Arduino Due Pin 6: een (tämä on Chip Select -tappi tälle projektille)
Nyt kun leipälauta on koottu kokonaan, on aika vilkaista koodi!
Vaihe 2: Ohjelmointi ja MIDI -asennus
Liitetty.ino-luonnos ottaa USB-MIDI-sisääntulot Arduino Due natiivin USB-portin kautta ja käyttää niitä AD9833: n ajamiseen. Tässä sirussa on DAC, joka toimii 25 MHz: n taajuudella 28 bitin taajuudella (täydellinen yliaktiivisuus täällä tarvittavan suhteen), ja suuri osa koodista määrittää tämän suorittamaan ja lähettämään neliöaallon.
Huomautus: USB -portteja on kaksi. Toista käytetään kortin ohjelmointiin, ja toista käytetään MIDI-over-USB -yhteyteen
Huomaa, että tämä luonnos ei toimi sellaisenaan Arduino Unossa - tämä projekti on nimenomaan sen tarpeessa, että Arduino Due -laitteessa tai vastaavissa laitteissa on Native USB
Mukautusvaihtoehdot:
- On 2 tilaa, jotka voidaan asettaa esiprosessorin makromäärityksellä. Jos "#define STOPNOTES" jätetään koskemattomaksi, askel pysähtyy nuottien väliin. Tämä ei ole aina toivottavaa (esimerkiksi nopeiden arpeggioiden soittaminen), joten jos haluat muuttaa tätä käyttäytymistä, poista tai kommentoi yksinkertaisesti, että #define -lause ja stepper toimivat jatkuvasti toistamisen jälkeen.
-Käytän halpaa 2-oktaavista MIDI-näppäimistöä, jossa on oktaavin ylös/alas-painike, mutta jos sinulla ei ole tätä vaihtoehtoa, voit siirtää oktaavinsiirtoa alla olevan taajuuden käännöksessä kertomalla tai jakamalla 2: lla.
MIDI-taajuus-käännös tehdään tällä rivillä playNote-toiminnossa: int f_out = (int) (27,5*pow (2, ((float) midiNote-33)/12));
- Käytän yleensä tietokonettani liittämiseen USB MIDI: n kautta - voit tehdä tämän suosikkisi Digital Audio Workstation (DAW) -ohjelmistosta. Jos sinulla ei ole sellaista, tämän järjestelmän käyttöönotto on melko helppoa LMMS: n avulla - ilmainen, avoimen lähdekoodin alusta. Kun se on asennettu ja käynnissä, aseta Arduino Due MIDI -lähtölaitteeksi, ja jos käytät USB -MIDI -näppäimistöä, aseta se tuloksi.
Vaihe 3: Testaus ja kokeilu
On aika pelata askelmoottorilla!
Kuten todettu, koko idea tämän takana oli eräänlainen off-the-mansettikokeilu, joten tee kaikin tavoin omia kokeiluja!
Suositeltava:
Kuinka purkaa digitaalinen jarrusatula ja miten digitaalinen jarrusatula toimii: 4 vaihetta
Kuinka purkaa digitaalinen jarrusatula ja miten digitaalinen jarrusatula toimii: Monet ihmiset tietävät, miten jarrusatulat käytetään mittaamiseen. Tämä opetusohjelma opettaa sinulle, kuinka purkaa digitaalinen jarrusatula, ja selitys siitä, miten digitaalinen jarrusatula toimii
Askelmoottorin ohjaama askelmoottori - Askelmoottori pyörivänä kooderina: 11 vaihetta (kuvilla)
Askelmoottorin ohjaama askelmoottori | Askelmoottori kiertokooderina: Onko pari askelmoottoria makaamassa ja haluat tehdä jotain? Tässä ohjeessa käytetään askelmoottoria pyörivänä kooderina toisen askelmoottorin asennon ohjaamiseen Arduinon mikrokontrollerilla. Joten ilman muuta, mennään
Askelmoottori, jossa D -varvastossut ja 555 -ajastin; piirin ensimmäinen osa 555 -ajastin: 3 vaihetta
Askelmoottori, jossa D -varvastossut ja 555 -ajastin; piirin ensimmäinen osa 555 -ajastin: Askelmoottori on tasavirtamoottori, joka liikkuu erillisinä vaiheina, ja sitä käytetään usein tulostimissa ja jopa robotiikassa. Selitän tämän piirin vaiheittain. ajastin. Se on ensimmäinen kuva (katso yllä), jossa on 555 siru ja
Raspberry Pi 3 -liikkeentunnistuskamera, jossa on suora syöttö: 6 vaihetta
Raspberry Pi 3 -liikkeentunnistuskamera, jossa on reaaliaikainen syöte: Johdanto Tässä projektissa opit rakentamaan liiketunnistuskameran, jota voit käyttää kameran loukuna, lemmikkieläinten/vauvojen valvontakamerana, turvakamerana ja paljon muuta. Tämä projekti on jaettu useisiin vaiheisiin: Johdanto Asetukset
Opetusliitäntä HX711 -liitäntään, jossa kuormasolun suora tanko 50 kg: 10 vaihetta (kuvilla)
Opetusliitäntä HX711-liitäntään, jossa on kuormakenno, suora 50 kg: HX711 BALACE MODULED Kuvaus: Tämä moduuli käyttää 24 korkean tarkkuuden A / D-muunninta. Tämä siru on suunniteltu erittäin tarkkaa elektronista mittakaavaa ja suunnittelua varten, ja siinä on kaksi analogista tulokanavaa, ohjelmoitava vahvistus 128 integroitua vahvistinta. Tulopiiri