FBTUG 子專案-Mini FarmBot

緣起

主要目的

     由於FarmBot 體積龐大, 價格不是一般研究人員所能負擔, 為了方便開發, 而將它改成便於攜帶, 類似桌上型3D 印表機, CNC的機器, 也順便降低成本以加速推廣.

主要 Coordinator

工作事項

Phase 1:

Phase 2:

Phase 3: 

由於Mini Farmbot 是 XYZ 的架構, 希望借由UTM的方便更換的概念達到 combo 機的功能: 

-----------------------------------------------------------------------------------------------------------------------

Mini FarmBot 一起試做

請參考以下BOM表, 試做零件會多一些螺絲,方便開發使用, 實際價格由ICshop評估

      

   

第一批試做名單

   

參與者(臉書)
哈爸
陳志弘
Joe Lai
Russ Chen
ZombieYao
李政蒲
Hanching Wang
余宏誠
Victor Sue
Mike Wu
Max Lai
Ash Wen

    

-----------------------------------------------------------------------------------------------------------------------

Mini FarmBot

規格:

機台尺寸: 500mm (X)* 500mm (Y)* 300mm(Z)

耕種面積: 250mm * 250mm  

改裝部份:

1. 減少滑輪數: 因為整體架構縮小,結構上不需要特別強,縮小滑輪固定板面積也可加大耕地面積。

2. 已全機改壓克力雷切 (請參照下面連結)

3. 增加6個 end stop 極限開關在 X,Y,Z 兩端,避免耕地面積設錯,而造成機台的損壞。

   Farmbot 已移除endstop FW控制, 除加end stop 極限開關, 還需改 Arduino code.(待討論)

4. 增加的3D 列印件:全改壓克力雷切以利快速複製機台, UTM開發階段再使用 3D printer.

To Do:

壓克力設計圖:

  已放置於社團檔案 \MiniFarmbot\MiniFarmbot_Acrylic_plate.dxf

  仍待驗証, 有興趣的可以拿去修改.

  

目前進度:  (待更新進度)

  1. 完成度95%, 重改壓克力設計, Y軸馬達增為左右各一個.
  2. 裝上Cable carrier: 3條 (15*40半封閉內開R28) 各 60cm, 依據需求再去掉節數及改方向.
  3.  根據MiniFarmbot 的size 去壓線來客制 XYZ 的長度.

3. 龍門底部壓克力部份: 更改原設計為3 個滑輪, 兩個輔助軸承移動用, 實驗是否可減小移動阻力, 保留其它孔可改回5個滑輪的設計, 方便開發.

 4. 右邊: 用原Farmbot 鐵件設計, 改成壓克力去 hold住兩邊的Y軸(龍門) .

 

  

 5. 左邊: 用原Farmbot 鐵件設計, 改成壓克力去 hold住兩邊的Y軸(龍門) .

 

6. Z 軸安裝板用Farmbot 的檔重新設計,改用壓克力, 減少1/2 size

7.  Z 軸安裝板背面改用3 個滑輪, 安裝板前後共用螺絲孔以利縮小板子的size

8.改用螺絲去固定Y-Z皮帶, 增加強度以及方便組裝

9.Y軸滑輪固定器改用壓克力

10. UTM:  A~L 用一條12c電纜接,因為螺絲會受彈簧而上下作動, 所以用束線帶固定.       

UTM引腳/ UTM線 連接 使用 系統優先級 目前Cable 線的顏色 目前已知用途 備註
A / 1 在Arduino / RAMPS上接地(0V) 接地 1 Farmbot定義 (上圖)
B / 2 在Arduino / RAMPS上為+ 5V 工具驗證 2 Farmbot定義 (上圖)
C / 3 引腳D16在Arduino / RAMPS - 數字輸入A9 (D63)" 工具驗證 3 Farmbot定義 (上圖)
D / 4 Arduino / RAMPS上的引腳A3 - 模擬輸入A5 (D59)" 土壤傳感器等模擬信號工具 4 Farmbot定義 (上圖)        
E / 5 Arduino/RAMPS I2C-Clock 6 FBTUG 定義
F / 6 Arduino/RAMPS I2C-Data 6 FBTUG 定義
G / 7 Arduino/RAMPS UART-Tx(Arduino 方向) 7 FBTUG 定義
H / 8 Arduino/RAMPS UART-Rx(Arduino 方向) 7 FBTUG 定義
I / 9 Arduino/PWM 8 FBTUG 定義
J / 10 使用者暫時定義 FBTUG 定義
K / 11 使用者暫時定義 黃綠 FBTUG 定義
L / 12 +12V 5 FBTUG 定義
水氣 / 1 1 Farmbot定義
水氣 / 2 保留 2 FBTUG 定義
水氣 / 3 3 Farmbot定義

11.另一端的接線方式-- (接rpi3 / Arduino)

12.吸種子改裝: (為了增加吸力) --- 証實Farmbot 已改用此設計

13.小改灑水頭 (開發中)

3D stl: https://drive.google.com/drive/u/0/folders/0Byy7w7GRwp9AV3prU1IyMWJyZ3c

14.控制水量設計:

3Dstl:https://drive.google.com/drive/u/0/folders/0Byy7w7GRwp9AeDBBTzlwTHhoMWc 

 

 

設定 0度為關閉水流量

設定70度為全開最大水流量

=======================================================================

#include <Servo.h>

Servo myservo;  

int pos = 0;   

const int CloseWaterFlow = 0;      // Set 0 degrees to close the water flow

const int FullWaterFlow = 70;       // Set 70 degrees to maximum water flow

void setup() {

  myservo.attach(9);  // set servo to PWM (pin 9)

}

void loop() {

  //  from 0 to 70 degrees 

  for (pos = CloseWaterFlow; pos <= FullWaterFlow; pos += 1) 

  {     

    myservo.write(pos);             

    delay(15);      

  }

   delay(1000);  

   //  from 70 to 0 degrees 

   for (pos = FullWaterFlow; pos >= CloseWaterFlow; pos -= 1) 

  { 

    myservo.write(pos); 

    delay(15); 

  }

  delay(1000);  

 ==================================================================

 

15.流量控制測試:

  器材: 

  a. 水流量傳感器 (Water Flow Sensor - 1/8" SKU)

  

  b. 微型水泵直流12V

使用Arduino UNO 暫時測試準確度, 測試code如下:

================================================

volatile double waterFlow;

void setup() {

  Serial.begin(115200);  //baudrate

   waterFlow = 0;

   attachInterrupt(0, pulse, RISING);  //DIGITAL Pin 2: Interrupt 0

 }

 void loop() {

   Serial.print("waterFlow:");

   Serial.print(waterFlow*1000);

   Serial.println("   mL");

   delay(500);

}

void pulse()   //measure the quantity of square wave

 {

   waterFlow += 1.0 / 5880.0;

 } 

================================================

暫時測試平台:

測試結果約 +-10cc 左右, 待導入farmbot 做完整測試