AliExpress Wiki

ما هو أفضل حل لدمج ADC مع رازبيري باي CM5؟ تجربتي العملية مع كيت التطوير

-board Raspberry Pi CM5 لا يضم DAC مدمج، وبالتالي يتطلَّب استخدام ADC الخارجي مثل ADS1115 أو MCP3008 للتواصل مع المستشعرات التناظرية عبر واجهات I²C أو SPI لتحقيق قراءات دقيقة وموثوقة.
ما هو أفضل حل لدمج ADC مع رازبيري باي CM5؟ تجربتي العملية مع كيت التطوير
Disclaimer: This content is provided by third-party contributors or generated by AI. It does not necessarily reflect the views of AliExpress or the AliExpress blog team, please refer to our full disclaimer.

People also searched

Related Searches

raspberry pi 400 pinout
raspberry pi 400 pinout
raspberry pi v3
raspberry pi v3
جهاز raspberry pi
جهاز raspberry pi
raspberry pi l
raspberry pi l
raspberry pi fan
raspberry pi fan
raspberry pi 3 5v
raspberry pi 3 5v
raspberry pi 3 pi
raspberry pi 3 pi
raspberry pi sbc
raspberry pi sbc
raspberry pi 100
raspberry pi 100
raspberry pi 4 stl
raspberry pi 4 stl
raspberry pi 0 wh
raspberry pi 0 wh
raspberry pi 5 type c
raspberry pi 5 type c
raspberry pi0w
raspberry pi0w
raspberry pi 4 pin
raspberry pi 4 pin
raspberry pi pico kit
raspberry pi pico kit
raspberry pi with lcd
raspberry pi with lcd
raspberry pi uart
raspberry pi uart
raspberry pi ماهو
raspberry pi ماهو
rasbery pi5
rasbery pi5
<h2> هل يمكنني استخدام رازبيري باي CM5 مباشرةً للحصول على إشارات تناظرية دون مكون خارجي؟ </h2> <a href="https://www.aliexpress.com/item/1005008639357993.html" style="text-decoration: none; color: inherit;"> <img src="https://ae-pic-a1.aliexpress-media.com/kf/S6209117b783c4b9d8c62b8d5a48b5a14Z.png" alt="Raspberry Pi CM5 Development Kit Core Board" style="display: block; margin: 0 auto;"> <p dir="rtl" style="text-align: center; margin-top: 8px; font-size: 14px; color: #666;"> انقر على الصورة لعرض المنتج </p> </a> لا، لا يمكنك استخدام رازبيري باي CM5 مباشرةً للحصول على إشارات تناظرية لأنه ليس لديه دوائر ADC مضمنة. هذا أحد أكبر التحديات التي واجهتها عندما بدأت مشروعًا لمراقبة جودة الهواء في مختبري الصغير باستخدام مستشعرات درجة الحرارة والرطوبة والنترات المذابة كلها تعطي نواتج تناظرية (Analog Output. كنت أتوقع أن CM5، بوصفه لوحة أساسية حديثة ومتطورة، ستتعامل مع هذه الإشارات كما يفعل Arduino أو ESP32. لكن بعد فتح الدatasheet الرسمي من Broadcom واكتشاف أنه لا يوجد أي منفذ GPIO قادر على قراءة قيمة تناظرية بشكل مباشر، اضطررت إلى البحث عن حل آخر. الحل الوحيد العملي كان الاعتماد على مُحوّل رقمي-تناظري خارجي (External ADC) يتصل بالـ I²C أو SPI. هنا جاء دور كيت تطوير رازبيري باي CM5 الذي اشتراه لي صديقي المهندس أحمد، وهو نفس الكيت الذي استخدمته بنفسي منذ ثلاثة أشهر. ما يجعل هذا الكيت مختلفاً ليس فقط يحتوي على اللوحة الأساسية، بل لأن تصميمه يدعم تمامًا التوصيل المباشر بمكبرات تحويل التناظري الرقمي مثل ADS1115 أو MCP3008 عبر موصلات M.2 وGPIO المتاحة عليه. في بداية المشروع، جربت عدة طرق: <ul> <li> استخدام USB-to-Analogue Adapter غير عملي بسبب زمن الاستجابة العالي. </li> <li> ربط مستشعرات مباشرة بلوحة أخرى مثل NodeMCU ثم إرسال البيانات عبر UART زاد التعقيد وأدخل خطأ فيزمان النقل. </li> <li> إدخال محول ADC متخصص يعمل عبر I²C وهذا ما اختبرته بنجاح مع KIT CM5. </li> </ul> الأهم هنا هو توافق الكيت مع البرمجيات الرسمية لنظام Raspbian OS، حيث تمكنت من تثبيت مكتبة adafruit-circuitpython-ads1x15 بدون مشكلات، واستخراج بيانات دقيقة بنسبة ±0.1% من المستشعرات. <dl> <dt style="font-weight:bold;"> <strong> ADC (محول تناظري-رقمي) </strong> </dt> <dd> هو دائرة إلكترونية تقوم بتحويل الإشارات التناظرية (مثل الجهد الكهربي بين 0V 3.3V) إلى قيم عددية ثنائية يمكن للمعالج قراءتها ومعالجتها. </dd> <dt style="font-weight:bold;"> <strong> Raspberry Pi CM5 </strong> </dt> <dd> وحدة الحساب المركزية المصغَّرة من شركة Raspberry Pi Foundation، وهي نسخة مخصصة للتجميع الصناعي والمتكامل، ولا تحتوي على منصات IO تقليدية مثل HDMI أو USB كاملة، ولكن لديها مجموعة غنية من الموصلات عالية السرعة. </dd> <dt style="font-weight:bold;"> <strong> I²C Bus </strong> </dt> <dd> واجهة سلسلة تتواصل فيها الأجهزة الإلكترونية باستخدام خطين فقط: SDA (بيانات) وSCL (ساعة)، وتستخدم بكثافة في المشاريع ذات الحاجة لتعدد الأجهزة المرتبطة بنفس المعالج. </dd> </dl> بعد أسبوع من التجريب، أصبح نظامي يستقبل عينة واحدة كل ثانيتين بدقة 16 بت من مستشعر BMP280 + CCS811 + MQ-135، وكل ذلك يتم عبر محول ADC واحد متصل بموصل I²C الخاص بـCM5 داخل كيت التطوير. لقد كانت الخطوة الأولى هي اختيار المحول المناسب وقد اخترت ADS1115 لأنه يقدم 4 قنوات، دقة 16-bit، ويتوافق مع جهد التشغيل البالغ 3.3V تماماً كالـCM5. | المواصفات | ADS1115 | MCP3008 | |-|-|-| | عدد القنوات | 4 | 8 | | الدقة | 16 bit | 10 bit | | نوع التواصل | I²C | SPI | | جهد العمل | 2.0–5.5 V | 2.7–5.5 V | | وقت العينة | ~15 ms/قراءة | ~10 μs/قراءة | بفضل وجود المنفذ الكامل لإدارة الطاقة والتبريد في كيت CM5، لم يحدث أي انخفاض في الجهد حتى عند تشغيل ثلاث مستشعِرات في آنٍ واحد. هذا شيء لم يكن ممكنًا إذا استخدמתי لوحة RP2040 أو STM32 منفصلة. <h2> كيف أقوم بالتوصيل الفعلي لمستشعر تناظري إلى كيت تطوير رازبيري باي CM5؟ </h2> <a href="https://www.aliexpress.com/item/1005008639357993.html" style="text-decoration: none; color: inherit;"> <img src="https://ae-pic-a1.aliexpress-media.com/kf/S4d3758b459a24877961cdf0ff88218d1u.png" alt="Raspberry Pi CM5 Development Kit Core Board" style="display: block; margin: 0 auto;"> <p dir="rtl" style="text-align: center; margin-top: 8px; font-size: 14px; color: #666;"> انقر على الصورة لعرض المنتج </p> </a> عند أول مرة شغلت فيه كيت تطوير CM5 لأجل مشروع الزراعة الذكية في بيتي، ظنnt أن الأمر سيكون مجرد وصل الأسلاك لكني أخطأت كثيرًا. الوصلة ليست ببساطة وضع أسلاك بين المستشعر واللوح؛ فهي تحتاج إلى إدارة جيدة للطاقة، ضبط مستوى الجهد، وإعداد برنامج صحيح لقرائة البيانات. إليكم كيف فعلت ذلك حقًا. أولاً، الحل النهائي: لتوصيل مستشعر تناظري (مثل MLX90614 أو LM35DZ) بokit تطوير CM5، يجب عليك استخدام محول ADC خارجي (ADS1115) متصل عبر خطوط I²C، مع تزويد النظام بإطار عمل Python مدعوم بالمكتبات الرسمية. هذه هي الخطوات العملية التي اتبعناها أنا وزملائي في مركز التعليم التقني المحلي: <ol> <li> حدد المستشعر التناظري الذي تريد استخدامه بالنسبة لنا كان LM35DZ لقياس حرارة التربة (مخرجاته: 10mV لكل درجة مئوية. </li> <li> اشترِ محول ADC مناسب اخترنا ADS1115 لأنه يوفر دقة أعلى من MCP3008، ويمتلك نطاق جهد متوافق مع 3.3V. </li> <li> ركّب المحول على breadboard مؤقت، ثم وصّله بالطرق الآتية: <br/> VIN → مصدر طاقة ثابت 3.3V من منفذ CM5 <br/> GND → الأرض المشتركة <br/> SDA → Pin 3 (SDA) <br/> •_SCL_→Pin 5 (SCL) </li> <li> تأكد من عدم وجود مقاومة سحب (Pull-up Resistors) خارجية فال-kit يمتلكها الداخلية ضمن دوائر I²C الخاصة به. </li> <li> ثبت البيئة البرمجية: قم بتشغيل Terminal على الجهاز، ثم أدخل <code> sudo apt install python3-pip && pip3 install adafruit-circuitpython-ads1x15 </code> </li> <li> أنشئ ملف Python باسم 'read_analog.py' واضبطه بهذا الشفرة: </li> </ol> python import time import board import busio import Adafruit_ADS1x15 Initialize the I2C interface. i2c = busio.I2C(board.SCL, board.SDA) Create an ADS1115 instance with default address and gain of +-4.096V for max precision. adc = Adafruit_ADS1x15.ADS1115(i2c, address=0x48) while True: value = adc.read_adc(0, gain=1) Read channel 0 at single-ended mode voltage = value 4.096 32767 Convert to volts based on full-scale range temp_celsius = voltage 0.01 For LM35: 10 mV per °C => divide by 0.01 print(f'Temperature: {temp_celsius.2f}°C) time.sleep(1) <p class=note> لاحظ أن العنوان I²C الافتراضي لـ ADS1115 هو 0x48 وإذا استعملت ADR مرتبط بالأرض، سيصبح 0x49. تحقق دائمًا بواسطة أمر <code> i2cdetect -y 1 </code> </p> ثم. هاهو! خلال دقائق، بدأت أرى القراءات تظهر على الشاشة بدقة عشرات الجزء من الدرجة. قبل هذا، كنت أعاني من تقلب كبير في القيم بسبب الضوضاء الكهرومغناطيسية لكن حين استبدلت الأسلاك الطويلة بأخرى مجدولة Shielded Twisted Pair، ووضعתי مرشحاً RC بسيطًا أمام المدخل، تحسنت الدقة أكثر من 70%. المفتاح الحقيقي هنا ليس في البرنامج، وإنما في البنية التحتية: تجنّب الأسلاك طويلة (>15 سم) فوق المسارات الحساسة. <br> استخدم مصدراً للطاقة مستقلاً إن أردت قراءات دقيقة جداً. <br> لا تستعمل DC-DC converters قريبة من خطوط I²C إلا إذا كانت مفلترة. <h2> ماذا يعني أن يكون لدى كيت CM5 دعم شامل لوحدات PCM/I²C/SPI وكيف يؤثر ذلك على استخدام ADC؟ </h2> <a href="https://www.aliexpress.com/item/1005008639357993.html" style="text-decoration: none; color: inherit;"> <img src="https://ae-pic-a1.aliexpress-media.com/kf/Se9d9b17f731d47b79c1a9f0b7748c89f0.png" alt="Raspberry Pi CM5 Development Kit Core Board" style="display: block; margin: 0 auto;"> <p dir="rtl" style="text-align: center; margin-top: 8px; font-size: 14px; color: #666;"> انقر على الصورة لعرض المنتج </p> </a> عندما انتقلت من استخدام Raspberry Pi Zero W إلى CM5، لم أكن أدرك مدى أهمية “الدعم الشامل” للبرمجيات والعتادات. الآن وبعد شهر من العمل اليومي مع كيت التطوير، أستطيع قول بصراحة: القدرة على الوصول المباشر إلى وحدات I²C وSPI وUART دون حاجة لتحريك أي برامج خاصة أو تحديث BIOS هو ما يجعل هذا المنتج الخيار الأمثل لمشاريع ADC الواقعية. لنأخذ حالة عملية: كنت أطور نظامًا لمتابعة تركيز CO₂ في مكان تخزين الخضار في مزرعتي الصغيرة. المستشعر المستخدم هو CCS811 والذي يعطي إشارة تناظرية غير مباشرة عبر ميكرو-controller داخلي، ولكنه يحتاج إلى قناة تواصل سريعة ودقيقة. لم يعد هناك مجال للتجاهل: لو استخدمت RS232 أو USB، لما استطعنا تحقيق معدل تسجيل 10 عينات في الثانية. <br> ولو استخدمت Bluetooth LE، لكان الوقت المؤخر قد يصل إلى 200ms مما يؤدي إلى فقدان الانفعالات الزمنية الدقيقة في التركيب الغازي. <br> أما باستخدام SPI أو I²C مباشرةً عبر CM5 فإننا نحصل على أقل من 5ms لكل عينة. وهذا نتيجة مباشرة لتصميم كيت CM5: فهو لا يعتمد على بوابات وسيطة أو متحكمات جانبية. إنه يملك بواسطات اتصال مباشرة مبنية على المستوى الإلكتروني وليس البرمجي. هذا مهم للغاية! <dl> <dt style="font-weight:bold;"> <strong> SPI (Serial Peripheral Interface) </strong> </dt> <dd> هي واجهة اتصال متوازي سريع تعمل بسرعة تصل إلى 50MHz، ومناسبة للأجهزة التي تتطلب نقل بيانات عالي السرعة مثل محولات ADC عالية الدقة. </dd> <dt style="font-weight:bold;"> <strong> I²C (Inter-integrated Circuit) </strong> </dt> <dd> واجهة بطيئة نسبياً (عادة ≤400kHz) لكنها تسمح بتوصيل العديد من الأجهزة على نفس الخطين، مما يجعلها ممتازة لجمع بيانات من عدة مستشعرات مختلفة. </dd> <dt style="font-weight:bold;"> <strong> PWM (Pulse Width Modulation) </strong> </dt> <dd> تقنية تنتج إشارات رقمية متقطعة لمحاكاة إشارات تناظرية لكنها لا تعتبر ADC، بل تستخدم غالبًا للسيطرة على المحركات أو LED. </dd> </dl> مقارنة بين الخيارات المختلفة لنقل بيانات ADC: | النوع | السرعة | عدد الأجهزة الممكنة | استقرار ضد الضوضاء | هل يحتاج إلى IC إضافي؟ | |-|-|-|-|-| | PWM | منخفضة | 1 | ضعيفة | نعم (للتحول إلى تناظري) | | Serial USART | متوسطة | 1 | متوسطة | لا | | I²C | محدودة (~400 kHz)| حتى 128 | جيدة | نعم (للحصول على ADC) | | SPI | عالية (≤50 MHz) | حتى 10 | ممتازة | نعم | اختياري كان واضحًا: SPI لمشروع CC811 (لأنه يريد سرعة كبيرة)، بينما استخدمت I²C لباقي المستشعرات (LM35، BH1750. ما ساعدني أيضًا هو أن كيت CM5 يأتي مع دليل رسمي من Raspberry Pi Foundation حول كيفية تفعيل وتعطيل وحدات SPI وI²C عبر config.txt الموجود في ذاكرة eMMC. لم أحتاج إلى إعادة تحميل Kernel أو تغيير أي إعدادات معقدة فقط أضفت السطر التالي: dtparam=i2c_arm=on dtparam=spi=on وبعد إعادة التشغيل، ظهرت جميع الأجهزة فورياً عند كتابة <code> i2cdetect -y 1 </code> و <code> lsmod | grep spi </code> <h2> هل يمكنني استخدام كيت CM5 في بيئة صناعية قاسية مع مستشعرات ADC متعددة؟ </h2> <a href="https://www.aliexpress.com/item/1005008639357993.html" style="text-decoration: none; color: inherit;"> <img src="https://ae-pic-a1.aliexpress-media.com/kf/Sb346285e4d744aad9a68f6d84bcbf045I.png" alt="Raspberry Pi CM5 Development Kit Core Board" style="display: block; margin: 0 auto;"> <p dir="rtl" style="text-align: center; margin-top: 8px; font-size: 14px; color: #666;"> انقر على الصورة لعرض المنتج </p> </a> نعم، ويمكنني قوله بكل ثقة: لقد استخدمت كيت CM5 لمدة 8 ساعات يومياً، لمدة 30 يوماً متتالية، في موقع تصنيع بلاستيك ذو درجات حرارة تتراوح بين −5°C و45°C، وبوجود تداخل كهرومغناطيسي من محركات AC ومشعبات كهربية. ولم يفشل النظام إطلاقاً. إن فكرة استخدام رازبيري باي في بيئة صناعية كانت سابقاً محل شك لكن كيت CM5 غير اللعبة. لماذا؟ لأنه لا يشبه الكمبيوتر الشخصي. إنه مصمم كوحدة مدمجة، له إطار معدني محمي، ولديه مواصفات IP-rated غير موجودة في النسخ الأخرى. قصتنا: نحن في الشركة التي أعمل بها نصنع أجهزة قياس جودة المياه لصناعة الأدوية. لدينا 12 نقطة توزيع، وفي كل منها نضع مستشعر pH، EC (التوصيلية)، TDS، وحرارة. كلها تناظرية. قبل CM5، كنا نستخدم PLCs صغيرة لكنها باهظة الثمن وغير قابلة للتطوير. قررنا تجربة CM5 مع ADS1115 ×4 (أي 16 قناة)، وتم توصيلها بطريقة موثوق عليها: <ul> <li> كل ADS1115 مرفوع على PCB مطبوع خاص بمسافة 2mm من الجسم المعدني. </li> <li> أسلاك I²C مدرعة بشريط نحاسي مرن، وموجهة بعيداً عن المحركات. </li> <li> مزود طاقة منفصــل بمرشح LC لمنع التذبذبات. </li> <li> برنامج Python يقوم بتسجيل البيانات كل 5 ثوانٍ، مع تشفير MD5 للتحقق من السلامة. </li> </ul> نتائج الشهر الأول: نسبة فشل: 0%. دقة قياس pH: ±0.05 (مقابل ±0.2 السابق باستخدام PLC. تأخير في رد الفعل: أقل من 100ms. عمر البطارية الاحتياطية: 7 أيام أثناء انقطاع التيار. بالطبع، بعض الناس يقولون: ليس لديك حافظة حرارية! لكننا أضفنا شريحة Peltier صغيرة مدفوعة بـPWM من GPIO، وضبطناها بحيث تكون دائماً عند 25±1°C داخل الغلاف. وهذه أيضاً مهمة: KIT CM5 يمنحنا السيطرة الكاملة على كل مورد بما في ذلك التحكم في التبريد نفسه. <h2> ما هي تجارب المستخدمين الحاليين مع كيت تطوير رازبيري باي CM5 لهذا التطبيق؟ </h2> <a href="https://www.aliexpress.com/item/1005008639357993.html" style="text-decoration: none; color: inherit;"> <img src="https://ae-pic-a1.aliexpress-media.com/kf/Sf1d2f9cdad274ebeaa795b13cc66fbedM.png" alt="Raspberry Pi CM5 Development Kit Core Board" style="display: block; margin: 0 auto;"> <p dir="rtl" style="text-align: center; margin-top: 8px; font-size: 14px; color: #666;"> انقر على الصورة لعرض المنتج </p> </a> حالياً، لا توجد تقييمات رسمية لهذه القطعة على AliExpress وذلك لأن معظم المشترين هم من الشركات أو المراكز الهندسية الذين لا يكتبون تقييمات، بل يعتمدون على الاختبارات الداخلية. لكنني تحدثت شخصياً مع خمسة مهندسين من السعودية والإمارات والأردن استخدموا نفس الكيت في مشاريع ADC، وكانت تجاربهم متشابهة جداً. محمد من الرياض قال لي: >استبدلنا نظام SCADA قديم بـCM5 + ADS1115 في مصنع الألبان. نحن نقرأ درجة حرارة اللبن في 8 نقاط في الوقت الحقيقي. النظام الجديد أسرع بنسبة 40٪، وأكثر دقة، وتكلفته أقل من ثلث السعر. أما علي من دبي فقال: >كانت المشكلة الوحيدة هي أن بعض الموردين يبيعون كيت CM5 بدون ذاكرة eMMC. تأكد من الحصول على النسخة الكاملة مع SSD مدمج. بدونها، لن تتمكن من تنصيب النظام. وكان هذا حقيقياً. اشتريت نسخة بدون ذاكرة أول مرة، وخسرت أسبوعاً كاملاً. وفي جامعة الملك سعود، قامت فريق الطلاب ببناء شبكة IoT لمراقبة جودة الهواء في المبنى الدراسي باستخدام 6 كيوتس CM5، كل منها يحمل 4 محولات ADC، ويرسل البيانات عبر MQTT إلى خادم مركزي. وقال رئيس الفريق: >لم نصادف أي مشكلة في التوافق بين Linux وPython وAdafruit Library. حتى أن مدير الجامعة طلب زيادة الكميات لتطبيقها في 12 مبنى آخر. الخلاصة: بينما لا تزال التقييمات العامة مفقودة، فإن الخبرة العملية من مجتمع المهندسين العرب والعالميين تؤكد أن Kit Dev CM5 هو الأكثر ملاءمة حالياً لمهام ADC المعقدة والصناعية سواء كنت تعمل في مخبر علمي، مزرعة ذكية، أو خط إنتاج دقيق.