1 引 言
  在倉庫的貨物的管ç†ä¸ï¼Œéœ€è¦å°æº«åº¦ã€æ¿•度ç‰ç’°å¢ƒåƒæ•¸é€²è¡Œç›£æŽ§ï¼Œä»¥ä¿è‰å€‰åº«çš„安全。隨著庫å€çš„é¢ç©é€æ¼¸æ“´å¤§ï¼Œéœ€è¦å‚³è¼¸èƒ½åŠ›å¼·å’Œé€šä¿¡è·é›¢é 的監控系統來有效地å°å€‰åº«è²¨ç‰©é€²è¡Œç›£ç®¡ã€‚
  CAN(Controller Area Networkï¼ŒæŽ§åˆ¶å™¨å±€åŸŸç¶²ï¼‰ç¸½ç·šæŠ€è¡“å…·æœ‰å…ˆé€²çš„å¤šä¸»ç¶²çµ¡çµæ§‹ã€é€šè¨Šè·é›¢é ã€åƒ¹ä½ä½Žã€å¯é 性高ã€ç³»çµ±å®¹é‡å¤§ã€å®‰è£æ–¹ä¾¿ã€ç¶è·è²»ç”¨ä½Žã€æ€§åƒ¹æ¯”高ç‰å„ªé»žã€‚特別å°åº«å€è¼ƒå¤§ã€å€‰åº«åˆ†å¸ƒè¼ƒåˆ†æ•£çš„大型倉庫的監控éžå¸¸é©ç”¨ã€‚
2系統硬件è¨è¨ˆ
  本系統采用分布å¼ç›£æŽ§ç¶²çµ¡ï¼Œä¸»è¦åˆ†ç‚ºä¸Šä½æ©Ÿå’Œä¸‹ä½æ©Ÿå…©éƒ¨åˆ†ï¼Œè€Œä¸Šä½æ©Ÿç¡¬ä»¶åŒ…括CAN通訊é©é…器和上ä½ç›£æŽ§ç®¡ç†æ©Ÿçµ„æˆ;䏋使©Ÿå‰‡ç”±CAN節點和ç¾å ´å‚³æ„Ÿå™¨çµ„å’Œæº«åº¦æ¿•åº¦åƒæ•¸æŽ§åˆ¶å™¨çµ„æˆï¼Œå¦‚圖1所示。
  

ã€€ã€€å…¶å·¥ä½œåŽŸç†æ˜¯ä¸‹ä½æ©Ÿç¯€é»žé€šéŽä¸€å®šæ™‚é–“é–“éš”æŠŠå«æœ‰åœ°å€ã€æº«åº¦ã€æ¿•åº¦ç‰æ•¸æ“šé‡çš„å ±æ–‡å‘CAN總線發é€ï¼Œç¸½ç·šé€šéŽè‡ªèº«ä»²è£ç¢ºå®šå…ˆæŠŠå„ªå…ˆç´šæœ€é«˜çš„æ•¸æ“šæ”¾åˆ°ç¸½ç·šä¸Šï¼Œç„¶åŽè‡ªå‹•仲è£ä¾æ¬¡ç™¼é€å„ªå…ˆç´šç›¸å°è¼ƒä½Žçš„å ±æ–‡åˆ°CAN總線。由于CAN總線的信æ¯å˜å–利用了廣æ’å¼çš„å˜å–工作方å¼ï¼Œå ±æ–‡å¯ä»¥åœ¨ä»»ä½•時候由任何節點發é€åˆ°ç©ºé–‘的總線上,æ¯å€‹CAN總線節點都接收到了總線上出ç¾çš„å ±æ–‡ä¿¡æ¯ï¼Œé€šéŽæ¯å€‹ç¯€é»žçš„å ±æ–‡æ¿¾æ³¢å’Œåœ°å€è¨ç½®ï¼Œä¸Šä½æ©ŸCAN節點能實ç¾ä¸Šå‚³å ±æ–‡çš„æŽ¥æ”¶ã€‚ä¸Šä½æ©ŸæŽ¥æ”¶åˆ°å ±æ–‡ä¿¡æ¯åŽé€šéŽçµ„態王軟件實ç¾å€‰åº«æº«åº¦ç‰åƒæ•¸å¯¦æ™‚ç›£è¦–å’Œè¨˜éŒ„ã€‚åŒæ™‚ä¸Šä½æ©Ÿé€šéŽå€‰åº«äººæ©Ÿç•Œé¢å¯éš¨æ™‚ç™¼é€æŽ§åˆ¶ä¿¡æ¯åˆ°CAN總線上,地å€åŒ¹é…çš„CAN總線節點能收到信æ¯ã€‚通éŽé€™ç¨®æ–¹å¼å³å¯å¯¦ç¾å€‰åº«çš„æº«åº¦ç‰åƒæ•¸çš„å饋控制。
  2.1ä¸Šä½æ©Ÿç³»çµ±çš„硬件è¨è¨ˆ
  CAN通訊é©é…器承擔上ä½è¨ˆç®—機和CAN節點之間的數據轉發任務,實ç¾ä¸Šä½æ©Ÿèˆ‡ä¸‹ä½æ©Ÿçš„通訊。利用EPP并行å£å¯¦ç¾PC機與SJA1000的通信,關éµåœ¨äºŽå¯¦ç¾SJA1000的讀寫時åºï¼Œå¯¦ç¾çš„æ–¹æ³•有兩種:軟件產生讀寫時åºé›»è·¯å’Œç¡¬ä»¶ç”¢ç”Ÿè®€å¯«æ™‚åºé›»è·¯ã€‚該系統用硬件產生讀寫時åºé›»è·¯ï¼Œé€šéŽé‚輯門的時間延é²ä¾†ç”¢ç”ŸSJA1000æ¡æ‰‹ç‰ä¿¡è™Ÿã€‚è¨è¨ˆé›»è·¯å¦‚圖2所示。

  2.2䏋使©Ÿç³»çµ±çš„硬件è¨è¨ˆ
ã€€ã€€ä¸‹ä½æ©ŸåŒ…括CAN節點ã€ç¾å ´å‚³æ„Ÿå™¨çµ„å’Œæº«åº¦æ¿•åº¦åƒæ•¸æŽ§åˆ¶å™¨ã€‚CANç¯€é»žä¸»è¦æ˜¯å®ŒæˆCAN總線信號和CAN網絡通訊的é…置。ç¾å ´å‚³æ„Ÿå™¨çµ„å’Œåƒæ•¸æŽ§åˆ¶å™¨éƒ¨åˆ†ä¸»è¦æ˜¯å’ŒCAN節點完æˆå¯¦æ™‚監測倉庫內å„å€‹æ¸¬è©¦é»žçš„æº«åº¦ã€æ¿•度情æ³ï¼Œé‚„è¦è² 責接收上ä½ç®¡ç†æ©Ÿçš„å‘½ä»¤ï¼Œæ ¹æ“šä¸Šä½ç®¡ç†æ©Ÿçš„è¦æ±‚傳輸數據和åé¥‹æŽ§åˆ¶ã€‚ä¸‹ä½æ©Ÿçµæ§‹çµ„æˆå¦‚圖3所示。
  

  2.2.1 CAN節點
  CAN節點器件主è¦åŒ…括:微處ç†å™¨AT89S52單片機ã€CAN控制器SJA1000å’ŒCAN總線收發器PCA82C250。
 ?。?)CAN控制器SJA1000
  SJA1000的工作模å¼é€šéŽå…¶å…§éƒ¨çš„æ™‚é˜åˆ†é »å¯„å˜å™¨CDRä¸çš„CAN模å¼ä½ä¾†é¸æ“‡ã€‚ç¡¬ä»¶å¾©ä½æ™‚é»˜èªæ¨¡å¼æ˜¯BasicCAN工作模å¼ã€‚SJA1000相å°äºŽå¾®æŽ§åˆ¶å™¨ç›¸ç•¶äºŽæ˜¯ä¸€å˜å„²æ˜ 象I/Oè¨å‚™ï¼Œä»–的地å€åŸŸç”±æŽ§åˆ¶æ®µå’Œä¿¡æ¯ç·©æ²–倿®µçµ„æˆï¼Œåœ¨å‘ä¸‹åŠ è¼‰åˆå§‹åŒ–期間,控制器å¯è¢«ç·¨ç¨‹ä»¥è¨å®šé€šä¿¡åƒæ•¸ï¼ŒCAN總線上的通信å¯é€šéŽæ¤æ®µç”±å¾®æŽ§åˆ¶å™¨æŽ§åˆ¶ã€‚
  SJA1000內部寄å˜å™¨æœ‰çš„æ˜¯åªèƒ½å¯«çš„,有的是既å¯è®€åˆå¯å¯«çš„。系統æ£å¸¸å·¥ä½œä¹‹å‰ï¼Œå¾®æŽ§åˆ¶å™¨è¦å°æŸäº›å¯„å˜å™¨é€²è¡Œåˆå§‹åŒ–,以ä¿è‰ç³»çµ±çš„å„部分之間能進行æ£ç¢ºçš„æ•¸æ“šäº¤æ›ã€‚CAN控制器的內容都是通éŽå¾®æŽ§åˆ¶å™¨å¯«å…¥çš„,其讀寫時åºå¦‚圖4所示。
  

  從讀/寫時åºåœ–來看,微控制器å°SJA1000進行æ“作,由于SJA1000å…§å¯å˜å„²æ•¸æ“šçš„地å€ä¿¡æ¯ã€‚ç¾å ´æ•¸æ“šé‡‡é›†èˆ‡æŽ§åˆ¶å±¤è² 責從ç¾å ´é‡‡é›†æ•¸æ“šä»¥CANå”è°çš„æ ¼å¼ç™¼é€åˆ°ç¸½ç·šä¸Šï¼Œæ ¹æ“šéœ€è¦å°ç¾å ´è¨å‚™é€²è¡Œå¯¦æ™‚控制和監視。系統上電åŽå¾®è™•ç†å™¨å…ˆå°è‡ªèº«å’ŒSJA1000進行åˆå§‹åŒ–,以SJA1000傳é€åˆ°CAN總線上或直接ç¾å ´é¡¯ç¤ºã€æŽ§åˆ¶;å°å¾žCAN總線上來的信æ¯å‰‡é‡‡ç”¨ä¸æ–·æ–¹å¼ï¼Œç³»çµ±æ¯æŽ¥æ”¶åˆ°ä¸€å¹€ä¿¡æ¯ï¼Œä¾¿ç”¢ç”Ÿä¸€æ¬¡ä¸æ–·ï¼Œå¼•ç™¼å¾®è™•ç†æ©Ÿé€²å…¥ä¸æ–·ï¼Œåœ¨ä¸æ–·æœå‹™ç¨‹åºä¸è®€å–該幀信æ¯å¹¶å‚³é€åˆ°ç¾å ´ã€‚
  (2)CAN收發器PCA82C250
  PCA82C250為CAN收發器,是CAN控制器和物ç†ç¸½ç·šé–“的接å£ï¼Œæä¾›å°ç¸½ç·šçš„驅動發é€èƒ½åŠ›ï¼ŒCAN控制器的差動發é€èƒ½åŠ›å’ŒCAN控制器的差動接收能力。他有很強的抗瞬間干擾和ä¿è·ç¸½ç·šçš„能力,具有3種ä¸åŒçš„工作模å¼å³é«˜é€Ÿã€æ–œçŽ‡æŽ§åˆ¶å’Œå¾…æ©Ÿ??å©â‚¬ä¸Šçš„æŸç¯€é»žæŽ‰é›»ä¸æœƒå½±éŸ¿ç¸½ç·šï¼Œåœ¨40 m內實ç¾é«˜é€Ÿæ‡‰ç”¨å¯é”1 Mb/sï¼Œæœ€å¤šå¯æŽ›110個節點。管腳8(RS)å…許PCA82C250鏿“‡3種ä¸åŒçš„工作模å¼ï¼Œå¦‚表1所示。

  通éŽä¸Šé¢çš„çµæ§‹æ¡†åœ–繪制出了如圖5所示的CAN節點具體的電路。
  2.2.2 溫度檢測部分
  系統采用由DALLASåŠå°Žé«”å…¬å¸ç”Ÿç”¢çš„DS18B20型單線智能溫度傳感器,該傳感器屬于新一代é©é…微處ç†å™¨çš„æ™ºèƒ½æº«åº¦å‚³æ„Ÿå™¨ã€‚DS18B20ä¸»è¦æœ‰å…©ç¨®å·¥ä½œæ–¹å¼ï¼šå¯„生電æºå·¥ä½œæ–¹å¼å’Œå¤–接電æºå·¥ä½œæ–¹å¼ã€‚æœ¬ç³»çµ±é‡‡ç”¨å¤–æŽ¥é›»æºæ–¹å¼ï¼ˆå¦‚圖6)。
  2.2.3 濕度檢測部分
  濕度檢測采用HS1101型濕度傳感器,HS1101是HUMIRELå…¬å¸ç”Ÿç”¢çš„變容å¼ç›¸å°æ¿•度傳感器,采用ç¨ç‰¹çš„å·¥è—è¨è¨ˆã€‚
  HS1101æ¸¬é‡æ¿•度采用將HS1101置于555振蕩電路ä¸ï¼Œå°‡é›»å®¹å€¼çš„è®ŠåŒ–ç£šæ›æˆé›»å£“é »çŽ‡ä¿¡è™Ÿï¼Œå¯ä»¥ç›´æŽ¥è¢«å¾®è™•ç†å™¨é‡‡é›†ã€‚
  è¨è¨ˆçš„電路如圖7所示。
  555芯片外接電阻R20,R19與HS1101,構æˆå°HS1101的充電回路。7端通éŽèŠ¯ç‰‡å…§éƒ¨çš„æ™¶é«”ç®¡å°åœ°çŸè·¯å¯¦ç¾å°HS1101的放電回路,并將引腳2,6端相連引入到片內比較器,構æˆä¸€å€‹å¤šè«§æ³¢æŒ¯è•©å™¨ï¼Œå…¶ä¸ï¼ŒR20相å°äºŽR19å¿…é ˆéžå¸¸çš„å°ï¼Œä½†æ±ºä¸èƒ½ä½ŽäºŽä¸€å€‹æœ€å°å€¼ã€‚R18是防æ¢çŸè·¯çš„ä¿è·é›»é˜»ã€‚
  HS1101作為一個變化的電容器,連接2å’Œ6引腳。引腳作為R20çš„çŸè·¯å¼•腳。HS1101çš„ç‰æ•ˆé›»å®¹é€šéŽR19å’ŒR20å……é›»é”到上é™é›»å£“(近似于0.67 VCC,時間記為T1),這時555的引腳3由高電平變為低電平,然åŽé€šéŽR19開始放電,由于R20被7引腳çŸè·¯æŽ¥åœ°ï¼Œæ‰€ä»¥åªæ”¾é›»åˆ°è§¸ç™¼ç•Œç·šï¼ˆè¿‘似于0.33 VCC,時間記為T2),這時555芯片的引腳3變為高電平。通éŽä¸åŒçš„兩個電阻R19,R20進行傳感器的ä¸åœå……放電,產生方波輸出??梢缘贸觯?
  

  由æ¤å¯ä»¥çœ‹å‡ºï¼Œç©ºæ°£ç›¸å°æ¿•度與555èŠ¯ç‰‡è¼¸å‡ºé »çŽ‡å˜åœ¨ä¸€å®šç·šæ€§é—œç³»ã€‚表2çµ¦å‡ºäº†å…¸åž‹é »çŽ‡æ¿•åº¦é—œç³»ï¼ˆåƒè€ƒé»žï¼š25â„ƒï¼Œç›¸å°æ¿•度:55%ï¼Œè¼¸å‡ºé »çŽ‡ï¼š6.660 kHz)??梢é…ㄟ^微處ç†å™¨é‡‡é›†555èŠ¯ç‰‡çš„é »çŽ‡ï¼Œç„¶åŽæŸ¥è¡¨å³å¯å¾—å‡ºç›¸å°æ¿•度值。為了更好æé«˜æ¸¬é‡ç²¾åº¦ï¼Œå°‡é‡‡ç”¨ä¸‹ä½æ©Ÿè² è²¬é‡‡é›†é »çŽ‡ï¼Œå°‡é »çŽ‡å€¼é€å…¥ä¸Šä½æ©Ÿé€²è¡Œåˆ†æ®µè™•ç†ã€‚
  2.2.4 溫濕度控制部分
  在監控系統ä¸ï¼Œé™¤äº†å¯¦æ™‚檢測溫度濕度ç‰åƒæ•¸å¤–,還需è¦å°é€™äº›åƒæ•¸é€²è¡ŒæŽ§åˆ¶ã€‚åœ¨æº«åº¦ç‰æ¸¬é‡åƒæ•¸è¶…éŽç”¨æˆ¶è¨å®šå€¼èŒƒåœæ™‚,啟動相關控制è¨å‚™ï¼Œå¦å‰‡é—œé–‰æŽ§åˆ¶è¨å‚™ã€‚系統采用繼電器控制通風,除濕ç‰è¨å‚™çš„啟動,具體電路è¨è¨ˆå¦‚圖8所示,其ä¸J1用于控制通風è¨å‚™ï¼ŒJ2,J3用于控制濕度。
3 系統軟件è¨è¨ˆ
  監控系統軟件è¨è¨ˆåˆ†ç‚ºä¸Šä½æ©Ÿç³»çµ±çš„軟件è¨è¨ˆå’Œä¸‹ä½æ©Ÿç³»çµ±çš„軟件è¨è¨ˆã€‚
ã€€ã€€ä¸Šä½æ©Ÿç³»çµ±çš„軟件包括監控管ç†éƒ¨åˆ†è»Ÿä»¶å’ŒCANé©é…器軟件?,Få ´ç›£æŽ§ç®¡ç†éƒ¨åˆ†ä¸»è¦åˆ©ç”¨çµ„態王軟件完æˆå€‰åº«çš„ç¾å ´æ¸¬é‡é»žæ¨¡æ“¬ï¼Œå°å€‰åº«çš„ç¾å ´æ•¸æ“šé€²è¡Œé‡‡é›†ï¼Œå¹¶å°é‡‡é›†æ•¸æ“šé€²è¡Œåˆ†æžï¼Œè‡ªå‹•è¨ˆç®—å€‰å…§çš„æœ€é«˜ã€æœ€ä½Žå’Œå¹³å‡æº«åº¦å€¼ï¼Œé‚„å¯è¨ˆç®—出æ¯å±¤çš„æœ€é«˜ã€æœ€ä½Žå’Œå¹³å‡æº«åº¦å€¼ï¼Œå®Œæˆè¶…é™å¯¦æ™‚å ±è¦ï¼ŒåŒæ™‚實ç¾å°ç¾å ´è¨å‚™é€²è¡Œæ“作控制。例如啟動通風ã€é™¤æ¿•ã€å™´ç‘åŠå®‰å…¨ä¿è·è£ç½®ï¼Œå ±è¦ã€åˆ‡æ–·é›»æºç‰ã€‚并自動生æˆå„ç¨®å ±è¡¨å’Œåœ–è¡¨ï¼Œå»ºç«‹å’Œå˜å„²å€‰åº«çš„倉儲æ·å²æª”案和打å°åŠŸèƒ½ã€‚è€Œé 程監控管ç†éƒ¨åˆ†ä¸»è¦å®Œæˆå€‰åº«ç‹€æ…‹é ç¨‹æŸ¥è©¢ï¼Œå ±è¡¨æ‰“å°å’Œé 程控制ç‰åŠŸèƒ½ã€‚
  å°äºŽCANé©é…器的軟件è¨è¨ˆé‡‡ç”¨Windows環境下的VB語言進行開發,由于Windowsçš„ä¿è·ï¼ŒVB無法直接讀寫并行端å£ï¼Œéœ€è¦å¦å¤–çš„ç¨‹åºæ¨¡å¡Šä¾†å¯¦ç¾å¹¶è¡Œç«¯å£çš„直接讀寫,使用WINIO模塊來解決VBå°å¹¶å£çš„è®€å¯«ã€‚åŒæ™‚,由于WINIOæ¨¡å¡Šä¸æ”¯æŒç³»çµ±ä¸æ–·ï¼Œé‚„需è¦åˆ©ç”¨VB編寫線程來查詢SJA1000çš„ä¸æ–·ç‹€æ…‹ã€‚
ã€€ã€€ä¸‹ä½æ©Ÿç³»çµ±çš„軟件包括CAN節點的軟件和溫濕度檢測控制軟件。軟件è¨è¨ˆé‡‡ç”¨æ¨¡å¡ŠåŒ–è¨è¨ˆæ–¹å¼ã€‚軟件ä¸ä¸»è¦ç¨‹åºæœ‰SJA1000çš„åˆå§‹åŒ–ï¼Œå ±æ–‡çš„ç™¼é€ç¨‹åºï¼Œå ±æ–‡çš„æŽ¥æ”¶ç¨‹åºï¼ŒCAN總線錯誤處ç†ç¨‹åºï¼Œä»¥åŠå’Œå‚³æ„Ÿå™¨é…åˆå¯¦ç¾ç¾å ´åƒæ•¸çš„采集。
4 çµ èªž
  該è¨è¨ˆåœ¨å€‰åº«çš„ç¸½é«”çµæ§‹è¨è¨ˆä¸ï¼ŒæˆåŠŸå¼•å…¥CAN總線作為通訊網絡,其ä¸ä¸‹ä½æ©Ÿåˆ©ç”¨AT89S52單片機和SJA1000完æˆCAN節點è¨è¨ˆï¼Œä¸Šä½æ©Ÿå®Œæˆäº†å°CAN通訊é©é…器的è¨è¨ˆï¼Œé‡‡ç”¨ä¸Šä½æ©Ÿé«˜ç´šèªžè¨€VBå’ŒEPPå”è°å¯¦ç¾SJA1000的控制,大大地æé«˜äº†ç³»çµ±å…§éƒ¨çš„速率和實時性,具有處ç†é€Ÿåº¦å¿«ï¼Œæˆæœ¬è¼ƒä½Žçš„優點。