Taksuntech.ir
1.63K subscribers
682 photos
302 videos
223 files
1.06K links
بزرگ فکر کنید، بهینه احرا کنید.
http://taksuntech.ir
طراحی سیستمی
آنالوگ، دیجیتال، ZYNQ SoC، FPGA و پردازش

ارتباط با ادمین:
@Taksun_Tech
Download Telegram
#نکته #طراحی #تجربه
طراحی سیستم یعنی پیدا کردن راه حل مسئله که معمولا فارغ از سخت افزار و نرم افزار هست و شامل چگونگی و راه حل مسئله هست. یک مثال ساده شاید بتواند بیشتر کمک کند.
مثلا برای اینکه چطور می شود یه ربات تعقیب خط ساخت؟
اینکه اول بدانیم مکانیزم های مختلف مکانیکی یک ربات به چه شکلی است.
یا مثلاً سیستم حرکتی آن دو موتور باشد یا چهار موتور یا حتی تسمه ای.
کدام مکانیزم برای کاربرد ما بهتر عمل می کند و نقاط ضعف آنها چیست.
چه سنسورهایی لازم است. نحوه چیدمان سنسورها، رابطه سنسورها با فرمان به مکانیزم موتورها و ...

حال یک مثال عینی خوب می زنیم.
مثلاً کسی که به عنوان طراح سیستم کار طراحی ماشین هوشمند گوگل را انجام می دهد، اصلا به این معنی نیست که دنبال این باید باشد که مدار کنترل این ماشین حتماً میکروکنترلر ARM مثلاً شرکت ST یا PHILIPS باشد.
چون ممکن است اصلاً خودش برد کنترل را نسازد. اما این را می داند که یک برد کنترل دقیقاً با چه امکانات و ویژگی هایی مورد نیاز است، چه نوع سنسوری لازم است و ... همانطور که در مورد بدنه و موتور می داند چه نیازهایی را لازم دارد.
در آخر اگر پروژه محدود و کوچک باشد و قابلیت پیاده سازی توسط خودش فراهم باشد، خودش دست به کار می شود، ولی اگر پروژه بزرگ باشد تقسیم بندی کرده و همه قسمت ها را برون سپاری می کند تا مجموعه های دیگر انجام دهند و خودش مدیریت می کند.

بنابراین می توانیم مراحل طراحی را با ترتیب زیر پیش ببریم:
1- طراحی مفهومی
2- طراحی سیستمی
3- طراحی جزئی
انتخاب نوع میکروکنترلر و سنسورها و قطعات و ... در مرحله طراحی جزئی انجام می شود.

@taksuntec
@khoshfekran
#تجربه شخصی از HLS
برای حل یه معادله ریاضی با FPGA، بعد از پیدا کردن کد مشابه بزبان C برای میکروکنترلر، بعد از زمان حدود ۱ ساعت در قالب پروژه HLS تبدیل شد.
بعد از زمان حدود ۲ ساعت بهینه سازی ها انجام شد تا به سرعت مطلوب رسید.
شبیه سازی های اولیه ۲ ساعتی زمان برد.
درکل شاید در یک نصفه روز کد FPGA آماده شد. درحالی که فکر کنم حداقل یک هفته زمان میبرد که بتونم این کد رو با HDL بنویسم.
بعدش چند روز روی خود الگوریتم تمرکز کردم و فقط به خود بهبود خود رابطه ریاضی پرداختم تا بتونم معادله ریاضی رو بهبود بدم.
عملا بجای اینکه بخوام برای پیاده سازی با HDL کای سرو کله بزارم وقتم رو روی بهبود عملکرد دستگاه گذاشتم و خیلی خیلی کمک کرد به بهبود سیستم.
این خاصیت زبان سطح بالاست. که بهجای درگیر شدن به پیاده سازی، وقت با ارزش مهندس صرف بهبود دستگاه میشه.
گرانترین سرمایه وقته.
باید ممنون HLS باشم🙏
@taksuntec
#تجربه #خازن
استفاده از خازن های نامرغوب در مدارات الکترونیکی ، باعث ایجاد خسارت های جبران ناپذیری مخصوصا در کارهای صنعتی می شود و پیشنهاد می شود هنگام خرید تاکید بر نوع مرغوب آن داشته باشید و همچنین به مارک و جنس آنها توجه کنید. خازن های الکترولیتی از برند های:
1- نیچیکون:
(https://en.wikipedia.org/wiki/Nichicon)
2- روبیکون:
(www.rubycon.com)
3- النا:
(www.elna.co.jp/en/capacitor)
4- پاناسونیک:
(na.industrial.panasonic.com/products/capacitors)

و احتمالا چند برند دیگر هستند.
@khoshfekran
Forwarded from Deleted Account
#تجربه
نصب درایور پروگرمر Platform Cable در لینوکس:
اگر ویوادو رو نصب کردید لازم نیست طبق داکیومنت های پروگرمر برای نصب درایور اقدام کنید
کافیه به مسیری که ویوادو رو نصب کردید برید :
/opt/Xilinx/SDK/2017.2/data/xicom/cable_drivers/lin64/install_script/install_drivers
و اسکریپت زیر رو با دسترسی روت اجرا کنید:

sudo bash install_drivers
#تجربه ای از برنامه نویسی سطح بالا.
#HAL
#Delphi
برای ساخت یک دستگاه کامپکت داده برداری کوچک که نیاز به خروجی تصویر و رسم داده های چندین سنسور داشت، تصمیم گرفته شد از یک برد میکروکنترلر STM32 به همراه یک برد SBC استفاده کنیم و ارتباط شبکه بین دو برد برقرار نماییم.
از طرفی چون زمان پروژه کوتاه بود تصمیم به برنامه نویسی سطح بالا گرفته شد. برای برد STM از HAL و برای برد SBC بجای استفاده از لینوکس، از سیستم عامل android و Delphi استفاده گروید. پس از طراحی، تولید pcb و مونتاژ، در مدت زمان چند ساعت برنامه میکرو با HAL نوشته شد و به صورت موازی هم برنامه اندروید در دلفی با کرافیک بالا نوشته شد. و تست گردید.
این در شرایطی بود که حتی اگر با Qt و ... در لینوکس برای نوشتن برنامه مشابه حداقل ۳ روز زمان براورد شده بود و نوشتن برنامه مشابه میکروکنترلر در spl هم حداقل ۵ روز زمان برده بود.
زمان گرانترین سرمایه است.
@Taksuntec
#تجربه شبکه
چندی پیش در تحویل یک پروژه که شبکه 1G داشت دچار مشکل شدیم. پروژه در کامپیوتر های خودم بدون هیچ مشکلی با دقت بالا کار میکرد، اما در تحویل با کارفرما دچار مشکیل شیدم و با کامپیوتر کار فرما کار نکرد. بعد از چند هفته رفت و آمد متوجه مشکل ساده ای شدیم که برای برای دوستان نیز ممکن است پیش بیاید:
کابل شبکه هایی که داشتیم همه 100M بودند در حالیکه برای تست سرعت 1G باید کابل شبکه ۱۰۰ استفاده میکردیم. اصلا به این نکته توجه نکرده بودیم. به همه چیز شک کردیم بجز کابل شبکه. این موضوع باعث شد که تنظیمات کامپیوتر هم دست کاری کنیم و فراموش کنیم که آن را از حالت اولیه خارج کرده ایم و در ادامه چند هفته زمان برد که بفهمیم کابل شبکه مشکل داشت و همچنین تنظیمات کارت شبکه را دست کاری نمودیم باعث میشد در هیچ حالتی موفق به تست نباشیم.
این پروژه ۳ روز طول کشید تا ساخته شود و یک ماه طول کشید تا تحویل داده شود.
۱. همیشه برای تحویل دهی و حتی تست سیستم به ستاپ تست و متغییر های محیطی توجه کنیم.
۲. اگر در پروژه ای دچار مشکل میشویم و متغییر های زیادی داریم که باید دستکاری کنیم حتما یاداشت کنیم که فراموش نکنیم که دست کاری هر متغییر چه تغییری در خروجی ایجاد میکند و بتوانیم بفهمیم کدام متغییر ها را از حالت پیشفرض خارج نموده ایم.
۳. همیشه زمان تحویل دهی به کارفرما را خوب پیشبینی کنیم، معمولا زمان تحویل در پروژه های بزرگ ممکن است ماه ها به طول بکشد و این زمان را اگر در هزینه پروژه ندیده باشیم ضرر کنیم. درکارهای کوچک زمان تحویل هم کوتاه است ولی درکارهای بزرگ ممکن است. تست های آزمایشگاهایی، تست های کارخانه ای، تست های محیطی، تست های عملیاتی و .... باشد که هر کدام چندین بار نیز تکرار شوند
@Taksuntec
#کسب_و_کار

#شروع #طراحی #تجربه

نقل یک تجربه ی عملی:

#حالا_چکار_کنم ؟؟؟؟
اگر این سوالی است که در ذهن شما شبانه روز میچرخد ، متن داخل پرانتز را بخوانید:

(
ببینید طراحی سیستم بحث جدی هست و علاوه بر آموزشی که میبینید باید به فکر عمر نازنینتون باشید.
ما در فرایند تولید محصول و انجام پروژه ی جدید یک بحثی داریم بنام "مهندسی خواسته ها" و تا زمانی که بطور کامل تمام جوانب پروژه در نظر گرفته نشه شروع به طراحی نمیکنیم.
یه مشکلی که ما الکترونیکیا داریم اینه که ایده را اصلا رو کاغذ نمینویسیم ، میدونیم چی میخواییم اما توهم میزنیم که این دیگه اخرشه و هیچکس دیگه مثل من اینقدر خوب طراحی نمیکنه / اما نمیدونیم چی باید تولید کنیم. این میشه که ماه ها زمان ناب را صرف رسم PCB و برنامه نویسی و اجرا میکنیم ، وقتی به بازار میرسیم با عمق فاجعه روبرو میشیم و میبینیم که اصلا کسی نیازی به این همه زحمت ما نداشته ، یا نمونه خارجی ازین محصول با قیمت پایین تر مجوده و اصلا صرفه اقتصادی نداشته.
نتیجه میشه یک طراح خبره ی الکترونیک که علاوه بر پولی که داشته ، عمر خودشو صرف محصولی بدون کاربرد کرده و در ادامه » شکست ، شکست ، خود خوری ، تنهایی ، افسردگی و از هم پاشیدن امیدها و آرزوها و تیم های طراحی و...

بنابراین بعنوان یه تجربه عرض میکنم که ابتدا چاله های بازارو پیدا کنید و بعد تمام جزئیاتش را در بیارید و با هوشمندی شروع به ساختن کنید.
1- ایده ای که مشکل کسی را حل کنه
2- بررسی نمونه های مشابه
3- ایجاد تفاوتی در محصول شما ، مزیتی که شمارا نسبت به رقبا متمایز میکنه
4- مهندسی خواسته ها
5- سرمایه لازم برای ساخت نمونه اولیه (زمان + پول یا بهتره بگم:عمر نازنین + پول)
6- سرمایه ی لازم برای تولید تعداد 10 عدد از محصول (زمان + پول )
7- شروع طراحی (تشکیل تیم و شروع )
8- استراتژی فروش
9- ادامه دارد ...
)
// - - - - - - - - - - -

چرا این سوالها را بعد از چند ماه و هنگامی که با شکست روبروییم از خودمون بپرسیم؟ اول مشخص میکنیم و بعدش یا علی میگیم، قبل طراحی از خودت بپرس:
دقیقا بگو چی میخوای؟ چند ورودی ؟ چند خروجی ؟ کی قراره بسازه؟ پولش چقدر میشه؟ سیستم مانیتورینگ با چه قابلیت هایی؟ برای کی میخوای؟ کی قراره طراحی کنه؟ کی میخره؟
مرحله دوم:
ورودی ها فرکانسشون چقدره؟ ولتاژشون چقدره؟ سنسور ها چیه؟ خروجی ها با چه ولتاژی هستند ؟ و ...
مرحله سوم:
شروع آموزش ها و تحقیقات برای تولید محصول
// —------------------—
ادامه :

مثلا میخواهیم دمای یه محیط مشخص رو کنترل کنیم. مشخصات پروژه هم به این صورته :
1- دمای محیط در محیط صفحه پانل هم به صورت یه اسلاید و هم در یه نمودار به صورت آنلاین نمایش داده بشه.
2- نشان دهنده هایی به صورت آلارم برای دمای پایین از حد مجاز و دمای بالاتر از حد مجاز در برنامه تعبیه بشه.
3- در صورت بالا رفتن فن علاوه بر خاموش شدن هیتر فن خنک کننده روشن بشه و در صورت پایین آمدن دما علاوه بر خاموش شدن فن خنک کننده ، هیتر روشن بشه.
4- یه فاصله تفاضلی برای برنامه وجود داشته باشه تا فن و هیتر پشت سر هم خاموش روشن نشن و سیستم آسیب نبینه.
5- دما در فواصل زمانی مشخصی در یک فایل ذخیره بشه و کاربر هر زمان که خواست بتونه از دیتای ذخیره شده پرینت بگیره. میزان دما همراه با تاریخ و ساعت دقیق ذخیره بشه.
6- امکان روشن و خاموش کردن دستی هم در سیستم وجود داشته باشه.
7- پارامتری برای تنظیم setpoint وجود داشته باشه.
8- فقط افراد مجاز بتونن دمای setpoint رو تنظیم کنن.
9- فقط افراد مجاز بتونن سیستم رو به طور دستی خاموش و روشن کنن.
10- وضعیت روشن بودن و خاموش بودن واقعی فن و هیتر با یک نشان دهنده نمایش داده بشه.
11- سیستم دارای صفحه پانل کاربر پسند باشه و در جاهای مورد نیاز help گذاری بشه.
حالا بخش مانیتورینگ رو هم علاقه دارم با LabView انجام بدم.

// —
خلاصه اینکه :

1. طرح یک ایده الکترونیکی
2. بررسی موارد مشابه در بازار
3. الگوبرداری از مدارهای مشابه و ایجاد وجه تمایز در محصول
4. تهیه ی قطعات لازم
5. رسم نقشه ی مدار با برنامه ی آلتیوم دیزاینر
6. چاپ و مونتاژ و رفع ایرادات احتمالی
7. برنامه نویسی و توسعه ایده
8. معرفی به بازار (شامل تحقیقات میدانی بازار / قیمت گذاری / وجه تمایز / تبلیغات / شعار محصول / برندسازی و ... )

// سعید خیری
@khoshfekran
#تجربه
چند وقت پیش در حال تست یه مدار فاصله سنج نوری بودم مدار روی میز سر هم کردم و مشغول تست شدم. متوجه شدم که خطای زیادی حدود ۵۰ cm درسیستم مشاهده شد. بعد از ولی جستحو متوجه شدم مشکل از اضافه کردن ۲۰ سانتیمتر کابل کواکسیال بود که چند نانو ثانیه خطا به سیستم اضافه کرده بود.😊😊😊 دقت اندارگیری مدار ساخته شده زیر ۳۰۰ پیکو ثانیه بود و تاخیر های کابل هر چند کوتاه باعث خطا در سیستم اندازگیری میشد.
در کار های ابزار دقیق حتی اتصال اسیلوسکوب به مدار باعث خطا در سیستم اندازگیری میشود.
@TaksunTec