Мазмуну:
Video: Түз Санариптик Синтез (DDS) чипи менен MIDI көзөмөлдөгөн Stepper мотору: 3 кадам
2024 Автор: John Day | [email protected]. Акыркы өзгөртүү: 2024-01-30 10:36
Сиз качандыр бир убакта мини проектке айланышыңыз керек деген жаман ойго келдиңиз беле? Ооба, мен AD9833 Direct Digital Synthesis (DDS) модулу менен музыка жасоого багытталган Arduino Due үчүн жасаган эскизим менен ойноп жүрдүм … бул . Жана бул идея тактага негизделген кичинекей долбоорго себеп болду.
Бул долбоорго Arduino Due'ди көзөмөлдөө жана AD9833 модулу менен тепкич драйверинин ортосунда төрт бурчтуу толкундарды жөнөтүү үчүн USB аркылуу MIDIди колдонуу коду киргизилген. Муну Arduino Due менен туташтыруу үчүн диаграмма жана негизги көрсөтмөлөр да болот.
Берилиштер:
Бул долбоор үчүн сизге эмне керек:
Arduino Due
ЭСКЕРТҮҮ: Код мөөнөт үчүн жазылган, бирок ал иштеши жана/же нөлгө ылайыкташтырылышы керек. Бул жергиликтүү USB портун талап кылган Arduino MIDIUSB китепканасын колдонот.
Solderless Breadboard + секирүүчүлөр
AD9833 Breakout модулу
A4988 Stepper Driver (же окшош)
NEMA 17 Stepper Motor (же окшош)
- 24V электр менен камсыздоо (эскертүү, мен бул номиналдык степпердик мотор чыңалуусунан чоңураак болгондуктан 24 вольттун маанисин тандадым. Эгер чоңураак моторду колдонсоңуз, сиздин ишке ашырууңуз башкача болушу мүмкүн)
1 -кадам: Breadboarding
Мунун артында турган негизги идея, Түз Санарип Синтез IC степпердик мотор айдоочусунун "кадам" төөнөгүчүн айдап чыгуу үчүн төрт бурчтуу толкунду жаратат. Бул тепкич айдоочу моторду белгиленген угулган жыштыкта жылдырат. Мотордун багыты туура жыштыкта баскандай эле бир аз өзүм билемдикке жатат.
Банборд менен иштөөнү жактырган ыкма-бул биринчи кезекте электр казыктарын жана негиздерди иштетүү, андан кийин башка бардык, кубаттуу эмес туташууларды иштетүү.
Жер:
- AD9833 модулунун AGND жана DGND пиндерин нан тактасындагы GND темир жолуна туташтырыңыз.
- GND темир жолуна Stepper айдоочусунда эки GND пинди туташтырыңыз
- Муну Arduino Due GND пиндеринин бирине алып келиңиз
3.3V кубаты:
- Stepper айдоочусунун VDD пинин панельдеги V+ Railке туташтырыңыз
- AD9833 модулунун VCC пинин панелдин V+ Railке туташтырыңыз
- Муну Arduino Due'дин 3.3V пинине алып келиңиз
24V кубаты:
- VMOT пинин 24V DC энергия булагына туташтырыңыз (мотор тандооңузга жараша, сиз жогорку же төмөнкү камсыздоо темир жолун иштетишиңиз мүмкүн)
Модулдан модулга туташуу:
- AD9833 модулунан OUT пинин мотор айдоочусунун STEP пинине туташтырыңыз
Stepper Driver Connections:
- Stepper Motor байланыштарын 2B/2A/1A/1B Pinsке туташтырыңыз. Айдоочунун фазалары Степпер Моторунун фазаларына дал келгенче, полярдуулук анча маанилүү эмес.
- RESET жана SLEEP пиндерин бириктирип, аларды Arduino Due Pin 8ге алып келиңиз.
- DIR пинин 3.3V темир жолуна туташтырыңыз
AD9833 модулу туташуулары:
- SCLKти Arduino Due'дин SCK пинине туташтырыңыз. Көңүл буруңуз, бул пин кадимки сырткы ургаачы аталыштарда эмес, микроконтроллердин жанындагы 6-шиштүү ICSP аталышында.
- SDATA пинин Due MOSI пинине туташтырыңыз. Көңүл буруңуз, бул пин кадимки сырткы ургаачы аталыштарда эмес, микроконтроллердин жанындагы 6-шиштүү ICSP аталышында.
- FSYNCти Arduino Due Pin 6га туташтырыңыз (бул чип тандоо бул чип)
Эми нан тактасы толугу менен чогултулгандыктан, кодду карап чыгууга убакыт келди!
2 -кадам: Программалоо жана MIDI Орнотуу
Тиркелген.ino эскизи Arduino Due Native USB порту аркылуу USB-MIDI кириштерин алат жана аларды AD9833 айдоо үчүн колдонот. Бул чипте 25 МГц/ 28 бит жыштыктагы чечилиште иштеген DAC бар (бул жерде керектүү нерселер үчүн жалпы ашыкча) жана бул жердеги коддун көбү аны чарчы толкунду иштетүү жана чыгаруу үчүн конфигурациялап жатат.
Эскертүү: эки USB порту бар. Бири тактайды программалоо үчүн колдонулат, экинчиси USB аркылуу MIDI аркылуу иштөө үчүн колдонулат
Бул эскиз Arduino Uno боюнча иштебей турганына көңүл буруңуз - бул проект Arduino Due же ага окшош түзмөктөрдө түпкү USBге муктаждыгына байланыштуу
Ыңгайлаштыруу параметрлери:
- Препроцессор макро аныктамасы менен коюла турган 2 режим бар. Эгерде "#define STOPNOTES" бүтүн бойдон калса, тепкич ноталардын ортосунда токтойт. Бул дайыма эле боло бербейт (мисалы, тез арпеджиолорду ойнотуу), андыктан бул жүрүм -турумду өзгөртүү үчүн, #define билдирүүсүн өчүрүп же комментарий бериңиз, ал эми степпер ойногондон кийин тынымсыз иштей берет.
-Мен 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 мотору менен башкарылуучу локомотив модели - Ротари Encoder катары Step Motor: 11 кадам (Сүрөттөр менен)
Stepper мотору менен башкарылуучу локомотив модели | Stepper мотору ротациялык кодер катары: Мурунку көрсөтмөлөрдүн биринде, биз тепкичтүү моторду айлануучу коддогуч катары кантип колдонууну үйрөндүк. Бул долбоордо биз азыр Arduino микроконтроллерин колдонуп, тепловоздун моделин башкаруу үчүн ошол тепкичтүү мотор айлануучу коддогучту колдонобуз. Ошентип, фу жок
Электр Мотору + Фиджет Мотору: 12 кадам
Электр Мотору + Фиджет Мотору: Инструкциялоочу сөздөрдү колдонуңуз, бул 2 электромотор менен иштөө. Электр кыймылдаткычы эң чоң болуп саналат. Твид - бул кыймылсыз мотор, ал эми магнит кеңири таралган
Single Coil индукциялык мотору / Электр мотору: 6 кадам
Single Coil индукциялык мотору / Электр мотору: Бул долбоордо биз бир катушкалуу асинхроникалык моторду жасайбыз Коммерциялык, жана алда канча иштелип чыккан, бул электр кыймылдаткычынын версиялары көпчүлүк альтернативдүү приборлордо колдонулат. Биздин мотордун жогорку моменти жок, бул көбүрөөк иштөө жөнүндө
Ардуино менен ретро үн чипи - SAA1099: 16 кадам (сүрөттөр менен)
Ретро үн чипи Arduino менен - SAA1099: Бул көрсөтмөдө мен сизге винтаждык үн синтезинин чипи менен Arduino Uno кантип колдонууну көрсөтөм, midi файлдарды чарчы толкундуу жакшылыкта ойнотуу үчүн! бул долбоор эмне кылат, жогорудагы видеону көрүңүз. Болбосо улантыңыз
Wi-Fi көзөмөлдөгөн FPV Rover роботу (Arduino, ESP8266 жана Stepper Motors менен): 11 кадам (Сүрөттөр менен)
Wi-Fi менен башкарылуучу FPV Rover роботу (Arduino, ESP8266 жана Stepper Motors менен): Бул көрсөтмө бир ESP8266 Wi-Fi модулуна туташкан Arduino Uno колдонуп, Wi-Fi тармагы аркылуу алыстан башкарылуучу эки дөңгөлөктүү роботту кантип иштеп чыгууну көрсөтөт. жана эки тепкичтүү мотор. Роботту кадимки интернет беттеринен башкарса болот