Table of Contents
فهم نطاق المشروع
ويعد بناء سجل بيانات يحتوي على ملوثات دقيقة من طراز PIC وبطاقة من نوع SD طريقة ممتازة لاستخلاص وتخزين قياسات العالم الحقيقي على مدى فترات ممتدة، ويجد هذا النوع من النظم استخداما في الرصد البيئي (الدرجة الزمنية، الرطوبة، الضغط البارومتري)، وتتبع التربة الزراعية، وقطع الأشجار على مدار الزمن، وحتى التجارب العلمية التعليمية، ويوفر الجمع بين أجهزة التحكم في المحتوى المجهري المنخفض التكلفة، وبطاقات البرمجة المتاحة على نطاق واسع مناًاً مناً من المزودةً بمقياساً بمقياساًاً بمقياساً للبرمجةًاًاً للبرمجةً للبرمجةً للبرمجةً للبرمجةً للبرمجةً للبرمجة.
اختيار المتحكمين المصغرين في مركز الموافقة المسبقة عن علم
ويتوفر جهاز التحكم في المايكرويف في مجموعة واسعة من الأسر ذات الذاكرة المختلفة، وإحصاءات الدبابيس، وقدرات الطول، أما بالنسبة لسجل بيانات البطاقات SD، فتشمل الملامح الأساسية دعم أجهزة الحاسوب، وذاكرة البرنامج الكافية للرمز، وما يكفي من البيانات الجاهزة قبل كتابة البطاقات، وما زال برنامج PIC16F877A خياراً شعبياً لأنه يوفر 8K من نماذج الذاكرة الخفيفة، و368
قائمة مرجعية بالمواصفات الرئيسية
- SPI module]: Harware SPI reduces processor load and simplifies code.
- Flash memory]: على الأقل 4 KB for a basic logger; 16-32 KB recommended if added FAT file system and RTC.
- RAM]: الحد الأدنى 256 بوصة لإيقاف الخدمة؛ ويفضل أن يكون 1-2 كيلوبايت لتجنب فقدان البيانات أثناء فترات التأخير في الكتابة.
- Operating voltage]: 3.3V or 5V tolerance. SD cards require 3.3V signaling, so ensure I/O voltage compatibility or use level shifters.
- Timer modules]: على الأقل مُرّة واحدة لأخذ العينات الثابتة الأجل.
فهم واجهة الشحنة الخاصة
SD cards communicate via SPI mode, which is well-supported by PIC microcontrollers. The interface requires four signals: SCK (serial clock), MOSI (master-out-slave-in) [FLT
SPI Configuration Tips
ضع ساعة الـ (سي آي) على أقصى سرعة إلى 400 كيلوهرتز خلال مرحلة الاستهلال (حسب ما يتطلبه الأمر من بطاقة (سي دي) بعد أن تكون البطاقة جاهزة يمكنك رفع سرعة الساعة إلى 8-10 ميغاهرتز من أجل نقل البيانات بسرعة أكبر، و استخدام وحدة (بي إس إي) في النموذج 0 (CPOL=0, CPHA=0) أو الطريقة 3 (CPOL=1, CPHA=1)
تصميم الدوائر والنظر في السلطة
(ب) تشغيل بطاقة الـ (سي دي) في 3.3 في المائة، بينما يعمل العديد من أجهزة التحكم الدقيقة (مثل الـ 16F877A) على 5 في المائة، ويربط مباشرة بين 5 في المائة و3 في المائة من أجهزة التحكم بالبطاقة، ويستخدم جهاز التحكم بالكمبيوتر المتحرك (بشكل ثنائي الفينيل متعدد الكلور) (مثلاً، (LM1117-3) للإمغناء عن البطاقات الثابتة، ويضع رقم 10 ميكروغرامات
إدارة الطاقة من أجل التقاط الصور عن بعد
إذا كان الشعار سيعمل على البطاريات، يستخدم متغيراً للضغط بالضغط باستخدام نماذج نوم عميقة، فعلى سبيل المثال، يُعدّ جهاز التحكم في الأشعة السينية (SIC16F1829) الذي يُستخدم في 60 ميغاواط، ويُستخدم جهاز توقيت المراقبة أو انقطاع خارجي عن جهاز الإنذار بالأشعة المقطعية، ويُبقي بطاقة البطارية الخاصة مُخفضة (استخدام نظام إم إس في تي في) عند عدم كتابة البيانات.
إضافة قفل للزمن الحقيقي للمصابيح الدقيقة الدقيقة
سجل البيانات بدون معلومات محدودة، يُفضّل أن يُكتب سجلّ (دي إس تي) بـ 32، و(دي إس تي) بمقياس الحرارة المُبنى و(دي إس 1307)
استعراض عام لمحفوظات المبرمجيات
تتبع البرمجيات الجاهزة لسجل البيانات نهجا منظما ومعمولا به، وتوزع الرمز في هذه الوحدتين الوظيفيتين:
- Initialization]: Configure oscillator, GPIO, SPI, I2C (for RTC), ADC (if using analog sensors), and timers.
- SD card driver]: Implement low-level SPI read/write, command send, and CRC check (most modern cards accept CRC disabled for simplicity).
- File system layer]: Incorporate Petit FatFs (أو a similar small library) to create, open, write, and close log files.
- Sensor polling]: Read sensors at defined intervals using timer interrupts or a delay cycle.
- Logging motor]: Buffer sensor data and timestamps, then flush to SD card in 512-byte blocks.
- Error handling]: check for SD card remove/reinsert, low voltage, or sensor read failures.
استراتيجية إدارة الخانات
كتابة سجل واحد في وقت ما إلى بطاقة SD غير كفؤة ويمكن أن تسبب ارتداء على البطاقة بدلاً من ذلك تخصيص عازف دائري في RAM كبير بما يكفي لحجز دخول متعددة، مثلاً إذا كان كل دخول إلى السجل 20 بوصة (قيم العوامة)
هيكل مدونة العينات (Pseudocode)
ويوجز البرنامج الفرعي التالي الحلقة الرئيسية، وسيختلف التنفيذ الفعلي استنادا إلى مركز الموافقة المسبقة عن علم ومكتباتكم.
1. Initialize oscillator to 20 MHz
2. SPI_init(SPI_MASTER, MODE_0, 400kHz)
3. RTC_init(I2C_100kHz)
4. while (SD_init() != OK)
{
blink_error_led();
delay(1000);
}
5. f_mount(&fs, "", 0); // mount file system
6. f_open(&fil, "LOG.csv", FA_OPEN_APPEND | FA_WRITE);
7. if (file_size == 0) write_header();
8. while(1)
{
wait_timer_1s();
read_RTC(&ts);
read_sensors(&temp, &humid);
format_string(datalog, "%s,%.1f,%.1f\r\n", ts, temp, humid);
if (buffer_full)
{
f_write(&fil, log_buffer, BYTES_WRITTEN, &bw);
if (bw != BYTES_WRITTEN) error_handler();
}
}
9. f_close(&fil);
10. f_mount(NULL, "", 0);
نظام الملفات ونموذج لوغ
(أ) كتابة بيانات في استمارة CSV لجعل من السهل تحليلها في برمجيات كشف البيانات أو (بايتون) بما في ذلك صف رئيس في أعلى الملف الذي أزيل بعد الافتتاح الأول.
معالجة مشكلة دفتر البطاقات و نزاهة البيانات
بطاقات السحب الخاصة بها دورات محدودة للكتابة ولكن بالنسبة لسجل البيانات مرة في الدقيقة، بطاقة نموذجية من الفئة 10 ستدوم في السنوات الماضية، ولتحسين الموثوقية، والنظر في استخدام بطاقة برمجية مكرّسة للصناعات (مثلاً، السويسسويسر أو الآباكر) مع تصحيح الخطأ، وعادة ما تغلق الملف وتغلق نظام الملفات قبل أن تخفض الكهرباء، وإذا فقدت جهاز التحكم الجزئي القدرة على كشف الطاقة بشكل غير متوقع، فقد آخر بطاقة توقف التدفق (12 إلى 5).
أمثلة على الاستشعار
درجة الحرارة مع DS18B20
جهاز الاستشعار الرقمي DS18B20 يستخدم بروتوكول 1Wire، ربط دبوس بياناته برقم تسجيلي رقمي PIC I/O (مثل RD0) مع 4.7 كيلو فولت من السحب إلى 3.3V.
الهضم مع DHT22
(الـ (دي تي 22 (م 2302 يوفر درجة الحرارة والرطوبة على حد سواء مع واجهة متسلسلة ذات سعر واحد، مثل 1 وير ولكن مع توقيت مختلف، يرسل جهاز التحكم الدقيق إشارة بداية (بدون 18 متراً على الأقل) ثم يستجيب جهاز الاستشعار بحزمة بيانات 40 كيلو متراً، وينفذ جهازاً حكومياً لعينة من القطع، وجهازاً سريعاً يعمل في 16 درجة مئوية أو أكثر من ذلك
جهاز الاستشعار الضوئي
من أجل قياس الضوء المحيطي، استخدام جهاز التصوير الضوئي في شاحنات فولتاج مع مقاوم ثابت من 10 كيلو مترات، ربط نقطة الوسط بمدخلات شركة ADC، شركة PIC 1024 درجة) تعطي قدرا معقولا من الرعي، مع قياس حجم الفولط تحت مستويات الرفاهية المعروفة باستخدام جهاز قياسي قياسي للضوء، أو تحويل الصيغ إلى اكس باستخدام جهاز قياسي.
الاختبارات والتشويشات
قبل نشر السجل، اختبار كل نظام فرعي بشكل مستقل، وكتابة برنامج اختبار بسيط ينظّم جهازاً للدواء ليتحقق من دقة الماشية والوقت، ثم اختبار الاتصال ببطاقة السحب بواسطة الاستهلالية وقراءة سجل الـ (سي دي) وإستخدام جهاز للفحص أو تحديد المنطق لفحص إشارات الـ (سبي)
الروايات المشتركة
- SD card not initializing]: Ensure VCC is 3.3V, not 5V. Some modules come with a 3.3V regulator; verify output. Try a different card (SanDisk or Kingston often work best).
- File write failure]: هل أنت من صنع تقسيم (FAT32) على البطاقة؟ استخدام PC لتشكيل البطاقة ك FAT32 (لا exFAT or NTFS).
- Data corruption]: يمكن للأسلاك الطويلة أن تسبب انعكاسات الإشارة، وحافظ على خطوط SSPI تحت 10 cm.Add 47 pF capacitors to ground on each line near the card socket.
- Timer turn]: Crystal accuracy matters. Use an external 20 MHz Belgian instead of internal oscillator for precise one second intervals. If using internal, calibrate using the OSCTUNE register.
تعزيز سجل البيانات
وبعد أن يعمل السجل الأساسي، ينظر في هذه الإضافات:
- Wireless upload]: Add an ESP8266 or HC-05 Bluetooth module to transmit data to a smartphone or server in real time.
- User interface]: Use a 16 x2 character LCD (I2C or parallel) and a few blues to set logging interval, view last reading, or trigger manual save.
- Multiple log files]: Rotate files every day or every 1000 records to limit file size and make retrieval easier.
- Data compression]: بالنسبة لقطع الأشجار العالية التردد (مثل 100 Hz)، تخزين البيانات في شكل ثنائي مع مصباح مغلوط (مثلاً، 4 بيت معاد من البداية)، تحويل CSV خارج الخط باستخدام نص PC، وهذا يقلل كثيراً من ارتداء البطاقات.
- Over-the-air updates: يمكن للمستعملين المتقدمين أن ينفذوا جهاز تحميل عبر التسلسل لتحديث البرمجيات دون إزالة الموافقة المسبقة عن علم.
التطبيقات العالمية الحقيقية
(أ) إنّ سجل بيانات (بي.إ.إ.إ.إ.إ.إ.إ.إ.إ.إ.إ.إ.إ.إ.إ.إ.إ.إ.إ.إ.إ.إ.إ.إ.إ.إ.إ.إ.إ.إ.إ.إ.إ.إ.إ.إ...
خاتمة
إن بناء سجل بيانات بسيط مع متحكم صغير في مركز الموافقة المسبقة عن علم وبطاقة من نوع SD هو مشروع مكافأ يخلط بين تصميم المعدات، والبرمجة المدمجة، وإدارة البيانات العملية، ومن خلال اختيار عناصر مدروسة بعناية، وفهم بروتوكول نظام الاختبار الخاص بمؤشرات تحديد القيمة المضافة، واضافة نظام للفحص المزود بالوزنات، يمكن أن تخلق سجلاً موثوقاً به لمجموعة واسعة من التطبيقات.