Tartalomjegyzék:

MIDI által vezérelt léptetőmotor közvetlen digitális szintézissel (DDS) Chip: 3 lépés
MIDI által vezérelt léptetőmotor közvetlen digitális szintézissel (DDS) Chip: 3 lépés

Videó: MIDI által vezérelt léptetőmotor közvetlen digitális szintézissel (DDS) Chip: 3 lépés

Videó: MIDI által vezérelt léptetőmotor közvetlen digitális szintézissel (DDS) Chip: 3 lépés
Videó: PLC -vel vezérelt léptetőmotor 2024, November
Anonim
MIDI által vezérelt léptetőmotor közvetlen digitális szintézis (DDS) lapkával
MIDI által vezérelt léptetőmotor közvetlen digitális szintézis (DDS) lapkával
MIDI által vezérelt léptetőmotor közvetlen digitális szintézis (DDS) lapkával
MIDI által vezérelt léptetőmotor közvetlen digitális szintézis (DDS) lapkával
MIDI által vezérelt léptetőmotor közvetlen digitális szintézis (DDS) lapkával
MIDI által vezérelt léptetőmotor közvetlen digitális szintézis (DDS) lapkával
MIDI által vezérelt léptetőmotor közvetlen digitális szintézis (DDS) chippel
MIDI által vezérelt léptetőmotor közvetlen digitális szintézis (DDS) chippel

Volt már olyan rossz ötlete, hogy CSAK mini projektnek kellett alakulnia? Nos, játszottam egy vázlattal, amelyet az Arduino Due számára készítettem, és amelynek célja az volt, hogy zenéljek egy AD9833 Direct Digital Synthesis (DDS) modullal… és valamikor arra gondoltam, hogy „hé, talán fel kellene szerelnem egy léptetőmotort/sofőrt ez . És pontosan ez az ötlet indította el ezt a kis kenyérlapra épülő projektet.

Ebben a projektben lesz néhány kód az MIDI-USB-n keresztül az Arduino Due vezérléséhez, és négyzethullámok küldése az AD9833 modul és a léptető között. Ezenkívül egy diagram és alapvető utasítások is rendelkezésre állnak ennek csatlakoztatásához az Arduino Due -hoz.

Kellékek:

Amire szüksége lesz ehhez a projekthez:

Arduino Due

MEGJEGYZÉS: A kód a határidőre van írva, de működnie kell és/vagy a nullához kell igazítani. Az Arduino MIDIUSB könyvtárát használja, amely natív USB -portot igényel.

Forrasztás nélküli kenyeretábla + jumper

AD9833 kitörési modul

A4988 Stepper Driver (vagy hasonló)

NEMA 17 léptetőmotor (vagy hasonló)

- 24 V -os tápegység (vegye figyelembe, ezt a 24 voltos értéket választottam, mert nagyobb volt, mint a léptetőmotor névleges feszültsége. A megvalósítás eltérő lehet, ha nagyobb motort használ)

1. lépés: Breadboarding

Breadboardozás
Breadboardozás

Ennek alapgondolata az, hogy a Direct Digital Synthesis IC négyzethullámot generál a léptetőmotor meghajtójának "lépés" csapjának meghajtására. Ez a léptető megmozgatja a motort a megadott hallási frekvencián. A motor iránya kissé önkényes, amíg a megfelelő frekvencián lép.

A kenyérpályázásnál inkább azt a módszert választom, hogy először futtassa a hálózati csatlakozókat és a földeléseket, majd kezdje el futtatni az összes többi, nem tápellátású kapcsolatot.

Talaj:

- Csatlakoztassa az AD9833 modul AGND és DGND csapjait a GND sínhez a kenyértáblán.

- Csatlakoztassa a lépcsős illesztőprogram két GND csapját a GND sínhez

- Vigye ezt át az Arduino Due egyik GND csapjához

3.3V teljesítmény:

- Csatlakoztassa a léptető VDD csapját a kenyérsütő V+ sínjéhez

- Csatlakoztassa az AD9833 modul VCC csapját a kenyértábla V+ sínjéhez

- Vigye ezt az Arduino Due 3.3V -os tűjére

24V teljesítmény:

- Csatlakoztassa a VMOT csapot a 24 V egyenáramú tápegységhez (motortól függően választhat magasabb vagy alacsonyabb tápkábelt)

Modul-modul kapcsolat:

- Csatlakoztassa az AD9833 modul OUT csapját a motorvezérlő STEP csapjához

Léptető illesztőprogram csatlakozások:

- Csatlakoztassa a léptetőmotor csatlakozásait a 2B/2A/1A/1B csapokhoz. A polaritás nem olyan fontos, amíg a meghajtó fázisai megegyeznek a léptetőmotorral.

- Csatlakoztassa a RESET és SLEEP csapokat, és vigye át az Arduino Due Pin 8 -ra.

- Csatlakoztassa a DIR csapot a 3.3V sínhez

AD9833 modulcsatlakozások:

- Csatlakoztassa az SCLK -t az Arduino Due SCK -csapjához. Vegye figyelembe, hogy ez a csap a 6 tűs ICSP fejlécen található a mikrokontroller közelében, nem pedig a normál külső női fejrészeken.

- Csatlakoztassa az SDATA tűt a Due MOSI tűjéhez. Vegye figyelembe, hogy ez a csap a 6 tűs ICSP fejlécen található a mikrokontroller közelében, nem pedig a normál külső női fejrészeken.

- Csatlakoztassa az FSYNC -t az Arduino Due Pin 6 -hoz (ez a projekt Chip Select csapja)

Most, hogy a kenyeretábla teljesen összeszerelt, ideje megnézni a kódot!

2. lépés: Programozás és MIDI beállítás

Programozás és MIDI beállítás
Programozás és MIDI beállítás

A mellékelt.ino vázlat USB-MIDI bemeneteket vesz át az Arduino Due natív USB-portján keresztül, és ezeket használja az AD9833 meghajtásához. Ennek a chipnek van egy DAC -ja, amely 25MHz -en működik, 28 bites frekvenciafelbontással (teljes túlterhelés, ami itt szükséges), és az itt található kód nagy része úgy van beállítva, hogy négyzethullámot futtasson és adjon ki.

Megjegyzés: két USB -port van. Az egyiket a tábla programozására, a másikat pedig a MIDI-over-USB komm

Ne feledje, hogy ez a vázlat nem fog működni az Arduino Uno -n - ez a projekt kifejezetten igényli a natív USB -t az Arduino Due vagy hasonló eszközökben

Testreszabási lehetőségek:

- Két üzemmód létezik, amelyeket egy előfeldolgozó makródefinícióval lehet beállítani. Ha a "#define STOPNOTES" érintetlen marad, a léptető megáll a hangok között. Ez nem mindig kívánatos (például gyors arpeggiók lejátszása), ezért ennek a viselkedésnek a megváltoztatásához egyszerűen törölje vagy megjegyzést fűzzön ahhoz, hogy a #define utasítás és a léptető lejátszás után folyamatosan futni fog.

-Egy olcsó 2 oktávú MIDI billentyűzetet használok ezzel, amelyen oktáv fel/le gomb található, de ha nincs ilyen lehetősége, akkor oktáv-eltolhatja az alábbi frekvenciafordítást úgy, hogy megszorozza vagy osztja 2-es hatványokkal.

A MIDI-frekvencia fordítás ezzel a sorral történik a playNote függvényben: int f_out = (int) (27,5*pow (2, ((float) midiNote-33)/12));

- Hajlamos vagyok arra, hogy a számítógépemet USB MIDI -n keresztül csatlakozzam - ezt a kedvenc Digital Audio Workstation (DAW) szoftverével teheti meg. Ha még nem rendelkezik ilyennel, akkor nagyon könnyű beállítani ezt a rendszert az LMMS - egy ingyenes, nyílt forráskódú platform - használatával. Miután telepítette és futtatta, egyszerűen állítsa be az Arduino Due -t MIDI kimeneti eszközként, és ha USB MIDI billentyűzetet használ, akkor állítsa be bemenetként.

3. lépés: Tesztelés és kísérletezés

Ideje játszani a léptetőmotorral!

Mint már említettük, az egész ötlet mögött egyfajta off-the-mandzsetta kísérlet volt, ezért mindenképpen végezzen saját kísérletezést!

Ajánlott: