توثيق تعديلاتاتي على AVR Transistorstester.
اختبار الترانزستور هو جهاز يمكنك من خلاله إدراج أنواع مختلفة من المكونات الإلكترونية وتحليلها. إنه لا يقرأ الترانزستورات ويخبرك فقط ما إذا كان NPN أو PNP ، ولكنه يخبرك بمقاومة المقاومات أو السعة من المكثفات ، وأكثر من ذلك. هناك العديد من الأنواع المختلفة ، وعادة ما تكون رخيصة جدا.
لدي مجموعة GM328 من Banggood ( لم تعد متوفرة هناك ) ، وأحيانًا تم تحديدها على أنها AY-AT.
أجهزة بارزة:
لتحسين دقة المختبر ، هناك بعض التعديلات البسيطة التي يمكنك القيام بها.
(صورة من https://github.com/upcycle-electronics/avr-transistor-tester)
انظر أيضا هذا المنشور على eevblog.
من readme من k-firmware:
" إن المقاومات R1 إلى R6 ضرورية للقياسات ، ويجب أن تكون هذه المقاومات 680Ω و 470KΩ مقاومات نوع القياس (التسامح بنسبة 0.1 ٪) للحصول على الدقة الكاملة. "
" يمكن استخدام مرجع الجهد الدقيق 2.5 فولت الإضافي المتصل في PIN PC4 (ADC4) للتحقق من جهد VCC ومعاييره ، ولكنه غير مطلوب. يمكنك استخدام LM4040-AIZ2.5 (0.1 ٪) ، و LT1004CZ-2.5 ( 0.8 ٪) أو LM336-Z2.5 (0.8 ٪) كمرجع الجهد. قيمة المقاومة الأعلى (47KΩ).
من readme من m-firmware:
" يجب تمكين مرجع الجهد الخارجي 2.5V فقط إذا كان أكثر دقة 10 أضعاف من منظم الجهد. وإلا فإنه سيجعل النتائج أسوأ. إذا كنت تستخدم MCP1702 مع تسامح نموذجي قدره 0.4 ٪ كمنظم للجهد لك حقا لا تحتاج إلى مرجع الجهد 2.5 فولت.
إن الجزء الذي يدور حول R16 في ReadMe of K-Firmware أمر محير لأنه لم يتم ذكره في ReadMe of M-Firmware. يؤكد هذا المنشور أنه من الضروري فقط لـ K-Firmware:
" لتشغيل برنامج M-Firmware ، يمكنك تخطي الخطوة رقم 3 أو إزالة R16 (لا حاجة لاستبدالها). عند تعطيل HW_REF25 (الإعداد الافتراضي) ، ستتجاهل البرنامج الثابت أي مرجع خارجي للجهد. يختلف ودائمًا مرجعًا 2.5 فولت (لا يوجد إعداد ذلك).
اخترت طلب المقاومات بنسبة 0.1 ٪ وفقط منظم الجهد MCP1702 ، وتخطي مرجع الجهد. وأضاف أيضا بلورة 16 ميجا هرتز لزيادة السرعة:
التغييرات الملموسة ، المشار إليها في المخططات:
هذه هي الطريقة التي تبدو بها هذه التغييرات في مكانها:
مقاومات 0.1 ٪ (أسود) أكثر سمكا قليلاً من الافتراضي (الأزرق) ، لذلك تتداخل قليلاً.
هناك خياران مختلفان للبرامج الثابتة لمختبر الترانزستور. الأصل هو K-Firmware. يأتي Tester مع الإصدار 1.12k (قديم جدًا) ، والأحدث هو 1.13k. تطوير K-Firmware معلق حاليًا. لقد تم تشويهه إلى m-firmware ، الذي تم إعادة كتابته وميزات إضافية ، ولا يزال تحت التطوير النشط.
يتوفر مصدر K-Firmware هنا ، مع البرامج الثابتة المسبقة لدليل AY-AT في دليل MEGA328_COLOR_KIT. هناك أيضا makefile هناك مع المعلمات الصحيحة. مصدر M-Firmware متاح هنا ، ولكن فقط مثل كرات القطران. لا توجد إصدارات مسبقة. يمكن أيضًا العثور على كلا من شركة Firmwares هنا.
اخترت استخدام M-Firmware ، نظرًا لأنه لا يزال يتم تطويره بنشاط. أحدث إصدار في وقت كتابة هذا التقرير هو 1.42 متر.
هناك 3 ملفات تكوين في البرامج الثابتة التي يجب تعديلها. راجع الملف "Clones" (من البرنامج الثابت TGZ) للحصول على التغييرات الأساسية المطلوبة لإنشاء برنامج ثابت متوافق مع AY-AT. يتم توثيق التغييرات الإضافية التي أجريتها هنا. الملفات متوفرة أيضًا في دليل البرامج الثابتة.
HW_REF25
لأنني لا أستخدم مرجع الجهد TL431A أو استبدال LM4040 الموصى به.SW_IR_RECEIVER
نظرًا لأن البرامج الثابتة كانت كبيرة جدًا (105 ٪) ولن تتناسب مع ATMEGA328P. إن دعم IR ليس مهمًا بالنسبة لي ، لذا كان من الجيد تعطيله.UI_AUTOHOLD
لأن وضع الاختبار المستمر كان مزعجًا. أفضل قضاء الوقت الذي أحتاجه لقراءة النتيجة.POWER_OFF_TIMEOUT
بحيث يتم إيقاف تشغيله عند الخمول.SW_POWER_OFF
حتى أتمكن من إيقاف تشغيله من القائمة. LCD_LATE_ON
لأن الشاشة مشوهة للغاية عند تهيئتها وهذا الإعداد يجعله يبدو جيدًا. FREQ
إلى 16 بسبب التغير من 8 إلى 16 ميجا هرتز البلورة. إذا كنت ترغب فقط في إنشاء برنامج ثابت جديد ، ولا تهتم بأي من تعديلات الأجهزة الموضحة هنا ، فيمكنك اتباع أمثلة التكوين مع هذه الاستثناءات:
HW_REF25
FREQ
إلى 8سيعطيك هذا برنامجًا ثابتًا يعمل على "مخزون" GM328 AY-AT من Banggood.
بالإضافة إلى أدوات الإنشاء التي تم تثبيتها بالفعل ، اضطررت إلى إضافة الحزم التالية (في Opensuse):
avr-libc
cross-avr-gcc9
ثم make
البناء.
عند الانتهاء من الإنشاء ، يجب أن يكون لديك هذه الملفات ، التي تشكل البرامج الثابتة:
ComponentTester.eep
ComponentTester.hex
ويجب أن ينتهي إخراج المترجم بشيء من هذا القبيل:
AVR Memory Usage
----------------
Device: atmega328
Program: 32234 bytes (98.4% Full)
(.text + .data + .bootloader)
Data: 248 bytes (12.1% Full)
(.data + .bss + .noinit)
EEPROM: 738 bytes (72.1% Full)
(.eeprom)
إذا كان أي من هذه أكثر من 100 ٪ ممتلئًا ، فلن يتم تمكينه في البرامج الثابتة ولن يعمل.
لفلاش البرامج الثابتة ، نحتاج إلى 3 ملفات. نشرات البرامج الثابتة من أعلى ، و ComponentTester.cfg. يحتوي الملف الأخير على تكوين الصمامات من ATMEGA328P. يتم استخراج تكوين الصمامات من Makefile. لمعرفة معنى الصمامات ، يمكنك استخدام هذه الآلة الحاسبة عبر الإنترنت.
لا يدعم AY-AT البرامج الثابتة التي تومض خارج المربع. هناك طريقتان حول ذلك.
لا يتطلب الخيار الأول المزيد من التعديلات على اختبار الترانزستور ، ولكن عليك إزالة الشريحة من المقبس وإدخالها في المبرمج في كل مرة تريد تحديث البرامج الثابتة.
يمكنني استخدام مبرمج TL866II Plus Universal مع برنامج Minipro Open Source لـ Linux. راجع https://github.com/blurpy/minipro لمعرفة المزيد حول كيفية الاستخدام.
مع الشريحة في المبرمج ، ما عليك سوى تشغيل هذه الأوامر:
minipro -p "ATMEGA328P@DIP28" -E
minipro -p "ATMEGA328P@DIP28" -c data -w ComponentTester.eep -e
minipro -p "ATMEGA328P@DIP28" -c code -w ComponentTester.hex -e
minipro -p "ATMEGA328P@DIP28" -c config -w ComponentTester.cfg -e
يجب أن يكون ذلك.
الخيار الآخر هو لحام دبابيس على الجزء الخلفي من لوحة الدائرة لإضافة رأس ICSP المفقود الذي يتيح لك وميض البرامج الثابتة في الدائرة. المزيد من العمل في المقدمة ، ولكن مفيدًا جدًا إذا قمت بتحديث البرامج الثابتة في كثير من الأحيان.
أضفت دبابيس رأس الزاوية اليمنى مثل هذا:
هذا هو pinout (عكس مقارنة ما أعلاه):
هناك العديد من الأجهزة المختلفة التي يمكن استخدامها لفلاش برأس ICSP ، مثل هذا المثال باستخدام Arduino UNO كمبرمج ، لكنني سأستخدم TL866II Plus المذكورة أعلاه ، لأنه يدعم أيضًا وضع ICSP ، مع pinout التالي :
مع توصيل الأسلاك بين اختبار الترانزستور (مع إزالة الطاقة) والمبرمج ، فقط قم بتشغيل هذه الأوامر:
minipro -p "ATMEGA328P@DIP28" -E -i
minipro -p "ATMEGA328P@DIP28" -c data -w ComponentTester.eep -e -i
minipro -p "ATMEGA328P@DIP28" -c code -w ComponentTester.hex -e -i
minipro -p "ATMEGA328P@DIP28" -c config -w ComponentTester.cfg -e -i
يجب أن يكون ذلك.
هذه هي النتيجة النهائية بعد وميض البرامج الثابتة الجديدة:
يمكنك العثور على البرامج الثابتة الأصلية هنا إذا كنت ترغب في استعادة البرامج الثابتة المعروفة.
في البداية لم أهتم بأي إخراج بعد خطوة التجميع:
AVR Memory Usage
----------------
Device: atmega328
Program: 34784 bytes (106.2% Full)
لقد نجحت بشكل جيد في وميض البرامج الثابتة ، ولكن عند محاولة بدء اختبار الاختبار ، فإنه سيومض بسرعة اللون الأبيض على الشاشة ثم إيقاف تشغيله. اعتقدت أنها كانت مشكلة في الأجهزة في البداية ، ولكن عند اختبار البرامج الثابتة الأصلية التي نجحت. بعد تعطيل ميزات كافية في هذا البرنامج الثابت للحصول على أقل من 100 ٪ من الذاكرة ، عملت بشكل جيد أيضًا.
عندما نسيت تكوين الشاشة في config_328.h
قبل التجميع والومض ، سيتم تشغيل المختبر وعرض شاشة بيضاء حتى تتم إزالة الطاقة. تم إصلاحه بسهولة عن طريق إضافة التكوين الصحيح والمحاولة مرة أخرى.
بعد وميض البرامج الثابتة الجديدة ، يوصى باتباع الخطوات الموضحة في ReadMe لتشغيل ضبط ذاتي.
ملخص قصير للخطوات:
Adjustment
Save
في القائمة واختر الفتحة رقم 1عندما طُلب من التحقيقات التي استخدمتها سلك اللوح القصير بين نقطة الاختبار 1 ونقطة الاختبار 2 ، وبين نقطة الاختبار 2 ونقطة الاختبار 3 في مقبس ZIF.