Servomotors are available as AC or DC motors. Early servomotors were generally DC motors because the only type of control for large currents was through SCRs for many years. As transistors became capable of controlling larger currents and switching the large currents at higher frequencies, the AC servomotor became used more often. Early servomotors were specifically designed for servo amplifiers. Today a class of motors is designed for applica-tions that may use a servo amplifier or a variable-frequency controller, which means that a motor may be used in a servo system in one application, and used in a variable-frequency drive in another application. Some companies also call any closed-LOOP system that does not use a stepper motor a servo system, so it is possible for a simple AC induction motor that is connected to a velocity controller to be called a servomotor.
标签: motors Servomotors servomotors available
上传时间: 2014-08-10
上传用户:源码3
program to solve a finite difference discretization of Helmholtz equation : (d2/dx2)u + (d2/dy2)u - alpha u = f using Jacobi iterative method. COMMENTS: OpenMP version 3: 1 PR outside the iteration LOOP, 4 Barriers Directives are used in this code to achieve paralleism. All do LOOPs are parallized with default static scheduling.
标签: discretization difference Helmholtz equation
上传时间: 2014-01-11
上传用户:bruce5996
Two scripts are included here. 1. convsys.m - combines the state space representation of two systems connected in series. [Ao,Bo,Co,Do]=convsys(A1,B1,C1,D1,A2,B2,C2,D2) This algorithm gives the convolution of two state space representations | A1 B1 | | A2 B2 | u ==> | | ==> | | ==> y | C1 D1 | | C2 D2 | The algorithm also accepts state space objects as inputs and gives out a state space object as output. 2. sysfeedbk.m [Ao,Bo,Co,Do]=convsys(A1,B1,C1,D1,A2,B2,C2,D2) Gives the closed LOOP state space representation for two systems connected with negative feedback in the following manner. | A1 B1 | u ==> | | ==> y + o | C1 D1 | | - | | | | A2 B2 | | |= | |= | | C2 D2 | The zip file also contains checkcompatibility.m , which checks the compatibility of matrix dimensions in the system and cleanss.m which can be used to clean a state space representation.
标签: representation included combines scripts
上传时间: 2017-07-25
上传用户:semi1981
TI达芬奇dm644x各硬件模块测试代码,包括nor flash、nand flsh、ddr2 ram、video LOOP back等。
上传时间: 2017-09-16
上传用户:jichenxi0730
DATAS SEGMENT w dw 0 keybuf db 255 db 0 db 255 dup(0) ;定义键盘输入需要的缓冲区 DATAS ENDS STACKS SEGMENT db 200 dup(?) STACKS ENDS CODES SEGMENT ASSUME CS:CODES,DS:DATAS,SS:STACKS START: MOV AX,DATAS MOV DS,AX mov dx,offset keybuf ;用0a号功能,输入一个字符串 mov ah,0ah ;用回车结束 int 21h mov dl,0ah ;再进行换行,以便在下一行显示转换后的字符串 mov ah,2 int 21h ; push ax ; push dx ; mov dl,cl ; mov ah,02 ; int 21h ; pop dx ; pop ax mov bx,offset keybuf+1 ;取出字符串的字符个数,作为循环的次数 mov cl,[bx] mov ch,0 mov ax,0 again: inc bx mov ax,[w] push bx mov bx,16 mul bx pop bx ;是小写字母,则转换为大写字母 mov [w],ax mov dl,[bx] ;取出一个字符, cmp dl,'9' jbe lab1 cmp dl,'F' jbe lab2 sub dl,32 lab2: sub dl ,07h lab1: sub dl,30h add [w],dx LOOP again mov ax,[w] mov bx,-1 push bx mov bx,10 lab3 :mov dx,0 div bx push dx cmp ax,0 jnz lab3 lab5: pop dx cmp dx,-1 jz lab4 add dl,30h mov ah,02 int 21h jmp lab5 ;循环,处理完整个字符串 lab4: MOV AH,4CH INT 21H CODES ENDS END START
标签: 汇编
上传时间: 2015-04-02
上传用户:wcc0310
// 学生管理.cpp : Defines the entry point for the application. // #include "stdafx.h" #include "resource.h" #define MAX_LOADSTRING 100 // Global Variables: HINSTANCE hInst; // current instance TCHAR szTitle[MAX_LOADSTRING]; // The title bar text TCHAR szWindowClass[MAX_LOADSTRING]; // The title bar text // Foward declarations of functions included in this code module: ATOM MyRegisterClass(HINSTANCE hInstance); BOOL InitInstance(HINSTANCE, int); LRESULT CALLBACK WndProc(HWND, UINT, WPARAM, LPARAM); LRESULT CALLBACK About(HWND, UINT, WPARAM, LPARAM); struct person { char name[10]; int ID; int cj_yw; int cj_sx; struct person* next; struct person* pro; }per; int APIENTRY WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow) { // TODO: Place code here. MSG msg; HACCEL hAccelTable; // Initialize global strings LoadString(hInstance, IDS_APP_TITLE, szTitle, MAX_LOADSTRING); LoadString(hInstance, IDC_MY, szWindowClass, MAX_LOADSTRING); MyRegisterClass(hInstance); // Perform application initialization: if (!InitInstance (hInstance, nCmdShow)) { return FALSE; } hAccelTable = LoadAccelerators(hInstance, (LPCTSTR)IDC_MY); // Main message LOOP: while (GetMessage(&msg, NULL, 0, 0)) { if (!TranslateAccelerator(msg.hwnd, hAccelTable, &msg)) { TranslateMessage(&msg); DispatchMessage(&msg); } } return msg.wParam; } // // FUNCTION: MyRegisterClass() // // PURPOSE: Registers the window class. // // COMMENTS: // // This function and its usage is only necessary if you want this code // to be compatible with Win32 systems prior to the 'RegisterClassEx' // function that was added to Windows 95. It is important to call this function // so that the application will get 'well formed' small icons associated // with it. // ATOM MyRegisterClass(HINSTANCE hInstance) { WNDCLASSEX wcex; wcex.cbSize = sizeof(WNDCLASSEX); wcex.style = CS_HREDRAW | CS_VREDRAW; wcex.lpfnWndProc = (WNDPROC)WndProc; wcex.cbClsExtra = 0; wcex.cbWndExtra = 0; wcex.hInstance = hInstance; wcex.hIcon = LoadIcon(hInstance, (LPCTSTR)IDI_MY); wcex.hCursor = LoadCursor(NULL, IDC_ARROW); wcex.hbrBackground = (HBRUSH)(COLOR_WINDOW+1); wcex.lpszMenuName = (LPCSTR)IDC_MY; wcex.lpszClassName = szWindowClass; wcex.hIconSm = LoadIcon(wcex.hInstance, (LPCTSTR)IDI_SMALL); return RegisterClassEx(&wcex); } // // FUNCTION: InitInstance(HANDLE, int) // // PURPOSE: Saves instance handle and creates main window // // COMMENTS: // // In this function, we save the instance handle in a global variable and // create and display the main program window. // BOOL InitInstance(HINSTANCE hInstance, int nCmdShow) { HWND hWnd; hInst = hInstance; // Store instance handle in our global variable hWnd = CreateWindow(szWindowClass, szTitle, WS_OVERLAPPEDWINDOW, CW_USEDEFAULT, 0, CW_USEDEFAULT, 0, NULL, NULL, hInstance, NULL); if (!hWnd) { return FALSE; } ShowWindow(hWnd, nCmdShow); UpdateWindow(hWnd); return TRUE; } // // FUNCTION: WndProc(HWND, unsigned, WORD, LONG) // // PURPOSE: Processes messages for the main window. // // WM_COMMAND - process the application menu // WM_PAINT - Paint the main window // WM_DESTROY - post a quit message and return // // LRESULT CALLBACK WndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam) { int wmId, wmEvent; PAINTSTRUCT ps; HDC hdc; TCHAR szHello[MAX_LOADSTRING]; LoadString(hInst, IDS_HELLO, szHello, MAX_LOADSTRING); switch (message) { case WM_COMMAND: wmId = LOWORD(wParam); wmEvent = HIWORD(wParam); // Parse the menu selections: switch (wmId) { case IDM_ABOUT: DialogBox(hInst, (LPCTSTR)IDD_ABOUTBOX, hWnd, (DLGPROC)About); break; case IDM_EXIT: DestroyWindow(hWnd); break; default: return DefWindowProc(hWnd, message, wParam, lParam); } break; case WM_PAINT: hdc = BeginPaint(hWnd, &ps); // TODO: Add any drawing code here... RECT rt; GetClientRect(hWnd, &rt); DrawText(hdc, szHello, strlen(szHello), &rt, DT_CENTER); EndPaint(hWnd, &ps); break; case WM_DESTROY: PostQuitMessage(0); break; default: return DefWindowProc(hWnd, message, wParam, lParam); } return 0; } // Mesage handler for about box. LRESULT CALLBACK About(HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam) { switch (message) { case WM_INITDIALOG: return TRUE; case WM_COMMAND: if (LOWORD(wParam) == IDOK || LOWORD(wParam) == IDCANCEL) { EndDialog(hDlg, LOWORD(wParam)); return TRUE; } break; } return FALSE; }
上传时间: 2016-12-29
上传用户:767483511
// 学生管理.cpp : Defines the entry point for the application. // #include "stdafx.h" #include "resource.h" #define MAX_LOADSTRING 100 // Global Variables: HINSTANCE hInst; // current instance TCHAR szTitle[MAX_LOADSTRING]; // The title bar text TCHAR szWindowClass[MAX_LOADSTRING]; // The title bar text // Foward declarations of functions included in this code module: ATOM MyRegisterClass(HINSTANCE hInstance); BOOL InitInstance(HINSTANCE, int); LRESULT CALLBACK WndProc(HWND, UINT, WPARAM, LPARAM); LRESULT CALLBACK About(HWND, UINT, WPARAM, LPARAM); struct person { char name[10]; int ID; int cj_yw; int cj_sx; struct person* next; struct person* pro; }per; int APIENTRY WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow) { // TODO: Place code here. MSG msg; HACCEL hAccelTable; // Initialize global strings LoadString(hInstance, IDS_APP_TITLE, szTitle, MAX_LOADSTRING); LoadString(hInstance, IDC_MY, szWindowClass, MAX_LOADSTRING); MyRegisterClass(hInstance); // Perform application initialization: if (!InitInstance (hInstance, nCmdShow)) { return FALSE; } hAccelTable = LoadAccelerators(hInstance, (LPCTSTR)IDC_MY); // Main message LOOP: while (GetMessage(&msg, NULL, 0, 0)) { if (!TranslateAccelerator(msg.hwnd, hAccelTable, &msg)) { TranslateMessage(&msg); DispatchMessage(&msg); } } return msg.wParam; } // // FUNCTION: MyRegisterClass() // // PURPOSE: Registers the window class. // // COMMENTS: // // This function and its usage is only necessary if you want this code // to be compatible with Win32 systems prior to the 'RegisterClassEx' // function that was added to Windows 95. It is important to call this function // so that the application will get 'well formed' small icons associated // with it. // ATOM MyRegisterClass(HINSTANCE hInstance) { WNDCLASSEX wcex; wcex.cbSize = sizeof(WNDCLASSEX); wcex.style = CS_HREDRAW | CS_VREDRAW; wcex.lpfnWndProc = (WNDPROC)WndProc; wcex.cbClsExtra = 0; wcex.cbWndExtra = 0; wcex.hInstance = hInstance; wcex.hIcon = LoadIcon(hInstance, (LPCTSTR)IDI_MY); wcex.hCursor = LoadCursor(NULL, IDC_ARROW); wcex.hbrBackground = (HBRUSH)(COLOR_WINDOW+1); wcex.lpszMenuName = (LPCSTR)IDC_MY; wcex.lpszClassName = szWindowClass; wcex.hIconSm = LoadIcon(wcex.hInstance, (LPCTSTR)IDI_SMALL); return RegisterClassEx(&wcex); } // // FUNCTION: InitInstance(HANDLE, int) // // PURPOSE: Saves instance handle and creates main window // // COMMENTS: // // In this function, we save the instance handle in a global variable and // create and display the main program window. // BOOL InitInstance(HINSTANCE hInstance, int nCmdShow) { HWND hWnd; hInst = hInstance; // Store instance handle in our global variable hWnd = CreateWindow(szWindowClass, szTitle, WS_OVERLAPPEDWINDOW, CW_USEDEFAULT, 0, CW_USEDEFAULT, 0, NULL, NULL, hInstance, NULL); if (!hWnd) { return FALSE; } ShowWindow(hWnd, nCmdShow); UpdateWindow(hWnd); return TRUE; } // // FUNCTION: WndProc(HWND, unsigned, WORD, LONG) // // PURPOSE: Processes messages for the main window. // // WM_COMMAND - process the application menu // WM_PAINT - Paint the main window // WM_DESTROY - post a quit message and return // // LRESULT CALLBACK WndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam) { int wmId, wmEvent; PAINTSTRUCT ps; HDC hdc; TCHAR szHello[MAX_LOADSTRING]; LoadString(hInst, IDS_HELLO, szHello, MAX_LOADSTRING); switch (message) { case WM_COMMAND: wmId = LOWORD(wParam); wmEvent = HIWORD(wParam); // Parse the menu selections: switch (wmId) { case IDM_ABOUT: DialogBox(hInst, (LPCTSTR)IDD_ABOUTBOX, hWnd, (DLGPROC)About); break; case IDM_EXIT: DestroyWindow(hWnd); break; default: return DefWindowProc(hWnd, message, wParam, lParam); } break; case WM_PAINT: hdc = BeginPaint(hWnd, &ps); // TODO: Add any drawing code here... RECT rt; GetClientRect(hWnd, &rt); DrawText(hdc, szHello, strlen(szHello), &rt, DT_CENTER); EndPaint(hWnd, &ps); break; case WM_DESTROY: PostQuitMessage(0); break; default: return DefWindowProc(hWnd, message, wParam, lParam); } return 0; } // Mesage handler for about box. LRESULT CALLBACK About(HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam) { switch (message) { case WM_INITDIALOG: return TRUE; case WM_COMMAND: if (LOWORD(wParam) == IDOK || LOWORD(wParam) == IDCANCEL) { EndDialog(hDlg, LOWORD(wParam)); return TRUE; } break; } return FALSE; }
标签: 学生 计算器
上传时间: 2016-12-29
上传用户:767483511
描述 了PLL 的基础知识哦,非常的 实用
标签: Phase Locked LOOP Design Fundamentals
上传时间: 2017-03-13
上传用户:rfzhangyicheng
LDO 的环路分析,对涉及、分析LDO的工作原理有帮助。
上传时间: 2017-09-09
上传用户:banjieshubi
During the past decade, many wireless communication techniques have been developedto achievevariousgoals suchas higherdata rate,morerobustlink quality, and higher number of users in a given bandwidth. For wireless communication systems, depending on the availability of a feedback link, two approaches can be considered: namely open and closed LOOP. Open LOOP communication system that does not exploit the channel knowledge at the transmitter is now well understood from both a theoretical and practical point of view.
标签: Communication Strategies Feedback Wireless for
上传时间: 2020-05-27
上传用户:shancjb