時間:2013-12-06 18:04:42來æºï¼šçŽ‹è¼
摘è¦ï¼šæœ¬æ–‡ä»‹ç´¹äº†ä¸€ç¨®åŸºäºŽæ„法åŠå°Žé«”å…¬å¸çš„STM32單片機和CAN總線的濕度采集系統的è¨è¨ˆå’Œå¯¦ç¾ã€‚CAN憑借其高性能,高å¯é 性以åŠç¨ç‰¹çš„è¨è¨ˆè¶Šä¾†è¶Šå¤šçš„被應用在工æ¥é ˜åŸŸä¸ã€‚STM32的接å£è±å¯Œï¼Œåƒ¹æ ¼ä½Žå»‰ï¼ŒåŠŸèƒ½å¼·å¤§ï¼Œä½¿å…¶åœ¨å·¥æ¥ç¾å ´ä¸æ‡‰ç”¨è¶Šä¾†è¶Šå»£æ³›ã€‚æ–‡ç« å¾žç¡¬ä»¶å’Œè»Ÿä»¶å…©éƒ¨åˆ†ä»‹ç´¹åŸºäºŽSTM32å’ŒCAN總線的濕度采集系統的實ç¾ã€‚
é—œéµè©žï¼šSTM32ï¼›CAN總線;數據采集濕度傳感器
1引言
ç¾å¯¦ç”Ÿæ´»ä¸ï¼Œæ¿•度的測é‡å’ŒæŽ§åˆ¶åœ¨ç´¡ç¹”å·¥æ¥ã€æž—æ¥ã€åŒ–å·¥ä»¥åŠæ°£è±¡è§€æ¸¬ç‰é ˜åŸŸä¸æœ‰è‘—å»£æ³›çš„æ‡‰ç”¨ã€‚å‚³çµ±çš„äººå·¥æ¸¬è©¦æ–¹æ³•è²»æ™‚è²»åŠ›ï¼Œå› è€Œæœ‰å¿…è¦ç ”制更智能方便的濕度測é‡é‡‡é›†ç³»çµ±ï¼Œä»¥ä¾¿å¯¦æ™‚ç›£æ¸¬æ¿•åº¦ï¼Œå¹¶æ ¹æ“šæ‰€æ¸¬é‡çš„æ•¸æ“šä¾†æŽ§åˆ¶åŠ æ¿•å™¨ã€ç©ºèª¿å™¨ç‰è¨å‚™çš„é‹è¡Œï¼Œç¢ºä¿å¾—到åˆé©çš„æ¿•度環境。
這里æå‡ºçš„æ¿•度測é‡é‡‡é›†ç³»çµ±æ˜¯ç‚ºæ°‘用è¨è¨ˆçš„,å¯å¯¦æ™‚監測倉庫,溫室ç‰å°æ¿•åº¦æœ‰åš´æ ¼è¦æ±‚çš„å ´åˆä¸‹çš„æ¿•åº¦ï¼Œæ ¹æ“šæª¢æ¸¬çµæžœå°æ¿•åº¦åŠ ä»¥æŽ§åˆ¶ï¼ŒåŒæ™‚還具有在線修訂濕度上下é™ï¼Œæ¿•åº¦é¡¯ç¤ºå’Œå ±è¦åŠŸèƒ½ï¼Œå¹¶å¯å‘ä¸»æŽ§å®¤å‚³é€æ•¸æ“šã€‚
2系統總體è¨è¨ˆ
濕度測é‡é‡‡é›†ç³»çµ±é¦–先是一個實時性系統,需è¦å‚³æ„Ÿå™¨çš„å„ç¨®æ¸¬é‡æ•¸æ“šèƒ½åŠæ™‚çš„é¡¯ç¤ºï¼ŒåŒæ™‚ï¼Œç›£æŽ§ç³»çµ±åˆæ˜¯ä¸€å€‹å¤šé»žæª¢æ¸¬ç³»çµ±ï¼Œéœ€è¦åœ¨ä¸åŒçš„點布置傳感器,這些傳感器通éŽç¸½ç·šé€£æŽ¥å¹¶å¯¦ç¾èˆ‡ä¸Šä½æ©Ÿçš„æ•¸æ“šå‚³è¼¸ã€‚å¾žç¸½é«”ä¸Šè¬›ï¼Œåˆ†ç‚ºä¸Šä½æ©Ÿå’Œä¸‹ä½æ©Ÿç³»çµ±ã€‚ä¸Šä½æ©Ÿæ˜¯ç¸½çš„æŽ§åˆ¶å’Œé¡¯ç¤ºç³»çµ±ï¼Œå…¶é€šéŽCAN總線與å„ç¨®å‚³æ„Ÿå™¨çš„æ„Ÿæ‡‰æ¨¡å¡Šé€£æŽ¥ã€‚ç³»çµ±åœ¨å³æ™‚性ã€å¯é 性ã€å®‰å…¨æ€§ç‰æ–¹é¢éƒ½æœ‰ç‰¹å®šçš„è¦æ±‚,其è¦å¯¦ç¾çš„目標如下:(1ï¼‰å°æ¿•åº¦åƒæ•¸é€²è¡Œå¯¦æ™‚采集MCUå°å„個傳感器采集的數據進行循環檢測傳輸。(2ï¼‰è¶…é™æ•¸æ“šå ±è¦ã€‚(3)通信系統應有較高的å¯é 性ã€è¼ƒå¥½çš„實時性和較強的抗干擾能力。
CAN總線是一種多主方å¼çš„串行總線,å¯ä»¥çµ„建多主å°ç‰çš„總線通信系統;STM32F103VET6內置了CAN控制器,é¸å–TJA1050作為CAN收發器,實ç¾STM32與CAN的通信,濕度傳感器掛接在STM32å–®ç‰‡æ©Ÿä¸Šå¯¦ç¾æ•¸æ“šå¯¦æ™‚接收與處ç†ã€‚CANé©é…å¡é€£æŽ¥ä¸Šä½æ©Ÿç³»çµ±å’ŒCAN總線,æ¤å¤–é‚„æœ‰å ±è¦æ¨¡å¡Šã€é¡¯ç¤ºè»Ÿä»¶ç‰å…±åŒçµ„æˆäº†å®Œæ•´çš„æ¿•度測é‡é‡‡é›†ç³»çµ±ã€‚如圖2-1所示。
圖2-1基于STM32å’ŒCAN總線的濕度測é‡é‡‡é›†ç³»çµ±çµæ§‹æ¡†åœ–
3硬件è¨è¨ˆ
3.1ç¡¬ä»¶æ ¸å¿ƒ
系統采用STM32F103VET6ä½œç‚ºä¸»æŽ§åˆ¶å™¨ï¼Œè©²å¾®æŽ§åˆ¶å™¨å…§æ ¸é‡‡ç”¨ARM32為的Cotex-M3CPU,æœ€é«˜å·¥ä½œé »çŽ‡å¯é”72MHz,512KBFlashå˜å„²å™¨ï¼Œ3個12使¨¡/數轉æ›å™¨ï¼Œ112個快速I/O端å£ï¼Œ11個定時器,13個通信接å£ï¼Œå…¶ä¸å°±åŒ…括CAN(2.0)。具有接å£è³‡æºè±å¯Œï¼ŒåŠŸè€—ä½Žï¼Œé«”ç©å°ï¼Œå¯¦æ™‚性能好,易于開發ç‰å„ªå‹¢ã€‚濕度傳感器連接在STM32F103VET6上å¯ä»¥ç¢ºä¿æ•¸æ“šåŠæ™‚和準確的傳輸。
3.2CAN總線簡介
CAN(ControllorAreaNetwork控制器局域網)總線是近些年來éžå¸¸æµè¡Œçš„ç¾å ´ç¸½ç·šä¹‹ä¸€ã€‚具有éžç ´å£žæ€§ç¸½ç·šä»²è£æŠ€è¡“,讓優先級高的信æ¯å¾—åˆ°æ›´åŠ å¿«é€Ÿçš„è™•ç†ï¼›å…·æœ‰å¼·å¤§çš„錯誤檢測機制,å¯ä»¥æª¢æ¸¬åˆ°ç¸½ç·šä¸Šçš„任何錯誤;采用çŸå¹€çµæ§‹ã€ä½å¡«å……å’ŒCRCæ ¡é©—ç‰æŽªæ–½ï¼Œä½¿å‚³è¼¸å…·æœ‰é«˜å¯é 性。這些優點使CAN總線在眾多工æ¥é ˜åŸŸï¼Œå°¤å…¶æ˜¯æ±½è»Šã€èˆªå¤©ç‰ç”¢æ¥ä¸å¾—到了泛的推廣和應用。
CAN總線的特點
(1)å¯ä»¥å¤šä¸»æ–¹å¼å·¥ä½œï¼Œç¶²çµ¡ä¸Šä»»æ„一個節點å‡å¯ä»¥åœ¨ä»»æ„時刻主動地å‘網絡上的其他節點發é€ä¿¡æ¯ï¼Œè€Œä¸åˆ†ä¸»å¾žï¼Œé€šä¿¡æ–¹å¼éˆæ´»ã€‚
(2)網絡上的節點å¯åˆ†æˆä¸åŒçš„優先級,å¯ä»¥æ»¿è¶³ä¸åŒçš„å¯¦æ™‚è¦æ±‚。
(3)采用éžç ´å£žæ€§ä½ä»²è£ç¸½ç·šçµæ§‹æ©Ÿåˆ¶ï¼Œç•¶å…©å€‹ç¯€é»žåŒæ™‚å‘網絡上傳é€ä¿¡æ¯æ™‚ï¼Œå„ªå…ˆç´šä½Žçš„ç¯€é»žä¸»å‹•åœæ¢æ•¸æ“šç™¼é€ï¼Œè€Œå„ªå…ˆç´šé«˜çš„節點å¯ä¸å—å½±éŸ¿åœ°ç¹¼çºŒå‚³é€æ•¸æ“šã€‚
(4)å¯ä»¥é»žå°é»žï¼Œä¸€é»žå°å¤šé»žåŠå…¨å±€å»£æ’å¹¾ç¨®å‚³é€æ–¹å¼æŽ¥æ”¶æ•¸æ“šã€‚
(5)直接通信è·é›¢æœ€é å¯é”10km(速率4Kbps以下)。
(6)通信速率最高å¯é”1MB/s(æ¤æ™‚è·é›¢æœ€é•·40m)。
3.3bxCAN
STM32Fçš„bxCAN支æŒCANå”è°2.0Aå’Œ2.0B的主動模å¼ï¼Œæ³¢ç‰¹çŽ‡æœ€é«˜å¯é”1Mb/sæ”¯æŒæ™‚間出發功能。發é€å…·æœ‰ä¸‰å€‹ç™¼é€éƒµç®±ï¼Œç™¼é€å ±æ–‡çš„優先級å¯è»Ÿä»¶é…置,å¯ä»¥å±è”½ä¸æ–·ï¼Œéƒµç®±ä½¿ç”¨å–®ç¨çš„一塊地å€ï¼Œä¾¿äºŽè»Ÿä»¶æ•ˆçŽ‡çš„æé«˜ã€‚STM32Fçš„bxCANè¨è¨ˆç›®æ¨™æ˜¯ä»¥æœ€å°çš„CPUè² è·ä¾†é«˜æ•ˆçš„è™•ç†æ”¶åˆ°çš„大é‡å ±æ–‡ã€‚
3.4CAN收發器TJA1050
TJA1050速率å¯é”1Mbit/sï¼Œé›»ç£æŠ—å¹²æ“¾èƒ½åŠ›æ¥µå¼·ï¼Œé›»ç£è¼»å°„低,輸出級和3.3V以åŠ5V的器件兼容,有高速和éœéŸ³å…©ç¨®å·¥ä½œæ¨¡å¼ã€‚TJA1050接å£é›»è·¯å¦‚圖3-1所示。
圖3-1TJA1050接å£é›»è·¯
3.5濕度傳感器
åœ¨å……åˆ†è€ƒæ…®äº†ç³»çµ±çš„ç²¾åº¦å’ŒæŠ—å¹²æ“¾æ€§çš„åŸºç¤Žä¸Šï¼Œé¸æ“‡äº†æ¿•度傳感器SHT10。他是SENSIRIONå…¬å¸ç”Ÿç”¢çš„SHT1xç³»åˆ—æ•¸å—æ¿•度集æˆå‚³æ„Ÿå™¨çš„一種,SHT1xç³»åˆ—å–®èŠ¯ç‰‡å‚³æ„Ÿå™¨æ˜¯ä¸€æ¬¾å«æœ‰å·²æ ¡æº–數å—信號輸出的濕度傳感器,包括一個電容性èšåˆé«”æ¿•åº¦æ•æ„Ÿå…ƒä»¶ï¼Œä¸€å€‹ç”¨èƒ½é𙿿–™åˆ¶æˆçš„æº«åº¦æ•感元件,并在åŒä¸€èŠ¯ç‰‡ä¸Šèˆ‡14ä½çš„A/D轉æ›å™¨ä»¥åŠä¸²è¡ŒæŽ¥å£é›»è·¯å¯¦ç¾ç„¡ç¸«é€£æŽ¥ã€‚æ¯å€‹å‚³æ„Ÿå™¨èŠ¯ç‰‡éƒ½åœ¨æ¥µç‚ºç²¾ç¢ºçš„æ¿•åº¦è…”å®¤ä¸é€²è¡Œæ¨™å®šï¼Œä»¥é¡é¢å†·å‡å¼æ¿•度計為åƒç…§ã€‚æ ¡æº–ç³»æ•¸ä»¥ç¨‹åºå½¢å¼å˜å„²åœ¨OTPå…§å˜ä¸ï¼Œåœ¨æ ¡æ£éŽç¨‹ä¸ä½¿ç”¨å…©ç·šåˆ¶çš„串行接å£ï¼Œä½¿å¤–åœç³»çµ±é›†æˆè®Šå¾—快速而簡單。單路SHT10傳感器連接如圖3-2。
圖3-2單路SHT10傳感器
3.6濕度控制電路
濕度控制電路是è¨è¨ˆçš„é‡è¦çµ„æˆéƒ¨åˆ†ã€‚濕度控制電路如圖(3-3)所示。當所測濕度低于最低è¨å®šå€¼ï¼ŒP1.5輸出高電平,åå‘åŽç‚ºä½Žé›»å¹³ï¼ŒSSR1交æµè§¸é›»æŽ¥é€šï¼Œäº¤æµæŽ¥è§¸å™¨1ç·šåœˆå¾—é›»ï¼ŒæŽ¥é€šåŠ æ¿•è¨å‚™ï¼ˆåœ–ä¸ä»¥æ°´æ³µç‚ºä¾‹ï¼‰ï¼Œç›´åˆ°é”到指定濕度范åœã€‚ç•¶æ‰€æ¸¬é‡æ¿•度高于最高è¨å®šå€¼æ™‚,P1.6輸出高電平,åå‘åŽç‚ºä½Žé›»å¹³ï¼ŒSSR2交æµè§¸é»žæŽ¥é€šï¼Œäº¤æµæŽ¥è§¸å™¨2線圈得電,接通干燥è¨å‚™ï¼ˆåœ–ä¸ä»¥é¢¨æ‰‡ç‚ºä¾‹ï¼‰ï¼Œç›´åˆ°é”到指定濕度范åœå¹²ç‡¥è¨å‚™æ‰åœæ¢å·¥ä½œã€‚
圖3-2濕度控制電路
4ç³»çµ±ä¸Šä½æ©Ÿè»Ÿä»¶è¨è¨ˆ
軟件采用NI(NationInstrument)公å¸é–‹ç™¼çš„LabVIEW進行編寫。系統軟件主è¦åŒ…括主程åºå’ŒæŒ‰éµè™•ç†ã€ä¸æ–·ã€åŸ·è¡Œæ©Ÿæ§‹æŽ§åˆ¶ã€é¡¯ç¤ºå’Œé€šä¿¡ç‰å程åºã€‚主程åºå®Œæˆå™¨ä»¶çš„åˆå§‹åŒ–ï¼Œå¹¶åˆ¤æ–·æœ‰èª¤æŒ‰éµæŒ‰ä¸‹ã€æœ‰ç„¡ä¸æ–·è«‹æ±‚ï¼Œç„¶åŽæ ¹æ“šåˆ¤æ–·çµæžœèª¿ç”¨ç›¸æ‡‰çš„å程åºã€‚圖(4-1ï¼‰ç‚ºä¸»ç¨‹åºæµç¨‹åœ–。
圖4-1ä¸»ç¨‹åºæµç¨‹åœ–
5å¯¦é©—æ¸¬è©¦çµæžœèˆ‡åˆ†æž
該系統樣機在æŸå€‰åº«é€²è¡Œäº†è©¦é‹è¡Œï¼Œèª¿è©¦åŽåœ¨å®¤å…§é€²è¡Œé‡Œæ¨¡æ“¬å¯¦é©—,檢驗了系統的控制精度。下表給出了一天ä¸åŒæ™‚刻é è¨æ¿•度與實測濕度的部分數據比較情æ³ã€‚
表1æ¸¬è©¦çµæžœ
å¾žä»¥ä¸Šçµæžœå¯ä»¥çœ‹å‡ºå…¶æ¿•度最大誤差為±3%RH。
5çµæŸèªž
本文使用STM32作為主控芯片,CAN總線的引入將專用微處ç†å™¨ç½®å…¥å‚³çµ±çš„æ¸¬é‡æŽ§åˆ¶å„€è¡¨ï¼Œä½¿ä»–們å„自具有了數å—計算和數å—é€šä¿¡çš„èƒ½åŠ›ã€‚ä¸Šä½æ©Ÿå¯ä»¥å°æ¿•度的上下é™é€²è¡Œè¨å®šå¹¶å°æ¿•度進行相應控制。文ä¸ä»‹ç´¹çš„æ¿•度采集系統硬件è¨è¨ˆç°¡å–®æ˜“于實ç¾ï¼Œç¶“軟件測試,精度高,工作穩定,具有一定的實用性。
è¯ç³»äººï¼šçŽ‹è¼
è¯ç³»åœ°å€ï¼šå±±æ±çœé’島市西方å€é„å·žè·¯53號é’島科技大å¸
è¯ç³»é›»è©±ï¼š13864210301
è¯ç³»éƒµç®±ï¼šhuiowen@126.com
郵編:266042
標簽:
ä¸Šä¸€ç¯‡ï¼šé›»å» é‹çˆæŽ’ç²‰é¢¨æ©Ÿçš„è®Šé »ç¯€èƒ½æ”¹é€
下一篇:微能WIN-V63çŸ¢é‡æŽ§åˆ¶è®Šé »å™¨åœ¨...
ä¸åœ‹å‚³å‹•網版權與å…è²¬è²æ˜Žï¼šå‡¡æœ¬ç¶²æ³¨æ˜Ž[來æºï¼šä¸åœ‹å‚³å‹•ç¶²]的所有文å—ã€åœ–片ã€éŸ³è¦–å’Œè¦–é »æ–‡ä»¶ï¼Œç‰ˆæ¬Šå‡ç‚ºä¸åœ‹å‚³å‹•ç¶²(www.hysjfh.com)ç¨å®¶æ‰€æœ‰ã€‚如需轉載請與0755-82949061è¯ç³»ã€‚任何媒體ã€ç¶²ç«™æˆ–å€‹äººè½‰è¼‰ä½¿ç”¨æ™‚é ˆæ³¨æ˜Žä¾†æºâ€œä¸åœ‹å‚³å‹•ç¶²â€ï¼Œé•å者本網將追究其法律責任。
本網轉載并注明其他來æºçš„稿件,å‡ä¾†è‡ªäº’è¯ç¶²æˆ–æ¥å…§æŠ•稿人士,版權屬于原版權人。轉載請ä¿ç•™ç¨¿ä»¶ä¾†æºåŠä½œè€…ï¼Œç¦æ¢æ“…自篡改,é•è€…è‡ªè² ç‰ˆæ¬Šæ³•å¾‹è²¬ä»»ã€‚
相關資訊