فهرست مطالب:
- مرحله 1: تغییر از پروژه اصلی
- مرحله 2: V0.2 هیئت مدیره
- مرحله 3: Breadboard: I2c Character Controller Controller Expanded
- مرحله 4: Breadboard: Character Display With I2c Integrated
- مرحله 5: تحقق بخشیدن
- مرحله 6: قابلیت توسعه
- مرحله 7: لیست قطعات
- مرحله 8: برد: بازنشانی ، دکمه Gnd E برای انتخاب باتری
- مرحله 9: برد: I2c و پین های منبع تغذیه
- مرحله 10: برد: ترمیستور و اندازه گیری ولتاژ
- مرحله 11: برد: مقاومت در برابر اندازه گیری ولتاژ
- مرحله 12: مرحله لحیم کاری: همه پین ها
- مرحله 13: مراحل لحیم کاری: مقاومت Pulldown و ترمیستور
- مرحله 14: مراحل لحیم کاری: MOSFET ، مقاومت در برابر بررسی ولتاژ
- مرحله 15: کد
- مرحله 16: نتیجه پس از مونتاژ
- مرحله 17: ابتدا نوع باتری را انتخاب کنید
- مرحله 18: شروع به تخلیه کنید
- مرحله 19: موارد استثنا: باتری برداشته شده است
- مرحله 20: استثنائات: هشدار دما
- مرحله 21: آمپراژ را آزمایش کنید
- مرحله 22: بسته بندی
تصویری: کنترل کننده باتری با دما و انتخاب باتری: 23 مرحله (همراه با تصاویر)
2024 نویسنده: John Day | [email protected]. آخرین اصلاح شده: 2024-01-30 08:56
تست کننده ظرفیت باتری
با استفاده از این دستگاه می توانید ظرفیت باتری 18650 ، اسید و سایر موارد را بررسی کنید (بزرگترین باتری که تست کردم این باتری اسیدی 6 ولت 4 ، 2A است). نتیجه آزمایش بر حسب میلی آمپر/ساعت است.
من این دستگاه را ایجاد می کنم زیرا برای بررسی ظرفیت باتری چینی جعلی به آن نیاز دارم.
برای ایمنی ، با استفاده از ترمیستور ، درجه حرارت مقاومت و باتری را برای جلوگیری از داغ شدن زیاد اضافه کردم ، با این ترفند می توانم باتری اسیدی 6 ولت را بدون آتش زدن صفحه بررسی کنم (در چرخه تخلیه مدتی به مقاومت قدرت گرم بروید و دستگاه 20 ثانیه منتظر بماند تا دما کاهش یابد).
من کنترل کوچک میکرو کنترل atmega328 nano (eBay) را انتخاب می کنم.
تمام کد اینجاست
مرحله 1: تغییر از پروژه اصلی
من این ایده را از پروژه OpenGreenEnergy ربودم و برای افزودن ویژگی ها ، هیئت مدیره را دوباره انجام می دهم ، بنابراین اکنون عمومی تر شوید.
v0.1
- VCC آردوینو اکنون به طور خودکار محاسبه می شود.
- اضافه متغیر برای تغییر تنظیمات در یک راه راحت تر.
- درصد تخلیه اضافه شده است
- اضافه شدن دمای باتری و مقاومت قدرت
v0.2
- اضافه شدن امکان انتخاب باتری
- صفحه اولیه ، صفحه نمایش ، دکمه و بلندگو خارج از برد ایجاد شده است ، زیرا در آینده می خواهم یک بسته ایجاد کنم.
- مدیریت محدودیت دما به مقاومت قدرت اضافه شده است تا بتوانم هنگام افزایش دما به بیش از 70 درجه (با تخریب مقاومت مقاومت در برابر دما) روند را مسدود کنم.
v0.3
به زودی تابلویی از این سرویس
مرحله 2: V0.2 هیئت مدیره
در نسخه 2.0 برای پشتیبانی از انواع مختلف باتری ، ساختاری ایجاد کردم که باید با نام باتری ، حداقل ولتاژ و حداکثر ولتاژ پر شود (برای پر کردن آن به کمک نیاز دارم: P).
// ساختار باتری typeestruct BatteryType {char name [10]؛ float maxVolt؛ شناور minVolt؛ }؛ #تعریف BATTERY_TYPE_NUMBER 4 BatteryType batteryTypes [BATTERY_TYPE_NUMBER] = {{"18650" ، 4.3 ، 2.9} ، {"17550" ، 4.3 ، 2.9} ، {"14500" ، 4.3 ، 2.75} ، {"6v Acid" ، 6.50 ، 5.91 }}؛
اکنون از مجموعه ای از مقاومتهای 10k برای تقسیم ولتاژ برای خواندن دمای دوگانه ورودی آنالوگ استفاده می کنم. اگر می خواهید پشتیبانی ولتاژ را تغییر دهید ، باید این مقدار را تغییر دهید (در ادامه بهتر توضیح دهید):
// مقاومت ولتاژ باتری
#تعریف BAT_RES_VALUE_GND 10.0 #تعریف BAT_RES_VALUE_VCC 10.0 // مقاومت ولتاژ مقاومت مقاومت #تعریف RES_RES_VALUE_GND 10.0 #تعریف RES_RES_VALUE_VCC 10.0
اگر از ترمیستور استفاده نمی کنید ، این را روی false تنظیم کنید:
#تعریف USING_BATTERY_TERMISTOR درست است
#تعریف USING_RESISTO_TERMISTOR درست است
اگر از صفحه نمایش i2c متفاوتی استفاده می کنید ، باید این روش را دوباره بنویسید:
قرعه کشی باطل (خالی)
در پروژه ، می توانید شماتیک جالب ، عکس ها و موارد دیگر را بیابید.
مرحله 3: Breadboard: I2c Character Controller Controller Expanded
من از یک نمایشگر کاراکتر عمومی استفاده کردم ، و کنترلر i2c را ساختم و از آن با کتابخانه سفارشی خود استفاده کردم.
اما در صورت تمایل ، می توانید یک کنترلر عادی i2c (کمتر از 1 یورو) با یک کتابخانه استاندارد بگیرید ، کد همان است. تمام کد صفحه نمایش در حالت قرعه کشی است ، بنابراین می توانید آن را بدون تغییر سایر موارد تغییر دهید.
بهتر است در اینجا توضیح داده شود.
مرحله 4: Breadboard: Character Display With I2c Integrated
همان طرح بدون کنترل i2c گسترش یافته است.
مرحله 5: تحقق بخشیدن
برای اندازه گیری ولتاژ از اصل تقسیم ولتاژ (اطلاعات بیشتر در ویکی پدیا) استفاده می کنیم.
به عبارت ساده ، این کد عامل ضرب کننده برای اندازه گیری ولتاژ باتری است.
batResValueGnd / (batResValueVolt + batResValueGnd)
من 2 مقاومت batResValueVolt و batResValueGnd را قبل و قبل از سیم خواندن آنالوگ وارد کردم.
batVolt = (sample1 / (1023.0 - ((BAT_RES_VALUE_GND / (BAT_RES_VALUE_VCC + BAT_RES_VALUE_GND)) * 1023.0))) * vcc ؛
sample1 متوسط قرائت های آنالوگ است.
مرجع vcc ولتاژ آردوینو ؛
1023.0 حداکثر مقدار مرجع خواندن آنالوگ است (خواندن آنالوگ آردوینو از 0 به 1023 می رسد).
برای بدست آوردن آمپر به ولتاژ بعد و قبل از مقاومت قدرت نیاز دارید.
هنگامی که ولتاژ را بعد و قبل از مقاومت قدرت اندازه گیری می کنید ، می توانید میلی آمپر مصرف کننده باتری را محاسبه کنید.
MOSFET برای شروع و توقف تخلیه باتری از مقاومت استفاده می شود.
برای ایمنی ، 2 ترمیستور برای نظارت بر باتری و دمای مقاومت قدرت وارد کردم.
مرحله 6: قابلیت توسعه
من سعی می کنم یک نمونه اولیه از صفحه را بسط دهم ، اما در حال حاضر فقط از حداقل مجموعه ای از پین ها استفاده می کنم (در آینده led ها و دکمه های دیگر را اضافه می کنم).
اگر می خواهید ولتاژ پشتیبانی بیشتر از 10 ولت باشد ، باید مقدار مقاومت باتری و مقاومت را مطابق فرمول تغییر دهید
(BAT_RES_VALUE_GND / (BAT_RES_VALUE_VCC + BAT_RES_VALUE_GND)
در طرح ولتاژ قدرت مقاومت
ولتاژ قدرت مقاومت GND 1/2/(ولتاژ توان مقاومت 2/2 + ولتاژ توان مقاومت GND 1/2)
رنگ صورتی در حال لحیم کاری است
مرحله 7: لیست قطعات
مقدار نوع ویژگی ها
- 2 قطر پیچ 5 میلی متری بلوک ترمینال PCB Mount Screw 8A 250V LW SZUS (eBay)
- 1 کلون Arduino Pro Mini (سازگار با نانو) (eBay)
- 1 FET P-Channel IRF744N یا IRLZ44N (eBay)
- 11 مقاومت 10kΩ مقاومت 10kΩ (eBay)
- 2 سنسور دما (ترمیستور) 10kΩ ؛ (eBay)
- * فرم هدر عمومی مرد ♂ (مرد) ؛ (eBay)
- * فرم هدر عمومی زن female (زن) ؛ (eBay)
- 1 تخته PerfBoard نمونه اولیه تخته 24x18 (eBay)
-
10R ، 10W
مقاومت قدرت (eBay) من خودم را در یک تلویزیون قدیمی crt پیدا می کنم.
مرحله 8: برد: بازنشانی ، دکمه Gnd E برای انتخاب باتری
در قسمت سمت چپ پین ها می توانید دکمه و زنگ را بیابید.
من از 3 دکمه استفاده می کنم:
- یکی برای تغییر نوع باتری ؛
- یکی برای شروع تخلیه باتری انتخاب شده ؛
- سپس از ریست پین برای راه اندازی مجدد همه و فعال کردن عملیات جدید استفاده می کنم.
تمام پین در حال حاضر پایین کشیده شده است بنابراین باید با VCC فعال کنید
تنظیم مجدد با GND فعال می شود
رنگ صورتی در حال لحیم کاری است
مرحله 9: برد: I2c و پین های منبع تغذیه
در پایه می توانید VCC ، GND و SDA ، SCL را برای نمایش (و سایر موارد در آینده) مشاهده کنید.
رنگ صورتی در حال لحیم کاری است
مرحله 10: برد: ترمیستور و اندازه گیری ولتاژ
در سمت راست پین هایی برای خواندن مقدار ترمیستور وجود دارد ، یکی برای ترمیستور مقاومت گیرنده و دیگری برای ترمینستور باتری (برای اتصال پین های مرد/زن).
سپس پین های آنالوگ وجود دارد که ولتاژ دیفرانسیل بعد و قبل از مقاومت را اندازه گیری می کنند.
رنگ صورتی در حال لحیم کاری است
مرحله 11: برد: مقاومت در برابر اندازه گیری ولتاژ
در اینجا می توانید مقاومتی را مشاهده کنید که اجازه می دهد ولتاژ را دو برابر پین آردوینو (10 ولت) پشتیبانی کند ، باید این را برای پشتیبانی از ولتاژ بیشتر تغییر دهید.
رنگ صورتی در حال لحیم کاری است
مرحله 12: مرحله لحیم کاری: همه پین ها
ابتدا همه پین ها را اضافه کرده و لحیم می کنم.
مرحله 13: مراحل لحیم کاری: مقاومت Pulldown و ترمیستور
سپس من همه pulldown resitor (برای دکمه ها) و اتصال i2c (صفحه نمایش) را اضافه می کنم.
سپس مقاومت در برابر ترمیستور مقاومت بسیار مهم است ، زیرا باتری اسیدی بیش از حد داغ می شود.
مرحله 14: مراحل لحیم کاری: MOSFET ، مقاومت در برابر بررسی ولتاژ
اکنون باید mosfet را برای فعال کردن تخلیه و مقاومت در برابر بررسی ولتاژ وارد کنیم.
2 مقاومت برای ولتاژ قبل از مقاومت قدرت 2 مقاومت ولتاژ بعد از مقاومت قدرت ، هنگامی که این ولتاژ را دارید می توانید مصرف میلی آمپر را محاسبه کنید.
مرحله 15: کد
میکروکنترلر نانو سازگار است ، بنابراین باید IDE خود را برای بارگذاری Arduino Nano تنظیم کنید.
برای کار باید کد را از مخزن github من بارگیری کنید.
از این رو باید 3 کتابخانه اضافه کنید:
- سیم: کتابخانه استاندارد arduino برای پروتکل i2c ؛
- کتابخانه ترمیستور از اینجا نه کتابخانه ای که می توانید در arduino IDE پیدا کنید ، بلکه نسخه من است.
- LiquidCrystal_i2c: اگر از نسخه آداپتور i2c توسعه یافته/سفارشی (نسخه من) استفاده می کنید ، باید کتابخانه را از اینجا بارگیری کنید ، اگر از مولفه استاندارد استفاده می کنید ، می توانید کتابخانه را از arduino IDE بگیرید ، اما همه چیز در اینجا بهتر توضیح داده شده است.
من LCD را با کتابخانه استاندارد آزمایش نمی کنم ، به نظر می رسد که آنها قابل تعویض هستند ، اما اگر مشکلی وجود داشت ، می توانید با من تماس بگیرید.
مرحله 16: نتیجه پس از مونتاژ
صفحه اصلی در عکس است ، سپس می توانیم آن را آزمایش کنیم.
مرحله 17: ابتدا نوع باتری را انتخاب کنید
همانطور که توضیح داده شد ، نقشه ای با مقدار پیکربندی باتری داریم.
// ساختار باتری typeestruct BatteryType {char name [10]؛ float maxVolt؛ شناور minVolt؛ }؛ #تعریف BATTERY_TYPE_NUMBER 4 BatteryType batteryTypes [BATTERY_TYPE_NUMBER] = {{"18650" ، 4.3 ، 2.9} ، {"17550" ، 4.3 ، 2.9} ، {"14500" ، 4.3 ، 2.75} ، {"6v Acid" ، 6.50 ، 5.91 }}؛
مرحله 18: شروع به تخلیه کنید
روی دکمه دوم شروع به تخلیه کلیک کنید.
در صفحه نمایش می توانید میلی آمپر فعلی ، میلی آمپر/ساعت ، درصد تخلیه ، ولتاژ باتری و دمای مقاومت قدرت و باتری را مشاهده کنید.
مرحله 19: موارد استثنا: باتری برداشته شده است
اگر فرایند تخلیه باتری را متوقف کنید ، هنگامی که آن را دوباره وارد کنید با آخرین مقدار راه اندازی مجدد شود.
مرحله 20: استثنائات: هشدار دما
اگر دما (باتری یا مقاومت قدرت) داغ شود ، روند تخلیه به حالت مکث می رود.
#تعریف BATTERY_MAX_TEMP 50
#تعریف RESISTANCE_MAX_TEMP 69 // 70 درجه در برگه اطلاعات (کاهش مقاومت ها) #تعریف TEMP_TO_REMOVE_ON_MAX_TEMP 20
مقدار پیش فرض برای حداکثر دما 50 درجه برای باتری و 69 برای مقاومت در برابر قدرت است.
همانطور که در کامنت مشاهده می کنید ، هنگام افزایش بیش از 70 درجه ، مقاومت قدرت تحت تأثیر کاهش درجه حرارت قرار می گیرد.
در صورت افزایش هشدار TEMP_TO_REMOVE_ON_MAX_TEMP ثانیه مکث را برای قرار دادن دمای پایین آغاز کنید.
مرحله 21: آمپراژ را آزمایش کنید
نتیجه آزمایش آمپراژ خوب است.
مرحله 22: بسته بندی
با اجزای جدا شده ، نتیجه بسته به سادگی قابل درک است.
در یک جعبه باید یک مستطیل برای LCD ، سوراخ های دکمه های فشار و یک بشکه خارجی زن برای تأمین ولتاژ منبع تغذیه انجام شود.
دکمه فشاری نیازی به مقاومت کشویی ندارد زیرا آن را از قبل روی صفحه اضافه می کنم.
وقتی کمی وقت دارم ، آن را ایجاد و ارسال می کنم.
توصیه شده:
کنترل کننده بازی مبتنی بر آردوینو - کنترل کننده بازی Arduino PS2 - بازی Tekken With DIY Arduino Gamepad: 7 مرحله
کنترل کننده بازی مبتنی بر آردوینو | کنترل کننده بازی Arduino PS2 | بازی Tekken With DIY Arduino Gamepad: سلام بچه ها ، بازی کردن همیشه سرگرم کننده است اما بازی با کنترلر بازی سفارشی DIY خود سرگرم کننده تر است. بنابراین ما در این دستورالعمل یک کنترلر بازی با استفاده از arduino pro micro ایجاد می کنیم
روشن کننده قوس در کنترل کننده ماشین اسلات: 6 مرحله (همراه با تصاویر)
Arc Lighter in a Slot Car Controller: این فندک قوس کنترل کننده اسلات ماشین من است. هرگز فکر نمی کردم که این کلمات را در یک جمله کنار هم قرار دهم! کنترل کننده از پیست مسابقه ای Scalextric است ، اما یک نسخه ارزان قیمت و ارزان قیمت است. من یک جفت از آنها را در سطل زباله پیدا کردم و فکر کردم مهاجرت می کنند
کنترل کننده دما با دقت بالا: 6 مرحله (همراه با تصاویر)
کنترل کننده دما با دقت بالا: در علم و در مهندسی ، ردیابی دما (حرکت اتم ها در ترمودینامیک) یکی از پارامترهای اساسی فیزیکی است که تقریباً باید در همه جا مورد توجه قرار گیرد ، از بیولوژی سلول گرفته تا موشک های سوخت سخت
تبدیل Splitter مانیتور VGA به کنترل کننده کنترل کننده کامپیوتر: 4 مرحله
تبدیل Splitter مانیتور VGA به کنترل کننده مانیتور کنترل شده توسط کامپیوتر: این دستورالعمل توضیح می دهد که چگونه می توان یک اسپلیتر مانیتور VGA ارزان (20 یورو) که برای اتصال یک رایانه به دو مانیتور استفاده می شود را به یک سوئیچر مانیتور کنترل شده کامپیوتر تبدیل کرد. دستگاه نهایی از طریق پورت موازی کنترل می شود و امکان چرخش
شبیه دشمن خود باشید: نشانه هایی ایجاد کنید که گیج کننده ، مبهوت کننده و تقلید کننده باشد!: 6 مرحله (همراه با تصاویر)
شبیه دشمن خود باشید: نشانه هایی ایجاد کنید که باعث گیج شدن ، حیرت و تقلید می شود !: در این مقاله آموزشی طراحی استتار را خواهید آموخت. در پروژه های گذشته ، من تکنیک های مختلفی را برای تقلید از علائم دولتی یا شرکتی اختصاص داده و اصلاح کرده ام. استفاده از روش هایی که در مراحل زیر بیان شده است به شما امکان می دهد به طور موقت