مستشعر موضع مفتاح ضوء الطوارئ

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


أحد الحلول تحت القطع.


خلفية


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

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

أود بشدة أن يكون لدي تحت تصرفي مولد قوي مع ICE ، قادر على توفير الطاقة العادية للشقة بأكملها ، ولكن كان عليّ التخلي عن هذه الفكرة. في منزل خاص ، لم يكن من الممكن طرح السؤال على الإطلاق ، ولكن الشقة هي شيء آخر تمامًا.

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

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

باختصار ، ماتت الفكرة مع المولد ، بشكل صريح ولم يولد. من الخيارات الحقيقية المتبقية ، بقيت البطاريات فقط.

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

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

لفترة وجيزة حول اختيار نوع البطارية


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

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

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

في البداية ، فكرت هكذا: "لماذا لا الليثيوم؟ شباب عصري أنيق. مختومة ، موفرة للطاقة ، متينة ". ولكن عندما نظرت إلى الأسعار ، خفت حماسي الليثيوم بشكل ملحوظ. أظهر بحث سريع بالاشتراك مع الحساب المدرسي أنه حتى البكم الصيني "البكم" البالغ 26650 بنكًا (بالطبع) الأكثر أمانًا 5000 مللي أمبير سيكلف خمس مرات أكثر من البطارية الحمضية من نفس استهلاك الطاقة. وإذا اخترت شيئًا ليس من أسفل السعر تم فرزه حسب السعر ، فإن الفرق يصل بسهولة إلى 8-10 مرات.

وكيف يمكنك تعويض هذا الاختلاف الكبير في القيمة؟

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

بالطبع ، "الليثيوم" جيد ، ولكن مع النهج الصحيح سيستمر لفترة أطول. لكن عشر مرات؟

في نفس الوقت ، على الجانب الآخر من المقياس ، الانفجار المحتمل للبطاريات ذات المصدر غير المعروف ، خوارزمية شحن أكثر تعقيدًا ، مشاكل في التخلص (يعرف كل شخص بلا مأوى مكان استخدام بطارية الرصاص لتحقيق الربح ، في حين أن الليثيوم أكثر تعقيدًا حتى الآن).

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

, , . , , , .

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

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

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

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

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

الحرب الحالية في شقة واحدة


بعد بعض الطمأنينة الأخلاقية الناجمة عن القرار النهائي بشأن نوع البطارية ، ظهر سبب جديد على الفور للتفكير بعناية.

دعني أذكرك بأنني كنت أرغب في البداية في الحصول على مولد تيار متناوب لـ 230 فولت. ومع ذلك ، بعد التوفيق مع الواقع الموضوعي والتحول العقلي إلى البطاريات ، قادني الجمود في التفكير بالفعل إلى السوق الصينية المعروفة عبر الإنترنت من أجل اختيار محول DC إلى AC مناسب. وفي عملية دراسة الخصائص ، ظهر مصطلح "موجة جيبية معدلة" ، الذي تم نسيانه ، ثم ظهر على السطح أولاً ، ثم بدأ الفطرة السليمة في طرح أسئلة غير مريحة.

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

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

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

باختصار ، هذه هي السلاسة التي جاءت بها الفكرة لاستخدام شبكة التيار المباشر المنخفض الجهد كبديل. وبعد حساب تقريبي للخسائر في الأسلاك ، تحول 12 (13.8) V الأولي إلى 24 (27.6) V. أكثر عملية.

في البداية كنت أرغب في أخذ 36 (41.4) ب ، ولكن بعد دراسة خصائص بعض المكونات الإلكترونية التي كنت أخطط لاستخدامها للعمل مع كل هذا الاقتصاد ، كان علي أن أتحكم في شهيتي.

وهكذا ، في الأسلاك البديلة مع مقطع عرضي من 3.5 مم 2 من النحاس النقي ، تم تطبيق الجهد في نهاية المطاف من بطاريتين للسيارات متصلة في سلسلة.

, . ( ) . , .

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


بالنسبة لهذه المنافذ ، تم تصنيع محولات الكمبيوتر المحمول ، وخفض الجهد إلى 18-20 فولت المطلوب ومجهزة بالموصلات المقابلة. من الواضح أن الكعب كان مصنوعًا من شحن USB المعتاد بجهد 5 فولت لكل شيء صغير. حسنًا ، فقط في حالة ، تم شراء زوج من المحولات الصغيرة 24/230 فولت ، بقوة 50 و 200 واط.

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

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

إضاءة


لذلك ، عند توصيل الشقة بالتوازي مع الأسلاك الرئيسية ، تم رسم أسلاك شبكة DC بديلة بجهد 24 (27.6) فولت.من بين أمور أخرى ، تم لف حلقة تتكون من زوج من هذه الأسلاك في كل صندوق تبديل ثم مع أسلاك شبكة 230 فولت أدى إلى أضواء السقف (إذا كان هناك العديد في الغرفة ، فإن الأسلاك البديلة تؤدي إلى واحد فقط).

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

على أي حال ، هذه أكثر جمالية من مشكلة تقنية ، والآن هي شيء آخر.

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

في النهاية ، كان التحدي الذي واجهني هو إنشاء جهاز معين يمكنه فصل ثلاث ولايات عن بعضها البعض:

  • التيار المتردد موافق ← إطفاء أضواء الطوارئ.
  • تم إلغاء تنشيط شبكة التيار المتردد ، وأغلقت جهات اتصال المفتاح ← قم بتشغيل ضوء الطوارئ.
  • تم إلغاء تنشيط شبكة التيار المتردد ، جهات اتصال المفتاح مفتوحة ← قم بإطفاء ضوء الطوارئ.

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

  1. يجب أن تكون إدارة كل من الإضاءة الرئيسية وحالات الطوارئ شفافة تمامًا من هيئة إدارة واحدة ، ولا توجد "مزرعة جماعية" للأزرار الإضافية.
  2. , , , .
  3. , .
  4. – , .
  5. - .
  6. ( ), .
  7. .

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

المستشعر


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

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

يعتمد عمل المشابك الحالية ، وهي أداة مفيدة جدًا لأي كهربائي ، على نفس المبدأ.

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

يجب أن يكون "معلمة الإدخال" الثانية في جهازي المستقبلي هي موضع جهات اتصال التبديل.

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

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

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

«» , . , , , . , , , .

باختصار ، كان من الضروري التوصل إلى طريقة لا تتطلب تعديل المفتاح. وتم العثور على هذه الطريقة.

أعلاه ، وصفت محول تيار ، والذي يسمح لك بتحديد وجود تيار متناوب في سلك دون تمزق وتماس كلفاني. لكن أي محول هو جهاز ثنائي الاتجاه (على عكس مستشعر Hall نفسه) ، فإن الملفات الأولية والثانوية قابلة للتبادل.

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

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


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


لذا ، ما هو مطلوب لتنظيم مثل هذا الكاشف:

  1. محول الحالي.
  2. محول الجهد الناتج متر.
  3. مصدر التيار المتردد عالي التردد.
  4. يتدفق العداد الحالي من خلال لف محول عكسي.

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

تم اختيار عدد الدورات ومقاومة الحمل المثلى تجريبيًا وليس حقيقة أنني لم أفوت أفضل نسبة. نتيجة للتجارب ، ظهر البناء التالي:

  • قلب من الفريت مع نفاذية 10000 ، حجم 10x6x4 مم.
  • لف 30 لفة بسلك مطلي بالمينا 0.25 مم.
  • الحمل النشط للملف هو 1 كيلو أوم.

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

أكدت تجارب متعددة حقيقة الفكرة وتم الحصول على النتائج التالية:

  • في وضع المحول الحالي ، تبين أن معامل الإرسال يبلغ حوالي مليفولت لكل واط من الطاقة المتدفقة (الجهد 220-230 فولت).
  • في وضع المسبار ، اعتمادًا على تردد وقدرة التسرب ، وصل الفارق الحالي مع جهات الاتصال المغلقة والمفتوحة للمفتاح مرتين إلى ثلاث مرات.

هذا كل شئ. كلتا القيمتين أكثر من كافية للتثبيت الموثوق به لكل من التيار المتدفق ، ولتحديد موضع جهات اتصال التبديل. الأمر متروك فقط للتنفيذ المحدد.


في الحديد


على عكس معظم تصميماتها الأخرى ، هنا بالفعل في المراحل الأولى من المداولات ، تقرر استخدام وحدة التحكم الدقيقة على الفور. بناءً على الاحتياجات والخبرة ، وقع الاختيار على ATtiny13A. تحتوي هذه الشريحة على ADC ، مع القدرة على استخدام مصدر مرجعي داخلي يبلغ 1.1 فولت بدلاً من جهد الإمداد. هناك PWM عظيم لتوليد إشارة السبر. ، والتي تبين لاحقًا أنها مهمة ، هناك EEPROM التي تسمح لك بتخزين بيانات المعايرة.

, « , , - «» , ».

. . . , , , .

هنا تحتاج إلى الجمع على الأقل بين مولد ، ومقياس جهد ، ونوع من الزناد لتخزين الحالة الحالية بين القياسات. بشكل عام ، أي رسم تخطيطي يتطلب ثلاث حالات على الأقل فقط على "القلب" ، وتبين أن وحدة التحكم أكثر عملية.

الجهد من المحول الحالي مع حمولة 10-20 واط هو 10-20 mV وهو صغير جدًا لتزويده بإدخال DAC بحد أقصى 1.1 فولت.وبالتالي ، بالإضافة إلى وحدة التحكم ، تحتاج أيضًا إلى مكبر للصوت بمعامل نقل يبلغ حوالي 100 لزيادة جهد الإشارة على الأقل حتى مئات الملي فولت.

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

لن أعذب القارئ بخيارات وسيطة وأعطي الرسم التخطيطي النهائي للجهاز على الفور.


هنا ، فإن جهد التيار المستمر من خلال المنظم الخطي الاقتصادي LM2931-5.0 يغذي وحدة التحكم. فيما يتعلق بالإسكان والوظائف والصبغ ، فإن هذا المثبت مشابه لموديل 78L05 الشهير ، ولكنه يختلف عنه في الاستهلاك الداخلي المنخفض (حوالي 500 μA عند حمولة 10 مللي أمبير) وتحمل أكبر للانفجارات القصيرة لجهد الإدخال. إذا كنت تخطط للعمل بجهد لا يزيد عن 20 فولت ، يمكنك استخدام تناظرية أكثر اقتصادا حتى LP2950-5.0.

LP2950-5.0 30 . 24 . - , , , , . 50%, 100%.

لا يظهر المحول في الرسم التخطيطي ، لكن لفه متصل بالدبابيس TR1 و TR2.

كعنصر رئيسي لتبديل الحمل ، يتم استخدام ترانزستور MOS 2-SJ196 منخفض القناة الحالي (يجب أن يكون تيارًا يصل إلى 1 أمبير كافيًا لأي مصباح LED) ، ولكن يمكن استخدام أي تيار آخر مناسب للدبابيس والتيار الأقصى والحد الأقصى لجهد التصريف.

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

في هذه المرحلة ، يمكنك استخدام مكبرات الصوت ، ولكن من حيث التفاصيل كان الكسب ضئيلًا ، وعليك أن تنسى العمل على ترددات أعلى من عدة مئات من الكيلو هيرتز.

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

مبدأ تشغيل المستشعر بسيط. أولاً ، ضع في اعتبارك خوارزمية الإجراءات اللازمة لقياس التيار في السلك.

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

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

يتم قياس شحنة المكثف C8 باستخدام ADC1 ومن قيمة الجهد التي تم الحصول عليها يتم استخلاص استنتاج حول التيار "الأساسي" المتدفق عبر المحول.

يتم تنفيذ الاستشعار النشط بشكل مختلف. أولاً ، يُترجم الدبوس PB0 إلى أداة حل PWM ، ويتم تغذية الإشارة إليه بتردد من مئات الكيلو هرتز إلى وحدات ميغاهيرتز. يتم تخفيف هذه الإشارة إلى حد ما بواسطة مقسم مقاوم ويتم تغذيتها إلى المحول الحالي المتعرج عند النقطة TR1. يقوم المكثف C1 ، جنبًا إلى جنب مع الذراع العلوية للمقسم R4 ، بإنشاء مرشح تمرير منخفض بتردد قطع يبلغ حوالي 1.5 ميجاهرتز ، مما يقلل من مستوى التوافقيات عالية التردد من النبضات المستطيلة.

بعد المرور عبر لف المحول ، تصل إشارة المسبار من النقطة TR2 إلى نفس مكبر الصوت والكاشف ، وبالمثل في النهاية يتم شحن المكثف C8 إلى جهد يتناسب مع الحمل في الدائرة "الخارجية" للمحول. بنفس الطريقة ، يتم قياس شحنة المكثف باستخدام ADC لوحدة التحكم الدقيقة.

الآن تفسيرات لبعض "فضفاضة".

تم تصميم المقاوم R5 للحد من الجهد عند بوابة مفتاح الطاقة ، والتي يجب أن لا تتجاوز MOSFETs ذات الجهد المنخفض عادة 20 فولت. في حالتي ، تحتوي شبكة DC على جهد يصل إلى 30 فولت ، مما يملي الحاجة إلى مقسم 1: 3 ، والذي يتم الحصول عليه بالاقتران مع R3. عند تشغيله من مصدر أقل من 20 فولت ، ليست هناك حاجة إلى المقاوم R5 (تم استبداله بطائر).

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

, 50 2 , . , . . 100 , , . .

تشكل المقاومات R4 و R1 فجوة جهد ، والتي تعادل تقريبًا الجهد المتناوب بخمسة فولت عند خرج PWM مع جهد الخرج للمحول الحالي.

يقوم المكثف C8 ، كما ذكرنا سابقًا ، بتجميع الجهد المراد قياسه. من الأفضل إذا كان مكثف عالي الجودة مع الحد الأدنى من تيار التسرب.

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

«» AVR RESET GPIO. , . , . , , , , RESET.

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

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

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


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

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

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

يجب أن يكون الإختناقات L1 و L2 قوة ، جرح بسلك ذو سمك ملحوظ على الدمبل أو نوى نوع الحلقة. لا يمكن استخدام ملفات الاختناق في التصميم المحوري "المقاوم".

الانعطاف الأساسي للمحول الحالي هو قطعة من الأسلاك الملولبة من خلال الحلقة ملحومة إلى نقطتين TR3 و TR4 على اللوحة. من الأفضل إذا كان هذا السلك محميًا ، أثناء توصيل الشاشة بـ TR5 و TR6 على جانبي الحلقة.

TR6 , . - , . , .


يتم إرفاق رمز البرنامج الثابت وملف HEX المجمع في نهاية المقالة جنبًا إلى جنب مع الدائرة وتخطيط لوحة الدوائر المطبوعة.

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

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

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

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

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

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

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

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

في حالة استمرار عدم رغبة المستشعر في المعايرة برمز مزدوج في النهاية ، يجب محاولة زيادة سعة C10.

مجموع


اتضح أن الجهاز بسيط للغاية وصغير الحجم بما يكفي ليلائم صندوق التبديل ، ولكن لا يعني أنه من السهل جدًا تكوينه. بالطبع ، لا يعتمد على مكون "المنزل الذكي" الحديث ، لأنه لا يحتوي على 5G ، ولا يتوفر التحكم في السحابة ، وحتى شبكة WiFi العادية مع GPS. ومع ذلك ، تؤدي ثمانية من هذه الأجهزة وظيفتها الوحيدة ، ولا يُطلب منها أي شيء آخر في ظروف التعتيم.

رمز مصدر البرنامج الثابت (Atmel Studio 7)
#define F_CPU 9600000 //   (  : avrdude.exe -U lfuse:w:0x7a:m -U hfuse:w:0xff:m)

#include <avr/io.h>
#include <avr/wdt.h>
#include <avr/sleep.h>
#include <avr/interrupt.h>
#include <util/delay.h>
#include <avr/eeprom.h>

//#define PROTEUS

typedef unsigned char bool; //   
#define true  (0 == 0)
#define false (0 != 0)

#define MAX_U10BIT 0b0000001111111111 //      

#define INTERVAL         3   //  , 
#define CUR_MINIMAL_DIFF 50  //      , LSB
#define RES_MINIMAL_DIFF 50  //      , LSB
#define FREQ_DIV_OFFSET  2   //     
#define FREQ_MAXIMAL_DIV 6   //     

EEMEM unsigned int  EEPROM_cur_edge;
EEMEM unsigned int  EEPROM_res_edge; 
EEMEM unsigned char EEPROM_frequency_dividor;

unsigned int cur_edge, res_edge; //   ,   EEPROM    
unsigned char frequency_dividor; //   ,   EEPROM    
unsigned char clk = 0; //   watchdog
bool tp_reset = false; //   TP1  TP2

//   
static void init_vars(void) {
  if(MCUSR & (1 << EXTRF)) { // ,       TP1  TP2
    tp_reset = true;
    MCUSR &= ~(1 << EXTRF); //  EXTRF       ,   
  }
}

//  
static void init_pins(void) {
  DDRB |= (1 << PB0) | (1 << PB1) | (1 << PB2) | (1 << PB4); //       
}

//    watchdog
static void init_interrupts(void) {
  sleep_enable(); //   

  WDTCR = (1 << WDCE) | (1 << WDE); //  watchdog
  WDTCR = (1 << WDTIE) | WDTO_1S; // watchdog      ,  1 

  sei(); //  
}

//   
void init_settings(void) {
  cur_edge = eeprom_read_word(&EEPROM_cur_edge); //   
  res_edge = eeprom_read_word(&EEPROM_res_edge); //   
  frequency_dividor = eeprom_read_byte(&EEPROM_frequency_dividor); //   
}

//   
static void toggle_load(bool state) {
  if(state) {
    PORTB |= (1 << PB1);
  } else {
    PORTB &= ~(1 << PB1);
  }
}

//  
static void blink_load(unsigned char count) {
  for(unsigned char i = 0; i < count; ++i) {
    _delay_ms(200);
    toggle_load(true);
    _delay_ms(200);
    toggle_load(false);
  }
}

//   (   )
static void stop(void) {
  set_sleep_mode(SLEEP_MODE_PWR_DOWN);
  while(true) sleep_cpu();
}

//   
static void toggle_amp(bool state) {
  if(state) {
    PORTB |= (1 << PB4); //     PB4
    _delay_ms(250);      //       200 .
  } else {
    PORTB &= ~(1 << PB4);
  }
}

//  
static void toggle_lpf(bool state) {
  if(state) {
    DDRB |= (1 << PB3); //  PB3    (  "0")     C2
  } else {
    DDRB &= ~(1 << PB3); //  PB3    ( )   C2  
  }
}

//    
static void toggle_gen(bool state) {
  if(state) {
    TCCR0A |= (1 << COM0A0) | (1 << WGM01); //    ( )    OC0A      OCR0A
#ifndef PROTEUS
    TCCR0B |= (1 << CS00); //    1
#else
    TCCR0B |= (1 << CS00) | (1 << CS02); //    1024
#endif
    OCR0A = FREQ_DIV_OFFSET + frequency_dividor; //   ,         OC0A
  } else {
    TCCR0A = 0; //  
  }
}

//  
static void toggle_adc(bool state) {
  if(state) {
    DDRB &= ~(1 << PB2); //  PB2    ( )
    ADMUX = 0b01 | (1 << REFS0); // PB2, 1.1v reference
    ADCSRA = (1 << ADPS0) | (1 << ADPS1) | (1 << ADPS2) | //       = 128 (75 )
             (1 << ADIE) |  //    
             (1 << ADEN);   //  
  } else {
    ADCSRA = 0; //  
    DDRB |= (1 << PB2); //  PB2    (  "0")   C8
    _delay_ms(50); //      C8
  }
}

//  
static unsigned int do_adc(void) {
  set_sleep_mode(SLEEP_MODE_ADC); //   "" 
  do {
    sleep_cpu(); //      ,      ,   
  } while(ADCSRA & (1 << ADSC)); //        ,  

  return ADC;
}

/*
//  
static void blink_bin(unsigned int value, unsigned char count) {
  for(unsigned char i = 0; i < count; ++i) {
    _delay_ms(1000);
    toggle_load(true);
    if(value & (1 << (count - i - 1))) {
      _delay_ms(500);
    } else {
      _delay_ms(50);
    }
    toggle_load(false);
  }
}
*/

//   
static unsigned int get_current(void) {
  unsigned int cur;

  toggle_lpf(true); //  
  _delay_ms(150);
  toggle_adc(true); //  
  _delay_ms(50); //    C8
  cur = do_adc(); //  
  toggle_adc(false);
  toggle_lpf(false);

  return cur;
}

//    
static unsigned int get_resistance(void) {
  unsigned int res;

  toggle_gen(true); //  
  _delay_ms(150);
  toggle_adc(true); //  
  _delay_ms(50); //    C8
  toggle_gen(false); //   ,   C8     
  res = do_adc(); //     
  toggle_adc(false);

  return MAX_U10BIT - res; //      ,      
}

//   
static bool is_current(void) {
  return (get_current() >= cur_edge);
}

//   
static bool is_toggled_on(void) {
  return (get_resistance() <= res_edge);
}

//  
static void do_main(void) {
  toggle_amp(true); //  

  if(is_current()) {
    toggle_load(false); //  ,  
  } else {
    if(is_toggled_on()) {
      toggle_load(true); //  ,  
    } else {
      toggle_load(false); //  ,  
    }
  }

  toggle_amp(false); //  
}

//    
static bool first_on(void) {
  return (frequency_dividor == 0xff); //   EEPROM   0xFF,        FREQ_MAXIMAL_DIV
}

//  
static void calibrate(void) {
  unsigned int cur_off, cur_on, res_off, res_on, res_on_tmp, res_off_array[FREQ_MAXIMAL_DIV + 1], diff, max_diff, frequency_dividor_tmp;

  blink_load(5); //    ,    
  _delay_ms(7500); //      

  toggle_amp(true); //  

  cur_off = get_current(); //      ( )

  //      
  for(frequency_dividor = 0; frequency_dividor <= FREQ_MAXIMAL_DIV; ++frequency_dividor) {
    res_off_array[frequency_dividor] = get_resistance();
  }

  blink_load(2); //     
  _delay_ms(7500); //      

  cur_on = get_current(); //     

  blink_load(3); //     
  _delay_ms(7500); //      

  
  res_off = MAX_U10BIT;
  res_on = MAX_U10BIT;
  frequency_dividor_tmp = 0;
  max_diff = 0;
  //      
  for(frequency_dividor = 0; frequency_dividor <= FREQ_MAXIMAL_DIV; ++frequency_dividor) {
    res_on_tmp = get_resistance();

    //   ,      
    if(res_off_array[frequency_dividor] > res_on_tmp) {
      diff = res_off_array[frequency_dividor] - res_on_tmp;
      if(diff > max_diff) {
        res_off = res_off_array[frequency_dividor];
        res_on = res_on_tmp;
        frequency_dividor_tmp = frequency_dividor;
        max_diff = diff;
      }    
    }
  }
  frequency_dividor = frequency_dividor_tmp;

  toggle_amp(false); //  
  
  if(cur_on > cur_off + CUR_MINIMAL_DIFF) { 
    cur_edge = cur_off + (cur_on - cur_off) / 2; //    ,     
 
    if(res_on + RES_MINIMAL_DIFF < res_off) {
      res_edge = res_off - (res_off - res_on) / 2; //    ,      

      //   
      eeprom_write_word(&EEPROM_cur_edge, cur_edge);
      eeprom_write_word(&EEPROM_res_edge, res_edge);
      eeprom_write_byte(&EEPROM_frequency_dividor, frequency_dividor);
      
      blink_load(1); //  
    } else {
      blink_load(2); //    
      if(first_on()) stop();
    }
  } else {
    blink_load(3); //    
    if(first_on()) stop();
  }
}

ISR(WDT_vect) {
  WDTCR |= (1 << WDTIE); //    watchdog   ""    
}

EMPTY_INTERRUPT(ADC_vect); //     ,     

int main(void)
{
  init_vars();
  init_pins();       
  init_interrupts(); 
  init_settings();

  if(tp_reset || first_on()) {
    calibrate(); //          
  }

  //  
  while(true) {
    set_sleep_mode(SLEEP_MODE_PWR_DOWN);
    sleep_cpu(); //   watchdog

    if(++clk >= INTERVAL) {
      do_main(); //  
      clk = 0;
    }
  }
}


أرشفة بمخطط ، وأسلاك ، ومشروع Atmel Studio 7 الكامل

All Articles