فهرست مطالب:

ساعت و ضربان ساز Esp8266: 3 مرحله
ساعت و ضربان ساز Esp8266: 3 مرحله

تصویری: ساعت و ضربان ساز Esp8266: 3 مرحله

تصویری: ساعت و ضربان ساز Esp8266: 3 مرحله
تصویری: بررسی واقعی و ناگفته‌های ساعت هوشمند اچ کا 10 پرو مکس 😎👌 2024, نوامبر
Anonim
ساعت و ضربان ساز Esp8266
ساعت و ضربان ساز Esp8266

این دستورالعمل برای یک قطعه ساده از تجهیزات آزمایش است. یک ساعت ساز و پالس ساز

از رابط سخت افزاری i2S در esp8266 برای ایجاد یک ساعت تست یا یک توالی نبض استفاده می کند. این امر جمع آوری آن را آسان می کند زیرا سخت افزار خاصی برای یک سیستم اساسی مورد نیاز نیست.

  • تولید ساعت از 2 هرتز تا 20 مگاهرتز
  • ممکن است از هر فرکانسی استفاده شود
  • جستجو برای مطابقت بهترین تقسیم کننده های ساعت و طول بیت از ساعت پایه 160 مگاهرتز
  • به طور معمول بهتر از 0.1٪ برای فرکانسهای <100KHz مطابقت دارد
  • انتخاب نسبت فضا را علامت گذاری کنید
  • تحمل تطبیق فرکانس ممکن است برای دستیابی به فضای بهتر در علامت کاهش یابد
  • تولید قطار پالس بر اساس تعاریف موجود در پرونده ها
  • رابط کاربری گرافیکی تحت وب که امکان کنترل از طریق رایانه ، تلفن ، رایانه لوحی را فراهم می کند
  • مدیریت Wifi اجازه می دهد تا روتر اولیه آسان را راه اندازی کنید
  • به روز رسانی نرم افزار OTA
  • از کتابخانه مخصوص I2s (i2sTXcircular) استفاده می کند که کنترل انعطاف پذیر است

مرحله 1: سخت افزار

سخت افزار
سخت افزار
سخت افزار
سخت افزار

من خودم را در یک محفظه چاپ سه بعدی با باتری 18650 با شارژر USB ، سوئیچ روشن/خاموش ، یک پلاگین هدر 3 پین برای سیگنال خروجی ساختم.

این محفظه دارای یک شکاف باریک برای نگهداری لوازم الکترونیکی در کنار باتری است.

سیگنال از پین GPIO3 (RX) خارج می شود. این می تواند به طور مستقیم مورد استفاده قرار گیرد ، اما برای قابلیت درایو بالاتر ، من انتخاب کردم که یک بافر کوچک با استفاده از 74LVC2G34 در نظر بگیرم. من دو بافر موجود در این دستگاه را موازی کردم تا حتی بیشتر درایو را ارائه کنم.

همه چیز فقط در نرم افزار دستگاه انجام می شود و کنترل با ارائه یک سرور وب انجام می شود تا مرورگر روی رایانه شخصی ، تلفن یا رایانه لوحی کنترل کامل را انجام دهد.

مرحله 2: نرم افزار

برای ساخت و راه اندازی نرم افزار از کد https://github.com/roberttidey/espI2sClockGen استفاده کنید

  • نصب i2sTX کتابخانه دایره ای (شامل)
  • نصب کتابخانه BaseSupport (https://github.com/roberttidey/BaseSupport)
  • افزودن کتابخانه WifiManager
  • رمزهای عبور را در BaseConfig.h ویرایش کنید
  • در محیط آردوینو کامپایل و بارگذاری کنید
  • مدیریت شبکه wifi را با اتصال به AP و مرور به 192.168.4.1 تنظیم کنید
  • مجموعه اصلی فایلها را از پوشه داده با استفاده از STA ip/upload بارگذاری کنید
  • بارگذاری های بیشتر را می توان با استفاده از ip/edit انجام داد - رابط معمولی در ip/است

چگونه کار می کند

کتابخانه i2sTXcircular اجازه می دهد تا یک زنجیره دایره ای از بافرها ایجاد کنید که سپس به طور خودکار توسط سخت افزار i2S در esp8266 با استفاده از DMA خروجی می شوند ، به طوری که پس از انجام هیچگونه سربار نرم افزاری مورد استفاده قرار نمی گیرد.

کلاک اصلی دستگاه 160 مگاهرتز است که توسط یک جفت تقسیم کننده تقسیم می شود. سپس سیگنال خروجی با توجه به داده هایی که در بافرها قرار داده می شود تعیین می شود که توسط ساعت تقسیم شده خروجی می شود. با انتخاب دو تقسیم کننده و با استفاده از چند بیت داده بالقوه برای نشان دادن هر پالس ، می توان فرکانس را تقریباً نزدیک کرد. همچنین اجازه می دهد تا چرخه وظیفه (نسبت علامت/فاصله ضربانهای ساعت) متفاوت باشد.

کد جاوا اسکریپت مرورگر سعی می کند انتخاب پارامترها را برای مطابقت نزدیک هر فرکانس انتخاب شده بهینه کند.

اگرچه هدف اصلی تولید ساعت است ، همچنین می توان قطارهای پالس پیچیده تری را با قرار دادن یک تعریف در یک فایل پالس تولید کرد و سپس داده هایی را که تولید می شوند و در بافر دایره ای قرار می دهند ، کنترل کرد. جزئیات در مثال فایلهای نبض موجود است.

مرحله 3: عملیات

عملکرد توسط رابط مرورگر نشان داده شده در تصویر اصلی کنترل می شود.

برای تولید ساعت معمولی ، فقط ساعت هدف و نسبت علامت٪ را انتخاب کنید. ساعت واقعی به دست آمده و خطای آن نمایش داده می شود. هنگامی که دکمه ایجاد ساعت را فشار می دهید ، پارامترها به دستگاه ارسال می شوند و تولید ساعت با استفاده از این پارامترها شروع می شود.

با کلیک بر روی نوار پیشرفته جزئیات بیشتری مشاهده می شود.

ساعت بیتی ضریب فرعی 160 مگاهرتز را نشان می دهد که در حال استفاده است.

بیت های علامت گذاری و فاصله نشان می دهد که چند بیت برای نشان دادن علامت ها و فاصله ها استفاده می شود.

Div1 و Div2 دو تقسیم کننده را نشان می دهند که برای تولید نزدیکترین ساعت بیت انتخاب شده اند.

به طور معمول دو تقسیم کننده انتخاب می شوند تا نزدیکترین تطابق را با فرکانس انتخاب شده داشته باشند و تعداد بیت های داده مورد استفاده را به حداکثر برسانند که به ایجاد انعطاف پذیری بیشتر در اجازه دادن به چرخه های مختلف وظیفه کمک می کند. با این حال ، گاهی اوقات بهترین مسابقه منجر به تعداد کمی می شود و فضای کمی برای تغییر چرخه کار باقی می ماند. با تغییر مقدار تحمل٪ ، تقسیم کننده ها انتخاب می شوند تا فرکانسی را در این تحمل ارائه دهند ، اما با استفاده از بیت های داده به طور بالقوه بیشتر. برای مثال سعی کنید تحمل را روی 0.5 یا 1 تنظیم کنید.

همچنین می توانید تعداد بیت ها را برای کنترل تعداد پارامترها تنظیم کنید. 0 (به طور پیش فرض) به معنی انتخاب هر بیت در هر کلمه است. یک عدد واحد (به عنوان مثال 24) به این معنی است که فقط پارامترهایی را انتخاب کنید که با این مورد مطابقت داشته باشد. همچنین می توانید محدوده ای را قرار دهید (به عنوان مثال 24 ، 31). این فقط برای هدف هرتز بالای 10 کیلوهرتز کار می کند ، در زیر این مقیاس مقیاس اعمال می شود به طوری که عدد چند برابر می شود.

اندازه بافر کل فاصله بافر مورد استفاده در کلمات 32 بیتی را نشان می دهد. این انتخاب می شود تا پالس ساعت یک شکل دایره ای کامل را در بافر ایجاد کند. از نظر داخلی ، این بافر به تعدادی از روبرهای کوچک تقسیم می شود تا به DMA زنجیره ای عمل کند.

برای عملکرد پالس ها ، TAB پالس ها را انتخاب کنید. این فایل های نبض موجود و یک دکمه را در کنار هر کدام نشان می دهد که بر اساس تعریف آن ، یک قطب نبض تولید می کند. با کلیک روی پیوند فایل می توانید محتویات آن را مشاهده کنید. فایلهای نبض بیشتری را می توان با استفاده از مرورگر فایل ip/edit بارگذاری کرد. آنها باید با نام نبض شروع شوند.

توصیه شده: