جدول المحتويات:

المصباح الشمسي القابل لإعادة الشحن الذي يعمل بنظام XOD: 9 خطوات (بالصور)
المصباح الشمسي القابل لإعادة الشحن الذي يعمل بنظام XOD: 9 خطوات (بالصور)

فيديو: المصباح الشمسي القابل لإعادة الشحن الذي يعمل بنظام XOD: 9 خطوات (بالصور)

فيديو: المصباح الشمسي القابل لإعادة الشحن الذي يعمل بنظام XOD: 9 خطوات (بالصور)
فيديو: طفل يولد من الموت😈 وعلي عاتقه بناء تراث عشيرته المندثر🔥🔥والثأر لهم🤯 والصعود للقمة😈🔥 في ملحمة دموية🔥🔥 2024, شهر نوفمبر
Anonim
المصباح الشمسي القابل لإعادة الشحن الذي يعمل بنظام XOD
المصباح الشمسي القابل لإعادة الشحن الذي يعمل بنظام XOD

تتوفر مصابيح الحدائق / الممرات الشمسية الرخيصة في معظم متاجر السلع المنزلية والأجهزة. ولكن كما يقول المثل القديم ، عادة ما تحصل على ما تدفعه مقابل. دارات الشحن والإضاءة المعتادة التي يستخدمونها بسيطة ورخيصة ، لكن ناتج الضوء الذي تحصل عليه ليس مثيرًا للإعجاب (وهو بالكاد يكفي لأي شخص يستخدم الممشى الخاص بك ليرى إلى أين يذهبون!)

هذه هي محاولتي لتصميم وحدة إضاءة خارج الشبكة وهذا تحسن كبير ، بينما لا يزال صنعه غير مكلف نسبيًا. من خلال إعطائها بعض "العقول". XOD.io هو IDE جديد متوافق مع النظام الأساسي لتطوير Arduino ، حيث يمكنك "كتابة" التعليمات البرمجية بيانياً. تقوم البيئة بنقل الرسم التخطيطي الخاص بك إلى C ++ الحديثة ، والتي تعتبر فعالة بشكل ملحوظ في إنشاء كود مضغوط ، وتولد مصدرًا متوافقًا تمامًا مع مخزون Arduino IDE دون الحاجة إلى مزيد من التبعيات الخارجية. وبهذه الطريقة يمكن استخدام المتحكمات الدقيقة الصغيرة وغير المكلفة ذات موارد تخزين البيانات والبرنامج المحدودة للقيام بمهام معقدة.

يوضح هذا المشروع كيف يمكن استخدام وحدتي تحكم دقيق ATTiny85 متوافقين مع Arduino يعملان معًا لإدارة متطلبات الطاقة للمصباح. يعالج المعالج الأول بيانات البيئة المستشعرة من الأجهزة الخارجية ، ويحاول الثاني حصد أكبر قدر ممكن من الطاقة من الشمس خلال النهار ، ثم يتحكم في إضاءة مصباح LED عالي الطاقة أثناء تفريغ بطارية التخزين ليلاً. يقوم المعالج الثاني بإنجاز وظيفته من خلال تنفيذ مضغوط للتحكم "المنطق الضبابي". تم تطوير برنامج كلا الرقائق حصريًا ضمن بيئة XOD.

الخطوة 1: المواد المطلوبة

Arduino IDE ، أحدث إصدار ، مع ملحق ATTinyCore مثبت من مدير "Boards"

مبرمج Sparkfun USBTinyISP ATTiny ، 11801 أو صفحة منتج Sparkfun المكافئة

محول تعزيز الجهد المنخفض القابل للتعديل من Pololu مع إدخال إيقاف التشغيل ، U1V11A أو صفحة منتج Pololu المكافئة

أبيض عالي الطاقة أو RGB LED مع غرفة التبريد أو الأنود المشترك أو Adafruit 2524 أو صفحة منتج Adafruit المكافئة

Microchip ATTiny85 في حزمة DIP ذات 8 أسنان ، صفحتان من منتج الفئران

8 مقابس DIP IC ، 2

مكثف تخزين كبير ، 16 فولت 220 فائق التوهج

مكثف الإخراج ، 6.3 فولت 47 فائق التوهج

المقاومات الحالية ، 50 أوم 1/4 واط

مقاومات سحب i2c ، 4.7 كيلو ، 2

مقاومات مستشعرات الجهد للوحة ، 1/4 وات ، 100 ك ، 470 ك

مقاوم للحس الحالي ، تسامح 10 أوم 1⁄2 واط 1٪

المكثفات الالتفافية ، 0.1 فائق التوهج سيراميك ، 2

2 3.7 فولت 100 مللي أمبير بطارية ليثيوم أيون قابلة لإعادة الشحن ، PKCELL LP401 أو ما يعادلها

مقبس إدخال قابس الأسطوانة للوحة ، 1

كتل طرفية صغيرة 3 × 3 بوصة لوحة لحام ، وسلك رفيع صلب صلب لعمل التوصيلات

يكاد يكون من المؤكد أن تكون هناك حاجة إلى مصدر طاقة من الذبذبات ، ومتعدد المقاييس ، ومنضدة للاختبار

الخطوة 2: إعداد البيئة

إعداد البيئة
إعداد البيئة

لا تدعم بيئة XOD سلسلة المعالجات ATTiny خارج الصندوق ، ولكن باستخدام مكتبتين تابعين لجهات خارجية من عالم Arduino ، من السهل إضافة دعم لهذه السلسلة من AVRs. الخطوة الأولى هي تثبيت مكتبة "ATTinyCore" من القائمة المنسدلة "Tools → Board → Board Manager" في Arduino IDE. تأكد من أن الإعدادات كما هو موضح في الصورة المضمنة صحيحة - تذكر أنه يجب عليك الضغط على "Burn bootloader" لتغيير جهد انقطاع التيار الكهربائي وسرعة ضبط سرعة الصمامات قبل تحميل أي رمز!

الكود المصدري لهذه المكتبة متاح على:

مكتبة أخرى مفيدة يمكن الحصول عليها من المستودع هي "FixedPoints" ، وهي عبارة عن تطبيق زمن تجميعي لرياضيات النقطة الثابتة للمعالجات المدعومة من Arduino. يحتوي ATTiny على ذاكرة SRAM وذاكرة برنامج محدودة ، ويساعد كثيرًا في تقليص حجم الرسم النهائي لاستخدام عدد صحيح من 2 بايت لتخزين البيانات العامة ، بدلاً من نوع النقطة العائمة ، والذي يتطلب 4 بايت على AVR. يجب أيضًا تحسين سرعة التنفيذ نظرًا لأن ATTiny لا يحتوي على وحدة مضاعفة للأجهزة ، أو نقطة عائمة أقل بكثير للأجهزة!

كود المصدر متاح على:

سيساعد البرنامج التعليمي حول كيفية إنشاء رسومات XOD الرسومية ونقلها ونشرها على: https://github.com/Pharap/FixedPointsArduino كثيرًا في فهم كيفية إنشاء ملفات المصدر المضمنة.

الخطوة 3: نظرة عامة على التصميم

نظرة عامة على التصميم
نظرة عامة على التصميم
نظرة عامة على التصميم
نظرة عامة على التصميم

على اللوحة ، يتم توصيل اثنين من معالجات ATTiny85 عبر واجهة i2c ، ويتم استخدامهما معًا لإدارة استشعار جهد اللوحة الشمسية ، ويتدفق التيار إلى البطارية من محول التعزيز أثناء إضاءة اللوحة ، والجهد الكهربائي للبطارية ، والبطارية درجة الحرارة.

محول التعزيز عبارة عن وحدة جاهزة للاستخدام على أساس Texas Instruments TPS6120 IC ، والتي يمكن أن تأخذ جهد دخل منخفض يصل إلى 0.5 فولت وتعززه إلى أي مكان من 2 فولت إلى 5 فولت. يتكون قلب المستشعر من عدة كتل وظيفية. تبدأ الساعة الرئيسية في العمل بمجرد تطبيق الطاقة على محول التعزيز من مدخلات الألواح الشمسية. يبدأ هذا في تنفيذ المخطط ، وأول شيء هو تحديد ما إذا كانت اللوحة مضاءة بدرجة كافية لتوفير تيار الشحن للبطارية.

يتم تمرير جهد اللوحة الشمسية من خلال مرشحين رقميين ، وإذا كان أعلى من حد معين ، فيحدد النظام أن اللوحة مضاءة ويحول الساعة الرئيسية إلى شاشة استشعار التيار. هذا هو التناظرية لقناة المحول الرقمي للرقاقة ، تم تكوينه تفاضليًا ، والذي يستشعر الجهد عبر مقاومة تحمل 10 أوم 1٪ متصلة في سلسلة بين خرج محول التعزيز وإدخال البطارية. عندما لا تضيء اللوحة ، يرسل ATTiny إشارة إلى ATTiny الثاني يخبرها بمراقبة طاقة LED بدلاً من طاقة الشحن ، وإيقاف تشغيل محول التعزيز وعزل الإدخال حتى لا ترسل البطارية التيار للخارج عبر اللوحة.

النواة الثانية ATTiny هي المكان الذي يتم فيه تنفيذ جهاز التحكم LED ونظام مراقبة شحن البطارية. يتم إرسال بيانات الجهد والجهد للبطارية وشحن البطارية إلى هذا المركز للمعالجة من خلال شبكة المنطق الضبابي ، والتي تحاول إنشاء إشارة PWM مناسبة لتطبيقها على دبوس SHTDN ، وبالتالي التحكم في مقدار التيار المرسل إلى البطارية لشحنه عند الإضاءة - وهو شكل أساسي لتتبع نقطة الطاقة القصوى (MPPT.) كما يتلقى إشارة من قلب المستشعر تخبره بما إذا كان يجب تشغيل مؤشر LED أو إيقاف تشغيله ، اعتمادًا على ناتج يوم المستشعر الأساسي / تقليب الليل.

عندما يكون مؤشر LED نشطًا في الليل ، يراقب ATTiny بيانات جهد البطارية المرسلة إليه من رفيقه ، ومستشعر درجة الحرارة الخاص به على الشريحة ، للحصول على تقدير تقريبي لمقدار الطاقة التي يتم دفعها إلى LED (ينخفض جهد البطارية وتزداد درجة حرارة الرقاقة مع سحب التيار من المسامير.) تحاول شبكة المنطق الضبابي المرتبطة بتصحيح LED PWM إصدار حكم على مقدار طاقة البطارية التي لا تزال متوفرة ، وتقليل شدة LED مع نفاد البطارية.

الخطوة 4: إنشاء تصحيحات مخصصة من مكتبة XOD Core

إنشاء تصحيحات مخصصة من مكتبة XOD Core
إنشاء تصحيحات مخصصة من مكتبة XOD Core
إنشاء تصحيحات مخصصة من مكتبة XOD Core
إنشاء تصحيحات مخصصة من مكتبة XOD Core

تم استخدام العديد من عقد التصحيح المخصصة لهذا التصميم ، يمكن إنشاء بعضها بسهولة بالكامل من عقد XOD المضمنة ، وبعضها تم تنفيذه في C ++.

أول عقدتين مخصصتين للتصحيح في الصور هو تطبيق لمرشح متوسط متحرك أسي. هذا مرشح رقمي منخفض التمرير يستخدم في سلسلة في الرسم ، مرة واحدة لتصفية جهد اللوحة الشمسية الواردة للنواة المنطقية ، ومرة أخرى لتغذية المشغل الذي يحدد الإضاءة المحيطة طويلة المدى. راجع إدخال ويكيبيديا حول التنعيم الأسي.

بنية العقدة في الصورة هي مجرد تمثيل رسومي مباشر لوظيفة النقل في المقالة ، مرتبطة ببعضها البعض باستخدام روابط من المدخلات المناسبة إلى المخرجات. توجد عقدة تأجيل من المكتبة تسمح بإنشاء حلقة ملاحظات (سيحذرك XOD إذا قمت بإنشاء حلقة ملاحظات دون إدخال تأخير في الحلقة ، كما هو موضح في نموذج تنفيذ XOD.) مع هذه التفاصيل ، تم الاهتمام بـ التصحيح يعمل بشكل جيد ، الأمر بسيط.

عقدة التصحيح المخصصة الثانية هي تباين في فليب فليب المخزون المتضمن في XOD ، والذي يتم تغذيته بجهد اللوحة المصفاة. إنه يغلق مرتفعًا أو منخفضًا اعتمادًا على ما إذا كانت إشارة الإدخال أعلى أو أقل من عتبة معينة. تُستخدم العقد المصبوبة لتحويل قيم المخرجات المنطقية إلى نوع بيانات النبض لتحريك التقليب ، حيث تنتقل الحالة من الأقل إلى الأعلى. نأمل أن يكون تصميم عقدة التصحيح هذه واضحًا إلى حد ما من لقطة الشاشة.

الخطوة 5: إنشاء بقع مخصصة باستخدام C ++

إنشاء بقع مخصصة باستخدام C ++
إنشاء بقع مخصصة باستخدام C ++

بالنسبة للمتطلبات الخاصة حيث تكون وظيفة العقدة المطلوبة معقدة للغاية بحيث لا يمكن تصويرها بسهولة بيانياً ، أو التي تعتمد على مكتبات Arduino ليست أصلية في بيئة Arduino الأسهم ، فإن XOD تجعل من السهل على أولئك الذين لديهم بعض معرفة C / C ++ كتابة أجزاء صغيرة الحجم من رمز يمكن دمجها بعد ذلك في تصحيح مثل أي عقدة أخرى أنشأها المستخدم أو مخزون. يؤدي تحديد "إنشاء تصحيح جديد" من قائمة الملفات إلى إنشاء ورقة فارغة للعمل معها ، ويمكن سحب عقد الإدخال والإخراج من قسم "العقد" في المكتبة الأساسية. بعد ذلك يمكن سحب العقدة "not-Implement-in-xod" ، وعند النقر عليها ستظهر محرر نصوص حيث يمكن تنفيذ الوظيفة المطلوبة في C ++. يتم تناول كيفية التعامل مع الحالة الداخلية والوصول إلى منافذ الإدخال والإخراج من كود C ++ هنا.

كمثال على تنفيذ التصحيحات المخصصة في C ++ ، يتم استخدام تصحيحتين مخصصتين أخريين لنواة السائق لوضع تقدير لجهد إمداد قلب المحرك ودرجة الحرارة الأساسية. إلى جانب شبكتها غير الواضحة ، يتيح ذلك تقديرًا تقريبيًا لطاقة البطارية المتبقية المتاحة لتشغيل مصابيح LED عندما يحل الظلام.

يتم أيضًا تغذية رقعة مستشعر درجة الحرارة بإخراج مستشعر جهد الإمداد للحصول على تقدير أفضل - يتيح لنا استشعار درجة الحرارة الأساسية الحصول على تقدير تقريبي لمقدار الطاقة التي يتم حرقها في مصابيح LED ، ودمجها مع قراءة جهد الإمداد عندما تشغيل البطارية تقديرًا تقريبيًا إضافيًا لمقدار طاقة البطارية المتبقية. لا يجب أن تكون فائقة الدقة ؛ إذا كان المركز "يعرف" أن مصابيح LED تسحب الكثير من التيار ولكن جهد البطارية ينخفض بسرعة ، فمن المحتمل أن نقول إن طاقة البطارية لن تدوم لفترة أطول ، وقد حان الوقت لإغلاق المصباح.

الخطوة السادسة: البناء

بناء
بناء
بناء
بناء
بناء
بناء

لقد قمت ببناء المشروع على قطعة صغيرة من لوحة النماذج الأولية مع وسادات نحاسية للأجزاء عبر الفتحات. يساعد استخدام مآخذ للدراسات المرحلية كثيرًا في البرمجة / التعديل / الاختبار ؛ يحتوي USBTiny ISP من Sparkfun على مقبس مماثل على اللوحة الخاصة به ، لذا فإن برمجة الشريحتين تتكون فقط من توصيل المبرمج بمنفذ USB للكمبيوتر الشخصي ، وتحميل رمز XOD المنقولة من ملفات Arduino.ino المضمنة مع إعدادات اللوحة والمبرمج المناسبة ، و ثم قم بإزالة الرقائق برفق من مقبس المبرمج وإدخالها في مقابس لوح الحماية.

تأتي وحدة المحول المعزز المعتمد على Pololu TPS6120 على لوحة رفع ملحومة في اللوحة الأولية على رؤوس الدبوس ، لذلك من الممكن توفير مساحة عن طريق تركيب بعض المكونات تحتها. في النموذج الأولي الخاص بي ، وضعت مقاومين سحب 4.7 كيلو أسفله. هذه مطلوبة حتى يعمل ناقل i2c بين الرقائق بشكل صحيح - لن تعمل الاتصالات بشكل صحيح بدونها! على الجانب الأيمن من اللوحة يوجد مقبس الإدخال لقابس اللوحة الشمسية ومكثف تخزين الإدخال. من الأفضل محاولة توصيل المقبس وهذا الغطاء معًا مباشرةً عبر "مسارات" لحام ، وليس سلك توصيل ، للحصول على مسار مقاومة منخفضة قدر الإمكان. ثم يتم استخدام عمليات اللحام الصلب لتوصيل الطرف الموجب لمكثف التخزين مباشرة بطرف جهد الدخل لوحدة التعزيز ، والدبوس الأرضي لوحدة التعزيز مباشرة بالدبوس الأرضي للمقبس.

على اليمين واليسار من مآخذ اثنين من ATTinys هي 0.1 فائق التوهج ديسبايك / ديغليتشينج المكثفات. هذه المكونات مهمة أيضًا لعدم استبعادها ، ويجب توصيلها بدبابيس الطاقة والأرضية من خلال مسار قصير ومباشر قدر الإمكان. يوجد المقاوم ذو الإحساس الحالي 10 أوم على اليسار ، وهذا متصل بما يتماشى مع الإخراج من محول التعزيز وكل جانب متصل بدبوس إدخال مستشعر أساسي - تم إعداد هذه المسامير لتعمل بمثابة ADC تفاضلي لقياس بشكل غير مباشر التيار في البطارية. يمكن إجراء التوصيلات بين دبابيس IC لحافلة i2c ودبوس إيقاف تشغيل محول التعزيز ، وما إلى ذلك باستخدام سلك ربط على الجانب السفلي من اللوحة الأولية ، وسلك التوصيل ذو النواة الصلبة الرقيق جدًا يعمل بشكل رائع لهذا الغرض. إنه يجعل التغييرات أسهل ويبدو أيضًا أكثر إتقانًا من الركض بين الثقوب في الأعلى.

كانت وحدة LED التي استخدمتها عبارة عن وحدة RGB ثلاثية الألوان ، وكانت خطتي هي تنشيط جميع مصابيح LED الثلاثة لإنتاج اللون الأبيض عندما تكون البطارية مشحونة بالكامل تقريبًا ، وتتلاشى ببطء مؤشر LED الأزرق إلى اللون الأصفر مع نفاد الشحن. لكن هذه الميزة لم يتم تنفيذها بعد. سيعمل مصباح LED أبيض واحد بمقاوم واحد للتيار الكهربائي بشكل جيد أيضًا.

الخطوة 7: الاختبار ، الجزء 1

الاختبار ، الجزء الأول
الاختبار ، الجزء الأول

بعد برمجة كل من ATTiny ICs مع ملفات الرسم المضمنة عبر مبرمج USB من بيئة Arduino ، يساعد ذلك في اختبار أن النوى في النموذج الأولي يعملان بشكل صحيح قبل محاولة شحن البطارية من اللوحة الشمسية. من الناحية المثالية ، يتطلب هذا منظار الذبذبات الأساسي ، ومتعدد المقاييس ، وإمدادات الطاقة على مقاعد البدلاء.

أول شيء يجب التحقق منه هو أنه لا توجد دوائر قصيرة في أي مكان على اللوحة قبل توصيل الدوائر المتكاملة والبطارية واللوحة في مآخذها لتجنب التلف المحتمل! أسهل طريقة للقيام بذلك هي استخدام مصدر طاقة منضدة يمكنه تقييد تيار الإخراج إلى قيمة آمنة في حالة حدوث هذا الموقف. لقد استخدمت مجموعة إمداد مقاعد البدلاء الخاصة بي عند 3 فولت وحد 100 مللي أمبير متصل بأطراف مقبس إدخال الألواح الشمسية إلى خيوط إمداد الطاقة الإيجابية والسلبية. مع عدم تثبيت أي شيء بخلاف المكونات السلبية ، يجب ألا يكون هناك أي سحب حالي مسجل على الشاشة الحالية لمصدر الطاقة للتحدث عنها. إذا كان هناك تدفق كبير للتيار ، أو دخل التيار في الحد الحالي ، فقد حدث خطأ ما ويجب فحص اللوحة للتأكد من عدم وجود توصيلات أو مكثفات موصلة بأسلاك غير صحيحة ذات قطبية معكوسة.

الخطوة التالية هي التأكد من أن محول التعزيز يعمل بشكل صحيح. يوجد مقياس جهد لولبي على اللوحة ، مع استمرار توصيل مصدر الطاقة وأربعة من دبابيس المحول متصلة بشكل مناسب ، يجب تشغيل مقياس الجهد باستخدام طرف مفك براغي صغير حتى يقرأ الجهد عند طرف الخرج للوحدة حوالي 3.8 إلى 3.9 فولت. لن تتغير قيمة التيار المباشر هذه أثناء التشغيل ، سيتحكم قلب المحرك في متوسط جهد الخرج من خلال نبض دبوس إيقاف تشغيل الوحدة.

الخطوة 8: الاختبار ، الجزء 2

الاختبار ، الجزء الثاني
الاختبار ، الجزء الثاني
الاختبار ، الجزء الثاني
الاختبار ، الجزء الثاني

الشيء التالي الذي يجب التحقق منه هو أن اتصال i2c يعمل بشكل جيد ، مع تشغيل اللوحة خارج طاقة المقعد ، يمكن تثبيت مستشعر IC الأساسي. على راسم الذبذبات ، يجب أن تكون هناك إشارات نابضة على كل من الدبوس 5 والدبوس 7 من الشريحة المادية ، ومحرك i2c على الشريحة الذي يحاول إرسال البيانات إلى رفيقه. بعد إيقاف التشغيل ، يمكن تثبيت قلب المحرك وفحص الاتصال باستخدام راسم الذبذبات مرة أخرى ، يجب أن يكون هناك تسلسل أكبر من النبضات المرئية على كلا الخطين. هذا يعني أن الرقائق تتواصل بشكل صحيح.

يساعد في شحن البطارية قليلاً للاختبار الكامل النهائي. يمكن أيضًا استخدام إمداد مقاعد البدلاء لإنجاز ذلك ، مع ضبط الحد الحالي على حوالي 50 مللي أمبير والجهد لا يزال عند 3.8 فولت ، مما يترك بطارية LiPo متصلة مباشرة لبضع دقائق.

تتمثل الخطوة الأخيرة في اختبار النظام بالكامل - مع توصيل كل شيء إذا كانت اللوحة مغطاة لمدة عشر أو 15 ثانية ، يجب أن يتم تشغيل الضوء عبر خرج PWM الخاص بجهاز التشغيل. مع وجود اللوحة في ضوء الشمس الساطع ، يجب شحن البطارية من خرج محول التعزيز. يمكن فحص شبكة المنطق الضبابي بشكل غير مباشر لمعرفة ما إذا كانت تعمل بشكل صحيح من خلال النظر إلى خط PWM الذي يقود دبوس إيقاف تشغيل محول التعزيز ؛ مع زيادة الإضاءة مع البطارية ذات حالة الشحن المنخفضة ، يجب أن يزداد عرض النبض ، مما يدل على أنه مع توفر المزيد من الطاقة من ضوء الشمس ، يشير قلب السائق إلى إرسال المزيد من الطاقة إلى البطارية!

الخطوة 9: الملحق على المنطق الضبابي

الملحق على المنطق الضبابي
الملحق على المنطق الضبابي

المنطق الضبابي هو أسلوب تعلم آلي يمكن استخدامه في التحكم في أنظمة الأجهزة حيث يوجد عدم يقين في العديد من معلمات النظام الذي يتم التحكم فيه ، مما يجعل إدخالًا واضحًا لحل التحكم في المخرجات للهدف الذي يصعب تدوينه رياضيًا. يتم تحقيق ذلك من خلال استخدام القيم المنطقية التي تقع في مكان ما بين 0 (خطأ) و 1 (صواب) ، والتعبير عن عدم اليقين في قيمة تشبه إلى حد كبير الطريقة التي قد يكون بها الإنسان ("صحيح في الغالب" أو "غير صحيح حقًا") والسماح بمنطقة رمادية بين العبارات التي تكون 100٪ صحيحة و 100٪ خطأ. والطريقة التي يتم بها تحقيق ذلك هي من خلال أخذ عينات من متغيرات الإدخال التي يجب أن يعتمد عليها القرار و "تشويشها".

إن قلب أي نظام منطقي غامض هو "ذاكرة ارتباطية ضبابية". هذا يذكرنا بالمصفوفة ، حيث في حالة دائرة شحن البطارية ، يتم تخزين مجموعة من القيم 3 × 3 تتراوح بين 0 و 1. يمكن أن ترتبط القيم الموجودة في المصفوفة تقريبًا بكيفية تفكير الإنسان حول ما يجب أن يكون عليه عامل PWM الذي يتحكم في دبوس SHTDN لمحول التعزيز ، اعتمادًا على كيفية تأهل وظيفة العضوية أعلاه لمجموعة معينة من المدخلات. على سبيل المثال ، إذا كان جهد إدخال اللوحة مرتفعًا ، ولكن التيار الذي يتم سحبه إلى البطارية منخفض ، فمن المحتمل أن يعني ذلك أنه يمكن سحب المزيد من الطاقة وأن إعداد PWM ليس هو الأمثل ويجب زيادته. على العكس من ذلك ، إذا انخفض جهد اللوحة ولكن الشاحن لا يزال يحاول دفع تيار كبير إلى طاقة البطارية ، فسيتم إهداره أيضًا ، لذلك سيكون من الأفضل تقليل إشارة PWM إلى محول التعزيز. بمجرد "تشويش" إشارات الإدخال في مجموعة ضبابية ، يتم ضربها بهذه القيم ، على غرار الطريقة التي يتم بها ضرب المتجه في مصفوفة ، لإنشاء مجموعة محولة تمثل مدى كثافة "المعرفة" الموجودة في الخلية من المصفوفة في دالة التجميع النهائية.

استخدام العقدة "غير المُنفَّذة في xod" التي تسمح لعُقد XOD التي تنفذ وظائف مخصصة معقدة للغاية بحيث يصعب صنعها من الكتل الأساسية للمخزون ، وقليلًا من نمط C ++ على غرار Arduino ، والذاكرة الترابطية ، ووظيفة الترجيح ، و " fuzzifier "على غرار الكتل الموصوفة في هذا المرجع: https://www.drdobbs.com/cpp/fuzzy-logic-in-c/184408940 سهلة الصنع ، وتجربتها أسهل بكثير.

موصى به: