شرح دستگاه آنالایزر
مقدمه
امــروزه بهران مصرف برق شاید مسئله ای مشکل سـاز برای آینده کشورمـان باشد ، با کاهش و صـرفه جویی در مصـرف برق شاید بتوان نیمی از این مشکل را حل نمود ، اما با کمی تدبیر می توان کمک بزرگی به آینده و اقتصاد نمود .
ساخت دستگاه آنالایزر (VCA005) تنها گامی در بهینه سازی مصرف انرژی می باشد ، این دستگاه با آنالیز کامل از مصـرف انرژی نموداری بصورت ماکزیمم و مینیمم مصرف در اختیار کاربر قرار می دهـد ، بنابراین کاریر قادر خواهد بود ایرادات مصرف برق را شناسایی نموده و سعی در رفع اشکالات نماید . بنابراین از این طریق خواهیم توانست کمک شایانی در بهتر مصرف نمودن انرژی انجام دهیم .
با نصب این دستگاه در کارنجات و رفع ایرادات احتمالی که بوسیله آنالیز برق شناسایی خواهد شد میتوان گامی بزرگ در بهینه سازی مصرف برق و اقتصاد کشور برداشت .
امیدوارم با راهنمایی و کمک اساتید محترم و ساخت دستگاه فوق الذکر توانسته باشم کمکی هر چند کوچک به اقتصاد کشورم کرده باشم .
توضح عملیات قطعات کشیده شده در بلوک :
الف ) 89C51(1) :
1- فرمانهای لازم را به ADC808 می دهد تا مقدار آنالوگ به دیجیتال برای هر شش کانال تبدیل شود ( سه کانال جریان و سه کانال ولتاژ )
2- مقدار دیجیتال گرفته شده از ADC را گرفته و عملیات لازم را روی آن انجام می دهد و مقدار مطلوب را روی صفحه LCD نمایش می دهد و همچنین این مقادیر را از طریق پورت سریال به آی سی 89C51(2) می فرستد .
3- کی بورد ماتریسی را چک می کند تا چنانچه کلید فشار داده شد عملیات لازم را انجام دهد .
4- محاسبه کردن ساعت سیستم و نمایش ساعت روی صفحه LCD .
5- محاسبه تاریخ شمسی و نمایش برروی صفحه LCD .
ب) 89C51(2) :
1- اطلاعات رسیده از خط سریال از آی سی 89C51(1) را در حافظه RAM ذخیره می کند و همچنین این اطلاعات را از طریق سریال به کامپیوتر می فرستد تا این مقادیر در نرم افزار نمایش داده شود .
2- بعد از رسیدن هر باکس اطلاعات یک LED را روشن یا خاموش می کند تا ذخیره اطلاعات در دستگاه نمایش داده شود .
ج) HIN232
یک واسط است برای تبادل سریال بین میکرو و کامپیوتر .
این آی سی ولتاژ پنج و صفر میکرو را با استفاده از خازنهای مدار تبدیل به ولتاژهای پانزده و منفی پانزده می کند .
این آی سی برای تبادل سریال از استاندارد RS232 استفاده می کند .
پایه های RS232
چون در کامپوترهای IBM برای ارتباط سریال از سوکت نه پین استفاده می شود لذا پایه های آن را توضیح می دهیم :
پایه ها :
1- تشخیص حامل داده DCD
2- داده رسیده RXD
3- داده ارسال شده TXD
4- پایانه داده آماده DTR
5- سیگنال زمین
6- مجموعه داده آماده
7- تقاضای ارسال
8- آمادگی برای ارسال
9- تشخیص دهنده
ما برای ارتباط سریال با میکرو فقط از پایه های دو و سه و پنج استفاده می کنیم .
پورتهای COM در IBM PC و سازگار به آنها :
کامپوترهای IBM PC و سازگارهای مبتنی بر (8086 ، 286 ، 386 ، 486 و پنتیوم ) معمولاً دو پورت COM دارند . هـر دو پورت کانکتورهای نوع RS – 232 را دارا می باشند .
بسیاری از PC ها یک DB – 25 و یک DB – 9 را بکار می برند .
پورت های COM با COM 1 و COM 2 نامگذاری شده اند . در سالهای اخیر COM 1 برای ماوس و COM 2 برا ی وسایلی چون مودم بکار رفته اند . برای انجام آزمایشات تبادل اطلاعات ، پورت سریال 8051 را به COM 2 در PC بکار می برند .
د) 1 , 2 , 3 , 4 , 5 , 6 :
یک مدار یکسو کننده و تقویت کننده آپ امپی است که ولتاژ ورودی AC را هم یکسو می کند و هم در یک گین ضرب می کند .
-نرم افزار تحت ویندوز نوشته شده با Visual C++ :
//////////////////////////////////////////////////////////////
& این زیر برنامه در ابتدای اجرای برنامه فراخوانی می شود و یک سری تنظیمات اولیه اجرا می شود .
void CAnalyzerView::OnInitialUpdate()
{
int out_file;
CFormView::OnInitialUpdate();
GetParentFrame()->RecalcLayout();
ResizeParentToFit();
m_led=1;
if (!m_commctrl.Create(NULL,0,CRect(0,0,0,0),this,ID_MS))
{
MessageBox(" Not Found Communiction System ----> Mscomm32.ocx ??? ","Error",MB_OK | MB_ICONSTOP);
Exit_prog();
}
m_commctrl.SetRThreshold(1);
out_file=f.Open("system\system.cfg",CFile::modeRead | CFile::typeBinary);
if(out_file==1)
{
f.Read(init,50);
f.Close();
}else
{
MessageBox(" Invalid System.cfg ","Error",MB_OK | MB_ICONSTOP);
Exit_prog();
}
out_file=f.Open("system\Init.cfg",CFile::modeRead | CFile::typeBinary);
if(out_file==1)
{
f.Read(init,50);
f.Close();
}else
{
MessageBox(" Invalid Init.cfg ","Error",MB_OK | MB_ICONSTOP);
Exit_prog();
}
out_file=f.Open("system\Price.cfg",CFile::modeRead | CFile::typeBinary);
if(out_file==1)
{
f.Read(init,50);
f.Close();
}else
{
MessageBox(" Invalid Price.cfg ","Error",MB_OK | MB_ICONSTOP);
Exit_prog();
}
SetTimer(ID_CLOCK,1,NULL);
m_prog.SetRange(0,32);
m_prog.SetStep(1);
s_prog.SetRange(0,8);
s_prog.SetStep(1);
GetDlgItem(IDC_CLICK1)->EnableWindow(FALSE);
GetDlgItem(IDC_CLICK2)->EnableWindow(FALSE);
GetDlgItem(IDC_CLICK3)->EnableWindow(FALSE);
GetDlgItem(IDC_CLICK4)->EnableWindow(FALSE);
GetDlgItem(IDC_CLICK5)->EnableWindow(FALSE);
GetDlgItem(IDC_CLICK6)->EnableWindow(FALSE);
GetDlgItem(IDC_CLICK7)->EnableWindow(FALSE);
GetDlgItem(IDC_VAL_TRANS)->EnableWindow(FALSE);
m_text1="Invalid";
m_text2="Invalid";
m_text3="Invalid";
s_prog.SetPos(0);
m_info="No Data";
UpdateData(FALSE);
Read_init();
if(Auto==1 || Auto==2)
{
m_auto=TRUE;
SetTimer(ID_LED,300,NULL);
}
switch(trans)
{
case 1:
GetDlgItem(IDC_CLICK1)->EnableWindow(TRUE);
m_250=FALSE;
zarib=1;
UpdateData(FALSE);
break;
case 2:
GetDlgItem(IDC_CLICK2)->EnableWindow(TRUE);
m_500=FALSE;
zarib=2;
UpdateData(FALSE);
break;
case 3:
GetDlgItem(IDC_CLICK3)->EnableWindow(TRUE);
m_750=FALSE;
zarib=3;
UpdateData(FALSE);
break;
case 4:
GetDlgItem(IDC_CLICK4)->EnableWindow(TRUE);
m_1000=FALSE;
zarib=4;
UpdateData(FALSE);
break;
case 6:
GetDlgItem(IDC_CLICK5)->EnableWindow(TRUE);
m_1500=FALSE;
zarib=6;
UpdateData(FALSE);
break;
case 8:
GetDlgItem(IDC_CLICK6)->EnableWindow(TRUE);
m_2000=FALSE;
zarib=8;
UpdateData(FALSE);
break;
case 9:
GetDlgItem(IDC_CLICK7)->EnableWindow(TRUE);
GetDlgItem(IDC_VAL_TRANS)->EnableWindow(TRUE);
m_trans=FALSE;
zarib=m_val_trans/250;
UpdateData(FALSE);
break;
}
switch(PORT)
{
case 1016:
m_com1=FALSE;
m_commctrl.SetCommPort(1);
UpdateData(FALSE);
break;
case 760:
m_com2=FALSE;
m_commctrl.SetCommPort(2);
UpdateData(FALSE);
break;
}
if(Auto==1 || Auto==2)
{
Off();
SetTimer(ID_AUTO1,10000,NULL);
}else
{
SetTimer(ID_LED_OFF,5000,NULL);
}
ChangLable();
}
///////////////
& این زیر برنامه در ابتدای اجرای برنامه فراخوانی می شود و عکس ها و رنگهای زمینه در این قسمت اجرا می شود .
void CAnalyzerView::OnDraw(CDC* pDC)
{
// TODO: Add your specialized code here and/or call the base class
CBitmap bmap;
BITMAP bm;
CDC dcmem;
فهرست مطالب
1- مقدمه
2- بلوک و دیاگرام دستگاه
3- توضیح عملیات قطعات رسم شده در بلوک دیاگرام
الف – 89C51(1)
ب – 89C51(2)
ج – HIN 232
د- مدارات یکسو کننده و تقویت کننده
ه – تراشه ADC808
و – طرز کار LCD
4- شرح کار دستگاه
5- مشخصات دستگاه
6 – مزایای دستگاه
7- سخت افزار دستگاه
8- مدارات قسمت نمونه گیری ولتاژ و جریان
9- طرز کار ADC 808
10- نرم افزار دستگاه
11- شرح عملکرد نرم افزار
12- شرح کلیدهای مختلف نرم افزار
13- آنالیز اطلاعات ذخیره شده
14-توضیحات نرم افزار اسمبلی میکرو پروسسورها
15- توضیحات نرم افزار تحت ویندوزبا Visual C++