به جرات میتوان گفت آموزش آلتیوم دیزاینر (altium designer) یکی از نیازهای اولیه برای حرفهای شدن در دنیای برق و الکترونیک است، اگر در ایران زندگی و کار میکنید (در رشته الکترونیک) خیلی بعید است که اسم نرمافزار آلتیوم دیزاینر را نشنیده باشید! متأسفانه اغلب شرکتهای چاپ مدار چاپی که لیست برخی از آنها را در مقاله "شرکتهای تولیدکننده مدار چاپی PCB" آمده است، برای چاپ برد از شما فایل نرمافزار آلتیوم دیزاینر درخواست میکنند. وجود اینچنین جبری لزوم یادگیری و آموزش این نرمافزار را دو چندان میکند. ما در سیسوگ سعی کرده و میکنیم که آموزشهای تهیهشده به شکل کاربردی باشند، در تهیه این آموزش نیز سعی شده که این نوع نگاه حفظ شود و با تکیهبر تجربیات عملی چندساله آموزشها را تهیه و تدوین کردهایم. امیدوارم که آموزش آلتیوم دیزاینر سیسوگ موردپسند شما همراهان همیشگی قرار بگیرد. معرفی نرم افزار آلتیوم دیزاینر بسته به اینکه چند سال است در حوزه الکترونیک فعالیت میکنید ممکن است اسمهای مختلفی برای صدازدن نرمافزار آلتیوم دیزاینر استفاده کرده باشید بهشخصه از Protel 99Se با این نرمافزار آشنا شدم و تا امروز مدام با این نرمافزار سروکله زدهام باید اعتراف کنم این نرمافزار یکی از بهترین نرمافزارهای موجود برای طراحی و آنالیز بردهای الکترونیکی است. ممکن است مثل خیلیها فکر کنید نرمافزار آلتیوم دیزاینر محدود به طراحی PCB است، ولی واقعاً اینطور نیست، شما به کمک این نرمافزار قادر خواهید بود علاوه بر طراحی PCB انواع آنالیزهای الکتریکی و مکانیکی را با استفاده از آن انجام دهید. همچنین قادر خواهید بود برای بردهای مبتنی بر FPGA منطق طراحی کنید یا برای بردهای مبتنی بر میکروکنترلر برنامه بنویسید، دیباگ کنید و توسعه دهید. البته ما در آموزش آلتیوم دیزاینر تنها به جنبه طراحی PCB و ساخت انواع کتابخانهی قطعه بسنده خواهیم کرد شاید در آینده به دیگر جنبههای این نرمافزار بپردازیم بههرحال هر چیزی ممکنه:) درباره دوره آموزش آلتیوم دیزاینر به نقل از نویسنده آن Electronic Girl : مهمترین و پرچالشترین سؤال برای یک مهندس الکترونیک این است که «چطور باید طراحی مدار را انجام بدهد؟» واقعاً دانشجویی که در این نظام آموزشی مهارتهای عملی را به خوبی بهش یاد ندادن چیکار باید کند؟ همین موضوع باعث شده که خیلی از فارغالتحصیلان بیکار باشند. بهجز آن دسته افرادی که خودشان تلاش میکنند تا مهارتهای لازم را یاد بگیرند که البته موفقیت آنها هم ناشی از تلاش خودشان هست نه آموختههای دانشگاهی. من هم سعی کردم تا جزء این دسته افراد باشم و فارغ از درس و دانشگاه خودم مهارتهای لازم را کسب کنم و حالا تصمیم دارم تجربیاتم را در سری آموزش آلتیوم در اختیار دوست داران الکترونیک قرار بدهم تاکمی مسیر را برای آنها هموارتر کرده باشم. مثل همیشه رایگان! بهشخصه معتقدم آموزش باید رایگان باشد، برابر باشد برای همه! شالوده و فلسفه اصلی سیسوگ نیز همین تفکر است، از ابتدای راهاندازی وبسایت سیسوگ سعی کردهایم که تمام آموزشها به شکل رایگان در اختیار تمام همراهان عزیز باشد و تا جایی که مقدور باشد این راه را ادامه خواهیم داد. دوره آموزش رایگان آلتیوم دیزاینر نیز به شکل کاملاً رایگان و بدون محدودیت در دسترس تمام عزیزان دوست دار الکترونیک خواهد بود.
سری آموزش میکروکنترلر AVR یکی از محبوب ترین آموزش های حال حاضر دنیای تکنولوژی است، که برای تهیه این آموزش ها تلاش بسیاری صورت گرفته است و به صورت کاملا رایگان در دسترس شما عزیزان جویای علم قرار گرفته است پس با سیسوگ همراه باشید. شکل گیری میکروکنترلر AVR حدود 40 سال پیش که میکروپروسسورها و CPU ها وارد بازار جهانی شدند هیچکسی فکرش را هم نمیکرد که چنین جایگاهی در آینده بهدست خواهند آورد. یکی از اولین نمونهها آیسی Z80 بود که تنها یک CPU ساده داشت و برای راهاندازی یک پروژه کوچک لازم داشت که چندین آیسی مختلف ازجمله RAM، ROM و PIO و.... را در مدار جای دهید تا قادر باشید یک LED ساده را خاموش و روشن کنید. بعد از اون نوبت به سری 8051 اینتل رسید، دیگه میشد اسم این چیپ را میکروکنترلر گذاشت، این میکروکنترلر دیگه همهچیز داشت رم، تایمر، پورت، حافظه پروگرام و.... به لطف حضور این میکروکنترلر دیگر نیازی نبود برای راهاندازی یک LED ساده کلی چالش را تحملکنید. کافی است یک کریستال و تغذیه به میکروکنترلر وصل کنید و با یک پروگرامر ساده برنامه موردنظر که اکثراً بهصورت اسمبلی نوشته میشود بر روی اون بریزید و از کارکردن اون لذت ببرید. حدود بیست سال پیش بود که سری جدید میکروکنترلر شرکت اتمل بانام AVR وارد بازار جهانی و ایران شد که با امکانات خارقالعادهای که داشت در فرصت کمی تونست تمام رقبای قدیمی خودش را پشت سر بگذارد. و خیلی زود کامپایلرهای خوبی مثل فرانکلین، کدویژن و WINAVR ... توانستند زبان C را بهعنوان زبان برنامهنویسی برای این میکروکنترلر ها تثبیت کنند و حضور میکروکنترلرها را در تعداد زیادی پروژه و ساختار جدید تسهیل و منطقی کنند. سری AVR حتی EEPROM و ADC هم دارد و حتی شما قادرید از اسیلاتور داخلی استفاده کنید و فقط کافی بود یک ولتاژ به میکرو وصل کنید تا براتون همه کاری انجام بده. میکروکنترلر AVR میکروکنترلر AVR ازنظر ساختار، قیمت و تنوع و .... اینقدر عالی طراحی و ساختهشدهاند که هماکنون نیز باوجود میکروکنترلر های جدید و حتی پرسرعتتر نیز از جایگاه ویژهای برخوردار هستند و بردهای بهاصطلاح آردوینو مبتنی بر میکروکنترلر AVR طراحیشدهاند. سیسوگ سعی نموده این آموزش منحصر به فرد که بصورت ویدئویی آماده شده را بصورت متنی تبدیل نموده و بصورت یک مجموعه آموزشی تقدیم کاربران سیسوگ نماید.
آموزش آردوینو را از کجا باید شروع کنم؟ همینجا! از اینکه سیسوگ را برای شروع آموزش آردوینو انتخاب کردید بسیار خوشحالیم! درصورتیکه این اولین گام شماست در ابتدا میتوانید در پایین همین مطلب مقدمهای درباره اینکه چرا شما و یا هر فرد دیگری باید آردوینو یاد بگیرد را مطالعه کنید. سپس پیشنهاد ما به شما مطالعه مطالب دستهبندیشده در قسمت آغاز یادگیری آردوینو است. درصورتیکه شما آشنایی قبلی دارید و میدانید که آردوینو چیست یا بامطالعه مطالب بالا دارای آشنایی قبلی شدید! میتوانید بر اساس سطح توانایی فعلی که دارید از قسمت پروژهها نمونههایی را برای شتاب گرفتن در آموزش انتخاب کنید. همچنین در هر قسمتی از پروژهها که با مشکلی برخورد کردید میتوانید توضیحات مربوط به آن تابع را در قسمت رفرنس و کتابخانه پیگیری کنید. چرا باید آردوینو یاد بگیریم؟ باید قبول کنیم که هر چیزی دورهای دارد، همانطور که زمانی قهرمانان ما جان وین و آرنولد و سیلوستر استالونه با آن چشم کجش بودند والان دور دور هری پاتر و بقیه این فسقل بچههاست که قهرمانان دنیای جدید باشند. الکترونیک هم از این قضیه مستثنا نیست، زمانی برای ساختن هر وسیله جدیدی در حوزه دیجیتال یک یا چند عدد مهندس الکترونیک روزها وقت صرف میکردند و بعد از مرور کل دستورات اسمبلی و سروکله زدن با رجیستر ها، فاتحانه با برنامهای در دست از غار خود خارج میشدند. کابوس اکثر اونها تقسیم یک عدد 4 بایتی Float به یه عدد دیگه اون هم با یک پردازنده 8 بیتی و اسمبلی بود! حتی تصور اینکه زمانی برای پاک کردن حافظه پروسسور، مردان یا زنانی اون رو جلوی لامپ مهتابی میگذاشتند همالان خندهدار است! اما دنیا یک جور قرار نیست باقی بماند، بشر ناخودآگاه (یا خودآگاه!) به دنبال آسان کردن روش انجام کارهاست گاهی مثل چاپلین توی عصر جدید شکستخورده و گاهی مثل الکترونیک با پیروزی مسیر را پشت سر گذاشته. هرروز امکانات جدید با سرعت بالاتر در کنار سختافزارها قرار گرفت و کامپایلرهای قوی و سادهای به بازار آمدند که قول داده بودند برای نوشتن یک برنامه ساده جان کسی را به لبش نرسانند! نتیجه این شد که حتی دانش آموزان راهنمایی یا دبیرستان هم امروزه میتوانند برنامههای کاربردی برای گجت های خود بنویسند و چهبسا در مسابقات رباتیک هم خوش بدرخشند! ما مهندسین الکترونیک خوشمان به یاد یا نیاد الان یک مهندس نرمافزار بدون دانستن کوچکترین پارامترهای داخلی یک میکروکنترلر میتونه گجت مخصوص طراحی کنه که یک مهندس الکترونیک 10 سال قبل برای نوشتنش باید کل تخصص و تجربه چندساله خود را بهکار میگرفت. نماد این تغییرات را میتوان بردها یا بهتر بگوییم راهکارهای آردوینو دانست، هربار به یک برد آردوینو نگاه میکنم یاد دیالوگ فیلم آژانس شیشهای میافتم: “دوره ات گذشته مربی! “ راهکارهای آردوینو چیست؟ راهکارهای آردینو شامل نرمافزار و سختافزاری است که شمارا میتونه در چند روز تبدیل کنه به یک مهندس الکترونیک دیجیتال! این راهکارها شامل مجموعه سختافزارها و کامپایلر و IDE مخصوص آردینو هست. سختافزارهای آردینو شامل یک سری بردها با ابعاد و تنوع بسیار زیاد, و مهمتر از همه قیمت فوقالعاده پایین آن هست که همهچیز را برای شما بهصورت کامل مهیا میکنه تا لزومی به گشتوگذار و تخصص خاصی برای چیدن کلی آی سی و سیم برای پروگرام کردن یک میکرو نداشته باشید. نرمافزار یا IDE مخصوص آردوینو نیز شامل یک ادیتور بسیار زیبا و کارآمد به همراه قابلیتهای فراوان ازجمله کامپایلر برنامه مخصوص هر برد و پروگرام دستگاه بهصورت مستقیم از طریق نرمافزار هست. به عبارت سادهتر همهچیز آماده است. یک سختافزار آردینو بخرید باقیمت حتی کمتر از 20 هزار تومان و یک کامپیوتر! حتی تغذیه مدارتون هم میتونه از کامپیوتر و درگاه USB استفاده به شه, تبریک میگم شما الان میتونید بهراحتی یک برنامه LED چشمکزن بنویسید! شما فوقالعادهاید! نه بهتر بگم آردینو فوق العادس! پس آموزش آردوینو را در سیسوگ دنبال کنید.
بازی کردن یک رکن جدا نشدنی از زندگی هر انسان هست حالا چه بازی با کنسول یا بازی های بردی و یا بازی با یک تکه کاغذ! حتی اسم بازی هم که میآید همگی به وجد می آیند و کنجکاو میشوند که بازی چیست! در این سری از آموزش ها قصد داریم درباره بازی شطرنج و پیاده سازی هوشمند این بازی مهیج و سرگرم کننده با توابع مختلف و راهکار های متنوع بیشتر صحبت کنیم و به آنالیز هر کدام از این الگوریتم ها برای بازی شطرنج بپردازیم.
فنآوریهای مختلفی از باتری ها وجود دارد که در انتخاب مناسبترین تکنولوژی برای هر دستگاه موثر است. امروزه اکثر دستگاهها کوچک و قابل حمل شدهاند و این دستگاههای کوچک نیاز به منبع تغذیه کوچک و از همه مهمتر منبع تغذیه قابل حمل دارند. باتری به عنوان منبع تغذیه قابل حمل از اهمیت بالایی برخوردار است. یکی از موارد بسیار مهم در انتخاب نوع باتری مدت زمان شارژ و دشارژ باتری است، شاید شما برای دستگاه خود به باتری احتیاج داشته باشید که برای مدت چند ساعت یا چند روز و یا حتی چند ماه به شارژ مجدد نیاز نداشته باشد. همچنین ممکن ست برای دستگاه خود به حداقل جریان مشخصی احتیاج داشته باشید. برای پاسخ به انواع نیازهای مشتریان باتری های متنوعی در سطح بازار وجود دارد که با آگاهی از نوع باتری و اطلاعات کاربردی میتوانید مناسبترین تکنولوژی باتری را برای دستگاه خود انتخاب نمایید. سیسوگ در این سری از مجموعه مقالات قصد دارد اطلاعات مهم و کاربردی درباره باتری ها را بیان کند.
در سفرنامه چین قصد داریم شما را با نحوهی سفر به این کشور آشنا کنیم و از همه مهمتر دربارهی دره سیلیکون بیشتر صحبت کنیم. در این سری سفرنامه به شما می گوییم برای سفر به چین به چه وسایلی و کلا به چه چیزهایی احتیاج دارید، برای وعدههای غذایی چه کنید، چه مقدار بار به همراه داشته باشد و... با عماد الکترونیک آشنا میشویم و درباره بازارهای الکترونیک چین بیشتر صحبت کرده و متوجه خواهید شده که چگونه زمان را از دست ندهید.
این سری آموزشها که به جرات می توان آنها را کاملترین آموزشهای موجود دانست با صرف هزینه زیاد و با کیفیت و جزییات بالا توسط استاد ارجمند جناب آقای کینژاد تهیه شده است و به صورت رایگان در اختیار عموم قرار گرفته است . سیسوگ در سری جدید مجموعه مقالات با عنوان آموزش میکروکنترلر XMEGA قصد دارد میکروکنترلر XMEGA که قابلیت های بسیاری دارد را آموزش دهد. در مجموعه آموزش میکروکنترلر XMEGA با سیسوگ همراه باشید.
FPGA Tutorial
قابل ذکر است که آموزشهای این بخش، برگرفته از دورهی آموزشی طراحی دیجیتال با FPGA سایت فراد اندیش است، که توسط استاد احمد ثقفی ارائه میشود. اگر اهل الکترونیک باشید و هر روز سر و کارتون با قطعات الکترونیکی باشد، حتما دقت کردهاید که اکثر تراشههایی که شما از آنها استفاده میکنید از دو حالت خارج نیستند. حالت اول، تراشههایی هستند که معماری آنها به گونهای است که شما فقط میتوانید مقادیر دیجیتال را به پینهای این تراشهها اعمال کنید و حالت دوم، تراشههایی هستند که علاوه بر اینکه میتوانیم مقادیر دیجیتال را به پینها اعمال کنیم، این قابلیت وجود دارد که با استفاده از یک زبان برنامهنویسی، قبل از راهاندازی تراشه، یک برنامه یا کد را در آنها قرار بدهیم. اما در این میان دسته سومی نیز وجود دارد، شاید بهتر باشد اسم این دسته را تافته جدا بافته بگذاریم ! در دسته دوم، معماری ثابت بود. و تنها انعطافی که برای ما وجود دارد، تغییر برنامهای است که قرار است CPU آن را اجرا کند. حتما حدس خواهید زد که در دسته سوم انعطاف باید فراتر برود. در دسته سوم شما این قابلیت را خواهید داشت که معماری مورد نظر خود را خلق کنید. و نام Field Programmable Gate Arrays –FPGAs برای این دسته در نظر گرفته شده است. FPGA یا به صورت کاملتر Field Programmable Gate Array تراشههایی هستند که از قبل تقریبا هیچ نوع مدار از قبل آماده شدهای وجود ندارد و ما با استفاده از یک زبان توصیف سختافزار (نه زبان برنامهنویسی) آنها را برنامهریزی خواهیم کرد. این تراشهها به خاطر سرعت بسیار بالایی که دارند؛ غالبا در کارهای نظامی و مخابراتی استفاده میشوند. دو شرکت معروف به اسم Xilinx و Altera از تولیدکنندگان عمده این تراشهها در دنیا میباشند. این تراشهها عموما با دو زبان توصیف سختافزار به اسمهای VHDL و Verilog برنامهریزی میشوند (منظور از برنامه ریزی طراحی یک سختافزار میباشد)
یکی از شاخه های علم رایانه پردازش تصویر میباشد، اما پردازش تصویر چیست؟ چگونه کار میکند؟ و…. نحوه کارکرد پردازش تصویر به این صورت است: پردازش سیگنال دیجیتال که نمایندهی تصویر برداشته شده از دوربین دیجیتال یا تصویر اسکن شده توسط اسکنر یا تصویر برداشته شده از قطعه ای از یک فیلم و… میباشد. در نهایت پردازش تصویر یعنی اینکه با انجام فرآیندهایی روی تصویر (عکس یا ویدئو)، خروجی مشخص و معینی از تصویر (باز هم به صورت تصویر) دریافت شود. این فرآیندها میتوانند برای افزایش دقت تصویر یا جداکردن یک بخش مشخص از تصویر باشند. در این سری میخواهیم، آموزش پردازش تصویر در پایتون با OpenCV را در سیسوگ قرار بدهیم تا شما عزیزان از این سری آموزشی بهره لازم را ببرید. پردازش تصویر به دو بخش کلی زیر تقسیم میشود: بهبود تصاویر: بهبود تصاویر دربرگیرندهٔ روشهایی چون استفاده از فیلتر محوکننده و افزایش تضاد برای بهتر کردن کیفیت دیداری تصاویر و اطمینان از نمایش درست آنها در محیط مقصد است. بینایی ماشین: بینایی ماشین به روشهایی میپردازد که به کمک آنها میتوان معنی و محتوای تصاویر را درک کرد تا از آنها در کارهایی چون رباتیک و محور تصاویر استفاده شود. کاربردهای پردازش تصویر از جمله کاربردهای پردازش تصویر میتوان به حوزههای نظامی، صنعتی، هواشناسی، رباتیک، کنترل ترافیک، شهرسازی و … اشاره کرد. همانطور که میدانید در عصر جدید انسان تمایل دارد که هر آن چیزی که در دنیای هستی وجود دارد را به سمت هوشمندی ببرد. و پردازش تصویر هم جز جدانشدنی این حوزهی هوشمند در اکثر موارد میباشد. پس آموزش پردازش تصویر و فراگیری این مهارت که روز به روز هم گستردهتر میشود، میتواند برای شما در آیندهای نه چندان دور بسیار مفید باشد. برنامهنویسی برای پردازش تصویر برنامهنویسی پردازش تصویر هم با استفاده از زبانهای سطح پایین و هم زبانهای سطح بالا صورت میگیرد. گاها الگوریتمهای پردازش تصویر بدون استفاده از زبانهای برنامهنویسی به صورت سختافزاری پیادهسازی میشود. اما ما در مجموعه آموزش پردازش تصویر با پایتون بر روی برنامهنویسی با استفاده از یک زبان سطح بالا متمرکز خواهیم شد. ما با استفاده از زبان پایتون که یک زبان سطح بالا و open source میباشد و همچنین کتابخانهی OpenCV که یکی از معروفترین کتابخانههای حوزهی پردازش تصویر است این مجموعه آموزشی را پیش میبریم.
رادیو آماتوری چیست و ما چرا به آن نیاز داریم؟ پس از مدتها و با موافقت سازمان تنظیم مقررات و ارتباطات رادیویی (cra) و با ثبت رسمی انجمنهای رادیو آماتوری، برگزاری آزمون گواهینامه و از همه مهمتر صدور مجوز برپایی ایستگاه رادیویی در کشورمان تصمیم گرفتیم تا سری آموزشهای رادیو آماتوری را برای اولین بار بهصورت رایگان در دسترس شما عزیزان جویای علم قرار دهیم پس با سیسوگ همراه باشید و ما را در اینستاگرام دنبال کنید. در این سری مقالات قصد داریم در ابتدا توضیح دهیم رادیو اماتوری چیست و در پنج مقاله اول به تعاریف و اینکه رادیو آماتور کیست و چهکاری انجام میدهد و… بپردازیم و در ادامه با نحوهی برقراری تماس و اصطلاحات خاص رادیوئی، تجهیزات موجود در ایستگاه و همچنین انجمنهای رادیو آماتوری صحبت کنیم. در جهان امروز با گسترش تکنولوژی ارتباطات، علاقهمندان رادیو آماتوری در ایران و سراسر جهان روزبهروز در حال افزایش هستند، بهعنوان وظیفه بر خود دیدیم تا مسئولیت اشاعه و نشر این علم را برعهدهگرفته و چراغ هدایت نوآموزان علاقهمند به حوضه باشیم همانگونه که در سالهای گذشته، در عرصههای مختلف بودهایم. در صفحه مخصوص رادیو اماتوری در سیسوگ، که با همکاری و پیشنهاد سجاد گلچین پور از علاقهمندان به این حرفه، از چندی پیش آغاز بهکار کرده است، در نظر داریم سری مقالات آموزشی مربوط به رادیو آماتوری را همچنان جهت آموزش به دوستان تازهکاری که ازاینپس موفق به گرفتن گواهینامه و پروانه تأسیس ایستگاه شده را ادامه داده و همچنین در آینده نیز مقداری چاشنی الکترونیکی از جنس مخابراتی نیز به آن اضافه کنیم. پس منتظر اخبار خوب و نیز آموزش های قدم به قدم برای ساختن رادیو از فرستنده تا گیرنده با توضیحات کامل و دیگر تجهیزات دست ساز باشید! در پایان از تمام دوستان علاقهمند به وبلاگ نویسی در این حوزه تقاضا داریم نوشتههای خود را برای ما ارسال کرده تا به نام خودشان در وبلاگ منتشر کنیم و مجموعه کوچک نویسندگان سیسوگ را بگسترانیم. چشمانداز ما در سالیان آینده ایجاد یک مجموعه غنی از مقالات رادیو آماتوری تألیفی و ترجمهشده به زبان پارسی در سیسوگ بوده که امیدواریم بتوانیم به این امید دستیابیم و جای خالی مجلات و نشریات پارسیزبان در حوزه الکترونیک و رادیو را پرکنیم.
در صفحه اصلی آموزش میکروکنترلرهای STM32، در مورد اهمیت این میکروکنترلرها صحبت کردیم. در این بخش که مربوط به سری آموزش STM32 با توابع LL است، به معرفی این درایورها میپردازیم و سپس وارد بخشهای عملی آموزش خواهیم شد. در مجموعه آموزش STM32 با توابع LL تمام تلاش خود را کردهایم که تمام دستگاههای جانبی (Peripheral) میکروکنترلر STM32F103 را با یک پروژه ابتدایی اما کاربردی پوشش دهیم. امیدواریم که این آموزشها موردتوجه علاقهمندان به الکترونیک و میکروکنترلرها قرار گیرد. برای ادامه راه با سیسوگ همراه باشید. کتابخانههای Low Layer قبل از هر چیزی باید به این سؤال جواب دهیم که توابع LL در STM32 چه هستند؟ شرکت ST برای راهاندازی و توسعه نرمافزار برای میکروهای خود، ابزارهایی در اختیار کاربران قرار داده است که ازجمله این ابزارها، کتابخانههای LL یا Low Layer هستند. ویژگی بارز این توابع نزدیک بودن به لایهی سختافزار و دسترسی مستقیم به Register های میکروکنترلر است. به همین دلیل استفاده از این توابع به دانش سختافزاری نیاز دارد. درواقع درایورهای LL باهدف ارائه یک لایهی سریع و سبک نزدیک به سختافزار برای کاربران متخصص، طراحیشده است. درایورهای LL شامل بخشها و ویژگیهای زیر میشوند: مجموعهای از توابع برای راهاندازی ویژگیهای اصلی دستگاههای جانبی (Peripheral)، که منطبق بر پارامترهای مشخصشده در ساختارهای داده، نوشتهشدهاند. مجموعهای از توابع که ساختارهای دادهی مربوط به راهاندازی را با مقدارهای ریست، مقداردهی میکنند. توابعی برای De-initialization دستگاههای جانبی (بازگرداندن رجیستر دستگاههای جانبی به مقدارهای پیشفرض آنها) یک مجموعه از توابع inline برای دسترسی مستقیم و atomic به رجیسترها استقلال کامل از درایورهای HAL؛ توابع LL را میتوان بهتنهایی و بهصورت مجزا از HAL، یا بهطور ترکیبی با HAL استفاده کرد. پوشش کامل ویژگیهای دستگاههای جانبی که پشتیبانی میشوند. نکته قابلتوجه در مورد توابع LL این است که اعمالی که انجام میدهند و سرویسهای ارائه میکنند، دقیقاً انعکاس تواناییهای سختافزاری هستند که در زمان فراخوانی بهصورت یک عملیات one-shot اجرا میشوند. همچنین ازآنجاکه این سرویسها هیچ پروسهای را پیاده نمیکنند، نیازی به حافظه برای ذخیره حالت، شمارنده یا اشارهگر ندارند. همهی کارها با تغییر محتوای رجیستر مربوط به دستگاههای جانبی موردنظر انجام میشوند. در کتابخانههای low layer علاوه بر 5 هدرفایل که مربوط بهویژگیهای سیستم و Cortex هستند، به ازای هر دستگاه جانبی یک هدرفایل و یک فایل C وجود دارد. همچنین قابلذکر است که برای LL فایل Configuration وجود ندارد و فایلهای مربوط به درایورهای LL در پوشه درایورهای HAL قرار دارند. در همه درایورهای low-layer، تنها فایلی که Include میشود، فایل CMSIS دستگاه موردنظر است. ابزارهای مورداستفاده در آموزش STM32 با توابع LL در این سری آموزش، علاوه بر ابزارهای کوچک و یا خاص سختافزاری یا نرمافزاری که برای یک پروژه استفاده میشوند (و در همانجا معرفی خواهند شد)، از یک بورد آموزشی برای میکروکنترلر STM32F103C8T به نام BluePill و در بعضی آموزشها نیز از بورد STM32F103RET (به همراه بردبورد و تجهیزات ازایندست مثل سیم بردبورد و..) استفاده میشود. ابزارهای نرمافزاری موردنیاز هم STM32 Cube MX و Keil uVersion5 هستند. نرمافزار اول که توسط خود شرکت منتشرشده است، برای پیکربندی و راهاندازی پروژه و کد استفاده میشود. نرمافزار Keil نیز یک IDE شناختهشده است که برای توسعه کد پروژه و دیباگ و خطایابی آن کاربرد دارد.
آشنایی با رگولاتورها , شامل یک جزوه کامل و غنی در مورد رگولاتورها بوده که توسط آقای محمد تقی جعفری بصورت یک جزوه اموزشی کامل جهت انتشار در اختیار سیسوگ قرار گرفته , ما مطالب این جزوه را در چندین قسمت در سایت سیسوگ منتشر خواهیم کرد و در آخر نیز فایل کامل را بصورت دانلود در سایت قرار خواهیم داد. در این جزوه چه چیز هایی یاد میگیریم؟ در این مقاله با یکی از مهم ترین قطعاتی که در همه دستگاه های الکترونیک وجود داره، یعنی "رگولاتور" آشنا میشید. داخل این مقاله یاد میگیرید که: رگولاتور چیه؟ ملاک های انتخاب یک رگولاتور خوب چیه؟ ودر آخر پرکاربرد ترین رگولاتورها چیا هستن؟ با رگولاتورها و انواع اونا آشنا میشین. مهم تر اینکه یاد میگیرید برای انتخاب یه رگولاتور برای دستگاهتون باید به چه نکاتی توجه کنید. و در نهایت با 16 رگولاتور رایج و پرکاربرد آشنا میشید. مقدمه ای از نویسنده یادمه اولین بار که میخواستم یه بورد طراحی کنم اکثر افرادی که اون موقع حرفه ای بازار بودن جواب های سر بالا می دادن و اینجوری من باورم شده بود که علاوه بر اینکه این کارا خیلی خاصه، کار هر کسی هم نیست و من نمی تونم هیچ وقت یاد بگیرم!!! شاید فلسفه اینکه من توی الکترونیک وقت گذاشتم تا حرفه ای بشم هم همین باشه که یه روزی پروژه هایی بگیرم که اونا الان توی خواب هم نمی بینن که یه روزی بتونن انجام بدن. این بهم اثبات شده که نه تنها من، بلکه هرکسی که بخواد، می تونه؛ توی این مسیر عملگرایی خیلی مهمه و باید یه دیدی از مسیر داشته باشه. در کنارش باید صبر و تلاش هم داشته باشه تا به نتیجه دلخواه برسه. البته به قول مهندس حریری عزیز، وجود یه معلم میتونه مسیرو خیلی شیرین و خوشایندتر کنه؛ توکل به خدا رو هم هیچ وقت از یادتون نبرید؛ یادتون نره همه چیز دست خود خداست... با افتخار بهتون میگم که این مقاله با این مطالب و به این سبک اطلاعات دسته بندی شده در مورد رگولاتورها رو (که مهمترین قطعه برای منبع تغذیه بورد های الکترونیکی محسوب میشن) من نه به فارسی دیدم و نه حتی به انگلیسی و اولین نفری هستم که در این زمینه یک مقاله کامل رو که حاصل دانسته ها و آمیخته با تجاربمه به صورت عمومی قرار دادم ... تعریف رگولاتور برای تعریف رگولاتور بهتره این جوری بگم: رگولاتور مثل یه سد میمونه که خروجی سد همیشه یه مقدار مشخص و محدود شدست و هر چقدر پشت سد مقدار آب زیاد بشه ما توی خروجی تغییری احساس نمی کنیم. از طرف دیگه رگولاتور به انگلیسی regulator از regulate کردن میاد که به معنی محدود کردن و تنظیم کردنه، ینی خروجی یه چیز مشخص، معین، تنظیم محدوده. با این دو تعریف فکر کنم دیگه کامل متوجه شدید که منظور از رگولاتور در الکترونیک ینی یه قطعه ای که خروجی اون پایدار و محدود شدست و قرار نیست مدام تغییر کنه. "اگه بخوام خیلی دقیق بگم ما باید به جای رگولاتور از رگولاتور ولتاژ استفاده کنیم چون باید معلوم کنیم چی قراره تنظیم بشه." یه سری از رگولاتور ها یه قابلیت دیگه ام دارن که افزایش ولتاژه!!! ینی یه سری مدلای رگولاتورها مثل mt3608 ولتاژ خروجیشون از ولتاژ ورودی بیشتره. جلسات آموزشی رو میتونید در زیر مشاهده کنید:
در صفحه اصلی آموزش میکروکنترلرهای STM32، در مورد اهمیت این میکروکنترلرها صحبت کردیم. در این بخش که مربوط به آموزش STM32 با توابع HAL است، به معرفی این درایورها میپردازیم و سپس وارد بخشهای عملی آموزش خواهیم شد. در مجموعه آموزش STM32 با توابع HAL تمام تلاش خود را کردهایم که تمام دستگاههای جانبی (Peripheral) میکروکنترلر STM32F103 را با یک پروژه ابتدایی اما کاربردی پوشش دهیم. چند پروژه با پیچیدگی بیشتر نیز میان قسمتهای مختلف آموزش و در انتها گنجاندهشده است. امیدواریم که این آموزشها موردتوجه علاقهمندان به الکترونیک و میکروکنترلرها، قرار گیرد. برای ادامه راه با سیسوگ همراه باشید. کتابخانههای Hardware Abstraction Layer درایورهای HAL باهدف ارائه مجموعهای از API ها برای تعامل آسان با لایههای بالای پروژه (دور از سختافزار) طراحیشدهاند. با استفاده از کتابخانه HAL، زمان و انرژی بیشتر صرف توسعه خود نرمافزار میشود و درگیری با سختافزار به حداقل میرسد. برخی از ویژگیهای اصلی درایورهای HAL عبارتاند از: هر درایور HAL، شامل مجموعهای از توابع است که اکثر ویژگیهای Peripheral مربوطه را در هر خانواده از میکروکنترلرهای STM32، پوشش میدهند. وجود 3 مدل API programming مختلف که عبارتند از: polling ,Interrupt, DMA API های کاملا سازگار با RTOS : API ها کاملا Reentrant هستند. استفاده دقیق از timeoutها در حالت polling پشتیبانی از استفاده و فراخوانی چندگانه هر یک از دستگاههای جانبی (مثل USART1 یا USART2) همهی API های HAL از مکانیسم توابع user-callback استفاده میکنند. مکانیسم قفل کردن: دسترسی امن به سختافزار برای جلوگیری از دسترسیهای نامطمئن به منابع. در مورد آموزش توابع HAL با جزییات بیشتر، را در قسمت اول این سری آموزش، توضیح خواهیم داد. پس معرفی بیشتر HAL را به همان مقاله واگذار میکنیم. در ادامه میخواهیم کمی بیشتر در مورد سری آموزش STM32 با توابع HAL صحبت کنیم و بعد از آن سر فصل این مجموعه آموزش را معرفی کنیم.
معمولا اگر کسی توی ایران میخواست از شبکه های همراه استفاده کنه ؛ تنها انتخابی که داشت محصولات شرکت SimCom بود! شرکت سیمکام یه شرکت چینی است که توی حوزه محصولات مخابراتی فعالیت داشت و داره؛ البته تا یکی دو سال پیش تنوع زیادی توی محصولاتش نداشت و شناخته شده ترین محصولش توی ایران ماژول Sim900 بود که البته اوایل کار محصول SIM300CZ خیلی معروف بود که بعد از چند روز کارکرد مداوم کاملا هنگ میکرد و تنها راه نجات ریست سخت افزاری بود 🙂 هم اکنون دیگه این سری ها تولید نمیشه و جایگزین شده با محصول sim800 و ورژن های مشخص دیگه. محصولات سیم کام به لحاظ طراحی و کیفیت در حد قابل قبولی هستند. اما اگر دنبال محصولی با کیفیت ساخت و طراحی بهتری بودید شاید این محصول رو انتخاب نمی کردید و در عوض حق انتخاب زیادی هم نداشتید یا باید سراغ Ublox میرفتید یا Siemens ! که خوب مشخصه احتمالا باید خیلی هزینه می کردید. اما در سال 2010 همه چیز تغییر کرد ! اونم با به وجود اومدن شرکت کویکتل ، شرکت کویکتل ( Quectel ) یکی از بزرگترین تولید کنندگان بزرگ ماژولهای GSM/GPRS, UMTS/HSPA(+), LTE, LPWA and GNSS modules در جهان است. بله درسته شرکت کویکتل هم یه شرکت چینی است اما با رویکرد جهانی ! درک این مطلب چندان سخت نیست ، تنها لازمه داکیومنت های تهیه شده توسط کویکتل رو با دایکومنت های سیم کام مقایسه کنید! احتمالا شگفت زده میشوید ؛ اگر از شرکت کویکتل خوشتون اومده یا در موردش کنجکاو شدید و میخواید اطلاعات بیشتری در این خصوص کسب کنید ؛ قبلا توی سیسوگ یه صفحه برای معرفی شرکت کوئکتل درست کردیم که میتونید بهش مراجعه کنید. اما OpenCPU چیست ؟ قابلیت OpenCPU ؛ در واقع به کاربر اجازه میده که کد و عملکرد دلخواه خودش رو بتونه توی یک سیستم Embedded جاسازی کنه و قادر باشه عملکرد دلخواه خودش را در سیستم طراحی کنه ! خوب حالا این یعنی چی ؟ ؛ بگذارید با مثال مقداری به روشن شدن این موضوع کمک کنم ؛ فرض کنید شما در حال طراحی یک دستگاه کارت خوان (POS) هستید ؛ برای طراحی به چه اجزایی نیاز دارید؟ احتمالا یه نمایشگر مناسب ؛ سنسور قرائت کارت ؛ ماژول GSM برای ارتباط با شبکه همراه و از همه مهم تر یه پردازنده مرکزی که قادر باشه تمام کارهای لازم رو مدیریت کنه ! اما فرض کنید بتونید برنامه دلخواه خودتون رو توی ماژول GSM برنامه ریزی کنید به نحوی که LCD و سنسور کارت خوان مستقیما به ماژول GSM متصل بشه و بتونید برنامه رو داخل خود ماژول GSM بنویسید! و پردازنده اصلی رو کلا حذف کنید. در این سری آموزشهای سیسوگ ما با استفاده از ماژول MC60 سعی خواهیم کرد که قابلیت OpenCPU را آموزش دهیم و با مثالهای کاربردی بخشهای مختلف آن را بررسی کنیم و در ادامه با پروژههای کاربردی آموزش را کاملتر کنیم. ماژول MC60 ماژولی است که هم دارای GSM و هم دارای GNSS است و همچین Bluetooth ورژن 3 را پشتیبانی میکند و شاید بهترین انتخاب برای یک دستگاه Iot باشد. هم اکنون این ماژول را می توانید از فروشگاه سیسوگ تهیه کنید. با مشاهده این آموزش ها، نه تنها برای ماژول MC60، بلکه برای ماژول های دیگری مثل نیز که دارای امکان OpenCPU هستند، مثل M66 M66FA، MC65 و M65 قادر به برنامه نویسی خواهید بود.
اهمیت آموزش و یادگیری میکروکنترلر STM8 ST MicroElectronics یکی از شرکتهای پیشروی جهان در صنعت میکروکنترلر و بزرگترین سازنده تراشههای نیمرساناها در اروپا محسوب میشود. این شرکت به واسطه هستههای ARM توانسته میکروکنترلرهای قدرتمندی تولید نماید. ویژگی های مهم و قدرتمند این میکروکنترلر، به اهمیت یادگیری و آموزش STM8 تاکید می کند. یکی از پرکاربردترین تراشههای کنترل در سطح جهان خانواده میکروکنترولرهای STM8 است. که روزانه در حدود 10 میلیون واحد از این محصول ارزان قیمت در مصارف گوناگون و به خصوص در کاربردهای صنعتی مورد استفاده قرار میگیرد. پلتفرم میکروکنترلر 8 بیتی ST در اطراف یک هسته 8 بیتی با کارایی بالا و مجموعهای از آخرین فنآوری روز اجرا میشود. این پلتفرم با استفاده از فنآوری اختصاصی 130 نانومتر شرکت ST طراحی و ساخته شده است. به واسطه طراحی پیشرفته، هسته توانایی بینظیر انجام 20 میلیون محاسبه (20MIPS) در فرکانس 24 مگاهرتز را دارد، همچنین قابلیت بهرهگیری کامل از ابزارهای کاربردی مانند eeprom، نوسانساز داخلی و سایر ابزارهای استاندارد را مقدور میسازد. پلت فرم STM8 از چهار سری محصول پشتیبانی میکند: خانواده STM8S خانواده STM8A خانواده STM8L از آنجا که شرکت STM چندین برد Discovery برای شروع کار با میکروکنترلر STM8 را با قیمت ارزان فراهم کرده است، محبوبیت این میکروکنترلر با هسته ARM را بین مهندسان افزایش داده است. سیسوگ در این مجموعه آموزشی که برگرفته از سایت embedded-lab است، قصد دارد میکروکنترلر STM8 را بررسی نماید و بهصورت گامبهگام نحوه کار و برنامهنویسی این میکروکنترلر را آموزش دهد. پس با سیسوگ همراه باشید.
در این سری از آموزشها قصد داریم با امبدد لینوکس یا بهاختصار elinux بیشتر آشنا شده و با استفاده از آن میخواهیم سیستمعامل خود را کامپایل کنیم. در این سری ما نُه فصل، بله 9 فصل خواهیم داشت: فصل اول: کی از کامپیوتر تک بردی 5 دلاری استفاده کنیم؟ فصل دوم: Toolchain یا زنجیرهای از ابزارهای لازم برای ساختن همهچیز فصل سوم: Bootloader، یار قدیمی فصل چهارم: سلام دنیای کرنل فصل پنجم: کیف بردت رو پر کن، حتما توش چاقوی سوئیسی بذار فصل ششم: نیروهای کمی میرسند فصل هفتم: شبا که ما میخوابیم، بردمون رو بذاریم دانلود کنه فصل هشتم: ظاهری کیوتتر با کیوت (Qt) فصل نهم: صرفا جهت Linchpinها بله پس راه طولانی برای یادگیری Elinux در پیش داریم که با استمرار تلاش و تمرین به یادگیری صددرصدی خواهید رسید.
رزبریپای یک کامپیوتر تک برد است که در عین حال که اندازهی خیلی کوچکی دارد، قدرت پردازش بسیار خوبی را ارائه میدهد به صورتی که در ورژن های جدید آن قادر به نصب سیستم عامل ویندوز، لینوکس و BSD هستیم. در این سری از مقالات قصد داریم به شما عزیزان بیاموزیم چگونه بدون استفاده از سیستم عامل و هیچ رابط نرمافزاری سطح بالا رزبری پای را تبدیل به یک پردازنده ARM با سرعت بسیار بالا کنید تنها با استفاده از زبان C و اسمبلی.
قطعات الکترونیکی فیک یا تقلبی به جرات و بافاصله یکی از بدترین تجربیاتی است که یک طراح یا تولیدکننده میتواند داشته باشد، تا حالا شده که برای ساعتها و روزها مشغول عیبیابی بردی باشید و صدها احتمال ممکن و ناممکن را بررسی کرده باشید و مشکل برد حلنشده باشد، بعد خیلی رندم و اتفاقی یک خازن یا رگولاتور را عوض کرده باشید و مشکل برطرف شده باشد! یا اگر تولیدکننده هستید وقتی با سیل برگشتی دستگاهها مواجه میشوید و درمییابید که مشکل از مثلاً یک قطعه تقلبی یا بیکیفیت بوده! این بازی دو سر سوخت و ضرر است، اول اینکه هیچ فروشندهای معتقد نیست که قطعاتی که دارد فیک و تقبلی است که درنتیجه هزینه قطعات الکترونیکی فیک را شما ضرر کردهاید و از طرف دیگر زمانی که صرف پیدا کردن این اشکال کردهاید، تازه اگر خوششانس بوده باشید و قبل رسیدن دستگاه بهدست مشتری مشکل را متوجه شده باشید که به اعتبار و سابقه کاریتان لطمهای وارد نشود. همیشه هم فروشندهها مقصر نیستند چراکه بیشتر افراد فعال در این حوزه پارامترهای Testing و روال مشخصی برای تعیین اصل یا تقبلی بودن قطعه ندارند و به گفته فروشندهای که قطعه را از آن خرید کردهاند اعتماد میکنند! طراحی مدارات الکترونیکی در ایران بهاندازه کافی سخت هست آنهم باوجود تحریمهایی که اجازه دسترسی رو به دیتاشیت ها و یوزرمنوال ها به شما نمیدهد و محدودیت قطعات موجود در بازار ایران، حالا بلای خانمانسوز قطعات الکترونیکی را هم به آن اضافه کنید و تبعاتی که گریبان گیر آدم میشود. اما راهحل چیست، آیا همیشه ناچار به پذیرش ضرر هستیم یا راه دیگری هم وجود دارد؟ ما در سیسوگ با درک این دغدغه سعی کردیم با انتشار چند مطلب در خصوص راههای تشخیص قطعات تقلبی و فیک به این موضوع بپردازیم که چطور میشود قطعات اصلی را از تقبلی را تشخیص داد! چه راهکارهایی وجود دارد که با هزینه پایین بتوان قطعات تقبلی را شناسایی کرد و از خرید آنها دوری کرد، همیشه میگویند و گفتهاند که پیشگیری بهتر از درمان است، اگر تولیدکننده یا طراح هستید فرقی نمیکند قطعات تقبلی میتواند صدمات زیادی به کسبوکار شما وارد کند برای جلوگیری از این اتفاق توصیه میکنم پستهای زیر را مطالعه کنید و در خرید قطعات حتی از سورس هایی که به آنها اعتماد دارید دقت کافی را داشته باشید.