摘要:本設計以MSP430F149為控制核心,通過放大器LM324做比較器比較光敏電阻感受光強度,控制減速后的步進電機,調節激光筆上下左右轉動,實現精確跟蹤光源的目的。系統采用LM317調節電壓的方式實現LED電流一定范圍內的調節,利用MSP430F149內部的ADC采集OPA335放大后的電壓信號,并計算出電流值,采用12864液晶進行實時顯示。經測試,激光筆能準確地跟蹤光源。
1 系統方案論證
1.1 系統各模塊方案的選擇與論證
(1)電機驅動模塊。采用L298驅動芯片組成驅動電路,可以通過控制中心輸出的高低電平對電動機的方向進行控制,并且可以通過PWM波直接控制電動機的速度。電路較為簡 ~單,容易實現,驅動能力和抗干擾能力強,性價比高。
(2)LED燈電流調節與光源檢測模塊。發射端通過直流穩壓電源來點亮白光LED,通過調節白光LED兩端的電壓來調節電流從而調節亮度,接收端采用多個光敏電阻,通過光敏電阻阻值的變化來判斷光源的位置。
(3)LED電流檢測模塊。在LED的下端串聯一0.1Ω的電阻,電阻的另一端接地,采用OPA335精密放大器對0.1 Ω電阻的壓降進行放大,再通過AD采樣處理,從而測量計算出流過LED的電流。
1.2 系統組成
本系統采用兩片TI公司的MSP430F149單片機分別作為發送部分和接受部分的控制核心,完成信號發送和接收、電流檢測、控制電機、鍵盤輸入及液晶顯示等功能。MSP430F149單片機內部資源豐富,集成了A/D模塊,無需擴展引腳,電路設計和制作簡單,功耗低。
外圍電路模塊包括:電機驅動模塊、LED控制模塊、電流檢測模塊、光信號的發射與接收模塊和液晶顯示模塊。
2 理論分析與硬件電路設計
2.1 LED控制和電流檢測電路
LED通過調節LED兩端的電壓,來改變電流,從而實現亮度的調節,可將LED控制電路采用分壓的方式,將LED與一個1OΩ的電阻串聯來對LED分壓,通過調節串聯電路電壓來調節電流,控制LED的亮度。經過計算:
即10Ω 電阻的功率最大值將近1.6W。故10Ω 電阻采用3W的功率電阻。
電壓調整采用LM317,其輸出電壓范圍為:
即可調范圍為4.0 V到8.4V,換算成電流為:
即電流范圍可達80~440 mA,可滿足在150-350 mA的范圍內調節要求。
電流檢測模塊通過測量電路中已知電阻兩端電壓來換算出電流,由于用來測量電壓的電阻阻值要盡量小,故選擇0.1Ω 的功率電阻,并聯的放大器等效電阻可忽略不記,經過計算,0.1 Ω 電阻兩端的壓降在0.008 V~0.042 V之間,電壓值非常小,需要經過一級電壓放大電路。由于單片機的AD采樣內部參考電壓最大值為3.3 V,因此放大后電壓值3.3V以內。
電壓放大采用TI公司的軌到軌運算放大器0PA335,該運放具有良好的電壓放大性能,單電源供電,放大直流信號沒有衰減,連接為同相比例放大。0PA335的輸出接單片機的模擬信號輸入端P6.0,進行AD采樣。電路如圖2所示。
圖2 電流調節與檢測電路
2.3 電機驅動電路
由于采用步進減速電機,電流較大。
經過測量,在7V電壓供電時,電機的電流為1.4A,在5v供電時,電流為0.9 A,系統采用7.2 V的干電池供電,電機驅動芯片需要能夠承受較大的電流。故采用L298作為電機驅動,能承受足夠大的電流。
2.4 檢測光源電路
檢測光源電路的主要原理是通過檢測到光敏電阻的電阻變化,從而引起電壓的變化,單片機通過識別不同的電壓信號來控制電機的轉動。本設計還采用套黑管的方法提高精確度。
將LM324用做電壓比較器,LM324的反向輸入端通過兩個相等的電阻將電源的電壓分半,作為反向輸入端的輸入電壓,在同向輸入端同樣采用分壓的原理,上端連接光敏電阻,下端接一個100K的滑動變阻器來調節光敏電阻的靈敏度。電路如圖3所示。
圖3 檢測光源電路
3 控制算法與軟件設計
系統軟件主要分為3個部分:檢測光源、檢測顯示電流、步進電機控制。算法設計也圍繞這3個方面展開。
3.1 控制算法
水平方向用4個光敏電阻來尋找和跟蹤光源,將光敏電阻接入比較器串聯滑動變阻器,接在LM324輸入端,單片機通過電平變化來判斷光源的具體位置。
在沒有檢測到光時,兩個比較器都輸出低電平,當有一個檢測到光時,與此相連的比較器輸出變為高電平,當兩個比較器的輸出都為高電平時,說明此時光源在兩個光敏電阻之間,此時已檢測到光源的中心,控制電機停止。
在光源跟蹤時,通過判斷水平方向兩個比較器的狀態來實現。當左邊的比較器輸出為高電平,右邊輸出低電平時,說明光源左移,控制步進電機左移。同理可控制電機右移。當兩個比較器輸出都為高電平時,說明光源在中心,不用移動。當兩個比較器都輸出低電平時,都沒檢測到光源,此時重新掃描。
由于要實現激光筆對準光源時,將光源支架沿著直線LM平穩緩慢(15秒內)移動60 cm,激光筆能夠連續跟蹤指向光源,而系統采用的減速步進電機可將一個圓周細分為4096步,每個脈沖走的距離約為:
每個脈沖步進3.07 mm,可實現對光源的連續跟蹤。要實現將光源支架沿著直線LM平穩緩慢(15秒內)移動60cm,激光筆能夠連續跟蹤指向光源,當沿直線移動時,光源的豎直高度將發生變化,豎直方向檢測方式類似于水平方向檢測跟蹤,因而可實現整個平面內跟蹤。
3.2軟件設計流程圖
圖4 單片機2流程圖
圖5 單片機1流程圖
上一篇:MSP430單片機的 振蕩器與系統時鐘
下一篇:MSP430的工作模式
推薦閱讀
史海拾趣
[轉載]史上最實用較深刻的峰值檢測電路實例與分析 TINA7 OPA128OPA131TL372 本帖最后由 dontium 于 2015-1-23 13:23 編輯 史上最實用較深刻的峰值檢測電路實例與分析 TINA7 OPA128OPA131TL372 … 查看全部問答∨ |
|
誰有fs2410的驅動,能給我發一份嗎?我就快畢不了業,寫個按鍵驅動,中斷怎么都沒有反應。我的郵箱lihongdongnan@yahoo.cn… 查看全部問答∨ |
1:2440在ADC等待模式的中斷,只能每按一次產生一次中斷,如果我想按下去一直放手,最后也只能產生一次中斷....做到手寫的驅動是需要按下時一直繼續進行采樣的,可在2440不知道怎樣做 2:自動X,y轉換模式應當怎樣使用?我試過后好像不能進入中斷服務程序 ...… 查看全部問答∨ |
我想在wince環境下 生成一個xml文件 內容有 <?xml version="1.0" encoding="GB2312"?> <note> <to>George</to> <from>John</from> & ...… 查看全部問答∨ |
有誰知道一般的科學計算器用的是什么型號的CPU?51系列還是其它的呢?謝謝! 自己想搭個硬件平臺做科學計算器,把自己的計算器拆開只看到一個裸片,一塊大黑痣里面是啥都看不到郁悶!有人知道一般的科學計算器都用什么cpu來實現么,不知c51能不能符合要求,因為c51對浮點的支持比較差,只支持到單精度,這對對精度要求較高的 ...… 查看全部問答∨ |
哪位有STM8L151G4 和STM8L152M8的最小系統圖 抱歉 我不是故意伸手 主要是時間緊 而且剛接手 時間來不及 哪位有的高手請麻煩幫忙一下 我郵箱是396095630@qq.com萬分感謝… 查看全部問答∨ |
|
數碼管的位選能不接三極管直接接IO口嗎?為什么? 點陣可不可以不接芯片,直接用三極管驅動?為什么? 點陣可不可以直接接IO口?為什么? 請各位大大教教小白。 那還有一個問題就是接電阻的作用是限流,但是限流不就讓電流更小了嗎?那不就不會 ...… 查看全部問答∨ |
在電力電子控制系統中,FPGA的確比單純的DSP控制有優勢,本次項目面向電動汽車的電池管理系統,Cyclone V的性能很不錯,希望可以得到開發板作為測試,如果有幸得到開發板,屆時也會第一時間和網友分享使用經驗。 [ 本帖最后由 buer1209 于 2012-10- ...… 查看全部問答∨ |
設計資源 培訓 開發板 精華推薦
- 做一塊開發板玩micropython
- 【GD32E503評測】IAR環境移植FreeRTOSV202012.00
- 【曬樣片】老手教你一步步樣片申請(樣片在手 設計無憂 項目無敵 市場第一)
- ARM Platform Technical Guide 2011
- 【求助】Mon Jul 31 15:55:32 2006: The stack 'Stack' is filled to 100% (80 bytes used
- ADS匯編語言中出現的問題
- 關于IAR3.41
- 關于AT89C52和AT45D041
- ADI直播最后2天報名|車載音頻系統方案新玩法!ADI大咖為你支招兒!
- 最后一天!TE 智能電表特訓營,產品、技術、市場全解鎖!50元京東卡等著您