دوائر منظمات PWM على المتحكمات الدقيقة. منظم الطاقة على المتحكم الدقيق ATtiny2313 - منظمات الطاقة - مزودات الطاقة

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

الدائرة، على الرغم من وجود متحكم PIC18LF2550، إلا أنها سهلة التكرار ويمكن تقسيمها إلى 3 أجزاء:

مولد PWM

يقوم المتحكم الدقيق بتوليد نبضات واضحة بالشكل المطلوب ودورة التشغيل، مما يبسط الدائرة إلى حد كبير. هناك زرين لزيادة وتقليل الطاقة. يذهبون إلى الأطراف 3 و 5 من شريحة PIC18LF2550. اعتمادًا على عرض النبضة، يومض مؤشر LED بشكل أبطأ أو أسرع، حتى تتمكن من تقييم دورة العمل بصريًا. إذا كان مؤشر LED مضاءًا بالكامل، تكون الطاقة 100%، وإذا انطفأت، تكون دورة التشغيل 0%.

إمدادات الطاقة متحكم

يبلغ استقرار MK 3.3 فولت، لذلك اعتمادًا على ترانزستور الإخراج، يمكنك استخدام مصدر طاقة من 3.7 إلى 25 فولت. تردد التبديل هو 32 كيلو هرتز، وتنقسم مدة النبضة إلى 256 خطوة، بما في ذلك التشغيل والإيقاف الكامل.

تبديل التحميل

برنامج تشغيل ترانزستور MOSFET هو 2N3904 العادي. يمكن أن يكون ترانزستور الطاقة نفسه أي MOSFET مناسب لقناة N، وليس بالضرورة كما هو الحال في دائرة 80NF55L.

تم تصميم هذا الإصدار من وحدة التحكم PWM ذات 4 قنوات 8 بت باستخدام وحدة التحكم الدقيقة ATmega16. يحتوي الجهاز على واجهة RS232 للتحكم من الكمبيوتر، وواجهة للوحة مفاتيح ذات 12 زرًا و4 قنوات تناظرية 10 بت لتوصيل مقاييس الجهد. توجد شاشة LCD ذات 4 أسطر لعرض أوضاع التشغيل والمعلمات الحالية. بالإضافة إلى ذلك، تحتوي وحدة التحكم PWM على: 4 مخارج لمصابيح LED للإشارة إلى أوضاع التحكم (يمكن استخدامها كمخرجات للأغراض العامة)، و3 مخارج للأغراض العامة.

يحتوي الجهاز على إعدادات مرنة للغاية. على سبيل المثال، يمكن التحكم في معلمات تشغيل قنوات PWM باستخدام أوامر من جهاز كمبيوتر، أو باستخدام عناصر التحكم التناظرية (مقاييس الجهد) أو باستخدام لوحة المفاتيح (مع واجهة مستخدم معروضة على مؤشر LCD). يمكن أيضًا التحكم في مؤشر LCD نفسه عبر RS232؛ ويمكن عرض الإعدادات والأوضاع الحالية بتنسيق رقمي أو رسومي.

الخصائص الرئيسية للجهاز:

  • 4 قنوات PWM، القرار 8 بت، تردد PWM - 31 كيلو هرتز؛
  • واجهة RS232 للتحكم والمراقبة من جهاز الكمبيوتر؛
  • حل دائرة بسيط مع الحد الأدنى من المبلغ العناصر الخارجية;
  • لوحة مفاتيح ذات 12 مفتاحًا؛
  • إمكانية التعديل التناظري.
  • ما يصل إلى 7 خطوط إخراج للأغراض العامة؛
  • شاشة LCD ذات 4 أسطر؛
  • التحكم في شاشة LCD عبر الواجهة التسلسلية؛
  • قائمة مخصصة؛
  • إعدادات مرنة؛
  • تنفيذ برنامج للمخازن المؤقتة FIFO لتسريع العمل.

التحكم في مخرجات الأغراض العامة (بما في ذلك. مؤشرات LED) من جهاز كمبيوتر (RS232)، يتمتع المستخدم أيضًا بالقدرة على قراءة تاريخ ضغطات المفاتيح على لوحة المفاتيح (آخر 32 ضغطة على المفاتيح، أو مباشرة بعد الضغط على المفتاح).

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

الرسم المنطقي للجهاز.

رسم تخطيطي للجهاز

حل الدائرة بسيط للغاية. لضبط توقيت وحدة التحكم الدقيقة، يتم تحديد مرنان كوارتز بتردد 8 ميجاهرتز، ويتم تجميع مصدر الطاقة +5.0 فولت على استقرار متكامل LM7805، محاثة 10 μH ومكثف 100 nF - يشكلان مرشحًا يمنع التداخل من التبديل في الدوائر التناظرية. يتم استخدام محول المستوى المنطقي MAX232 لتنفيذ الواجهة التسلسلية. مؤشر LCD على مجموعة شرائح Hitachi (HD44780) بدقة 20x4 أو 40x2. يتم تنفيذ وحدة التحكم في الإضاءة الخلفية للمؤشر على ترانزستور MJE3055T (يمكن استخدام نظير أرخص). مصفوفة لوحة المفاتيح، قياسية، 4×3.

بعد تطبيق الطاقة، يقوم المتحكم الدقيق بتعيين آخر المعلمات المحفوظة في EEPROM: أوضاع التحكم في قناة PWM (التحكم التناظري، التحكم في الواجهة التسلسلية، التحكم في لوحة المفاتيح)، تنسيق عرض المعلمة على المؤشر (التحكم في الواجهة التسلسلية، عرض قيمة PWM، عرض القيمة التناظرية )، بالإضافة إلى حالة خطوط الإخراج للأغراض العامة وحالة الإضاءة الخلفية للشاشة.

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

عند تطبيق جهد الإمداد، يعرض المؤشر تحية (يمكن للمستخدم تغيير التحية)، وبعد ذلك، وفقًا للإعدادات الحالية، يعرض المعلمات الحالية وقيم مخرجات PWM، وقيم القنوات التناظرية.

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

مثال على تنفيذ مراحل الإخراج لوحدة تحكم PWM

متاح عدد كبيرحلول الدوائر المختلفة، ولكن في حالتنا سنقوم بتحليل العديد من خيارات PWM التحكم في سطوع LED() على المتحكم الدقيق PIC .

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

الخيار الأول.عنصر تحكم أساسي في سطوع LED حيث يتم تغيير سطوع مصابيح LED عن طريق تدوير المقبض المتغير، بينما يتغير السطوع من 0 إلى 100%

يتم ضبط سطوع مصابيح LED عن طريق إزالة الإمكانات من المقاوم المتغير R1. يذهب هذا الجهد المتغير إلى الإدخال RA0، الذي يعمل كمدخل تناظري ومتصل بمدخل AN2 الخاص بوحدة التحكم الدقيقة ADC. يتحكم طرف PWM RA1 في مفتاح الطاقة الموجود على الترانزستور V1.

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

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

تعمل المقاومة R4 وBAV70 على الحماية من الجهد الزائد والتوصيل غير الصحيح لمصدر الطاقة. المكثفات C1 وC2 مصنوعة من السيراميك وتعمل على تقليل الضوضاء النبضية والتشغيل الموثوق لمثبت LM75L05.

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

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

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

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

لدي القليل من الخبرة في راديو الهواة. عندما كنت طفلاً، باستخدام كتاب بوريسوف، قمت بتجميع العديد من أجهزة الاستقبال والغمامات باستخدام الهزازات المتعددة. ثم تبعتها هوايات وأنشطة أخرى.
ثم لاحظت بالصدفة Arduino، النماذج الشهيرة المنحوتة لمحطات الأرصاد الجوية والروبوتات، وأردت أتمتة كل شيء يمكنني الحصول عليه باستخدام وحدات التحكم الدقيقة. أحجام وحدات التحكم مرتبة تنازليًا من حيث الحجم وسهولة التكامل - Arduino UNO، اردوينو بروميني، ثم مجموعة من ATMega328P، سواء بالنسبة لأصغر و أجهزة بسيطةتم شراؤها ATtiny85.
لقد اشتريت Tinkies منذ أكثر من عام وجلسوا وانتظروا دورهم.

اطلب لقطة الشاشة


(كان هناك أيضًا انكماش حراري في الطلب، وبالتالي فإن السعر الإجمالي أعلى)


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

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

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

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

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

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

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

لقد قمت بتغليف اللوحة بمكواة لحام باستخدام جديلة. ملحوم الأجزاء.




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

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

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

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

سنكتب البرنامج الثابت للجهاز في بيئة مألوفة لدى الكثيرين برمجة الاردوينو، بعد إضافة دعم لوحدات التحكم الدقيقة ATtiny إليها، قم بتنزيلها وتفريغها في مجلد Arduino/hardware.

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

كل شيء يعمل كما هو متوقع، باستثناء شيء واحد - الزر المتصل بنفس القناة باستخدام مؤشر LED الأخضر لم يكن قابلاً للقراءة، وكان مؤشر LED أكثر سطوعًا بشكل ملحوظ من الزر الأحمر. أظهرت القياسات التي أجراها جهاز الاختبار أنه في حالة PB0، يتدفق أكثر من 20 مللي أمبير عبر LED كمخرج وينخفض ​​عبره 2.1 فولت فقط. وفي حالة الإدخال مع سحب داخلي للساق، يوجد 1.74 فولت فقط عند تحرير الزر و0.6 فولت عند الضغط عليه. ليس من المستغرب أن يتم قراءة 0 باستمرار، حيث أن مؤشر LED الأخضر ذو الجهد المنخفض، دون أن يتوهج، يستنزف الجهد على الساق عندما يتدفق تيار ميكرو أمبير. أصبح من الواضح الآن سبب توصيل مصباحين LED على التوالي في المقالة الأصلية.

لكن وضع مصباح LED آخر للتألق داخل الصندوق يعد أمرًا غبيًا مثل الصابورة (وتشغيله اللوحة الأماميةليست هناك حاجة أيضًا إلى حلين متطابقين) بدا وكأنه حل ملتوي إلى حد ما. فكرت في كيفية زيادة الجهد في دائرة LED وتذكرت خاصية الجهد الحالي لصمام الثنائي زينر. إذا قمنا بتوصيل صمام ثنائي زينر 2 فولت على التوالي مع مؤشر LED المقابل له (بحيث يعمل بشكل طبيعي، على الفرع العكسي لخاصية الجهد الحالي)، فسنحصل على ما نحتاجه بالضبط. عندما يضيء مصباح LED بتيار 10 مللي أمبير، ينكسر الصمام الثنائي الزينر ولا يتداخل مع تدفق التيار، ولكنه يعمل فقط على تثبيت الجهد الساقط عبره عند مستوى معين. تحتاج فقط إلى استبدال المقاوم الذي يحد من التيار، على أساس أنك تحتاج إلى قمع الجهد Ures = 5V-2.1V-2.0V = 0.9V بمقدار 10 مللي أمبير، أي. ص = 90 أوم. وعندما يتم تحويل الساق إلى الإدخال مع سحب لأعلى - بسبب انحدار الفرع المميز IV حتى انهيار الوصلة، فإن صمام ثنائي الزينر يعادل مقاومًا عالي المقاومة ومرة ​​أخرى سينخفض ​​حوالي 2 فولت عليه ، مما يؤدي إلى رفع الجهد على ساق MK عند تحرير الزر إلى 4 فولت، والذي سيتم قراءته بالفعل على أنه صحيح. عندما تضغط على الزر، سيتم سحب الساق إلى 5 فولت بواسطة مقاوم داخلي بمقاومة تبلغ حوالي 40 كيلو أوم (وفقًا لحساباتي)، وإلى الأرض بواسطة مقاوم 5 كيلو أوم (والذي سيتجاوز دائرة LED)، أي. سيكون له نفس 0.6 فولت ويعتبر خطأ.
لقد قمت بلحام صمام ثنائي الزينر على التوالي مع المقاوم وعمل الزر كما ينبغي.

الآن جاء دور التحقق من تشغيل PWM وظهرت المشاكل هنا أيضًا. أمر Arduino القياسي AnalogWrite (leg، fill) لا يريد العمل. هذا يعني أن هناك خطأ ما في مكتبة المراهقين. من المفيد الاطلاع على ورقة البيانات الموجودة على MK والإنترنت.

اتضح أنه مثير للاهتمام:
- يمكن إخراج قناتين PWM (OC0A، OC0B) إلى الأطراف 5، 6 (PB0، PB1)، كل منهما تعمل بإعداد التعبئة الخاص بها (ولكن بنفس التردد) من Timer 0؛
- يمكن إخراج قناة PWM ثالثة تعمل من المؤقت 1 إلى الأطراف 2 و3 (PB3، PB4)، ويمكن إخراج إشارة PWM المباشرة (OC1B) إلى الساق 3، ويمكن إخراج نسختها العكسية (/OC1B) إلى الساق 2. لكن الناتج يذهب إما إلى المحطة الثالثة فقط، أو إلى كليهما في وقت واحد. ونحتاج إلى PWM على الساق 2، على الأقل في الاتجاه المعاكس (نعكسه مرة أخرى في البرنامج)، لذلك سيتعين علينا تكوين الإخراج على الساقين 2 و3، ولن تمر الإشارة إلى الساق 3 فقط لأنه تم الإعلان عنها كـ مدخل.

لذلك، بقدر ما أفهم، في حزمة دعم ATtiny لـ Arduino، لا يمكن إخراج قناة PWM من Timer 1 إلا إلى المحطة 3. ومن الواضح أن إخراج نسختها العكسية كان يعتبر غير ضروري. سيتعين عليك تكوين المؤقت وPWM بنفسك (انظر الكود، الوظيفة PWM3_init)، بدلاً من استخدام AnalogWrite.

لاحظت أيضًا أنه عند إعادة ضبط Timer 1، يتم تعطيل تشغيل وظيفة millis() - وتبين أن Timer 1 يُستخدم افتراضيًا للساعة الداخلية، ولكن يمكنك إعادة ضبط الوقت على Timer 0 باستخدام تعريف الماكرو في ملف ملف Arduino\hardware\tiny\cores\tiny\core_build_options h
/* لأسباب مختلفة، يعد المؤقت 1 خيارًا أفضل للمؤقت بالمللي على المعالج "85". */ #define TIMER_TO_USE_FOR_MILLIS 0
هذا ما سنستخدمه، نظرًا لأن Timer 0 في هذا المشروع مجاني تمامًا.

نشأ سؤال أيضًا حول نطاق ضبط السرعة الذي يتم قراءته من المقاوم المتغير. مؤلف الدائرة الأصليةتمت إضافته في سلسلة مع المتغير 10K المقاوم المستمر 36K، على ما يبدو بحيث يتناسب رمز ADC مع النطاق 0-255. في واقع الأمر اتضح 0-230، وكان الحد الأقصى العائمة. لكنني أرغب بالضبط في مطابقة 0-255 للحجم الكامل للإعداد مع PWM 8 بت. للقيام بذلك، قمت بإزالة الجهد الثابت واستبدلته بوصلة عبور عند +5 فولت، وبدأ ADC في قراءة النطاق بأكمله، وتم التخلص من البتات الأربعة الأقل أهمية برمجيًا. ولماذا كانت هناك حاجة إلى التفاصيل الإضافية؟

بعد اختبار قنوات الإدخال/الإخراج، نقوم بتحميل البرامج الثابتة القتالية المكتوبة بلغة C إلى وحدة التحكم الدقيقة بيئة الاردوينواستنادًا إلى الكود المصدري الأساسي لمؤلف المخطط الأصلي.

نص البرنامج

// Attiny85 بسرعة 1 ميجاهرتز // لا تنس ضبط المؤقت على 0 للمللي، وما إلى ذلك! // Arduino\hardware\tiny\cores\tiny\core_build_options.h -> TIMER_TO_USE_FOR_MILLIS 0 #include // الاتصالات #define MODE_LED_PIN PIN_B0 #define MODE_BUT_PIN MODE_LED_PIN #define PWM_LED_PIN PIN_B3 #define AM_PIN PIN_B1 #define SP_PIN A1 #define CUR_PIN A2 // الحالات #define MODE_MANUAL 0 #define MODE_WAITING 1 #define MODE_SETUP_XX 2 #define MO DE_SETUP_MAX 3 #حدد MODE_START 4 #define MODE_DRILLING 5 #define MODE_STOP 6 // المتغيرات بايت Mode = MODE_MANUAL; بايت ModeLedVal = LOW; بايت SetPoint = 0؛ int CurrentFiltered = 0; البايت CurrentU8 = 0؛ بايت AMButton؛ بايت AMButtonFlt = LOW؛ زر وضع البايت الثابت؛ البايت الثابت ModeButtonFlt = HIGH؛ // القيمة الأولية للبايت الثابت ModeButtonOld = LOW؛ // تشغيل الاستثناءات عند بدء التشغيل static byte SetupStep = false; BlinkFromMs طويلة غير موقعة؛ StartFromMs طويلة غير موقعة؛ ModeFromMs طويلة غير موقعة؛ بايت W، W0، W1، W2، Wxx، Wmax، Uxx، Uon، Uoff؛ باطلة PWM3_init() ( // قم بإعداد PWM على PB3 (دبوس 2) باستخدام Timer 1 TCCR1 = _BV (CS11) | _BV (CS10)؛ // المقياس المسبق /4 GTCCR = _BV (COM1B0) | _BV (PWM1B)؛ // مسح OC1B عند المقارنة OCR1B = 255؛ // التعبئة الأولية 0% (استخدم الإخراج العكسي!) OCR1C = 255؛ // تردد PWM = 1 كيلو هرتز (1000000 /4 /256) void AnalogWrite_PB3(uint8_t Duty_value) ( ​​//analogWrite on PIN_B3 OCR1B = 255-duty_value؛ // تعبئة 0-255 (0-100%) (استخدم الإخراج العكسي!) بايت ScanButton(void) (// قراءة زر متصل بمخرج واحد باستخدام مؤشر LED // إصدار سريع مع استعادة الإخراج وبدون PWM، يتم تعطيل قيمة البايت، port_bak = PORTB // حفظ إخراج DDRB &= ~(1<الفاصل الزمني))( \ outvar = varname;\ )\ )\ else (\ __lastChange_##varname=millis();\ ) // التهيئة باطلة الإعداد () ( pinMode (MODE_LED_PIN، OUTPUT)؛ // الحالة الرئيسية - إشارة pinMode (PWM_LED_PIN, OUTPUT); PWM3_init(); // استعادة الإعدادات من EEPROM إذا كانت موجودة if (EEPROM.read(11)==0xAA) (Wxx = EEPROM.read(0); Wmax = EEPROM.read(1) ; Uon = EEPROM.read(2); Uoff = EEPROM.read(3); // تسارع سلس ل سرعة الخمولأو الإعداد اليدوي إذا (digitalRead(AM_PIN)==HIGH) W0 = Wxx;<=W0; W++) { analogWrite_PB3(W); W1 = W1 + 4; delay(W1); } delay(800); Mode = MODE_WAITING; } // Рабочий цикл void loop() { // Индикация текущего режима морганием switch (Mode) { case MODE_MANUAL: ModeLedVal = LOW; // выключено break; case MODE_WAITING: (ModeLedVal==HIGH) ? ModeLedVal=LOW: ModeLedVal=HIGH; // в полнакала break; case MODE_START: case MODE_DRILLING: case MODE_STOP: ModeLedVal = HIGH; // на полную break; case MODE_SETUP_XX: if ((millis()-BlinkFromMs >400)) ( // نادرًا (ModeLedVal==HIGH) ? ModeLedVal=LOW: ModeLedVal=HIGH; BlinkFromMs = millis(); )break;<< 5) - CurrentFiltered) >case MODE_SETUP_MAX: if ((millis()-BlinkFromMs > 100)) ( // غالبًا (ModeLedVal==HIGH) ? ModeLedVal=LOW: ModeLedVal=HIGH; BlinkFromMs = millis(); ) استراحة;<1В) CurrentU8 = byte (CurrentFiltered >> 5)؛< Uoff) { // Тормозим analogWrite_PB3(Wxx); Mode = MODE_STOP; } if (AMButtonFlt==LOW) Mode = MODE_MANUAL; break; case MODE_STOP: // Тормозим и ждем пока выйдем на ток ХХ if (CurrentU8 < Uon) { // Замедлились if (millis()-StartFromMs >// if >1V حتى لا يتم الخلط بينه وبين الصغيرة if ((CurrentFiltered >> 5) & 0x7F00) CurrentU8=255;


// حالة تبديل الجهاز (الوضع) (الحالة MODE_MANUAL: // التحكم اليدوي بمقبض AnalogWrite_PB3(SetPoint); if (SetupStep) Mode = MODE_SETUP_XX; if (AMButtonFlt==HIGH) ( // عند التبديل إلى الجهاز، سنقوم بذلك إبطاء AnalogWrite_PB3(Wxx); StartFromMs = millis(); Mode = MODE_START ) if (SetupStep ) Mode = MODE_SETUP_XX; =LOW) Mode = MODE_MANUAL; case MODE_DRILLING: // حفر، انتظر حتى ينخفض ​​التيار if (CurrentU8

300) // الوضع الموثوق = MODE_WAITING؛

) else ( StartFromMs = millis(); ) if (AMButtonFlt==LOW) Mode = MODE_MANUAL; استراحة؛ الحالة MODE_SETUP_XX: // ضبط سرعة الخمول Wxx = SetPoint; AnalogWrite_PB3(Wxx);

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

وبعد ذلك يتبادر إلى ذهني أن هذه الزيادات في الجهد العالي تذهب مباشرة تقريبًا إلى ADC الخاص بـ Tinka (نظرًا لوجود كاشف للسعة، يتم شحن المكثف الموجود على الساق إلى الحد الأقصى للجهدفي إبرة ويخزنها بأمان، لأن. التفريغ فقط من خلال تسرب الصمام الثنائي). لا يبدو أن تينكا ستموت بعد، ولكن ما مشكلة ساقها؟ تظهر الصكوك الجهد المستمرعلى الساق 5.2 فولت، أعلى من جهد الإمداد، لكن أين ذهب الباقي؟ نتذكر - لمكافحة الجهد الزائد، فقد تم تدريب الثنائيات خصيصًا على مصادر الطاقة "+" و"-"، والتي تنزف الفائض إلى مصدر الطاقة. لكن الثنائيات المدمجة ضعيفة ولا يجب الاعتماد عليها بشكل كبير.

نزيل المكثف اللعين ونقيس الجهد بأقدامنا - إنه يعمل! يتم تصنيع وحدات التحكم الدقيقة الموثوقة بواسطة Atmel! ومن الواضح أن سعة المكثفات كانت منخفضة، حيث تم ضخ القليل من الشحنة.

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

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

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

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

مخطط الجهاز النهائي:


تم تركيب الجهاز في مبيت، وكان دوره عبارة عن تركيب كهربائي محكم الغلق "صندوق توصيل بلاستيكي Tuso بدون أختام 120x80x50 مم، IP55 رمادي 67052 Ruvinil روسيا." كنت أرغب في العثور على مقاس أكثر تملقًا، لكن لم أتمكن من العثور على أي شيء مثل 110*60*30. من أجل عدم وضع أكاليل على الطاولة، قمت بلف المنظم مع مصدر الطاقة في كل واحد. لقد تبين أن الطوب رائع، لكننا لا نستطيع حتى أن نحمله في جيوبنا. وعلى الرغم من أنه بعد حفر بضع عشرات من الثقوب، لم يكن هناك تسخين ملحوظ لمفتاح الحقل الرئيسي، والتحويل والمثبت عند اللمس، فقد قمت بحفر القليل من التهوية في الجدار السفلي والخلفي.







منذ ذلك الحين، شاركت الآلة المزودة بالمنظم في إنشاء لوحتين إضافيتين (يمكنك معرفة مقدار الحفر المطلوب وفقًا للكلمات "AVR Fusebit Doctor". أنا سعيد جدًا بعملها.

أود أيضًا أن أشير إلى أن مثاقب الكربيد من علي لها ساق 3.2 مم ، وكانت الأطواق 3.0 و 3.5 فقط - لا يتناسب المثقاب مع أحدهما ولا يتم تثبيته في الآخر. لقد قمت بلف سلك نحاسي حول المثقاب وأدخلته بطريقة ما في 3.5 مم، لكنه لم يكن جميلًا. إذا صادف أي شخص كوليه مقاس 3.2 يبلغ قطره 6 مم (في كل مكان فقط أحزمة Dremel، مع انخفاض مستوى الذيل إلى 5 مم)، فيرجى إخباري.

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

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

واستطراد غنائي آخر حول السحابات الصغيرة.

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

تبين أن أول متجر مناسب نسبيًا كان عبارة عن متجر سلسلة
في الداخل، كانت عيني جامحة من كل أنواع الأشياء المفيدة، ولكن الحظ السيئ - أصغر البراغي كانت فقط M2.5 من نفس الطول، ولكن لا توجد صواميل وغسالات لها! لقد تأثرت ببيع المكسرات بشكل فردي مقابل 2 روبل للقطعة الواحدة وسكب كل ما تم شراؤه في كيس تي شيرت واحد (لم تكن هناك أكياس صغيرة بأحجام مختلفة). مرة أخرى، يعد تخزين الأحجام المختلفة أمرًا مكلفًا.

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

أخطط لشراء +67 أضف إلى المفضلة اعجبني الاستعراض +76 +152

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

الخصائص:

  • قناتان مستقلتان PWM (مع فصل الطور بمقدار 180 درجة)؛
  • جهد الإمداد: 8 - 20 فولت؛
  • تيار حمل التشغيل: 3.4 أمبير/قناة (مع مصدر طاقة 12 فولت يعادل 40 واط)؛
  • خسائر منخفضة في مفتاح الطاقة (مقاومة القناة المفتوحة 45 متر مكعب) ؛
  • يتيح لك تصحيح جاما الاختياري ضبط السطوع بالتساوي؛
  • الحماية من زيادة المدخلات (التصفية التناظرية والبرمجيات)؛
  • استهلاك الطاقة الداخلية أقل من 10 مللي أمبير (0.12 واط عند 12 فولت)؛
  • لا يسبب تردد PWM العالي (~18.75 كيلو هرتز) تأثيرًا اصطرابيًا وإرهاق العين عند التحكم في شريط LED.

يعتمد الجهاز على متحكم ATtiny13A، الذي يقوم بتحليل جهد الإدخال عند الأطراف PB3 وPB4، ويعيد حسابها ويخرج إشارات PWM مع الحشو المناسب إلى الأطراف PB0 وPB1. يتم إرسال هذه الإشارات إلى ترانزستورات التأثير الميداني T1 وT2، والتي بدورها تقوم بتبديل الأحمال القوية (في هذا المثال، شريط LED).

يقوم Jumper J1 بتعيين وضع تشغيل الجهاز: عندما يتم ضبطه على الموضع السفلي (وفقًا للمخطط)، فإن ملء PWM يعتمد خطيًا على الجهد عند الإدخال المقابل. عندما يتم ضبط العبور علىفي الموضع العلوي، يقوم المتحكم الدقيق بإعادة حساب قيمة تعبئة PWM المطلوبة باستخدام جدول القيم. والنتيجة هي منحنى جاما، أي يتم ضبط مستوى السطوع وفقًا لحساسية العين البشرية. يظهر الرسم البياني لملء الإخراج مقابل جهد الدخل أدناه:

الرسم البياني الأخضر - العبور J1 في الموضع السفلي، والأزرق - في الموضع العلوي

مميزات مولد PWM

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

عناصر

الدائرة ليست متطلبة من حيث الاختيار الدقيق للمكونات؛ يمكن استبدال معظم الأجزاء بأجزاء مماثلة ذات فئة مماثلة. على سبيل المثال، إذا لم يكن لديك مقاومات متغيرة بقيمة 100 كيلو أوم، فيمكنك تثبيت 50 كيلو أوم أو 500 كيلو أوم، وستستمر الدائرة في العمل بشكل صحيح. يمكن تركيب أي ترانزستور من سلسلة IRLML تقريبًا على شكل T1 وT2 (مع مراعاة التيار المحول)
إذا لم تكن بحاجة إلى القناة الثانية، فيمكنك إزالة R2 وR4 وC2 وT2 وتأريض طرف PB4 الخاص بوحدة التحكم الدقيقة (مع ترك PB1 غير متصل)

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

يظهر تكوين الصمامات أدناه:

في لقطة الشاشة، علامة الاختيار تعني 0 - الصمامات المبرمجة. من أجل راحتك، تم وصف الصمامات في التعليقات الموجودة في الملف main.asm.

يأتي الإعداد لضبط وصلة العبور J1 على الموضع المطلوب. وبعد ذلك يصبح الجهاز جاهزًا للاستخدام.

في الختام، بضع صور (مقابض على المقاومات المتغيرةلم أرتدي ملابسي بعد ):

قائمة العناصر الراديوية

تعيين يكتب فئة كمية ملحوظةمحلمفكرة بلدي
U1 MK AVR 8 بت

ATtiny13A

1 سويك-8 إلى المفكرة
VR1 منظم خطي

LM78L05

1 TO-92 إلى المفكرة
T1، T2 ترانزستور موسفيت

IRLML2502

2 سوت-23 إلى المفكرة
C1-C4 مكثف100 نانو فاراد (0.1 ميكروفاراد)4 سيراميك 0402 إلى المفكرة
ر1، ر2 المقاوم المتغير

100 كيلو أوم

2 خطي إلى المفكرة
ر3، ر4 المقاوم

1 كيلو أوم

2 0603 إلى المفكرة
ص5 المقاوم

10 كيلو أوم

1 0603 إلى المفكرة
ر6، ر7 المقاوم