فهرست مطالب:

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

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

تصویری: منبع تغذیه بلوتوث USB C دیجیتال تامین: 8 مرحله (همراه با تصاویر)
تصویری: 💦Blackview BV9200 HONEST Shockproof REVIEW 2024, جولای
Anonim
منبع تغذیه بلوتوث USB USB C دیجیتال
منبع تغذیه بلوتوث USB USB C دیجیتال
منبع تغذیه بلوتوث USB C دیجیتال
منبع تغذیه بلوتوث USB C دیجیتال
منبع تغذیه بلوتوث USB USB C دیجیتال
منبع تغذیه بلوتوث USB USB C دیجیتال
منبع تغذیه بلوتوث USB C دیجیتال
منبع تغذیه بلوتوث USB C دیجیتال

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

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

این پروژه تکامل منبع تغذیه قبلی من است که با باتری کار می کرد و دارای صفحه نمایش و دستگیره است. اینجا را بررسی کنید! با این حال ، من می خواستم کوچکتر شوم ، به همین دلیل این را ساختم!

منبع تغذیه می تواند از طریق باتری USB C یا شارژر تلفن تامین شود. این اجازه می دهد تا حداکثر 15W قدرت ، که برای تغذیه اکثر قطعات الکترونیکی کم مصرف کافی است! برای داشتن یک رابط کاربری خوب در چنین دستگاه کوچکی ، من بلوتوث و یک برنامه Android را برای کنترل ها اضافه کردم. این باعث می شود که این منبع تغذیه فوق العاده قابل حمل باشد!

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

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

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

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

امکانات

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

مشخصات فنی

  • 0 - 1A ، مراحل 1 میلی آمپر (DAC 10 بیتی)
  • 0 - 25V ، مراحل 25 میلی ولت (DAC 10 بیتی) (عملکرد صحیح 0 ولت)
  • اندازه گیری ولتاژ: وضوح 25 میلی ولت (ADC 10 بیتی)
  • اندازه گیری فعلی: <40mA: وضوح 10uA (ina219) <80mA: وضوح 20uA (ina219) <160mA: رزولوشن 40uA (ina219) <320mA: رزولوشن 80uA (ina219)> 320mA: رزولوشن 1mA (ADC 10 بیتی)

هزینه

منبع تغذیه کامل من حدود 100 دلار هزینه داشت ، با تمام اجزای یکبار مصرف. اگرچه ممکن است این امر گران به نظر برسد ، اما منابع تغذیه با کارایی و ویژگی های بسیار کمتر اغلب بیشتر از این هزینه دارند. اگر با سفارش قطعات خود از ebay یا aliexpress مشکلی ندارید ، قیمت آن به حدود 70 دلار کاهش می یابد. ورود قطعات بیشتر طول می کشد ، اما یک گزینه مناسب است.

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

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

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

بلوک اصلی

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

تنظیم ولتاژ

مدارهای اطراف LT3080 سیگنال های کنترلی مناسبی تولید می کند. ابتدا نگاهی به نحوه تنظیم ولتاژ می اندازیم. تنظیم ولتاژ از میکروکنترلر یک سیگنال PWM (PWM_Vset) است که توسط یک فیلتر پایین گذر (C23 & R32) فیلتر می شود. این یک ولتاژ آنالوگ - بین 0 تا 5 ولت - متناسب با ولتاژ خروجی مورد نظر ایجاد می کند. از آنجا که محدوده خروجی ما 0 تا 25 ولت است ، ما باید این سیگنال را با ضریب 5 تقویت کنیم. این توسط پیکربندی غیر وارونه opamp U7C انجام می شود. افزایش پین تنظیم شده توسط R31 و R36 تعیین می شود. این مقاومت ها 0.1٪ تحمل دارند تا خطاها را به حداقل برسانند. R39 و R41 در اینجا اهمیتی ندارند ، زیرا بخشی از حلقه بازخورد هستند.

تنظیم فعلی

این پین مجموعه همچنین می تواند برای تنظیم دوم استفاده شود: حالت فعلی. ما می خواهیم کشش فعلی را اندازه گیری کنیم و وقتی خروجی از جریان مورد نظر بیشتر می شود ، خروجی را خاموش کنیم. بنابراین ، ما دوباره با یک سیگنال PWM (PWM_Iset) ، تولید شده توسط میکروکنترلر ، شروع می کنیم ، که در حال حاضر lowpass فیلتر شده و ضعیف شده است تا از محدوده 0 تا 5 ولت به محدوده 0 تا 2.5 ولت برسد. این ولتاژ اکنون با پیکربندی مقایسه کننده opamp U1B با افت ولتاژ در مقاومت حسی فعلی (ADC_Iout ، در زیر مشاهده کنید) مقایسه می شود. اگر جریان بسیار زیاد باشد ، یک چراغ روشن می شود و همچنین خط تنظیم LT3080 را به زمین (از طریق Q1) به زمین می کشاند ، بنابراین خروجی را خاموش می کند. اندازه گیری جریان و تولید سیگنال ADC_Iout به شرح زیر انجام می شود. جریان خروجی از طریق مقاومت R22 جریان می یابد. هنگامی که جریان از طریق این مقاومت عبور می کند ، افت ولتاژ ایجاد می کند ، که می توانیم آن را اندازه گیری کنیم و قبل از LT3080 قرار می گیرد ، زیرا افت ولتاژ در آن نباید بر ولتاژ خروجی تأثیر بگذارد. افت ولتاژ با تقویت کننده دیفرانسیل (U7B) با افزایش 5 اندازه گیری می شود. این امر منجر به محدوده ولتاژ 0 تا 2.5 ولت می شود (بعداً بیشتر) ، بنابراین تقسیم ولتاژ در سیگنال PWM جریان. بافر (U7A) برای اطمینان از اینکه جریان جریان به مقاومت های R27 ، R34 و R35 از مقاومت حسی فعلی عبور نمی کند ، وجود دارد که بر خواندن آن تأثیر می گذارد. همچنین توجه داشته باشید که این باید یک راه آهن به راه آهن باشد ، زیرا ولتاژ ورودی در ورودی مثبت برابر ولتاژ منبع تغذیه است. تقویت کننده غیر معکوس فقط برای اندازه گیری دوره است ، هرچند ، برای اندازه گیری های بسیار دقیق ، ما تراشه INA219 را روی صفحه داریم. این تراشه به ما امکان اندازه گیری جریانهای بسیار کوچک را می دهد و از طریق I2C خطاب می شود.

موارد اضافی

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

پمپ شارژ

ولتاژ منفی که قبلاً ذکر کردیم توسط یک مدار کوچک کنجکاو ایجاد می شود: پمپ شارژ. از 50 درصد PWM میکروکنترلر (PWM) تغذیه می شود.

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

اکنون بیایید نگاهی به ولتاژ ورودی بلوک اصلی خود بیاندازیم: VCC. ما می بینیم که 5 - 27V است ، اما منتظر بمانید ، USB حداکثر 5 ولت می دهد؟ در واقع ، و به همین دلیل است که ما باید ولتاژ را با یک اصطلاحاً مبدل تقویت کننده افزایش دهیم. ما همیشه می توانیم ولتاژ را تا 27 ولت افزایش دهیم ، مهم نیست که چه خروجی می خواهیم. با این حال ، این امر قدرت زیادی را در LT3080 هدر می دهد و همه چیز داغ می شود! بنابراین به جای انجام این کار ، ولتاژ را کمی بیشتر از ولتاژ خروجی افزایش می دهیم. حدود 2.5 ولت بالاتر مناسب است ، برای در نظر گرفتن افت ولتاژ مقاومت حسگر فعلی و ولتاژ خروجی LT3080. ولتاژ توسط مقاومتها روی سیگنال خروجی مبدل تقویت کننده تنظیم می شود. برای تغییر این ولتاژ در پرواز ، ما از یک پتانسیومتر دیجیتال ، MCP41010 استفاده می کنیم که از طریق SPI کنترل می شود.

USB C

این ما را به ولتاژ ورودی واقعی هدایت می کند: پورت USB! دلیل استفاده از USB C (USB Type 3.1 دقیقاً ، USB C فقط نوع اتصال دهنده است) این است که اجازه می دهد تا جریان 3A در 5 ولت را تأمین کند ، که در حال حاضر مقداری قدرت است. اما یک اشکال وجود دارد ، دستگاه باید برای رساندن این جریان و "مذاکره" با دستگاه میزبان سازگار باشد. در عمل ، این کار با اتصال دو مقاومت 5.1k کشویی (R12 و R13) به خط CC1 و CC2 انجام می شود. برای سازگاری USB 2 ، اسناد کمتر روشن است. به طور خلاصه: شما هر جریانی را که می خواهید ترسیم می کنید ، تا زمانی که میزبان بتواند آن را ارائه دهد. این را می توان با نظارت بر ولتاژ گذرگاه USB بررسی کرد: یکی ولتاژ زیر 4.25V افت می کند ، دستگاه جریان بیش از حد را می کشد. این توسط مقایسه کننده U1A تشخیص داده می شود و خروجی را غیرفعال می کند. همچنین سیگنالی به میکروکنترلر ارسال می کند تا حداکثر جریان را تنظیم کند. به عنوان یک امتیاز ، مقاومتهایی برای پشتیبانی از تشخیص شناسه شارژرهای شارژرهای سیب و سامسونگ اضافه شده اند.

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

ولتاژ تغذیه 5 ولت آردوینو به طور معمول مستقیماً از طریق USB تامین می شود. اما از آنجا که ولتاژ USB با توجه به مشخصات USB می تواند بین 4.5 تا 5.5 ولت متغیر باشد ، این به اندازه کافی دقیق نیست. بنابراین ، از تنظیم کننده 5V استفاده می شود که می تواند 5V را از ولتاژهای پایین و بالاتر تولید کند. با این حال ، این ولتاژ خیلی دقیق نیست ، اما این با یک مرحله کالیبراسیون حل می شود که در آن چرخه وظیفه سیگنال PWM بر این اساس تنظیم می شود. این ولتاژ الکترونیکی با تقسیم ولتاژ تشکیل شده توسط R42 و R43 اندازه گیری می شود. اما از آنجا که دیگر ورودی رایگان نداشتم ، مجبور شدم دوبار وظیفه پین کش را انجام دهم. هنگامی که منبع تغذیه بوت می شود ، ابتدا این پین به عنوان ورودی تنظیم می شود: ریل منبع را اندازه گیری می کند و خود را کالیبره می کند. بعد ، به عنوان خروجی تنظیم شده و می تواند خط انتخاب تراشه پتانسیومتر را هدایت کند.

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

این تراشه کوچک مرجع ولتاژ بسیار دقیق 2.56 ولت را ارائه می دهد. این به عنوان مرجع سیگنال های آنالوگ ADC_Vout ، ADC_Iout ، ADC_Vbatt استفاده می شود. به همین دلیل ما به تقسیم کننده های ولتاژ نیاز داشتیم تا این سیگنال ها را به 2.5 ولت برسانیم.

FTDI

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

بلوتوث

بخش بلوتوث بسیار ساده است: یک ماژول بلوتوث خارج از قفسه اضافه می شود و همه چیز را برای ما انجام می دهد. از آنجا که سطح منطقی آن 3.3V است (VS 5V برای میکروکنترلر) از تقسیم کننده ولتاژ برای تغییر سیگنال در سطح استفاده می شود.

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

مرحله 3: PCB & Electronics

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

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

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

ساده ترین کار این است که ابتدا اجزاء را در قسمت جلویی ، سپس در پشت انجام دهید و با اجزای سوراخ کار را تمام کنید. هنگام انجام این کار ، PCB هنگام لحیم کاری سخت ترین قطعات تکان نمی خورد. آخرین قطعه ای که باید لحیم شود ماژول بلوتوث است.

همه اجزاء را می توان لحیم کرد ، به جز 2 جک موز ، که در مرحله بعدی آنها را نصب می کنیم!

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

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

با ساخت PCB ، می توانیم به سراغ کیس برویم. من بطور خاص PCB را در اطراف قاب آلومینیومی 20x50x80mm (https://www.aliexpress.com/item/Alumin-PCB-Instr…) طراحی کردم ، بنابراین استفاده از قاب دیگر توصیه نمی شود. با این حال ، شما همیشه می توانید یک قاب را با ابعاد مشابه چاپ کنید.

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

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

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

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

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

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

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

  1. ارسال داده به برنامه
  2. خواندن داده ها از برنامه
  3. اندازه گیری ولتاژ
  4. اندازه گیری جریان
  5. دکمه نظرسنجی

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

قبل از اینکه تراشه از طریق USB برنامه ریزی شود ، بوت لودر باید سوزانده شود. این کار از طریق درگاه ISP/ICSP (هدرهای 3x2 مرد) از طریق برنامه نویس ISP انجام می شود. گزینه ها AVRISPMK2 ، USBTINY ISP یا arduino به عنوان ISP هستند. مطمئن شوید که برد تغذیه می شود و دکمه 'burn bootloader' را فشار دهید.

اکنون می توانید کد را از طریق درگاه USB C روی برد بارگذاری کنید (زیرا تراشه دارای بوت لودر است). هیئت مدیره: Arduino Micro Programmer: AVR ISP / AVRISP MKII اکنون می توانیم نگاهی به تعامل بین Arduino و رایانه داشته باشیم.

مرحله 6: برنامه Android

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

ما در حال حاضر یک منبع تغذیه کاملاً کاربردی داریم ، اما هنوز راهی برای کنترل آن وجود ندارد. بسیار آزار دهنده. بنابراین ما یک برنامه Android برای کنترل منبع تغذیه از طریق بلوتوث ایجاد می کنیم.

این برنامه با برنامه مخترع برنامه MIT ساخته شده است. همه فایلها می توانند برای کلون و اصلاح پروژه گنجانده شوند. ابتدا برنامه همراه MIT AI2 را در تلفن خود بارگیری کنید. در مرحله بعد ، فایل.aia را در وب سایت AI وارد کنید. این همچنین به شما امکان می دهد برنامه را با انتخاب "ساخت> برنامه (ارائه کد QR برای.apk)" در تلفن خود بارگیری کنید.

برای استفاده از برنامه ، دستگاه بلوتوث را از لیست انتخاب کنید: به عنوان ماژول HC-05 نشان داده می شود. هنگام اتصال ، همه تنظیمات را می توان تغییر داد و خروجی منبع تغذیه را می توان خواند.

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

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

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

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

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

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

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

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

مرحله 8:

تصویر
تصویر
تصویر
تصویر
تصویر
تصویر

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

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

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

توصیه شده: