بایگانی دسته: اموزش

سری ۸ بیتی ST

weblQFP32

STM8S

  • از مزایای بسیار عالی stm8s پروگرم کردن فقط با یک پین بدون نیاز به پین رست می باشد.
  • سری stm8s003 و stm8s103 در خانواده ظرفیت پایین میکروهای ۸ بیتی ST قرار دارند،در این پست و چند پست اینده در رابطه با تایمرها صحبت خواهیم داشت.تایمر ۱ این خانواده،تایمر ۱۶ بیتی پیشرفته می باشد که امکاناتی عالی در اختیار الکترونیک کارها قرار میدهد،توانایی خروجی ۷ PWM – سه کانال خروجی + نات و یک خروجی مستقل که براحتی میتوانید خروجی های لازم برای کنترل یک موتور سه فاز را داشته باشید،قابلیت اضافه کردن deadtime از دیگر محاسن این تایمر می باشد.قسمت دیگری که بسیار جالب است،ضرایت تقسیم فرکانس ورودی تایمر می باشد که بازه ۱۶ بیتی را در اختیار میگذارد،در سری معمول مگا اتمل این ضرایب به ۶ عدد خلاصه میشد.
  • کلاک داخلی stm8s می تواند از سه منبع کریستال خارجی یا اسیلاتور RC داخلی ۱۶ مگاهرتز،اسیلاتور RC داخلی ۱۲۸ کیلوهرتز میتواند تامین شود.کلاک پیشفرض این chip برروی ۲ مگاهرتز می باشد که ضریب ۱/۸ کلاک RC 16Mhz می باشد.همچنین در صورت نبود کریستال و یا فرکانس نا مناسب برروی منبع خارجی بصورت خودکار برروی کلاک داخلی سویچ خواهد شد.
    هسته CPU داخلی این میکروها با ولتاژ ۱٫۸ ولت کار میکنند از این رو رگولاتور داخلی وجود دارد که جهت پایدار شدن هرچه بیشتر رگولاتور پین Vcap در نظرگرفته شده که طبق گفته ST خازن بین ۰٫۵ تا ۴ میکرو فاراد می بایست بین Vcap و GND قرار بگیرد.
    بازه ولتاژ این سری بین ۳ تا ۵ ولت می باشد.
  • امکان Beeper در سری STM8S قابلیت ایجاد فرکانس ۱,۲,۴ کیلو هرتز در پین اعلام شده AFR7 دارا میباشد.به فرض مثال  STM8S003F3 از PC3 امکان خروجی گرفتن Beeper  را دارد.فرکانس خروجی بدون درگیر کردن تایمر میکروکنترلر انجام می شود و ضریبی از اسیلاتور ۱۲۸ کیلوهرتز RC داخلی می باشد.فرکانس های تولید شده جهت استفاده در بیزرهای بدون اسیلاتور بوده،که ۳ نوع تون صدای متمایز می توان تولید کرد.

باماهمراه باشید…
وب سایت
۱۰bit.ir
لینک کانال
telegram.me/g10bit
لینک گروه
۱۰bit.ir/telegram

ساخت جدول مقادیر سینوسی برای تولید موج Sin با PWM

به فرض میخواهیم سیگنال سینوسی بوسیله PWM تولید کنیم که PWM ما از رزولویشن خاصی  استفاده میکند،بطور مثال بازه ی ۰ تا ۴۰۰۰ محدوده ی PWM خروجی میکرو ما است و نیاز داریم تا جدول مقادیر سینوسی را تولید کنیم

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

ابتدا با استفاده از تابع زیر تعداد خانه های جدول یا به عبارتی رزولیشن موج سینوسی تولید شده را تعیین میکنیم،۵۱۲ در اینجا همان عدد مورد نظر است

x=linspace(0,2*pi,512)

جدولی تولید میشود که دارای ۵۱۲ خانه است که محدود ۰ تا ۲ پی را دربر دارد سپس با دستور زیر جدول x را تحویل تابع sin میدهیم و مقادیر در جدول y ذخیره میشود

y=sin(x)

با دستور زیر هم میتوانید نتایج را مشاهده کنید

plot(y)

و دستورات زیر را به ترتیب وارد میکنید

y=y.*2000

y=y+2000

y=round(y)

توجه داشته باشید که حدنهایی PWM مورد نظرتان باید بصورت نصف در دو دستور بالا وارد گردد که در اینجا ما ۴۰۰۰ مدنظر است. و هچنین با دستور plot میتوانید نتیجه را مقایسه کنید.

سپس در قسمت WorkSpace برروی جدول y کلیک کرده و پس از باز شدن برروی خانه ۱ کلیک کرده و سپس کل مقادیر را copy و در اکسل مایکروسافت paste میکنیم فایل موجود در اکسل را با فرمت csv ذخیره و سپس با NotePad باز و کلیه (;) هارا با (,)  رپلیس replace میکنیم.

حال جدول مورد نظر تولید شده و اماده قرار دادن در کامپایلر است.قابل ذکر است که خروجی PWM می بایست با یک فیلتر پایین گذرمناسب سری شود تا موج Sin ظاهر شود

matl