性无码一区二区三区在线观看,少妇被爽到高潮在线观看,午夜精品一区二区三区,无码中文字幕人妻在线一区二区三区,无码精品国产一区二区三区免费

  • 回復(fù)
  • 收藏
  • 點(diǎn)贊
  • 分享
  • 發(fā)新帖

【工程師6】+實(shí)踐類+多功能控制小車(已完結(jié))

    DIY小車這個(gè)項(xiàng)目已經(jīng)很多了,對(duì)于前后左右等控制,司空見(jiàn)慣,這次嘗試一下能監(jiān)控的多功能控制小車,電腦,手機(jī)都可以!

多功能車基本功能參數(shù)和關(guān)鍵部件,視頻傳輸這塊和我們現(xiàn)在智能家具這塊無(wú)線視頻原理一樣,下面會(huì)有介紹

1.輸入電源:2串或3串的鋰電池(帶充電器)

2.輸出5v,3.3V等電壓為負(fù)載供電

3.四個(gè)直流減速電機(jī)

4.WIFI數(shù)傳模塊

5.電機(jī)驅(qū)動(dòng)模塊

6.STM32F105主控板

7.UVC攝像頭

8.小車底盤(pán)

最后實(shí)現(xiàn)電腦或手機(jī)通過(guò)wifi和軟件控制小車動(dòng)作并實(shí)時(shí)監(jiān)控

框圖

1

全部回復(fù)(89)
正序查看
倒序查看
斌520
LV.9
2
2019-08-10 19:11
一句話新聞?具體內(nèi)容呢?
0
回復(fù)
2019-08-10 21:57
@斌520
一句話新聞?具體內(nèi)容呢?
已經(jīng)更新了
0
回復(fù)
2019-08-10 22:05
@liuxiaofei126
已經(jīng)更新了

基本框圖:

0
回復(fù)
2019-08-10 22:10
@liuxiaofei126
基本框圖:[圖片]

基本編程軟件

keil5

0
回復(fù)
2019-08-11 11:54
@liuxiaofei126
基本編程軟件keil5[圖片]

對(duì)于單片機(jī)編程這塊,目前STM32占用非常多,涉及到庫(kù)函數(shù)和寄存器編程

這次采用庫(kù)函數(shù)編程,采用傳統(tǒng)的標(biāo)準(zhǔn)庫(kù),HAL庫(kù)后續(xù)可以

如上圖所示,先把框架建立好,拿一個(gè)自己用的工程,把相應(yīng)的函數(shù)添加進(jìn)去就可以了

0
回復(fù)
heiha88
LV.1
7
2019-08-11 11:59
@liuxiaofei126
對(duì)于單片機(jī)編程這塊,目前STM32占用非常多,涉及到庫(kù)函數(shù)和寄存器編程這次采用庫(kù)函數(shù)編程,采用傳統(tǒng)的標(biāo)準(zhǔn)庫(kù),HAL庫(kù)后續(xù)可以如上圖所示,先把框架建立好,拿一個(gè)自己用的工程,把相應(yīng)的函數(shù)添加進(jìn)去就可以了
有這塊的入門(mén)教程嗎
0
回復(fù)
gxg1122
LV.10
8
2019-08-11 21:40
多功能控制小車的設(shè)計(jì)增加了這么多模塊,主控芯片資源及響應(yīng)速度能跟上嗎?
0
回復(fù)
2019-08-12 12:49
@liuxiaofei126
對(duì)于單片機(jī)編程這塊,目前STM32占用非常多,涉及到庫(kù)函數(shù)和寄存器編程這次采用庫(kù)函數(shù)編程,采用傳統(tǒng)的標(biāo)準(zhǔn)庫(kù),HAL庫(kù)后續(xù)可以如上圖所示,先把框架建立好,拿一個(gè)自己用的工程,把相應(yīng)的函數(shù)添加進(jìn)去就可以了

這個(gè)處理視頻的話,需要上系統(tǒng)?

0
回復(fù)
2019-08-12 22:03
@gxg1122
多功能控制小車的設(shè)計(jì)增加了這么多模塊,主控芯片資源及響應(yīng)速度能跟上嗎?
主控單片機(jī)只負(fù)責(zé)解析串口發(fā)來(lái)的命令并執(zhí)行小車動(dòng)作,
0
回復(fù)
2019-08-12 23:14
@liuxiaofei126
主控單片機(jī)只負(fù)責(zé)解析串口發(fā)來(lái)的命令并執(zhí)行小車動(dòng)作,

舵機(jī)這塊是兩個(gè),上下,左右各一個(gè),180度旋轉(zhuǎn)

0
回復(fù)
2019-08-12 23:19
@liuxiaofei126
舵機(jī)這塊是兩個(gè),上下,左右各一個(gè),180度旋轉(zhuǎn)[圖片]

舵機(jī)的基本控制原理

控制信號(hào)由接收機(jī)的通道進(jìn)入信號(hào)調(diào)制芯片,獲得直流偏置電壓。它內(nèi)部有一個(gè)基準(zhǔn)電路,產(chǎn)生周期為20ms,寬度為1.5ms的基準(zhǔn)信號(hào),將獲得的直流偏置電壓與電位器的電壓比較,獲得電壓差輸出。最后,電壓差的正負(fù)輸出到電機(jī)驅(qū)動(dòng)芯片決定電機(jī)的正反轉(zhuǎn)。當(dāng)電機(jī)轉(zhuǎn)速一定時(shí),通過(guò)級(jí)聯(lián)減速齒輪帶動(dòng)電位器旋轉(zhuǎn),使得電壓差為0,電機(jī)停止轉(zhuǎn)動(dòng)。

舵機(jī)的控制一般需要一個(gè)20ms左右的時(shí)基脈沖,該脈沖的高電平部分一般為0.5ms-2.5ms范圍內(nèi)的角度控制脈沖部分,總間隔為2ms。以180度角度伺服為例,那么對(duì)應(yīng)的控制關(guān)系是這樣的:

   0.5ms--------------0度;

   1.0ms------------45度;

   1.5ms------------90度;

   2.0ms-----------135度;

   2.5ms-----------180度;

0
回復(fù)
2019-08-15 22:25
@liuxiaofei126
舵機(jī)的基本控制原理控制信號(hào)由接收機(jī)的通道進(jìn)入信號(hào)調(diào)制芯片,獲得直流偏置電壓。它內(nèi)部有一個(gè)基準(zhǔn)電路,產(chǎn)生周期為20ms,寬度為1.5ms的基準(zhǔn)信號(hào),將獲得的直流偏置電壓與電位器的電壓比較,獲得電壓差輸出。最后,電壓差的正負(fù)輸出到電機(jī)驅(qū)動(dòng)芯片決定電機(jī)的正反轉(zhuǎn)。當(dāng)電機(jī)轉(zhuǎn)速一定時(shí),通過(guò)級(jí)聯(lián)減速齒輪帶動(dòng)電位器旋轉(zhuǎn),使得電壓差為0,電機(jī)停止轉(zhuǎn)動(dòng)。舵機(jī)的控制一般需要一個(gè)20ms左右的時(shí)基脈沖,該脈沖的高電平部分一般為0.5ms-2.5ms范圍內(nèi)的角度控制脈沖部分,總間隔為2ms。以180度角度伺服為例,那么對(duì)應(yīng)的控制關(guān)系是這樣的:   0.5ms--------------0度;   1.0ms------------45度;   1.5ms------------90度;   2.0ms-----------135度;   2.5ms-----------180度;

看看程序中是怎么控制的

用STM32硬件PWM和模擬PWM都可以

TIM_OCInitTypeDef  TIM_OCInitStructure; 
  TIM_OCInitStructure.TIM_OCMode = TIM_OCMode_PWM1;	    //?????aPWM?£ê?1
  TIM_OCInitStructure.TIM_OutputState = TIM_OutputState_Enable;
  TIM_OCInitStructure.TIM_Pulse = Speed_Left-1;	  //éè??í¨μà2μ?μ???ì?±??μ£?ê?3?áííaò???????±èμ?PWM
  TIM_OCInitStructure.TIM_OCPolarity = TIM_OCPolarity_High;  //μ±?¨ê±?÷??êy?μD?óúCCR1_Valê±?a??μ???
  TIM_OC1Init(TIM5, &TIM_OCInitStructure);	 //ê1?üí¨μà1
  TIM_OC1PreloadConfig(TIM5, TIM_OCPreload_Enable);
我們改變這個(gè)值
 Speed_Left-1就可以改變舵機(jī)角度

0
回復(fù)
2019-08-15 22:32
@liuxiaofei126
看看程序中是怎么控制的用STM32硬件PWM和模擬PWM都可以TIM_OCInitTypeDefTIM_OCInitStructure;TIM_OCInitStructure.TIM_OCMode=TIM_OCMode_PWM1;//?????aPWM?£ê?1TIM_OCInitStructure.TIM_OutputState=TIM_OutputState_Enable;TIM_OCInitStructure.TIM_Pulse=Speed_Left-1;//éè??í¨μà2μ?μ???ì?±??μ£?ê?3?áííaò???????±èμ?PWMTIM_OCInitStructure.TIM_OCPolarity=TIM_OCPolarity_High;//μ±?¨ê±?÷??êy?μD?óúCCR1_Valê±?a??μ???TIM_OC1Init(TIM5,&TIM_OCInitStructure);//ê1?üí¨μà1TIM_OC1PreloadConfig(TIM5,TIM_OCPreload_Enable);我們改變這個(gè)值Speed_Left-1就可以改變舵機(jī)角度

這個(gè)是整個(gè)產(chǎn)品的核心wifi模塊

wifi數(shù)傳模塊是基于MIPS 24K 高通CPU的一款WIFI1X1芯片AR9331,其SDK采用uboot作為引導(dǎo)。是基于MIPS 架構(gòu)的,目前有x86、ARM和MIPS三種主流芯片架構(gòu),ARM集架構(gòu)的主要特點(diǎn):一是體積小、低功耗、低成本、高性能;二是大量使用寄存器且大多數(shù)數(shù)據(jù)操作都在寄存器中完成,命令執(zhí)行速度更快;三是尋址方式靈活簡(jiǎn)單,執(zhí)行效率高;四是命令長(zhǎng)度固定,可通過(guò)多流水線方式提高處理效率。

0
回復(fù)
2019-08-15 22:46
@liuxiaofei126
這個(gè)是整個(gè)產(chǎn)品的核心wifi模塊[圖片]wifi數(shù)傳模塊是基于MIPS24K高通CPU的一款WIFI1X1芯片AR9331,其SDK采用uboot作為引導(dǎo)。是基于MIPS架構(gòu)的,目前有x86、ARM和MIPS三種主流芯片架構(gòu),ARM集架構(gòu)的主要特點(diǎn):一是體積小、低功耗、低成本、高性能;二是大量使用寄存器且大多數(shù)數(shù)據(jù)操作都在寄存器中完成,命令執(zhí)行速度更快;三是尋址方式靈活簡(jiǎn)單,執(zhí)行效率高;四是命令長(zhǎng)度固定,可通過(guò)多流水線方式提高處理效率。

wifi模塊的工作原理

WiFi模塊通過(guò)采集掛載在USB接口的MJPG格式的攝像頭的數(shù)據(jù),并編碼封裝成http協(xié)議的視頻流,默認(rèn)推送到8080端口。Android/IOS/PC設(shè)備,連接到WiFi模塊的熱點(diǎn)后,打開(kāi)控制軟件,會(huì)自動(dòng)從8080端口獲取MJPG視頻流,并進(jìn)行解碼、顯示。由此實(shí)現(xiàn)了WiFi智能小車的實(shí)時(shí)視頻傳輸功能。

0
回復(fù)
2019-08-19 12:21
@liuxiaofei126
wifi模塊的工作原理WiFi模塊通過(guò)采集掛載在USB接口的MJPG格式的攝像頭的數(shù)據(jù),并編碼封裝成http協(xié)議的視頻流,默認(rèn)推送到8080端口。Android/IOS/PC設(shè)備,連接到WiFi模塊的熱點(diǎn)后,打開(kāi)控制軟件,會(huì)自動(dòng)從8080端口獲取MJPG視頻流,并進(jìn)行解碼、顯示。由此實(shí)現(xiàn)了WiFi智能小車的實(shí)時(shí)視頻傳輸功能。
這個(gè)wifi模塊可以連接外網(wǎng)?
0
回復(fù)
2019-08-20 07:06
@lihui710884923
這個(gè)wifi模塊可以連接外網(wǎng)?
主要是把wifi模塊作為熱點(diǎn)使用,連接外網(wǎng)不是太穩(wěn)定
0
回復(fù)
2019-08-20 12:33
@liuxiaofei126
主要是把wifi模塊作為熱點(diǎn)使用,連接外網(wǎng)不是太穩(wěn)定
其實(shí)這個(gè)要想實(shí)現(xiàn)WIFI的視頻傳輸,還需要一個(gè)小型的linux系統(tǒng),下面會(huì)講解一下
0
回復(fù)
2019-08-25 08:58
@liuxiaofei126
其實(shí)這個(gè)要想實(shí)現(xiàn)WIFI的視頻傳輸,還需要一個(gè)小型的linux系統(tǒng),下面會(huì)講解一下

OpenWrt 可以被描述為一個(gè)嵌入式的 Linux 發(fā)行版。(主流路由器固件有 dd-wrt,tomato,openwrt三類)對(duì)比一個(gè)單一的、靜態(tài)的系統(tǒng),OpenWrt的包管理提供了一個(gè)完全可寫(xiě)的文件系統(tǒng),從應(yīng)用程序供應(yīng)商提供的選擇和配置,并允許您自定義的設(shè)備,以適應(yīng)任何應(yīng)用程序。

對(duì)于開(kāi)發(fā)人員,OpenWrt 是使用框架來(lái)構(gòu)建應(yīng)用程序,而無(wú)需建立一個(gè)完整的固件來(lái)支持;對(duì)于用戶來(lái)說(shuō),這意味著其擁有完全定制的能力,可以用前所未有的方式使用該設(shè)備。

0
回復(fù)
2019-09-07 10:02
@liuxiaofei126
OpenWrt可以被描述為一個(gè)嵌入式的Linux發(fā)行版。(主流路由器固件有dd-wrt,tomato,openwrt三類)對(duì)比一個(gè)單一的、靜態(tài)的系統(tǒng),OpenWrt的包管理提供了一個(gè)完全可寫(xiě)的文件系統(tǒng),從應(yīng)用程序供應(yīng)商提供的選擇和配置,并允許您自定義的設(shè)備,以適應(yīng)任何應(yīng)用程序。對(duì)于開(kāi)發(fā)人員,OpenWrt是使用框架來(lái)構(gòu)建應(yīng)用程序,而無(wú)需建立一個(gè)完整的固件來(lái)支持;對(duì)于用戶來(lái)說(shuō),這意味著其擁有完全定制的能力,可以用前所未有的方式使用該設(shè)備。
這個(gè)還需要刷linux系統(tǒng)?
0
回復(fù)
gxg1122
LV.10
21
2019-09-08 20:12
@liuxiaofei126
基本編程軟件keil5[圖片]
這個(gè)STM開(kāi)發(fā),WIFI模塊、小車驅(qū)動(dòng)、串口都是模塊案例及例程。
0
回復(fù)
gxg1122
LV.10
22
2019-09-08 20:12
@lihui710884923
這個(gè)處理視頻的話,需要上系統(tǒng)?
視頻實(shí)時(shí)上傳,下端有顯示屏嗎?還是通過(guò)上位機(jī)軟件顯示控制。
0
回復(fù)
gxg1122
LV.10
23
2019-09-08 20:15
@liuxiaofei126
舵機(jī)的基本控制原理控制信號(hào)由接收機(jī)的通道進(jìn)入信號(hào)調(diào)制芯片,獲得直流偏置電壓。它內(nèi)部有一個(gè)基準(zhǔn)電路,產(chǎn)生周期為20ms,寬度為1.5ms的基準(zhǔn)信號(hào),將獲得的直流偏置電壓與電位器的電壓比較,獲得電壓差輸出。最后,電壓差的正負(fù)輸出到電機(jī)驅(qū)動(dòng)芯片決定電機(jī)的正反轉(zhuǎn)。當(dāng)電機(jī)轉(zhuǎn)速一定時(shí),通過(guò)級(jí)聯(lián)減速齒輪帶動(dòng)電位器旋轉(zhuǎn),使得電壓差為0,電機(jī)停止轉(zhuǎn)動(dòng)。舵機(jī)的控制一般需要一個(gè)20ms左右的時(shí)基脈沖,該脈沖的高電平部分一般為0.5ms-2.5ms范圍內(nèi)的角度控制脈沖部分,總間隔為2ms。以180度角度伺服為例,那么對(duì)應(yīng)的控制關(guān)系是這樣的:   0.5ms--------------0度;   1.0ms------------45度;   1.5ms------------90度;   2.0ms-----------135度;   2.5ms-----------180度;
響應(yīng)速度是夠用,串口解析及小車控制。
1
回復(fù)
gxg1122
LV.10
24
2019-09-08 20:17
@liuxiaofei126
其實(shí)這個(gè)要想實(shí)現(xiàn)WIFI的視頻傳輸,還需要一個(gè)小型的linux系統(tǒng),下面會(huì)講解一下
這個(gè)不用linux系統(tǒng)吧,UC系統(tǒng)就可以了。
0
回復(fù)
gxg1122
LV.10
25
2019-09-08 20:20
@liuxiaofei126
其實(shí)這個(gè)要想實(shí)現(xiàn)WIFI的視頻傳輸,還需要一個(gè)小型的linux系統(tǒng),下面會(huì)講解一下
這個(gè)不用linux系統(tǒng)吧,UC系統(tǒng)就可以了。
0
回復(fù)
2019-09-10 17:40
@gxg1122
這個(gè)不用linux系統(tǒng)吧,UC系統(tǒng)就可以了。
UC系統(tǒng)是?
0
回復(fù)
2019-09-15 07:49
@lihui710884923
這個(gè)還需要刷linux系統(tǒng)?
這個(gè)需要刷openwrt系統(tǒng)的
0
回復(fù)
2019-09-15 07:52
@gxg1122
響應(yīng)速度是夠用,串口解析及小車控制。
老哥對(duì)這塊非常熟悉啊,響應(yīng)速度可以的
0
回復(fù)
2019-09-15 08:29
@liuxiaofei126
老哥對(duì)這塊非常熟悉啊,響應(yīng)速度可以的

這個(gè)是實(shí)際的wifi圖傳模塊

0
回復(fù)
2019-09-15 08:40
@liuxiaofei126
看看程序中是怎么控制的用STM32硬件PWM和模擬PWM都可以TIM_OCInitTypeDefTIM_OCInitStructure;TIM_OCInitStructure.TIM_OCMode=TIM_OCMode_PWM1;//?????aPWM?£ê?1TIM_OCInitStructure.TIM_OutputState=TIM_OutputState_Enable;TIM_OCInitStructure.TIM_Pulse=Speed_Left-1;//éè??í¨μà2μ?μ???ì?±??μ£?ê?3?áííaò???????±èμ?PWMTIM_OCInitStructure.TIM_OCPolarity=TIM_OCPolarity_High;//μ±?¨ê±?÷??êy?μD?óúCCR1_Valê±?a??μ???TIM_OC1Init(TIM5,&TIM_OCInitStructure);//ê1?üí¨μà1TIM_OC1PreloadConfig(TIM5,TIM_OCPreload_Enable);我們改變這個(gè)值Speed_Left-1就可以改變舵機(jī)角度

看看舵機(jī)怎么控制轉(zhuǎn)動(dòng)速度

舵機(jī)的轉(zhuǎn)動(dòng)速度取決于起始角度和目標(biāo)角度的差,差別越大轉(zhuǎn)得越快,當(dāng)接近時(shí)就放慢角度。所以沒(méi)有專門(mén)的函數(shù)控制轉(zhuǎn)速。但在大角度轉(zhuǎn)動(dòng)時(shí),你可以用程序把它設(shè)成幾個(gè)小角度遞進(jìn),這樣可以放慢速度。也通過(guò)delay進(jìn)行慢速,但快速的話只有加高電壓了 。

0
回復(fù)
2019-09-15 08:47
@liuxiaofei126
這個(gè)是實(shí)際的wifi圖傳模塊[圖片]

現(xiàn)在在重申一下這個(gè)模塊的工作原理和使用方法

WiFi模塊通過(guò)采集掛載在USB接口的MJPG格式的攝像頭的數(shù)據(jù),并編碼封裝成http協(xié)議的視頻流,默認(rèn)推送到8080端口。Android/IOS/PC設(shè)備,連接到WiFi模塊的熱點(diǎn)

(wifi-robots.com開(kāi)頭的SSID信號(hào))后,打開(kāi)控制軟件,會(huì)自動(dòng)從8080端口獲取MJPG視頻流,并進(jìn)行解碼、顯示。由此實(shí)現(xiàn)了WiFi智能小車的實(shí)時(shí)視頻傳輸功能。

們簡(jiǎn)單恢復(fù)一下出廠設(shè)置就可以了,簡(jiǎn)單說(shuō)一下,用USB轉(zhuǎn)tll工具連接模塊配置好波特率(57600)和串口號(hào)一定注意先后順序

1:點(diǎn)擊打開(kāi)串口,此時(shí)WIFI的狀態(tài)是沒(méi)有上電的

2:給WIFI上電此時(shí)要注意串口開(kāi)始打印(很關(guān)鍵),

3:輸入命令firstboot就可以了

0
回復(fù)
發(fā)