Cấu tạo thanh ray như hình (4.8) bên duới giúp cho cánh tay gắp di chuyển được lên
Hình 4.8. Thanh ray trượt
4.2.3.2. Xi lanh khí nén (cylinder)
Cấu tạo chi tiết của xilanh CY1B như (hình 4.9) bao gồm các phần chính sau:
Hình 4.9. Cylinder loại CY1B
1.Thân cylinder 2. Đầu cấp khí 3.Ống Cylinder
4. piston 5. thân trục piston 6. Lá bên của piston trong 7. Lá bên piston ngoài 8. Nam châm A 9. Nam châm B
10. Miếng đệm piston 11. Đai của piston 12. Đệm cao su 13. Chốt thép
Tất cả các loại Cylinder CY1B đều được gắn với tải gián tiếp qua phần thân trượt bên ngoài, piston bên trong xilanh khi được cấp khí sẽ chuyển động và truyền ra bên
ngoài qua nam châm. Khi sử dụng tải nên chú ý tới không vượt quá trọng lượng tải do nhà sản xuất đưa ra.
Model Maximum connection fitting weight (WBmax) (kg) CY1B6H 0.2
CY1B10H 0.4 CY1B30H 2.5 CY1B63H 3.0
Bảng 4.1. Các loại Cylinder CY1B
Hình 4.10. Đồ thị đặc tính làm việc của các cylinder
Đồ thị trên biểu diễn đặc tính của Cylinder model CY1B, chiều cao theo trục Y biểu diễn lực của tải, trục X biểu diễn hành trình tính từ giữa xilanh.
Hình 4.11. Van khí nén VQZ1121-5M-C4
Van đảo chiều 5/2, tác động trực tiếp bằng dòng khí nén vào từ hai phía của nòng. Van không có vị trí "không", van có đặc điểm là "nhớ" vị trí hoạt động khi không còn tín hiệu tác động.
Khi có tín hiệu khí nén 12 tác động, đẩy nòng pittong qua bên trái, lúc này cửa 1 nối với cửa 2, cửa 4 nối với cửa 5, cửa 3 bị chặn. Van sẽ giữ vị trí làm việc này cho dù tín hiệu khí nén 12 không còn tác động nữa.
Cho đến khi có tín hiệu khí nén 14 tác động, nòng pittong bị đẩy qua bên phải, lúc này làm cho cửa 1 nối với cửa 4, cửa 2 nối với cửa 3, cửa 5 bị chặn. Van sẽ giữ vị trí hoạt động này cho dù dòng khí nén 14 không còn tác động nữa.
4.2.3.4. Kẹp khí nén MHY2-10D
Hình 4.12. Kẹp khí nén MHY2-10D
4.2.3.5. Động cơ SERVO MG996R điều khiển cánh tay gắp
Động cơservo có nhiều kiểu dáng và kích thước, được sử dụng trong nhiều máy khác nhau, từ máy tiện điều khiển bằng máy tính cho đến các mô hình máy bay và xe hơi. Ứng dụng mới nhất của động cơservo là trong các robot, cùng loại với các động cơ dùng trong mô hình máy bay và xe hơi.
Hình 4.13. Động cơ RC SERVO MG996R + MG 996R RoHS standard weight 55.0 g + Dimension 40.7*19.7*42.9mm
+ Stall torque 9.4kg/cm(4.8v),11kg/(6v)
+ Operating speed 0.20 sec/60 degree(4.8v),0.17 sec/60 degree(6v) + Operating voltage 4.8-7.2v
+ Temperature range 0-55ºC + Dead band width 5us
Cấu tạo và nguyên lý SERVO MG996R
Hình 4.15. Cấu tạo bên trong động cơ Servo 1. Động cơ 6. Vôn kế
2. Board mạch điều khiển 7. Cơ cấu bánh răng 3. Dây cấp nguồn 8. Bánh truyền động 4. Dây điều khiển 9. Vỏ động cơ 5. Dây nối đất 10. Chip điều khiển
Bên trong của một động cơ R/C Servo bao gồm các phần chính một động cơ, một chuỗi các bánh răng giảm tốc, một mạch điều khiển và một vôn kế. Động cơ và vôn kế nối với mạch điều khiển tạo thành mạch hồi tiếp vòng kín. Cả mạch điều khiển và động cơ đều được cấp nguồn DC (thường từ 4.8 – 7.2 V). Để quay động cơ, tín hiệu số được gới tới mạch điều khiển . Tín hiệu này khởi động động cơ , thông qua chuỗi bánh răng , nối với vôn kế. Vị trí của trục vôn kế cho biết vị trí trục ra của servo. Khi vôn kế đạt được vị trí mong muốn, mạch điều khiển sẽ tắt động cơ. Động cơ servo được thiết kế để quay có giới hạn chứ không phải quay liên tục như động cơ DC hay động cơ bước. Mặc dù ta có thể chỉnh động cơ servo R/C quay liên tục nhưng công dụng chính của động cơ servo là đạt được góc quay chính xác trong khoảng từ 0 – 180 độ . Việc điều khiển này có thể ứng dụng để lái robot, di chuyển các tay máy lên xuống, quay một cảm biến để quét khắp phòng…
+ Servo và điều biên độ rộng xung
Trục của động cơ servo R/C được định vị nhờ vào kỹ thuật gọi là điều biến độ rộng xung (PWM). Trong hệ thống này, servo là đáp ứng của một dãy các xung số ổn định. Cụ thể hơn, mạch điều khiển là đáp ứng của một tín hiệu số có các xung biến đổi từ 1– 2 ms. Các xung này được gởi đi 50 lần/giây. Chú ý rằng không phải số xung trong một giây điều khiển servo mà là chiều dài của các xung. Servo đòi hỏi khoảng 30 – 60 xung/giây. Nếu số này qua thấp, độ chính xác và công suất để duy trì servo sẽ giảm.Với độ dài xung 1 ms, servo được điều khiển quay theo một chiều (giả sử là chiều kim đồng hồ) với góc 0º
Hình 4.16. Điều khiển vị trí trục bằng điều xung PWM
Với độ dài xung 1.5ms thì động cơ quay góc 90º, với 2ms servo quay theo chiều ngược lại 180º. Kỹ thuật này còn được gọi là tỉ lệ số - chuyển động của servo tỉ lệ với tín hiệu số điều khiển. Công suất cung cấp cho động cơ bên trong servo cũng tỉ lệ với độ lệch giữa vị trí hiện tại của trục ra với vị trí nó cần đến. Nếu servo ở gần vị trí đích, động cơ được truyền động với tốc độ thấp. Điều này đảm bảo rằng động cơ không vượt quá điểm định đến. Nhưng nếu servo ở xa vị trí đích nó sẽ được truyền động với vận tốc tối đa để đến đích càng nhanh càng tốt. Khi trục ra đến vị trí mong muốn, động
1.5ms
2.0ms
1ms
servo Độ dài xung
cơ giảm tốc. Quá trình tưởng chừng như phức tạp này diễn ra trong khoảng thời gian rất ngắn - một servo trung bình có thể quay 60º trong vòng ¼ - ½ giây.Vì độ dài xung có thể thay đổi tùy theo hãng chế tạo.
+ Vai trò của vôn kế
Vôn kế trong servo giữ vai trò chính trong việc cho phép định vị trí của trục ra.Vôn kế được gắn vào trục ra (trong một vài servo,vôn kế chính là trục ra). Bằng cách này, vị trí của Vôn kế phản ánh chính xác vị trí trục ra của servo. Ta đã biết Vôn kế hoạt động nhờ cung cấp một điện áp biến thiên cho mạch điều khiển, Khi cần chạy bên trong vôn kế chuyển động, điện thế sẽ thay đổi. Mạch điều khiển trong servo so sánh điện thế này với độ dài các xung số đưa vào và phát “tín hiệu sai số” nếu điện thế không đúng . Tín hiệu sai số này tỉ lệ với độ lệch giữa vị trí của Vôn kế và độ dài của tín hiệu vào. Mạch điều khiển sẽ kết hợp tín hiệu sai số này để quay động cơ. Khi điện thế của Vôn kế và độ dài các xung số bằng nhau, tín hiệu sai số được loại bỏ và động cơ ngừng.
Hình 4.18. Vôn kế động cơ Servo
Khi Vôn kế quay, cần chạy di chuyển dọc theo chiếu dài thanh điện trở.Tín hiệu ra của Vôn kế là một điện thế biến thiên từ 0 -5V Vì vậy để điều khiển được động cơ thì vấn đề cốt lõi chính là làm sao ta tạo ra được các xung có tần số 50hz và có thời gian lên trong tầm nhỏ hơn 2ms.Ta có 3 cách tạo xung như sau:
* Dùng hàm delay
* Dùng biến đếm và so sánh * Dùng module PWM
Dùng hàm delay : một chân I/O của vi điều khiển xuất ra mức logic 1, sau đó delay 1 khoảng thời gian a (chính là thời gian mức cao của xung điều khiển động cơ mong muốn).
Tiếp theo đó kéo chân I/O đó xuống mức 0. Delay thêm 1 khoảng thời gian nữa cho đủ 20ms. Đây là giải thuật đơn giản, thiết kế phần cứng sẽ gọn nhẹ vì chỉdùng các chân I/O là đủ khả năng điều khiển được động cơ. Mỗi chân I/O tương ứng với 1 chân điều khiển động cơ. Chi phí thi công mạch rất thấp. Tuy nhiên trong giải thuật này hầu hết thời gian vi điều khiển chẳng làm gì cả ( và cũng chẳng có khả năng xử lý công việc nào cả ) nên muốn sử dụng phương án này ta cần có thêm phần giao tiếp nó. Tức có nghĩa là thiết kế phần điều khiển RC SERVO thành 1 module chuyên dùng để delay và có thêm 1 cổng để giao tiếp với module này . Bên cạnh đó nếu dùng nhiều động cơ ta phải so sánh các giá trị delay với nhau để biết được delay cho động cơ nào trước, cho động cơ nào sau. Vấn đề này gây khó khăn khi lập trình khi mà ta không thể viết thuật toán để sắp xếp được dữ liệu (vì hàm delay sử dụng quá nhiều ).
Dùng giải thuật đếm và so sánh : ý tưởng của giải thuật này là tạo 1 biến đếm
khoảng 10us và liên tục đếm cho đến 20ms thì reset biến đếm. Khi đó sẽ cho chân điều khiển RC SERVO lên 1. Biến đếm này sẽ được so sánh với các số, chính là các giá trị các độ rộng xung lên của các xung điều khiển động cơ. Nếu 1 so sánh >= xảy ra chân điều khiển sẽ được set xuống 0. Ưu điểm của giải thuật này là dễ dàng cập nhật các số dùng để so sánh ( tức các góc quay mong muốn của động cơ ) . Nhưng khi chạy nhiều động cơ vì có nhiều so sánh diễn ra mà hàm ngắt dùng để tăng biến đếm lại có thời gian khá nhỏ nên sẽ làm cho ngõ ra điều khiển động cơ sai lệch, không chính xác . Điều này khiến các động cơ sẽ bị rung lắc tại vị trí mong muốn.
Dùng module PWM của vi điều khiển : đây là phương án cho ra xung ổn định nhất đồng thời dễ dàng cho việc cập nhật các giá trị điều khiển . Nhưng bắt buộc ta phải sử dụng kênh PWM với độ phân giải tối thiểu là 10 bits để đạt độ mịn tương đối chấp nhận được khi thay đổi các góc quay của động cơ . Vì bản chất xung điều khiển là các xung có chu kỳ lớn mà duty cycle lại bé ( nhỏ hơn 10%) nên độ phân giải của kênh PWM phải lớn để mới thỏa mãn được 2 điều trên.
4.2.3.6. Khối điều khiển IC 89C52
Vi điều khiển AT 89C52
Hình 4.19. Sơ đồ chân vi điều khiển AT89C52
- Chân VCC: Chân số 40 là VCC cấp điện áp nguồn cho vi điều khiển. Nguồn điện cấp
là +5V±0.5.
- Chân GND: Chân số 20 nối GND (hay nối Mass).
- Port 0 (P0): Port 0 gồm 8 chân (từ chân 32 đến 39) có hai chức năng:
- Chức năng xuất/nhập: Các chân này được dùng để nhận tín hiệu từ bên ngoài vào để xử lí, hoặc dùng để xuất tín hiệu ra bên ngoài, chẳng hạn xuất tín hiệu để điều khiển led đơn sáng tắt.
- Chức năng là bus dữ liệu và bus địa chỉ (AD7-AD0) : 8 chân này (hoặc Port 0) còn làm nhiệm vụ lấy dữ liệu từ ROM hoặc RAM ngoại (nếu có kết nối với bộ nhớ ngoài), đồng thời Port 0 còn được dùng để định địa chỉ của bộ nhớ ngoài.
- Port 1 (P1): Port P1 gồm 8 chân (từ chân 1 đến chân 8), chỉ có chức năng làm các
đường xuất/nhập, không có chức năng khác.
* Chức năng xuất/nhập.
* Chức năng là bus địa chỉ cao (A8-A15): khi kết nối với bộ nhớ ngoài có
dung lượng lớn, cần 2 byte để định địa chỉ của bộ nhớ, byte thấp do P0 đảm nhận, byte cao do P2 này đảm nhận.
- Port 3 (P3) : Port 3 gồm 8 chân (từ chân 10 đến 17) * Chức năng xuất/nhập.
* Với mỗi chân có một chức năng riêng thứ hai như trong bảng sau:
Bit Tên Chức năng
P3.0 RXD Ngõ vào xuất nhập dữ liệu nối tiếp P3.1 TXD Ngõ xuất dữ liệu nối tiếp
P3.2 INTO Ngõ vào ngắt cứng thứ 0
P3.4 T0 Ngõ vào của timer/counter thứ 0 P3.5 T1 Ngõ vào của timer/couter thứ 1
P3.6 WR Ngõ điều khiển ghi dữ liệu lên bộ nhớ ngoài P3.7 RD Ngõ điều khiển đọc dữ liệu từ bộ nhớ ngoài BẢNG 4.2. Chức năng các chân port 3
- Chân RESET (RST): Ngõ vào RST ở chân 9 là ngõ vào Reset dùng để thiết lập trạng thái ban đầu cho vi điều khiển. Hệ thống sẽ được thiết lập lại các giá trị ban đầu nếu ngõ này ở mức 1 tối thiểu 2 chu kì máy.
- Chân XTAL1 và XTAL2: Hai chân này có vị trí chân là 18 và 19 được sử dụng để
nhận nguồn xung clock từ bên ngoài để hoạt động, thường được ghép nối với thạch anh và các tụ để tạo nguồn xung clock ổn định.
- Chân cho phép bộ nhớ chương trình PSEN:
* PSEN ( program store enable) tín hiệu được xuất ra ở chân 29 dùng để truy xuất bộ nhớ chương trình ngoài. Chân này thường được nối với chân OE (output enable) của ROM ngoài.
* Khi vi điều khiển làm việc với bộ nhớ chương trình ngoài, chân này phát ra tín hiệu kích hoạt ở mức thấp và được kích hoạt 2 lần trong một chu kì máy.
* Khi thực thi một chương trình ở ROM nội, chân này được duy trì ở mức logic không tích cực (logic 1).
* Không cần kết nối chân này khi không sử dụng đến - Chân ALE (chân cho phép chốt địa chỉ-chân 30):
* Khi Vi điều khiển truy xuất bộ nhớ từ bên ngoài, port 0 vừa có chức năng là bus địa chỉ, vừa có chức năng là bus dữ liệu do đó phải tách các đường dữ liệu và địa chỉ. Tín hiệu ở chân ALE dùng làm tín hiệu điều khiển để giải đa hợp các đường địa chỉ và các đường dữ liệu khi kết nối chúng với IC chốt.
* Các xung tín hiệu ALE có tốc độ bằng 1/6 lần tần số dao động đưa vào Vi điều khiển, như vậy có thể dùng tín hiệu ở ngõ ra ALE làm xung clock cung cấp cho các phần khác của hệ thống.
* Khi không sử dụng có thể bỏ trống chân này.
- Chân EA: Dùng để xác định chương trình thực hiện được lấy từ ROM nội hay ROM ngoại.
* Khi EA nối với logic 1(+5V) thì Vi điều khiển thực hiện chương trình lấy từ bộ nhớ nội.
* Khi EA nối với logic 0(0V) thì Vi điều khiển thực hiện chương trình lấy từ bộ nhớ ngoại.
Sơ đồ tổng quát mạch điều khiển
Khối điều khiển Trung tâm PLC S7-1200 Khối AT89C52 Khối cảm biến màu sắc Khối nguồn Mạch công suất Khối cảm biến vật
4.2.3.7. Khối cảm biến màu sắc dùng TCS230
Phần cảm biến màu sắc dùng TCS 230
Hình 4.20. Sơ đồ chân của TCS 230
NAME NO. I/O DESCRIPTION
GND 4 Power supply ground. All voltages are
referenced to GND.
OE 3 I Enable for fo (active low).
OUT 6 O Output frequency (fo)
S0.S1 1,2 I Output frequency scaling selection inputs.
S2,S3 7,8 I Photodiode type selection inputs.
VDD 5 Supply voltage
S0 S1 OUTPUT FREQUENCY
SCALING (fo)
S2 S3 PHOTODIODE TYPE
L L Power down L L Red
L H 2% L H BLUE
H L 20% H L Clear (no filter)
H H 100% H H GREEN
Cảm biến màu là một thiết bị được sử dụng để “đọc” màu sắc của ánh sáng. Có nhiều loại cảm biến màu khác nhau nhưng nhìn chung chúng đều hoạt động theo một nguyên lý cơ bản. Cấu tạo chung của các cảm biến màu TCS 230 là chúng gồm các photodiode để thu nhận ánh sáng và để thu được màu sắc như mong muốn. Mỗi một tế bào của cảm biến sẽ được phủ một tấm lọc màu, ví dụ như một tấm lọc màu xanh sẽ chỉ cho qua những tia sáng xanh hay tấm lọc màu đỏ sẽ chỉ cho qua các tia màu đỏ…Và để có thể nhận dạng được màu sắc thì sẽ có bộ chuyển đổi từ tín hiệu quang sang tín hiệu điện áp hay tần số.
Cảm biến màu được ứng dụng trong rất nhiều thiết bị như là camera, màn hình màu, trong các dây chuyền phân loại sản phẩm dựa theo màu sắc như phân loại và kiểm tra led, điều khiển quá trình máy dán nhãn và máy in… và đặc biệt là trong chế tạo các thiết bị đo màu.
Trong các thiết bị đo màu thì các cảm biến màu thường hay sử dụng là cảm biến màu RGB. Cảm biến màu RGB sử dụng các tấm lọc màu Red Green và Blue để có thể