ماه: می 2020

جدید LPC1768 تنظیم کلاک

ممکن است تنظیم کلاک میکروکنترلر LPC1768 برای عده ای از کاربران کمی گیج کننده به نظر برسد. به خصوص زمانی که به ظاهر تنظیمات کلاک به درستی انجام شده اما عملکرد میکروکنترلر قابل پیش بینی نیست. مثلا انتقال اطلاعات توسط UART به درستی انجام نمی شود. بنابراین داشتن درک کامل از چگونگی تنظیم کلاک LPC1768 بسیار حیاتی است. LPC1768 منابع کلاک در مرحله اول باید منبع کلاک واحد PLL0 را تعیین کنیم. در واقع کلاک اصلی به PLL0 وارد می شود و سپس فرکانس آن در چند عدد ضرب و تقسیم شده و کلاک پردازنده و سایر قسمتها تعیین می گردد. فرکانس کلاک توصیه شده برای میکروکنترلر LPC1768 از جانب NXP حداکثر 100MHz است و می تواند 3 نوع منبع کلاک مختلف داشته باشد: • اسیلاتور RC داخلی که مقدار نامی آن 4MHz است و چندان دقیق نیست. این منبع پیش فرض می باشد.• اسیلاتور خارجی که فرکانس آن می تواند بین 1 تا 24MHz باشد.• اسیلاتور RTC که فرکانس 1Hz را برای واحد ساعت واقعی و 32KHz را برای PLL0 و CPU و watchdog تولید می کند. باید دقت کرد که فقط اسیلاتور خارجی برای کار با واحدهای USB و CAN مناسب است. برای [ . . . ]

  • 1,070 بازدید
  • 0
  • 27 می, 2020
ادامه مطلب

جدید رگولاتور سوییچینگ LM2576adj با خروجی دلخواه

همون طور که می دونید داشتن یه منبع تغذیه dc آمپر بالا خیلی جاها و توی خیلی مدارات و دستگاهها لازمه. اما متاسفانه منابع تغذیه که از ترانس استفاده می کنند برای اینکه بتونن جریان خوبی بدن باید حجم خیلی زیادی رو اشغال کنند و راندمانشون هم چندان خوب نیست.به همین دلیل استفاده از منابع تغذیه سوییچینگ آمپر بالا کم کم داره متداول می شه. در اینجا فرض ما بر اینه که یه منبع تغذیه با ولتاژ ثابت در اختیار داریم. فرقی هم نمی کنه که سوییچینگ باشه یا ترانس.مداری که می خوایم معرفی کنیم یه رگولاتور متغیره که می تونه ولتاژ دلخواه شما رو ارایه بده و جریان خروجی مناسبی تا 3 آمپر فراهم می کنه. حتما آی سی lm317 رو می شناسید که یک آی سی رگولاتور قابل تنظیمه که بیشتر از 1.5 آمپر نمی شه ازش کشید. اما ما در مدار خودمون از یه آی سی رگولاتور سوییچینگ به نام lm2576HV-adj استفاده می کنیم.نقشه مدار که در شکل زیر دیده می شه تقریبا ساده ست. سیم پیچ رو می شه به صورت آماده از بازار تهیه کرد. یعنی دیگه نیازی به سیم پیچی نیست!اون دیود هم که می بینین یه دیود شاتکی [ . . . ]

  • 1,173 بازدید
  • 0
  • 27 می, 2020
ادامه مطلب

جدید رگولاتور ولتاژ متغیر lm338 با خروجی قابل تنظیم

این بار قصد داریم رگولاتور متغیر lm338 معرفی کنیم.شاید براتون پیش اومده باشه که نیاز داشته باشین برای مدارتون یک ولتاژ متغیر فراهم کنین که جریان خوبی هم داشته باشه. مثلا لازمه که نور یک لامپ هالوژن 12 ولت رو کم و زیاد کنین.همه می دونیم که lm317 معروفترین رگولاتور متغیر موجود در بازار هست و بستن مدارش هم کار آسونیه. اما در عمل این رگولاتور در بهترین حالت نمی تونه جریان بیشتر از 1/5 آمپر رو تامین کنه.یکی از گزینه های مناسب رگولاتور سوییچینگ lm2576 adj هست که اگه جنس خوبش رو تهیه کنید می تونه جریان 3 آمپر رو تامین کنه.اما رگولاتور LM338 که معمولا با بسته بندی TO3 که به قابلمه ای هم معروفه پیدا می شه، طبق دیتاشیت می تونه ولتاژ خروجی بین 1.2 تا 32 ولت رو با 5 آمپر فراهم کنه. خوبی اون استفاده از تعداد کمی عناصر اضافیه. یعنی در ساده ترین حالت می شه با دو تا مقاومت اونو راه اندازی کرد.اما در عوض اندازه بزرگی داره و برای استفاده در توانهای خروجی بالا باید هیت سینک بسیار بزرگی روش نصب شه. شکل این رگولاتور از زیر همراه با پایه ها به این صورته: مدار کاملی که [ . . . ]

  • 2,827 بازدید
  • 2
  • 27 می, 2020
ادامه مطلب

جدید منبع جریان کنترل شده با ولتاژ برای راه اندازی LED با آپ امپ

همون طور که می دونید میزان روشنایی یک LED با جریانی که از اون می گذره رابطه مستقیم داره. یعنی برای تنظیم میزان روشنایی یک LED باید جریانی رو که از اون می گذره کنترل کنید.مداری که در شکل زیر دیده می شه یک منبع جریان کنترل شده با ولتاژ ساده است. عملکرد مدار منبع جریان اساس کار مدار به این صورته که پایه مثبت OP AMP به ولتاژ کنترل متصله. این ولتاژ در این مدار با یک ولوم یا پتانسیومتر تنظیم می شه. البته راه های مختلفی برای تنظیم این ولتاژ وجود داره. مثل استفاده از PWM که داره به وسیله یک میکروکنترلر تامین می شه.پایه منفی OP AMP به امیتر ترانزیستور متصل شده. با توجه به اینکه در OP AMP ولتاژ پایه های ورودی با هم برابر هستند بنابراین جریانی که از مقاومت R1 عبور می کنه همیشه برابر Vref/R1 خواهد بود. با توجه به اینکه جریان ورودی OP AMP و جریان ورودی بیس ترانزیستور خیلی کمه می تونیم بگیم جریانی که از LED می گذره تقریبا با جریان R1 برابره.انتخاب Vcc و R1 باید طوری باشه که به قطعات آسیبی نرسه. انتخاب LM358 اینه که نیاز به منبع تغذیه دوبل نیست و [ . . . ]

  • 1,843 بازدید
  • 0
  • 27 می, 2020
ادامه مطلب

جدید راه اندازی LCD کاراکتری به روش 8 بیتی

آشنایی با LCD کاراکتری کسانی که با میکروکنترلر کار کردند حتما با LCD کاراکتری هم آشنا هستند. در کامپایلرهای مختلف معمولا کتابخانه های آماده برای استفاده از این نوع نمایشگرها وجود داره. اما اگه قصد داشته باشیم خودمون این نمایشگرها رو راه اندازی کنیم باید چکار کنیم؟ مثلا اگه چه راهی وجود داره اگه بخوایم برای یه میکروکنترلر دارای پردازنده ARM که کتابخونه ای براش نوشته نشده برنامه بنویسیم و خروجیها رو روی LCD کاراکتری نمایش بدیم ؟در این مطلب نحوه راه اندازی LCD کاراکتری 16×2 توضیح داده شده. پایه های LCD کاراکتری عملکرد پایه های LCD کاراکتری از 1 تا 16 در شکل زیر دیده می شن: پایه 1 به زمین و پایه 2 معمولا به 5 ولت متصل و کنتراست LCD با اتصال پایه 3 به سر وسط یک پتانسیومتر تنظیم می شه. پایه 4 یا همون RS اگه بالا باشه LCD در حالت داده قرار می گیره، یعنی اطلاعاتی که روی پایه های D0 تا D7 قرار می گیره برای LCD به معنی کد کاراکترهایی هستند که باید نمایش داده بشن. اما اگه پایه RS پایین باشه LCD در حالت دستوری قرار می گیره. یعنی با قراردادن کد مناسب روی پایه های D0 تا D7 می [ . . . ]

  • 1,787 بازدید
  • 0
  • 27 می, 2020
ادامه مطلب

جدید راه اندازی LCD به روش 4 بیتی

راه اندازی LCD کاراکتری به روش 8 بیتی قبلا توضیح داده شد. گفتیم که برای آزاد کردن 4 تا پایه میکروکنترلر می تونیم از روش راه اندازی 4 بیتی استفاده کنیم.در این روش مراحل راه اندازی اولیه LCD کمی طولانی تره و برای فرستادن کد اسکی به نمایشگر هم به دو مرحله احتیاج داریم. بنابراین این روش از روش 8 بیتی کند تر عمل می کنه اما با توجه به سرعت میکروکنترلرهای امروزی در عمل به مشکلی بر نمی خوریم. در روش 4 بیتی پایه های D0 تا D3 استفاده نمی شن و به طور کلی در مدار به جایی متصلشون نمی کنیم. اتصال بقیه پایه ها مثل روش 8 بیتی هست. راه اندازی LCD کاراکتری به روش 4 بیتی ابتدا تغذیه LCD رو وصل می کنیم و 100mS صبر می کنیم. بعد مراحل زیر رو به ترتیب انجام می دیم: 1- پایه E رو high می کنیم2- پایه RS رو low می کنیم3- عدد 0011 رو روی پایه های D4 تا D7 قرار می دیم. طوری که رقم سمت چپ به D7 و رقم سمت راست به D4 اعمال بشه.4- پایه E رو به مدت حداقل 500nS low می کنیم و بعد دوباره high می کنیم.5- به مدت [ . . . ]

  • 2,037 بازدید
  • 0
  • 27 می, 2020
ادامه مطلب

جدید آموزش ایجاد پروژه جدید در محیط KEIL uVision برای میکروکنترلر LPC1768 به صورت تصویری

اگه قصد دارید کار با میکروکنترلر LPC1768 رو که از خانواده ARM Cortex-M3 هست شروع کنید، احتمالا این آموزش که توسط کاراکیت براتون تدارک دیده شده بدردتون می خوره.برای شروع یک فولدر در محل دلخواه ایجاد کنید و نام متناسب با پروژه رو بهش اختصاص بدید. بعد نرم افزار Keil رو باز کنید و طبق شکل زیر روی منوی Project برید و روی New uVision Project کلیک کنید و پروژه رو با نام دلخواه در فولدری که ایجاد کردید ذخیره کنید. بلافاصله پنجره ای باز می شه و از شما می خواد که تراشه مورد نظر رو انتخاب کنید. ابتدا مثل شکل زیر نام NXP رو که سازنده میکروکنترلر LPC1768 هست انتخاب کنید. حالا از فهرستی که باز شده میکروکنترلر LPC1768 رو پیدا و انتخاب کنید. دقت کنید که با انتخاب میکروکنترلر در کادر سمت راست مشخصات مربوط به اون نوشته می شه. با کلیک روی دکمه ok نرم افزار مثل شکل پایین از شما می پرسه که آیا باید فایل استارت آپ رو اضافه کنه یا نه که شما yes رو انتخاب می کنین. حالا پروژه شما ایجاد شده و شما باید فایلهای مورد نیاز رو به پروژه تون اضافه کنید. قبل از هر [ . . . ]

  • 1,211 بازدید
  • 0
  • 26 می, 2020
ادامه مطلب

جدید آموزش پروگرام کردن میکروکنترلرهای ARM با نرم افزار J-Flash-Light و پروگرامر J-link

در صورتی که از سایت شرکت SEGGER مجموعه نرم افزار JLink رو دانلود و نصب کرده باشید حتما نرم افزار J-Flash Lite هم براتون نصب شده.این نرم افزار قابلیت پروگرام کردن انواع میکروکنترلرهای مبتنی بر پردازنده های ARM رو داره و نسبت به نرم افزار J-Flash خیلی ساده تر و جمع و جور تره.برای اینکه برنامه تون رو به حافظه فلش میکروکنترلر منتقل کنید باید اون رو به hex یا bin تبدیل کنید. با فرض اینکه فایل آماده است ابتدا نرم افزار J-Flash Lite رو باز می کنیم. بعد طبق شکل زیر نوع میکروکنترلر رو انتخاب می کنیم و روش پروگرام رو هم به JTAG تغییر می دیم و نیازی هم به تغییر سرعت وجود نداره. همین طور که دیده می شه میکروکنترلر LPC1768 انتخاب شده. در این مرحله با کلیک روی دکمه OK صفحه زیر ظاهر می شه. از قسمت Data File فایل برنامه رو که در اینجا اسمش led.hex هست انتخاب می کنیم. بعد با کلیک روی دکمه Program Device فایل به حافظه میکرو منتقل می شه. اگه پروگرام درست انجام شده باشه مثل شکل زیر پیغام Programming Done رو می تونیم ببینیم. اگه از هدر برد استفاده می کنین چند تا نکته ساده اما [ . . . ]

  • 1,743 بازدید
  • 0
  • 26 می, 2020
ادامه مطلب

جدید اندازه گیری مقاومت ورودی تقویت کننده

یکی از خصوصیات تقویت کننده ها مقاومت ورودی هست. معمولا گفته می شه که بهتره مقاومت ورودی تقویت کننده زیاد باشه و علتش هم چندان پیچیده نیست. چرا که اگه مقاومت ورودی مدار در مقابل مقاومت منبع سیگنال به اندازه کافی بزرگ نباشه ولتاژ تقسیم می شه و در نقطه ورود به تقویت کننده افت می کنه. همچنین اگه مقاومت ورودی به اندازه کافی بالا نباشه جریان بیشتری از منبع سیگنال کشیده می شه. البته این موارد زمانی صادق هستند که فرض ما بر این باشه که جنس سیگنال ما ولتاژ باشه نه جریان. حالا فرض می کنیم که یک تقویت کننده داریم و از مقاومت ورودیش اطلاعی نداریم. به چه روشی می تونیم مقاومت ورودی رو پیدا کنیم؟ می تونیم تقویت کننده رو مثل یک جعبه در نظر بگیریم که معلوم نیست توش چه خبره و اون رو طبق شکل زیر مدل می کنیم: مقاومت ورودی تقویت کننده همون Zin هست. برای اینکه بتونیم این مقدار رو پیدا کنیم یک مقاومت متغیر که توی مدار با pot نشون داده شده رو به ورودی تقویت کننده وصل می کنیم و سر دیگه اون رو به یک فانکشن ژنراتور. خروجی تقویت کننده رو هم به اسیلسکوپ [ . . . ]

  • 1,267 بازدید
  • 0
  • 26 می, 2020
ادامه مطلب

جدید جدول کد رنگی سلف مقاومتی

حتما تا حالا با سلف های مقاومتی سر و کار داشتین. به ویژه اگه خواسته باشین با واحد ADC میکرو کار کنین.سلفهای مقاومتی که در اصل axial lead inductor نامیده می شن سلفهای جریان پایینی هستند که مقدار اونها بر اساس کدهای رنگی که روشون چاپ شده مشخص می شه.در زیر جدول مربوط به نحوه محاسبه مقدار اندوکتانس این سلفها بر حسب میکروهانری نشون داده شده.

  • 8,152 بازدید
  • 0
  • 26 می, 2020
ادامه مطلب