Სარჩევი:

MIDI კონტროლირებადი სტეპერმოტორი პირდაპირი ციფრული სინთეზის (DDS) ჩიპით: 3 ნაბიჯი
MIDI კონტროლირებადი სტეპერმოტორი პირდაპირი ციფრული სინთეზის (DDS) ჩიპით: 3 ნაბიჯი

ვიდეო: MIDI კონტროლირებადი სტეპერმოტორი პირდაპირი ციფრული სინთეზის (DDS) ჩიპით: 3 ნაბიჯი

ვიდეო: MIDI კონტროლირებადი სტეპერმოტორი პირდაპირი ციფრული სინთეზის (DDS) ჩიპით: 3 ნაბიჯი
ვიდეო: მოამარ კადაფის შვილი, საიფ ალ-ისლამი ციხიდან გათავისუფლების შემდეგ პოლიტიკაში მიდის 2024, დეკემბერი
Anonim
MIDI კონტროლირებადი სტეპერიანი ძრავა პირდაპირი ციფრული სინთეზის (DDS) ჩიპით
MIDI კონტროლირებადი სტეპერიანი ძრავა პირდაპირი ციფრული სინთეზის (DDS) ჩიპით
MIDI კონტროლირებადი სტეპერიანი ძრავა პირდაპირი ციფრული სინთეზის (DDS) ჩიპით
MIDI კონტროლირებადი სტეპერიანი ძრავა პირდაპირი ციფრული სინთეზის (DDS) ჩიპით
MIDI კონტროლირებადი სტეპერიანი ძრავა პირდაპირი ციფრული სინთეზის (DDS) ჩიპით
MIDI კონტროლირებადი სტეპერიანი ძრავა პირდაპირი ციფრული სინთეზის (DDS) ჩიპით
MIDI კონტროლირებადი სტეპერიანი ძრავა პირდაპირი ციფრული სინთეზის (DDS) ჩიპით
MIDI კონტროლირებადი სტეპერიანი ძრავა პირდაპირი ციფრული სინთეზის (DDS) ჩიპით

ოდესმე გქონიათ ცუდი წარმოდგენა, რომ თქვენ უბრალოდ მოგიწევთ მინი პროექტად გადაქცევა? მე ვთამაშობდი ესკიზით, რომელიც მე გავაკეთე Arduino Due– სთვის, რომელიც მიზნად ისახავდა მუსიკის შექმნას AD9833 პირდაპირი ციფრული სინთეზის (DDS) მოდულით … და რაღაც მომენტში ვიფიქრე: „ჰეი, იქნებ მე გავაჩერო სტეპერიანი ძრავა/მძღოლი ეს . და სწორედ ამ იდეამ გამოიწვია ეს პატარა დაფაზე დაფუძნებული პროექტი.

ამ პროექტში იქნება გარკვეული კოდი MIDI-over-USB- ის გამოყენებისათვის Arduino Due- ს გასაკონტროლებლად და კვადრატული ტალღების გაგზავნა AD9833 მოდულსა და სტეპერ დრაივერს შორის. ასევე იქნება დიაგრამა და ძირითადი ინსტრუქციები ამის დასაკავშირებლად Arduino Due– სთან.

მასალები:

რა დაგჭირდებათ ამ პროექტისთვის:

არდუინო დუე

შენიშვნა: კოდი დაწერილია იმის გამო, რომ ის ასევე უნდა მუშაობდეს და/ან ადაპტირებული იყოს ნულისთვის. იგი იყენებს Arduino– ს MIDIUSB ბიბლიოთეკას, რომელიც მოითხოვს მშობლიურ USB პორტს.

Solderless Breadboard + მხტუნავები

AD9833 გარღვევის მოდული

A4988 სტეპერ დრაივერი (ან მსგავსი)

NEMA 17 სტეპერიანი ძრავა (ან მსგავსი)

- 24V ელექტროენერგიის მიწოდება (შენიშვნა, მე შევარჩიე ეს მნიშვნელობა 24 ვოლტი, რადგან ის აღემატებოდა სტეპერიანი ძრავის ნომინალურ ძაბვას. თქვენი განხორციელება შეიძლება განსხვავებული იყოს, თუ უფრო დიდ ძრავას იყენებთ)

ნაბიჯი 1: პურის დაფა

პურის დაფა
პურის დაფა

ამის ძირითადი იდეა იმაში მდგომარეობს, რომ პირდაპირი ციფრული სინთეზის IC გამოიმუშავებს კვადრატულ ტალღას, რათა მართოს სტეპერიანი ძრავის მძღოლის "საფეხური". ეს სტეპერი დრაივერი გადაადგილდება ძრავა განსაზღვრული ხმოვანი სიხშირით. ძრავის მიმართულება გარკვეულწილად თვითნებურია, სანამ ის სწორ სიხშირეზე დგას.

მიდგომა, რომელსაც მე მირჩევნია პურის დაფარვით მივუდგე, არის ელექტროენერგიის ქინძისთავების გაშვება ჯერ და შემდეგ ყველა სხვა, არასამთავრობო დენის კავშირის გაშვება.

მიწა:

- AD9833 მოდულის AGND და DGND ქინძისთავები დააკავშირეთ GND სარკინიგზო დაფაზე.

- დააკავშირეთ ორი GND ქინძისთავი სტეპერ დრაივერზე GND რკინიგზაზე

- მიიტანეთ ეს Arduino Due- ს ერთ -ერთ GND ქინძისთავთან

3.3V სიმძლავრე:

- დააკავშირეთ სტეპერ დრაივერის VDD პინი პურის დაფის V+ რკინიგზასთან

- შეაერთეთ AD9833 მოდულის VCC პინი პურის დაფის V+ რკინიგზასთან

- მიიტანეთ ეს Arduino Due- ს 3.3V პინთან

24V სიმძლავრე:

- შეაერთეთ VMOT პინი 24V DC დენის წყაროსთან (დამოკიდებულია თქვენი ძრავის არჩევანზე, შეიძლება დაგჭირდეთ უფრო მაღალი ან დაბალი მიწოდების რკინიგზის გაშვება)

მოდულიდან მოდულთან კავშირი:

- შეაერთეთ OUT პინი AD9833 მოდულიდან ძრავის დრაივერის STEP პინთან

სტეპერ დრაივერის კავშირები:

- დააკავშირეთ Stepper Motor კავშირი 2B/2A/1A/1B ქინძისთავებთან. პოლარობა არ არის ისეთი მნიშვნელოვანი, სანამ მძღოლის ფაზები ემთხვევა სტეპერ მოტორს.

- შეაერთეთ RESET და SLEEP ქინძისთავები და მიიტანეთ ისინი Arduino Due Pin 8 -ში.

- შეაერთეთ DIR პინი 3.3V რკინიგზასთან

AD9833 მოდულის კავშირები:

- შეაერთეთ SCLK არდუინო დუეს SCK პინთან. გაითვალისწინეთ, რომ ეს პინ არის მიკროკონტროლერის მახლობლად მდებარე 6 პინიანი ICSP მამაკაცის სათაურზე და არა ჩვეულებრივ გარე გარე სათაურებზე.

- შეაერთეთ SDATA Pin დენის Due MOSI პინთან. გაითვალისწინეთ, რომ ეს პინ არის მიკროკონტროლერის მახლობლად მდებარე 6 პინიანი ICSP მამაკაცის სათაურზე და არა ჩვეულებრივ გარე გარე სათაურებზე.

- შეაერთეთ FSYNC Arduino Due Pin 6 -თან (ეს არის Chip Select pin ამ პროექტისათვის)

ახლა, როდესაც პურის დაფა სრულად არის აწყობილი, დროა გადახედოთ კოდს!

ნაბიჯი 2: პროგრამირება და MIDI დაყენება

პროგრამირება და MIDI დაყენება
პროგრამირება და MIDI დაყენება

თანდართული.ino ესკიზი მიიღებს USB-MIDI შეყვანას Arduino Due- ს მშობლიური USB პორტის საშუალებით და გამოიყენებს მათ AD9833– ის მართვისთვის. ამ ჩიპს აქვს DAC, რომელიც მუშაობს 25 მჰც სიხშირის გარჩევადობით 28 ბიტი (სულ ზედმეტია იმისთვის, რაც აქ არის საჭირო) და კოდის უმეტესობა აქ არის კონფიგურაცია კვადრატული ტალღის გასაშვებად და გამოსასვლელად.

შენიშვნა: არსებობს ორი USB პორტი. ერთი გამოიყენება დაფის დასაპროგრამებლად, მეორე კი MIDI-over-USB კომუნიკაციისთვის

გაითვალისწინეთ, რომ ესკიზი არ იმუშავებს ისე, როგორც Arduino Uno– ზე - ეს პროექტი სპეციფიკურია Arduino Due ან მსგავს მოწყობილობებში მშობლიური USB საჭიროების გამო

პერსონალიზაციის პარამეტრები:

- არსებობს 2 რეჟიმი, რომლის დაყენება შესაძლებელია წინასწარი პროცესორის მაკრო განმარტებით. თუ "#define STOPNOTES" დარჩა ხელუხლებელი, სტეპერი შეჩერდება ჩანაწერებს შორის. ეს ყოველთვის არ არის სასურველი (მაგალითად, სწრაფი არპეგიოების დაკვრა), ამიტომ ამ ქცევის შესაცვლელად, უბრალოდ წაშალეთ ან გამოაქვეყნეთ კომენტარი, რომ #განსაზღვრეთ განცხადება და სტეპერი განუწყვეტლივ იმუშავებს ერთხელ დაკვრის შემდეგ.

-მე ვიყენებ იაფფასიან 2-ოქტავან MIDI კლავიატურას, რომელსაც აქვს ოქტავა ზემოთ/ქვემოთ ღილაკი, მაგრამ იმ შემთხვევაში, თუ თქვენ არ გაქვთ ეს ვარიანტი, შეგიძლიათ ოქტავა-ცვლა ქვემოთ მოყვანილი სიხშირის თარგმანის გამრავლებით ან გაყოფით 2-ზე.

MIDI სიხშირის თარგმნა ხდება ამ ხაზით playNote ფუნქციაში: int f_out = (int) (27.5*pow (2, ((float) midiNote-33)/12));

- მე ვცდილობ გამოვიყენო ჩემი კომპიუტერი USB MIDI– ზე დასაკავშირებლად - ამის გაკეთება შეგიძლიათ თქვენი საყვარელი ციფრული აუდიო სამუშაო სადგურის (DAW) პროგრამული უზრუნველყოფიდან. თუ არ გაქვთ, საკმაოდ ადვილია ამ სისტემის დაყენება LMMS - უფასო, ღია კოდის პლატფორმის გამოყენებით. მას შემდეგ რაც დაინსტალირდება და მუშაობს, უბრალოდ დააყენეთ Arduino Due როგორც MIDI გამომავალი მოწყობილობა და თუ თქვენ იყენებთ USB MIDI კლავიატურას, დააყენეთ ეს როგორც შეყვანა.

ნაბიჯი 3: ტესტირება და ექსპერიმენტი

დროა ვითამაშოთ თქვენი სტეპერიანი ძრავით!

როგორც უკვე ითქვა, მთელი იდეა ამის უკან იყო ექსკლუზიური ექსპერიმენტი, ასე რომ, ყველანაირად, ჩაატარეთ საკუთარი ექსპერიმენტი!

გირჩევთ: