السلام عليكم
انا طالب هندسة كمبيوتر ومشروع تخرجي هو القيام بعمل جهاز لفحص اسلاك الشبكات من النوع unshilded twisted pair CAT5e
المشروع يتكون من جزئين:
الجزء الرئيسي ويحتوي على مايكرو كنترولر وLCD و RJ-45 socket
الجزء الثاني ويحتوي على Rj-45 socket
هذه صورة من برنامج بروتوس
(حيث قمت بعمل short wire بين السلك رقم 4 و 5 )
وكما هو معروف ان هذي الكيبلات تتكون داخليا من 8 اسلاك
بحثت كثيرا عن طرق للقيام بفحص هذه الاسلاك عن طريق المايكرو كنترولر
واخيرا وجدت طريقة وفكرتها استخدام ladder resistor
وهي كالتالي:
الآن اصبح الموضوع اسهل وهو بقياس فرق الجهد بين كل سلك والذي يليه
والحمد لله قمت بفعل هذه الطريقة ونجحت ولكني اواجه مشكلة بسيطة في فحص الاسلاك المقطوعة (open wire) ولا ادري كيف اقوم بذلك
وايضا بالنسبة لتوصيل الاسلاك كما نعرف انها يجب ان تكون حسب الازواج التالية:
(1,2) (3,6) (4,5) (7,8)
ولكني لا اعرف ما هي افضل طريقة لقياسها ؟
هذا هو الكود (ارجو اعلامي اذا وجدتو اي ملاحظات او اخطاء)
بارك الله فيكم جميعا....
كود:
void main() {
unsigned char i,j,o,shortI[1],shortJ[1];
unsigned int z,k;
double vi,vj,v0,v7,vo;
LCD_init();
LCD_cmd(_LCD_CLEAR);
LCD_cmd(_LCD_cursor_off);
TRISB=0;
portB=0;
while(1)
{
TRISA = 0xFF; //port A is input
TRISE = 0xFF; //port E is input also :)
for(i=0; i<8; i++)
{
vi=adc_read(i);
for(j=i+1; j<8; j++)
{
vj=adc_read(j);
LCD_cmd(_LCD_CLEAR);
v0=adc_read(0); // to read AN0
v7=adc_read(7); // to read AN7
if(((vi-vj)*0.71428)<0.2 && (v0!=0) && (v7==0) )
{
LCD_out(1,1,"Short at: ");
ShortI[0]=i+48;
LCD_out(1,11,shortI);
LCD_out(1,12,"&");
ShortJ[0]=j+48;
LCD_out(1,13,shortJ);
LCD_out(1,14," ");
delay_ms(500);
}
}
}
}