các bạn tự tìm sách trên google theo gợi ý bên dưới nhé! Show
1_slide.pdf 2_slide.pdf 2_slide.pdf 3_-giao_tiep_qua_ranh_cam.pdf 4_-giao_tiep_song_song.pdf 4_-lap_trinh_giao_tiep_ngoai_vi.pdf 5_-_giao_tiep_isa.pdf 5_-_giao_tiep_qua_cong_song_song.pdf 5_-_giao_tiep_qua_cong_song_song.pdf chuan_giao_tiep_noi_tiep.pdf giao_tiep_noitiep.pdf giao_tiep_noitiep.pdf ham_vb_6.pdf plc_taplenh 1.pdf plc_taplenh 2.pdf plc_taplenh 2.pdf tai lieu lap trinh plc s7-200_full.pdf tai lieu lap trinh plc s7-200_full.pdf tai lieu s7 200 tieng viet.pdf td200_s7200.pdf
baitap_1.pdf bai tap bo sung.pdf bai tap plc.pdf
10286734_791533630856647_658675309367804690_o.jpg 10380495_791533637523313_5369009685592653586_o.jpg gk2012.pdf
Trang web này phụ thuộc vào doanh thu từ số lần hiển thị quảng cáo để tồn tại. Vui lòng tắt trình chặn quảng cáo của bạn hoặc tạm dừng tính năng chặn quảng cáo cho trang web này.
QUẢNG CÁO Vài Phút Quảng Cáo Sản Phẩm
Bài tập lớn – Đo lường và tự động điều khiển Mọi ý kiến đóng góp xin gửi vào hòm thư: [email protected] Kéo xuống để Tải ngay đề cương bản PDF đầy đủ: Sau “mục lục” và “bản xem trước” (Nếu là đề cương nhiều công thức nên mọi người nên tải về để xem tránh mất công thức) Đề cương liên quan:Bài tập lớn Tính toán thiết bị trao đổi nhiệt gián tiếp Tải ngay đề cương bản PDF tại đây: Bài tập lớn – Đo lường và tự động điều khiển Đo lường và tự động điều khiển BÁO CÁO BÀI TẬP LỚNNgày nay trong mọi lĩnh vực khoa học kỹ thuật luôn xuất hiện khái niệm Kỹ thuật số
2. Đề tài : Đo và điều khiển tốc độ động cơ một chiều loại nhỏ
Nhóm thực hiện: Gồm 3 thành viên chính được phân công công việc cụ thể 1 Đo lường và tự động điều khiển 4.Định hướng thiết kế:Thiết kế một h ệ vi xử lý bao gồm cả việc thi ết kế tổ ch ức phần cứng và viết phần mềm cho nền ph ần cứng mà ta thiết kế. Việc xem xét giữa tổ chức phần cứng và chương trình phần mềm cho một thiết kế là mộ t vấn đề cần phải cân nhắc. Vì khi tổ chức phần cứng càng phức tạp, càng có nhiều chức năng hỗ tr ợ cho yêu cầu thiết kế thì ph ần mềm càng được giảm bớt và d ễ dàng thực hiện nhưng lại đẩy cao giá thành chi phí cho phần cứng, cũ ng như chi phí bảo trì. Ngược lại với một phần cứng tối thiểu lại yêu cầu mộ t chương trình phần mềm phức tạp hơn, hoàn thiện hơn; nhưng lại cho phép bảo trì hệ th ống dễ dàng hơn cũng như việc phát triển tính năng của hệ thống từ đó có thể đưa ra giá cạnh tranh được. Từ yêu cầu và nhận định trên ta có những định hướng sơ bộ cho thiết kế như sau: Từ yêu cầu dùng VXL 8 bit ta dự kiến dùng các chip vi đ iều khi ển thuộc h ọ MCS-51 của Intel, mà cụ thể ở đây là dùng chip 8051 vì những lý do sau:
.
Những đặc đ iểm đó dẫn đến đạt được hai tính năng quan trọng là: giảm công suất tiêu thụ và cho phép điều khiển thời gian thực nên về mặt ứng dụng nó rất thích hợp với các thiết kế hướng điều khiển. 2 Đo lường và tự động điều khiển
Vì những lý do trên mà việc l ựa chọn vi điều khiển 8051 là một giải pháp hoàn toàn phù hợp cho thiết kế. 4 .Phương án thực hiện :4.1. Dùng cặp cảm bi ến thu phát đặt đối diện để xác định số vòng quay trong một khoảng thời gian nhất định . Động cơ có gắn mộ t đĩa quay có một khe thủ ng trên đĩa ,mỗI khi khe này quay qua cặp cảm biến hồng ngoạt thu phát sẽ tạo ra một đột biến xung trong một vòng quay. 4.2. Sử dụng cảm biến phát và đồng thời thu tín hiệu phản xạ ngược trở bằng cách vạch một số điểm trên trục của động cơ . 4.3. Họ vi điều khiển AT89C51 có 32 đường xuất nhập dữ liệu : P0 ,P1 , P2, P3 mỗI Port 8 bit vì vậy ph ương án đặt ra sử dụng toàn bộ 8 bit P*.0 – P* .7 để xuất ra LED 7 thanh CA hoặc ch ỉ sử d ụng mỗ I Port 4bit sau đó giảI mã bằng 74LS47.Như vậy sẽ phảI sử dụng LCD để hiển thị tốc độ động cơ . 4.4. Sử dụng màn hình LCD để hiển thị . 5. Các bước thực hiện :Sau khi nhận đồ án nhóm em đã đưa ra một số bước sau để thực hiện công việc: 1.Nhập số vào LCD theo đúng trình tự hàng trăm hàng chục hàng đơn vị .Đo tốc độ của các động cơ loại nh ỏ (loại một chiều hoặc xoay chiều),có gắn cánh quạt (số lượng cánh là xác định ).
3.Việc hiển thị thực hiện thông qua LCD (đo tốc độ trong một khoảng thời gian phù hợp).Có một khoảng thời gian để quan sát giá trị của tốc độ. 4.Việc đo động cơ ta điều chỉnh sao cho tốc độ của động cơ luôn ổn định ở một ngưỡng nhất định .Nghĩa là tốc độ của động cơ luôn có một sai số trong giới hạn .trong bài này chúng em điều chỉnh cho sai số của động cơ trong khoảng 2%. 3 Đo lường và tự động điều khiển 6.Mô phỏnga.Phần code
#include “stdafx.h” #include “Mo Phong.h” #include “Mo PhongDlg.h” #include”math.h” #include “stdlib.h” #ifdef _DEBUG #define new DEBUG_NEW #undef THIS_FILE static char THIS_FILE[] = __FILE__; #endif ///////////////////////////////////////////////////////////////////////////// // CAboutDlg dialog used for App About class CAboutDlg : public CDialog { public: CAboutDlg(); // Dialog Data //{{AFX_DATA(CAboutDlg) enum { IDD = IDD_ABOUTBOX }; //}}AFX_DATA
protected: virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV support //}}AFX_VIRTUAL
//{{AFX_MSG(CAboutDlg) 4 Đo lường và tự động điều khiển //}}AFX_MSG DECLARE_MESSAGE_MAP() }; CAboutDlg::CAboutDlg() : CDialog(CAboutDlg::IDD) { //{{AFX_DATA_INIT(CAboutDlg) //}}AFX_DATA_INIT } void CAboutDlg::DoDataExchange(CDataExchange* pDX) { CDialog::DoDataExchange(pDX); //{{AFX_DATA_MAP(CAboutDlg) //}}AFX_DATA_MAP } BEGIN_MESSAGE_MAP(CAboutDlg, CDialog) //{{AFX_MSG_MAP(CAboutDlg) //}}AFX_MSG_MAP END_MESSAGE_MAP() ///////////////////////////////////////////////////////////////////////////// // CMoPhongDlg dialog CMoPhongDlg::CMoPhongDlg(CWnd* pParent /*=NULL*/) : CDialog(CMoPhongDlg::IDD, pParent) { //{{AFX_DATA_INIT(CMoPhongDlg)
Win32 m_hIcon = AfxGetApp()->LoadIcon(IDR_MAINFRAME); } void CMoPhongDlg::DoDataExchange(CDataExchange* pDX) { CDialog::DoDataExchange(pDX); 5 Đo lường và tự động điều khiển //{{AFX_DATA_MAP(CMoPhongDlg) DDX_Control(pDX, IDC_LED1, m_led1); DDX_Control(pDX, IDC_LED10, m_led10); DDX_Control(pDX, IDC_LED2, m_led2); DDX_Control(pDX, IDC_LED3, m_led3); DDX_Control(pDX, IDC_LED4, m_led4); DDX_Control(pDX, IDC_LED5, m_led5); DDX_Control(pDX, IDC_LED6, m_led6); DDX_Control(pDX, IDC_LED7, m_led7); DDX_Control(pDX, IDC_LED8, m_led8); DDX_Control(pDX, IDC_LED9, m_led9); //}}AFX_DATA_MAP } BEGIN_MESSAGE_MAP(CMoPhongDlg, CDialog) //{{AFX_MSG_MAP(CMoPhongDlg) ON_WM_SYSCOMMAND() ON_WM_PAINT() ON_WM_QUERYDRAGICON() ON_BN_CLICKED(IDC_HANGCHUC, OnHangchuc) ON_BN_CLICKED(IDC_HANGDONVI, OnHangdonvi) ON_BN_CLICKED(IDC_HANGNGHIN, OnHangnghin) ON_BN_CLICKED(IDC_HANGTRAM, OnHangtram) ON_BN_CLICKED(IDC_HANGVAN, OnHangvan) ON_BN_CLICKED(IDC_PAUSE, OnPause) ON_BN_CLICKED(IDC_RESET, OnReset) ON_BN_CLICKED(IDC_REVERSE, OnReverse) ON_WM_TIMER() ON_BN_CLICKED(IDC_START, OnStart) ON_WM_DESTROY() ON_BN_CLICKED(IDC_BUTTON1, OnButton1) //}}AFX_MSG_MAP END_MESSAGE_MAP() ///////////////////////////////////////////////////////////////////////////// // CMoPhongDlg message handlers BOOL CMoPhongDlg::OnInitDialog() { 6 Đo lường và tự động điều khiển CDialog::OnInitDialog();
CMenu* pSysMenu = GetSystemMenu(FALSE); if (pSysMenu != NULL) { CString strAboutMenu; strAboutMenu.LoadString(IDS_ABOUTBOX); if (!strAboutMenu.IsEmpty()) { pSysMenu->AppendMenu(MF_SEPARATOR); pSysMenu->AppendMenu(MF_STRING, IDM_ABOUTBOX, strAboutMenu); } }
SetIcon(m_hIcon, TRUE); // Set big icon SetIcon(m_hIcon, FALSE); // Set small icon
m_2=m_3=m_4=m_5=m_6=m_7=m_8=m_9=m_10=0; m_led1.SetWindowText(“0”); m_led2.SetWindowText(“0”); m_led3.SetWindowText(“0”); m_led4.SetWindowText(“0”); m_led5.SetWindowText(“0”); m_led6.SetWindowText(“0”); m_led7.SetWindowText(“0”); m_led8.SetWindowText(“0”); m_led9.SetWindowText(“0”); m_led10.SetWindowText(“0”); m_degree=0; 7 Đo lường và tự động điều khiển temp=TRUE; t=0; return TRUE; // return TRUE unless you set the focus to a control } void CMoPhongDlg::OnSysCommand(UINT nID, LPARAM lParam) { if ((nID & 0xFFF0) == IDM_ABOUTBOX) { CAboutDlg dlgAbout; dlgAbout.DoModal(); } else { CDialog::OnSysCommand(nID, lParam); } }
void CMoPhongDlg::OnPaint() { if (IsIconic()) { CPaintDC dc(this); // device context for painting SendMessage(WM_ICONERASEBKGND, (WPARAM) dc.GetSafeHdc(), 0); // Center icon in client rectangle int cxIcon = GetSystemMetrics(SM_CXICON); int cyIcon = GetSystemMetrics(SM_CYICON); CRect rect; GetClientRect(&rect); int x = (rect.Width() – cxIcon + 1) / 2; int y = (rect.Height() – cyIcon + 1) / 2; 8 Đo lường và tự động điều khiển
} else { CClientDC pDC(this); OnDraw(&pDC); CDialog::OnPaint(); } }
HCURSOR CMoPhongDlg::OnQueryDragIcon() { return (HCURSOR) m_hIcon; } void CMoPhongDlg::OnHangchuc() { if(m_4==9) m_4=0; else m_4++; CString s; s.Format(“%d”,m_4); m_led4.SetWindowText(s); m_vong=m_1*10000+m_2*1000+m_3*100+m_4*10+m_5; } void CMoPhongDlg::OnHangdonvi() { if(m_5==9) m_5=0; else m_5++; CString s; s.Format(“%d”,m_5); m_led5.SetWindowText(s); m_vong=m_1*10000+m_2*1000+m_3*100+m_4*10+m_5; 9 Đo lường và tự động điều khiển } void CMoPhongDlg::OnHangnghin() { if(m_2==9) m_2=0; else m_2++; CString s; s.Format(“%d”,m_2); m_led2.SetWindowText(s); m_vong=m_1*10000+m_2*1000+m_3*100+m_4*10+m_5; } void CMoPhongDlg::OnHangtram() { if(m_3==9) m_3=0; else m_3++; CString s; s.Format(“%d”,m_3); m_led3.SetWindowText(s); m_vong=m_1*10000+m_2*1000+m_3*100+m_4*10+m_5; } void CMoPhongDlg::OnHangvan() { if(m_1==9) m_1=0; else m_1++; CString s; s.Format(“%d”,m_1); m_led1.SetWindowText(s); m_vong=m_1*10000+m_2*1000+m_3*100+m_4*10+m_5; } void CMoPhongDlg::OnPause() 10 Đo lường và tự động điều khiển { KillTimer(1); } void CMoPhongDlg::OnReset() { m_1=m_2=m_3=m_4=m_5=m_6=m_7=m_8=m_9=m_10=0; // thiet lap ve khong m_led1.SetWindowText(“0”); m_led2.SetWindowText(“0”); m_led3.SetWindowText(“0”); m_led4.SetWindowText(“0”); m_led5.SetWindowText(“0”); m_led6.SetWindowText(“0”); m_led7.SetWindowText(“0”); m_led8.SetWindowText(“0”); m_led9.SetWindowText(“0”); m_led10.SetWindowText(“0”); KillTimer(1); } void CMoPhongDlg::OnReverse() { if(temp==TRUE) temp=FALSE; else { temp=TRUE; } } void CMoPhongDlg::OnDraw(CDC *pDC) { CRect rectWin; GetWindowRect(rectWin); rectWin.top+=32; CWnd*pWnd=GetDlgItem(IDC_DISPLAY); CRect rectD; pWnd->GetWindowRect(rectD); int cx,cy; 11 Đo lường và tự động điều khiển cx=rectD.CenterPoint().x; cy=rectD.CenterPoint().y; cx-=rectWin.left; cy-=rectWin.top; CBrush brush(RGB(0,255,0)); CBrush * oldBrush=pDC->SelectObject(&brush); CPen *pen=new CPen(PS_SOLID,1,RGB(0,0,255)); CPen*oldPen =pDC->SelectObject(pen); pDC->Ellipse(cx -50,cy-50,cx+50,cy+50); CPen*pen1=new CPen(PS_SOLID,3,RGB(255,0,0)); CPen*oldPen1 =pDC->SelectObject(pen1); double angle; angle =m_degree*3*3.14/180; pDC->MoveTo(cx,cy); pDC->LineTo(cx+(int)(50*sin(angle)),cy-(int)(50*cos(angle))); angle+=3.14/3; pDC->MoveTo(cx,cy); pDC->LineTo(cx+(int)(50*sin(angle)),cy-(int)(50*cos(angle))); angle+=3.14/3; pDC->MoveTo(cx,cy); pDC->LineTo(cx+(int)(50*sin(angle)),cy-(int)(50*cos(angle))); angle+=3.14/3; pDC->MoveTo(cx,cy); pDC->LineTo(cx+(int)(50*sin(angle)),cy-(int)(50*cos(angle))); angle+=3.14/3; pDC->MoveTo(cx,cy); pDC->LineTo(cx+(int)(50*sin(angle)),cy-(int)(50*cos(angle))); angle+=3.14/3; pDC->MoveTo(cx,cy); pDC->LineTo(cx+(int)(50*sin(angle)),cy-(int)(50*cos(angle))); pDC->MoveTo(cx,cy); pDC->LineTo(cx+(int)(50*sin(angle)),cy-(int)(50*cos(angle))); pDC->SelectObject(oldBrush); pDC->SelectObject(oldPen); pDC->SelectObject(oldPen1); } void CMoPhongDlg::OnTimer(UINT nIDEvent) 12 Đo lường và tự động điều khiển { if(temp==TRUE) { m_degree++; if(m_degree>=120) m_degree=0; } else { m_degree–; if(m_degree<=0) m_degree=120; } if(m_10<9) m_10++; else { m_10=0; if(m_9<9) m_9++; else { m_9=0; if(m_8<9) m_8++; else { m_8=0; if(m_7<9) m_7++; else { m_7=0; if(m_6<9) m_6++; else MessageBox(“Tran So”,”Warning”,MB_OK); } } } } 13 Đo lường và tự động điều khiển t++; if(t==100) { t=0; CString s6,s7,s8,s9,s10; s6.Format(“%d”,m_1); s7.Format(“%d”,m_2); s8.Format(“%d”,m_3); s9.Format(“%d”,m_4); if(m_5<=2) s10.Format(“%d”,m_5+1); else if((m_5>2)&&(m_5<5)) s10.Format(“%d”,m_5-1); else if(m_5==5||m_5==7) s10.Format(“%d”,m_5); else if((m_5>5)&&m_5<7) s10.Format(“%d”,m_5+1); else s10.Format(“%d”,m_5-1); m_led6.SetWindowText(s6); m_led7.SetWindowText(s7); m_led8.SetWindowText(s8); m_led9.SetWindowText(s9); m_led10.SetWindowText(s10); } CClientDC pDC(this); OnDraw(&pDC); CDialog::OnTimer(nIDEvent); } void CMoPhongDlg::OnStart() { UpdateData(TRUE); SetTimer(1,(int)(1000/m_vong),NULL); 14 Đo lường và tự động điều khiển } CScrollBar* CMoPhongDlg::GetScrollBarCtrl(int nBar) const {
} void CMoPhongDlg::OnDestroy() { CDialog::OnDestroy(); KillTimer(1); } void CMoPhongDlg::OnButton1() { OnOK(); } II. Lý Thuyết thực hiện.1. Cơ sở lý thuyết. Sơ đồ khối15 Đo lường và tự động điều khiển
Khối xử lý Khối mạch trung tâm động lực
16 Đo lường và tự động điều khiển Sơ đồ nguyên lý. 17 Đo lường và tự động điều khiển III.Phân tích chức năng từng khối.
c.Khối nhập giá trị tốc độ. d.Khối đo tốc độ động cơ. e.Khối động lực g.Khối nguồn h.Khối động cơ IV.Giới thiệu linh kiện sử dụng trong mạch:1 – IC khuếch đại LM324
V .Mô tả các modul1.Khối vi xử lý Điều khiển tốc độ động cơ:Mục đích của điều khiển tốc độ động cơ là đưa ra tín hiệu biểu diễn tốc độ yêu cầu, và đi ều khiển động cơ theo tốc độ đấy. Bộ điều khiển có thể có hoặc không th ật sự đo tốc độ độ ng cơ. Nếu có thì goi là điều khiển t ốc độ có phản hồi hoặc điều khiển tốc độ vòng kín, nếu không thì gọi là điều khiển t ốc độ vòng mở. Điều khiển tốc độ có phản hồi tốt hơn nhưng phức tạp hơn. Động cơ có rất nhiều kiểu, và đầu ra của bộ điều khiển tốc độ của động cơ với các d ạng khác nhau là khác nhau.
Tốc độ củ a động cơ một chiều tỉ lệ trực ti ếp với nguồ n cấp, vì vậy nếu ta giảm điện áp cung cấp từ 12V xuống 6V, động cơ sẽ chạy với tốc độ bằng một nửa trước đó. Bộ đ iều khiển tốc độ động cơ làm việc trên nguyên lý biến đổi đ iện áp trung bình cấp cho độ ng cơ. Có thể đơn giản chỉ bằng cách đ iều chỉnh điện áp cung cấp, nhưng như thế sẽ không hiệu quả. Cách tốt hơn là tắt nguồn cấp cho 18 Đo lường và tự động điều khiển động cơ thật nhanh. Nếu động tác tắt này đủ nhanh thì động cơ không kịp nhận ra sự thay đổi đó mà chỉ nhận ra được hi ệu ứng trung bình thôi. Khi bật, nguồn có giá trị 12V; khi tắt, nguồn có giá tr ị 0V. Nếu ta tắt nguồn với một lượng thời gian b ằng với khi nó được bật thì động cơ sẽ nhận được giá trị trung bình là 6V, và sẽ chạy chậm đi theo tỉ lệ đó. Chuyển mạch để bật tắt nguồn này gọi là on-off switching, được chế tạo bằng MOSFET. Ta dùng vi xử lý 8051. Những tính chất đặc trưng của họ vi điều khiển MCS-51:
2.1. Cấu trúc chung : 19 Đo lường và tự động điều khiển 2.1.1. Sơ đồ khối : S ơ đồ khối tổng quát của một vi điều khiển 8051 có thể được mô tả như sau: Nguồn ngắt ngoài Đếm sự kiện.
2bộ đếm CPU
Đo lường và tự động điều khiển Chức năng của từng khối : * Khối xử lý trung tâm CPU: Phần chính của bộ vi xử lý là khối xử lý trung tâm (CPU=Central Processing Unit ), khối này có chứa các thành phần chính : +Thanh ghi tích luỹ (ký hiệu là A ); +Thanh ghi tích luỹ phụ (ký hiệu là B ) thường được dùng cho phép nhân và phép chia ; +Khối logic số học (ALU=Arithmetic Logical Unit) ; +Từ trạng thái chương trình (PSW= Program Status Word ); +Bốn băng thanh ghi . +Con trỏ ngăn x ếp (SP=Stack Point) cũng như con trỏ dữ liệu để định địa chỉ cho bộ nhớ dữ liệu ở bên ngoài; Ngoài ra, khối xử lý trung tâm còn chứa: -Thanh ghi đếm chương trình (PC= Progam Counter ); -Bộ giải mã lệnh; -Bộ điều khiển thời gian và logic; Sau khi được Reset, CPU b ắt đầu làm việc tại địa chỉ 0000h, là địa chỉ đầu được ghi trong thanh ghi chứa ch ương trình (PC) và sau đó, thanh ghi này sẽ tăng lên 1 đơn vị và chỉ đến các lệnh tiếp theo của chương trình. *Bộ tạo dao động: 21 Đo lường và tự động điều khiển Khố i xử lý trung tâm nhậ n trực tiếp xung nhịp từ bộ tạo dao động đượ c lắp thêm vào, linh kiện phụ trợ có thể là một khung dao động làm bằng tụ gốm hoặc th ạch anh. Ngoài ra, còn có thể đưa một tín hiệu giữ nhịp từ bên ngoài vào. *Khối điều khiển ngắt: Chươ ng trình đang chạy có thể cho dừng lại nhờ một khố i logic ng ắt ở bên trong. Các nguồ n ng ắt có thể là: các biến cố ở bên ngoài, sự tràn bộ đếm/bộ định thời hay có th ể là giao diện n ối ti ếp. Tất cả các ng ắt đều có thể được thiết lập chế độ làm việc thông qua hai thanh ghi IE (Interrupt Enable) và IP (Interrupt Priority). *Khối điều khiển và quản lý Bus : Các kh ối trong vi điều khiển liên lạc với nhau thông qua hệ thống Bus nội bộ được điều khiển bởi khối điều khiển quản lý Bus. *Các bộ đếm/định thời: Vi đi ều khiển 8051 có chứa hai b ộ đếm ti ến 16 bit có thể hoạt động nh ư là bộ định thời hay bộ đếm sự kiện bên ngoài hoặc như bộ phát tốc độ Baud dùng cho giao diện nối tiếp. Trạng thái tràn bộ đếm có thể được kiểm tra trực tiếp hoặc được xoá đi bằng một ngắt. *Các cổng vào/ra: Vi điều khiển 8051 có bốn cổng vào/ra (P0 .. P3), mỗi cổng chứa
*Giao diện nối tiếp: Giao diện nối tiếp có chứa một bộ truyền và mộ t bộ nhận không đồng bộ làm việc độc lập với nhau. Bằng cách đấu nối các bộ đệm thích h ợp, ta có thể hình thành một cổ ng nối tiếp RS -232 đơn giản. Tốc độ truyền qua cổng nối tiếp có thể đặt được trong một vùng rộng phụ thuộc vào một bộ định thời và tần số dao động riêng của thạch anh. *Bộ nhớ chương trình: Bộ nhớ chương trình thường là bộ nhớ ROM (Read Only Memory), bộ nhớ chương trình được sử dụng để cất giữ chương trình điều khiển hoạt động của vi điều khiển. *Bộ nhớ số liệu: 22 Đo lường và tự động điều khiển Bộ nhớ số liệu th ường là bộ nhớ RAM (Ramdom Acces Memory), b ộ nh ớ số li ệu dùng để cất giữ các thông tin tạm thời trong quá trình vi điều khiển làm việc. 2.1.2. Sự sắp xếp chân ra của vi điều khiển 8051: Phần lớn các bộ vi điều khiển 8051 được đóng vào vỏ theo kiểu hai hàng DIL(Dual In Line) với tổng số là 40 chân ra, một số ít còn lại được đóng vỏ theo kiểu hình vuông PLCC (Plastic Leaded Chip Carrier) v ới 44 chân và loại này thường được dùng cho những hệ thống cần thiết phải tiết kiệm diện tích.
Hình 2.2: Sơ đồ chân của vi mạch 8051 DIL. Bảng 2.1: Chức năng các chân của vi điều khiển 8051.
23 Đo lường và tự động điều khiển
Các chân ra của bộ vi điều khiển 8051 gồm có: *EA: Đóng vai trò quy ết định xem vi điều khiển làm vi ệc với chương trình bên trong hay bên ngoài. Với loại 8051 không có ROM trong thì chân này phải được nối với mát. Loại thông thường có thể làm việc tuỳ theo cách lựa chọn giữa ROM trong hay ROM ngoài, khi đang ở chế độ làm việc với bộ nhớ ROM trong, loại có chứa bộ nhớ ROM có thể truy nhập tự động lên bộ nhớ chương trình bên ngoài. *Reset: Trạng thái Reset được thiết lập bằng cách giữ tín hiệu Reset ở mức cao trong thời gian ít nhất là 2 chu kỳ máy. *ALE: Tín hiệu chốt 8 bit địa chỉ thấp trong suốt quá trìng truy nhập bộ nhớ mở rộng. Thông thường tín hiệu ALE được phát ra với tần số bằng 1/6 tần số dao động thạch anh và có thể sử dụng với mục đích định thời gian hoặc xung nhịp đồng hồ ngoài. Tuy nhiên, tín hiệu ALE sẽ bị bỏ qua trong mỗi quá trình truy nhập bộ nhớ dữ liệu ngoài. *PSEN: Tín hiệu đọc bộ nhớ chương trình ngoài, khi vi điều khiển truy nhập bộ nhớ chương trình nội thì PSEN được đặt ở mức cao. *XTAL1, XTAL2: M ột bộ tạo tín hiệu gi ữ nh ịp v ới t ần s ố được xác định bởi bộ cộng hưởng thạch anh được lắp thêm vào, tần số này xác định tốc độ 24 Đo lường và tự động điều khiển làm củ a bộ vi đi ều khiển. Thông thường các lệnh được thực hiện bằng 1/12 tần số dao động của thạch anh. Các bộ đếm cố thể làm việc trong nhiều chế độ khác nhau. Khi hoạt động như là bộ định thời, các bộ đếm nh ận được các xung từ một bộ chia trước ở bên trong, bộ này chia tần số riêng của bộ cộng hưởng thạch anh cho 12 . Thay cho một bộ định thời 16 bit, một bộ đinh thời 8 bit có thể được tạo ra bằng việc nạp tự động sau khi cấp nguồn, các xung dẫn từ bên ngoài vào qua T0 và T1 cũng có thể được đếm, các xung này có tần số cực đại bằng 1/24 giá trị tần số của bộ cộng hưởng thạch anh. *P0..P3: Các công vào/ra. Cổng P3 cũng đảm nhận một số chức năng đặc biệt của bộ vi điều khiển :
Tất cả các vi đ iều khiển thuộc họ MCS-51 đều phân chia bộ nhớ thành hai vùng địa chỉ cho bộ nh ớ d ữ liệu và bộ nhớ chương trình. Sự phân chia logic giữa bộ nh ớ d ữ li ệu và bộ nhớ chương trình cho phép truy nhập bộ nhớ dữ liệu bằng 8 bit địa chỉ giúp cho việc lưu trữ và thao tác dữ liệ u nhanh hơn.Tuy nhiên, chúng ta có thể sử dụng địa chỉ bộ nhớ dữ liệu 16 bit thông qua thanh ghi DPTR. Bộ nhớ chươ ng trình là loại bộ nhớ chỉ cho phép đọc, không cho phép ghi. Một số vi đ iều khiển được tích hợp sẵn bộ nhớ ch ương trình bên trong với dung lượng khoảng 4kbyte hay 8 kbyte, số còn lại phải sử dụng bộ chương 25 Đo lường và tự động điều khiển trình mở rộng mà quá trình truy nhập được thực hiện thông qua sự điều khiển bằng tín hiệu PSEN (Progam Strobe Enable). Tuy nhiên, vi đi ều khiển 8051 cho phép ta sử dụ ng đến 64kbyte bộ nhớ chương trình bằng cách sử dụng cả bộ nhớ chương trình bên trong và bên ngoài. Bộ nhớ số liệu chiếm giữ vùng địa chỉ phân chia của bộ nhớ ch ương trình. Dung lượ ng củ a b ộ nhớ dữ liệu có thể mở rộng lên tới 64 kbyte. Trong quá trình truy nhập bộ nhớ s ố liệu, CPU phát ra các tín hiệu đọc và tín hiệu viết số liệu thông qua các chân RD và WR. Bộ nhớ Chương trình FFFFH Bộ nhớ mở rộng
Bộ nhớ Số liệu Bộ nhớ FFH mở rộng 00H |WR |RD Hình 2.3: Cấu trúc bộ nhớ của họ MCS-51. Chúng ta có thể kết hợp bộ nhớ chương trình mở rộng với bộ nhớ số liệu mở rộng bằng cách cho hai tín hiệu RD và PSEN qua mộ t cổng logic AND, lối ra của cổng AND này sẽ tạo tín hiệu đọc cho bộ nhớ mở rộng. 26 Đo lường và tự động điều khiển 2.2.2. Bộ nhớ chương trình: Sau khi Reset, CPU bắt đầu thực hiện chương trình từ địa chỉ 0000H. Vùng đầu của bộ nh ớ chương trình là vùng chứa các vector ngắt, mỗ i ngắt đượ c phân chia mộ t vùng địa ch ỉ cố định trong trong bộ nhớ chương trình. Khi xuất hiện ngắt, CPU sẽ nhảy tới địa ch ỉ này, đây cũng là địa chỉ đầu của chương trình con phục vụ ngắt. Các vector ngắt cách nhau 8 byte, vì vậy nếu chương trình con phục vụ ngắt quá dài (>8 byte) thì tại vector ngắt ta phải đặt một l ệnh nhảy không điều kiện tới vùng địa chỉ khác chứa chương trình con phục vụ ngắt. 2.2.3. Bộ nhớ số liệu: Phía bên phải củ a Hình 2.3 biểu di ễn không gian bộ nhớ dữ li ệu của MCS-51. Chúng ta có thể sử d ụng tới 64 Kbyte bộ nhớ số liệu ngoại vi. Độ rộng bus địa chỉ của bộ nh ớ s ố liệu ngoài có thể là 8 bit hoặc 16 bit. Bus địa ch ỉ rộng 8 bit th ường được s ử dụng để liên kết với một hoặc nhiều đường vào ra khác để định địa chỉ cho RAM theo trang. Trong trườ ng hợp bus đị a chỉ rộng 16 bit, cổng P2 sẽ phát ra 8 bit địa ch ỉ cao còn cổng P1 sẽ phát ra 8 bit địa chỉ th ấp. Bằng cách này, ta có thể truy nhập trực tiếp lên bộ nhớ dữ liệu ngoài với độ lớn tối đa là 64 Kbyte. Bộ nhớ số liệu trong được chia ra làm 3 vùng: +128 byte cao. +128 byte thấp. +Vùng dành cho các thanh ghi chức năng đặc biệt (SFR). Địa chỉ củ a bộ nhớ số liệu trong luôn là 8 bit, và có thể quản lý được 256 byte bộ nhớ. Tuy nhiên, trên thực t ế cách định địa chỉ của bộ nhớ RAM trong có thể quản lý tới 384 byte. Bản đồ bộ nhớ trên chíp: 27 Đo lường và tự động điều khiển
28 Đo lường và tự động điều khiển
29 Đo lường và tự động điều khiển
2.2.4. Thanh ghi ghi chức năng đặc biệt (SFR= Special Function Registers): Vi đ iều khiển 8051 là một bộ vi điều khiển đa năng với nhiều chế độ hoạt động khác nhau được thiết lập thông qua các thanh ghi chức năng đặc biệt SFRs. Các thanh ghi chức năng đặc biệt của vi điều khiển 8051 gồm có: +P0, P1, P2, P3: Các cổng vào ra, mỗi bít ứng với 1 chân của vi điều khiển. Các chân này hoạt động ở mức logic âm. +SP (Stack Pointer): Đây là con trỏ ngăn xếp của vi điều khiển. Thanh ghi này cho biết địa chỉ truy nhập tiếp theo trong bộ nhớ RAM. +DPH, DPL (Data Pointer High, Data Pointer Low): Tạo thành 1 cặp thanh ghi con trỏ dữ liệu DPTR 16 bit. +PCON (Power Control): Thanh ghi này được sử dụng để điều khiển công suất của vi điều khiển. Ngoài ra bit PCON.7 con cho phép sủ dụng để tăng gấp đôi tốc độ baud khi truyền qua cổng nối tiếp. +TCON (Timer Control): Thiết lập cấu hình làm việc cho bộ Timer/Counter. +TMOD (Timer Mode): Xác định chế độ làm việc cho từng bộ Timer/Counter. +TL0/TH0 (Timer 0 Low/High): Cặp thanh ghi tương ứng với Timer0. +TL1/TH1 (Timer 1 Low/High): Cặp thanh ghi tương ứng với Timer1. +SCON (Serial Control): Thiết lập cấu hình cho cổng nối tiếp. 30 Đo lường và tự động điều khiển +SBUF (Serial Buffer): Bộ đệm khi truyền hoặc nhận dữ liệu qua cổng nối tiếp. +IE (Interrupt Enable): Cho phép ngắt hoặc cấm ngắt. +IP (Interrupt Priority): Thiết lập mức ưu tiên cho các ngắt. +PSW (Program Status Word ): Thanh ghi từ trạng thái chương trình lưu tr ữ một s ố bit quan trọng được đặt hoặc xoá bởi các l ệnh của 8051: cờ nhớ, cờ nh ớ ph ụ, cờ tràn và cờ chẵn lẻ. Ngoài ra, 2 bit RS0 và RS1 trong PSW còn cho phép chọn băng thanh ghi để làm việc trong bộ nhớ RAM trong. +ACC (Accumulator): Thanh ghi tích luỹ, đây là một trong những thanh ghi được sử d ụng nhiều nhất trong vi điều khiển 8051. Thanh ghi này có ký hiệu là A. +B (B Register): Thanh ghi B được sử dụng khi thực hiện các phép toán nhân, chia và cũng có thể được dùng như thanh ghi phụ hay thanh ghi lưu trữ số liệu tạm thời. Các thanh ghi chức năng đặc biệt sẽ có thể đượ c nhận mộ t trạng thái nào đó cố định mỗi khi vi điều khi ển Reset (tuỳ thuộc vào mỗi thanh ghi). Sau đây là bảng trạng thái của các thanh ghi ngay sau khi Reset: Bảng 2.2: Trạng thái khi reset của các thanh ghi.
2.Khối hiển thị31 Đo lường và tự động điều khiển N ối ghép LCD với vi xử lý 8051: LCD gồm có hai hàng hàng đơn v ị, hàng ch ục, hàng trăm. Hàng đầu là giá tr ị nhập vào để động c ơ chạy, hàng thứ hai là giá trị m à thực chấ t động cơ chạy và đ ược hiển t hị trên LC D. Trong nhữ ng năm g ần đây, mà n hình tin h thể lỏng LCD (Liquid Crystal Display) n gày càng được sử d ụ ng rộng r ãi và đang dần thay thế các đèn LED (7 thanh và nhiều th anh). Đó l à do các n guyên nhâ n sau: -Màn hình LCD có giá thành h ạ -Khả năng hiển thị số, ký tự và đồ hoạ tốt h ơn nhiều so với đ èn LED (đèn LED chỉ h iển thị đư ợc số và m ột số ký t ự). -Sử dụng thêm một bộ điều khiển làm tươ i LCD và như vậy giải phóng CPU khỏ i công việc này. Còn đối v ớ i đèn LE D luôn cần CPU (hoặ c bằng cá ch nào đó) để du y trì vieec hiển thị dữ liệu. -Dễ dàng lập trình c ác ký tự và đồ hoạ. LCD giới thiệu ở đây có 14 chân. Chức năng của các chân đư ợc trình bày trong bản g như sau:
32 Đo lường và tự động điều khiển
Có hai thanh ghi rất quan trọ ng bên trong LCD. Chân RS được dùng để ch ọn các thanh ghi này. Nếu RS = 0 thì thanh ghi mã lệnh được chọn, cho phép ngườ i dùng gửi mộ t l ệnh chẳng hạn như xoá màn hình, đưa con trỏ về đầu dòng v.v…Nếu RS = 1 thì thanh ghi dữ liệu được chọn và cho phép người dùng gửi dữ liệu cần hiển thị lên LCD.
Chân vào đọc/ghi cho phép người dùng đọc/ghi thông tin từ/lên LCD. R/W = 0 thì đọc, R/W = 1 thì ghi.
Chân E được LCD sử dụng để chốt thông tin hiện có trên chân dữ liệu. Khi dữ liệu đượ c cấp đến chân d ữ liệu thì một xung mức Cao -xuống-thấp được áp đến chân E để LCD chốt dữ liệu trên chân dữ liệu. Xung này phải rộng tối thiểu 450ns. 6.D0 – D7: Đây la 8 chân dữ liệu 8 bits, được dùng để gửi thông tin lên LCD hoặc đọc nội dung của các thanh ghi trong LCD. Để hiển thị chữ cái và con số, mã ASCII của các chữ cái từ A đến Z, a đến z, và các con số tự 0 – 9 được gửi đến các chân này khi RS = 1. Cũng có các mã lệnh được gửi đến LCD để xoá màn hình hoặc đưa con trỏ về đầu dòng hoặc nhấp nháy con trỏ. Cũng có thể sử dụng RS = 0 để kiểm tra bit cờ bận xem LCD đã sẵn sàng nhận thông tin chưa. Khi R/W = 1 và RS = 0 thì cờ bận D7 thực hiện các chức năng như sau: Nếu D7 = 1 (cờ bận bằng 1) có nghĩa LCD đang bận các công việc bên trong và sẽ không nhận bất kỳ thông tin mới nào, còn nếu D7 =
-LCD ghép nối với các cổng p1.0…..p1.7 cổng p1 là cổng dữ liệu dùng để chuyễndữ liệuvà chênh lệch giá trị , 3chân EN ,RW,RS được nối với các chân của vi xử lý có nhiệm vụ như đã nói ở trên ,chân thứ 15,16 lắp cho đèn LCD (ở đây ta không dùng ) 33 Đo lường và tự động điều khiển 3 .Phần đo động cơ (khối sensor)Về phần này thì gồm có những bộ phận sau:
74HC14 trigosmith hoạt truyền JP1s R2s Rs1 5V Cs1 C 10k J2s 3 CON3 động theo sườn tránh các hoạt
D3s LED động dao động trên đường 34 Đo lường và tự động điều khiển Nguyên lý ho ạt động của mạch: Việc đo tốc độ c ủa động cơ dựa vào quá trình đếm xung của vi xử lí thông qua các xung của bộ sensor thu phát ( ứng với mỗ i vòng quay của động cơ sensor sẽ phát 1 xung đưa về bộ đếm của vi xử lí) . Thông qua chương trình được lập trình sẵn trong vi x ử lí ,mạch đếm sẽ tính toán số li ệu đo được và cho hiển thị kết quả. Với khả năng lập trình được vi xử lí cho phép tự động chọn thang đo ( có thể thay đổi khoảng th ời gian trong phép đo t ừ đó thay đổi thang đo theo giây hay phút …) . Ngoài ra , vi xử lí còn cho phép phát triển thêm các tính năng củ a mạch như điều khiển tố c độ của động cơ khi cần thi ết , lưu giữ các kết quả của các phép đ o trước đó mở rộ ng khả năng ứng dụng trong nhiều lĩnh vực của mạch ( đo tần số , đo chu kì… ) . Nhờ sử dụng xung động bộ của thạch anh có độ chính xác và ổn định cao nên
4.Phần động lựcmạ ch cầu H có nhiệ m vụ điều khiển tốc độ động cơ, thay đổi điện áp đầu vào dẫn đến thay đổi thay đổi tốc độ của động cơ Nguyên lý hoạt động của mạch cầu H: 0V
tD3 R_IRF2 10K 1IRF540 Rh3 tD2 IRF9540 Rh1 24V 35 Đo lường và tự động điều khiển Mạ ch cầu H được mô tả trong hình dưới đ ây. Động cơ đượ c nố i với các cực âm và dương củ a nguồn. Chú ý là chỉ một MOSFET ở mỗi bên của động cơ được bật lên tại một thời điểm nếu không nó sẽ ngắn mạch và cháy. Để động c ơ chạy theo chiều thuận, Q4 được bật, Q1 có tín hiệu điều chế độ rộng xung PWM. Dòng điện được chỉ ra trong hình dưới đây. Q4 được giữ sao cho khi tín hiệu PWM mất đi, dòng điện tiếp tục chảy quanh vòng cuối quan đi ốt bên trong của Q3. 36 Đo lường và tự động điều khiển Để động cơ chạy theo chiều ngược, Q3 được bật lên, Q2 có tín hiệu PWM: Q3 được giữ sao cho khi tín hiệu PWM mất đi, dòng điện tiếp tục chảy trong vòng cuối của điốt trong Q4: Để phục hồi, ví dụ như khi động cơ đang quay theo chiều nghịch, độ ng cơ (bây giờ đang hoạt độ ng như một máy phát) cho dòng đ iện chảy qua ph ần ứng, qua điốt của Q2, qua nguồn (và do đó nạp cho nó) và quay lại qua điốt của Q3: 37 Đo lường và tự động điều khiển 5.Phần nhập giá trị tốc độ ban đầu :
Khối này tương đối đơn giản nó chỉ gồm có các nút bấm hàng đơn vị hàng chục hàng trăm hàng nghìn và hàng vạn ,nút reset ,pause , đảo chi ều và nút start.nó được nối thông qua các điện trở R1 vào cac chân p0.0 đến p0.7 ta nhập các số vào nút bấm dữ liệu. 6.Khối động cơ : HHoạt động của độ ng cơ được xác định mỗi khi có sự thay đổI tín hi ệu xung nhận được khi có chùm sáng t ừ cả m biến phát quang chiếu qua khe đạt trên cánh động cơ xuống cả m bi ến thu quang .Tín hiệu thu được từ bộ cảm bi ến hồng ngoạI có tính chất tu ần hoàn do động cơ hoạt động theo chu kì .Chính vì vậy , ta có thể xác định số vòng quay trong 1s. 38 Đo lường và tự động điều khiển Tín hiệu thu đựơc từ bộ cảm bi ến chưa ổn định do nhiều nguyên nhân khác nhau. Tín hiệu này được đưa vào IC khuếch đạI thuật toán để xử lý .Giá trị điện áp tín hiệu đượ c khuếch đạI lên khoảng 12V tạI đây tín hiệu được đưa vào chân p3.0 chờ xử lý. Vi xử lý AT89c51 được lập trình vớI đầu vào p3.0 .Port vào ra
Đặc điể m n ổi bật của họ vi xử lý 8051 là khả n ăng xử lý dữ liệu theo từng bít .Vì vậy các bít được lập trình sau đó được xuất trực tiếp ra các chân cua LCD mà không cần thông phải qua bộ giải mã 74ls47 . Chu kỳ lấy mẫu 1 s như vậy tốc độ động cơ được xác định bằng : Tốc độ động cơ =( tổng số xung /1 s)/6 7.Khối nguồnSW1 1 2 DIODE HEADER 2 SW KEY-DPDT U2 LM7805 VIVO C38 CAP NP 5V R6 RESISTOR C3 CAP D1 LED Grd Nguồn điện được thi ết kế riêng s ử dụng IC 7805 cho phép cung cấp điện áp ổn định 5 V với điện áp vào thay đổ i từ 9 –12 V. Mạch nguồn được thiết kế nhằm giảm thiểu sai số do sự không ổ n định củ a điện áp cung cấp cho mạ ch đếm và hạn chế sự ra tăng đi ện áp đột ngộ t gây hỏng linh kiện, cụ thể là 2 tụ C3 và C38 có nhiệm vụ ổn áp tránh dao động do dòng điện, hoặc các hiện tượng sụt áp, ngoài ra con diện trở R6 và con led có nhiệm vụ là bảo vệ nguồn III, Phần mềm thực hiện thuật toán:1. Lưu đồ thuật toán.39 Đo lường và tự động điều khiển Begin Nhập tốc độ, đưa ra LCD Thay đổi giá trị hay không Tính độ rộng xung Đưa ra động cơ Lấy tín hiệu từ sensor, đưa ra LCD
Tăng độ rộng xung Nhỏ hơn sai số cho phép 40 Đo lường và tự động điều khiển 2. Mã nguồn chương trình:IV .Thiết kế mạchSơ đồ mạch in 41 Đo lường và tự động điều khiển
a1. Sai số do linh kiện. Mạch điện có sử dụng một số linh kiện điện tử , các linh kiện này trong điều kiện thường đều có các sai số. VD : trong vi xử lí 89c51 mỗi câu lệnh đều yêu cầu một thời gian trễ nhất định để thực hiện thời gian này lại phụ thuộc vào xung của bộ dao động thạch anh ( có sai số trong quá trình sản xuất ) điều này gây ảnh hưởng đến thời gian đếm các xung không còn chính xác như với hàm Delay : bộ định thời làm việc với tần số bằng 1/12 tần số thạch anh tức là bằng 12/12= 0.1 Mhz . Kết quả là mỗi nhịp xung đồng hồ có chu kỳ T = 1/f = 1 Ms như vậy bộ đếm sẽ tiến hành đếm tăng sau mỗi chu kỳ T với dộ trễ được tính = số đếm * 1 Ms. Ngoài ra khi tín hiệu qua bộ khuếch đại và qua cổng NOT có sự trễ do thời gian đóng mở của linh kiện dẫn đến sự mất đồng bộ về thời gian gây sự chuyển trạng thái của tín hiệu một cách ngẫu nhiên gây sai lệch trong phép đếm xung (còn gọi là sai số +1). a2. Sai số của nguồn tín hiệu Nguồn tín hiệu được tạo ra từ mạch sensor thu phát hồng ngoại . Mức điện áp khi có tín hiệu ( đã qua khuếch đại) là 3,5 – 4 V còn khi không có tín hiệu là 0- 2,5 V .Tuy nhiên trong quá trình thu phát tín hiệu do động cơ quay với tốc độ khá cao dẫn đến sự chuyển mức không kịp đáp ứng tạo nên một dãy các xung ứng với mức “1” hoặc “0” mặc dù mức điện áp không nằm trong các mức này. Đây chính là nguyên nhân chính gây ra sai số của mạch điện. a3. Sai số do cách xử lí kết quả đo 42 Đo lường và tự động điều khiển Trong quá trình đ o chưa tính đượ c các thông số kí sinh của mạch. Trong chươ ng trình chưa xem xét đến độ trễ của các câu lệnh, chưa tìm được cách xử lí độ nhiễu của tín hiệu. Mạch tạo nguồn tín hiệu bằng sensor , mức tín hiệu chuẩn trong khoảng cách 5cm ,độ ổn định chưa cao còn chịu ảnh hưởng của nguồn sáng bên ngoài ( ánh sáng tự nhiên , ánh sáng đèn…). Trong bài tập này ánh sáng phòng có ảnh hưởng lớn đến sai số trong phép đo vì nó can nhiễu đến s ự thu nhận của sensor . Tuy nhiên điều này được hạn chế bằng mạch khống chế độ nhạy sensor . Trong qua trình đo động cơ có độ rung nhất định ( tuỳ thuộc vào mức đi ện áp cung cấp) dẫn đến sự sai khác trong việc thu và xử lí tín hiệu của sensor. Điều kiện bên ngoài cũng có ảnh hưởng đến mạch : độ sáng , độ ẩm… Nguồn điện cung cấp cho mạch không ổn định dẫn đến điều kiện làm việc của các thiết bị không còn chính xác. Bên cạnh đó trong quá trình đo còn có sai số do chủ quan của người đo : không giữ đúng khoảng cách sensor thu phát , không cẩn thận trong qua trình đo . Với nguồn cung cấp cho động cơ : 12V lần 1 : nhập giá trị đầu vào : 5999 vòng /1ph giá trị đo được : 5975vòng /1 ph lần 2 : : 3500 vòng / 1ph 3494vòng /1ph lần 3 : 2000 vòng / 1ph 1980 vòng/1ph Sai số tương đối : 0.5% VI. Kết Luận
Mạch đơn giản, dễ lắp đặt sửa chữa,chi phí thấp.
Mạch chạy tương đối ổn định ,dùngphối hợp trở kháng và mạch cầu H 43 Đo lường và tự động điều khiển Mạch sử dụng các đot phát quang dựa trên sự tái hợp của điện tử và lỗ trống của lớp tiếp xúc PN.
VII.Xu hướng phát triển của đề tài–Sản phẩm có th ể được phát triển thêm các chức năng đo khác như đo nhiệt độ, độ ẩ m ,áp suất và điều khiển, khống chế được .Hơn nữa các chức năng có thể liên quan đến nhau bổ trợ và kiểm soát lẫn nhau theo yêu cầu của người sử dụng -Sản phẩm sẽ phát triển thành mộ t máy có th ể đo các loại động cơ lớn hơn ,đồng thời nhưng có hưóng xử lý khác nhau cho t ừng loại tốc độ ,từng thời gian khác nhau ta có thể phát triển thành một máy đo được cài và thực hiện mọi chưong trình được nhập vào máy, trong một quy trình công nghiệp LỜI KẾTQua thời gian 10 tuần làm bài tập lớn là môt khoảng thơig gian ngắn nhưng cũng đã giúp chúng em hiểu thêm về việc thiết kế một hệ thống trong công nghiệp có sử dụng vi điều khi ển đặc biệt là vi đi ều khiển 8051. Trong công nghiệp hiện nay việc đưa các vi điều khiển vào để tạo ra các thiết bị thông minh là cần thiết. Từ đó các hệ thống được tao ra sẽ gon nhẹ hơn và giải quyết nhiệm v ụ nhanh hơn, dễ dàng hơn. Trong thiết kế hệ thống này đã đáp ứng được yêu cầu của bài toán đặt ra, vận dụng tốt những tính năng ưu việt của vi điều khiển 8051 cũng như kết nối các thiết bị được sử dụng một cách hợp lý. 44 Đo lường và tự động điều khiển Nh ờ việc làm bài tập lớn nay ma chung em có hiểu được nhưng phần lý thuyêt đ ã được học. Chúng em đã hoàn thành việc thiết kế đo và điều khi ển động cơ một chiều loại nh ỏ. Nh ưng do thời gian có hạn và kiến th ức thực tế chưa có nên vi ệc tìm hiểu cũng như vận dụng còn nhiều hạn chế, chúng em rất mong được sự góp ý của các thầy để mạ ch thiết kế được hoàn thiện hơn. Chung em rất cám ơn sự giúp đỡ nhiệt tình của các bạn cùng lớp dặc biệt là thầy Tuân –thầy giáo dạy môn Đo lường điều khiển t ự động -đã truyền đạt những ki ến thức gằn gũi và tạo điều kiẹn hết sức cho chung em hoàn thành đựoc bài tập này.
4- Cấu trúc và lập trình vi điều khiển 8051…………Nguyễn Tăng Cường Phan Quốc Thắng. 5- Lập trình họ vi điều khiển 8051…………………..Tống Văn On. 45 Tải xuống tài liệu học tập PDF miễn phí |