مشروع هوايتي هو
مسجل GPS . التعليقات اقترح حتى تسميته "كمبيوتر الرحلة" ، كما التسجيل ليس سوى جزء صغير من جميع إمكانيات الجهاز. لقد تم تنفيذ الكثير بالفعل ، لكن لم يتم فعل الكثير بعد.
في المقالات السابقة ، وصفت
الانتقال من اردوينو إلى STM32 ،
STMCube / HAL ،
وتحدثت قليلاً عن نظام البناء ،
ومحمل الإقلاع ،
وبناء جهاز USB مركب وضخ سرعته . تم كل ذلك على
لوح مستوحى من لوحة Blue Pill STM32F103CB وقنفذ من الأسلاك. حان الوقت للجهاز لتتشكل ، سواء الإلكترونية (الدائرة) والمادية (الجسم).

المشكلات التي كان يجب علي حلها في هذه المرحلة مترابطة إلى حد كبير. عند اختيار المكونات لمشروع ما ، فإنك تحتاج إلى تخيل تقريبًا الإسكان الذي يمكن دفعه إليه. والعكس بالعكس ، يجب عمل الحالة للمكونات المتوفرة واللوحات ، والتي ، مرة أخرى ، يجب القيام بها مع التركيز على الحالة. بشكل عام ، مجموعة من القضايا المترابطة. يمكنك بالطبع أخذ صندوق أكبر ودفع أي شيء إلى هناك ، لكنك أردت شيئًا مضغوطًا وخفيفًا.
قبل البدء على الفور ، أود أن أشير إلى أن هذا ليس هو الإصدار النهائي للجهاز. على الأرجح سيكون هناك أخطاء في المخطط ، لن يعمل شيء ما كما هو متوقع ، في التعليقات التي سوف تشير إلى حلول أكثر صحة ، سيتم إعادة النظر في بعض النهج. أعتقد أنه لا يمكن تجنب الإصدار الثاني أو الثالث من الجهاز. لذلك ، سأكون سعيدًا بتعليقاتك البناءة.
تحت القص ، هو متعدد الخرز ، لكنه سيكون هندسة.
ماذا ولماذا
مسجل GPS Holux M241 هو رفيقي المؤمن في جميع الرحلات. لقد كان معي لعدة آلاف من الكيلومترات. يتم استخدام المسار الذي يكتبه المسجل بشكل أساسي في تحديد الموقع الجغرافي للصور ، لكن المسار نفسه مهم أيضًا. من الممتع معرفة مدى السرعة التي ذهبت بها للتزلج ، والطريق الذي حلقت به الطائرة ، والوهلة التي تومض خارج نافذة الحافلة. أنا
هنا فعلت مراجعة صغيرة لهذا الجهاز.
لسوء الحظ ، لقد توقفت قدرات هذا الجهاز منذ فترة طويلة لتناسبني: لقد سئمت العبث بالبطاريات التي تجلس دائمًا في أكثر اللحظات غير مناسبة. هناك أيضًا سرعة USB منخفضة جدًا ، وكمية صغيرة من الفلاش الداخلي ، وآلية غير ملائمة لدمج المسارات ، وتتوفر معلومات قليلة على الشاشة ، ودقة منخفضة ، ومقياس بدائي للغاية ، ولا توجد معلومات حول الأقمار الصناعية ، وغير ذلك الكثير.
نعم ، يمكن للمرء أن يبحث عن ما تقدمه أجهزة التتبع الحديثة - بالتأكيد يوجد بالفعل جهاز معروض للبيع يلبي متطلباتي. لكن هذه هواية ، أريد أن أحاول القيام بشيء معقد وممتع ومفيد وضروري. فليكن ، حتى لو كنت سأستخدمها فقط.
الهدف من المشروع ككل هو صنع جهاز مماثل في شيء ، محشو فقط مع قائمة أمنياتي.
في المقالة الأولى في السلسلة ، قمت بالتفصيل متطلباتي للجهاز. باختصار ، أود القيام بما يلي:
- إعادة تدوير نظام الطاقة ، ونقل إلى بطارية الليثيوم
- وضع عرض أكثر إفادة
- GPS أكثر دقة
- توسيع فلاش مع بطاقة SD
- إضافة البوصلة والتسارع
- أريد أيضًا إعادة تصميم نظام التسجيل لإخراج المسارات في التنسيق الذي أحتاج إليه.
بالإضافة إلى المتطلبات الفنية وقائمة الرغبات ، هناك أيضًا متطلبات غير فنية (غير وظيفية). لذلك أود أن أضخ في إنشاء أجهزة معقدة من نقطة الصفر ، لمعرفة كيفية عمل المكونات الإلكترونية المختلفة ، وكيفية برمجتها ، وكيفية تكوين لوحة وتصميم حالة.
لماذا تحتاج إلى جهاز منفصل إذا كانت جميع الهواتف الحديثة مزودة بنظام GPS وشاشة كبيرة وكثير من الذاكرة؟ حسنًا ، أولاً ، لست متأكدًا من قدرة الهاتف الذي يعمل بنظام GPS في وضع تسجيل المسار على الصمود طوال اليوم. لا أرغب حقًا في الإقامة في بلد غير مألوف بدون هاتف. أيضا ، أنا شخصيا استخدام جهاز منفصل هو ببساطة أكثر راحة.
ربما مع مرور الوقت ، سوف يتغير مفهوم الجهاز. لذا ، على سبيل المثال ، أصبح الآن من المنطقي أكثر فأكثر التخلي عن الشاشة والاتصال بالهاتف عبر البلوتوث ، والقيام بكل الحيل المنطقية على الهاتف. هذه الفكرة قوية جدا ومغرية. لكن في هذه المرحلة ، ما زلت أرغب في الحصول على عرض - لدي دائمًا وقت للتخلي عنه.
للسنة الأولى والنصف الأول ، قمت بتطوير الجهاز على أنواع مختلفة من لوحات التصحيح (أول قرص اردوينو نانو ، ثم قرص أزرق STM32F103 ، ثم STM32F407VE). اضطررت إلى توصيل الأجهزة الطرفية على الأسلاك وشراء الوحدات. نتيجةً لذلك ، تم وضع قنفذ مصنوع من الأسلاك على الطاولة ، ولم ينجح ذلك في اختبار استقبال GPS في الشارع - وأحيانًا لا يمكنك حتى تحريك الأسلاك دون انقطاع الاتصال في مكان ما. ثم تصحيح الأخطاء سعيد.
في كل مرة ، أجلس لكتابة وظائف مفيدة ، واجهت حقيقة أن بعض الأجزاء الأخرى من النظام توقفت عن العمل بشكل طبيعي واضطررت إلى قضاء ساعات في تصحيح أخطاء شيء لا صلة له بالموضوع. لذلك ، على سبيل المثال ، تبين أن العنصر الأكثر أهمية في النظام - مستقبل GPS - في النهاية هو الأقل تطوراً ، لأنه اضطررت إلى الخروج في تصحيح أخطاء USB وبطاقات SD وإعداد المكتبات وما إلى ذلك.
أخيرًا ، تعبت من ذلك وقررت إنشاء لوحة تصحيح الأخطاء - سيكون هذا موضوع مقالة اليوم. الأهداف التي حددتها لنفسي في هذا الجزء من المشروع كانت كما يلي:
- قم بإنشاء لوحة تصحيح الأخطاء التي لن تواجه مشكلات مع مكونات عدم الاتصال
- اتخاذ قرار بشأن الحلول التقنية والتخطيطية الرئيسية
- حدد بشكل تقريبي المكونات التي سأستخدمها بعد ذلك
- تقرر تقريبا على التصميم والجسم
- يجب أن تكون الدائرة عامة بما يكفي لتكون قادرة على تجربة مكونات مختلفة وأنماطها
على الرغم من أن الهدف النهائي هو جهاز بطارية مضغوط ، إلا أنني لن أفعل اليوم أشياء مثل
- ضبط أوضاع طاقة جيدة
- وضع الاستهلاك
- أوضاع النوم
سوف أتعامل مع إعداد الاستهلاك عندما تكون اللوحة والرمز الرئيسي جاهزين. بالمناسبة ، حول الرمز اليوم ، أيضًا ، لن يكون ، لكنني بالتأكيد سأعود إلى هذا السؤال لأنه سيكون هناك ما يكفي من المواد المثيرة للاهتمام.
المكونات
لنبدأ بالمكونات والأجهزة الطرفية. على طول الطريق ، سوف نقدر عدد أرجل المتحكم الدقيق التي ستكون مطلوبة لتوصيل هذه الحديقة ، وكذلك معلمات الطاقة. لأن إنه مشروع هواية اخترت مكونات من ما يمكنني فعلاً شراؤه من المتاجر / ebay / ali وأيضًا من ما يمكن لحامه في المنزل (جيدًا ، أيضًا من ما كان موجودًا بالفعل في لوازمي الشخصية). ربما يمكن لبعض الدوائر الدقيقة المحددة أن تحل المشكلة بشكل أفضل ، ولكن مسألة القدرة على تحمل التكاليف والسعر مهمة بالنسبة لي.
- المكون الرئيسي لمسجل GPS ، بالطبع ، سيكون جهاز استقبال GPS . في حالتي ، هذه ميزة Beitian BN-880 مخدوعة إلى حد كبير استنادًا إلى شريحة UBlox M8N. تم دمج البوصلة على رقاقة HMC5883L أيضًا في الوحدة النمطية.
اتصال: 2 دبابيس UART لنظام تحديد المواقع و 2 دبابيس I2C للبوصلة
امدادات الطاقة: من 2.7V
الاستهلاك: 50MA
- كما طلب وحدة Beitial BN-220 . لا يحتوي على بوصلة ، لكن الهوائي أكثر إحكاما (20 × 20 مم مقابل 30 × 30). الحقيقة لا تزال غير واضحة كيف سيؤثر ذلك على جودة الاستقبال. تحتاج إلى اختبار. ولكن ، وفقًا لورقة البيانات ، يمكن لهذه الوحدة أن تعمل من 1.4 فولت ، والتي يجب أن يكون لها تأثير إيجابي على وقت تشغيل الجهاز.
- هنا ، في الواقع ، كل شيء موحل بطريقة أو بأخرى. يبدو أن BN-880 يعتمد على UBlox M8N ، بينما يستند BN-220 على U-blox M8030-KT. لكن في بعض المصادر ينزلق أنه يبدو أنه نفس الشيء. بتعبير أدق ، تعد M8N وحدة نمطية ، و M8030-KT عبارة عن مجموعة شرائح في الداخل. أنا قلق بشأن مشكلة الطاقة في هذا الالتباس - تم الإعلان عن M8N من 2.7V ، في حين أن M8030-KT من 1.4V.
- كبديل ، لدي أيضًا وحدة SIM868 التي تقع حولها . حيث يوجد بالإضافة إلى GPS وحدة GSM / GPRS وبلوتوث. في حين أنه يخيف مع الخداع وتعقيد الاتصال. سوف تحتاج للعب مع لوحة التصحيح أولاً.
- الفرق الرئيسي بين الجهاز و "مجرد الصندوق الأسود" هو وجود شاشة . في النماذج الأولية الأولى ، قمت بتوصيل الشاشة عبر I2C ، لكن حمل الحافلة كان حوالي 25 ٪. لكن النقطة ليست حتى في نسبة النسبة المئوية ، ولكن في حقيقة أن نقل المخزن المؤقت للشاشة يستغرق حوالي 25ms ، والتي من خلالها من المستحيل التواصل مع الأجهزة الأخرى على الحافلة. قد يكون ذلك مشكلة ، لذلك تحتاج إما إلى وضع الشاشة على ناقل I2C منفصل ، أو التفكير في الاتصال عبر SPI
الاتصال: سلكان I2C أو 3 أسلاك SPI (عرض للكتابة فقط ، وبالتالي لا يتم استخدام خط MISO ، ولكن يتم استخدام إشارة بيانات / أوامر منفصلة)
امدادات الطاقة: 3V
الاستهلاك: 25ma
- للتحكم في الجهاز ، سأستخدم زرين يشغلان قدمي المعالج ، على التوالي
- في الجهاز الأصلي (Holux M241 ، الذي قمت من خلاله بنسخ الوظيفة في الأصل) ، كان من المستحيل مشاهدة المسار في وقت تعسفي. كان من الضروري توصيل الجهاز بالكمبيوتر ودمج البيانات مع برنامج خاص. يبدو لي أن القدرة على مشاهدة مقطوعة على هاتف محمول أو جهاز لوحي في أي وقت ستكون شائعة للغاية. لهذا ، اشتريت وحدة Bluetooth HM-13 . تم تحديد هذه الوحدة لأنها تحتوي على SPP بالإضافة إلى بليه.
اتصال: 2 الأسلاك uart ، 1 سلك الوضع (متصلة / غير متصل)
امدادات الطاقة: 2.5V - 3.9V
الاستهلاك: 50mA (على الرغم من أن الرقم 13ma موجود بجوار ورقة البيانات. ولعل هذا هو القيمة القصوى والمتوسط)
- كما قيل لي ، ليس من المنطقي الحفاظ على تشغيل جهاز الاستقبال إذا جلست للتو للراحة أو ذهبت لتناول العشاء في مقهى. لذلك ، قررت إضافة مقياس التسارع MMA8452 واستخدامه لتحديد ما إذا كان الجهاز في حالة راحة أو أننا نتحرك في مكان ما.
اتصال: 2 الأسلاك I2C ، 1 سلك للانقطاع
امدادات الطاقة من 2V إلى 3.6V مع بعض الاستهلاك المجهري
- سيتم تسجيل مسار GPS على بطاقة SD . لقد جربت بالفعل استخدام البطاقة في وضع SPI وهذا يعني وضعها ببطء. خاصة على السجل. الوضع الصحيح لبطاقة SD - SDIO
اتصال: 6 الأسلاك
امدادات الطاقة: من 1.8V
الاستهلاك غير معروف ، لكنني أعتقد أن أكثر من 20ma
- لتوفير الطاقة ، من المنطقي إيقاف تشغيل طاقة الأجهزة غير المستخدمة حاليًا. بالقرب من كل مستهلك سأضع ترانزستور ، والذي سوف أتحكم فيه في إشارة منفصلة من متحكم
الاتصال: 5 إشارات ، قدم واحدة لكل مستهلك (GPS ، Bluetooth ، التسارع ، بطاقة SD ، العرض)
محدث بناء على التعليقات. تعطيل التسارع لا معنى له - إنه يحتوي بالفعل على استهلاك بنس واحد. من المرجح أن تعمل بعض الأجهزة دائمًا (على سبيل المثال ، بطاقة SD) - في المستقبل ، سأكون قادرًا على إزالة هذه الترانزستورات. بعض الأجهزة (مثل GPS) قادرة على فصل نفسها عند القيادة من الواجهة. إذا كانت نتائج هذا الجزء ستعمل بشكل جيد - وفقًا لنتائج الاختبار - سأرفض أيضًا ترانزستور خارجي. في غضون ذلك ، أقوم بالحد الأقصى للرسوم الإجمالية الممكنة ، دع هذه الترانزستورات تكون جميعها. علاوة على ذلك ، لم أقرر بعد على المحيط. - مؤشر LED ثنائي اللون لعرض الحالة (ماذا عن دون مصباح وامض؟). سيكون من الممكن وضع لون ثلاثي ، لكن حتى الآن لا أرى الحاجة.
اتصال: 2 دبابيس
الاستهلاك: 10MA
- بالإضافة إلى تقنية Bluetooth ، سيتم تنفيذ آلية أكثر كلاسيكية لدمج المسارات - عبر USB . لهذا الغرض ، سيتم تضمين 4 أسطر - زوج تفاضلي للبيانات ، دبوس واحد للكشف عن توصيل الجهاز بـ USB ، ودبوس آخر للاتصال المنطقي (لماذا أحتاج إلى هذين المسامير اللذين سأخبرهما أدناه)
- الشهية تأتي مع الأكل. منذ أن بدأت في تحريك كل شيء في جهاز أحلامي ، لماذا لا تضيف مكبر صوت ؟ حسنا ، أو محرك الاهتزاز . لم أتوصل بعد إلى قضية مستخدم.
اتصال: 1 سلك
- سيستمر تشغيل الجهاز. بينما تنظر رقاقة PT1502 إلي كشاحن بطارية ليثيوم وجهاز تحكم في الطاقة . للتواصل مع الدائرة الصغيرة ، ستحتاج إلى استخدام سلكين: أحدهما لإدارة الطاقة والآخر لإشارة حول بطارية ميتة. من أجل الاهتمام ، سيكون من الممكن قياس جهد البطارية باستخدام خط آخر.
- بالطبع ، شحن بطارية الليثيوم غير صحيح للقياس على أساس الجهد. لذلك ، أضفت رقاقة عداد الطاقة INA219 خاصة
امدادات التيار الكهربائي: 3-5V ، يوصي 3.3V
اتصال: 2 الأسلاك I2C
كما سنرى أدناه ، فإن جهد التيار الكهربائي 3V يخلق بعض الانزعاج في الاتصال. أفضل تشغيل رقاقة العداد من 2.7 فولت أو أقل. ولكن بعد الاطلاع على العديد من الخيارات على أساس السعر / الحالة / توافر ، ما زلت لم أجد أي شيء في 2.7V. سوف أكون ممتنا للمساعدة.
- يبقى فقط توفير واجهة تصحيح الأخطاء SWD (3 أسلاك) و UART للتصحيح (سلكان آخران)
كنت دائمًا مهتمًا بالسؤال عن سبب الحاجة إلى وحدات التحكم التي تحتوي على عدد كبير من المنافذ ، وقد عدت بسهولة 39 الكفوف اللازمة لوظائفي. وهذا ليس عد الكوارتز ، إعادة تعيين ، والسلطة. وهناك أفكار حول ما يجب القيام به مع أكثر من عشرة (على سبيل المثال ، يمكن توصيل الشاشة عبر واجهة متوازية Intel 8080 أو Motorola 6800).
يمكنك ، بطبيعة الحال ، المسمار الخارجيين منفذ I2C لتقليل عدد الأرجل المستخدمة. لكن أولاً ، هذه مكونات إضافية على اللوحة ، وثانياً ، يصبح جزء البرنامج أكثر تعقيدًا ، وثالثًا ، لا تزال ميكروكنترولر الصغيرة لديها ذاكرة قليلة ، وحيث توجد ذاكرة كافية ، هناك أيضًا منافذ كافية. لذلك لا أرى أي سبب لتعقيد كل شيء - فليكن هناك 39 سطرًا.
طعام
مع امدادات الطاقة ، ليس كل شيء واضح جدا. ربما يمكنك تشغيل جميع الأجهزة من 3.3 فولت وتهدئة. لكننا ، مع ذلك ، سنقوم بصنع جهاز محمول ، مما يعني أننا بحاجة إلى التفكير في توفير الطاقة. لذلك تحتاج إلى محاولة اختيار الجهد امدادات أصغر. أدناه ، سأقدر نوع المدخرات التي يمكنك محاولة تحقيقها.
فيما يلي البيانات الخاصة بجميع الأجهزة الموجودة في اللوحة - في هذا النموذج ، سيكون أكثر ملاءمة لاختيار مجال الطاقة الذي تتصل به هذا الجهاز أو ذاك.
من السهل معرفة أن بعض الأجهزة يمكن أن تعمل من خلال الفولتية المنخفضة بما فيه الكفاية (من 1.8 فولت). يمكن للآخرين العمل بشكل مريح من 2.7V. أخيرًا ، لا تعمل الأجهزة المتبقية أدناه 3V. يحتاج squeaker ، بشكل عام ، إلى 5 فولت ، لكن بالنسبة لي سيتم تشغيله بأعلى جهد - من البطارية ، بغض النظر عن مقداره.
مع قوة العرض ليست مفهومة تماما حتى الآن. في وصف وحدات العرض مع ali ، يكون النطاق من 3 إلى 5 فولت ، بينما في ورقة البيانات على وحدة تحكم المصفوفة SSD1309 ، يكون النطاق من 1.65 إلى 3.3 فولت. أفترض أن هناك حاجة إلى 3V للتأرجح في محول التعزيز على لوحة وحدة العرض ، في حين أن 1.65V كافية للمنطق. كما يتضح من المناقشات حول التخطيط ، فمن المنطقي التخلي عن وحدة العرض وتوصيل الشاشة مباشرة ، والتي ستشغل الشاشة من مجال 2B.
لدي نفس المنطق حول نظام تحديد المواقع العالمي - تشير مصادر مختلفة إلى فرق جهد مختلفة. حتى الآن ، ليس لدي فهم للوحدة التي سأستخدمها في النهاية ، لذلك دع المتلقي يتعطل في نطاق 2.7V.
مع بطاقة SD ليست واضحة على الإطلاق. توضح المواصفات بشكل غامض أنه يجب بشكل عام تشغيل البطاقة من 3.3 فولت ، ولكن البطاقات الحديثة ذكية بما فيه الكفاية ويمكن أن تفهم أنها عالقة في جهاز الجهد المنخفض ويمكن أن تتحول إلى طاقة من 1.8V. لكن آلية اختيار الطعام ليست واضحة للغاية. سوف أطعم البطاقة من 2B ونرى ما سيحدث. لن ينجح - سوف يعمل من 3V.
لذلك ، تلوح في الأفق 4 حافلات السلطة - 2V ، 2.7V ، 3V والبطارية. أرغب في وضع جميع المستهلكين الذين يتناولون الطعام ويعملون باستمرار (وهذه هي وحدة التحكم ونظام تحديد المواقع) على الحافلة ذات الجهد المنخفض ، لكن في الوقت الحالي لم أقرر بعد على وحدة GPS (وبالتالي مصدر الطاقة - 2 أو 2.7V) ، مما يعني أنه سيكون من الضروري نوع من الحل العالمي. سأحاول فصل اللوحة حتى يكون من السهل استخدام أحد الجهد أو الآخر.
من أين تحصل على الكثير من الضغوط المختلفة؟ حتى في المراحل الأولى من المشروع ، نظرت إلى الدائرة الدقيقة PT1502
وتمكنت من تجربتها في مشروع آخر . بالإضافة إلى الشاحن الخاص ببطارية الليثيوم ، يحتوي هذا الدائرة المصغرة على ما يصل إلى 3 مصادر طاقة - نبضة واحدة ومفاتيح تحويل خطية. هنا ، ومع ذلك ، لا يتم تنظيم الجهد على واحد منهم وهو 3V - سأحاول تشغيل INA219 منه. مصادر الطاقة المتبقية 2 ليست مشكلة ، ل هناك يمكنك اختيار الجهد.
تقدير الاستهلاك ليس ناجحًا جدًا. يشار إلى الحد الأقصى للاستهلاك في أوراق البيانات - وهذا يكفي لحساب طاقة الترانزستورات الرئيسية ، ولكن هذا لا يكفي لتقدير سعة البطارية المطلوبة. حتى الآن ، سأختار البطارية على أساس المساحة المتاحة في العلبة ، وهناك سأقيس الاستهلاك الفعلي بالفعل.
قد يطرح السؤال ، ولكن كيف تتوافق الأجهزة مع الفولتية التشغيل المختلفة؟ هيا بنا
- يتم تمييز جميع أرجل الاتصال الخاصة بوحدات التحكم الدقيقة على أنها "خمسة فولتات متسامحة" (باستثناء UART2 على أرجل PA2 / PA3) ، مما يعني أنه إذا ظهر 3.3 فولت من أعلى جهاز جهد فلن يحدث شيء سيء
- يمكن توصيل مقياس التسارع ، على الرغم من أنه مدعوم من 2 فولت ، بالتوازي مع الأجهزة ذات الجهد العالي في الحافلة. يمكن حل هذه المشكلة بسهولة - من خلال الدائرة الكهربائية MMA8452Q ، يمكن توصيل الاتصالات بشكل منفصل من مصدر طاقة آخر (عبر جهاز "الجهد العالي" على الناقل نفسه)
- سأحاول تشغيل بطاقة SD من نفس الجهد الكهربي مثل المتحكم ، مما يعني أنه لا يوجد شيء يحتاج إلى التنسيق.
- يجب على GPS و Bluetooth تناول الجهد "المنخفض" من المتحكم دون أي مشاكل. الأمر نفسه ينطبق على الأجهزة الأخرى ذات الجهد العالي
, , . DC-DC , ( , ). , . — DC-DC, , . , .
?, 90%, DC-DC . . , DC-DC .
. 900 4.1 3.5 ( ). DC-DC 90% ( ). 100. .
, 900 100 9 . — 9.3 3.3, 11.4 2.7, 15 2. , , , .
لقد تعاملت مع مسألة اختيار متحكم مدروس - لقد لعبت مع المُكوِّن لفترة طويلة ، حيث أزن إيجابيات وسلبيات كل خيار من الخيارات. أعجبتني بالفعل ميكروكنترولر STM32 ، لذلك أنا لا أرى وجهة نظر في اتجاه وحدات التحكم الأخرى دون حاجة خاصة. علاوة على ذلك ، يوجد في خط STM32 وحدات تحكم لكل ذوق وأي طرف. تتيح لنا الخبرة المكتسبة في المراحل السابقة من مشروعي تضييق نطاق اختيار وحدة التحكم استنادًا إلى قائمة الأجهزة الطرفية ، وروابط البرامج المكتوبة بالفعل ، بالإضافة إلى الميزات التي أود تنفيذها في المستقبل.لذلك ، من الواضح تمامًا أن ذاكرة STM32F103CB التي تبلغ سعتها 20 كيلو بايت صغيرة بالتأكيد - لا يوجد ما يكفي من المخازن المؤقتة ذات الحجم المناسب للتواصل مع بطاقة SD و USB. لم أبدأ حتى الآن في تنفيذ الكثير من الوظائف المخطط لها ، لكن الأمر استغرق أكثر من 19 كيلو بايت بالفعل. لكن مع توفر القدرة على المعالجة ، كما اتضح ، هذا ليس ضروريًا بشكل خاص. إذا تم الضغط على جميع الاتصالات مع الأجهزة الطرفية في DMA ، فتبقى نسبة اثنين بالمائة فقط من نصيب المعالج المركزي.بعد تقدير قائمة ما أحتاجه من وحدة التحكم ، حسبت ما يلي:- > = 128 كيلو بايت فلاش (يستخدم حاليا حوالي 50 كيلو بايت)
- > = 40 كيلو بايت من الذاكرة (يتم التقاط 19 كيلو بايت الآن)
- > = 40 قدم GPIO (انظر المنطق أعلاه)
- > = 40 ميجا هرتز (لا تحتاج كثيرًا ، الشيء الرئيسي هو تقليل استهلاكك)
- DMA (أنا حقا أحب ذلك)
- > = 2x I2C ،> = 3x UART ،> = 1 SPI
- SDIO (محرك أقراص فلاش عبر SPI بطيء جدًا)
- USB Full Speed, High Speed
- ( )
- LCD ( FSMC)
STMicroelectornics ميكروكنترولر ليست سوى عشرة سنتات - لكل ذوق ولون ومحفظة. في البداية حاولت اختيار وحدة تحكم للمتابعة من السلسلة. الحكام L0 و F0 ضعيفان للغاية ولا توجد ذاكرة كافية ، على العكس من ذلك ، S7 و H7 ، غنيان بالميزات ، لا يوجد SDIO في L4 (UPD: SDIO هو ، لم يأتيا على ذكرهما في صفحة العنوان في السلسلة). من بين باقي المسلسلات ، يمكنك اختيار شيء بناءً على احتياجاتي ، حيث لا يوجد لدي متطلبات خاصة.سلسلة STM32WB تثير إعجاب وجود البلوتوث ، لكن غلاف VFQFPN68 يبرد إلى حد ما الرغبة في استخدامه في مشاريع الهوايات. ولم أجد مثل هذه التحكم في تجارة التجزئة.لقد استهدفت صندوق LQFP64 - وهو ما يكفي في عدد الأرجل ، ولكنه ليس كبيرًا في نفس الوقت ويمكن لحامه في المنزل. من الجيد أن يكون هناك مكون CubeMX حيث يمكنك تحديد ما تحتاج إليه باستخدام المرشحات.اخترت وحدة تحكم STM32F103RB لثلاثة أسباب. أولاً ، لقد درست بالفعل سلسلة F103 جيدًا مع لوحة Blue Pill. بشكل عام ، وحدة تحكم STM32F103CB مناسبة تماما لي ، فقط الذاكرة لم تكن كافية. ثانياً ، لدي بالفعل محمل الإقلاع ورمز منخفض المستوى لوحدة التحكم هذه ، بينما يجب إعادة إنشاء الآخرين. وثالثا ، منذ حوالي عام ، كنت سعيدًا بالفعل بشراء 3pcs STM32F103RB. ثم لم أقم بإجراء دراسة مفصلة لوحدات التحكم المتوفرة ، لكنني ببساطة التقطت وحدة تحكم أكثر سمكًا من خط F103. لا تتخلص منها الآن :)كما لاحظت من قبل ، ليس لدي متطلبات محددة خاصة بالأجهزة الطرفية أو الأداء. لكن إذا واجهت شيئًا ما ، فحينها لدي بالفعل وحدات تحكم من خط F4 (إذا كان هناك حاجة إلى شيء أكثر قوة) ، أو L152RD ، إذا كنت بحاجة إلى تحديد شيء مع الاستهلاك (UPD: نظرت أيضًا إلى L433RC). ما يرضي ، مع STM32 ، تتوافق جميع وحدات التحكم من طرف إلى طرف تقريبًا ، ويمكن لحام F4 و L1 / L4 تقريبًا دون تغيير اللوحة. يمكنك حتى جمع ومقارنة الاستهلاك مع أعضاء الكنيست المختلفة.بضع كلمات عن الجسم والتخطيط
قررنا على التفاصيل. حان الوقت لرسم رسم تخطيطي ، ثم تتبع اللوحة ، ثم محاولة وضعها في العلبة. أم لا؟ للاعتراف ، في البداية ذهبت بهذه الطريقة ، لكنني توصلت إلى استنتاج مفاده أن كل شيء يجب القيام به بترتيب عكسي. حسنا ، أو على الأقل في نفس الوقت.
أود الحصول على جهاز مضغوط. ولهذا تحتاج إلى فهم دقيق لحجم المساحة المتاحة ، بدوره ، لفهم مكان وضع اللوحة وحجمها ، وما حجم البطارية التي يمكن أن تناسبها ، وأين تضع الأزرار والشاشة وموصل USB والمكونات الخارجية الأخرى ، بالإضافة إلى معرفة كيفية تركيب المكونات ويمكنك ما إذا كان من المناسب وضع الأسلاك بينهما. من غير المجدي ببساطة البدء في رفع لوحة دون فهم كل هذه الأشياء. لذلك تبين أنك تحتاج أولاً إلى التعامل مع الجسم والتخطيط ، ثم الانتقال إلى الدائرة.
أيضا ، في عملية رسم القضية ، اضطررت إلى مراجعة اختيار المكونات عدة مرات. في البداية اعتقدت استخدام
شاشة 128 × 64
0.96 بوصة رخيصة (مساحة العمل 21.7 × 11.2 مم) ، لكن هذه الشاشة بدت مجهرية تمامًا على خلفية علبة أكبر بكثير. بعد ذلك
، تم طلب
شاشة مقاس
1.3 بوصة (مساحة العمل 29.4 × 14.7 مم) ، لكنها لم تتحسن كثيرًا. ثم حصلت
على شاشة مقاس
1.54 بوصة (35 × 17.5 مم) - تبدو طبيعية إلى حد ما. هذا هو حاليا خيار العمل الرئيسي.
وفقًا للتقديرات ، كان من المفترض أن تكون شاشة العرض مقاس 1.8 "-2" أفضل ، لكن هذه الألوان تأتي بالفعل ذات ألوان ودقة أعلى ، وبالتالي سيكون حجم الشاشة المؤقتة كبيرًا بما يكفي لوحدة التحكم الخاصة بي (35 كيلو بايت بدلاً من 1 كيلو بايت). حسنًا ، قد يكون دفع الشاشات الكبيرة في العلبة مشكلة أيضًا أقواس الهبوط لهذه الوحدات أكبر بكثير من المساحة النشطة للعرض.
بينما كنت أكتب هذه المقالة على علي ، ظهرت
شاشات أحادية اللون مقاس 2.42 بوصة بنفس الدقة (128 × 64) وبنفس درجة الربط 1.54 بالضبط. لقد طلبت اختبارًا واحدًا - هناك فرصة لإلصاقه بقضيتي دون زيادة كبيرة في الجهاز.
هناك نقطة مهمة أخرى في مرحلة العمل في القضية وهي فهم أن وحدة العرض التي تم شراؤها تشغل مساحة كبيرة وتقلل إلى حد كبير من مساحة اللوحة الرئيسية. لذلك ، قررت التخلي عن وحدة العرض النهائية ، وبدلاً من ذلك ، ضع الشاشة وملزمتها على لوحتي. زاد عدد الأجزاء في الدائرة قليلاً ، لكن التصميم ككل كان مبسطًا إلى حد كبير وأصبح أكثر إحكاما.
لدي أفكار مماثلة حول موضوع وحدة GPS. ليست كبيرة ، ولكن بغض النظر عن كيفية وضعها أو تتداخل ، أو يتم إغلاق الهوائي بواسطة بعض البطاريات. قد تكون فكرة جيدة وضع حشوة الوحدة على لوحتك ، ووضع الهوائي في مكان آخر.
عمل على القضية أيضا جعل من الممكن تحديد حجم وقدرة البطارية. في الحجم المتاح ، تم العثور على بطارية بسرعة 900 مللي أمبير في الساعة - سنركز عليها. أرغب في أن يعمل جهازي على بطارية مدتها 15-20 ساعة ، مما يعني أن الاستهلاك يجب أن يكون في مستوى 45-60 مللي أمبير.
في الوقت الحالي ، لا يمكنني استدعاء العمل على الهيكل. أولاً ، ما زالت مسألة اختيار بعض المكونات (العرض ، GPS) مفتوحة. ثانياً ، ليس من الواضح ما إذا كانت دائرتي ستبدأ من حيث المبدأ أم أنها ستكون ضرورية لتغيير أي شيء بشكل جذري. ثالثًا ، تبين أن اللوحة مضغوطة جدًا - لست متأكدًا من أنني أستطيع حلها وتصحيحها وتصحيحها. لذلك ، ما زلت أركز في هذا المقال على قضايا الدوائر ، وسأتحرك بخطوات أبسط وأكثر قابلية للفهم ، وسأتحدث عن القضية في المرة القادمة. هنا لديك اثنين من الاداءات والصور للبذور.




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

يقوم المقاوم R3 بتعيين الشحنة الحالية. بشكل افتراضي ، هذا يتوافق مع 470mA. ربما وفقا لنتائج الاختبار ، سوف أقوم بتقليل قيمة هذا المقاوم إلى 510 أوم ، والتي سوف تعطي شحنة تبلغ حوالي 900mA (1C).
يمكن لوحدة التحكم الإبلاغ عن وضع الشحن الحالي باستخدام القدم CHG_STAT. علاوة على ذلك ، فهو يعرف كيفية إعطاء الإشارات بقدر 3 - إنه يشحن ، إنه لا يشحن ، وقد تم شحنه بالفعل ، لكنه لا يزال متصلاً بالمخرج. في الإصدار الأول ، يضغط الترانزستور الداخلي على الأرض ويمكن بسهولة التعرف عليه بواسطة وحدة التحكم. في النموذج الثاني ، يتم إغلاق الترانزستور تمامًا وتدخل الساق في حالة مقاومة عالية. باستخدام قوة المتابعة ، من السهل قراءة هذه الإشارة أيضًا بواسطة وحدة التحكم.
ولكن مع الدولة الثالثة ليست بهذه البساطة. هناك ، يكون الترانزستور مائلاً ويتدفق تيار 20 μA خلاله. من أجل النظر في مثل هذه الحالة ، طُلب مني اختيار مصعد بحيث يكون حوالي نصف التغذية على ساقي. ثم سيكون من الممكن اكتشاف مثل هذه الحالة بسهولة باستخدام ADC. باستخدام قانون أوم نحصل على R5 = 1V / 20mkA = 50k.
كما قلت ، فإن رقاقة PT1502 ليست مجرد شاحن ، ولكن أيضًا وحدة تحكم صعبة لكل الطاقة. تراقب الدائرة الدقيقة الفولتية الموجودة في الدائرة ، وباستخدام إشارة RESET ، يمكنها التحكم في المعالج الرئيسي (يقولون أنه لا يزال عليك البدء مبكرا ، لم تستقر الطاقة بعد).

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

يتم ضبط الجهد الناتج من قبل الجهد في محطة BUCKFB وتعيين إلى 2V مع طاقة البطارية. ولكن مع قوة ذات فولتين ، تم اكتشاف مشكلة واحدة - لن يعمل USB. أي سيتم شحن البطارية ، لكنها لن تكون قادرة على نقل البيانات - ببساطة لا يستطيع المتحكم الدقيق توصيل إشارات إلى ناقل USB بسعة كافية. توصي Datashit بجهد لا يقل عن 2.7V ، وأفضل من 3.3V.
من أجل عدم حظر مصدر طاقة آخر والتفكير في التبديل بينهما ، قررت فقط ضبط نسبة الفاصل R1 / R4 + R7. مع هذا التضمين ، يعمل الدافع بشكل مستمر. بمجرد توصيل الجهاز بمنفذ USB ، يفتح الترانزستور ويقوم بتحويل R7. تتغير نسبة مقاومات القيادة ونحصل على 3.16 فولت في الخرج (لا يزال بإمكاننا اللعب مع التصنيفات ونحملها حتى 3.3 فولت).
يحتوي PT1502 أيضًا على عنصري تحكم خطي.

سيتم توصيل أي مكونات منخفضة الاستهلاك (INA219) أو قصيرة الأجل (بلوتوث) بوحدات التحكم هذه ، وبالتالي فإن كفاءة هذه المصادر لن تكون مشكلة. يمكن ضبط جهد تزويد LDO2 باستخدام إشارات LDO2_SETx.
نظرًا لأنه لا يزال لدي أسئلة مفتوحة تتعلق بجهد الإمداد ، فقد قررت فصل وصلات العبور لتحديد وضع LDO2_SETx. أيضًا ، لكي أكون قادرًا على قياس الاستهلاك الحقيقي في الحافلة ذات الصلة ، سأقوم أيضًا بتجميع العبور JP1 / JP2 / JP3 في المشط.
عند الانتهاء من موضوع مزود الطاقة ، نحتاج إلى الإشارة إلى قوة الشاشة. كتبت أعلى قليلاً ، باسم الاكتناز ، اضطررت إلى التخلي عن وحدة العرض التي تم شراؤها والتقاط الشاشة مع الربط إلى لوحتي. تتطلب هذه الشاشة محولًا خاصًا من 7 إلى 16 فولت. مريح ، يمكن تشغيل هذا المصدر وإيقاف تشغيله باستخدام إشارة EN. يتم نسخ الدائرة نفسها من ورقة البيانات من الداعم ، بالضبط نفس الشيء يستخدم في وحدات العرض مع علي.

PT1505بتصفح الإنترنت بحثًا عن بدائل لشريحة PT1502 ، صادفت أختها الكبرى - شريحة PT1505. هذا هو تقريبا وحدة تحكم الطاقة نفسها ، ولكن مع ترقية إضافية. باستخدام وحدة التحكم هذه ، سيكون من الممكن تقليل عدد العناصر الموجودة على السبورة. لسوء الحظ ، لم أجد رقائق PT1505 للبيع.
بالمناسبة ، سأكون ممتنًا إذا كنت تعرف وحدات التحكم في الطاقة المماثلة من الشركات المصنعة الأخرى.
الآن قليلا عن قوة متحكم. الدائرة الكهربائية الصغيرة كبيرة الحجم ولها 6 خطوط كهرباء - 4 للجزء الرقمي ، ومزود طاقة تمثيلي واحد وواحد للساعة. وفقًا لورقة البيانات الموجودة على STM32F103 ، يجب أن يكون هناك مكثف 100nF على طول المكثف ، وعلى كل خطوط الطاقة (ربما ، باستثناء الساعة) ، وواحد أكثر شيوعًا عند 4.7uF.
ولكن في ورقة البيانات على STM32F4 يقال إنه على الرغم من أن المتحكمات الدقيقة متوافقة عملياً من حيث المخرجات ، إلا أنها لا تزال لديها أنظمة طاقة مختلفة بعض الشيء. لذلك على المحطتين يجب أن يكون هناك 2.2mkF المكثفات بين المحطة والأرض (وليس بين الأرض والقوة ، كما هو الحال في F1). لذلك ، اضطررت إلى النظر في كلا الخيارين ولمراقب متحكم محدد لجزء فقط من المكثفات.

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

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

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

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

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

نظرًا لأن جهازًا بثلاثة فولت (INA219) سيكون جالسًا على حافلة I2C ، فأنت بحاجة أيضًا إلى القيام بأقواس بثلاثة فولتات

موصل SWD هو المعيار أيضا. هناك حاجة إلى الصمام الثنائي لتحويل الطاقة بين البطارية والطاقة الخارجية من مبرمج.

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

الحقيقة هي أن الزر الأول لن يكون زرًا فحسب ، بل سيعمل أيضًا كمحول للجهاز - يتم توصيل إشارة BTN1 بشريحة تحكم الطاقة PT1502. عند إيقاف تشغيل الجهاز ، لا يتم توفير الطاقة إلى المتحكم الدقيق والمستهلكين الآخرين. هذا هو السبب في أن الزر متصل ليس بالكهرباء (VCC) ولكن بالبطارية (BAT). بالضغط على هذا الزر ، سيقوم PT1502 بتشغيل جميع مصادر الطاقة وبدء تشغيل متحكم دقيق. بعد ذلك ، يمكن أن يعمل الزر كزر عادي. لكي لا أحرق المتحكم ذو الجهد العالي للبطارية ، قمت ببناء مقسم جهد صغير يدفع إشارة BTN1 إلى الإطارات الضرورية (ومع ذلك ، فمن الممكن بدون ذلك - يحتوي المتحكم الدقيق على مدخلات تتحمل 5 فولت)
الزر الثاني غير ملحوظة. داخل المعالج ، سيتم تضمين سحب على الأرض ، وسوف يغذي الزر وحدة إلى الخط ...
الانتقال بسلاسة إلى الأطراف الثقيلة. USB

سيصل موصل USB خارج الجهاز ، ويمكن للكهرباء الساكنة السير هناك. اتضح أن هناك دوائر كهربائية خاصة (مثل STF202-22) تحمي ميكروكنترولر من التأثيرات الخارجية.
ولكن هناك شيء آخر مثير للاهتمام هنا. يتم إخفاء المقاوم 1.5k داخل رقاقة STF202 ، وهو متصل بين الساق VBUS وخط D +. هذه المقاومة مطلوبة وفقًا لمواصفات USB - فهي تخبر المضيف بأنها عالقة في شيء ما. في العديد من الدوائر ، يرتبط هذا المقاوم دائمًا بين الطاقة وخط D +. بمجرد أن يرى المضيف مثل هذا المقاوم على خط D + ، يبدأ على الفور التواصل مع الجهاز. هذا ليس دائما مناسبا ، كما قد لا تكون بعض الأجهزة جاهزة على الفور للاتصال.
هذا مجرد حالتي. هناك خدعة بسيطة لهذا (تجسس
هنا ). يمكنك تشغيل وإيقاف هذا المقاوم باستخدام الترانزستور: نريد التواصل - نحن نشغل المقاوم ، نريد فقط أن نكون مدعوم من USB - أطفئه. عندما تلصق هاتفك المحمول في USB ، يسأل عادة "ماذا سنفعل؟ دمج البيانات أو مجرد رسوم؟ " - فيما يتعلق بالإلكترونيات ، يتعلق الأمر فقط بتوصيل المقاوم القابل للسحب.
ولكن كيف يمكنك معرفة ما إذا كان الجهاز عالقًا في USB؟ للقيام بذلك ، قدمت إشارة USB_PLUGGED ، والتي تمت إزالتها من أبسط المقسم.

يمكن أيضًا تغذية 5V من USB مباشرة على سفح متحكم - لا يزالون متسامحين مع 5V. ولكن فليكن بالفعل من خلال الفاصل.
التسارع الآن

المخطط مأخوذ من ورقة البيانات. يتم توصيل الوحدة النمطية عبر I2C ، ولكن للإشارة إلى متحكم أن هناك أخبار ، يتم استخدام خط المقاطعة أيضا. أيضًا ، نظرًا لأن INA219 ذي الثلاثة فولت لا يزال معلقًا على نفس ناقل I2C ، يتم تشغيل أرجل الاتصال الخاصة بمقياس التسارع أيضًا من ناقل 3B لتنسيق المستويات.
لقد ذكرت بالفعل أنني أود توفير الطاقة وإيقاف الأجهزة غير المستخدمة. لذلك يتم تشغيل قوة التسارع بواسطة الترانزستور.
بالمناسبة ، أنا حقا أحب ما يسمى الترانزستورات الرقمية - الترانزستور الكامل مع اثنين من المقاومات. هذا يوفر مساحة صغيرة على السبورة. إنه لأمر مؤسف فقط أنه مع طاقة ذات فولتين ، لم أتمكن من التقاط الترانزستور الرقمي مع بعض التيار اللائق على الأقل - 20-30 مللي أمبير كحد أقصى. لذلك كان على المستهلكين الأكثر شراسة أن يكونوا متصلاً بـ MOSFET.
المضي قدما GPS

يقع GPS على لوحة منفصلة ومتصل عبر الاسترجاع. نظرًا لأنني لم أقرر بعد في وحدة GPS ، فقد قمت بتوفير وحدتي طاقة مختلفتين. بالإضافة إلى ترانزستور الطاقة على جانب لوحة المعالج ، لا يوجد شيء أكثر إثارة للاهتمام.
سأقول بضع كلمات حول UARTs. في البداية ، خططت لاستخدام الكل - واحد لتحميل البرامج الثابتة والتصحيح ، والثاني لنظام تحديد المواقع والثالث للبلوتوث. لكن اتضح أن UART3 على نفس المسامير مثل I2C رقم 2 ، والتي خططت في الأصل لاستخدامها في الشاشة. كان علي الاختيار. ونتيجة لذلك ، توصلت إلى استنتاج مفاده أنه يمكنني تحميل البرامج الثابتة والتصحيح من خلال UART نفسه المحجوز لـ GPS (بالطبع ، يجب تعطيل GPS). حسنًا ، إذا كنت بحاجة إلى تشغيل نظام تحديد المواقع العالمي (GPS) نفسه ، فهذا يعني ، USB CDC (حيث يمكنك تحميل السجلات) و SWD. بعد ذلك بقليل ، تخلت عن فكرة استخدام I2C رقم 2 ، لذلك أصبح UART3 مجانيًا ، ولكن باسم توفير البطارية ، قررت التركيز على اثنين من UARTs.
بلوتوث

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

بالنسبة للجزء الأكبر ، كان لدي أسئلة في البطانات. في بعض الأحيان هناك مخططات حيث وضعوا المقاومات في 1K. وضعت بعض الدوائر 22 مقاومات أوم ، على ما يبدو كحماية ضد ساكنة. ومع ذلك ، فإن غالبية الدوائر لا تقدم مقاومات تمريري ، وربما سأذهب بنفس الطريقة. أنا أيضا لن يكون احصائيات منذ ذلك الحين سيعيش محرك الفلاش داخل العلبة.
يبدو أن ترانزستور الطاقة لن يكون مطلوبًا أيضًا ، وأعتقد أن البطاقة ستعمل دائمًا - إنها مسجِّل. ولكن نظرًا لأن هذه لوحة اختبار ، فليكن. نفس الشيء حول الملف - يبدو أن هذا التضمين في النسخة الأصلية كان بجنون العظمة ، أو تم استخدام البطاقة في بيئة ذات قوة ضعيفة أو تداخل. أعتقد أن لحام هناك المقاوم الصفر ومحاولة دون لفائف.
عرض
أتيحت لي الفرصة لتوصيل واحدة من وحدات العرض مع ali عبر SPI والمقارنة مع الاتصال عبر I2C. . SPI I2C. (4 SPI 10 I2C), I2C, SPI.

BS0 , 3-Wire SPI, 4-Wire SPI. D/C (/), 3-Wire SPI. , 4-Wire , .. SPI STM32 8 .
.
. — .
في حالة وجود محرك vibromotor بدلاً من مكبر الصوت ، فقد وفرت الصمام الثنائي الواقي. ومع ذلك ، سمعت الرأي القائل بأن الصمام الثنائي واقية أيضا لا يضر مكبر الصوت.في الحديد
أعلاه ، وصفت أفكاري حول موضوع السلك. في الواقع ، لقد حاولت حتى إنشاء لوحة لهذه القضية. لسوء الحظ ، كانت اللوحة ضيقة للغاية. اضطررت إلى استخدام التثبيت على الوجهين ، والتحول من المكونات 1206 إلى 0805 ، ولكن مع ذلك ، كانت المكونات على اللوحة ضيقة جدًا. علاوة على ذلك ، كل تغيير في المخطط كان الألم ، لأنه اضطررت إلى إعادة تكاثر نصف اللوحة تقريبًا.لذا فقد تعثرت معها لعدة أسابيع ، لكن المجلس هزمني وتركت المشروع لمدة عام تقريبًا. ركلة تصبح هنا في هذا المقال . ولكن في الحقيقة ، هذه ليست سوى نموذج أولي ، والأول من عدة. لماذا تهتم بلوحة مضغوطة فائقة ، حيث لا يمكنك الزحف باستخدام مكواة لحام أو مذبذب ، إذا كنت تستطيع تصحيح كل شيء على لوحة كبيرة؟, 100100 2 JLCPCB . . 2.42”, , , , . .

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

تتلاءم البطارية جيدًا مع الشاشة ، لكن كان عليّ أن أقوم بصنع صندوق صغير من أجل رفع الشاشة بالقرب من الغطاء العلوي.بضع كلمات على لوحة التجميع. لقد قمت بحل كل شيء في حوالي 3 أمسيات ، وحوالي أسبوع في المساء استغرق الأمر مني مهلًا للتصحيح والتحقق من جانب البرنامج. لدهشتي ، لم تكن هناك صعوبات أساسية في إنشاء المجلس وبدأ كل شيء تقريبًا كما ينبغي.اتضح أن لحام 0805 لم يكن أكثر صعوبة بكثير من 1206 ، بل هو صالح للأكل تماما في المنزل مع عدسة مكبرة. يمكنك حتى التأرجح في 0603. ولكن مع لحام متحكم وموصل الشاشة (لديهم 0.5 ملم الملعب) ، كان علي أن العبث. على موقع يوتيوب ، يبدو الأمر كما لو كان للناس بطريقة ما - لقد قضيته للتو بمكواة لحام وهذا كل شيء ، لكن كل استنتاجاتي عالقة على الفور.. - , - “”. USB — ( !). , .
FPC , ( ). “” .
, , . .
عند إعداد اللوحة ، اتضح أنه لا يوجد أي اتصال أرضي في أي مكان حيث يمكنك توصيل المسبار بمذبذب الذبذبات. اضطررت إلى التشبث موصل USB مع تمساح. سيكون من الضروري توفير مواقع الاختبار في الإصدار التالي من اللوحة.كشفت الدوائر أيضا عن مشاكل. لذلك كانت حقيقة غير متوقعة تمامًا أن شريحة PT1502 الموجودة على دبوس RESET تولد جهد 3 فولت (كنت متأكدًا تمامًا من وجود شيء يشبه المجمع الجامع). نتيجة لذلك ، تسربت هذه 3Vs إلى خط الكهرباء ، على الرغم من أنني خططت أن يكون هناك 2V فقط هناك.فيما يلي رسم تخطيطي مبسط لما حدث
بفضل العقل العظيم والرجال ذوي easyelectronics.ru ، تم تحديد هذا المفصل بإضافة صمام ثنائي واحد. بعد إجراء عملية جراحية بسيطة ، عمل هذا الجزء كما ينبغي.علاوة على ذلك ، وحدة بلوتوث (مدعوم من 2.5V) أنا مرتبطة بطريق الخطأ إلى القوة الرئيسية (2V) ، بدلا من 3V ثابت. الآن ، لا يمكن تشغيل البلوتوث بالنسبة لي إلا عند توصيل USB ، عندما يرتفع جهد الطاقة الرئيسية إلى 3.3 فولت.من حيث المبدأ ، سيكون من الممكن التلويح بالمشارط ولحام البلوتوث إلى القوة الصحيحة ، لكن UART2 التي يتصل بها البلوتوث ليست متسامحة مع 5V (هو نفسه قرأها في ورقة البيانات في مرحلة التحليل ، وقد لاحظ بنفسه هذا في النص أعلاه ، وفي النهاية نسي ذلك عند توصيل اللوحة ). لذلك ، فإن توصيل البلوتوث بالطاقة أعلى من طاقة المتحكم الدقيق أمر محفوف ... في الإصدار التالي من اللوحة ، أقوم فقط بتوصيل البلوتوث ببعض UART الأخرى.DC-DC — 2, USB 3.16 ( 3.3). : . . .
أخيرًا ، أثناء العمل على السبورة ، ما زلت لا أفهم كيفية تشغيل بطاقة SD بشكل صحيح من الجهد المنخفض. غوغلينغ قصيرة لا تؤدي إلى أي شيء. من الواضح أنك تحتاج إلى أن تغمر نفسك في قراءة مواصفات الصفحة الضيقة (والتي ، بالإضافة إلى ذلك ، مغلقة جزئيًا). في غضون ذلك ، أنا أقصر دائرة R7 وأصبحت اللوحة مدعومة الآن بقوة 3.16 فولت (3.3 فولت). سأترك الأمر بهذه الطريقة خلال الشهرين المقبلين ، بينما سأعمل على جزء البرنامج.يتحدث عن البرمجيات. والمثير للدهشة (على الرغم من أنه متوقع تمامًا) ، ولكن بشكل عام ، بدأ كل شيء دون مشاكل. منذ أن قمت بالتبديل بين ميكروكنترولر من نفس السلسلة (من F103CB إلى F103RC) ، لم أكن بحاجة إلى تغيير جزء البرنامج. فقط تصحيح الأرقام دبوس ، لكنه أضاف إدراج الترانزستورات. ومع ذلك ، كانت هناك لحظات غير تافهة اضطررت إلى العبث بها.الأول هو طاقة البطارية. قمت بتصحيح اللوحة باستخدام طاقة USB وكل شيء سار بشكل جيد بشكل عام. لكن المجلس بإصرار لم يرغب في تشغيل البطارية. أي
يمكن أن يعمل (إذا قمت بتشغيله عند توصيل USB ، ثم اسحب السلك) ، لكنه لا يعمل على البدء في وضع بارد.وفقًا لتصميم رقاقة PT1502 ، يجب أن تبدأ اللوحة بهذا الشكل. يقوم المستخدم بالضغط على زر BTN1 وبعد ثلث ثانية تقوم الشريحة بتشغيل جميع مصادر الطاقة. عندما يكون كل شيء على ما يرام مع الطاقة ، تقوم PT1502 "بإطلاق" إشارة إعادة تعيين ، وبالتالي بدء متحكم. يقوم المعالج بدوره بتعيين الإشارة PWR_HOLD إلى إشارة واحدة ، مما يشير إلى أنها قد بدأت. بعد ذلك ، يقوم PT1502 بتزويد الدائرة بالكهرباء بانتظام حتى يخفض متحكم الإشارة PWR_HOLD إلى الصفر.. PWR_HOLD . , , - , . pull-down PWR_HOLD, , ( ). . .
عندما يضغط المستخدم على الزر (الخط البرتقالي) ، تعمل رقاقة PT1502 على تشغيل الطاقة (الخط الأرجواني). كل هذا يحدث لفترة طويلة (300 مللي ثانية) قبل الأحداث على هذا الموجي. ثم يحدث شيء مثير للاهتمام. PT1502 تطلق RESET (الخط الأزرق) ، يبدأ المعالج ويؤدي لسبب ما إلى خفض خط الزر إلى الصفر. على الرغم من أن المتحكم الدقيق لا يزال يحاول رفع خط POWER_HOLD (الخط الأخضر) - لقد فات الأوان ، فقد أغلق PT1502 بالفعل جميع مصادر الطاقة. ثم هناك بعض التشنجات القليلة ، ولكن الدائرة لا تزال تموت بهدوء.السؤال هو ، من أين أتى الصفر على الزر؟ بيت القصيد هو خطأ غير واضح في محمل الإقلاع ، بسبب تعيين الضلع BTN1 على وضع الإخراج (ربما حدثت المعجزات أيضًا في الأرجل الأخرى في تلك اللحظة) وظهرت إشارة منخفضة هناك.ماذا كان يجب أن تصارع مع بطاقة SD. ببساطة لم يكن هناك وحدة SDIO في متحكم القديم ، لذلك اضطررت إلى دراسة هذه القطعة من نقطة الصفر. قضيت يومًا كاملاً تقريبًا أحاول الحصول على خريطة ، ونسخ أجزاء من التعليمات البرمجية من أمثلة على الإنترنت ، وما أنشأه CubeMX. على الرغم من أن البطاقة كانت قابلة للقراءة تمامًا على جهاز كمبيوتر ، إلا أنها لم تكن ترغب في بدء تشغيلها في حلقي. لقد أخطأت بسبب سوء لحام ، ومقاومات سحب محددة بشكل غير صحيح ، ودوائر خرقاء ، وأوراق بيانات يتم تفسيرها بشكل غير صحيح. ولكن لدهشتي ، بدأت بطاقة أخرى بنفس الكود وعلى نفس اللوحة بدون مشاكل. سيكون من الضروري دراسة هذه المسألة بمزيد من التفصيل.كانت هناك مشكلة أخرى مع البطاقة. بدس في خطوط مختلفة مع الذبذبات ، رأيت النشاط فقط على خط D0 ، بينما في D1-D3 كان هناك صمت - البطاقة عملت في وضع بت واحد. في HAL ، تم العثور على وظيفة HAL_SD_ConfigWideBusOperation () ، والتي يمكنها تمكين وضع النقل 4 بت. لسوء الحظ ، عندما تم تحويل البطاقة إلى وضع 4 بت ، دخلت الأجهزة الطرفية SDIO إلى RX FIFO Overrun العميقة وتوقفت عن العمل.تحولت المشكلة إلى أن تكون مثيرة للاهتمام للغاية. اتضح أنه يوجد داخل دالة HAL_SD_ReadBlocks () حلقة معينة تقوم باستقصاء إشارات SDIO. عند وصول بيانات جديدة من البطاقة ، ينقل هذا الرمز البايتات من المخزن المؤقت FIFO الداخلي إلى ذاكرة المستخدم. وبالتالي ، فإن البطاقة التي تم إرسالها بسرعة كبيرة إلى حد أن الرمز في HAL_SD_ReadBlocks () ببساطة لم يكن لديه وقت لنقل البيانات. اضطررت إلى خفض وتيرة الساعة للبطاقة مؤقتًا. حسنًا ، في المستقبل سأستخدم DMA ولا ينبغي أن تنشأ مثل هذه المشكلة من حيث المبدأ.الخلاصة والخطوات التالية
أولئك الذين توقعوا في هذا المكان أن يشاهدوا الجهاز النهائي ، سيتعين عليّ أن يخيب أملي - فقط لوحة الاختبار مكتملة ، وحتى ذلك فقط قطعة الحديد. أنت الآن بحاجة إلى بث الحياة فيه ، والقيام بالبرمجة ، وضبط الأوضاع والاستهلاك. حسنًا ، اكتب في الواقع رمز تسجيل - ولهذا السبب بدأ المشروع بالكامل.ومع ذلك ، بالنسبة لي شخصيا ، هذه المرحلة إنجاز كبير وهام للغاية. الإلكترونيات ليست تخصصي وأنا سعيد جدًا أن الجهاز بدأ التشغيل. تمكنت من ضخ ما يكفي في تصميم الدوائر ، ومطابقة العديد من الأجهزة ، الأسلاك لوحة ، واختيار المكونات وأكثر من ذلك بكثير.سأتحدث عن جزء البرنامج مرة أخرى. وكذلك حول الفروق الدقيقة في الإعدادات. والحقيقة هي أن هذا ملء كامل يجب أولا إحياؤها واختبارها. في الوقت الحالي ، تمكنا من تشغيل جميع الأجهزة على اللوحة (جيدًا ، باستثناء مكبر الصوت) ، ولكن فقط بكمية "بدأ التشغيل ويستجيب بطريقة ما". لم يتم كتابة أي منطق معالجة.خطط للمستقبل القريب:- قم بقيادة الإلكترونيات في أوضاع مختلفة ، تحقق من أن الدائرة لا تزال تعمل. إصلاح عضادات في الإصدار الثاني من اللوحة
- قياس استهلاك المحيط بأكمله وإيجاد طرق لتحسين الاستهلاك.
- قم بتجميع العديد من خيارات اللوحة على ميكروكنترولر مختلفة (مثل L152 أو L433)
- اقرأ مواصفات SD بدقة واعرف كيفية توصيل البطاقة بشكل صحيح في وضع إشارة الجهد المنخفض (1.8 فولت)
- جرب وحدات GPS مختلفة وأخيرًا ما الذي سأذهب إليه بعد ذلك
- طلب شريحة بوصلة منفصلة (على سبيل المثال ، HMC5883L أو HSCDTD008A) ومحاولة استخدامها بطريقة أو بأخرى
- قم بإعادة تشكيل الكود الداخلي ، وقم بترقية جميع المكتبات الرئيسية ، بدءًا من HAL
- أخيرًا ، ابدأ في كتابة الميزات. في الواقع تنفيذ ما كان الجهاز مخصص ل
على هذا ، اسمح لي بأخذ إجازتي. سأكون ممتناً للتعليقات البناءة والأفكار والمشورة بشأن تصميم الدوائر وتخطيط ثنائي الفينيل متعدد الكلور.مصادر:كودكود محملبلاتاالإسكان