Tartalomjegyzék:
Videó: MIDI által vezérelt léptetőmotor közvetlen digitális szintézissel (DDS) Chip: 3 lépés
2024 Szerző: John Day | [email protected]. Utoljára módosítva: 2024-01-30 09:39
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
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
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:
IR -vezérelt léptetőmotor -emelés: 15 lépés
IR -vezérelt léptetőmotor -emelő: Automatizálnom kellett egy nagy kép felemelését, amely a kandalló fölé szerelt TV -t rejti. A kép egy egyedi csúszó acél keretre van szerelve, amely köteleket, szíjtárcsákat és ellensúlyokat használ, így kézzel felemelhető. Ez elméletileg jól hangzik, de
Léptetőmotor vezérelt léptetőmotor mikrokontroller nélkül !: 6 lépés
Léptetőmotor vezérelt léptetőmotor mikrokontroller nélkül!: Ebben a gyors utasításban egy egyszerű léptetőmotor -vezérlőt készítünk léptetőmotor segítségével. Ez a projekt nem igényel komplex áramkört vagy mikrokontrollert. Tehát minden további nélkül, kezdjük el
Léptetőmotor vezérelt léptetőmotor mikrokontroller nélkül (V2): 9 lépés (képekkel)
Léptetőmotor vezérelt léptetőmotor mikrokontroller nélkül (V2): Az egyik korábbi utasításomban megmutattam, hogyan lehet egy léptetőmotort mikrovezérlő nélküli léptetőmotor segítségével vezérelni. Gyors és szórakoztató projekt volt, de két problémával járt, amelyeket ebben az utasításban megoldanak. Szóval, okosan
Léptetőmotor -vezérlésű mozdonymodell - Léptetőmotor forgó kódolóként: 11 lépés (képekkel)
Léptetőmotor -vezérlésű mozdonymodell | Léptetőmotor forgó kódolóként: Az egyik korábbi utasításban megtanultuk, hogyan kell léptetőmotort használni forgó kódolóként. Ebben a projektben most ezt a léptetőmotoros forgó kódolót fogjuk használni egy modellmozdony vezérlésére Arduino mikrokontroller segítségével. Szóval fu nélkül
Léptetőmotor vezérelt léptetőmotor - Léptetőmotor forgó kódolóként: 11 lépés (képekkel)
Léptetőmotor vezérelt léptetőmotor | Léptetőmotor forgó kódolóként: Van pár léptetőmotor, és szeretne valamit tenni? Ebben az utasításban használjunk léptetőmotort forgó jeladóként, hogy egy másik léptetőmotor helyzetét egy Arduino mikrokontroller segítségével vezéreljük. Szóval minden további nélkül menjünk