فهرست مطالب:
تصویری: تولید سیگنال PWM با وضوح بالا برای سروهای RC با دستگاه های STM32: 3 مرحله
2024 نویسنده: John Day | [email protected]. آخرین اصلاح شده: 2024-01-30 08:54
در حال حاضر ، من در حال ساخت یک فرستنده/گیرنده RC بر اساس تراشه SX1280 RF هستم. یکی از اهداف پروژه این است که من رزولوشن 12 بیتی سروو را از چوبها تا سروها می خواهم. تا حدودی به این دلیل که سرویس های دیجیتالی مدرن دارای وضوح 12 بیت هستند ، در مرحله دوم فرستنده باکیفیت به هر حال از 12 بیت استفاده می کند. من در حال بررسی این بودم که چگونه می توانم سیگنالهای PWM با وضوح بالا را در دستگاههای STM32 ایجاد کنم. من در حال حاضر از قرص سیاه (STM32F103C8T8) برای نمونه اولیه استفاده می کنم.
مرحله 1: لیست قطعات
سخت افزار
- هر برد توسعه STM32F103 (قرص آبی ، قرص سیاه و غیره)
- پاور بانک USB به عنوان منبع تغذیه
- برنامه نویس STM32 (Segger j-links، ST-LINK/V2 یا به سادگی یک کلون st-link)
نرم افزار
- STM32CubeMX
- Atollic TrueSTUDIO برای STM32
- منبع پروژه از github
مرحله 2: راه حل واضح
احتمالاً ساده ترین راه حل استفاده از یکی از تایمرهایی است که می تواند سیگنالهای PWM تولید کند ، مانند TIM1-3 در STM32F103. برای یک سروو دیجیتال مدرن ، نرخ فریم می تواند به 5 میلی ثانیه یا بیشتر برسد ، اما برای یک سروو آنالوگ قدیمی باید 20 میلی ثانیه یا 50 هرتز باشد. بنابراین ، به عنوان بدترین حالت ، اجازه دهید آن را ایجاد کنیم. با فرکانس 72 مگاهرتز و وضوح شمارنده تایمر 16 بیتی ، ما نیاز داریم که پیش شمارنده تایمر را روی 23 تنظیم کنیم تا نرخ فریم 20 میلی ثانیه را پوشش دهد. من 24 را انتخاب کردم زیرا برای 20 میلی ثانیه باید شمارنده را دقیقاً روی 60000 تنظیم کنم. شما می توانید تنظیمات CubeMX و سیگنال های تولید شده PWM 1 و 1.5 میلی ثانیه را در تصاویر مشاهده کنید. متأسفانه ، برای 1 میلی ثانیه شمارنده تایمر باید روی 3000 تنظیم شود ، که به ما فقط وضوح 11 بیت می دهد. بد نیست ، اما هدف 12 بیت بود ، بنابراین اجازه دهید چیز دیگری را امتحان کنیم.
البته اگر من یک میکرو کنترلر با شمارنده تایمر 32 بیتی انتخاب کنم ، مانند STM32L476 این وضوح می تواند بسیار بیشتر باشد و مشکل حل شود.
اما در اینجا ، من می خواهم راه حلی جایگزین را پیشنهاد کنم که وضوح تصویر را حتی در STM32F103 افزایش دهد.
مرحله 3: تایمرهای آبشاری برای وضوح بالاتر
مشکل اصلی راه حل قبلی این است که نرخ فریم (20 میلی ثانیه) نسبت به سیگنال PWM ایجاد شده (بین 1 تا 2 میلی ثانیه) نسبتاً زیاد است ، بنابراین ما در حال منتظر ماندن برخی از بیت های ارزشمند برای 18 ثانیه باقی مانده هستیم. قاب بعدی این را می توان با تایمرهای آبشاری با استفاده از ویژگی پیوند تایمر برای همگام سازی حل کرد.
ایده این است که من از TIM1 به عنوان master برای تولید نرخ فریم (20 میلی ثانیه) و TIM2 ، TIM3 برای کنار آمدن با سیگنال های PWM به عنوان برده استفاده می کنم. هنگامی که master برده ها را فعال می کند ، آنها فقط یک سیگنال PWM را در یک حالت پالس تولید می کنند. بنابراین من فقط باید 2 ms را در آن تایمرها پوشش دهم. خوشبختانه شما می توانید این تایمرها را از نظر سخت افزاری متصل کنید ، بنابراین این همگام سازی نیازی به مداخله پردازنده ندارد و همچنین بسیار دقیق است ، jitter در منطقه ps است. می توانید تنظیمات CubeMX را در تصاویر مشاهده کنید.
همانطور که می بینید من 3 را به عنوان prescalar انتخاب کردم بنابراین برای 2 میلی ثانیه باید 48000 را در شمارنده تایمر تنظیم کنم. این 24000 برای 1 میلی ثانیه به ما می دهد که در واقع بیشتر از آنچه برای رزولوشن 14 بیت نیاز داریم است. تدااا…
لطفاً برای نتیجه نهایی ، به اسکرین شات های اسیلوسکوپ در مقدمه نگاه کنید. کانال 3 (بنفش) وقفه زمان سنج اصلی است که باعث ایجاد یک پالس در محلول ها می شود. کانال 1 و 4 (پرتو زرد و سبز) سیگنالهای واقعی PWM هستند که توسط تایمرهای مختلف تولید می شوند. توجه داشته باشید که آنها همگام هستند اما در لبه های عقب همگام سازی می شوند ، این به دلیل حالت PWM 2 است. این مشکلی نیست ، زیرا نرخ PWM برای سرووی خاص هنوز صحیح است.
مزیت دیگر این راه حل این است که تغییر نرخ فریم به معنای تغییر دوره فقط در TIM1 است. برای سرویس های دیجیتالی مدرن می توانید حتی تا 200-300 هرتز پایین بیایید ، اما اگر می خواهید تنظیم دقیق داشته باشید ، به دفترچه راهنمای سرو مراجعه کنید.
توصیه شده:
فرکانس با وضوح بالا: 5 مرحله (همراه با تصاویر)
فرکانس با وضوح بالا: این دستورالعمل شمارنده فرکانس متقابل را نشان می دهد که قادر به اندازه گیری سریع فرکانس ها و با دقت معقول است. این با اجزای استاندارد ساخته شده است و می تواند در آخر هفته ساخته شود (کمی بیشتر طول کشید :-)) ویرایش: کد اکنون در دسترس است
راه اندازی برای ارائه دهنده GPS بلوتوث خارجی برای دستگاه های Android: 8 مرحله
راه اندازی برای ارائه دهنده GPS خارجی بلوتوث برای دستگاه های Android: این دستورالعمل نحوه ایجاد GPS خارجی با قابلیت بلوتوث خود را برای تلفن شما توضیح می دهد ، هر چیزی را فقط با 10 دلار روشن کنید. صورت حساب مواد: ماژول بلوتوث NEO 6M U-blox GPSHC-05 رابط ماژول های کم مصرف Blutooth Ardui
وب کم با وضوح بالا: 9 مرحله (همراه با تصاویر)
وب کم با وضوح بالا: چند سالی از یک وب کم مبتنی بر RPi (با ماژول PiCam) استفاده می کردم. تصاویر تولید شده کاملاً مناسب بودند اما در آن لحظه ، لحظه ای بود که دیگر از کیفیت راضی نبودم. تصمیم گرفتم یک وب کم با وضوح بالا بسازم. قسمت های زیر با
OpenLogger: وضوح بالا ، Wi-Fi فعال ، منبع باز ، داده ثبت کننده قابل حمل: 7 مرحله
OpenLogger: یک وضوح بالا ، Wi-Fi فعال ، منبع باز ، داده ثبت کننده قابل حمل: OpenLogger یک دستگاه ثبت کننده قابل حمل ، منبع باز ، کم هزینه و با وضوح بالا است که برای ارائه اندازه گیری های با کیفیت بالا بدون نیاز به نرم افزار گران قیمت یا نوشتن نرم افزار طراحی شده است. از ابتدا اگر شما یک مهندس ، دانشمند یا علاقه مند هستید که
نحوه گرفتن تصاویر با وضوح بالا از دستورالعمل ها: 4 مرحله
چگونه می توان تصاویر با وضوح بالا را از دستورالعمل ها خارج کرد: آیا واقعاً از آن تصویر آموزنده لذت بردید و می خواهید یک نسخه با وضوح بالا از آن ذخیره کنید؟ این ویژگی کوچک کوچک به راحتی نادیده گرفته می شود