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

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

النمرالفولاذي
:: مهندس متواجد ::
تاريخ التسجيل: Mar 2012
المشاركات: 134
نشاط [ النمرالفولاذي ]
قوة السمعة:0
قديم 24-09-2014, 05:44 PM المشاركة 1   
angry يا جماعة محتاج مساعدة ارجو التفضل واكون جدا ممنون لكم بخصوص كودر Twitter FaceBook Google+



السلام عليكم اخواني واحبابي
اتمنى من حضراتكم ان تساعدوني لاني سانجن
الكل يعرف المتكاملة l297 تحتوي على مدخلين واربع مخارج حيث المدخل الاول يمثل النبضات والمدخل الثاني يمثل الاتجها الخاص بالنبضات ، والمخارج تقوم باخراج النبضات بالتسلسل لكل نبضه
ما احتاجه برنامج بلغة المايكرو سي وضيفته يشبه عمل المتكاملة المذكوره لاكن فيه اختلاف بسيط وهو عند الاخراج ان يخرج نبضه اي ليس يخرج ويبقى يعطي واحد منطقي بل اريده ان يخرج واحد منطقي ثم صفر منطقي
اتمنى ان يكون شرح مشكلتي واضح البيك المستخدم pic16f48a

اعلانات

النمرالفولاذي
:: مهندس متواجد ::
تاريخ التسجيل: Mar 2012
المشاركات: 134
نشاط [ النمرالفولاذي ]
قوة السمعة:0
قديم 24-09-2014, 06:55 PM المشاركة 2   
افتراضي


اين الاستاذ احمد سمير

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

الصورة الرمزية hussien1995
hussien1995
:: عضو فضي ::
تاريخ التسجيل: Nov 2012
الدولة: syria
المشاركات: 765
نشاط [ hussien1995 ]
قوة السمعة:89
قديم 25-09-2014, 10:57 AM المشاركة 3   
افتراضي


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

وبالنسبة لحالتك فالمتكاملة 16f84a ليست كافية إلا لمحرك واحد أو محركين أما هذه الدارة فهي تنفع لثلاث محركات وهي تستخدم الأيسية 16f870 ولكن أنا قمت بتجريب الدارة على برنامج بروتوس ولكنها لاتعمل بشكل جيد ولأن ناشرها يقوم ببيعها لذلك لايمكن أن يضع الكود الصحيح بل كود خاطئ لكي تطبق الدارة وبعدها عندما لاتعمل ستقوم بشراء الكود الصحيح منه وهذه هي صورة الدارة.


النمرالفولاذي
:: مهندس متواجد ::
تاريخ التسجيل: Mar 2012
المشاركات: 134
نشاط [ النمرالفولاذي ]
قوة السمعة:0
قديم 25-09-2014, 08:55 PM المشاركة 4   
افتراضي


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


ABOUYAGINE
:: مهندس متواجد ::
تاريخ التسجيل: Jan 2012
المشاركات: 61
نشاط [ ABOUYAGINE ]
قوة السمعة:0
قديم 25-09-2014, 09:58 PM المشاركة 5   
افتراضي


السلام عليكم
ممكن تضع الكود لنحاول معك ؟


النمرالفولاذي
:: مهندس متواجد ::
تاريخ التسجيل: Mar 2012
المشاركات: 134
نشاط [ النمرالفولاذي ]
قوة السمعة:0
قديم 25-09-2014, 11:12 PM المشاركة 6   
افتراضي


/*
Projenim Adý: 5 uçlu unipolar stepmotor kontrolü
Proje tarihi : Mart 2010
Mikro iþlemci:16f628a
Osilatör : 8Mhz ÝNTRC on I/O
Kullanýlan yapýizi ile tablo oluþturulup hers aþamada
tablodan bilgilaer farklý zaman aralýklarý ile okunup portBye gönderilmiþtir.
Menü seçimi için INT0 kesmeesi kullanýlmýþtýr böylece program döngüden çýkar çýkmaz
yeni menüya dallanma yapar
Projeyi yapan:AYTAÇ DÜRGEN
KOCAELÝ UNÝVERSÝTESÝ


*/

short int sayac=0;
void interrupt()
{ sayac = (sayac+1)%7;
INTCON.INTF=0;
}
void ayarlar()
{
OPTION_REG = 0x00;
INTCON.GIE = 1;
INTCON.INTE = 1;
TRISB=0x01;
PORTB=0;
TRISA=0;
PORTA=0;
}


signed int a,b;
unsigned char tablo[]={2,4,8,16 };
void main()
{
ayarlar();

/********************************************/
for(;{
PORTB=0;
/*********************************************/
if(sayac==0)
{
for(a=0;a<4;a++)
{
PORTB=tablo[a];
Delay_ms(4); // 4ms bekle
PORTA=sayac;
}
}
/********************************************/
if(sayac==1)
{
for(a=0;a<4;a++)
{
PORTB=tablo[a];
Delay_ms(80); // 80ms bekle
PORTA=sayac;
}
}
/********************************************/
if(sayac==2)
{

for(a=3;a>=0;a--)
{
PORTA=sayac;
PORTB=tablo[a];
Delay_ms(80); // 80ms bekle

}
}
/********************************************/
if(sayac==3)
{

for(a=0;a<4;a++)
{
PORTA=sayac;
PORTB=tablo[a];
Delay_ms(20); // 20ms bekle

}
}
/********************************************/
if(sayac==4)
{

for(a=3;a>=0;a--)
{
PORTA=sayac;
PORTB=tablo[a];
Delay_ms(20); // 20ms bekle

}
}
/********************************************/
if(sayac==5)
{
for(b=0;b<100;b++)
{
for(a=0;a<4;a++)
{
PORTA=sayac;
PORTB=tablo[a];
Delay_ms(5); // 5ms bekle
}
}
for(b=0;b<100;b++)
{
for(a=3;a>=0;a--)
{
PORTA=sayac;
PORTB=tablo[a];
Delay_ms(5); // 5s bekle
}
}
}
/**********************/
if(sayac==6) PORTB=0;

}
/********************************************/


}


النمرالفولاذي
:: مهندس متواجد ::
تاريخ التسجيل: Mar 2012
المشاركات: 134
نشاط [ النمرالفولاذي ]
قوة السمعة:0
قديم 25-09-2014, 11:17 PM المشاركة 7   
افتراضي


وعليكم السلام
هذا الكود لاكن الان اختلفت الفكره الان ابحث عن شيء اخر اريد على سبيل المثال ان اجعل طرف واحد دخل وطرف واحد خرج بحيث عند اعطاء واحد منطقي للدخل يقوم باعطاء نبضه واحده من الخرج كان تكون مدت النبضه نصف ثانية حتى وان بقيت ضاغط على الدخل اريده ان يقوم باعطاء نبضه وليس يبقى الخرج مفعل اتمنى ان تكون الصوره واضحه ومتاكد الكود المطلوب جدا بسيط لاكني اواجه مشكلة في لغة مايكرو سي


الصورة الرمزية حسن هادي محمود
حسن هادي محمود
:: عضو ذهبي ::
تاريخ التسجيل: Sep 2012
الدولة: العراق /البصره
المشاركات: 2,688
نشاط [ حسن هادي محمود ]
قوة السمعة:135
قديم 26-09-2014, 01:30 PM المشاركة 8   
افتراضي


السلام عليكم
لايزال الموضوع غامض يعني يحتاج الى تفاصيل أكثر
سؤال لماذا لايتم أستخدام متكامله l297 ؟
لاسف أخي انا لا أعرف طريقه العمل متكامله l297

تحياتي


التعديل الأخير تم بواسطة : حسن هادي محمود بتاريخ 26-09-2014 الساعة 02:08 PM
إضافة رد

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

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

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


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

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