1.前期硬件準備
2s鋰電池一個(用于供電),stm32f103c8t6最小系統板一個(主控板),兩個搖桿(用于搖桿模式),四個電位器(用于示教器模式),一個藍牙hc-05(用于藍牙模式已經串口打印信息方便調試),一個oled顯示屏(用于顯示信息,也是方便調試),以及最主要的由四個sg90舵機組成的四自由度機械臂(因為我沒有3d打印機,故直接在淘寶買了一個現成的,只需要買機械臂,不用帶控制板,幾十塊錢,有條件的也可以買四個90°的sg90舵機自己打印外殼,沒條件的也可以像我一樣買現成的,鏈接也給大家放下面了)
【淘寶】假一賠四 https://e.tb.cn/h.h58uEdzwlHNI62N?tk=TQCiVBrR5L0 HU006 「新款4四軸機械臂4軸4自由度Arduino可編程控制WIFI創新比賽 DIY」
點擊鏈接直接打開 或者 淘寶搜索直接打開
除此之外還需要控制板上面的一些電阻電容,芯片和按鍵等器件,不過這些都不貴。下圖就是最終項目的實物呈現圖。機械臂演示視頻已經在我的同名B站發布,下面是演示視頻鏈接:
http://【STM32四自由度機械臂實現多功能控制-嗶哩嗶哩】 https://b23.tv/O82ynIa
2.stm32機械臂控制板PCB
原理圖其實很簡單,stm32和舵機,電位器,藍牙,oled顯示屏,以及搖桿等外設都是排針排母,真正的電路部分只有兩個降壓電路和led指示燈和按鍵電路模塊,總體還是比較簡單清晰明了的。
下面是pcb的3d預覽圖,PCB工程文件文末有開源鏈接,希望大家一鍵三聯后領取。?
?3.外設及其接線介紹
3.1藍牙hc-05
PA9接RX,PA10接TX,GND接地,VCC接5V,另外兩個引腳可不接,可用于串口打印信息,也可通過手機發送信息控制機械臂。(PA9對應stm32的USART1_TX,PA10對應stm32的USART1_RX)
3.2搖桿
GND接地,+5V接5V,兩個VRX分別接PA2和PA4,兩個VRY分別接PA3和PA5,SW可不接,兩個搖桿主要用于搖桿模式下控制機械臂。(PA2-PA5對應的是stm32的ADC1_IN2-ADC1_IN5)
3.3?電位器
GND接地,VCC接3.3V,四個OUT分別接PA6,PA7,PB0,PB1,四個電位器主要用于示教器模式下控制機械臂,受限于PCB是平面的,大家可以用杜邦線將電位器引出來,并用木棍等物品將電位器像機械臂那樣連接起來,這樣就可以真正實現示教器模式,你控制木棍運動,機械臂就會跟隨同步運動。(PA6,PA7,PB0,PB1對應的是stm32的ADC1_IN6-ADC1_IN9)
,
3.4oled顯示屏?
GND接地,VCC接3.3V,SCL接PB6,SDA接PB7,OLED顯示屏主要用于顯示一些信息,起到一個方便調試的作用。(PB6對應stm32的I2C1_SCL,PB7對應stm32的I2C1_SDA)
3.5SG90舵機
紅線電源線接5V,棕線地線接GND,四根黃線信號線分別接PB10,PB11,PA15,PB3,這個舵機應該不用介紹用處了,它就是機械臂的四自由度。(PA15對應stm32的TIM2_CH1,PB3對應stm32的TIM2_CH2,PB10對應stm32的TIM2_CH3,PB11對應stm32的TIM2_CH4,也就是定時器2的四個通道,用于輸出PWM的,具體的代碼等到軟件篇會介紹)
?
?除了上述的外設以外,還有兩個led指示燈所使用的gpio是PA11和PA12,以及四個按鍵的gpio分別使用的是PA0,PA1,PB4,PB5。
下面是stm32機械臂控制板PCB的鏈接,希望大家多多支持,待我把軟件部分整理一下,會加快發布出來。
http://通過網盤分享的文件:stm32機械臂控制pcb.zip 鏈接: https://pan.baidu.com/s/1KXA44s-QkAyqEYr9eFoOQg 提取碼: 0531