LEGO SPIKE Prime Essential 樂高機器人,LEGO MINDSTORMS Robot Inventor, EV3 ,樂高動力機械 BricQ Motion 程小奔Codey Rocky,mBot2,CyberPi 童芯派 mBlock5 慧編程, Python 專業教學,課程設計。 Scratch, MakeBlock產品 艾多美 Atomy 生活用品 NXT 樂高機器人:創意樂趣,隨心所欲!
SPIKE 樂高機器人
▼
我的網頁
▼
2011-11-09
根據NXT主機電壓調節:穩定馬達轉動
昨天在童年萬歲看到陳教授的文章:轉速調節(NXT Motor Rotation Speed Regulation),
文中提到NXT程式中雖然設定相同的馬力值(Motor Power),但是主機在不同電壓值會有不同的輸出,造成馬達轉速不穩定。
感謝陳教授的文章說明,探奇將陳教授的Robolab程式改寫為NXT-G程式,
預設參考電壓同樣為7.5V,預定馬力值同樣為90。
這個程式需要用到Battery Level Block,讀友可以到MindBOARDS的NXT-G資料庫(請另開新分頁,右鍵點擊連結)下載Batterylevel.zip,
(請參考探奇舊文章:如何使用NXT-G讀取NXT主機的電池電力?)
經過測試,果然可以讓馬達穩定旋轉。
下面程式改用Advanced Display顯示較大的數目字,方便拍照觀察。
下圖:7.754伏特,計算輸出馬力為87.05,轉速每秒724度。
下圖:換一顆顯示Low Battery的電池,6.508伏特,計算輸出馬力為103.05,轉速每秒719度。
電壓太低,當然無法達到預期效果。
(還不太清楚,輸入馬力103.05是有效的嗎?NXT-G會自動變成100嗎?待研究。)
下圖:換一顆剛充電的電池,8.364伏特,計算輸出馬力為80.97,轉速每秒734度。
有興趣的讀友可以留言或mail給我,我會將程式及Batterylevel一起寄給你。(或是找個地方上傳開放大家下載)。
最後突然想到NXT-G的Motor Block本來就有一個Motor Power選項,一般的解釋是當馬達受到較大負載時,馬達會輸出較大能量,保持應有的一定轉速。但是說不定也有這種電壓調節功能,改天再做轉速測試。
輸入馬力103.05是無效的,NXT-G會自動變成100。這也就是要預留一些上調的空間(10%),或電壓過低時,上調的空間會用光的。
回覆刪除[版主回覆11/09/2011 21:51:49]電壓過低時,的確就無法調整到預定的狀態。
感謝教授提供『有專利的調整方法』!
"最後突然想到NXT-G的Motor Block本來就有一個Motor Power選項,一般的解釋是當馬達受到較大負載時,馬達會輸出較大能量,保持應有的一定轉速。但是說不定也有這種電壓調節功能,改天再做轉速測試。"
回覆刪除我直接告訴你答案:你的猜測是對的。
Motor Power選項的確是用來調節轉速的,應該是源起於RobotC的Speed Regulation,而且RobotC是用PID控制的,競賽時,我覺得實用。它們的方法是隨時偵測轉速,反饋控制電力百分比,我的方法只是只偵測電壓值,計算電力百分比。兩種思考,各有千秋。
[版主回覆11/11/2011 22:04:24]謝謝教授的答案。
經過測試,的確能夠在不同電壓的情形下固定轉速。
更正:"競賽時,我覺得不實用。"
回覆刪除差很大。
[版主回覆11/11/2011 22:05:04]差很大就只好自己控制。
老師您好:請您不吝賜教,Robolab是否支援官方版的彩色感應器?
回覆刪除[版主回覆01/05/2012 22:31:33]你好:
據我所知,就算更新至Robolab 2.9.4c,都沒有支援樂高的官版彩色感應器。
邱老師:
回覆刪除您好
請您傳給我 根據NXT主機電壓調節:穩定馬達轉動
相關的程式及Batterylevel一起寄給我
好嗎
謝謝
小小
[版主回覆03/18/2012 11:47:02]你好:
我很樂意分享我的程式,
但是你沒有留下信箱阿。
歡迎直接來信聯絡:touch_classroom@yahoo.com.tw
(網頁上方標題就有我的郵件信箱)
謝謝!
邱老師好 可以寄給我嗎?a891021960035.yahoo.com.tw 謝謝了!
回覆刪除[版主回覆06/24/2013 15:51:10]
你好:
已經寄出,請參考。
歡迎自我介紹及討論。
邱老師您好,這次又來麻煩您了.上次您有寄給我Batterylevel了.所以這次寄給我程式就好了.謝謝
回覆刪除我的e-mail:e19971109@gmail.com
[版主回覆07/22/2013 22:16:20]你好:
又來麻煩的意思是?
不論如何,程式已經寄給你。
歡迎自我介紹。