دومینوی تخصص در مهندسی الکترونیک

دومینوی تخصص در مهندسی الکترونیک

تخصص در مهندسی الکترونیک با انتخاب مسیر صحیح و استمرار در مسیر پیشرفت میسر می شود. هر سنگ مسیر، دومینو وار باعث حرکت دادن سنگ بعدی شود.

مرجع متنی دقیق، پویا و معتبر

مقایسۀ برابری انواع float

در برنامه نویسی، عبارات floating-point نباید از نظر برابری یا نابرابری آزمایش شوند. ماهیت ذاتی انواع float به گونه‌ای است که مقایسۀ برابری آنها اغلب درست نخواهد بود. رفتار چنین مقایسه‌ای را نمی‌توان قبل از اجرا پیش‌بینی کرد و ممکن است از یک اجرا به اجرای دیگر متفاوت باشد. مثلاً نتیجۀ آزمایش if(x == y) وقتی که x و y از نوع float باشند، غیر قابل پیش‌بینی است.

استاندارد MISRA C، قانون 13.3

تاخیر میکروثانیه ای

تأخیرهایی در حد میکروثانیه و به صورت Non-blocking (یعنی تأخیری که کل سیستم را منتظر نگذارد) معمولاً توسط OSها یا پلتفرم‌ها ایجاد نمی‌شوند. زیرا برای این کار باید وقفۀ یک تایمر، حداقل هر یک میکروثانیه اتفاق بیفتد. وقفه‌ای با این سرعت و به صورت پیوسته، باعث افزایش بار پردازشی UPC می‌شود و در بسیاری از پروژه‌ها، معایب این موضوع بیشتر از مزایای آن است. نکات ارائه شده در ویدئوی پیوست کتابخانۀ Delay

توابع و داده های static

در تعریف و اعلان توابع و داده‌هایی که لینک داخلی دارند، یعنی تنها در یک فایل استفاده می‌شوند، باید از مشخص کنندۀ کلاس حافظۀ static استفاده شود. دلیل این موضوع این است که ممکن است دربارۀ این که متغیر یا تابعی، extern یا static است، ابهام به وجود بیاید. استفاده از کلمۀ static این ابهام را برطرف می‌کند.

استاندارد MISRA C، قانون 8.11

آرایه با کلاس حافظۀ خارجی

در زمانی که یک آرایه با کلاس حافظۀ extern اعلان می‌شود، تعداد اعضای آن باید به صورت صریح (قرار دادن عدد در براکت) یا به صورت ضمنی (مقداردهی اولیۀ اعضای آن) مشخص شود. اگرچه می‌توان آرایه‌ها را با کلاس ذخیره سازی extern، بدون مشخص کردن اندازۀ آنها اعلان کرد، اما در زمانی که امکان تعیین اندازۀ آرایه‌ها وجود دارد، انجام این کار ایمن‌تر است.
استاندارد MISRA C، قانون 8.12

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

در هیچ جای برنامه نباید کد مرده وجود داشته باشد. هر کدی که حذف آن، تأثیری بر خروجی برنامه نگذارد، کد مرده است. برای مرور کنندۀ کد مشخص نیست که وجود این کد عمدی است یا به دلیل خطای برنامه نویس رخ داده است. از نمونه‌های کد مرده، کدهای درون ifی است که شرط آن هیچ‌گاه True نمی‌شود. در این صورت کدهای درون if هیچ‌گاه اجرا نمی‌شوند.

استاندارد MISRA C++، قانون 0-1-9

عملگرهای رابطه‌ای برای اشاره‌گرها

عملگرهای <، =<، > و => نباید برای اشاره‌گرها اعمال شوند، مگر در مواردی که اشاره‌گرها به یک آرایۀ یکسان اشاره می‌کنند. اگر دو اشاره‌گر به شیء یکسانی اشاره نکنند، تلاش برای مقایسه بین آنها، رفتار نامشخص ایجاد می‌کند.
استاندارد MISRA C++، قانون 5-0-18

مقداردهی متغیر قبل از خواندن

همۀ متغیرها قبل از استفاده باید مقدار مشخصی داشته باشند. بنابراین قبل از خوانده شدن، باید در آنها نوشت و لزوماً نیاز به مقداردهی اولیه در زمان اعلان نیست. متغیر با مدت زمان ذخیرۀ استاتیک، اگر مقداردهی اولیه نشود، به طور خودکار صفر می‌شود. در عمل، بسیاری از محیط‌های امبدد این کار را نمی‌کنند. متغیر با مدت زمان ذخیرۀ اتوماتیک هم معمولاً به طور خودکار مقداردهی اولیه نمی‌شود. سازنده‌های کلاس هم باید همۀ اعضای غیر ثابت کلاس را مقداردهی اولیه کنند.
استاندارد MISRA C++، قانون 1-5-8

کنترل موتور براشلس با STM32

از ویژگی‌های تایمرهای Advanced میکروکنترلرهای STM32، امکان ایجاد PWM شش مرحله‌ای است. PWM شش مرحله‌ای در کنترل موتورهای براشلس کاربرد دارد و در STM32 می‌توان با تایمرهای Advanced، موتورهای براشلس را کنترل کرد. PWM شش مرحله‌ای نسبت به روش‌های دیگر کنترل موتور براشلس، عملکرد بهتر، مصرف انرژی کمتر و سطح ایمنی بالاتری را فراهم می‌آورد.

از مباحث آموزش STM32

فیوزبیت EESAVE

برای جلوگیری از پاک شدن محتوای حافظۀ EEPROM داخلی میکروکنترلرهای AVR در هنگام پاک کردن حافظۀ فلش آن، فیوزبیتی به نام EESAVE وجود دارد که باید فعال شود. در غیر این صورت، هر بار که حافظۀ فلش پاک می‌شود، حافظۀ EEPROM نیز پاک می‌شود. فیوزبیت EESAVE به صورت پیش‌فرض غیر فعال است و برای حفظ محتوای EEPROM باید فعال شود. حفظ محتوای EEPROM در بسیاری از پروژه‌ها ضروری است.

از مباحث آموزش AVR

تفاوت Event با وقفه در STM32

در میکروکنترلرهای STM32، علاوه بر وقفه‌های خارجی، Eventهای خارجی هم وجود دارند. تفاوت Event خارجی با وقفۀ خارجی این است که در وقفۀ خارجی، اجرای کد وجود دارد و با اتفاق افتادن آن، کدهای روتین وقفه اجرا می‌شوند، اما در Event خارجی، اجرای کد وجود ندارد و اتفاق افتادن آن فقط باعث می‌شود  میکروکنترلر از مد کاهش مصرف توان خارج شود.

از مباحث آموزش STM32

کلاک خروجی در STM32

در میکروکنترلرهای STM32، قابلیتی وجود دارد که می‌توان از برخی قسمت‌های واحد RCC، یک سیگنال کلاک را انتخاب کرد و آن را روی یک پایۀ خروجی تحت عنوان MCO قرار داد. سیگنال کلاک خروجی می‌تواند از قسمت‌هایی نظیر کلاک سیستم، خروجی PLLها، خروجی اسیلاتورهای HSE و HSI یا از بخش‌هایی دیگر باشد. این سیگنال خروجی می‌تواند برای سنکرون سازی و یا تأمین کلاک یک مدار یا آی سی دیگر به کار رود.

از مباحث آموزش STM32

وقفۀ Pin change در AVR

در برخی میکروکنترلرهای AVR، وقفه‌های Pin change وجود دارند که تفاوتشان با وقفۀ خارجی این است که در وقفۀ خارجی می‌توان تعیین کرد وقفه با لبۀ پایین‌رونده یا بالارونده یا تغییر سطح اتفاق بیفتد، اما وقفۀ Pin change با هر لبه یا تغییر سطح سیگنال اتفاق می‌افتد. همچنین هر وقفۀ خارجی با تحریک تنها یک پایۀ ورودی اتفاق می‌افتد. اما هر وقفۀ Pin change، چند پایۀ ورودی دارد و تحریک هر یک از آنها، باعث اتفاق افتادن وقفۀ Pin change می‌شود.
از مباحث آموزش آردوینو

خواندن فرکانس و دیوتی سایکل با آردوینو

یک روش برای خواندن Duty Cycleو فرکانس موج PWM ، قابلیت Capture تایمرهاست. برای بردهای آردوینو مبتنی بر AVR، کتابخانۀ TimerOne،  فاقد قابلیت کپچر است. اما در کتابخانۀ HardwareTimer میکروکنترلرهای STM32 در آردوینو، می‌توان از کپچر استفاده کرد و مد input PWM تایمرهای STM32 را فعال کرد و دو کپچر را به کار گرفت و فرکانس و دیوتی سایکل موج ورودی را خواند.

از مباحث آموزش آردوینو

اولویت وقفه‌ها در STM32

در میکروکنترلرهای STM32، قابلیتی وجود دارد که می‌توان از برخی قسمت‌های واحد RCC، یک سیگنال کلاک را انتخاب کرد و آن را روی یک پایۀ خروجی تحت عنوان MCO قرار داد. سیگنال کلاک خروجی می‌تواند از قسمت‌هایی نظیر کلاک سیستم، خروجی PLLها، خروجی اسیلاتورهای HSE و HSI یا از بخش‌هایی دیگر باشد. این سیگنال خروجی می‌تواند برای سنکرون سازی و یا تأمین کلاک یک مدار یا آی سی دیگر به کار رود.

از مباحث آموزش STM32

خم کردن پایۀ THD

خم پایه‌های قطعات THD برای مونتاژ در حالت خوابیده، باید ربع دایره‌ای با شعاع R باشد. برای قطر (D) یا ضخامت (T) پایه کمتر از 0.8mm، حداقل R باید برابر D یا T، برای D یا T بین 0.8mm تا 1.2mm، حداقل R باید 1.5D یا 1.5T و برای D یا T بزرگتر از 1.2mm، حداقل R باید 2D یا 2T باشد.
از مباحث آموزش لحیم‌کاری و استاندارد IPC-610

مکان صحیح ورودی/خروجی‌ها در PCB

ورودی‌ها و خروجی‌ها در PCB باید حتی الامکان دور از هم قرار گیرند. بهترین حالت این است که ورودی‌ها در یک سمت PCB و خروجی‌ها در سمت دیگر باشند. همچنین مدارات مربوط به ورودی/خروجی‌ها، باید در نزدیکی کانکتورهای ورودی/خروجی قرار گیرند و از مرکز PCB فاصله داشته باشند.
از نکات جلسۀ آموزش EMC/EMI و کاهش نویز در PCB

شرایط هدف IPC (Target Condition) درمورد سیم در زیر پیچ

  • تمام رشته‌های سیم  در کنار هم و در زیر پیچ قرار گیرند.
  • سیم حداقل 270 درجه از 360 درجه را زیر پیچ باشد.
  • محکم شود.
  • جهت تابیدن سیم زیر پیچ در جهت سفت شدن پیچ باشد.

آموزش لحیم کاری مبتنی بر IPC

ارتفاع قلع در حفرۀ پدهای برد متالیزه

در لحیم کاری پایۀ یک قطعه در حفرۀ پدهای بردهای متالیزه، بهترین حالت، پر شدن قلع به اندازۀ 100% ارتفاع حفره است. درصورتی که تا 75% این ارتفاع از قلع پر شده باشد نیز برای هر 3 کلاس پذیرفته شده است. در صورتی که این مقدار کمتر از 75% باشد، برای کلاس 1 پذیرفته ولی برای کلاس 2 و 3 پذیرفته شده نیست.

استاندارد IPC-A-610، بخش 7.5.5.1

چرا در نزدیکی یا روی پدها از وایا استفاده نکنیم؟

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

نرم افزارهای مخاطبین یوبرد

اخبار جدید یوبرد در اینستاگرام

متخصص الکترونیک کیست؟

متخصص الکترونیک کیست؟

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

از همه ابزارهای زبان برنامه نویسی میکروکنترلرها استفاده کنیم؟!

از همه ابزارهای زبان برنامه نویسی میکروکنترلرها استفاده کنیم؟!

ابزارهای زبان برنامه نویسی میکروکنترلرها در استانداردهای برنامه نویسی محدود شده است. بطور مثال در استاندارد MISRA-C برای سیستم های حیاتی، استفاده از دستورهای goto و continue ممنوع شده است. در این نوشته به بررسی این موضوع می پردازیم.

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

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

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

مهمترین کاربردهای اشاره گر در زبان C میکروکنترلرها

مهمترین کاربردهای اشاره گر در زبان C میکروکنترلرها

کاربردهای اشاره گر در زبان C میکروکنترلرها شامل موارد مختلفی است که مهمترین آنها «ارسال اشاره گر به تابع» و «اشاره گر به تابع» است. در این نوشته ابتدا آنها را به اختصار شرح داده سپس در مورد اهمیت کاربرد اشاره گر در میکروکنترلر توضیح می دهیم.

شروع دوباره فعالیت یوبرد

شروع دوباره فعالیت یوبرد

شروع دوباره فعالیت یوبرد، دلایل و لزوم محدود شدن فعالیت های یوبرد، خدمات گذشتۀ یوبرد، خدمات جدید یوبرد، پلتفرم نرم افزار یوبرد، پروژه یوبرد، مشاوره یوبرد، آموزش های یوبرد، فیلم های آموزشی یوبرد، آموزش های خصوصی یوبرد، بردهای آموزشی یوبرد، دوره های آموزشی یوبرد، وبلاگ یوبرد

راه اندازی DAC در STM32

راه اندازی DAC در STM32

راه اندازی DAC در STM32، ویژگی های DAC در میکروکنترلرهای STM32F1، بلوک دیاگرام DAC در STM32، اتصالات راه اندازی DAC در میکروکنترلر STM32F107VC، نمونه کد رجیستری راه اندازی واحد DAC در میکروکنترلرهای STM32F1، ساخت موج سینوسی با STM32، راه اندازی مبدل دیجیتال به آنالوگ STM32 با توابع HAL

راه اندازی ماژول SIM800، تماس تلفنی و پیامک

راه اندازی ماژول SIM800، تماس تلفنی و پیامک

راه اندازی ماژول SIM800، AT کامند چیست، سخت افزارها و نرم افزارهای مورد نیاز برای راه انداختن SIM800، تغذِیۀ ماژول SIM800، ارتباط سریال ماژول SIM800، ارسال AT کامند به SIM800، سینتکس های AT کامند در SIM800، تنظیمات اولیۀ SIM800، تماس تلفنی و ارسال و دریافت SMS با SIM800

انواع هویه، ویژگی ها و کاربرد آنها

انواع هویه، ویژگی ها و کاربرد آنها

تعریف و انواع هویه، هویه های الکتریکی و غیر الکتریکی، هویه ها از لحاظ اتصال نوک هویه به هیتر آن، توان هویه، قابل حمل بودن، سرعت داغ شدن هویه، هویه های AC و DC، هویه های قلمی و تفنگی، قابلیت های دیگر هویه ها، انواع مختلف هویه، نکات هویه

تست الکتریکال PCB و روش های آن

تست الکتریکال PCB و روش های آن

تست الکتریکال برد مدار چاپی چیست؟ برخی انواع تست PCB، تست الکتریکال PCB، پارامترهای اندازه گیری در تست الکتریکال، روش های تست الکتریکال برد مدار چاپی، روش تست Flying probe، روش تست Universal grid یا Bed of nails، نکات تست الکتریکال برد مدار چاپی

انواع نوک هویه و کاربرد آنها

انواع نوک هویه و کاربرد آنها

انواع نوک هویه متداول، انواع اتصال نوک هویه به هیتر، مشخصات و کاربرد انواع نوک هویه، نوک هویه تایپ B، تایپ I، تایپ BI، تایپ SI، تایپ D، تایپ C، تایپ K، قاشقی، T شکل و Diamond، احیا کننده های نوک هویه، نام های نوک هویه

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

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

راه اندازی سون سگمنت با آردوینو UNO، راه اندازی سون سگمنت 4 تایی آند مشترک با آردوینو، اتصال سون سگمنت به آردوینو، کتابخانۀ سون سگمنت برای آردوینو، نمونه کد راه اندازی سون سگمنت، نمایش اعداد در سون سگمنت 4 تایی، نکات راه اندازی سون سگمنت

راه اندازی ADC در آردوینو

راه اندازی ADC در آردوینو

راه اندازی ADC در آردوینو، راه اندازی LCD گرافیکی KS0108 با کتابخانۀ U8g2، اتصالات لازم برای راه اندازی ADC و LCD گرافیکی KS0108، نمونه کد راه اندازی ADC آردوینو، فرمول محاسبۀ دما با TMP36، راه اندازی سنسور دما با آردوینو، راه اندازی فتوسل (LDR) با آردوینو

راه اندازی آردوینو، شروع کار با Arduino

راه اندازی آردوینو، شروع کار با Arduino

راه اندازی آردوینو، اضافه کردن آردوینو به VS Code و ویژوال استودیو، ایجاد پروژه آردوینو در Arduino IDE و VS Code و ویژوال استودیو، برنامه نویسی آردوینو در Arduino IDE و VS Code و ویژوال استودیو، آپلود برنامه روی آردوینو با Arduini IDE و VS Code و ویژوال استودیو

راه اندازی UART در STM32، رجیستری و HAL

راه اندازی UART در STM32، رجیستری و HAL

راه اندازی UART در STM32، اتصالات و نرم افزار مورد نیاز، نمونه کد USART در STM32 به صورت رجیستری، نمونه کد رجیستری USART با وقفۀ دریافت، نمونه کد HAL برای راه اندازی USART در STM32، نمونه کد HAL با وقفۀ دریافت، نحوه محاسبه Baud rate در USART میکروکنترلرهای STM32F1

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

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

نصب VisualGDB روی ویژوال استودیو، ساخت پروژه برای برنامه نویسی میکروکنترلرها با ویژوال استودیو، ساخت پروژه برای STM32 در ویژوال استودیو، کدنویسی STM32 در ویژوال استودیو، ساخت پروژه برای AVR در ویژوال استودیو، ساخت پروژه برای LPC در ویژوال استودیو، ساخت پروژۀ آردوینو در ویژوال استودیو

راه اندازی ADC در STM32، رجیستری و HAL

راه اندازی ADC در STM32، رجیستری و HAL

راه اندازی ADC در STM32، استفاده از پیکربندی Independent، کانال تکی، تبدیل Discontinuous و کانال Regular، اتصالات لازم برای راه اندازی واحد ADC در STM32، نمونه کد رجیستری، نمونه کد ADC میکروکنترلر STM32 با HAL، خواندن از چند کانال ADC با توابع HAL، توابع HAL راه اندازی ADC

راه اندازی STM32 با آردوینو

راه اندازی STM32 با آردوینو

راه اندازی STM32 با آردوینو، راه اندازی STM32 در آردوینو، اضافه کردن میکروکنترلرهای STM32 به Arduino IDE، برنامه نویسی میکروکنترلرهای STM32 و بردهای Nucleo-F103RB و Blue pill در Arduino ، پروگرام کردن STM32 با Arduino IDE، بوت لودر USB برد Blue pill، بوت لودر STM32 HID

راه اندازی سون سگمنت با STM32، رجیستری و HAL

راه اندازی سون سگمنت با STM32، رجیستری و HAL

راه اندازی سون سگمنت با STM32F103VE، مقداردهی به رجیسترهای واحد GPIO با تابع، استفاده از توابع GPIO برای نمایش اعداد روی سون سگمنت، راه اندازی سون سگمنت 4 رقمی با STM32، تشریح برنامۀ نوشته شده و توضیح عملکرد آن، نکات راه اندازی سون سگمنت، راه اندازی 7-segment با توابع HAL

دانلود

لطفا برای دریافت لینک دانلود اطلاعات خواسته شده را وارد نمایید
ضبط پیام صوتی

زمان هر پیام صوتی 4 دقیقه است