當(dāng)前位置:首頁 > 單片機(jī) > 單片機(jī)
[導(dǎo)讀]小車參數(shù):控制鍵5個:前進(jìn)、后退、左轉(zhuǎn)、右轉(zhuǎn)、停止;有效距離200米;速度:  我想遙控小車大家都玩過,網(wǎng)上也有各種DIY小車的制作詳解,我做的這個遙控小車和其他的作品大同小異,但作為單片機(jī)設(shè)計,這次設(shè)計我主

小車參數(shù):控制鍵5個:前進(jìn)、后退、左轉(zhuǎn)、右轉(zhuǎn)、停止;有效距離200米;速度:

  我想遙控小車大家都玩過,網(wǎng)上也有各種DIY小車的制作詳解,我做的這個遙控小車和其他的作品大同小異,但作為單片機(jī)設(shè)計,這次設(shè)計我主要強(qiáng)調(diào)單片機(jī)控制,就是說,這個小車是由單片機(jī)控制的,這次我把單片機(jī)按鍵發(fā)送程序、無線模塊使用、電機(jī)驅(qū)動作為本教程的核心內(nèi)容。

  一 硬件組裝

  1 小車運動部分

  此圖是我?guī)煹芙M裝好的,請大家作為參考

  所需工件:直流電機(jī)4個,L293D電機(jī)驅(qū)動模塊,蓄電池一塊,車身底盤

  說明:車身底盤大家根據(jù)自己的購買力自行購買,蓄電池也是,至于L293D模塊,淘寶上賣的比較貴,不過我用的就是成品模塊,效果非常好,錢不多的同學(xué)可以自己買芯片,自制模塊,原理很簡單,官方資料是很詳細(xì)的;或者改為繼電器控制都可以,具體看自己的實際購買力。用模塊的好處是,模塊可以輸出5V電源給系統(tǒng)供電,詳細(xì)請參考淘寶網(wǎng)。

  如果你買的是現(xiàn)成的底盤,那就和我的一樣了,組裝實在是沒啥可說的,把電機(jī)固定上去就是,不行?別開玩笑了,小學(xué)生都會的!至于想自己做底盤的,我想說,要搞結(jié)實點,咱這次的小車馬力是很足的,因為有電機(jī)驅(qū)動,速度比較快(不帶減速齒輪的底盤一定要小心,速度非常的快),后勁也足,不小心撞墻很正常,所以不好的底盤就得小心了!

  組裝好后,就是電機(jī)和驅(qū)動模塊的接線了,下面我就詳細(xì)的說一下L293D模塊的使用:

  L293D是專門的電機(jī)驅(qū)動芯片,工作電壓5V,驅(qū)動電壓輸入可達(dá)36V,輸出電流正負(fù)600ma,4個控制端,4個輸出端,原理如

  圖:

  

  其中A為輸出控制端,Y為輸出控制端,1A即控制1Y,以此類推。1,2EN 3,4EN需要短接,芯片最大工作電壓不得超過7V。

  封裝圖:

  

  Vcc1接工作電壓,5V,Vcc2接電機(jī)的驅(qū)動電源,一般來說,這個電壓要比5V高,我用的是12V蓄電池,就把12v的正極接到VCC2,要記住的是,芯片、單片機(jī)、蓄電池電源是需要共地的,不要覺得你電機(jī)是12V,單片機(jī)控制部分是5V就把電源完全獨立開來,正極是完全獨立的沒錯,但是GND(負(fù)極)都必須是接在一起的。

  驅(qū)動芯片與電機(jī)的接法:

  例:左邊前后輪:

  1Y接電機(jī)紅線,2Y接電機(jī)黑線,左邊前輪電機(jī)

  3Y接電機(jī)紅線,4Y接電機(jī)黑線,左邊后輪電機(jī)

  前進(jìn)指令:1A=1(輸出12V),2A=0(輸出0V),3A=1(輸出12V),4A=0(輸出0V)

  后退指令:1A=0(輸出12V),2A=1(輸出0V),3A=0(輸出12V),4A=1(輸出0V)

  右邊的和左邊的接法是完全一樣的

  注意:前進(jìn)和后退并不是絕對的,因為是直流電機(jī),不刻意的強(qiáng)調(diào)正負(fù)極,就看你電機(jī)是怎么接線的,結(jié)果完全可以與我的相反。不過一定要保證電機(jī)接線的統(tǒng)一性,不能隨意,不能說前輪接的是順時針線序,后輪是逆時針線序,如果買的電機(jī)連接線不帶顏色,一定要自己測好了那種接法是順時針的,哪種是逆時針,否則前輪前進(jìn)后輪后退,很摧殘電機(jī)的,或者左右邊的2對電機(jī)轉(zhuǎn)動方向不統(tǒng)一,導(dǎo)致編程麻煩。

  芯片默認(rèn)輸出0V ,所以在沒有程序的時候,大家不需要擔(dān)心電機(jī)會轉(zhuǎn)動。一個芯片只能控制2個電機(jī),右邊的再接個芯片就可以了,網(wǎng)上賣的模塊都是2個驅(qū)動芯片的,剛剛好夠4個電機(jī)。買模塊的好處就是拿來可以直接接線,而且模塊上有標(biāo)號,不必?fù)?dān)心接錯,希望初學(xué)者還是買模塊,貴是貴了,但是速度有保證的!驅(qū)動模塊如圖:

  

  接好之后,我就說下小車的轉(zhuǎn)動方式:前進(jìn)后退就是4個電機(jī)同時的正轉(zhuǎn)、反轉(zhuǎn);左轉(zhuǎn)彎和有轉(zhuǎn)彎有2種方式:A一邊轉(zhuǎn)動一邊不轉(zhuǎn),B一邊正向轉(zhuǎn)動一邊反向轉(zhuǎn)動,這兩種各有個的好處,各位可以根據(jù)自己的實際情況來確定轉(zhuǎn)彎的方式,不同車的底盤效果肯定是不一樣的,轉(zhuǎn)彎的方式是程序控制的,本程序是B種方式。
我的小車圖:

  

  這種電機(jī)是減速的,所以不會很快,如果是直接電機(jī)帶動的輪子,再用12V電源的話,那速度就非??炝?,模塊的輸出直接連接電機(jī)電源線,輸出根據(jù)標(biāo)號或根據(jù)程序接入到單片機(jī)上

  單片機(jī)的接線:

  如圖:

  

  這是我的最小系統(tǒng)板,全部引出IO,帶板載USB下載功能,P0口輸出接了8路流水燈(有選通開關(guān)),這樣設(shè)計板子是為了P0口做輸出時專門看輸出狀態(tài)的。板子是我們工作室自己設(shè)計的,我們所有的作品調(diào)試都是建立在它的基礎(chǔ)上,網(wǎng)上也有的賣這種USB下載板,40元左右吧!

  我這個人比較懶,用的是電機(jī)驅(qū)動模塊,L293D的輸入是有標(biāo)號的,1——8直接按照順序接到P1.0——P1.7就可以了,說到這里,我不得不說一下,單片機(jī)的接線是非常自由的,因為是程序控制,無法就是改改端口而已,我只根據(jù)我的程序來說明接線,有基礎(chǔ)的可以自己設(shè)計!

  驅(qū)動芯片和電機(jī)連接好后,就是要把線固定好,留出要與單片機(jī)連接的8跟控制線。也要注意給無線模塊留一個小空間。
無線模塊解說:

  我們工作室一直使用的是433無線串口模塊,具體型號和價格我會附在清單表里,現(xiàn)在我說下它的性能、這種無線模塊最大的好處就是有較強(qiáng)的抗干擾性,2個模塊直接可以設(shè)置ID,只有在一個ID號下的個模塊才可以通信,而且可以實現(xiàn)一對多通信;而且這種模塊是無需編程的,直接把數(shù)據(jù)發(fā)送到串口即可,模塊會自動調(diào)制解調(diào),就目前使用的情況而言,還沒發(fā)現(xiàn)它有調(diào)制解調(diào)錯誤的時候,可以說,在數(shù)據(jù)傳輸上,這個模塊誤碼率還是極低的,不過需要注意的是,模塊2次接收(發(fā)送)之間的間隔要大于200ms,這是非常重要的一個參數(shù),如果想做高速數(shù)據(jù)傳輸?shù)呐笥颜埳髦剡x用?。ū径挝淖謥碓从谔詫氼5蠠o線模塊手冊,本人也已經(jīng)上傳,也請讀者尊重該店的著作權(quán))。

  模塊的接線還是蠻簡單的,電源2根線,數(shù)據(jù)線2根:TX(接單片機(jī)RX)、RX(接單片機(jī)TX),關(guān)于無線模塊的設(shè)置方案,請參考淘寶睿迪無線XL02-232AP1型號的資料手冊。模塊在通電的一瞬間紅燈綠燈同時會閃一下,然后熄滅,此時進(jìn)入待機(jī)狀態(tài),模塊發(fā)送數(shù)據(jù)時,紅燈亮;接收數(shù)據(jù)時,綠燈亮。

  組裝好之后的圖:

  

  我用是12v蓄電池,接到驅(qū)動模塊后,模塊的5V輸出又可以直接給無線模塊和最小系統(tǒng)部分供電。雖然看起來比較笨重,但是12V的電源,與一般的小車在速度和耐力上,都有了本質(zhì)的提高!

  遙控部分:

  

  hex代碼,仿真提供16進(jìn)制文件
源代碼:

  ;接收程序

  ORG 0 ;程序起始地址

  SJMP STAR ;跳轉(zhuǎn)到主程序

  ORG 30H ;串口中斷地址

  sjmp loop ;跳轉(zhuǎn)到中斷服務(wù)程序

  STAR:

  MOV SP,#5FH ;設(shè)置堆棧

  MOV SCON,#50H ;串行數(shù)據(jù)格式(詳情請參考51手冊)

  MOV TMOD,#20H ;定時器工作方式(請參考51手冊)

  MOV PCON,#0 ;波特率不倍速(請參考51手冊)

  MOV TH1,#0fdH ;設(shè)置波特率在9600

  MOV TL1,#0fdH ;設(shè)置波特率在9600

  SETB EA ;開起中斷

  clr ET1 ;關(guān)閉定時1中斷

  SETB ES ;開起串口中斷

  SETB TR1 ;啟動定時器1

  mov a,#0 ;

  mov p1,a ;設(shè)置初始值,即開機(jī)p1輸出00h小車不動作

  main:

  mov p1,a ;把a(bǔ)值給p1端口

  sjmp main ;無限循環(huán)main程序

  LOOP:

  jnb ri,$ ;判斷接收位是否接收完

  clr ri ;接收完后清空接收位

  mov a,sbuf ;發(fā)送的數(shù)據(jù)給a

  reti ;返回后,a的值就會給p1

  END

  ;發(fā)送程序

  ORG 0 ;程序起始地址

  SJMP START ;跳轉(zhuǎn)到主程序

  ORG 30H ;串口中斷地址

  START:

  MOV SP,#5FH ;設(shè)置堆棧

  MOV TMOD,#20H ;定時器工作方式(請參考51手冊)

  MOV PCON,#0 ;波特率不倍速(請參考51手冊)

  MOV SCON,#50H ;串行數(shù)據(jù)格式(詳情請參考51手冊)

  MOV TH1,#0fdH ;設(shè)置波特率在9600

  MOV TL1,#0fdH

  setb EA ;開起中斷

  clr ET1 ;關(guān)閉定時1中斷

  setb ES ;開起串口中斷

  SETB TR1 ;啟動定時器1

  main:

  lcall kcs ;調(diào)用按鍵掃描程序

  jnz key ;有鍵按下則跳轉(zhuǎn)到key程序段

  sjmp main ;無限循環(huán)main程序

  kcs:

  mov p1,#0ffh ;p1給初值

  mov a,p1 ;p1的數(shù)值給a

  cpl a ;取反a

  anl a,#0ffh ;與運算

  ret

  key:

  lcall delay ;軟件延時程序,按鍵去抖

  jb acc.0,send1

  jb acc.1,send2

  jb acc.2,send3

  jb acc.3,send4

  jb acc.4,send5

  ret

  DELAY:

  MOV R5,#20

  D1:MOV R6,#10

  D2:MOV R7,#100

  DJNZ R7,$

  DJNZ R6,D2

  DJNZ R5,D1

  ret

  send1:

  mov r1,#10101010b ;前進(jìn)指令

  sjmp send

  send2:

  mov r1,#01010101b ;后退指令

  sjmp send

  send3:

  mov r1,#01011010b ;左轉(zhuǎn)指令

  sjmp send

  send4:

  mov r1,#10100101b ;右轉(zhuǎn)指令

  sjmp send

  send5:

  mov r1,#00h ;停止指令

  sjmp send

  send:

  MOV SBUF,r1 ;指令給sbuf

  JNB TI,$ ;判斷是否發(fā)送完

  reti ;中斷返回

  END

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內(nèi)容真實性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請及時聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或?qū)⒋呱龈蟮莫毥谦F公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

加利福尼亞州圣克拉拉縣2024年8月30日 /美通社/ -- 數(shù)字化轉(zhuǎn)型技術(shù)解決方案公司Trianz今天宣布,該公司與Amazon Web Services (AWS)簽訂了...

關(guān)鍵字: AWS AN BSP 數(shù)字化

倫敦2024年8月29日 /美通社/ -- 英國汽車技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認(rèn)證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開發(fā)耗時1.5...

關(guān)鍵字: 汽車 人工智能 智能驅(qū)動 BSP

北京2024年8月28日 /美通社/ -- 越來越多用戶希望企業(yè)業(yè)務(wù)能7×24不間斷運行,同時企業(yè)卻面臨越來越多業(yè)務(wù)中斷的風(fēng)險,如企業(yè)系統(tǒng)復(fù)雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務(wù)連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報道,騰訊和網(wǎng)易近期正在縮減他們對日本游戲市場的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會開幕式在貴陽舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導(dǎo)體

8月28日消息,在2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會上,華為常務(wù)董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機(jī) 衛(wèi)星通信

要點: 有效應(yīng)對環(huán)境變化,經(jīng)營業(yè)績穩(wěn)中有升 落實提質(zhì)增效舉措,毛利潤率延續(xù)升勢 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務(wù)引領(lǐng)增長 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競爭力 堅持高質(zhì)量發(fā)展策略,塑強(qiáng)核心競爭優(yōu)勢...

關(guān)鍵字: 通信 BSP 電信運營商 數(shù)字經(jīng)濟(jì)

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺與中國電影電視技術(shù)學(xué)會聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會上宣布正式成立。 活動現(xiàn)場 NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會上,軟通動力信息技術(shù)(集團(tuán))股份有限公司(以下簡稱"軟通動力")與長三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉
關(guān)閉