كمهندس ، لطالما أعجبت بالأسلوب الروسي البراغماتي لتسمية المنتجات الجديدة. في حين أن بعض المسوقين الغربيين قد يطلقون على جهاز ألعاب صغير قائم على CRT The Vectormatic Score-Master 3000 ، فإن الروس يميلون إلى استخدام أسماء أكثر أهمية. ونظرًا لأنهم يفكرون في محاولة ثالثة لإنشاء نظام عرض متجه ، فسوف يطلقون عليه اسم "Vector Drawing Machine # 3". درجة المهندسين - المسوقين (15: 0).
منذ عدة سنوات ، كنت مفتونًا بفكرة استخدام أنبوب أشعة كاثود صغير من الذبذبات لعرض ساعة تناظرية. هذا التعهد ، بالطبع ، وعد بالمتعة الجمالية ، لكنه في نفس الوقت بدا سخيفًا. بدت فكرة استبدال سلسلة التوصيلات الميكانيكية بمتحكم دقيق يقود مضخمين تفاضليين عاليي الجهد ومصدر طاقة مستقل عالي الجهد فقط ، بشكل تقريبي ، فكرة سخيفة بعض الشيء.
إذا أخذنا ، في نفس الوقت ، في الاعتبار جميع الأعمال المتعلقة بتنفيذ كل مرحلة من مراحل العملية ، ونتيجة لذلك يجب الحصول على جهاز ذو مظهر لائق ، وإضافة دراسة مفصلة للتصميم ، فإن المشروع بأكمله قد ألمح بالفعل إلى أثره.
لم تمثل أي من المهام العديدة المقترحة أي صعوبات معينة في حد ذاتها ، ولكن إذا أخذناها ككل ، فإن مرحلة دمج كل شيء معًا في مثل هذه المشاريع هي التي تكشف عن تعقيدات العلاقات المتبادلة بين المكونات الفردية.
تتناول هذه المقالة تجميع لعبة فضاء بسيطة تعتمد على CRT. يصف هذا المشروع الهندسة المعمارية ، ويقدم ملاحظات التصميم ، والتعليقات على المعدات المستخدمة ، والإلكترونيات ، وتنفيذ مصدر طاقة عالي الجهد ، وعملية قطع العلبة بالليزر.
معلومات عامة
يتم تجميع الجسم من جزأين رئيسيين ، مصنوع من لوح MDF باستخدام القطع بالليزر. يحتوي الجزء العلوي على شاشة CRT ومصدر طاقة عالي الجهد وقنوات انحراف وأجهزة معايرة مقابلة. يوجد في الجزء السفلي عصا تحكم وأزرار ووحدة تحكم دقيقة ومصدر طاقة منخفض الجهد. يوجد في الخلف موصل طاقة ومقبس USB mini B. يتم وضع الجزء العلوي من العلبة في الجزء السفلي ، ويتم تثبيت الهيكل بالكامل بواسطة لوحة تحكم مسطحة ، بها عصا تحكم وأزرار.
CRT
CRT المستخدم هو D7-16G ، الذي يزيد قطره قليلاً عن 76 مم وطوله 160 مم ويعمل بطاقة البطارية. لقد اشتريت ثلاثة من CRTs منذ سنوات عديدة فقط لمشاريع مماثلة.

CRT D7-16G
يستخدم موصل من نوع 11 دبوسًا من نوع 30-232 ، والذي يصعب العثور عليه. بعد بعض المداولات ، خطرت لي فكرة تجميع نفسي عن طريق قطع قطعة فارغة باستخدام الليزر من ورقة من الأكريليك والتقاط دبابيس الاتصال المناسبة من قاعدة لوحة المصباح.

موصل التجميع 30-232
للقيام بذلك ، قمت بتصميم فراغين مركبين في Autocketch بحيث يتم وضع جهات اتصال CRT على طول محيط "D" للجزء الأيسر. ثم تم قطع كل قطعة من لوح أكريليك 3 مم ولصقها معًا. أزلت جهات الاتصال من لوحة المصباح B9A الجديدة ، وأدخلتها في الفراغ الملصق وثنيها قليلاً لإصلاحها ، ثم الأسلاك الملحومة إلى أطرافها ، وعزل الوصلات بانكماش الحرارة.
مصدر طاقة عالي الجهد
تعتمد هذه الوحدة على منظم التحويل SG3525 الذي يقود مرحلة دفع وسحب N-FET متبوعة بمحول حديدي صغير بملفات ثانوية عالية ومنخفضة الجهد. يتم تمرير جانب الجهد العالي عبر مقوم موجب نصف موجي ، يولد حوالي 240 فولت تيار مستمر ، ثم يتم تقليله بواسطة منظم موازٍ إلى 210 فولت. يتم تغذية الجهد المعدل إلى مضخمات الانحراف ويستهلك حوالي 7 مللي أمبير. يتم أيضًا مضاعفة الجهد الثانوي HV ، لتوليد ما يقرب من -600V ، 1mA لتحيز شعاع المدفع الإلكتروني. يتم تحقيق توازن أي ملف ثانوي للتيار المستمر قادر على تشبع النواة أو التسبب في إزاحة مغناطيسية بواسطة مقومات موجبة وسالبة.
يبدأ هيكل المحول بملف أولي في المنتصف ، وبعد ذلك يكون هناك بداية مؤرضة للملف الثانوي للجهد العالي ، وينتهي بمحطة تحت جهد الأنود. أخيرًا ، هناك لف منخفض الجهد يستخدم لتسخين ملف أنبوب أشعة الكاثود. يتم اختيار هذا الترتيب لتجنب الانهيار بين لفات الجهد العالي والمنخفض. بعد أن قلت كل هذا ، فكرت في هذه الهيكلية ، وربما سأجد وقتًا لتحسينها.

وحدة الجهد العالي وجهاز الانحراف
لم أستخدم نواة درع من الفريت لفترة طويلة لدرجة أنني نسيت تمامًا توصيلها الكهربائي. أدى ذلك إلى إنشاء أقواس إلكترونية بين الجزء العلوي من الفريت الثانوي والمؤرض ، مما تسبب في فشل عدة أزواج من محركات الترانزستور الجانبي الأساسي STN3NF06L. في سياق معرفة السبب ، استبدلتهم بزوج من TO252 أكثر استقرارًا (100A / 8mΩ) ، قادر على تحمل حتى إمداد 12 فولت ، 1 أمبير وبدء محولات ذات دائرة قصيرة.
لقد كنت مرتبكًا إلى حد ما عندما وجدت أن SG3525 متوفر في حزم SOIC العريضة والضيقة. نتيجة لذلك ، تم العثور على بصمة ثنائي الفينيل متعدد الكلور غير مناسبة وكان يجب طلب الجزء الضيق من المملكة المتحدة.
مضخم الانحراف
أثبت تصميم هذا النظام الفرعي أنه مهمة شاقة ، واستغرق الأمر الكثير من الوقت للعمل مع محاكاة سبايس ، مما ساعد على فهم جميع الفروق الدقيقة.
فيما يلي مواصفات سريعة:
- مدخلات غير متوازنة 0..5V
- الناتج التفاضلي مع تأرجح> 80 فولت لكل ذراع
- في 210V الاستهلاك الحالي أقل من 2mA
- إمكانية تزويد الطاقة من 12 فولت
- لا إطارات سلبية
- عرض النطاق الترددي> 500 كيلوهرتز مع إزاحة طور أقل من 5 درجات بالنسبة للحساب
على مدار عدة أيام ، تعلمت العديد من الهياكل ، بدءًا بدائرة دفع وسحب كود الكود مع مصدر حالي. في البداية ، تم اختبار وتحسين الوضع الثابت فقط. بعد الوصول إلى قيم DC الأساسية ، تناولت معلمات AC. يؤثر المكثف الذي يربط بواعث دائرة الدفع والسحب (وهو أمر غير مفاجئ) بشكل كبير على كسب التيار المتردد والتردد وخصائص الطور ويتفاعل بقوة على ما يبدو مع مقاومات الباعث وكذلك المصارف المرتبطة بها.
هنا ، كتحسين ، يمكن تطبيق التثبيت الحراري عن طريق الترابط الحراري لأجهزة الإخراج (إذا اعتبرنا أنها الآن SOT-233 ، فإن المهمة ليست سهلة). بدلاً من ذلك ، بالطبع ، يمكنك التبديل إلى نظرائهم المثبتة في الثقوب ، مما يبسط المهمة إلى حد كبير.
سيكون من الجيد استخدام دائرة يكون فيها تحول الطور والكسب أقل اعتمادًا. لكن الخيار البسيط الحالي قد تغلب على العديد من الحواجز التقنية الصعبة ، وبالتالي فإن المتطلبات الإضافية ستكون مرهقة للغاية.
لوحة تحكم و DAC
بالنظر إلى أن المهمة الرئيسية للميكروكونترولر هي الحساب المتكرر لصف من أزواج المتجهات كل بضع عشرات من المللي ثانية ، بدا لي من المعقول استخدام خيار بسيط وغير مكلف لهذا الغرض.
كان ATmega328P و ST micro STM32F103C8T6 مرشحين واضحين. نتيجة لذلك ، تم اختيار الأول فقط لفرصه الأوسع وشعبيته (مرة واحدة). أثناء عملية تجميع اللوحة ، تم اكتشاف أنني اشتريت عن طريق الخطأ وحدة تحكم الإصدار "B" ، ولكن المزيد عن ذلك لاحقًا.
بشكل عام ، لوحها بسيط ويتضمن محول FT232RL USB ، و DAC ثنائي القناة 8 بت ، وعصا تحكم وواجهة زر ، وواجهة I2C اختيارية ، ومنظم 5V. كان من الممكن استخدام Arduino Nano مع اللوحة الأم ، لكن الحل الحالي كان بسيطًا وسهل الاتصال.

تتضمن متطلبات لوحة التحكم ونظام DAC التشغيل بحافلة واحدة ، مما يحد من اختيار DAC. في البداية ، أخذت TLC7528 ، والذي يبدو أنه يحتوي على خرج حالي ، ولكن عند الفحص الدقيق ، اتضح أنه يمكن تهيئته للعمل في وضع خرج الجهد. إلى جانب مضخمات التشغيل TSH82 ، اتضح أن هذا خيار سيئ ، حيث كان التشويه حتى عند أدنى مستويات الإشارة بضع بالمائة. لقد قمت بحل هذه المشكلة عن طريق استبدال DAC بـ AD7302 ، والذي يحتوي على ناتجين للجهد ووقت استقرار يبلغ 2μs.

يمكن أن يؤدي التشويه بنسبة قليلة
إلى إفساد الأشياء بعد فوات الأوان ، يبدو أن التشويه مع TLC7528 ربما كان بسبب النطاق المحدود للوضع المشترك للإدخال TSH82 المرتبط. يمكن التحقق من ذلك بسهولة عن طريق إزالة مكبرات الصوت هذه ورسم دائرة Lissajous على مرسمة الذبذبات مباشرة مع المجسات.
نتيجة لذلك ، دفعني عدد من أخطاء التصميم إلى إعادة بناء هذه اللوحة التي تبدو بسيطة: اختيار DAC ، باستخدام FT232RL لأول مرة ، وعدم ربط دبوس TST المقابل بالأرض. لقد ارتكبت أيضًا خطأ في الدائرة لتوصيل موصل USB على اللوحة (قمت بخلط أسلاك الإشارة) ، والتي قمت بتصحيحها مؤقتًا باستخدام كابل محلي الصنع.
متحكم جديد ومجموعة أدوات ومحمل إقلاع جديد
كما قلت ، من المدهش أنه اتضح أن ATmega328P الذي طلبته سابقًا ، بطريقة غير مفهومة ، تبين أنه إصدار أقل شعبية من "B". إنها ثنائية متوافقة تمامًا مع أشقائهم الصغار ، باستثناء توقيع الرقاقة. ومع ذلك ، يحتوي الإصدار الأحدث على عدد من الوظائف الإضافية المفيدة ، بما في ذلك دعم USART ثانٍ.
يوفر Arduino أحدث مجموعة أدوات ، والتي ، بشكل غريب ، لم تكن متوفرة على موقع Atmel. كان لابد من استخراج هذه الأدوات وتجميعها في حزمة محمولة ، وبالتالي لم تعد تعتمد على إطار عمل Arduino. ثم قمت بتحديث makefile المشروع المقابل للإشارة إلى وحدة التحكم والأدوات الجديدة.
بالنظر إلى توافق الرقائق ، تمت برمجة أداة تحميل الإقلاع القياسية من Arduino على أحدث باستخدام AVR Studio 4 IDE صغير نسبيًا ، والذي اخترته لبساطة الواجهة. يجب إنشاء ملف XML لوصف وحدة التحكم الجديدة من الإصدار القديم. نتيجة لذلك ، كانت الاختلافات الرئيسية هي الرقم والتوقيع المقابل.
تم استخدام الأداة المساعدة لإجراء وميض المشروع ، وبناءً عليه ، ملف makefile. مع هذا النهج ، استهلكت مجموعة الأدوات حوالي 30 ميجابايت فقط ، وليس المئات ، كما هو الحال مع استخدام IDEs المتكاملة "الحديثة".

المبرمجون الحقيقيون لا يستخدمون IDEs
البرامج الثابتة
تم تصميم النظام لرسم حوالي 10 آلاف زوج متجه في الثانية. بمعدل تحديث 50 هرتز ، هذا يعني أنه يمكن رسم 200 متجه. بعد كل 200 متجه (20 مللي ثانية) ، تتلقى المقدمة إشارة لتحديث قائمتهم بحيث يمكن تشغيل اللعبة بسلاسة كافية.
تتطلب العديد من العمليات في النظام القدرة على تدوير النواقل. في الوقت نفسه ، على الرغم من المعقولية الواضحة لاستخدام قيمة عشرية في نطاق 0..359 درجة ، فإن هذا الحل سيتطلب استخدام U16 وسيكون مرهقًا بلا داعٍ. بعد بعض التفكير ، قررت أنه سيكون من المناسب معالجة أكبر قدر ممكن من البيانات باستخدام S8 (+127 إلى -128). ستعمل أيضًا بشكل جيد لتمثيل إحداثيات X / Y (بافتراض DAC 8 بت) للتعبير عن زاوية (تقريبًا ± 180 درجة).
يتم تحديث الشاشة من خلال مقاطعة المؤقت وهي الطريقة الوحيدة للتحكم في DACs. تتم قراءة المتجهات من المخزن المؤقت ping أو pong وتتكرر حتى تقوم المهمة الأمامية بتبديل المخزن المؤقت. يبدأ كل مخزن مؤقت عند العداد U8 ويستمر حتى نقطة الكتابة التالية المتاحة متبوعة بنقطة قراءة. بعد ذلك ، تحتوي على قائمة بقيم X و Y مخزنة بتنسيق U8.
يتم تغيير اتجاه المركبة الفضائية عن طريق تحريك عصا التحكم إلى اليسار / اليمين. يتم عرض السفينة نفسها في شكل أربع نقاط a la chevron من سلسلة Star Trek ، تدور حول مركزها. يتطلب كل متجه بحثًا عن الخطيئة وجيب التمام ، و 4 عمليات ضرب ، وإضافتين. في المجموع ، يتم الحصول على 37 عملية حسابية لكل دورة ، أي ما مجموعه حوالي 200 تعليمات. سيتم دائمًا رسم سفينة الفضاء أولاً ، وسيكون الأنف دائمًا أول زوج متجه ، لذلك سيكون هذا الزوج المتجه في المخزن المؤقت للإخراج هو نقطة البداية لإطلاق الصواريخ.
يتم إطلاق الصواريخ بالضغط على الزر المقابل. يطيرون من مقدمة السفينة ويستمرون في مسارها الحالي. يحدث تدمير صاروخ ، لا يمكن إطلاق أكثر من 16 منه في وقت واحد ، عندما يصطدم بكويكب أو عندما يصل إلى نصف القطر المرئي للفضاء. يعتمد نموذج الرحلة هذا على رسم خطوط بين قوس السفينة وحافة نصف القطر المرئي ، حيث يتم حساب دلتا X ودلتا Y عند الإطلاق. Delta X / Y هي نقطة ثابتة تبلغ 8.8 ، وكذلك السرعة.

سفينة في المركز ، كويكب تحت
أجسام كويكب تفرخ في بقعة عشوائية نصف قطرها وتطير فوقها مباشرة بزاوية بين 80 و 140 درجة. عندما تظهر ، يتم إنشاء موضع بداية ونهاية عشوائي ، يتم تحويلهما بعد ذلك إلى إحداثيات ديكارتية ، ويتم حل مسألة الخط المستقيم بنفس الطريقة التي يتم بها حل الصواريخ.
عندما يصطدم صاروخ بكويكب ، يتم تدمير كلا الكيانين ، ويزداد عداد النتيجة الحالي. يتم أخذ كائنات العرض الرقمية من جدول البحث "7 مقاطع".
تتم جميع عمليات اللعب "الثقيلة" باستخدام وظيفة "الدوران" ، والتي تُستخدم لإضافة كائن إدخال (كويكب ، سفينة فضاء ، قيمة مكونة من 7 أجزاء ، إلخ) إلى المخزن المؤقت للإخراج. بالإضافة إلى ذلك ، يسمح لكائن الإدخال بالتدوير ، وكذلك تطبيق الإزاحة على طول محوري X و Y. وفي الوقت نفسه ، لا يوجد ما يمنعك من إضافة فصيلة 2x2 من السفن الفضائية إلى المخزن المؤقت للإدخال ، ثم أخذهم كمجموعة ونشرهم قبل الرسم.
الجزء الميكانيكي
يتطلب منح هذا الجهاز الفضائي مزيدًا من الجهد ، على الرغم من أن العملية نفسها كانت مسلية أكثر مما توقعت. في البداية ، كان منحدر جسم CRT أقل بشكل ملحوظ مما هو مخطط له ، وفي النهاية استغرق الأمر عدة ساعات لإيجاد طريقة لقص مقطع الاحتفاظ المنزلق بحيث يمكن توصيل الأجزاء العلوية والسفلية بطريقة مناسبة.

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

المجموعة: وحدة CRT ، الجزء السفلي من العلبة وغطاء اللوحة الأمامية لـ
CRT مثبتة بأقواس MDF مستديرة ملتصقة بأعلى الحجرة. من الداخل ، هذه الأقواس مغلفة بمطاط رغوي مرن على أساس لاصق.

واجهة CRT فارغة بقفل مبيت وعلامات
للوحة دائرة مطبوعة من الصعب أن ترى من الصور أن لوحة التحكم المزودة بعصا تحكم وأزرار تعمل على إصلاح وحدة CRT بشكل آمن ، مما يمنع سحبها للخلف.
الحزم المستخدمة لتصميم البدن
للتصميم الأولي للجزء العلوي والسفلي من الجسم ، تم استخدام محرر إنكسكيب بامتداد “The Laser Cut Box”. فقط الشقوق المسننة كانت بمثابة حزمة من هذه الأجزاء. لقد قمت للتو بنسخ القالب النهائي ولصقه من Inkscape إلى Autosketch ، حيث قمت بإجراء جميع التحسينات اللازمة.
لقد استخدمت قاطع ليزر 70 وات لقطع فراغات MDF. تبين أن دورة العمل كانت سريعة بما يكفي ، مما جعل من الممكن تجربة أفكار التصميم البديلة في وقت واحد.
خاتمة
كما توقعت ، تمكنت في هذا المشروع من تعلم الكثير ، لأن كل شيء ، باستثناء ربما وحدة التحكم الدقيقة المدمجة ، تبين أنه يتجاوز تجربتي العادية.
من الواضح أنه يمكن تطوير العديد من الألعاب والتطبيقات المختلفة بناءً على جهاز العرض المتجه هذا. حتى الآن ، أرغب بالتأكيد في إضافة وحدة مزامنة إلى اللوحة (عبر I2C) ، بعد أن أدركت فكرتي طويلة الأمد لعرض ساعة تناظرية. سيتم إدخال بقية التحسينات الممكنة تدريجياً.
كان الخطأ غير اللائق ، بالطبع ، خطأ في دائرة USB mini B وأول محاولة فاشلة لاستخدام DAC مع خرج حالي في وضع خرج الجهد. لكن بخلاف ذلك ، لا أعرف حتى ما الذي يمكنني إصلاحه في حالة إعادة تجميع هذه الوحدة.
في المشروع الحالي ، تم تحقيق جميع الأهداف ، بما في ذلك توسيع الآفاق ، والتي حدثت خلالها ، كما يحدث غالبًا ، بعض المفاجآت.
تواصل مع المؤلف Mark Atherton عبر البريد الإلكتروني markaren1@xtra.co.nz
