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

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

zaed sat
:: مهندس ::
تاريخ التسجيل: May 2010
المشاركات: 41
نشاط [ zaed sat ]
قوة السمعة:0
قديم 29-05-2016, 10:22 PM المشاركة 1   
افتراضي طلب بسيط من مهندسينا الكرام العمالقةبخصوص المتحكم atmega8l Twitter FaceBook Google+



السلام عليكم ورحمة الله وبركاته
اخوكم في الله من أوبوزيد من سوريا
طلب بسيط أنا مبتدء في مجال الميكروكنترولر وعملت دورة بسيطة عن أساسيات الميكروكنترولر AVR بلغة الC
وطلبي من أساتذتنا ومهندسينا الكبار اللذين عودونا دائما على الكرم والعطاء
اللذي ليس له حدود واللذي أثرى منتدانا الغالي وونهل منه أعضائها المعلومات
الوافرة.
طلبي من المهندسين الكرام :عندي مشروع قياس جهد تيار بطارية باستخدام وحدة العرض 7SEGMENT مع المتحكم AVR ATMEGA 8L G بلغة السي C
لوتكرمتو عليي ياأساتذتنا الكبار الغوالي بالدائرة والكود وأكون لكم من الشاكرين
وجعله الله في ميزان حسناتكم وكل عام وأنتم بألف خير بمناسبة الشهر الكريم
ورمضان كريم

اعلانات

الصورة الرمزية حيدر علاج حسن
حيدر علاج حسن
:: مشرف منتدى الهندسة الكهربائية ::
تاريخ التسجيل: Mar 2005
الدولة: IRAQ
المشاركات: 10,061
نشاط [ حيدر علاج حسن ]
قوة السمعة:395
قديم 30-05-2016, 12:40 AM المشاركة 2   
افتراضي


للاسف لم اتعامل مع هذا النوع من المتحكمات و لكن ممكن اعطيك الكود و المخطط باستخدام متحكم من نوع PIC

حيدر علاج حسن
اعلانات اضافية ( قم بتسجيل الدخول لاخفائها )
  

مشتاق الله
:: مهندس متميز ::
تاريخ التسجيل: Oct 2015
المشاركات: 620
نشاط [ مشتاق الله ]
قوة السمعة:0
قديم 30-05-2016, 01:28 PM المشاركة 3   
sun


بسم الله الرحمن الرحيم

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

اخى اليك بفضل الله البرنامج لقراءة الجهد و اظهاره على شاشة
و تم تجربته على بروتيوس :

كود:
/*
 * car battery measure.cpp
 *
 * Created: 5/19/2016 5:02:26 PM
 * Author : مشتاق الله 
 */ 
#define F_CPU 1000000UL
#include <avr/io.h>
#include <util/delay.h>

#define    digitTEN      PORTC = 0b11111100;
#define digitONE      PORTC = 0b11111010;
#define digitDecimal  PORTC = 0b11110110;
#define segmentData   PORTB

int main(void)
{
char seg[]={64,121,36,48,25,18,2,120,0,16}; 
    //ADMUX |= 1<<REFS1 | 1<<REFS0;// | 1<<ADLAR ; // MUX3=MUX2=MUX1=MUX0 = 0 for channel(0)
    ADCSRA|= 1<<ADEN  ;
    DDRB = 0xff;
    DDRC = 0xfe;

    while (1)
      {
        ADCSRA |= 1<<ADSC ;
        uint8_t loAdc = ADCL;
        uint8_t highAdc = ADCH ;
        uint16_t analogVolt = 0;
        analogVolt = (highAdc<<8) + loAdc ; 
            
        float floatofanalogValue=(analogVolt*5/1024.0) ;
        floatofanalogValue*=4;
        
        segmentData = seg[(int)floatofanalogValue/10]; // digit 10thes
        digitTEN ;
        _delay_ms(40);
        PORTC = 0b11111110;
                
        segmentData = seg[(int)floatofanalogValue%10]; // digit ones 
        digitONE
        _delay_ms(40);
        PORTC = 0b11111110;
             
        segmentData = seg[(int)(floatofanalogValue*10)%10]; // digit decimal
        digitDecimal
        _delay_ms(40);
        PORTC = 0b11111110;
    }

}

تصميم الدائرة :




الحمد الذى بنعمته تتم الصالحات
الله مولانا ولا مولى لهم
انى عذت بربى و ربكم ان ترجمون
الله ينصرك سوريا و كل بلادنا - كلنا حلب و غزة و فلوجة



zaed sat
:: مهندس ::
تاريخ التسجيل: May 2010
المشاركات: 41
نشاط [ zaed sat ]
قوة السمعة:0
قديم 30-05-2016, 09:38 PM المشاركة 4   
افتراضي


وعليكم السلام ورحمة الله وبركاته الله يجزيك الخير أخ حيدر أنا بدي أشتغل حصرا على الavr atmega8أوال16وبماأني مبتدىء ودرست الatmega8l فأفضله
والشكر كل الشكر لك أخ حيدر ولللأخ مشتاق الى الله وانشاءالله رب العالمين
بجاه هذاالأيا الأيام الفضائل وبمناسبة حلول شهر الرحمة والخير والبركة
رمضان الخير وفضائل أنه ينزااح الألم والعذاب والجراح عنا داخل سوريا ويفرج عن اخواننا في العراق وفلسطين واليمن وكل بلاد المسلمين ويفرج كربنا وكروب المسلمين في كل مكان
أخ مشتاق لوتكرمت أيميلك أذا ممكن في بعض الأستفسارات والله يجزك الخير
ياطيب


التعديل الأخير تم بواسطة : zaed sat بتاريخ 30-05-2016 الساعة 11:14 PM
احصائية الشكر والاعجاب - 1 شكراً, 0 عدم اعجاب, 0 اعجاب
شكراً حيدر علاج حسن ( شكر العضو على هذه المشاركة )

zaed sat
:: مهندس ::
تاريخ التسجيل: May 2010
المشاركات: 41
نشاط [ zaed sat ]
قوة السمعة:0
قديم 31-05-2016, 11:43 PM المشاركة 5   
افتراضي


السلام عليكم أخ مشتاق لوتكرمت أن ترسل لي ملف البروتس والهيكس
ومشكور سلف


zaed sat
:: مهندس ::
تاريخ التسجيل: May 2010
المشاركات: 41
نشاط [ zaed sat ]
قوة السمعة:0
قديم 01-06-2016, 12:07 AM المشاركة 6   
افتراضي


بسم الله الرحمن الرحيم

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

اخى اليك بفضل الله البرنامج لقراءة الجهد و اظهاره على شاشة
و تم تجربته على بروتيوس :

كود:
/*
 * car battery measure.cpp
 *
 * Created: 5/19/2016 5:02:26 PM
 * Author : مشتاق الله 
 */ 
#define F_CPU 1000000UL
#include <avr/io.h>
#include <util/delay.h>

#define    digitTEN      PORTC = 0b11111100;
#define digitONE      PORTC = 0b11111010;
#define digitDecimal  PORTC = 0b11110110;
#define segmentData   PORTB

int main(void)
{
char seg[]={64,121,36,48,25,18,2,120,0,16}; 
    //ADMUX |= 1<<REFS1 | 1<<REFS0;// | 1<<ADLAR ; // MUX3=MUX2=MUX1=MUX0 = 0 for channel(0)
    ADCSRA|= 1<<ADEN  ;
    DDRB = 0xff;
    DDRC = 0xfe;

    while (1)
      {
        ADCSRA |= 1<<ADSC ;
        uint8_t loAdc = ADCL;
        uint8_t highAdc = ADCH ;
        uint16_t analogVolt = 0;
        analogVolt = (highAdc<<8) + loAdc ; 
            
        float floatofanalogValue=(analogVolt*5/1024.0) ;
        floatofanalogValue*=4;
        
        segmentData = seg[(int)floatofanalogValue/10]; // digit 10thes
        digitTEN ;
        _delay_ms(40);
        PORTC = 0b11111110;
                
        segmentData = seg[(int)floatofanalogValue%10]; // digit ones 
        digitONE
        _delay_ms(40);
        PORTC = 0b11111110;
             
        segmentData = seg[(int)(floatofanalogValue*10)%10]; // digit decimal
        digitDecimal
        _delay_ms(40);
        PORTC = 0b11111110;
    }

}

تصميم الدائرة :




الحمد الذى بنعمته تتم الصالحات
الله مولانا ولا مولى لهم
انى عذت بربى و ربكم ان ترجمون
الله ينصرك سوريا و كل بلادنا - كلنا حلب و غزة و فلوجة

السلام عليكم أخ مشتاق لوتكرمت أن ترسل لي ملف البروتس والهيكس
ومشكور سلف


zaed sat
:: مهندس ::
تاريخ التسجيل: May 2010
المشاركات: 41
نشاط [ zaed sat ]
قوة السمعة:0
قديم 04-09-2016, 11:17 PM المشاركة 7   
افتراضي


السلام عليكم ورحمة الله أخوتي المهندسين الأعزاء
أريد دارة و طريقة قياس الأمبير على المتحكم avr atmega8
ولكم جزيل الشكر


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


أخى
الأمبير لا يقاس ولكن يجب تحويله إلى فولت أولا
أبسط طريقة هى وضع مقاومة و توصيلها بطرف قياس AD
لكن هذا للرد على سؤالك
الصواب أن تحدد قيمة هذا التيار لتحديد قيمة المقاومة المناسبة فقياس 1 مللى ليس كقياس 1 أمبير
و هل تحتاج لمكبر قبل القياس أم لا و هل التيار متردد أم مستمر

إضافة رد

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

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

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


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

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