Engineers Garage

  • Projects and Tutorials
    • Electronic Projects
      • 8051
      • Arduino
      • ARM
      • AVR
      • PIC
      • Raspberry pi
      • STM32
    • Tutorials
    • Circuit Design
    • Project Videos
    • Components
  • Articles
    • Tech Articles
    • Insight
    • Invention Stories
    • How to
    • What Is
  • News
    • Electronic Products News
    • DIY Reviews
    • Guest Post
  • Forums
    • EDABoard.com
    • Electro-Tech-Online
    • EG Forum Archive
  • Digi-Key Store
    • Cables, Wires
    • Connectors, Interconnect
    • Discrete
    • Electromechanical
    • Embedded Computers
    • Enclosures, Hardware, Office
    • Integrated Circuits (ICs)
    • Isolators
    • LED/Optoelectronics
    • Passive
    • Power, Circuit Protection
    • Programmers
    • RF, Wireless
    • Semiconductors
    • Sensors, Transducers
    • Test Products
    • Tools
  • EE Resources
    • DesignFast
    • LEAP Awards
    • Oscilloscope Product Finder
    • White Papers
    • Webinars
  • EE Learning Center
  • Women in Engineering

Computerized Pick n Place Robot

By Ashutosh Bhatt

The complete Pick and Place 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 robotic arm 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

Computerized Pick n Place Robot

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). It’s 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×360o = 1800o

1                                   1800 / 60 = 30o

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×360o = 3600o

 1                                   3600 / 60 = 60o

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

Hardware Driver Circuit

The figure in circuit tab1 shows the schematic of driver circuit. It’s a single 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 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

Software in VC++

Software Program in VC++

Computerized Pick n Place Robot

Software is written in VC++ programming language. Here I am considering that you are much familiar with VC++. So I am not discussing here how the application is created and designed in VC++. Here is the application.

It has 14 different objects

{C}{C}{C}{C}{C}{C}·         {C}{C}{C}{C}{C}{C}7 push buttons

{C}{C}{C}{C}{C}{C}·         {C}{C}{C}{C}{C}{C}6 radio buttons

{C}{C}{C}{C}{C}{C}·         {C}{C}{C}{C}{C}{C}1 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 let’s move to operation of the program.

Operation: – All the radio buttons selects different rotating angles (from 30 – 180o) for AC Motor (ACM1). As we know if we give the supply to ACM1 for 1 second then it will rotate 12o. So to rotate in steps of 30o 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.

{C}{C}{C}{C}{C}{C}·         {C}{C}{C}{C}{C}{C}Clockwise button will switch on the relay RL1 for the time delay selected by radio buttons

{C}{C}{C}{C}{C}{C}·         {C}{C}{C}{C}{C}{C}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 or RL3 & RL4 together for 0.5 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 or RL5 & RL6 together for 0.5 second so that DCM2 will either rotate clockwise or anticlockwise or 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.

 

Project Source Code

 

Project Source Code

 

 

###


                      

 

void CMyroboDlg::OnClk()
     {
         // TODO: Add your control notification handler code here
         UpdateData(TRUE);
         switch(m_angle)
             {
                 case 0:
                     {
                         dely = 2500;
                         break;
                     }
                 case 1:
                     {
                         dely = 5000;
                         break;
                     }
                 case 2:
                     {
                         dely = 7500;
                         break;
                     }
                 case 3:
                     {
                         dely = 10000;
                         break;
                     }
                 case 4:
                     {
                         dely = 12500;
                         break;
                     }
                 case 5:
                     {
                         dely = 15000;
                         break;
                     }
             }
         UpdateData(FALSE);
         _outp(0x0378,0x01);
         Sleep(dely);
         _outp(0x0378,0x00);
     }
 void CMyroboDlg::OnAclk()
     {
         // TODO: Add your control notification handler code here
         UpdateData(TRUE);

        switch(m_angle)
             {
                 case 0:
                     {
                         dely = 2500;
                         break;

                    }
                 case 1:
                     {
                         dely = 5000;
                         break;
                     }
                 case 2:
                     {
                         dely = 7500;
                         break;
                     }
                 case 3:
                     {
                         dely = 10000;
                         break;
                     }
                 case 4:
                     {
                         dely = 12500;
                         break;
                     }
                 case 5:
                     {
                         dely = 15000;
                         break;
                     }
             }
          UpdateData(FALSE);
         _outp(0x0378,0x03);
         Sleep(dely);
         _outp(0x0378,0x00);

    }
 void CMyroboDlg::OnUp()
     {
         // TODO: Add your control notification handler code here
         _outp(0x0378,0x08);
         Sleep(500);
         _outp(0x0378,0x00);
     }
 void CMyroboDlg::OnDwn()
     {
         // TODO: Add your control notification handler code here
         _outp(0x0378,0x18);
         Sleep(500);
         _outp(0x0378,0x00);
     }
 void CMyroboDlg::OnOpn()
     {
         // TODO: Add your control notification handler code here
         _outp(0x0378,0x10);
         Sleep(500);
         _outp(0x0378,0x00);
     }
 void CMyroboDlg::OnClos()
     {
         // TODO: Add your control notification handler code here
         _outp(0x0378,0x30);
         Sleep(500);
         _outp(0x0378,0x00);
     }
 void CMyroboDlg::OnXit()
     {
         // TODO: Add your control notification handler code here
         OnOK();
     }
 void CMyroboDlg::OnMouseMove(UINT nFlags, CPoint point)
     {
         // TODO: Add your message handler code here and/or call default
         if((nFlags & MK_LBUTTON) == MK_LBUTTON)
             {
                 _outp(0x0378,0x02);
                 Sleep(250);
                 _outp(0x0378,0x00);
             }
         else if((nFlags & MK_RBUTTON) == MK_RBUTTON)
             {
                 _outp(0x0378,0x06);
                 Sleep(250);
                 _outp(0x0378,0x00);
             }
         CDialog::OnMouseMove(nFlags, point);
     }

 

 

###

 


Circuit Diagrams

u02


Filed Under: Electronic Projects
Tagged With: ic, pick n place, robot, unl 2003a
 

Questions related to this article?
👉Ask and discuss on Electro-Tech-Online.com and EDAboard.com forums.



Tell Us What You Think!! Cancel reply

You must be logged in to post a comment.

HAVE A QUESTION?

Have a technical question about an article or other engineering questions? Check out our engineering forums EDABoard.com and Electro-Tech-Online.com where you can get those questions asked and answered by your peers!


Featured Tutorials

  • Adjustable 0 to 30V 2A DC Power Supply Circuit (Part 1/13)
  • Adjustable +/- 1.25V to +/-22V 1A Power Supply Circuit (Part 2/13)
  • Adjustable 0 to 15V 1A Mini Power Supply (Part 3/13)
  • Constant 12V Power Supply for LED Circuits (Part 4/13)
  • Constant +/-9V DC Symmetrical Power Supply Circuit (Part 5/13)
  • Making a Circuit Breaker (Part 6/13)

Stay Up To Date

Newsletter Signup

Sign up and receive our weekly newsletter for latest Tech articles, Electronics Projects, Tutorial series and other insightful tech content.

EE Training Center Classrooms

“ee

“ee

“ee

“ee

“ee

“ee

Recent Articles

  • STMicroelectronics and MACOM announce successful RF GaN-on-Si prototypes
  • Infineon expands its CoolSiC portfolio
  • STMicroelectronics and AWS collaborate for secure IoT connections
  • Pet feeding system using WhatsApp (protocol bridging with MQTT)
  • STMicroelectronics launches new MDmesh MOSFETs

Most Popular

5G 555 timer circuit 8051 ai Arduino atmega16 automotive avr dc motor display Electronic Part Electronic Parts Fujitsu ic infineontechnologies integratedcircuit Intel IoT ir lcd ldr led maximintegratedproducts microchip microchiptechnology Microchip Technology microcontroller microcontrollers mosfet motor powermanagement Raspberry Pi remote renesaselectronics Research robot samsung semiconductor sensor software STMicroelectronics switch Technology vishayintertechnology wireless

RSS EDABOARD.com Discussions

  • RFIC LNA cascode base and ground layout problem
  • Unable to launch virtuoso: libvisadev.so error
  • DIY test leads - source for lead ends?
  • P-Channel MOSFET always on
  • Space Vector PWM Help Needed

RSS Electro-Tech-Online.com Discussions

  • Adding Current Limit Feature to a Buck Converter
  • 24v dc relays not de-energising
  • How do I test amplifier speaker output polarity?
  • How to get lots of PCBs made cheap?
  • XOR Gate Circuit From Diodes
Engineers Garage
  • Analog IC TIps
  • Connector Tips
  • DesignFast
  • EDABoard Forums
  • EE World Online
  • Electro-Tech-Online Forums
  • Microcontroller Tips
  • Power Electronic Tips
  • Sensor Tips
  • Test and Measurement Tips
  • 5G Technology World
  • About Us
  • Contact Us
  • Advertise

Copyright © 2022 WTWH Media LLC. All Rights Reserved. The material on this site may not be reproduced, distributed, transmitted, cached or otherwise used, except with the prior written permission of WTWH Media
Privacy Policy | Advertising | About Us

Search Engineers Garage

  • Projects and Tutorials
    • Electronic Projects
      • 8051
      • Arduino
      • ARM
      • AVR
      • PIC
      • Raspberry pi
      • STM32
    • Tutorials
    • Circuit Design
    • Project Videos
    • Components
  • Articles
    • Tech Articles
    • Insight
    • Invention Stories
    • How to
    • What Is
  • News
    • Electronic Products News
    • DIY Reviews
    • Guest Post
  • Forums
    • EDABoard.com
    • Electro-Tech-Online
    • EG Forum Archive
  • Digi-Key Store
    • Cables, Wires
    • Connectors, Interconnect
    • Discrete
    • Electromechanical
    • Embedded Computers
    • Enclosures, Hardware, Office
    • Integrated Circuits (ICs)
    • Isolators
    • LED/Optoelectronics
    • Passive
    • Power, Circuit Protection
    • Programmers
    • RF, Wireless
    • Semiconductors
    • Sensors, Transducers
    • Test Products
    • Tools
  • EE Resources
    • DesignFast
    • LEAP Awards
    • Oscilloscope Product Finder
    • White Papers
    • Webinars
  • EE Learning Center
  • Women in Engineering