সুচিপত্র:

Arduino LTC6804 BMS - Part 2: ব্যালেন্স বোর্ড: 5 টি ধাপ
Arduino LTC6804 BMS - Part 2: ব্যালেন্স বোর্ড: 5 টি ধাপ

ভিডিও: Arduino LTC6804 BMS - Part 2: ব্যালেন্স বোর্ড: 5 টি ধাপ

ভিডিও: Arduino LTC6804 BMS - Part 2: ব্যালেন্স বোর্ড: 5 টি ধাপ
ভিডিও: Lithium-Ion Battery Management System | BMS | LTC6804-2 2024, নভেম্বর
Anonim
Arduino LTC6804 BMS - Part 2: ব্যালেন্স বোর্ড
Arduino LTC6804 BMS - Part 2: ব্যালেন্স বোর্ড

পার্ট 1 এখানে

একটি ব্যাটারি ম্যানেজমেন্ট সিস্টেম (বিএমএস) সেল ভোল্টেজ, ব্যাটারি কারেন্ট, সেল তাপমাত্রা ইত্যাদি সহ গুরুত্বপূর্ণ ব্যাটারি প্যাকের পরামিতিগুলি বোঝার কার্যকারিতা অন্তর্ভুক্ত করে।, অথবা অন্যান্য উপযুক্ত ব্যবস্থা নেওয়া যেতে পারে। পূর্ববর্তী একটি প্রকল্পে (https://www.instructables.com/id/Arduino-LTC6804-Battery-Management-System/) আমি আমার বিএমএস ডিজাইন নিয়ে আলোচনা করেছি, যা রৈখিক প্রযুক্তি LTC6804 মাল্টিসেল ব্যাটারি মনিটর চিপ এবং একটি Arduino মাইক্রোকন্ট্রোলারের উপর ভিত্তি করে । এই প্রকল্প ব্যাটারি প্যাক ব্যালেন্সিং যোগ করে BMS প্রকল্প প্রসারিত করে।

ব্যাটারি প্যাক সমান্তরাল এবং/অথবা সিরিজ কনফিগারেশনে পৃথক কোষ থেকে তৈরি করা হয়। উদাহরণস্বরূপ, 8p12s প্যাক 8 টি সমান্তরাল-সংযুক্ত কোষের 12 টি সিরিজ-সংযুক্ত সেট ব্যবহার করে নির্মিত হবে। প্যাকটিতে মোট 96 টি কোষ থাকবে। সেরা পারফরম্যান্সের জন্য সমস্ত 96 কোষের ঘনিষ্ঠভাবে মিলিত বৈশিষ্ট্য থাকা উচিত, তবে, কোষগুলির মধ্যে সর্বদা কিছু পার্থক্য থাকবে। উদাহরণস্বরূপ, কিছু কোষের অন্যান্য কোষের তুলনায় কম ক্ষমতা থাকতে পারে। প্যাকটি চার্জ হওয়ার সাথে সাথে, নিম্ন ক্ষমতা সম্পন্ন কোষগুলি বাকী প্যাকের আগে তাদের সর্বোচ্চ নিরাপদ ভোল্টেজে পৌঁছাবে। বিএমএস এই উচ্চ ভোল্টেজ সনাক্ত করবে এবং আরও চার্জিং বন্ধ করবে। ফলাফলটি হবে যে যখন সবচেয়ে দুর্বল কোষের উচ্চ ভোল্টেজের কারণে বিএমএস চার্জিং বন্ধ করে দেয় তখন বেশিরভাগ প্যাক পুরোপুরি চার্জ হয় না। স্রাবের সময় অনুরূপ গতিশীলতা ঘটতে পারে, যখন উচ্চ ক্ষমতা সম্পন্ন কোষ সম্পূর্ণরূপে স্রাব করতে পারে না কারণ BMS লোড সংযোগ বিচ্ছিন্ন করে যখন দুর্বল ব্যাটারি তার কম ভোল্টেজের সীমাতে পৌঁছায়। অতএব প্যাকটি তার দুর্বলতম ব্যাটারির মতোই ভাল, যেমন একটি চেইন তার দুর্বলতম লিঙ্কের মতো শক্তিশালী।

এই সমস্যার একটি সমাধান হল ব্যালেন্স বোর্ড ব্যবহার করা। প্যাকের ভারসাম্য রক্ষার জন্য অনেক কৌশল থাকলেও, প্যাকটি পূর্ণ চার্জের কাছাকাছি হলে সহজতম 'প্যাসিভ' ব্যালেন্স বোর্ডগুলি সর্বোচ্চ ভোল্টেজ কোষের কিছু চার্জ বন্ধ করার জন্য ডিজাইন করা হয়েছে। যদিও কিছু শক্তি নষ্ট হয়, প্যাকটি সামগ্রিকভাবে আরও শক্তি সঞ্চয় করতে পারে। একটি মাইক্রোকন্ট্রোলার দ্বারা নিয়ন্ত্রিত একটি প্রতিরোধক/সুইচ সংমিশ্রণের মাধ্যমে কিছু শক্তি অপচয় করে রক্তপাত করা হয়। এই নির্দেশযোগ্য একটি পূর্ববর্তী প্রকল্প থেকে arduino/LTC6804 BMS এর সাথে সামঞ্জস্যপূর্ণ একটি প্যাসিভ ব্যালেন্সিং সিস্টেম বর্ণনা করে।

সরবরাহ

আপনি পিসিবি থেকে ব্যালেন্স বোর্ড পিসিবি অর্ডার করতে পারেন এখানে:

www.pcbway.com/project/shareproject/Balance_board_for_Arduino_BMS.html

ধাপ 1: অপারেশনের তত্ত্ব

কার্যপ্রণালীর তত্ত্ব
কার্যপ্রণালীর তত্ত্ব

LTC6804 ডেটশীটের পৃষ্ঠা 62 কোষের ভারসাম্য নিয়ে আলোচনা করে। দুটি বিকল্প আছে: 1) উচ্চ কোষ থেকে বর্তমান রক্তপাতের জন্য অভ্যন্তরীণ এন-চ্যানেল MOSFETS ব্যবহার করা, অথবা 2) রক্তের স্রোত বহনকারী বাহ্যিক সুইচগুলি নিয়ন্ত্রণ করতে অভ্যন্তরীণ MOSFETS ব্যবহার করা। আমি দ্বিতীয় বিকল্পটি ব্যবহার করি কারণ আমি অভ্যন্তরীণ সুইচগুলি ব্যবহার করার চেয়ে উচ্চতর কারেন্ট পরিচালনা করতে আমার নিজের রক্তপাত সার্কিট ডিজাইন করতে পারি।

অভ্যন্তরীণ মোসফেটগুলি পিন এস 1-এস 12 এর মাধ্যমে পাওয়া যায় যখন কোষগুলি পিন সি 0-সি 12 ব্যবহার করে অ্যাক্সেস করা হয়। উপরের চিত্রটি 12 টি অভিন্ন রক্তপাত সার্কিটগুলির মধ্যে একটি দেখায়। যখন Q1 চালু করা হয়, তখন C1 থেকে R5 এর মাধ্যমে কারেন্ট প্রবাহিত হবে, কোষের কিছু চার্জ অপসারণ করে। একটি LED যোগ করা হয়েছে যাতে ব্যবহারকারী দেখতে পারে কোন কোষ কোন সময়ে ভারসাম্য বজায় রাখছে।

পিন S1-S12 CFGR4 এবং CFGR5 রেজিস্টার গ্রুপের প্রথম 4 বিট দ্বারা নিয়ন্ত্রিত হয় (LTC6804 ডেটশীটের পৃষ্ঠা 51 এবং 53 দেখুন)। এই রেজিস্টার গ্রুপগুলি Arduino কোডে (নিচে আলোচনা করা হয়েছে) ফাংশন ব্যালেন্স_সিএফজিতে সেট করা আছে।

ধাপ 2: পরিকল্পিত

পরিকল্পিত
পরিকল্পিত

বিএমএস ব্যালেন্স বোর্ডের জন্য পরিকল্পিত Eগল সিএডি ব্যবহার করে ডিজাইন করা হয়েছিল। এটা মোটামুটি সহজবোধ্য। প্রতিটি ব্যাটারি প্যাক সিরিজ সেগমেন্টের জন্য একটি ব্লিড সার্কিট রয়েছে। সুইচগুলি LP6804 থেকে JP2 হেডারের মাধ্যমে সংকেত দ্বারা নিয়ন্ত্রিত হয়। JP1 হেডারের মাধ্যমে ব্যাটারি প্যাক থেকে রক্ত প্রবাহিত হয়। মনে রাখবেন যে, রক্তের প্রবাহ পরবর্তী নিম্ন ব্যাটারি প্যাক অংশে প্রবাহিত হয়, তাই উদাহরণস্বরূপ, C9 C8- তে রক্তপাত করে, ইত্যাদি। Arduino Uno ieldাল প্রতীকটি 3 ধাপে বর্ণিত PCB লেআউটের জন্য পরিকল্পিতভাবে স্থাপন করা হয়েছে। zip ফাইলে। নিম্নলিখিত অংশগুলির তালিকা (কিছু কারণে Instructables ফাইল আপলোড বৈশিষ্ট্য আমার জন্য কাজ করছে না …)

পরিমাণ মান ডিভাইস প্যাকেজ অংশ বিবরণ

12 LEDCHIPLED_0805 CHIPLED_0805 LED1, LED2, LED3, LED4, LED5, LED6, LED7, LED8, LED9, LED10, LED11, LED12 LED 12 BSS308PEH6327XTSA1 MOSFET-P SOT23-R Q1, Q2, Q3, Q4, Q5, Q5, Q5, Q9, Q10, Q11, Q12 P-Channel Mosfet 2 PINHD-1X13_BIG 1X13-BIG JP1, JP2 PIN HEADER 12 16 R-US_R2512 R2512 R5, R7, R9, R11, R13, R15, R17, R19, R21, R23, R25, R27 প্রতিরোধক, আমেরিকান প্রতীক 12 1K R-US_R0805 R0805 R4, R6, R8, R10, R12, R14, R16, R18, R20, R22, R24, R26 RESISTOR, আমেরিকান প্রতীক 12 200 R-US_R0805 R0805 R1, R2, R3, R28, R29, R30, R31, R32, R33, R34, R35, R36 RESISTOR, আমেরিকান প্রতীক

ধাপ 3: পিসিবি লেআউট

পিসিবি লেআউট
পিসিবি লেআউট

লেআউট বেশিরভাগ প্রধান বিএমএস সিস্টেমের নকশা দ্বারা নির্ধারিত হয় যা একটি পৃথক নির্দেশযোগ্য (https://www.instructables.com/id/Arduino-LTC6804-Battery-Management-System/) এ আলোচিত হয়। শিরোনাম জেপি 1 এবং জেপি 2 বিএমএস -এর সাথে মিলিত হেডারের সাথে মিলিত হতে হবে। মোসফেটস, ব্লিড রেসিস্টার এবং এলইডিগুলিকে আর্জুইনো ইউনো শিল্ডে যুক্তিসঙ্গতভাবে সাজানো হয়েছে Eগল সিএডি ব্যবহার করে গারবার ফাইল তৈরি করা হয়েছিল এবং পিসিবিগুলি তৈরি করার জন্য সিয়েরা সার্কিটের কাছে পাঠানো হয়েছিল।

সংযুক্ত ফাইল "Gerbers Balance Board.zip.txt" আসলে Gerbers ধারণকারী একটি জিপ ফাইল। আপনি কেবল ফাইলের নামের.txt অংশটি মুছে ফেলতে পারেন এবং তারপর এটি একটি সাধারণ জিপ ফাইলের মতো আনজিপ করতে পারেন।

আমাকে একটি বার্তা পাঠান যদি আপনি একটি PCB পেতে চান, আমি এখনও কিছু বাকি থাকতে পারে।

ধাপ 4: পিসিবি সমাবেশ

একটি ETB ET সিরিজ 0.093 "স্ক্রু ড্রাইভার" টিপ এবং 0.3 মিমি সোল্ডার সহ একটি Weller WESD51 তাপমাত্রা নিয়ন্ত্রিত সোল্ডারিং স্টেশন ব্যবহার করে ব্যালেন্স বোর্ড PCB গুলি হাতে বিক্রি করা হয়েছিল। যদিও ছোট টিপস জটিল কাজের জন্য ভাল মনে হতে পারে, তারা তাপ ধরে রাখে না এবং আসলে কাজটিকে আরও কঠিন করে তোলে। সোল্ডারিংয়ের আগে পিসিবি প্যাড পরিষ্কার করতে একটি ফ্লাক্স পেন ব্যবহার করুন। 0.3 মিমি সোল্ডার হ্যান্ড সোল্ডারিং এসএমডি পার্টসের জন্য ভাল কাজ করে। একটি প্যাডে কিছুটা সোল্ডার রাখুন এবং তারপরে একটি টুইজার বা এক্স-অ্যাক্টো ছুরি দিয়ে অংশটি রাখুন এবং সেই প্যাডটি বন্ধ করুন। অবশিষ্ট প্যাড তারপর অংশ সরানো ছাড়া soldered করা যাবে। নিশ্চিত করুন যে অংশটি বা পিসিবি প্যাডগুলি অতিরিক্ত গরম করবেন না। যেহেতু বেশিরভাগ উপাদান এসএমডি মান দ্বারা মোটামুটি বড়, পিসিবি একত্রিত করা মোটামুটি সহজ।

ধাপ 5: কোড

কোড
কোড

সম্পূর্ণ Arduino কোডটি উপরের লিঙ্কযুক্ত পূর্ববর্তী নির্দেশনায় সরবরাহ করা হয়েছে। এখানে আমি সেলের দিকে আপনার দৃষ্টি আকর্ষণ করব যা কোষের ভারসাম্য নিয়ন্ত্রণ করে। উপরে উল্লিখিত হিসাবে, S1-S12 CFGR4 দ্বারা নিয়ন্ত্রিত হয় এবং CFGR5 নিবন্ধক গোষ্ঠীর প্রথম 4 বিটগুলি LTC6804 (LTC6804 ডেটশীটের পৃষ্ঠা 51 এবং 53 দেখুন) দ্বারা নিয়ন্ত্রিত হয়। আরডুইনো কোডের লুপ ফাংশন সর্বোচ্চ ভোল্টেজ ব্যাটারি প্যাক সেগমেন্ট সনাক্ত করে এবং ভেরিয়েবল সেলম্যাক্স_আই -তে তার নম্বর রাখে। যদি CellMax_i এর ভোল্টেজ CELL_BALANCE_THRESHOLD_V এর চেয়ে বেশি হয়, তাহলে কোডটি উচ্চ সেগমেন্টের সংখ্যা, cellMax_i পাস করে ভারসাম্য_ cfg () ফাংশনকে কল করবে। ফাংশন balance_cfg উপযুক্ত LTC6804 রেজিস্টারের মান নির্ধারণ করে। LTC6804_wrcfg এ একটি কল তারপর এই মানগুলিকে IC- এ লিখে সেলম্যাক্স_আই এর সাথে যুক্ত S পিন চালু করে।

প্রস্তাবিত: