فهرست مطالب:

منبع تغذیه باتری دیجیتال: 7 مرحله (همراه با تصاویر)
منبع تغذیه باتری دیجیتال: 7 مرحله (همراه با تصاویر)

تصویری: منبع تغذیه باتری دیجیتال: 7 مرحله (همراه با تصاویر)

تصویری: منبع تغذیه باتری دیجیتال: 7 مرحله (همراه با تصاویر)
تصویری: روش تشخیص خرابی باتری موبایل به کمک منبع تغذیه و مولتی متر 2024, نوامبر
Anonim
منبع تغذیه باتری دیجیتال
منبع تغذیه باتری دیجیتال
منبع تغذیه باتری دیجیتال
منبع تغذیه باتری دیجیتال
منبع تغذیه باتری دیجیتال
منبع تغذیه باتری دیجیتال
منبع تغذیه باتری دیجیتال
منبع تغذیه باتری دیجیتال

آیا تا به حال خواهان یک منبع تغذیه بوده اید که بتوانید در حین حرکت حتی بدون پریز دیواری مجاور از آن استفاده کنید؟ و آیا بسیار دقیق ، دیجیتالی و قابل کنترل از طریق رایانه نیز جالب نخواهد بود؟

در این دستورالعمل نحوه ساخت دقیق آن را به شما نشان خواهم داد: منبع تغذیه باتری دیجیتالی ، سازگار با آردوینو و کنترل از طریق رایانه از طریق USB.

چندی پیش من یک منبع تغذیه از یک ATU قدیمی ATX ساختم ، و در حالی که عالی کار می کرد ، می خواستم بازی خود را با یک منبع تغذیه دیجیتال تقویت کنم. همانطور که قبلاً گفته شد ، از باتری (به طور دقیق 2 سلول لیتیوم) تغذیه می کند و می تواند حداکثر 20 ولت را در 1 آمپر تامین کند. که برای اکثر پروژه های من که نیاز به منبع تغذیه دقیق دارند ، بسیار زیاد است.

من کل فرایند طراحی را نشان خواهم داد و همه فایل های پروژه را می توانید در صفحه GitHub من پیدا کنید:

بیایید شروع کنیم!

مرحله 1: ویژگی ها و هزینه

ویژگی ها و هزینه
ویژگی ها و هزینه

امکانات

  • ولتاژ ثابت و حالتهای جریان ثابت
  • از تنظیم کننده خطی کم سر و صدا استفاده می کند ، قبل از آن یک پیش تنظیم کننده ردیابی برای به حداقل رساندن اتلاف توان وجود دارد
  • استفاده از اجزای قابل حمل برای دسترسی به پروژه
  • طراحی شده توسط ATMEGA328P ، برنامه ریزی شده با Arduino IDE
  • ارتباط رایانه از طریق برنامه جاوا از طریق میکرو USB
  • دارای 2 سلول لیتیوم یون محافظت شده 18650
  • دوشاخه موز 18 میلی متری برای سازگاری با آداپتورهای BNC

مشخصات فنی

  • 0 - 1A ، مراحل 1 میلی آمپر (DAC 10 بیتی)
  • 0 - 20V ، مراحل 20 میلی ولت (DAC 10 بیتی) (عملکرد صحیح 0 ولت)
  • اندازه گیری ولتاژ: رزولوشن 20 میلی ولت (ADC 10 بیتی)
  • اندازه گیری فعلی:

    • <40mA: رزولوشن 10uA (ina219)
    • <80mA: وضوح 20uA (ina219)
    • <160mA: رزولوشن 40uA (ina219)
    • <320mA: رزولوشن 80uA (ina219)
    • > 320mA: رزولوشن 1mA (ADC 10 بیتی)

هزینه

هزینه کامل تغذیه برای من 135 دلار هزینه داشت ، با تمام اجزای یکبار مصرف. باتری ها گران ترین قسمت هستند (30 دلار برای 2 سلول) ، زیرا از 18650 سلول لیتیوم محافظت می کنند. در صورت عدم نیاز به عملکرد باتری ، می توان هزینه را به میزان قابل توجهی کاهش داد. با حذف باتری ها و مدار شارژ ، قیمت به حدود 100 دلار کاهش می یابد. اگرچه ممکن است این امر گران به نظر برسد ، اما منابع تغذیه با کارایی و ویژگی های بسیار کمتر اغلب بیشتر از این هزینه دارند.

اگر با سفارش قطعات خود از ebay یا aliexpress مشکلی ندارید ، قیمت باتری ها به 100 دلار و بدون 70 دلار کاهش می یابد. ورود قطعات بیشتر طول می کشد ، اما یک گزینه مناسب است.

مرحله 2: شماتیک و نظریه عملیات

طرحواره و نظریه عملیات
طرحواره و نظریه عملیات

برای درک عملکرد مدار ، باید به شماتیک نگاه کنیم. من آن را به بلوک های عملکردی تقسیم کردم ، به طوری که درک آن آسان تر است. بنابراین من نیز مرحله به مرحله عملیات را توضیح خواهم داد. این قسمت کاملاً عمیق است و نیاز به دانش الکترونیکی خوب دارد. اگر فقط می خواهید نحوه ساخت مدار را بدانید ، می توانید به مرحله بعدی بروید.

بلوک اصلی

این عملیات در اطراف تراشه LT3080 است: این یک تنظیم کننده ولتاژ خطی است که می تواند بر اساس سیگنال کنترلی ولتاژها را کاهش دهد. این سیگنال کنترل توسط یک میکروکنترلر تولید می شود. نحوه انجام این کار ، بعداً به تفصیل توضیح داده می شود.

تنظیم ولتاژ

مدارهای اطراف LT3080 سیگنال های کنترلی مناسبی تولید می کند. ابتدا نگاهی به نحوه تنظیم ولتاژ می اندازیم. تنظیم ولتاژ از میکروکنترلر یک سیگنال PWM (PWM_Vset) است که توسط یک فیلتر پایین گذر (C9 & R26) فیلتر می شود. این یک ولتاژ آنالوگ - بین 0 تا 5 ولت - متناسب با ولتاژ خروجی مورد نظر ایجاد می کند. از آنجا که محدوده خروجی ما 0 تا 20 ولت است ، ما باید این سیگنال را با ضریب 4 تقویت کنیم. این توسط پیکربندی غیر وارونه opamp U3C انجام می شود. افزایش پین تنظیم شده توسط R23 // R24 // R25 و R34 تعیین می شود. این مقاومت ها 0.1٪ تحمل دارند تا خطاها را به حداقل برسانند. R39 و R36 در اینجا اهمیتی ندارند ، زیرا بخشی از حلقه بازخورد هستند.

تنظیم فعلی

این پین مجموعه همچنین می تواند برای تنظیم دوم استفاده شود: حالت فعلی. ما می خواهیم کشش فعلی را اندازه گیری کنیم و وقتی خروجی از جریان مورد نظر بیشتر می شود ، خروجی را خاموش کنیم. بنابراین ، ما دوباره با یک سیگنال PWM (PWM_Iset) ، تولید شده توسط میکروکنترلر ، شروع می کنیم ، که در حال حاضر lowpass فیلتر شده و ضعیف شده است تا از محدوده 0 تا 5 ولت به محدوده 0 تا 2 ولت برسد. این ولتاژ اکنون با پیکربندی مقایسه کننده opamp U3D با افت ولتاژ در مقاومت حسی فعلی (ADC_Iout ، پایین را ببینید) مقایسه می شود. اگر جریان بیش از حد زیاد باشد ، یک لامپ روشن می شود و همچنین خط تنظیم LT3080 را به زمین (از طریق Q2) به زمین می کشاند ، بنابراین خروجی را خاموش می کند. اندازه گیری جریان و تولید سیگنال ADC_Iout به شرح زیر انجام می شود. جریان خروجی از طریق مقاومت های R7 - R16 جریان می یابد. این مجموع 1 اهم ؛ دلیل عدم استفاده از 1R در وهله اول دو مورد است: 1 مقاومت باید دارای توان قدرت بالاتری باشد (حداقل 1 وات باید از بین برود) و با استفاده از 10 مقاومت 1٪ موازی ، دقت بالاتری نسبت به با یک مقاومت 1٪ یک ویدئوی خوب در مورد علت کارکردن آن در اینجا یافت می شود: https://www.youtube.com/watch؟v=1WAhTdWErrU&t=1s هنگامی که جریان از طریق این مقاومت ها عبور می کند ، افت ولتاژ ایجاد می کند ، که می توانیم اندازه گیری کنیم ، و این قبل از LT3080 قرار می گیرد ، زیرا افت ولتاژ در آن نباید بر ولتاژ خروجی تأثیر بگذارد. افت ولتاژ با تقویت کننده دیفرانسیل (U3B) با افزایش 2. اندازه گیری می شود. این امر منجر به محدوده ولتاژ 0 تا 2 ولت می شود (در ادامه بیشتر) ، بنابراین تقسیم ولتاژ در سیگنال PWM جریان. بافر (U3A) برای اطمینان از اینکه جریان جریان به مقاومت های R21 ، R32 و R33 از مقاومت حسی فعلی عبور نمی کند ، وجود دارد که بر خواندن آن تأثیر می گذارد. همچنین توجه داشته باشید که این باید یک راه آهن به راه آهن باشد ، زیرا ولتاژ ورودی در ورودی مثبت برابر ولتاژ منبع تغذیه است. تقویت کننده غیر معکوس فقط برای اندازه گیری دوره است ، هرچند ، برای اندازه گیری های بسیار دقیق ، ما تراشه INA219 را روی صفحه داریم. این تراشه به ما امکان اندازه گیری جریانهای بسیار کوچک را می دهد و از طریق I2C خطاب می شود.

موارد اضافی

در خروجی LT3080 ، ما چیزهای بیشتری داریم. اول از همه ، یک سینک جاری (LM334) وجود دارد. این یک جریان ثابت 677 uA (تنظیم شده توسط مقاومت R41) را برای تثبیت LT3080 می کشد. اما به زمین متصل نیست ، اما به VEE ولتاژ منفی است. این مورد نیاز است تا LT3080 تا 0 ولت کار کند. هنگام اتصال به زمین ، کمترین ولتاژ در حدود 0.7 ولت خواهد بود. این به اندازه کافی کم به نظر می رسد ، اما به خاطر داشته باشید که این امر مانع از خاموش شدن کامل منبع تغذیه ما می شود. دیود زنر D3 برای بستن ولتاژ خروجی در صورت بالای 22 ولت استفاده می شود و تقسیم کننده مقاومت محدوده ولتاژ خروجی را از 0 تا 20 ولت به 0 تا 2 ولت (ADC_Vout) کاهش می دهد. متأسفانه ، این مدارها در خروجی LT3080 هستند ، به این معنی که جریان آنها به جریان خروجی کمک می کند. خوشبختانه اگر ولتاژ ثابت بماند ، این جریانها ثابت هستند. بنابراین زمانی که بار ابتدا قطع می شود ، می توانیم جریان را کالیبره کنیم.

پمپ شارژ

ولتاژ منفی که قبلاً ذکر کردیم توسط یک مدار کوچک کنجکاو ایجاد می شود: پمپ شارژ. برای کارکرد آن ، به اینجا مراجعه کنید:

تقویت کننده مبدل

بیایید نگاهی به ولتاژ ورودی بلوک اصلی خود داشته باشیم: Vboost. می بینیم که 8 تا 24 ولت است ، اما منتظر بمانید ، 2 سلول لیتیوم به صورت سری حداکثر 8.4 ولت می دهد؟ در واقع ، و به همین دلیل است که ما باید ولتاژ را با یک اصطلاحاً مبدل تقویت کننده افزایش دهیم. ما همیشه می توانیم ولتاژ را تا 24 ولت افزایش دهیم ، مهم نیست که چه خروجی می خواهیم. با این حال ، این امر قدرت زیادی را در LT3080 هدر می دهد و همه چیز داغ می شود! بنابراین به جای انجام این کار ، ولتاژ را کمی بیشتر از ولتاژ خروجی افزایش می دهیم. حدود 2.5 ولت بالاتر مناسب است ، برای در نظر گرفتن افت ولتاژ مقاومت حسگر فعلی و ولتاژ خروجی LT3080. ولتاژ توسط مقاومتها روی سیگنال خروجی مبدل تقویت کننده تنظیم می شود. برای تغییر این ولتاژ در پرواز ، ما از یک پتانسیومتر دیجیتال ، MCP41010 استفاده می کنیم که از طریق SPI کنترل می شود.

شارژ باتری

این ما را به ولتاژ ورودی واقعی هدایت می کند: باتری ها! از آنجا که ما از سلول های محافظت شده استفاده می کنیم ، فقط باید آنها را در یک سری قرار دهیم و کار ما تمام شد! استفاده از سلول های محافظت شده در اینجا ، برای جلوگیری از جریان بیش از حد یا تخلیه بیش از حد و در نتیجه آسیب رساندن سلول ها بسیار مهم است. باز هم ، ما از یک تقسیم کننده ولتاژ برای اندازه گیری ولتاژ باتری و کاهش آن در محدوده قابل استفاده استفاده می کنیم. حالا بریم سراغ بخش جالب: مدار شارژ. ما برای این منظور از تراشه BQ2057WSN استفاده می کنیم: در ترکیب با TIP32CG ، اساساً خود یک منبع تغذیه خطی تشکیل می دهد. این تراشه سلولها را از طریق یک مسیر CV CC مناسب شارژ می کند. از آنجا که باتری های من پروب دما ندارند ، این ورودی باید به نصف ولتاژ باتری وصل شود. این بخش تنظیم ولتاژ منبع تغذیه را به پایان می رساند.

تنظیم کننده 5 ولت

ولتاژ تغذیه 5 ولت آردوینو با این تنظیم کننده ولتاژ ساده ساخته می شود. این دقیق ترین خروجی 5 ولت نیست ، اما در زیر حل می شود.

مرجع ولتاژ 2.048 ولت

این تراشه کوچک مرجع ولتاژ 2.048 ولت بسیار دقیق را ارائه می دهد. این به عنوان مرجع سیگنال های آنالوگ ADC_Vout ، ADC_Iout ، ADC_Vbatt استفاده می شود. به همین دلیل ما به تقسیم کننده های ولتاژ نیاز داشتیم تا این سیگنال ها را به میکروکنترلر 2 ولت برسانیم. مغز این پروژه ATMEGA328P است ، این همان تراشه ای است که در Arduino Uno استفاده می شود. ما در حال حاضر بیشتر سیگنال های کنترلی را بررسی کرده ایم ، اما با این وجود برخی از افزودنی های جالب وجود دارد. رمزگذارهای چرخشی فقط به 2 پین وقفه خارجی آردوینو متصل می شوند: PD2 و PD3. این امر برای پیاده سازی نرم افزاری مطمئن مورد نیاز است. کلیدهای زیر از یک مقاومت کششی داخلی استفاده می کنند. سپس این تقسیم ولتاژ عجیب در خط انتخاب تراشه پتانسیومتر (Pot) وجود دارد. تقسیم کننده ولتاژ در خروجی ، برای چه خوب است. ممکن است بگویید همانطور که قبلاً ذکر شد ، منبع تغذیه 5 ولت بسیار دقیق نیست. بنابراین خوب است که این را دقیق اندازه گیری کنید و چرخه کار سیگنال PWM را بر این اساس تنظیم کنید. اما از آنجا که دیگر ورودی رایگان نداشتم ، مجبور شدم دوبار وظیفه پین کش را انجام دهم. هنگامی که منبع تغذیه بوت می شود ، ابتدا این پین به عنوان ورودی تنظیم می شود: ریل منبع را اندازه گیری می کند و خود را کالیبره می کند. بعد ، آن را به عنوان یک خروجی تنظیم می کند و می تواند خط انتخاب تراشه را هدایت کند.

درایور نمایشگر

برای صفحه نمایش ، من یک صفحه LCD معمولی - ارزان و ارزان - hitachi می خواستم. آنها توسط 6 پین هدایت می شوند ، اما از آنجا که دیگر پین برایم باقی نمانده بود ، به راه حل دیگری نیاز داشتم. ثبت نام شیفت به نجات! 74HC595 به من امکان می دهد از خط SPI برای کنترل صفحه نمایش استفاده کنم ، بنابراین فقط به 1 خط انتخاب تراشه اضافی نیاز دارم.

FTDI

آخرین قسمت این منبع تغذیه ارتباط با دنیای بیرحمانه و بیرونی است. برای این کار ، ما باید سیگنال های سریال را به سیگنال USB تبدیل کنیم. این کار توسط یک تراشه FTDI انجام می شود که برای اتصال آسان به پورت micro USB متصل شده است.

و این همه چیز است!

مرحله 3: PCB & Electronics

PCB و الکترونیک
PCB و الکترونیک
PCB و الکترونیک
PCB و الکترونیک
PCB و الکترونیک
PCB و الکترونیک
PCB و الکترونیک
PCB و الکترونیک

اکنون که نحوه عملکرد مدار را درک کرده ایم ، می توانیم ساخت آن را شروع کنیم! شما به سادگی می توانید PCB را به صورت آنلاین از تولید کننده مورد علاقه خود سفارش دهید (هزینه من حدود 10 دلار است) ، فایل های gerber را می توانید در GitHub من ، همراه با صورتحساب مواد پیدا کنید. پس از آن مونتاژ PCB اساساً مربوط به لحیم کاری قطعات در محل با توجه به صفحه ابریشم و اسکناس مواد است.

اولین مرحله لحیم کاری قطعات SMD است. انجام اکثر آنها با دست آسان است ، به جز تراشه FTDI و کانکتور میکرو USB. بنابراین ، می توانید خودتان از لحیم کاری آن 2 جزء خودداری کنید و به جای آن از یک برد شکست FTDI استفاده کنید. من پین های هدر را تهیه کردم که می توان آنها را لحیم کرد.

هنگامی که کار SMD به پایان رسید ، می توانید به همه اجزای سوراخ بروید. اینها بسیار ساده هستند. برای تراشه ها ، ممکن است بخواهید به جای اتصال مستقیم سوکت به برد از سوکت استفاده کنید. ترجیحاً از ATMEGA328P با بوت لودر آردوینو استفاده کنید ، در غیر این صورت باید آن را با استفاده از سرصفحه ICSP بارگذاری کنید (در اینجا نشان داده شده است).

تنها بخشی که نیاز به توجه بیشتری دارد صفحه LCD است ، زیرا باید در زاویه نصب شود. سربرگ های زاویه دار مردانه را روی آن بچسبانید ، قطعه پلاستیکی رو به قسمت زیرین صفحه قرار دهید. با این کار می توانید صفحه را روی pcb قرار دهید. پس از آن ، می توان آن را درست مانند هر جزء دیگر سوراخ لحیم کرد.

تنها کاری که باید انجام دهید اضافه کردن 2 سیم است که به پایانه های موز در صفحه جلویی متصل می شود.

مرحله 4: مورد و مونتاژ

مورد و مونتاژ
مورد و مونتاژ
مورد و مونتاژ
مورد و مونتاژ
مورد و مونتاژ
مورد و مونتاژ

با ساخت PCB ، می توانیم به سراغ کیس برویم. من بطور خاص PCB را در اطراف این قاب هموند طراحی کردم ، بنابراین استفاده از قاب دیگر توصیه نمی شود. با این حال ، شما همیشه می توانید یک قاب را با ابعاد مشابه چاپ کنید.

اولین قدم آماده سازی صفحه پایانی است. ما باید سوراخ هایی برای پیچ ، سوئیچ و غیره ایجاد کنیم. من این کار را با دست انجام دادم ، اما اگر به CNC دسترسی دارید ، این گزینه دقیق تری خواهد بود. من سوراخ ها را مطابق شماتیک ایجاد کردم و سوراخ های پیچ را ضربه زدم.

ایده خوبی است که در حال حاضر مقداری پد ابریشم اضافه کنید و آنها را با یک قطره کوچک چسب فوق العاده در جای خود نگه دارید. اینها LT3080 و TIP32 را از صفحه پشتی جدا می کنند ، در حالی که هنوز انتقال حرارت امکان پذیر است. آنها را فراموش نکنید! هنگام پیچاندن تراشه ها به قسمت پشت ، از یک واشر میکا برای اطمینان از جداسازی استفاده کنید!

اکنون می توانیم روی پنل جلویی ، که فقط در جای خود قرار دارد ، تمرکز کنیم. اکنون می توانیم جک موز و دستگیره های رمزگذار دوار را اضافه کنیم.

با قرار دادن هر دو پانل ، می توانیم مجموعه را در کیس قرار دهیم ، باتری ها را اضافه کرده و همه را ببندیم. مطمئن شوید که از باتری های محافظت شده استفاده می کنید ، نمی خواهید سلول ها منفجر شوند!

در این مرحله سخت افزار به پایان رسیده است ، اکنون تنها چیزی که باقی می ماند این است که کمی با نرم افزار به آن جان ببخشید!

مرحله 5: کد آردوینو

کد آردوینو
کد آردوینو

مغز این پروژه ATMEGA328P است که ما آن را با Arduino IDE برنامه ریزی خواهیم کرد. در این بخش ، عملیات اصلی کد را مرور می کنم ، جزئیات را می توانید به عنوان نظرات داخل کد پیدا کنید.

کد اساساً مراحل زیر را حل می کند:

  1. خواندن داده های سریال از جاوا
  2. دکمه های نظرسنجی
  3. اندازه گیری ولتاژ
  4. اندازه گیری جریان
  5. جریان را با INA219 اندازه گیری کنید
  6. ارسال داده های سریال به جاوا
  7. پیکربندی boostconvertor
  8. شارژ باتری بگیرید
  9. صفحه را به روز کنید

رمزگذارهای دوار توسط یک سرویس معمول وقفه اداره می شوند تا آنها تا حد ممکن پاسخگو باشند.

اکنون می توانید کد را از طریق پورت micro USB روی برد بارگذاری کنید (اگر تراشه دارای بوت لودر است). برد: Arduino pro یا pro mini programmer: AVR ISP / AVRISP MKII

اکنون می توانید نگاهی به تعامل بین Arduino و رایانه شخصی بیندازید.

مرحله 6: کد جاوا

کد جاوا
کد جاوا

برای ثبت اطلاعات و کنترل منبع تغذیه از طریق رایانه ، من یک برنامه جاوا ایجاد کردم. این به ما اجازه می دهد تا به راحتی برد را از طریق GUI کنترل کنیم. مانند کد آردوینو ، من به همه جزئیات نمی پردازم ، اما یک مرور کلی می کنم.

ما با ایجاد یک پنجره با دکمه ها ، زمینه های متن و غیره شروع می کنیم. موارد اولیه GUI

اکنون قسمت سرگرم کننده می آید: اضافه کردن پورت های USB ، که برای آنها از کتابخانه jSerialComm استفاده کردم. پس از انتخاب پورت ، جاوا به داده های ورودی گوش می دهد. همچنین می توانیم داده ها را به دستگاه ارسال کنیم.

علاوه بر این ، تمام داده های ورودی در یک فایل csv ذخیره می شود ، برای پردازش بعدی داده ها.

هنگام اجرای فایل.jar ، ابتدا باید پورت مناسب را از منوی کشویی انتخاب کنیم. پس از اتصال داده ها شروع به ورود می کند و می توانیم تنظیمات خود را به powerupply ارسال کنیم.

در حالی که برنامه بسیار اساسی است ، کنترل آن از طریق رایانه و ثبت داده های آن می تواند بسیار مفید باشد.

مرحله 7: موفقیت

موفقیت!
موفقیت!
موفقیت!
موفقیت!
موفقیت!
موفقیت!

پس از این همه کار ، ما اکنون یک منبع تغذیه کاملاً کاربردی داریم!

همچنین باید از برخی افراد برای حمایت آنها تشکر کنم:

  • این پروژه بر اساس پروژه uSupply EEVBLOG و شماتیک Rev C وی طراحی شده بود. بنابراین تشکر ویژه ای از دیوید ال جونز برای ارائه طرحهای خود تحت مجوز منبع باز و به اشتراک گذاشتن تمام دانش خود.
  • با تشکر فراوان از یوهان پاتین برای تولید نمونه های اولیه این پروژه.
  • همچنین سدریک بوشاتس و هانس اینگلبرتس به خاطر کمک در عیب یابی شایسته اعتبار هستند.

ما اکنون می توانیم از منبع تغذیه خانگی خود لذت ببریم ، که هنگام کار بر روی پروژه های فوق العاده دیگر مفید خواهد بود! و مهمتر از همه: ما در این راه چیزهای زیادی آموخته ایم.

اگر این پروژه را دوست داشتید ، لطفاً در مسابقه powerupply به من رای دهید ، من واقعاً از آن قدردانی می کنم!

مسابقه منبع تغذیه
مسابقه منبع تغذیه
مسابقه منبع تغذیه
مسابقه منبع تغذیه

جایزه دوم در مسابقه منبع تغذیه

توصیه شده: