The Wooden Menace; Robotic Arm

Questions and Comments on All Projects
ThePyroElectro
PyroElectro Admin
Posts: 1181
Joined: Mon Nov 12, 2007 9:24 pm
Location: Earth
Contact:

Postby ThePyroElectro » Sun Dec 07, 2008 3:11 pm

Hey Mike,

The PS1 controller itself is definitely more complicated. You could just make your own make-shift controller with a few buttons. You only need 5 buttons as you see used in the video and the code.

Making your own like this would simplify the project quite a bit, especially in the code routines.

Other than that, I don't really know of any controllers you could substitute straight in with the design I created.

Sorry about that.

mike
Newbie Pyro
Posts: 3
Joined: Tue Dec 02, 2008 2:17 pm

Postby mike » Tue Dec 09, 2008 5:42 pm

can i use a clone of an ps2 controller?

ThePyroElectro
PyroElectro Admin
Posts: 1181
Joined: Mon Nov 12, 2007 9:24 pm
Location: Earth
Contact:

Postby ThePyroElectro » Fri Jan 02, 2009 7:46 am

You could use any controller, however if it isn't the same PS1 Ethernet Output Clone I used, you will have to redesign the interface circuitry and software so that it will indeed control the arm.

navarro_boyz
Newbie Pyro
Posts: 1
Joined: Thu Jun 11, 2009 12:06 pm

Postby navarro_boyz » Thu Jun 11, 2009 12:19 pm

Edited ;)
Last edited by navarro_boyz on Tue Apr 29, 2014 5:15 am, edited 1 time in total.

arvinsanjuan
Newbie Pyro
Posts: 1
Joined: Sat Jan 02, 2010 9:54 am

t?

Postby arvinsanjuan » Sat Jan 02, 2010 10:01 am

hmmm... about the theory of operations, so you say that t changes. How does it change? Does it change if I applied a different voltage from +5V? say for example +4V? :?:

ThePyroElectro
PyroElectro Admin
Posts: 1181
Joined: Mon Nov 12, 2007 9:24 pm
Location: Earth
Contact:

Postby ThePyroElectro » Sat Jan 02, 2010 8:41 pm

The Yellow wire of the Servo (signal wire) is expecting a PWM signal input. The PWM expected is of a TTL +5v standard. That means anything higher than 3.3v is seen as a logic 1 and anything below 1.3v is seen as logic 0. So yes you could run a +4v signal in there and it should still theoretically work. Not exactly sure why you'd want to do that though.

pentium4
Newbie Pyro
Posts: 1
Joined: Sun Jan 03, 2010 7:33 pm

PIC to use..

Postby pentium4 » Sun Jan 03, 2010 8:05 pm

Hi sir,

Is it possible to use PIC16f877a?

I am also planning to build a robotic arm. Just for hobby and learning purposes. Thanks.

eceme12
Newbie Pyro
Posts: 2
Joined: Sun Jan 24, 2010 8:31 am

I am receiveing an error when i am going to build a program

Postby eceme12 » Sun Jan 24, 2010 8:37 am

when i am building a program using MPLAB v6.61.. i alwayz receiving an error just like this:

Clean: Deleting intermediary and output files.
Clean: Deleted file "C:\Users\User\Desktop\New folder\robotic_arm.o".
Clean: Done.
Executing: "C:\Program Files\MCC18\bin\mcc18.exe" -p=18F452 "robotic_arm.c" -fo="robotic_arm.o" -Ou- -Ot- -Ob- -Op- -Or- -Od- -Opa-
MPLAB C18 v3.34 (evaluation)
Copyright 2000-2009 Microchip Technology Inc.
Days remaining until evaluation becomes feature limited: 59
Executing: "C:\Program Files\MPLAB IDE\MCHIP_Tools\mplink.exe" "C:\MCC18\bin\LKR\18f452.lkr" "C:\Users\User\Desktop\New folder\robotic_arm.o" "C:\MCC18\lib\p18f452.lib" /o"robotarm.cof"
MPLINK 3.80.02, Linker
Copyright (c) 2004 Microchip Technology Inc.
Error - Coff file 'C:\Users\User\Desktop\New folder\robotic_arm.o' does not appear to be a valid COFF file.
Errors : 1

BUILD FAILED: Sun Jan 24 16:35:58 2010

I am using PIC18f452..


pls. help me of what i should to do to fix this problem?? thanks.. =)

eceme12
Newbie Pyro
Posts: 2
Joined: Sun Jan 24, 2010 8:31 am

Building a program

Postby eceme12 » Thu Jan 28, 2010 3:05 pm

i already build a program. and this is the result.. the computer said that

"Failed to load myfile.cof"

but this is the output of MPLAB IDE C18 compiler i used..

Clean: Deleting intermediary and output files.
Clean: Deleted file "C:\Users\User\Desktop\New folder\robotic_arm.o".
Clean: Deleted file "myproject.cof".
Clean Warning: File "myproject.cod" doesn't exist.
Clean: Deleted file "myproject.hex".
Clean Warning: File "myproject.lst" doesn't exist.
Clean: Deleted file "C:\Users\User\Desktop\mythirdproject\myproject.mcs".
Clean: Done.
Executing: "C:\Program Files\MCC18\bin\mcc18.exe" -p=18F452 "robotic_arm.c" -fo="robotic_arm.o" /i"C:\Program Files\MCC18\h" -Ou- -Ot- -Ob- -Op- -Or- -Od- -Opa-
MPLAB C18 v3.34 (evaluation)
Copyright 2000-2009 Microchip Technology Inc.
Days remaining until evaluation becomes feature limited: 55
Executing: "C:\Program Files\MCC18\bin\mplink.exe" /l"C:\Program Files\MCC18\lib" /k"C:\Program Files\MCC18\bin\LKR" "C:\MCC18\bin\LKR\18f452.lkr" "C:\Users\User\Desktop\New folder\robotic_arm.o" "C:\MCC18\lib\p18f452.lib" "C:\MCC18\lib\clib.lib" /w /aINHX8M /o"myproject.cof"
MPLINK 4.34, Linker
Copyright (c) 2009 Microchip Technology Inc.
Errors : 0

MP2HEX 4.34, COFF to HEX File Converter
Copyright (c) 2009 Microchip Technology Inc.
Errors : 0

BUILD SUCCEEDED: Thu Jan 28 22:32:39 2010

Error: Bad magic number in COFF file "C:\Users\User\Desktop\New folder\robotic_arm.o".
Error: Bad magic number in COFF file "C:\Users\User\Desktop\New folder\robotic_arm.o".
Error: Bad magic number in COFF file "C:\Users\User\Desktop\New folder\robotic_arm.o".


although i already build a program.. an error of magic number appears just like in the above statement.. what does it mean??? pls help.. thanks.. =)

defcon
Newbie Pyro
Posts: 1
Joined: Fri Apr 09, 2010 12:07 pm

Postby defcon » Fri Apr 09, 2010 12:31 pm

Dear sir, if I were to use regular buttons instead of a controller, how would I go about coding for these buttons. I am a very new to C programming so this might be an amateur very amateur question i'm asking.

i'm thinking simple if or switch statements would suffice?
if possible can you provide an example for a button or 2......

Xaltar
Newbie Pyro
Posts: 2
Joined: Fri Feb 19, 2010 9:41 pm

Postby Xaltar » Sun May 09, 2010 4:42 pm

I'm going to do the same as you and I think it's pretty nearly the same. Just put à if (port of your first control button == 1) then increment servo by 0x100 etc....

Exemple (might be false) :

while (1)
{

if (PORTAbits.RA0 == 1) // Port where one button is (move left)
{
servo0 = servo0 + 0X100; // or + 256 in decimal.
}
if(PORTAbits.RA1 == 1) // Port to move the same servo right
{
servo0 = servo0 - 0X100;
}

etc....
Of course you need two pins of your pic to control one servo. And one more to make it stop.

And for me i just have a question, how can i control a pad with a usb port ? You never explain how it does work can you help me ?

ThePyroElectro
PyroElectro Admin
Posts: 1181
Joined: Mon Nov 12, 2007 9:24 pm
Location: Earth
Contact:

Postby ThePyroElectro » Mon May 10, 2010 10:46 am

Hi Xalter,

The code looks good, just a matter of tweaking things how you want them really.

As for controlling via USB. You would need to upgrade to a USB capable PIC such as 18F4550. Doing things through USB is far more complicated, because you will have to build a program on your Host computer and work with the operating system as well as get everything running on the PIC side of things.

I would suggest using serial initially, then moving to USB. It's a beast to implement.

Xaltar
Newbie Pyro
Posts: 2
Joined: Fri Feb 19, 2010 9:41 pm

Postby Xaltar » Mon May 10, 2010 9:29 pm

You must be right, but then how do yourself control your robotic arm with your playstation pad ? Cuz i've got a pad that i can connect in usb but of course my problem is to switch data to understandable state for my pic.

I'll use buttons if i can't do anything else. But the fact of using a controller such as a ps is very interesting.

(I've had some difficulties with you code for the multi servo, one of my servo was correct but the other had a signal always at 1 because the pin of this servo was not reseted to 1 right before the switch, you didn't had that problem ???).

ThePyroElectro
PyroElectro Admin
Posts: 1181
Joined: Mon Nov 12, 2007 9:24 pm
Location: Earth
Contact:

Postby ThePyroElectro » Wed May 12, 2010 4:35 am

Hi Xaltar,

That PS controller was something I found in an electronics supply store. It's not a standard PS controller as it has an RJ45 output. I had to bit-bang it to figure out how it worked.

I didn't run into that problem with the servo's that you're talking about. It should be sending the proper PWM for each servo without issue.

mariana20
Newbie Pyro
Posts: 3
Joined: Fri Aug 20, 2010 5:02 am

Postby mariana20 » Fri Aug 20, 2010 3:45 pm

hi such a look I have a problem q I want to do but I want a robotic arm controlled by a software and not by specific control your PS1 and that I could not recommend performing the same coding and structure of circuirto you put as a scheme would appreciate you porfa your help I am new to the subject!!!


Return to “Projects”

Who is online

Users browsing this forum: No registered users and 5 guests