فهرست مطالب:
- مرحله 1: الزامات 1/3 - سخت افزار
- مرحله 2: الزامات 2/3 - اجزای مدار شما
- مرحله 3: الزامات 3/3 - نرم افزار
- مرحله 4: مدار ورودی
- مرحله 5: مدار خروجی
- مرحله 6: [اختیاری] ایجاد مدار چاپی بوراد و اجزای لحیم کاری
- مرحله 7: راه اندازی SoC
- مرحله 8: برنامه نویسی C HPS
- مرحله 9: خرید دیجیتال ADC از کارت
- مرحله 10: محاسبه FFT
- مرحله 11: نمایش FFT
- مرحله 12: مونتاژ
- مرحله 13: جلوه های صوتی
- مرحله 14: [اختیاری] ساخت کلاه ایمنی
تصویری: کلاه ایمنی Spartan Voice Changer: 14 مرحله (همراه با تصاویر)
2024 نویسنده: John Day | [email protected]. آخرین اصلاح شده: 2024-01-30 08:52
سلام! ما یک تیم 4 نفره از مدرسه پلی تکنیک دانشگاه سوربن هستیم:
- لوئیس بوکرت
- بلال ملحی
- بائو تین پیوت
- مارکو لونگپه
این پروژه به عنوان بخشی از مطالعات ما انجام شده است و هدف آن استفاده از تعدادی ابزار و همچنین نشان دادن دستاوردهای نظری ما است.
این شیء معروف ظاهری شبیه به کلاه ایمنی قهرمان یک بازی ویدیویی خاص دارد که نامش از بین می رود. از نظر طراحی نیز صفحه ای داریم که تغییر فوریه سیگنال صوتی خروجی از بلندگو را نشان می دهد. هدف این هدست تغییر صدای حامل در زمان واقعی با استفاده از تعدادی جلوه قابل انتخاب است.
اهداف آموزشی:
- صدا را از میکروفون ضبط کنید
- سیگنال را تقویت ، فیلتر ، دیجیتالی کنید
- FFT یک سیگنال را درک کنید
- این FFT را روی صفحه نمایش دهید
- سنتز سیگنال
- صدایی را از بلندگو بیرون بیاورید
- درک اثرات روی صدا (طنین ، اکو ، و غیره …)
اکنون که پیش زمینه را قرار داده ایم و پروژه را ارائه کرده ایم ، وقت آن است که دست به دست شوید!
مرحله 1: الزامات 1/3 - سخت افزار
برای ساختن موفقیت آمیز کلاه ایمنی شما ، به سخت افزاری برای اجرای دستگاه نیاز داریم.
- صفحه توسعه DE0-Nano-SoC توسط Terasic + Adafruit TFT LCD (Arduino)
- دسترسی به چاپگر سه بعدی برای ساختن کلاه ایمنی (اگر دانشجوی دانشگاه هستید و به دانشگاه خود نزدیک می شوید ، برخی از آنها آزمایشگاه هایی برای دانشجویان در دسترس دارند)
- رایانه ای با اتصال به اینترنت و حداقل اتصال (USB ، اترنت). کامپیوتر شما نیز باید پردازنده قوی داشته باشد زیرا تدوین برنامه ها در Qsys زمان زیادی می برد.
- (الزامی نیست) چاپگری که تخته مدار چاپی (PCB) را از فایل های Gerber به منظور کوچک کردن اندازه مدار + اتوی لحیم کاری برای قرار دادن اجزای روی PCB تهیه می کند.
- (به شدت توصیه می شود): یک قهوه خوب برای لذت بردن از کار خود با دستورالعمل ما:)
مرحله 2: الزامات 2/3 - اجزای مدار شما
در اینجا اجزای مورد نیاز برای مدار شما آمده است:
- تقویت کننده صوتی کلاس Texas Instrument LM386 AB
- تخته نان
- مجموعه ای از کابل های مردانه ، مردانه و زنانه
- مبدل دیجیتال به آنالوه LM358P (DAC)
- گوینده
- میکروفون کوچک مورد استفاده در مدارهای آنالوگ
- مجموعه ای از مقاومت از 1 کیلو اهم تا 220 کیلو اهم
- خازن 1.5nF
- خازن 50nF
- خازن 100nF
- خازن 100uF
- خازن 220uF
- x4 خازن 10uF
مرحله 3: الزامات 3/3 - نرم افزار
آخرین و مهمترین ، شما به نرم افزار نیاز دارید:
- Quartus 15.1: نسخه Lite
- کامپایلر C (برای مثال gcc)
- آلتیم برای طراحی PCB
- SoC مجموعه تعبیه شده Altera برای ارتباط با نقشه SoC
- بتونه
مرحله 4: مدار ورودی
بیایید مدار را بسازیم. از تصویر فوق از مدار برای جمع آوری آن بر روی تخته نان خود استفاده کنید. همچنین تصویر BreadBoard و مدار داخل آن را مشاهده خواهید کرد تا نحوه اتصال پین ها را مشاهده کنید. کل مدار با جریان مستقیم 5 ولت (DC) تغذیه می شود. برای این کار می توانید از باتری 5 ولت با مبدل USB-B یا ژنراتور عملکرد استفاده کنید.
چند یادآوری:
- منبع تغذیه 5 ولت و زمین روی خطوط افقی جداگانه تخته نان متصل می شوند
- اگر می خواهید 2 جزء را به طور موازی به هم وصل کنید ، آنها را در یک خط مشترک از تخته نان قرار دهید
- اگر می خواهید 2 جزء سریال را به هم وصل کنید ، اجزاء باید فقط یک پین در یک خط مشترک تخته نان قرار دهند.
از تماشای آموزش اختصاصی نحوه استفاده از تخته نان دریایی و تقویت مدار روی آن دریغ نکنید. همچنین فراموش نکنید که موقعیت پین تقویت کننده صوتی LM358P را با دقت بخوانید (تصویر بالا را ببینید)
مرحله 5: مدار خروجی
دستورالعمل های مشابه مرحله 4. چهار ورودی: SDI ، نه CS ، SCK ، و نه LDAC از DE0-Nano-Soc Board شما هستند. بعداً خواهیم دید که چگونه آنها را تولید کنیم.
فراموش نکنید که موقعیت پین تقویت کننده صدا LM386 را با دقت بخوانید (تصویر بالا را ببینید)
مرحله 6: [اختیاری] ایجاد مدار چاپی بوراد و اجزای لحیم کاری
اگر خوش شانس هستید که دارای چاپگر مدار مدار هستید یا می توانید از آن استفاده کنید ، ما قصد داریم برد مدار چاپی (PCB) خود را ایجاد کنیم. توجه داشته باشید که این مرحله اختیاری است. این مرحله فقط شامل انتقال مدار شما از تخته نان به PCB است.
شما به این 2 فایل GERBER احتیاج دارید.
این فایل ها در Altium ساخته شده اند. از آنها برای چاپ PCB خود در نرم افزار چاپگر PCB خود استفاده کنید. پس از تهیه PCB خود ، مطمئن شوید که PCB شما تمیز است و قطعات به درستی چاپ شده اند.
اکنون معامله واقعی می آید: لحیم کاری. 2 تصویر بالا نقشه مدار روی PCB است. هر جزء دارای نام (R6 ، C4 ، MK1 و غیره) است. تصاویر مرحله 4 و 5 پارامترهای اجزا (مقاومت ، رسانایی..) را نشان می دهد. هر جزء را از بردبرد خود تا PCB را مطابق نام آنها قرار دهید.
هنگامی که همه چیز را با لحیم کاری خود لحیم کردید ، هر قطعه را با ولت متر آزمایش کنید تا بررسی کنید که آیا اتصال کوتاه وجود دارد یا خیر.
مرحله 7: راه اندازی SoC
در مورد راه اندازی SoC ، باید برخی از دستورات و اسکریپت های موجود در مجموعه تعبیه شده SoC را در یک ترمینال اجرا کنید. برای انجام این کار ، باید مقداری $ PATH اضافه کنید. PATH در ترمینال برای جستجوی یک فایل در فهرستهای داده شده توسط مسیر هنگام اجرای دستور استفاده می شود. برای انجام این کار ، خط فرمان زیر را تایپ کنید:
صادرات PATH =/cygdrive/c/altera_lite/15.1/quartus/sopc_builder/bin: $ PATH
سپس خط فرمان را تایپ کنید تا هدرهایی از یک فایل sof ایجاد شود. شما با گردآوری پروژه خود در Quartus فایل sof را به دست می آورید. برای این کار عبارت:./generate_header را تایپ کنید.
مرحله 8: برنامه نویسی C HPS
ما باید 2 نکته را در این قسمت متوجه شویم ، یعنی ارزش ADC را بخوانید و آن را در SPI بنویسید.
1. مقدار ADC را بخوانید
آدرس حافظه ای که ADC در آن قرار دارد مستقیماً قابل دسترسی نیست ، در واقع سیستم لینوکس موجود در کارت چکیده ای از حافظه را تنظیم می کند. برای دسترسی واقعی به آدرس ADC از تابع mmap استفاده می کنیم.
"h2p_lw_spi_addr = virtual_base + ((بدون امضا طولانی) (ALT_LWFPGASLVS_OFST + SPI_0_BASE) & (طولانی بدون امضا) (HW_REGS_MASK))؛"
این دستورالعمل اجازه می دهد تا یک افست در ابتدای آدرس اصلی اضافه شود تا به آدرس حافظه اختصاص داده شده برای ADC برسد و در آدرس حاصله منطقی انجام شود و پوشش را در نظر بگیرد.
پس از آن ، فقط لازم است اشاره گر در برنامه را برای بدست آوردن مقدار آن از حالت اولیه خارج کنید.
2. مقدار ADC را در SPI بنویسید
دستکاری مشابه است ، این بار ما به mmap افست می دهیم تا بر روی آدرس اختصاص داده شده توسط SPI قرار گیرد. هنگام نوشتن در SPI ، مستندات فنی مشخص می کند که باید مقدار adc را در آدرس + 1 بنویسید.
"*(h2p_lw_spi_addr+1) = ((0x1 << 12) | *h2p_lw_adc_addr)؛"
این دستورالعمل به شما امکان می دهد به SPI بنویسید. در واقع بیت 4 ، بنابراین 1 << 12 ، بیتی است که اجازه فعال سازی SPI را می دهد. بنابراین با OR منطقی ، هم بیت فعال سازی و هم مقدار ADC را به SPI می دهیم.
مرحله 9: خرید دیجیتال ADC از کارت
اول از همه ، شما باید آدرس IP اترنت رایانه خود را از طریق Control Panel -> Network -> Card Parmesals تنظیم کنید. رابط اترنت کارت ، ویژگی ، آدرس ipv4 را انتخاب کرده و IP ثابت ، ماسک و غیره را وارد کنید …
در مرحله بعد ، کارت را از طرف پریز برق با کابل میکرو USB وصل کنید. برنامه نویس Quartus را باز کرده و صادرات را اجرا کنید. این دستکاری بعد از هربار خاموش شدن کارت دوباره انجام می شود.
برای اتصال این بار در کنار جک اترنت ، کابل دوشاخه micro USB را تغییر دهید. در حال حاضر ، با Putty لازم است که به کارت با پیوند سریال متصل شوید. پیکربندی در عکس ها قابل مشاهده است ، ایده این است که COM5 را با COM جایگزین کنید و به دنبال آن شماره ای را که می توانید در مدیر دستگاه خود پیدا کنید (برای بازکردن آن روی آرم ویندوز کلیک راست کنید).
Enter را فشار دهید ، متصل هستید.
اطلاعات برای راه اندازی مجدد پروژه: - ip اترنت مربوط به کارت را برطرف کنید - کارت را روشن کنید ، هر بار که برق را روشن می کنید ، لازم است پروژه کامپایل شده در کارت را با "برنامه" زیر چهارم قرار دهید. این کار از طریق پورت micro -USB انجام می شود - برای نمایش نتیجه برنامه ، ما بیشتر از USB USB اما UART استفاده می کنیم - با بتونه پیکربندی شده برای سریال COM5 (یا 6 ساعت تماشای حاملگی) به کارت وصل شوید. - تنظیم رمز عبور (passwd) - تنظیم آدرس IP ifconfig ethxx IPchoice (IP نه چندان دور از آدرس رایانه شخصی) - ایجاد سرصفحه مطابق Qsys با ترمینال تعبیه شده (مسیر صادرات) - ساخت - scp l exec در نقشه - اجرای زیر بتونه prog
مرحله 10: محاسبه FFT
به منظور ایجاد تغییر سریع فوریه در برنامه C ما ، از کتابخانه ای که توسط Mark Borgerding نوشته شده است ، استفاده می کنیم: Kiss FFT. کتابخانه را می توانید از اینجا بارگیری کنید: https://kissfft.sourceforge.net/. اعمال FFT روی سیگنال به منظور اصلاح و اعمال جلوه های سیگنال ضروری است. همچنین می تواند طیف سیگنال را نمایش دهد.
اولین قدم در برنامه C شما شامل اختصاص حافظه به منظور ذخیره نتیجه FFT است. اندازه حافظه بستگی به تعداد نقاط مورد استفاده برای محاسبه FFT دارد. هرچه امتیاز بیشتری داشته باشید ، FFT دقیق تر خواهد بود. با این حال ، برنامه کندتر اجرا می شود و از حافظه بیشتری استفاده می کند. توجه داشته باشید که از تابع kiss_fft دو آرایه دریافت خواهید کرد: ورودی و خروجی تابع (cx_in و cx_out)
هنگامی که آرایه ما با مقادیر FFT جدید پر می شود ، یعنی وقتی r = Win - 1 ، ما FFT را پردازش می کنیم. در مورد صفحه نمایش ، ما فقط قسمت مثبت طیف را نمایش می دهیم ، زیرا بین قسمت منفی و قسمت مثبت تقارن وجود دارد.
در مورد محور افقی ، ما مقادیر پیک را 100*ارتفاع/(ارتفاع) کاهش می دهیم تا قله فرکانس های اصلی را تشخیص دهیم.
ما از فراخوان سیستم usleep برای تعیین فرکانس خواندن برای مقادیر ADC استفاده می کنیم. این فرکانس در حال حاضر 1 ، 5 هرتز تنظیم شده است.
مرحله 11: نمایش FFT
بر اساس مثال ارائه شده در صفحه Adafruit TFT LCD موجود در اینجا: https://www.terasic.com/downloads/cd-rom/de0-nano-s… ما NIOS هیئت مدیره خود را برنامه ریزی کرده ایم تا بتواند بخواند مقدار ADC
بنابراین ثبت ADC بین NIOS و HPS به اشتراک گذاشته می شود زیرا از مقادیر ADC برای نمایش FFT در صفحه NIOS استفاده می شود و همین مقادیر در SPI نوشته می شوند تا از برد خارج شوند و در نهایت تبدیل شوند. توسط DAC برای دریافت سیگنال آنالوگ
مرحله 12: مونتاژ
کار ما تقریبا تمام شده است! شما باید هر قسمت از پروجت (مدار ورودی ، مدار خروجی و برد) را مونتاژ کنید. مطابق پروژه Quartus ، قطعات را برای اتصال پین ها متصل کنید.
- مدار ورودی سیگنال صوتی ضبط شده توسط میکروفون ، تقویت شده ، فیلتر و افست را ارسال می کند.
- برنامه C موجود بر روی کارت ، مقادیر ADC را همانطور که قبلاً مشاهده کردیم ، می خواند و آن را در SPI می نویسد تا بتوانیم مقدار GPIO کارت را بازیابی کنیم.
- سپس GPIO خروجی SPI اطلاعاتی را که توسط DAC رمزگشایی شده و با اجرا برای رسیدن به بلندگو تقویت می شود ، منتقل می کند.
مرحله 13: جلوه های صوتی
تنها قدم باقی مانده جلوه های صوتی است.
جلوه های موجود عبارتند از:
- فیلتر فرکانس بالا
- فیلتر فرکانس پایین
- …
به لطف یک دکمه می توانید بین جلوه ها جابجا شوید. این دکمه یک متغیر را در برنامه C ما تغییر می دهد ، بنابراین می تواند جلوه مناسب را اعمال کند.
مرحله 14: [اختیاری] ساخت کلاه ایمنی
در اینجا ما در دستی ترین مرحله پروژه هستیم:
- ابتدا قسمت های مختلف چاپگر سه بعدی کلاه ایمنی را چسباندیم.
- برای پر کردن شکاف بین قطعات چسبانده شده ، با استفاده از یک قلم سه بعدی یک پایان اضافه کردیم.
- ما عموماً قسمت های پر شده با قلم و کلاه ایمنی را جلا دادیم تا نقاشی بعد از آن خوب بماند.
- ما کلاه ایمنی را با 2 لایه رنگ آمیزی کردیم: لایه اول با رنگ سیاه آنتراسیت ، از نزدیک و دومی با رنگ سبز اولیه از رنگهای تیره تر.
- سرانجام ما لوگوی مدرسه خود را در کنار کلاه ایمنی چاپ کردیم
توصیه شده:
کلاه ایمنی Covid قسمت 1: معرفی مدارهای Tinkercad !: 20 مرحله (همراه با تصاویر)
کلاه ایمنی Covid قسمت 1: مقدمه ای بر مدارهای Tinkercad !: سلام دوست! در این سری دو قسمتی ، ما نحوه استفاده از مدارهای Tinkercad را یاد می گیریم - یک ابزار سرگرم کننده ، قدرتمند و آموزشی برای یادگیری نحوه عملکرد مدارها! یکی از بهترین راه های یادگیری ، انجام دادن است. بنابراین ، ما ابتدا پروژه شخصی خود را طراحی می کنیم:
کلاه ایمنی دوچرخه LED: 6 مرحله (همراه با تصاویر)
کلاه ایمنی دوچرخه LED: در اینجا نحوه افزودن LED های ایمنی به کلاه دوچرخه خود با استفاده از رنگ رسانا آورده شده است. من همیشه آن چراغ هایی را که روی دوچرخه خود می چسبانید از دست می دادم و آنها ارزان یا با کیفیت نیستند. مواد: رنگ رسانا اپوکسی رسانا اپوکسی 5 دقیقه ای (چسب حرارتی برای رشد
کلاه نه کلاه - یک کلاه برای افرادی که واقعاً کلاه نمی پوشند ، اما دوست دارند یک کلاه تجربه کنند: 8 مرحله
کلاه نه کلاه - یک کلاه برای افرادی که واقعاً کلاه نمی پوشند ، اما کلاه را دوست دارند تجربه: من همیشه آرزو داشتم که یک کلاه باشم ، اما تا به حال کلاهی پیدا نکرده ام که برای من مناسب باشد. این & quot؛ کلاه نه کلاه ، & quot؛ یا همانطور که می گویند جذاب است ، یک راه حل فوق العاده برای مشکل کلاه من است که در آن ممکن است در دربی کنتاکی شرکت کنم ، خلاء
دکمه ایمنی بی سیم برای ایمنی PLC: 6 مرحله (همراه با تصاویر)
دکمه ایمنی بی سیم برای ایمنی PLC: این پروژه اثبات مفهوم من برای استفاده از IoT و (سرانجام) روباتیک برای ایجاد یک لایه ایمنی اضافی برای تأسیسات تولید خطرناک است. از این دکمه می توان برای شروع یا توقف چندین فرآیند ، از جمله کنترل سیگنال استفاده کرد
TECHNO VIKING! شاخ های LED در کلاه ایمنی فضایی وایکینگ: نشانگر حجم + کلاه ایمنی وایکینگ شفاف: 6 مرحله
TECHNO VIKING! شاخ های LED در کلاه ایمنی فضایی وایکینگ: شاخص حجم + کلاه وایکینگ شفاف: بله! این یک کلاه ایمنی برای وایکینگ های فضایی است. *** به روز رسانی ، این باید به کلاه تکنو وایکینگ تغییر نام دهد *** اما اکتبر 2010 است و من فقط امروز با تکنو وایکینگ آشنا شدم. خوب پشت منحنی میم. Whateva 'در اینجا او با محصولات بالاتر است