Computerized Pick n Place Robot
 89C51 based Pick n Place Robot
 Web-Cam Controller in VC++
 Remote controlled moon walker
 Computerize wireless PnP Robot
 computerized wireless Robo-Vehicle

-:   Computerized Pick n Place Robot using VC++   :-

Abstract:-   This is very basic robotic mechanism and probably nice to start with. The name itself suggest its application that it will pick and object from one place and put it at any other place. This kind of robots are found everywhere mostly in industries with same basic application.

Here this robot has two degree of motion (1) angular motion in horizontal plane (2) linear motion in vertical plane. It requires three different motors

  • First motor is AC motor (2 RPM @ 230 V 50Hz ) used to rotate robotic hand horizontal plane
  • Second motor is DC geared motor (5 RPM @ 12 V DC) used to move robotic hand Up-Down
  • Third motor is again DC geared motor (10 RPM @ 5 V DC) used for griping the object

All the motions are totally controlled by computer through a software written in VC++. 

Note:- I am very much thankful to my three students (3rd sem. EC diploma, Govt. Polytechnic Amreli ) Sanjay, Vijay and Kaushik Who have done a great job in developing this mechanism.  

                                                 ___________________________________________________ 

 Complete robot is combination of three subsections

1.     Robotic mechanism

2.       Hardware driver circuit

3.       Controlling software in VC++

Obviously, the main part will be the mechanism that actually forms the body of robot means moving hand that picks or places any object.

Function of hardware driver circuit is to drive all three motors and actuates all the motions of robot

Controlling software is also an important part of this robot because it will take care of all controlling actions. The main functions of this section are

  • Rotate the hand to one specific angle from where the object should be picked or to be placed
  • Move the hand up or down to pick or place the object
  • Open or close the grip of hand depending upon size of object

First, let us start with mechanical part  

Robotic Mechanism:-      

The figure given below shows the 3-D view of mechanism

The complete mechanism is made up of wooden sheets only the grips are made up of steel. There are so many parts so let us

The complete mechanism is made up of wooden sheets only the grips are made up of steel. There are so many parts so let us understood them one by one.

Fixed base:-Fixed base provide complete housing to driving circuit, AC Motor (ACM1) and all the connections. It provides the platform to moving and rotating hand

Rotating wheel:- It provides housing to moving hand and DC gear motor (DCM1). Its freely rotating platform which rotates hand in complete 360 degree circle. It is directly coupled to shaft of ACM1.   

Moving hand:- It is coupled to DCM1 with the platform provided on rotating wheel. It is allowed to move up & down freely max up to 90 degree. At front end of hand there are two grips one is fixed (lower) grip and another is sliding (upper) grip. Sliding grip is allowed to slide forward and backward with the use of second DC gear motor (DCM2). The back end of hand provides housing to DCM2 which is directly coupled to sliding grip. Here the angular (circular) moment of motor is converted in to linear movement of sliding grip by engraving grooves on wooden sliding grip which exactly match with gear teeth.       

AC Motor (ACM1):- Function of this motor is to rotate whole rotating platform up to some specific angle. This motor has an exactly calibrated speed of 2 RPM (revolution per minute) with applied voltage of 230 VAC and frequency of 50 Hz. So we can calibrate the angle of rotation very easily

2 revolution = 2*360 degree = 720 degree, means in one minute motor will rotate 720 degree.

Now in 1 minute = 60 sec motor rotates 720 degree so let us calculate how much it will rotate in 1 sec.

Sec                              degree of rotation

60                                       720

1                                         720 / 60 = 12 degree

So in 1 sec motor will rotate exactly 12 degree. Means if you give the supply for 1 sec motor will rotate only 12 degree. So you can easily select the steps for rotating motor like in 30 degree (30, 60, 90,...) 45 degree (45, 90, 135,...)   

DC Gear Motor (DCM1):- It is used to move hand up and down in the limit of 90 degree angle. The inbuilt gears reduces the speed of motor to round about 5 RPM at 12 VDC. So calculating the angle of rotation in 1 sec

Sec                              degree of rotation

60                                  5*360 = 1800

1                                   1800 / 60 = 30 degree

Means if you give the supply for 1 sec motor will rotate only 30 degree. You can adjust maximum 3 steps 30, 60 and 90 degree

DC Gear Motor (DCM2):- It is used to open or close the grip to catch the object. You can increase or decrease the opening of grip depending upon size of object. Inbuilt gear turn ratio gives speed of round about 10 RPM. Let us again calculate angle of rotation for 1 sec

Sec                              degree of rotation

60                                  10*360 = 3600

1                                   3600 / 60 = 60 degree

Here motor will rotate 60 degree if supply is given for 1 sec. The groves are engraved such a way that when motor rotates 60 degree the grip moves around 1-2 cm. So ultimately you can open or close the grip in step of 1 cm(1, 2, 3...), 2 cm (2, 4, 6...).  

Hardware Driver Circuit:-

       

The above figure shows the schematic of driver circuit. Its a dingle chip circuit and IC UNL2003A is the main component of it. Other components are 25 pin D-Type female connector, single C/O relay (RL1, RL2, RL3, RL5) and double C/O relay (RL4, RL6).

Connections:-The outputs of of connector D0 to D6 are directly connected to inputs of UNL2003A and the outputs of chip are given to one of the coil terminal to each relay. The other coil terminal of each relay is directly connected to 12 V Vcc supply. The 'common terminal' (C) of RL1 is connected to 230 VAC and ' Normally Open ' terminal (N/O) is connected with 'C' terminal of RL2. Both the terminals of RL2 (N/C, N/O) are connected with ACM1. For both the relays RL4 & RL6 alternate N/C  & N/O terminals are shorted together. One of these pair is connected with ground and other pair is given a DC supply of 12 V and 5 V through RL3 and RL5 respectively.

Operation:- The chip UNL2003A consist of 7 Darlington pairs and whenever it is given a high logic at its input it will provide a low logic at its respective output. So whenever you apply a high logic through PC to the chip it will give corresponding low output. Because the outputs are connected with relay coil terminals relays will energized due to current passes through coil. When relay energizes its connection changes from N/C to N/O and it will perform some specific task. The table given below shows the function of each relay in the circuit

 Relay

 Its Function in circuit 

 RL1

 To Start or stop rotating ACM1

 RL2

 To change direction of ACM1

RL3

 To Start or stop rotating DCM1

RL4

 To change direction of DCM1

RL5

 To Start or stop rotating DCM2

RL6

 To change direction of DCM2

      

Now lets move on to the last (but not the least) topic of the project and that is controlling software written in VC++ programming language. Here I am considering that you are much familiar with VC++ (if not then pls refer "DC motor control using VC++" & "Stepper motor control using VC++"). So lets don't waste any time and directly start with design of project.

The above figure shows the application prepared on platform of VC++. It has 14 different objects 7 push buttons 6 radio buttons and one group box. The functions and properties of each object is explained in table given below.

Sr. No.

Object

Properties

Function

1

Group Box

ID:- IDC_Angle

Provides grouping to all the radio buttons

Caption:- Select an angle of rotation

2

Radio button 1

ID: IDC_RADIO1

Selects the rotation angle of AC Motor to 30 degree.

Caption: 30 deg.

Group option: Checked

3

Radio button 2

ID: IDC_RADIO2

Selects the rotation angle of AC Motor to 60 degree.

Caption: 60 deg.

4

Radio button 3

ID: IDC_RADIO3

Selects the rotation angle of AC Motor to 90 degree.

Caption: 90 deg.

5

Radio button 4

ID: IDC_RADIO4

Selects the rotation angle of AC Motor to 120 degree.

Caption: 120 deg.

6

Radio button 5

ID: IDC_RADIO5

Selects the rotation angle of AC Motor to 150 degree.

Caption: 150 deg.

7

Radio button 6

ID: IDC_RADIO7

Selects the rotation angle of AC Motor to 180 degree.

Caption: 180 deg.

8

Push button 1

ID: IDC_CL

Rotate AC Motor in clockwise direction

Caption: Rotate Clockwise

9

Push button 2

ID: IDC_ACLK

Rotate AC Motor in anticlockwise direction

Caption: Rotate Anticlockwise

10

Push button 3

ID: IDC_UP

Move the Hand of robot in upward direction

Caption: Move hand Up

11

Push button 4

ID: IDC_DWN

Move the Hand of robot in downward direction

Caption: Move hand down

12

Push button 5

ID: IDC_OPN

Open the grip of hand

Caption: Open Grip

13

Push button 6

ID: IDC_CLOS

Close the grip of hand

Caption: Close Grip

14

Push Button 7

ID: IDC_XIT

Exit from the application

Caption: Exit the Program

 

 

 

 

 After going through design lets move to operation of the program.

Operation:- All the radio buttons selects different rotating angles (from 30 - 180 degree) for AC Motor (ACM1). As we know if we give the supply to ACM1 for 1 second then it will rotate 12 degree. So to rotate in steps of 30 degree we have to give supply in multiple of 2.5 second. So actually all these radio buttons will selects desired delay (either 2.5 sec or 5 sec, 7.5 sec... likewise) for which ACM1 will be given the AC supply.

Rotate clockwise / anticlockwise button will rotate ACM1 clockwise / anticlockwise. Clockwise button will switch on the relay RL1 for the time delay selected by radio buttons and same way anticlockwise button will switch on two relays RL1 & RL2 at a time so that ACM1 will rotate in another direction.

Move hand Up/Down buttons will switch on RL3 / RL3 & RL4 for 1/2 second so that DCM1 will either rotate clockwise or anticlockwise and move the hand up or down.

Open / close grip buttons will switch on RL5 / RL5 & RL6 for 1/2 second so that DCM2 will either rotate clockwise or anticlockwise and move the sliding grip forward or backward to open or close the grip.

One more functionality is added that if anyone wants to rotate ACM1 to any different angle like 45 degree then he can do it by moving mouse with holding Left / Right mouse button down. Motor will rotate till mouse moves.

The functions are attached with every buttons. Click here to see the code

All the projects are designed and developed by sight owner and they are thoroughly tested by him. ©Copyrights Ashutosh Bhatt 2008-09. All rights reserved.