單片機紅外避障模塊編寫程序 如何在較快時間內(nèi)學會做一個簡單的機器人?
如何在較快時間內(nèi)學會做一個簡單的機器人?很多初學者可能會心血來潮想到自己做機器人,很多人可能不是嵌入式開發(fā)的圈內(nèi)人,甚至連單片機、步進電機這些名詞都沒聽說過。有人準備做一個人形機器人,一上來就能用兩只
如何在較快時間內(nèi)學會做一個簡單的機器人?
很多初學者可能會心血來潮想到自己做機器人,很多人可能不是嵌入式開發(fā)的圈內(nèi)人,甚至連單片機、步進電機這些名詞都沒聽說過。有人準備做一個人形機器人,一上來就能用兩只腳走路。
其實初學者最好從車入手。人形機器人可以說是一個系統(tǒng)的大工程,不是一個人能玩起來的,資金投入比較巨大。機器人汽車技術(shù)門檻低,資金投入少,市場上各種產(chǎn)品和零配件支持多,但能實現(xiàn)的功能很多。
首先是理論部分——汽車的控制結(jié)構(gòu)。臺車總體控制系統(tǒng)
車是怎么控制的?為什么汽車判斷障礙物后能自動繞行?
理論:控制工程——處理自動控制系統(tǒng)各種工程實現(xiàn)問題的綜合性工程技術(shù)。包括提出需求(即指定指標)、設(shè)計、構(gòu)建、運行、分析和測試自動控制系統(tǒng)的過程。它是在電氣工程和機械工程的基礎(chǔ)上發(fā)展起來的。
閉環(huán)控制:閉環(huán)控制有一個反饋環(huán)節(jié)。通過反饋系統(tǒng),提高了系統(tǒng)的精度,縮短了響應時間,適用于對響應時間和穩(wěn)定性要求高的系統(tǒng)。
開環(huán)控制:開環(huán)控制沒有反饋環(huán)節(jié),系統(tǒng)穩(wěn)定性不高,響應時間比較長,精度不高。它用于對系統(tǒng)穩(wěn)定性和精度要求不高的簡單系統(tǒng)。
一般稍微復雜一點的機器人小車都是閉環(huán)控制,也就是說它有一個反饋機制,會根據(jù)它配備的各種傳感器讀取環(huán)境信息,并根據(jù)這些環(huán)境信息決定它的下一步動作,決定后向執(zhí)行系統(tǒng)發(fā)送動作指令,讓機器人做出適當?shù)膭幼鳌.斎?,有些機器人汽車是開環(huán)控制的。我見過一輛裝有鋼筆的機器人汽車。當機器人被放在紙上時,一旦機器人轉(zhuǎn)動,它就在紙上畫一個圓。當然,由于摩擦和機械誤差的原因,畫出來的圓可能不閉合也不圓。然而,阿q說 "這個圓圈是孫子畫的... "有點迷茫?它不 沒關(guān)系,其實簡單來說就是這樣:機器人可以分為三個部分——傳感器部分、控制器部分和執(zhí)行器部分。
傳感器部分:機器人用來讀取各種外部信號和控制機器人的各種開關(guān)的傳感器 的行動。像人的眼睛、耳朵和其他感覺器官。
控制器部分:接收傳感器部分發(fā)送的信號,確定機器人 s根據(jù)預先編寫的決策系統(tǒng)(軟件程序)對外部信號做出響應,并將控制信號發(fā)送到執(zhí)行機構(gòu)部分。就像人腦一樣。
執(zhí)行器部分:它驅(qū)動機器人做各種行為,包括發(fā)出各種信號的部分(點亮LED,發(fā)出聲音),可以根據(jù)控制器部分的信號調(diào)整自己的狀態(tài)。對于機器人汽車來說,最基本的就是輪子。這部分就像人的肢體。好,現(xiàn)在讓我們 s分析一下機器人小車的避障行為控制:當機器人在行走(人在路上行走)時,突然收到一個 "左前方有障礙物從安裝在機器人前方的傳感器(人眼發(fā)現(xiàn)左前方有一根電線桿),以及事先寫在機器人控制芯片中的程序算法要求機器人在發(fā)現(xiàn)左前方有障礙物時向右轉(zhuǎn)(人在發(fā)現(xiàn)左前方有電線桿時要向右躲——什么,你?然后我 我等著聽。哦,你只是想看看上面的小廣告...),控制芯片向機器人的駕駛員發(fā)出右轉(zhuǎn)指令——要么是輪子,要么是腳(人腦發(fā)出右轉(zhuǎn)指令,是 "轉(zhuǎn)一轉(zhuǎn) "在門外漢和條款)。此時,機器人的執(zhí)行機構(gòu)部分應立即響應控制器的指令,改變其狀態(tài),并改變機器人的方向以避開障礙物(恭喜
怎么樣?它有 amp的意思嗎?"人類和動物作為機器?
那么這三個部分是如何關(guān)聯(lián)的呢?很簡單:電!實際上,機器人汽車是一個電子作品。傳感器將所有外部的光信號、聲音信號和溫度信號轉(zhuǎn)換成控制部分可接受的電信號??刂葡到y(tǒng)發(fā)出的指令也是各種電信號,通過執(zhí)行部分轉(zhuǎn)換成電機輸出的扭矩、聲音、光信號。
我來分別介紹一下這三個部分。
傳感器部件
傳感器是機器人的眼睛。如果想讓汽車完成不同的任務,就必須配備各種傳感器。
現(xiàn)在市場上的傳感器數(shù)不勝數(shù),一般個人機器人愛好者經(jīng)常使用的有碰撞檢測傳感器(碰撞開關(guān))、紅外障礙物檢測傳感器、紅外測距傳感器、光敏電阻、電子溫度計、電子羅盤等等。
一般機器人使用的傳感器返回的信號有兩種:一種返回只有兩種狀態(tài)的簡單值: "是的 "or "不 " "是的 "or "不 "0或1。我習慣稱這個量為 "陳述數(shù)量和數(shù)量。它反映了一種狀態(tài),只是一個簡單的 "是的 "or "不 "。例如, "機器人的左側(cè)有障礙物嗎?"和 "有聲音信號嗎?"。還有一個返回值,返回已知范圍內(nèi)的任何值。例如,光敏電阻返回的信號可以是0 ~ 5V范圍內(nèi)的任何電壓信號。我通常稱這個量為 "強度、數(shù)量和質(zhì)量。反映的是有效范圍內(nèi)的強弱。例如, "機器人左邊的障礙物有多遠?"和 "現(xiàn)在聲音信號有多強?"。
amp反映的信息陳述數(shù)量和數(shù)量簡單,相應的傳感器也簡單,成本低。 amp反映的信息強度、數(shù)量和質(zhì)量是豐富的,相應傳感器的成本也會更高,這也給控制帶來了更大的靈活性和復雜性。
讓 讓我們看看一些常用的傳感器:
碰撞開關(guān):電路在遇到障礙物后一直處于開路和接通狀態(tài),可以用來檢測機器人是否發(fā)生碰撞。
光敏電阻:光敏電阻由半導體制成。電阻值隨著入射光的強度而變化的電阻器;入射光強度和電阻減小,入射光弱,電阻增大。光敏電阻一般用于測光、控光和光電轉(zhuǎn)換(將光的變化轉(zhuǎn)化為電的變化)。可以用來檢測光的強度。
紅外障礙物探測傳感器:紅外障礙物探測傳感器是利用紅外線遇到障礙物會反射的原理來探測某個方向是否有障礙物。
紅外測距傳感器:紅外測距傳感器利用紅外信號遇到障礙物時反射強度不同的原理,探測障礙物的距離。紅外測距傳感器有一對紅外信號發(fā)射和接收二極管。發(fā)射管發(fā)射特定頻率的紅外信號,接收管接收該頻率的紅外信號。
超聲波測距傳感器:超聲波測距傳感器利用聲音在空氣中的傳播距離與傳播時間成正比的原理,通過檢測超聲波被不同距離的反射面反射回來的時間來探測障礙物的距離。
對于傳感器,很多人認為只要看看文檔就知道怎么用了。但我的建議是:不僅要知道怎么用,還要知道它的檢測原理。只有深刻理解傳感器的檢測原理,才能有更好的發(fā)散思維。我舉個例子:學校機器人消防比賽剛開始的時候,我們用廠家提供的地面灰度傳感器,通過可見光反射來探測地面上的白線,效果一直不是很理想。后來有同學仔細研究了當時電機上配備的光電編碼器,發(fā)現(xiàn)其原理是利用高速旋轉(zhuǎn)的電機上的黑白碼盤,用不同的顏色表示不同的上反射率來檢測電機的轉(zhuǎn)速。光電編碼器上的紅外探測模塊被拆下來安裝在機器人底部,探測地面的白線,探測效果一下子好了很多。
購買當?shù)仉娮邮袌?,或者網(wǎng)上購買(現(xiàn)在很多機器人商家都有各種傳感器,其實原理和適用范圍都差不多,很多都是可以互換的)。選購時要注意傳感器的電壓范圍和有效范圍。
終極發(fā)展:圖像識別依靠一個攝像頭,根據(jù)攝像頭傳回的視頻信號,計算出不同物體與自己的距離以及它們的移動速度。如果你能邁出這一步,那么這門學科叫做 "機器視覺與技術(shù)會向你敞開。
控制器部分
適用于機器人的控制芯片有很多:我們的電腦用的單片機,DSP,甚至CPU。不過這里主要介紹機器人小車的技術(shù),所以讓 讓我們把其他人放在一邊,讓 我們把注意力集中在廉價的單片機上。
單片機:單片機又稱單片微控制器,不是一個芯片完成某種邏輯功能,而是將一個計算機系統(tǒng)集成到一個芯片上。總結(jié)一下:芯片變成電腦。它體積小、重量輕、價格便宜,為學習、應用和開發(fā)提供了便利條件。
肖鑫電影有大智慧。
單片機是自動控制系統(tǒng)中應用非常廣泛的控制芯片,現(xiàn)在我們身邊的很多電器中都有它的身影。如果想自己做一個機器人,相應的單片機知識必不可少。
我不 這里不想多說單片機系統(tǒng)的知識。如果想對單片機系統(tǒng)有深入的了解,還是需要找一本比較好的單片機教材一頁一頁的去讀。任何 "技能與技巧和 "快速啟動和在網(wǎng)上(包括本文)只能算是水果和零食。沒事的時候可以用它來刺激食欲。如果真的想吃好,還是要吃大餅饅頭。
這些是基本的介紹性概念。
對于新獲得的單片機芯片,開發(fā)人員要做的就是教會單片機處理各種問題,給單片機配備各種擴展工具,讓單片機把復雜的問題簡單化、數(shù)字化。
單片機的發(fā)展涉及到硬件和軟件兩個方面。
單片機不同于其他電器。使用時,只需將插針直接插入電源即可。一個空白的單片機需要一些其他電路來支持。一般來說,最基本的電路是單片機的最小系統(tǒng):
所謂單片機最小系統(tǒng),是指能使單片機工作的最基本的電路。在所有的單片機系統(tǒng)中,你都能找到類似的電路。至于它的原則,我贏了。;這里就不細說了。讓 讓我們找本書來讀。
然后介紹一些機器人需要的擴展電路:
程序下載電路:單片機最終需要一個程序來控制它。一般來說,程序?qū)懺赑C上,通過下載線下載到MCU上執(zhí)行。下載需要一個電路支持。以前一般都是連接PC的串口,現(xiàn)在有很多通過USB下載程序的電路。
以上兩個電路是機器人開發(fā)需要的最基本的單片機電路,其他可能需要一些電機驅(qū)動、A/D轉(zhuǎn)換、開關(guān)選擇等電路。
可能你有點迷茫,也能感覺到一點尷尬。這些電路對于一個沒接觸過單片機的新手來說可能有點大。它不 沒關(guān)系?,F(xiàn)在市面上有很多成熟的單片機開發(fā)系統(tǒng),而且價格極低。如果你不 不想在底層電路上花費更多的精力,搜索 "單片機開發(fā)板 "在一些電商網(wǎng)站上,而且100多元就可以買到功能齊全的開發(fā)板,附帶軟件教程和技術(shù)支持服務(當然,
軟件:說白了就是你為單片機開發(fā)的智能程序,讓機器人擁有最簡單的智能。唐 當你看到 這個詞時,你不會覺得有多深刻智能 "。你知道當你看到前面的電線桿時,你必須轉(zhuǎn)彎。這很聰明。
不同的單片機需要不同的開發(fā)環(huán)境,購買時要明確。許多單片機公司都有自己的配套開發(fā)軟件,其中許多可以在公司 的網(wǎng)站。一般來說,國外很多芯片公司都有非常豐富適用的網(wǎng)站。資料,拿著一本英漢詞典,在網(wǎng)站上瀏覽資料,你會發(fā)現(xiàn)一切都變得很簡單。
以前我們一說到單片機的發(fā)展,就會想到匯編語言。當時芯片的成本很高,芯片的計算和存儲費用都要精打細算。高效的匯編語言是單片機的最佳選擇?,F(xiàn)在隨著芯片成本的降低,開銷的問題不再是制約單片機程序發(fā)展的瓶頸,于是出現(xiàn)了很多類似C或者Basic語言的開發(fā)環(huán)境。只要你有一定的程序開發(fā)基礎(chǔ),熟悉單片機的各種管腳,相信寫一個簡單的智能程序會很容易。
購買電子市場或網(wǎng)上購物?,F(xiàn)在單片機的價格已經(jīng)很低了,不需要過多考慮價格。關(guān)鍵是要選一個合適的,信息量大,好用的。就機器人開發(fā)而言,應滿足以下條件:有程序下載線,能方便地從PC機下載程序到單片機;集成模數(shù)轉(zhuǎn)換;有PWM輸出(便于控制電機)。
終極發(fā)展:畢竟單片機能力有限。如果要做一些計算量大的應用(比如音視頻處理),就需要一些更高端的芯片,比如DSP,或者干脆在電腦機箱上加幾個輪子,讓電腦跑起來!
致動器部件
對于機器人汽車來說,最基本的致動器部件是車輪。汽車只有有輪子才能稱之為汽車。這部分可能也是粉絲最擔心的部分。傳感器和控制器到處都有賣,但是車輪、機械結(jié)構(gòu)、車身等一般適合機器人汽車的部件卻很難找到。找人訂很貴,現(xiàn)在很多朋友都用玩具車改裝。其實現(xiàn)在已經(jīng)有機器人汽車底盤賣了,但是在電子市場上已經(jīng)很難看到了。大部分都要在一些教育機器人公司的網(wǎng)店郵寄。
機器人常用的電機有三種:普通DC電機、步進電機和伺服電機。
DC電機:輸出或輸入為DC能量的旋轉(zhuǎn)電機稱為DC電機,它可以實現(xiàn)DC能量和機械能的相互轉(zhuǎn)換。當它作為電機工作時,是DC電機,將電能轉(zhuǎn)化為機械能;當發(fā)電機運行時,它是一臺DC發(fā)電機,將機械能轉(zhuǎn)化為電能。
步進電機:步進電機是將電脈沖信號轉(zhuǎn)換成角位移或線位移的開環(huán)控制元件。在非過載的情況下,電機的轉(zhuǎn)速和停止位置只取決于脈沖信號的頻率和脈沖數(shù),不受負載變化的影響,即電機加一個脈沖信號,電機轉(zhuǎn)過一個步距角。這種線性關(guān)系的存在,加上步進電機只有周期誤差,沒有累積誤差等特點。用步進電機控制速度和位置非常簡單。
伺服電機:伺服電機又稱執(zhí)行電機,在自動控制系統(tǒng)中作為執(zhí)行元件,將接收到的電信號轉(zhuǎn)換成角位移或角速度輸出在電機軸上。分為DC和AC。伺服電機有兩種,主要特點是信號電壓為零時沒有旋轉(zhuǎn)現(xiàn)象,轉(zhuǎn)速隨著轉(zhuǎn)矩的增大勻速下降。
總的來說,這三種電機都是DC lt步進lt伺服,控制精度都是DC lt步進lt伺服(當然也有不正常的時候,不代表伺服電機就一定比步進電機便宜)。
初學者對單片機控制的電機不熟悉。首先,我們可以使用單片機輸出的PWM信號來控制DC電機,然后我們可以嘗試控制步進電機,以獲得更高的控制精度。對于小車的運動驅(qū)動,一般可以選擇DC電機或步進電機,而伺服電機一般用在機械臂上,以獲得精確的旋轉(zhuǎn)角度。
一般單片機要通過驅(qū)動電路控制步進電機和伺服電機。有專門的模塊驅(qū)動電機,單片機只需要為這樣的模塊提供一定頻率的脈沖和控制信號。網(wǎng)上有很多相關(guān)的資料,有需要可以自己找。
購買電子市場、五金店、網(wǎng)購、二手家電。
終極發(fā)展:當你可以自由控制機械臂的時候,你會發(fā)現(xiàn),一個人形機器人不會太遠。
其他常用的驅(qū)動裝置包括機械臂和機械手,安裝在汽車上抓取東西??梢杂盟欧姍C自己開發(fā)(新手最好繞過),也可以選擇市面上的模壓產(chǎn)品。這些產(chǎn)品一般都有完整的文檔,仔細閱讀和使用都非常方便。
最后,介紹電子電路的發(fā)展。
說到電路,很多朋友可能會首先想到深綠色的印刷電路板?,F(xiàn)在很多電子市場都有人可以根據(jù)你的電路圖給你加工印刷電路板。但是在設(shè)計階段,很多東西會被改動,每次重新制作電路板的效率和成本都是大問題。一般在電路開發(fā)中,有專門的實驗板(也叫面包板),適合在開發(fā)階段使用。
獎金:
適用于初學者的《機器人制作天空寶典》和《智能機器人 邊學邊做》下載:
《機器人制作天空寶典》
《智能機器人 邊學邊做》
東北大學秦皇島分校和鄭州大學哪個好?
展望未來不看過去,不看現(xiàn)在,鄭州大學將一騎絕塵,勇往直前!
東北大學,秦皇島分校,像個小媳婦,永遠做不到!