2018年7月11日 星期三

DIY推桿

運用齒輪帶動齒條可發展出推桿裝置,推桿可以運用在門窗和遮陽簾的開閤...等處。

這裏要說明的是利用雷射切割壓克力,做出類似推桿的裝置。本推桿使用一只 MG90S 伺服馬達作為動力來源,其直線運動行程可達 60mm,外觀如下圖


下圖是市售品


應用例之一



另外,跟推桿類似的裝置是油(氣)壓缸,它是一種將液(氣)體力量轉換為直線機械動力的機械,只需利用少量的力量透過液體就可推動數倍重量的物體,多用於:千斤頂、吊車、起重機、堆高機、怪手(挖土機)、、、等需要大量動力的重機械機具。




其運作原理祥下圖




組裝步驟

在本說明裏為清晰表現圖片效果,並未移除壓克力機構件表面護膜。但為使本裝置能順暢作動,建議您務必移除表面護膜或貼紙。

Step1 使用M2螺絲和螺帽將 MG90S 伺服馬達固定在底板上。請務必鎖緊。
提示:請注意伺服馬達的轉軸是在底板中間處。



Step2 使用伺服馬達所附的自攻螺絲將塑料搖臂固定在齒輪上。



Step3 使用伺服馬達所附的M2螺絲將齒輪鎖固到伺服馬達上。



Step4 使用 4 只 M3x6 螺絲將尼龍柱固定在底板上。請務必鎖緊。



Step5 上傳下方程式到 Arduino,將伺服馬達固定在 90 度位置。

#include <Servo.h>
Servo myservo;

void setup() {
  myservo.attach(9);
  myservo.write(90);
}

void loop() {
}


Step6 取出下列機構件,


將它們安放到底板上,
提示:注意齒條中間要盡量放在齒輪處。



Step7 使用 4 只 M3x6 螺絲將蓋板鎖固到尼龍柱上,組裝至此完成。



開啟 Arduino IDE 範例程式 Servo\Sweep.ino,將程式上傳到 Arduino,然後您就可以看到軌道推桿裝置在作動。影片如下



相關連結

溫室遮陽棚系統 http://www.bf150.com/jianshe/607.html


採購資訊

近期上市。



2018年3月5日 星期一

[meArm] 機械手臂組裝說明

meArm 機械手臂可以讓您用它來夾取物體。



一、準備材料

機構件


提醒您:強烈建議您先把壓克力表面的保護紙撕除後再繼續以下之組裝步驟。


機電零件

Arduino nano 開發板 * 1
Arduino UNO nano 兩用擴展板 * 1


您也可以使用 UNO 及其擴展板



SG90 伺服馬達 * 4
(建議使用 MG90S * 1 + SG90 * 3)



杜邦線 公母頭 * 3




二、開始組裝

組裝前注意事項:

1.本套件所有螺絲孔都是 M3 孔,但孔有2種,一種是鬆孔,另一種是緊孔(自攻孔)。鬆孔在螺絲穿過後機構件仍可以鬆動;緊孔在螺絲穿過後機構件無法鬆動,在穿螺絲時請注意方向。

因為機器在加工時會有誤差,如果在鎖緊孔時發現太鬆,請在緊孔內塗抹樹脂再鎖螺絲,或是在鎖好螺絲後用快乾膠點黏緊孔處。


2.為了我們在組裝時方便識別起見,需要先定義一下機械手臂各部位名稱。把手臂放在胸前,夾子跟眼睛的方向一樣朝前放置,機身左側的馬達稱為左馬達,右側馬達稱為右馬達,底部的馬達稱為底座馬達,而夾子處的馬達理所當然稱為夾子馬達。

3.***最重要是這件事*** 在將機構件固定到馬達時,建議夾子馬達、右馬達和底座馬達需上電並固定在 90 度;左側馬達,需上電並固定在 170 度(註A),而後再鎖緊螺絲。

註A:

有些 SG90 伺服馬達無法轉到 180 度,如果程式持續要求它要 180 度,馬達有可能會燒毀。建議在組裝前先了解一下伺服馬達的可轉動範圍,而此處的 170 度只是一個保守的安全角度,並非絕對。

指定馬達轉動到特定角度程式詳 http://pizgchen.blogspot.tw/2016/09/mearmrover.html


Step1 這個步驟我們要來組裝夾子。



準備下列機構件



使用 2 只 M3x8 螺絲鎖住夾子。
提醒您:此處不可鎖緊,應讓夾子能自由轉動。


這是背面


使用 4 只 M3x10 螺絲將下列機構件鎖住。
提醒您:靠進夾子那 2 支螺絲不可鎖過頭,應讓夾子能自由轉動。



這是側面


這是另一面


使用 1 只 M3x8 螺絲將下列機構件鎖住。
提醒您:此處不可鎖緊,應讓它能自由轉動。



取出下列機構件
提醒您:下方這個機構件有 2 片,此處應取用較短那片。


將伺服馬達搖臂塑膠片置入大孔內


在另一面用伺服馬達所附的自攻螺絲固定


使用下列程式將伺服馬達轉動到90度位置

#include <Servo.h>
Servo myservo;  // create servo object to control a servo

void setup() {
  myservo.attach(9);  // attaches the servo on pin 9 to the servo object
  myservo.write(90);
}

void loop() {
}


在伺服馬達上電的情況下,將之前組件套入伺服馬達,並用伺服馬達所附之小螺絲將它鎖緊。

然後再使用 1 只 M3x8 螺絲將機構件另一端鎖住。
提醒您:此處不可鎖緊,應讓它能自由轉動。


這是完成的樣貌



Step2 為夾子裝上 3 根桿件,如下圖。


準備下列機構件


取出下列機構件


使用 M3x10 螺絲將桿子鎖上。
提醒您:此處不能鎖太緊,要讓它能夠靈活轉動。


取出下列機構件


使用 M3x10 螺絲將較細那端鎖到夾子的側孔。
提醒您:此處不能鎖太緊,要讓它能夠靈活轉動。


取出下列機構件


使用 M3x10 螺絲將桿件鎖到夾子的側孔。
提醒您:此處不能鎖太緊,要讓它能夠靈活轉動。


這是完成的樣貌



Step3 組裝右側板,如下圖。



使用 M2 螺絲和螺帽將伺服馬達鎖緊。
提醒您:此處請務必鎖緊。


這是背面


準備下列機構件


使用 M3x8 螺絲將桿件鎖到右側板。
提醒您:此處不能鎖太緊,要讓它能夠靈活轉動。


使用 M3x10 螺絲將桿件和墊片鎖到三角片(墊片被夾在桿件和三角片之間)。
提醒您:
1. 注意三角片之正確孔位。
2. 此處不能鎖太緊,要讓它能夠靈活轉動。


這是背面



Step4 組裝左側板,如下圖。


使用 M2 螺絲和螺帽將伺服馬達鎖緊。
提醒您:此處請務必鎖緊。


這是背面


準備下列機構件


取出下列機構件


將伺服馬達搖臂塑膠片置入大孔內


在另一面用伺服馬達所附的自攻螺絲固定


使用下列程式將伺服馬達轉動到170度位置

#include <Servo.h>
Servo myservo;  // create servo object to control a servo

void setup() {
  myservo.attach(9);  // attaches the servo on pin 9 to the servo object
  myservo.write(170);
}

void loop() {
}


在伺服馬達上電的情況下,將之前組件套入伺服馬達,並用伺服馬達所附之小螺絲將它鎖緊。


然後再使用 1 只 M3x8 螺絲將機構件另一端鎖住。
提醒您:此處不可鎖緊,應讓它能自由轉動。



Step5 組合 H 形組件,如下圖。



準備下列機構件



將伺服馬達搖臂塑膠片置入大孔內,並在背面用伺服馬達所附的自攻螺絲固定


這是背面



使用下列程式將伺服馬達轉動到90度位置

#include <Servo.h>
Servo myservo;  // create servo object to control a servo

void setup() {
  myservo.attach(9);  // attaches the servo on pin 9 to the servo object
  myservo.write(90);
}

void loop() {
}


在伺服馬達上電的情況下,將之前組件套入伺服馬達,並用伺服馬達所附之小螺絲將它鎖緊。


使用 1 只 M3x12 螺絲和螺帽將機構件鎖住。


使用 1 只 M3x12 螺絲和螺帽將機構件鎖住。



Step6 組裝基座,如下圖。


準備下列機構件



將伺服馬達底部穿過機構件,杜邦線由背面穿出


使用 4 只 M3x12 螺絲和螺帽將伺服馬達鎖緊。


使用 4 只尼龍柱和螺帽將機構件鎖緊。


準備下列機構件和材料


使用伺服馬達所附之 2 只大螺絲將它鎖緊。
提醒您:此處壓克力板上的小箭頭是朝上的。


這是背面


準備下列組件


使用下列程式將伺服馬達轉動到90度位置

#include <Servo.h>
Servo myservo;  // create servo object to control a servo

void setup() {
  myservo.attach(9);  // attaches the servo on pin 9 to the servo object
  myservo.write(90);
}

void loop() {
}


在伺服馬達上電的情況下,將之前組件套入伺服馬達,並用伺服馬達所附之小螺絲將它鎖緊。
提醒您:此處壓克力板上的小箭頭是朝左的。



Step7 組合右側板與基座。



準備下列機構件



將它組合成工字形


這是它的右視圖
提醒您:山形板除外的那兩片壓克力板的孔洞不是在板子中間。


這是它的左視圖


將山形組件插入右側板


使用 1 只 M3x12 螺絲和螺帽將它鎖緊。


翻到另一側,使用 1 只 M3x12 螺絲和螺帽將它鎖緊。


將上面部件安裝到基板上




Step8 組合左側板與基座。

將左側板蓋上

使用 1 只 M3x12 螺絲和螺帽將它鎖緊。


翻到另一側,使用 1 只 M3x12 螺絲和螺帽將它鎖緊。



Step9 組合夾子與 H 形部件。

使用 1 只 M3x8 螺絲將它鎖住。
提醒您:此處不可鎖緊,應讓它能自由轉動。


使用 1 只 M3x8 螺絲將另一支桿件鎖上。
提醒您:此處不可鎖緊,應讓它能自由轉動。


使用 1 只 M3x12 螺絲依序將三角片、爪子桿件和 H 形部件鎖住。
提醒您:此處不可鎖緊,應讓它能自由轉動。


翻轉到背面,使用 1 只 M3x8 螺絲將另一支桿件鎖上。
提醒您:此處不可鎖緊,應讓它能自由轉動。



Step9 將整組夾子固定到底板。

使用 4 只 M3x8 螺絲將尼龍柱固定到底板。


這是背面



Step10 組裝控制板。

準備 Arduino Nano 開發板和擴展板


將 Nano 插入擴展板


使用 4 只 M3x12 螺絲和螺帽將 Arduino 控制板固定到底板。


將夾子的伺服馬達杜邦線穿過 H 形部件的圓孔,
並將 3P 公母頭杜邦線的公頭與夾子的伺服馬達杜邦線母頭接在一起,作為延長使用。



Step11 將 Arduino 控制板固定到底板(為了清楚展示,我先暫時移除機械手臂部件)。




Step11 電路接線

伺服馬達與 Nano 擴展板的接線如下:

擴展板     伺服馬達
5V            VCC
GND        GND
D2            底板馬達橘色線
D3            右側馬達橘色線
D4            左馬達橘色線
D5            夾子馬達橘色線




Step12 上傳程式


//2016-09-21 by PizG Chen
#include <Servo.h>
Servo s1,s2,s3,s4;
int b1,b2;
int v0,v1,v2,v3;
int a,a1,a2,a3,a4;

void setup() {
  Serial.begin(9600);
  s1.attach(2); // 夾子
  s2.attach(3); // 右馬達
  s3.attach(4); //左馬達
  s4.attach(5); // 基座馬達
  pinMode(6, INPUT_PULLUP);
  pinMode(7, INPUT_PULLUP);
  a=2;
  a1=90;
  a2=90;
  a3=120;
  a4=90;
}

void loop() {
  // get data
  b1 = digitalRead(6);
  v0 = analogRead(A0);
  v1 = analogRead(A1);
  b2 = digitalRead(7);
  v2 = analogRead(A2);
  v3 = analogRead(A3);

  // print data
  // turn data
  if (v3 < 340) a1 = a1 + a;
  if (v3 > 680) a1 = a1 - a;
  s1.write(a1);
  if (v2 < 340) a2 = a2 - a;
  if (v2 > 680) a2 = a2 + a;
  s2.write(a2);
  if (v1 < 340) a3 = a3 - a;
  if (v1 > 680) a3 = a3 + a;
  s3.write(a3);
  if (v0 < 340) a4 = a4 - a;
  if (v0 > 680) a4 = a4 + a;
  s4.write(a4);

  delay(100);
}



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

以下為使用搖桿控制機械手臂的範例

Step1 組裝搖桿。


準備下列機構件


將 8 只小墊圈置於搖桿孔位上。





用 8 只 M3x12 螺絲和螺帽將搖桿固定到層板。




使用 4 只 螺帽將 M3x30+6 尼龍柱固定到層板。


使用 4 只 M3x8 螺絲將尼龍柱固定到底板。



Step2 電路接線

搖桿與 Nano 擴展板的接線如下:

擴展板      左搖桿
GND         GND
5V             VCC
A0             VRX
A1             VRY
D6             SW

擴展板      右搖桿
GND         GND
5V             VCC
A2             VRX
A3             VRY
D7             SW




Step3 上傳程式

//2016-09-21 by PizG Chen
#include <Servo.h>
Servo s1,s2,s3,s4;
int b1,b2;
int v0,v1,v2,v3;
int a,a1,a2,a3,a4;

void setup() {
  Serial.begin(9600);
  s1.attach(2); // 夾子
  s2.attach(3); // 右馬達
  s3.attach(4); //左馬達
  s4.attach(5); // 基座馬達
  pinMode(6, INPUT_PULLUP);
  pinMode(7, INPUT_PULLUP);
  a=2;
  a1=90;
  a2=90;
  a3=120;
  a4=90;
}

void loop() {
  // get data
  b1 = digitalRead(6);
  v0 = analogRead(A0);
  v1 = analogRead(A1);
  b2 = digitalRead(7);
  v2 = analogRead(A2);
  v3 = analogRead(A3);

  // print data
  // turn data
  if (v3 < 340) a1 = a1 + a;
  if (v3 > 680) a1 = a1 - a;
  s1.write(a1);
  if (v2 < 340) a2 = a2 - a;
  if (v2 > 680) a2 = a2 + a;
  s2.write(a2);
  if (v1 < 340) a3 = a3 - a;
  if (v1 > 680) a3 = a3 + a;
  s3.write(a3);
  if (v0 < 340) a4 = a4 - a;
  if (v0 > 680) a4 = a4 + a;
  s4.write(a4);

  delay(100);
}

右搖桿往右手臂往右轉;往左手臂往左轉。
右搖桿往前手臂往前伸;往後手臂往後退。
左搖桿往前降低夾子高度;往後升高夾子高度。
左搖桿往右夾子閉合;往左夾子開啟。


技術資料

SG90 伺服馬達 http://www.micropik.com/PDF/SG90Servo.pdf
雙軸按鍵搖桿 http://pizgchen.blogspot.tw/2016/05/blog-post_23.html
MeArm 組裝手冊 https://ia902701.us.archive.org/19/items/mearmcontroller/MearmAssemblyInstructions.pdf


採購資訊

MeArm.Rover 機械手臂火星探險車 http://goods.ruten.com.tw/item/show?21638708796647