摘 è¦ï¼šå°æ¿€å…‰å™¨å¯¦é©—系統有多臺混åˆå¼æ¥é€²é›»æ©Ÿå’Œåæ‡‰å¼æ¥é€²é›»æ©Ÿéœ€è¦æŽ§åˆ¶ï¼Œç„¡è«–是é¶ä¸¸çš„空間ä½ç½®èª¿ç¯€ï¼Œé‚„æ˜¯å…‰è·¯ä¸æ³¢ç‰‡çš„調節都離ä¸é–‹æ¥é€²é›»æ©Ÿçš„精確控制。通éŽPCL839é‹å‹•控制å¡ä»¥åŠè‡ªè¡Œç ”制的電機控制切æ›å™¨å’ŒæŽ§åˆ¶è»Ÿä»¶ï¼Œä¸åƒ…èƒ½å¯¦ç¾æ¥é€²é›»æ©Ÿçš„精確é‹å‹•控制,還能滿足é¶å ´çš„ç‰¹æ®ŠæŽ§åˆ¶è¦æ±‚,實ç¾å¯¦æ™‚在線控制。
é—œéµè©žï¼šå°æ¿€å…‰å™¨;æ¥é€²é›»æ©Ÿ;é‹å‹•控制
Abstract:Small laser experiment system is made of many stepping motors.Wheher adjusting space position of target bolus,or glass patch in the ray road,is impossible without accurate controling stepping motor.By PCL839 control and motor control switch developed ourself, accurate and real-time control of stepping motor can be implemented.
Keywords: small laser; stepping motor; athletics control
1 引言
ã€€ã€€å°æ¿€å…‰å™¨å¯¦é©—ç³»çµ±éœ€è¦æŽ§åˆ¶çš„è¨å‚™æœ‰ï¼šä¸€è‡ºåŒæ¥ç³»çµ±ã€å…©è‡º300Jé›»æºã€4臺20KJé›»æºã€1個二極管電æºã€ä¸€å¥—液晶光閥åŠä¸‰è·¯æ¥é€²é›»æ©ŸæŽ§åˆ¶;在é¶å ´ä¸æœ‰4è·¯CCD圖象采集ã€19è·¯æ¥é€²é›»æ©ŸæŽ§åˆ¶ã€çœŸç©ºåº¦é¡¯ç¤ºç‰ã€‚æ ¹æ“šç”¨æˆ¶éœ€æ±‚ï¼Œå°æ¿€å…‰å™¨è¨ˆç®—機控制系統分為器件控制系統和é¶å ´æŽ§åˆ¶ç³»çµ±ã€‚光路準直ã€å…‰æ–‘圖象移動ã€é¡ç‰‡è½‰å‹•ç‰æ“作都離ä¸é–‹æ¥é€²é›»æ©Ÿçš„è½‰å‹•ï¼Œè€Œå¦‚ä½•å°æ¥é€²é›»æ©Ÿå¯¦ç¾é«˜ç²¾ç¢ºçš„å®šä½æŽ§åˆ¶ï¼Œæ˜¯é¶å ´æŽ§åˆ¶ç³»çµ±çš„難點。采用工控機ã€PCL839é‹å‹•控制å¡èˆ‡æŽ§åˆ¶åˆ‡æ›å™¨ç‰ç›¸çµåˆçµ„æˆçš„æŽ§åˆ¶ç³»çµ±ï¼Œä¸åƒ…能滿足é¶å ´å°é›»æ©Ÿè½‰å‹•çš„é«˜ç²¾åº¦è¦æ±‚,還能實ç¾å¯¦æ™‚在線控制。
2 æŽ§åˆ¶ç³»çµ±çµæ§‹åŠåŠŸèƒ½
  é¶å ´æŽ§åˆ¶ç³»çµ±å¯¦ç¾å°çœŸç©ºé¶å®¤çœŸç©ºæŠ½å–ã€é¶ä¸¸çš„移動的控制,并實ç¾å…‰è·¯çš„調整。é¶å®¤å…§æœ‰4臺混åˆå¼é›»æ©Ÿï¼Œå®Œæˆé¶ä¸¸çš„移動æ“作。光路上有15è‡ºåæ‡‰å¼é›»æ©Ÿï¼Œå¯¦ç¾æ¿€å…‰å…‰æŸçš„傳輸。
[align=center]

圖1 é¶å ´æŽ§åˆ¶ç³»çµ±çµæ§‹åœ–[/align]
  é¶å ´æŽ§åˆ¶è¨ˆç®—機通éŽPCL839é‹å‹•控制å¡å°‡æŽ§åˆ¶ä¿¡è™Ÿåˆ†è§£ï¼Œå‚³è¼¸çµ¦é›»æ©ŸæŽ§åˆ¶åˆ‡æ›å™¨ï¼ˆè‡ªè¡Œç ”制),電機控制切æ›å™¨ç´°åˆ†æŽ§åˆ¶ä¿¡è™Ÿï¼ˆåœ°å€ä¿¡è™Ÿå’Œè„ˆæ²–數),然åŽå°‡é›»å¹³ä¿¡è™Ÿä»¥åŠç›¸æ‡‰çš„脈沖數é€åˆ°ç›®çš„電機,以驅動電機。
3 PCL839å¡
  PCL839塿˜¯ç ”è¯å…¬å¸æä¾›çš„æ¥é€²é›»æ©ŸæŽ§åˆ¶å¡ï¼Œèƒ½æä¾›ç²¾ç¢ºçš„æŽ§åˆ¶è„ˆæ²–ï¼Œæ»¿è¶³å°æ¥é€²é›»æ©Ÿçš„高精度和實時控制。
  該å¡ä¸»è¦æœ‰ä»¥ä¸‹æ€§èƒ½ç‰¹é»žï¼š
ã€€ã€€èƒ½åŒæ™‚ç¨ç«‹å°ä¸‰è»¸æ¥é€²é›»æ©Ÿé€²è¡ŒæŽ§åˆ¶ï¼Œæä¾›æŽ§åˆ¶æ¯è»¸çš„æ¥é€²è„ˆæ²–å’Œè½‰å‘信號;
  電機控制信號輸出與開關信號輸入全部采用光電隔離;
  æä¾›16路輸入輸出TTL通é“;全部功能與é‹å‹•控制å¯ç”±è»Ÿä»¶å¯¦ç¾;
ã€€ã€€ä¸æ–·è¼¸å…¥å¯ç”±è·³æŽ¥æ’é 鏿“‡ã€‚
4 æ¥é€²é›»æ©Ÿé©…å‹•è¨è¨ˆ
  4.1物ç†çµæ§‹
  電機驅動器硬件信號é‚輯如下:
  最多30個電機復用驅動通é“1,包括:PULSE, DIR, EL+, EL-, ORG, FREE。
  4.2 驅動控制軟件è¨è¨ˆ
  電機å°è±¡é¡žä¹‹é–“的關系如圖2。MotionController:å°PCL839å¡å°è£;StepMotor:åŒMotionController是多å°ä¸€çš„Client/Service關系。MotionController
  æä¾›æœå‹™éšŠåˆ—,緩å˜StepMotoræäº¤çš„命令申請;å‘½ä»¤å®Œæˆæˆ–å ±è¦ç™¼ç”Ÿæ™‚,MotionController調用StepMotoræä¾›çš„å ±è¦æ–¹æ³•。通éŽé€™ç¨®æ–¹å¼ï¼ŒStepMotorå¯ä»¥å¯¦ç¾ç•°æ¥çš„æœå‹™è«‹æ±‚ã€‚PCL839Service:StepMotoræäº¤çš„命令申請被å°è£ç‚ºPCL839Service。
[align=center]

圖2 電機å°è±¡é¡žèª¿ç”¨é—œç³»[/align]
  以下是3個é‡è¦é¡žå°è±¡çš„è¨è¨ˆï¼š
  (1)PCL839Service。
  PCL839Service表示一個電機請求命令。StepMotor產生該å°è±¡å¯¦ä¾‹ï¼Œåœ¨MotionControllerä¸ä¿å˜ï¼Œç•¶ä»»å‹™å®ŒæˆåŽï¼ŒStepMotorè² è²¬æ¸…é™¤ã€‚
  在MotionControllerä¸ï¼Œä½¿ç”¨STL dequeä¿å˜PCL839Service。
  (2)MotionController。
  MotionController有以下é‹è¡Œåƒæ•¸ï¼š

  æä¾›ä»¥ä¸‹å ±è¦ï¼š
  l Enabled返回false;表示è¨å‚™å¯èƒ½æ•…éšœ;
  l bool返回值false; 表示è¨å‚™å¯èƒ½æ•…éšœ;
  l Busy返回true; 表示電機在é‹è¡Œã€‚
  MotionControlleræ²’æœ‰æŽ§åˆ¶åƒæ•¸ã€‚MotionController沒有實驗數據。
  MoveAsStepï¼ˆï¼‰çš„è™•ç†æµç¨‹ï¼š
  1. StepMotor發出MoveAsStep請求,
  2. PCL839將請求排入隊列;
  3. PCL839開始處ç†è©²è«‹æ±‚,首先調用StepMotor.SetReady();
  4. StepMotor.SetReadyå…ˆè¨ç½®é‹è½‰åƒæ•¸ï¼Œä»¤é›»æ©ŸOnline, å†ä»¤é›»æ©Ÿé–‹å§‹é‹è½‰;
  5. PCL839發ç¾é›»æ©Ÿåœè½‰åŽï¼Œä»¤é›»æ©ŸOffline, å†èª¿ç”¨StepMotor.StepOver();
  6. PCL839從請求隊列ä¸åˆªé™¤è©²è«‹æ±‚。
  Holdï¼ˆï¼‰çš„è™•ç†æµç¨‹ï¼š
  1. StepMotor發出Hold請求,
  2. PCL839將請求排入隊列;
  3. PCL839開始處ç†è©²è«‹æ±‚,首先調用StepMotor.SetReady();
  4. StepMotor.SetReadyå…ˆè¨ç½®é‹è½‰åƒæ•¸ï¼Œä»¤é›»æ©ŸOnline;
  5. StepMotor發出Release()åŽï¼ŒPCL839令電機Offline;
  6. PCL839從請求隊列ä¸åˆªé™¤è©²è«‹æ±‚。
  (3)class StepMotor
  異æ¥å‘½ä»¤å°‡ç”¢ç”ŸPCL839Service, 交由PCL839排隊處ç†ã€‚如果完æˆPCL839將調用StepMotor的事件處ç†å‡½æ•¸ã€‚
5 系統軟件è¨è¨ˆ
  軟件æ“作的簡易å¯é ã€ç•Œé¢çš„美觀是軟件è¨è¨ˆçš„基本原則。æ¥é€²é›»æ©ŸæŽ§åˆ¶ç³»çµ±åˆ†ç‚ºé›»æ©Ÿåƒæ•¸è¨ç½®ã€é›»æ©Ÿé¸æ“‡ã€ç§»å‹•æ¥æ•¸è¨ç½®ã€å‰é€²/åŽé€€/åœæ¢å››å€‹æ¥é©Ÿï¼Œç‚ºå¯¦ç¾æŽ§åˆ¶æ“作的直觀便æ·ï¼Œå°‡æ•´å€‹é¶å ´é›»æ©ŸæŽ’布圖æä¾›çµ¦ç”¨æˆ¶ï¼Œç”¨æˆ¶æ“作時直接點擊需控制的電機,使得用戶æ“ä½œæ›´åŠ ç›´è§€ä¾¿æ·ï¼Œåœ–3為控制æ“作界é¢ã€‚
[align=center]

圖3 æ¥é€²é›»æ©ŸæŽ§åˆ¶ç³»çµ±è»Ÿä»¶[/align]
  æ¥é€²é›»æ©Ÿåœ¨å‰›é–‹å§‹è½‰å‹•時,轉動速度較慢,經éŽå¹¾å€‹æ™‚間脈沖æ‰èƒ½é”到æ£å¸¸é€Ÿåº¦ï¼Œå› æ¤è¦æŽ§åˆ¶é›»æ©Ÿçš„è½‰å‹•é€Ÿåº¦ï¼Œå¿…é ˆè¨ç½®å…©å€‹é€Ÿåº¦å€¼ï¼šæœ€ä½ŽFL和最高FH。
  工程é‹ç”¨ä¸ï¼Œç„¡è«–是é¶ä¸¸çš„空間ä½ç½®èª¿ç¯€ï¼Œé‚„是光路的調節,都應該將æ¥é€²é›»æ©Ÿç•¶å‰è½‰å‹•æ¥æ•¸ï¼ˆå‰©ä½™æ¥æ•¸ï¼‰å¯¦æ™‚地å饋給用戶,便于用戶隨時都å¯ä»¥æ ¹æ“šé¶ä¸¸å’Œå…‰è·¯çš„æƒ…æ³å°é›»æ©Ÿé€²è¡Œèª¿ç¯€æ“作(å‰é€²/åŽé€€/åœæ¢ï¼‰ã€‚ç ”è¯PCL839æ¥é€²é›»æ©Ÿé©…å‹•æ‡‰ç”¨ç¨‹åºæä¾›é›»æ©Ÿå‰©ä½™è„ˆæ²–æ•¸ï¼ˆæ¥æ•¸ï¼‰çš„æŸ¥è©¢æŽ¥å£ï¼Œä½†ç¶“éŽæ¸¬è©¦ç™¼ç¾å饋數值誤差較大,通éŽå¤šæ¬¡å¯¦é©—,最終將類MotionController的狀態å饋函數åšäº†å¦‚下修改,主è¦ä»£ç¢¼ï¼š
  unsigned int r0;
  int status = Out_byte(0, 0x80);
  r0 = In_byte(1) & 0xFF;
  r0 = (In_byte(2) & 0xFF) * 256 + r0;
  r0 = (In_byte(3) & 0x3) * 65536 + r0;
6 çµè«–
ã€€ã€€å°æ¿€å…‰å™¨å¯¦é©—系統有多臺ä¸åŒç¨®é¡žçš„æ¥é€²é›»æ©Ÿéœ€è¦æŽ§åˆ¶ã€‚ç”±å·¥æŽ§æ©Ÿã€PCL839é‹å‹•控制å¡ä»¥åŠè‡ªè¡Œç ”制的控制切æ›å™¨ç›¸çµåˆçµ„æˆäº†ç¡¬ä»¶æŽ§åˆ¶ç³»çµ±ï¼Œé‡å°å°æ¿€å…‰å™¨å¯¦é©—ç³»çµ±çš„å…·é«”è¦æ±‚ï¼Œç ”åˆ¶äº†ç‰¹æ®ŠåŠŸèƒ½çš„æŽ§åˆ¶è»Ÿä»¶ï¼Œä¸åƒ…能實ç¾å„種高精度定ä½ã€é™ä½ã€è‡ªå‹•軌跡ç‰é‹å‹•控制,還能滿足é¶å ´å°æ¥é€²é›»æ©Ÿçš„ç‰¹æ®ŠæŽ§åˆ¶è¦æ±‚,實ç¾å¯¦æ™‚在線控制。
åƒè€ƒæ–‡ç»ï¼ˆReferences):
  [1] Taksshi Kenjo and Akira Sugawara, “Stepping Motors and Their Microprocessor Controlsâ€, Second Edition, Oxford University Press, 1994
  [2] F. Betin, M. Deloizy, and C. Goeldel, “Closed loop control of stepping motor drive: Comparison between PID control, self tuning regulation and fuzzy logic control,†Eur. Power Electron. J., vol. 8, no. 1–2, pp.33–39, June 1999.
  [3]胡金明,侯石柱ç‰.é›»ç£èª¿é€Ÿé›»æ©ŸæŽ§åˆ¶ç³»çµ±çš„優化åŠç¶è·æ‡‰ç”¨.微計算機信æ¯,2002(6):41~43.
  [4]劉少克,è¢æµ·æ´²,陏勿—º.æ¥é€²é›»å‹•機驅動的計算機控制方法[J].電氣傳動自動化,2000(4):40-42.
  [5]L. J. Lagin et al., “The Overview of the National Ignition Facility Distributed Computer Control Systemâ€, ICALEPCS 2001.
  [6]P. VanArsdall B. Reed, R. Bettenhausen J. Spann, F. Holloway J. Wiedwald, M. Miller, “INTEGRATED COMPUTER CONTROL SYSTEMâ€, UCRL-LR-105821-97-3.
  [7] S.M. Yang and E.L. Kuo. “Damping conml of two-phase hybrid stepping motorsâ€, IEEE Trammtiom on Power Electronics, Vol. 18, No. 3, May 2003.