مساء الخير عزيزي harazhiteli!
اسمي ميخائيل ماتفييف ، وأود أن أوجه انتباهكم إلى مشروع "مصمم راديو" حديث يعتمد على شريحة Atmega328 MK و RDA5807M.
الخلفية
أعتقد أن العديد منكم لم يسمعوا فحسب ، بل واجهوا أيضًا منصة مثل Arduino مباشرة. وكما تظهر إحصائياتي الشخصية ، فإن القليل جدًا يذهب إلى أبعد من المصابيح الوامضة. عندما قابلت أردوينو للمرة الأولى ، أوقفتني حقيقة عدم وجود أفكار حول كيفية استخدام جميع ميزات UNO بالضبط إلى "أقصى حد". يكفي فقط تجميع روبوت بسيط على عجلتين وجهاز إنذار. ومع ذلك ، أردت أن أفعل شيئًا أكثر شمولاً.
ثم تذكرت طفولتي ، حيث كان هناك ما يسمى "مصممي الراديو". مجموعة DIY السوفيتية القاسية ، والتي ، مع التجميع المناسب واللحام المناسب ، بدأت في العمل ، واشتعلت محطات الراديو في نطاقات مختلفة: الشباب ، إلكترون- M وغيرها.

لم أحصل على أي من Kit'ov هذه ، لكنني حصلت على ECON-1:

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

بالنسبة للنسخة الأولى ، تم اختيار المكونات التالية:
1. MK Atmega328P-PU
2. RDA5807M
3. شاشة Nokia 5110
يتم استخدام هذا المتحكم الدقيق في Arduino UNO ، على التوالي ، جهازنا متوافق مع UNO على مستوى الأجهزة.
RDA5807M هو "قلب" مصممنا. يحتوي هذا الموالف على الميزات التالية:
- تقنية CMOS
- الإسكان المتآلف ، لا يتطلب مكونات خارجية (تقريبًا)
- نطاق التردد: 50-115 ميجا هرتز
- التنقل بين القنوات - من 200 إلى 25 كيلوهرتز
- RDS / RBDS
- ADC ومركب التردد المدمج
- تخفيض الضوضاء التكيفي
- واجهة رقمية (I2C)
- قوة الإشارة (RSSI)
- مضخم صوت
- تعديل حجم الصوت
شاشة نوكيا بالأبيض والأسود ، 84x48 بكسل. من السهل جدًا الاتصال والإدارة.
بعد اللحام على لوحة الدائرة ، اتضح شيء من هذا القبيل:

تقرر استخدام Bootloader من Arduino ، مما سمح لنا بالحفاظ على التوافق مع جميع المكتبات العديدة وخفض حد الدخول بشكل كبير لأولئك الذين لديهم بالفعل أي خبرة مع النظام الأساسي.
يتم تنفيذ واجهة تفاعل المستخدم على النحو التالي. يتم استخدام ثلاثة أزرار متصلة بالإدخال التناظري لعضو الكنيست من خلال المقاومات لتبديل الأوضاع والتحكم في جهاز الاستقبال. يعمل زر آخر لإعادة تشغيل MK. وبالتالي ، تعرض الشاشة معلومات حول مستوى الصوت والمحطة وما إلى ذلك.
LUT ، مقاوم للضوء وتصحيح الأخطاء
بعد الاختبارات الناجحة على لوحة الدوائر ، قررنا إنشاء العديد من النماذج الأولية باستخدام طريقة LUT (وفي المستقبل ، باستخدام مقاوم الضوء). قررنا أيضًا تحسين جهاز الاستقبال عن طريق إضافة مضخم صوت آخر هناك لتوصيل ليس فقط سماعات الرأس ، ولكن أيضًا مكبر صوت خارجي. وقع الاختيار على PAM8403 ، وهو مضخم بسيط وغير مكلف يتطلب طاقة 5 فولت.
بدا النموذج الأولي الأول الذي تم تصنيعه بطريقة LUT على النحو التالي:

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

في التجمع:

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

طلب ثنائي الفينيل متعدد الكلور
في الصين ، يمكنك طلب لوحات الدوائر المطبوعة المصنوعة بطريقة صناعية. التكلفة صغيرة نسبيًا حتى مع الجري الصغير ، ووقت الانتظار (بما في ذلك التسليم) لا يتجاوز عادة 2-3 أسابيع.
تم طلب "الدفعة" الأولى من اللوحات على PCBWay. لذا نظرت:

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

يتم استخدام منفذ USB لتشغيل جهاز الاستقبال. يتم توفير الطاقة أيضًا عند توصيل المبرمج.
كل شيء يعمل!
البرامج الثابتة
يجب أن نتناول أيضًا البرامج الثابتة. إنه مكتوب بلغة C ++ ونحن نوزعه بموجب ترخيص GPLv3:
https://github.com/xtremespb/fm_receiver. لم أعمل عمليا في C / C ++ ، وبالتالي (ربما) الرمز بعيد عن المثالية وقد يحتوي على أخطاء ، ولكن GPL يفعل و GPL حتى يتمكن المجتمع من تطويره :)
ستشمل ميزات البرامج الثابتة الحالية ما يلي:
- الضبط اليدوي والآلي للمحطات
- RDS
- التحكم بالصوت
- تمكين وضع الجهير المحسن
- تشغيل أو إيقاف تشغيل الإضاءة الخلفية للشاشة
- عرض وتصور ديناميكي لمستوى الإشارة
في المراجعة الرابعة القادمة ، سنقوم بعمل "رقائق" أكثر فائدة: سنقوم بربط القناتين اليسرى واليمنى بالإدخالات التناظرية على MK ، مما يتيح لنا "تصور" الإشارة الصوتية الواردة.
بالمناسبة ، قدرات الجهاز لا تقتصر على الراديو! لا أحد يزعج ، على سبيل المثال ، لكتابة أي لعبة (من أجل الاهتمام ، لقد صنعت Arkanoid القديم الجيد) أو برنامج آخر يستخدم قدرات اللوحة.
الإنتاج
استغرق تطوير الجهاز من الفكرة إلى التنفيذ حوالي 6 أشهر ، والتي ، مع الافتقار الكامل تقريبًا للخبرة في هذا المجال ، ليست سيئة للغاية.
في الوقت الحالي ، لدينا حوالي 10 مجموعات مجمعة بالكامل تتضمن كل ما تحتاجه لبناء جهازك الخاص:
- MK Atmega328P-PU
- محول مستوى CD4050BE
- عرض Nokia 5110
- ريسيفر RDA5807M
- مبرمج USBasp
- مضخم تشغيلي LM386N
- موصلات لـ MK والمبرمج
- USB B ، مقبس صوت 3.5 ، ثلاثة أزرار ، أسلاك ، موصلات صف واحد
- 11 مقاومًا و 12 مكثفًا و 4 مستحثات وكوارتز وصمام زينر ومصباح LED
- مكبر صوت
- لوحة الدوائر
للتجميع ، تحتاج إلى لحام ، تدفق وحديد لحام ، لا شيء آخر مطلوب.
يتم تغليف جميع المكونات في صندوق صغير من الورق المقوى "الحرفي":

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