因為某人曾經騎自行車摔車受傷,生活不方便一段時間,所以為了讓每個人都不再痛苦,我決定做一台永遠不會摔車的自行車造福大眾。
但是因為成本問題只能做一台縮小版自平衡遙控自行車,大概1:7的大小。
411214306 林致宇
411214307 胡朝凱
411214328 沈玿正
自平衡使用 PID 控制,其他部分就是讀取>傳遞>輸出。
PID 調整方式透過電腦>(有線、序列埠)>遙控器>(無線、nRF24L01)>車,後修改變數並存於EEPROM。
程式庫
GitHub@FastLED/FastLED(for WS2812b LED)
GitHub@nRF24/RF24(for nRF24L01)
Wire(for I2C)
SPI
EEPROM
Servo
大概長這樣(進度20%,左邊是後輪,右邊會有前輪,中間車體裡有電池,上方會放電子電路、馬達等零件)
電路
供電
車
電池 7.4v
> Arduino nano VIN
> 5V
> SG-90
> 無刷馬達霍爾
> 3v3
> nRF24L01
> XL6009
> 12V
> 無刷馬達
> 減速無刷馬達
遙控
usb-b
> Arduino Uno
> 5V
> 搖桿
> 3v3
> nRF24L01
訊號
車
> SG-90
> Signal > Arduino Nano D3(PWM)
> GP2Y0A21YK0F
> Signal > Arduino Nano A6
> MPU-6050
> SCL > Arduino Nano A5(SCL)
> SDA > Arduino Nano A4(SDA)
> nRF24L01
> CE > Arduino Nano D9
> CSN > Arduino Nano D10
> MOSI > Arduino Nano D11(MOSI)
> MISO > Arduino Nano D12(MISO)
> SCK > Arduino Nano D13(SCK)
> 無刷馬達
> 正反轉 > Arduino Nano D4
> PWM > Arduino Nano D5(PWM)
> EN > Arduino Nano A1(as Digital)
> 編碼器A > Arduino Nano A2(as Digital)
> 編碼器B > Arduino Nano A3(as Digital)
> 減速無刷馬達
> 正反轉 > Arduino Nano D7
> PWM > Arduino Nano D6(PWM)
> FG(optional) > Arduino Nano D8
> WS2812b LED
> DI > Arduino Nano D2
used: D2-D13, A1-A6
remaining: D0, D1, A0, A7
遙控
> nRF24L01
> CE > Arduino Uno D7
> CSN > Arduino Uno D8
> MOSI > Arduino Uno D11
> MISO > Arduino Uno D12
> SCK > Arduino Uno D13
> 搖桿
> X > Arduino Uno A0
> Y > Arduino Uno A1
> Button > Arduino Uno D2
結構
主體使用 3D 列印,部分傳動、轉軸處使用金屬棒、皮帶、軸承等零件連接。
整體大小大概在250*80*150
輪直徑6cm寬1.6cm
建模
使用 FreeCAD 建模
電子零件選用
Arduino Nano:板子體積小,引腳多一點。
MPU-6050:便宜能用。
nRF24L01:便宜能用。
WS2812b LED:只需要一根訊號就可以控制全部的可定址全彩 LED。
機械零件選用
無刷馬達:速度可調、安靜。
皮帶:好像也沒有什麼好方法。
速度試算
減速無刷馬達 12v 極速 210 RPM
> 齒比 2:1
> 420 RPM
> 7 RPS
> 7RPS*2*4cm*pi
> 175cm/s
> 齒比 1:1
> 210 RPM
> 3.5 RPS
> 3.5RPS*2*4cm*pi
> 88cm/s
3D 列印機
電腦
電烙鐵
零件準備(1 week)
零件測試(1 week)
建模(2 week)
3D 列印 (1 week)
編寫程式(1 week)
小規模測試(1 week)
組裝(2 week)
軟體/硬體調整(2 week)
3D 列印改良件(1 week)
組裝(1 week)
最後調整(1 week)
自行車的形狀
自平衡不傾倒
前後移動
受小側向力不傾倒
多方向前進不傾倒