قسم الميكروكنترولر والروبوت ودوائر الاتصال بالحاسب الالي قسم المتحكمات الـ microcontroller و المعالجات microprocessor و التحكم الرقمي بالكمبيوتر CNC والانظمة الآلية والروبوت Robots

أدوات الموضوع

الصورة الرمزية عبدالله حجازى
عبدالله حجازى
:: عضو ذهبي ::
تاريخ التسجيل: Apr 2011
الدولة: مصر .. محافظة دمياط
المشاركات: 1,688
نشاط [ عبدالله حجازى ]
قوة السمعة:111
قديم 15-12-2015, 03:03 AM المشاركة 1   
افتراضي مساعدة فى كود يتعامل مع حساس الوزن LOAD CELL Twitter FaceBook Google+



السلام عليكم ورحمه الله


الحمد لله وبفضلة ... وبمساعدة من مهندسنا الغالى ... ماجد عباس ... انجزت مشروع لقياس الوزن بستخدام الحساس LOAD CELL .....

.... وهذة صور للمشروع .....


















[IMG]https://scontent-cai1-1.xx.fbcdn.net/hphotos-xfl1/t31.0-
8/12377687_805193686294167_5619827238658740898_o.jpg[/IMG]


وكما نلاحظ فى الصور دقه القرأة عالة جدااا فى الواقع الميكروكنترولر يقرأ ...( 29 ميلى فولت من حساس الوزن ومكبرالعمليات AD620 ) .... والافو ميتر يقرأ ... ( 31 ميلى فولت ) ... بهامش خطأ ... 2 ميلى فولت فقط ... وهذة النتائج مرضيه جدااا ودقيقة جداااا فى فرق الجهد والقرأة ...


ملحوظة انا حصلت على هذا الكود من موقع ... ميكرو شيب ...

وهذا الكود




كود:
// LCD module connections
sbit LCD_RS at RB2_bit;
sbit LCD_EN at RB3_bit;
sbit LCD_D4 at RB4_bit;
sbit LCD_D5 at RB5_bit;
sbit LCD_D6 at RB6_bit;
sbit LCD_D7 at RB7_bit;
sbit LCD_RS_Direction at TRISB2_bit;
sbit LCD_EN_Direction at TRISB3_bit;
sbit LCD_D4_Direction at TRISB4_bit;
sbit LCD_D5_Direction at TRISB5_bit;
sbit LCD_D6_Direction at TRISB6_bit;
sbit LCD_D7_Direction at TRISB7_bit;
// End LCD module connections

unsigned char ch; //
unsigned int adc_rd; // Declare variables
char *text; //
long tlong; //

void main()
{

INTCON = 0; // All interrupts disabled
//ASIGNACIÓN DE REGISTROS PARA DEFINIR ENTRADAS,SALIDAS Y OTRAS CONFIGURACIONES.
ADCON1=0b10001111; // BIT_7=1: Justifica a la derecha el resultado.
// Y los últimos 4 BITS dan la configuracion de Puerto A.
// Hay una Tabla Adjunta en el Datasheet para ADCON1.
// AN0= Entrada Análoga (RA0).
// AN2= Entrada Vref - (RA2).
// AN3= Entrada Vref + (RA3).
// Los demás pines del puerto A son Digitales.

TRISA = 0b00000111; // RA0 es entrada analógica[0 = Salida ___ 1 = Entrada].
// Y los demás son salidas digitales (Menos RA2 Y RA3).

TRISD = 0;  PORTD = 0;
Lcd_Init(); // LCD display initialization
Lcd_Cmd(_LCD_CURSOR_OFF); // LCD command (cursor off)
Lcd_Cmd(_LCD_CLEAR); // LCD command (clear LCD)

text = "mikroElektronika"; // Define the first message
Lcd_Out(1,1,text); // Write the first message in the first line
text = "LCD example"; // Define the second message
Lcd_Out(2,1,text); // Define the first message

ADCON1 = 0x82; // A/D voltage reference is VCC
TRISA = 0xFF; // All port A pins are configured as inputs
Delay_ms(2000);

text = "Weight:"; // Define the third message

while (1) {
adc_rd = ADC_Read(1); // A/D conversion. Pin RA2 is an input.
Lcd_Out(2,1,text); // Write result in the second line
tlong = (long)adc_rd * 5000; // Convert the result in millivolts
tlong = tlong / 1023; // 0..1023 -> 0-5000mV
ch = tlong / 1000; // Extract volts (thousands of millivolts)
// from result
Lcd_Chr(2,9,48+ch); // Write result in ASCII format
Lcd_Chr_CP('.');
ch = (tlong / 100) % 10; // Extract hundreds of millivolts
Lcd_Chr_CP(48+ch); // Write result in ASCII format
ch = (tlong / 10) % 10; // Extract tens of millivolts
Lcd_Chr_CP(48+ch); // Write result in ASCII format
ch = tlong % 10; // Extract digits for millivolts
Lcd_Chr_CP(48+ch); // Write result in ASCII format
Lcd_Chr_CP('V');
Delay_ms(1);

          if(adc_rd>20){ portd.f0=1;
          if(adc_rd==18){portd.f0=0;

            }}

}
}


كود اكثر من رائع ودقيق جداااا فى التجارب العملية .


سؤالى هنا ......


ما هى طريقة معايرة الكود ليناسب الوزن المعلوم ..


مثال لتجربتى العملية ...


تم تغذية حساس الوزن LOAD CELL بجهد 5 فولت منظم عن طريق منظم جهد 5 فولت ...

وعند وضع ... واحد كيلو جرام .. على حساس الوزن الاحظ قرأة على شاشة LCD 30 ميلى فولت ... أى بمعنى كل واحد كيلو جرام يعطى فرق جهد خارج من مكبر العمليات 30 ميلى فولت وعند وضع ... 2 كيلو جرام يعطى فرق جهد 60 ميلى فولت ... بهامش خطأ 2 ميلى فولت ...

سؤالى هنا كيف يتم معايرة الكود ليظهر على الشاشة 1 كيلو جرام لكل 30 ميلى فولت قادم من حساس الوزن ...


وياريت لو تم استبدال شاشه ال LCD بشاشات 7 سيجمنت يكون افضل ..


وهذا هو المشروع كامل للتحميل ..



http://www.mediafire.com/download/o3...LL+%281%29.rar



الحمد لله تم انجاز 70% من المشروع كما هو واضح اللمسة الاخيرة ومنتظر منكو العون فى هذا المشروع ..ز


تحياتى للجميع أرجو الاهتمام ..



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





احصائية الشكر والاعجاب - 1 شكراً, 0 عدم اعجاب, 1 اعجاب
شكراً abdoelrefaiy ( شكر العضو على هذه المشاركة )
اعجاب abdoelrefaiy ( أعجبته المشاركة )
اعلانات

ماجد عباس محمد
:: نائب المشرف العام
::
تاريخ التسجيل: Jun 2009
الدولة: القاهرة - مصر
المشاركات: 12,214
نشاط [ ماجد عباس محمد ]
قوة السمعة:408
قديم 15-12-2015, 04:56 AM المشاركة 2   
افتراضي


[SIZE="2"]السلام عليكم ورحمه الله
سؤالى هنا ......
ما هى طريقة معايرة الكود ليناسب الوزن المعلوم ..
مثال لتجربتى العملية ...
تم تغذية حساس الوزن LOAD CELL بجهد 5 فولت منظم عن طريق منظم جهد 5 فولت ...
وعند وضع ... واحد كيلو جرام .. على حساس الوزن الاحظ قرأة على شاشة LCD 30 ميلى فولت ... أى بمعنى كل واحد كيلو جرام يعطى فرق جهد خارج من مكبر العمليات 30 ميلى فولت وعند وضع ... 2 كيلو جرام يعطى فرق جهد 60 ميلى فولت ... بهامش خطأ 2 ميلى فولت ...
وعليكم السلام ورحمه الله و بركاته
معذرة لم افهم اين الخطأ
كل 1 كجم يعطى 30 مللى فولت
1 ك يعطى 30 مللى
2 ك يعطى 60 مللى
أم تقصد الفرق بين قراءة الآفو و قراءة الميكرو؟؟

هنا نقطة لم تأخذها فى الإعتبار وهى دقة القياس الكلى حيث تضع الوزن كاملا و ترى كم يكون الخرج منهما و مرة نصف الوزن أيضا و تأخذ القياسات
سؤالى هنا كيف يتم معايرة الكود ليظهر على الشاشة 1 كيلو جرام لكل 30 ميلى فولت قادم من حساس الوزن ...
وياريت لو تم استبدال شاشه ال LCD بشاشات 7 سيجمنت يكون افضل ..
بسيطة اقسم على 30 و اكتب كجم بدلا من مللى فولت
بالمناسبة أغلب الموازين تستخدم LCD لتيسير كتابة اجرف أو رسالة خطأ او خيارات للمستخدم الخ

احصائية الشكر والاعجاب - 1 شكراً, 0 عدم اعجاب, 0 اعجاب
شكراً abdoelrefaiy ( شكر العضو على هذه المشاركة )
اعلانات اضافية ( قم بتسجيل الدخول لاخفائها )
  

ABOUYAGINE
:: مهندس متواجد ::
تاريخ التسجيل: Jan 2012
المشاركات: 61
نشاط [ ABOUYAGINE ]
قوة السمعة:0
قديم 17-12-2015, 08:41 PM المشاركة 3   
افتراضي


السلام عليكم
لما وجدت القيمة بالميلي فولط ماهو الاتي هل ستحول القيمة الى قيمة حقيقة بواسطة عملية ما ,
ارجو منكم المتابعة وذلك للاهمية وشكرا


الصورة الرمزية عبدالله حجازى
عبدالله حجازى
:: عضو ذهبي ::
تاريخ التسجيل: Apr 2011
الدولة: مصر .. محافظة دمياط
المشاركات: 1,688
نشاط [ عبدالله حجازى ]
قوة السمعة:111
قديم 18-12-2015, 12:28 AM المشاركة 4   
افتراضي


السلام عليكم
لما وجدت القيمة بالميلي فولط ماهو الاتي هل ستحول القيمة الى قيمة حقيقة بواسطة عملية ما ,
ارجو منكم المتابعة وذلك للاهمية وشكرا
وعليكم السلام ورحمه الله

نعم سيتم معايرة الكود ليتناسب مع قياس الوزن هذة المعايرة ستتم من خلال عمليه حسابية فى كود البرنامج ...

ملحوظه بيتم معايرة الكود حسب حساس الوزن المستخدم ... يعنى يوجد حساس وزن ل 10 كجم وحساس اخر ل 40 كجم وهكذا كل حساس لة عمليه حسابية للمعايرة


ABOUYAGINE
:: مهندس متواجد ::
تاريخ التسجيل: Jan 2012
المشاركات: 61
نشاط [ ABOUYAGINE ]
قوة السمعة:0
قديم 18-12-2015, 07:06 AM المشاركة 5   
افتراضي


وعليكم السلام ورحمه الله

نعم سيتم معايرة الكود ليتناسب مع قياس الوزن هذة المعايرة ستتم من خلال عمليه حسابية فى كود البرنامج ...

ملحوظه بيتم معايرة الكود حسب حساس الوزن المستخدم ... يعنى يوجد حساس وزن ل 10 كجم وحساس اخر ل 40 كجم وهكذا كل حساس لة عمليه حسابية للمعايرة
السلام عليكم
أنا عندي حساس للمعايرة 15 كيلو ,واريد أعرف منه الخرج ميلي فولط ,بس AD620 مش عندي,لدي فقط CD1180 هل يصلح أني أعمل به من فضلك
شكرا على الرد


ABOUYAGINE
:: مهندس متواجد ::
تاريخ التسجيل: Jan 2012
المشاركات: 61
نشاط [ ABOUYAGINE ]
قوة السمعة:0
قديم 23-12-2015, 08:50 PM المشاركة 6   
افتراضي


وياريت لو تم استبدال شاشه ال LCD بشاشات 7 سيجمنت يكون افضل ..


ما رأيك أستاذ عبدالله حجازي ,هل الــ 7سيجمنت مناسب هكذا ؟؟



التعديل الأخير تم بواسطة : ABOUYAGINE بتاريخ 23-12-2015 الساعة 09:05 PM

الصورة الرمزية عبدالله حجازى
عبدالله حجازى
:: عضو ذهبي ::
تاريخ التسجيل: Apr 2011
الدولة: مصر .. محافظة دمياط
المشاركات: 1,688
نشاط [ عبدالله حجازى ]
قوة السمعة:111
قديم 23-12-2015, 10:47 PM المشاركة 7   
افتراضي


وياريت لو تم استبدال شاشه ال LCD بشاشات 7 سيجمنت يكون افضل ..


ما رأيك أستاذ عبدالله حجازي ,هل الــ 7سيجمنت مناسب هكذا ؟؟

السلام عليكم ورحمة الله

اولا اسف جداااا لعدم متابعتى للموضوع وهذا لظروف الانتر نت عندى .... واجب على ان اتأسف لك ..

واحب ان اخبرك انى جاد جداااا فى هذا المشروع لأن اريد ان اقوم بتطبيقة على ماكينه تعبئة ألى .... حسب اختيار الوزن .... الماكينة تقفل بوابه التعبئة ...


وفكرة الماكينة ...
هو

يتم اختيار وزن لسلعه معينه وليكن مثلا .. ارز ... ويكون اختيار وزن 25 كجم مثلا ... وعند بدء التعبئه تفتح الماكينة بوابة لتسمح بنزول الارز ... وعند وصول الوزن ل 20 كجم .. تقفل البوابة لنصف المسافة لتقليل عملية التعبئه ولضمان معايرة الوزم الصحيح وعند وصول الوزن ل 25 كجم تقفل البوابه ويصدر صوت لتنبيه العامل ان الوزن اكتمل ...


واحب ان اقول لك عمل رائع مشاء الله عليك ....

ممكن ترفع الكود لنتعاون فية ونتناقش للوصول لأفضل النتائج .. ان شاء الله ..


انا تحت امرك فى كل تفاصيل المشروع و كل الخبرات العمليه والمصاعب والحلول كل م واجهنى فى تنفيذ هذا المشروع انا ... معاك فى كل معلومه ..


وانا منتظر منك هذا الكود لنتعاون فيه ..


تحياتى لك اخى الكريم

احصائية الشكر والاعجاب - 1 شكراً, 0 عدم اعجاب, 0 اعجاب
شكراً abdoelrefaiy ( شكر العضو على هذه المشاركة )

ABOUYAGINE
:: مهندس متواجد ::
تاريخ التسجيل: Jan 2012
المشاركات: 61
نشاط [ ABOUYAGINE ]
قوة السمعة:0
قديم 25-12-2015, 11:14 PM المشاركة 8   
افتراضي


السلام عليكم
اسف على الرد المتأخر ,النت متقطع
ممكن توضح لي الدخل الـ Load cell لانو بصراحة القيمة الضاهرة ليست حقيقية ,أعتقد أنه بحاجة الى amplifier اليس كذلك؟او ممكن في حل أخر ؟

إضافة رد

العلامات المرجعية

«     الموضوع السابق       الموضوع التالي    »
أدوات الموضوع

الانتقال السريع إلى


الساعة معتمدة بتوقيت جرينتش +3 الساعة الآن: 03:03 PM
موقع القرية الالكترونية غير مسؤول عن أي اتفاق تجاري أو تعاوني بين الأعضاء
فعلى كل شخص تحمل مسئولية نفسه إتجاه مايقوم به من بيع وشراء وإتفاق وأعطاء معلومات موقعه
التعليقات المنشورة لا تعبر عن رأي موقع القرية الالكترونية ولايتحمل الموقع أي مسؤولية قانونية حيال ذلك (ويتحمل كاتبها مسؤولية النشر)

Powered by vBulletin® Version 3.8.6, Copyright ©2000 - 2025