View Single Post
  #1   Spotlight this post!  
Unread 17-01-2009, 16:46
adra adra is offline
Registered User
no team
 
Join Date: Jan 2009
Location: Turkey
Posts: 6
adra is an unknown quantity at this point
Forklift project with mecanum wheels HELP

Hi,
First of all i should thank you all for this great site which gives great feedback not only team members but also people like us interested with all these stuff.

Anyway, for our final project at university we will built a prototype forklift which is driven with mecanum drives. We have almost completed the lift mechanism and now we are focusing drive mechanism of our forklift. I should mention that we have 1 week left
Since we have no experience about this kind of drive systems, and we have some big problems that confuses us.

First of all, 4 wheels must be on the same plane. I mean even with a slight change of height of any wheel, driving will fail since all 4 mecanum wheels have to be operating related with each other. We can of course use a suspension system but that will cost time. So is it possible to mount the wheels directly to the chassis with same height?

Yet, we are all mechanical engineering students and we are barely related with PIC. So we avoid complex codes as much as we could and built a PIC code for a simple button configuration. For the button configuration, we have 6 buttons which are for forward,backward,rightside,leftside, CW-rotation and CCW-rotation. No other motion (turning while forward motion for example) is necessary then again we avoid them. I am giving the code below. Is it enough to drive? (please don't laugh ) We dont want to control the speed, so PWM is not necessary.


I am desperately waiting for your helps.
Thanks in advance.



Quote:
SAMPLE PIC CODE

#include <16f877a.h>
#use delay(clock=20000000)
int main()
{
int i=0;
set_tris_a(0xff);
set_tris_b(0x00);
set_tris_e(0x00);
output_b(0x00);
output_e(0x00);
while(1)
{
i=input_a();
switch(i)
{
case 1:
{
output_b(0x55);
output_e(0x01);
break;
}
case 2:
{
output_b(0xaa);
output_e(0x01);
break;
}
case 4:
{
output_b(0x96);
output_e(0x01);
break;
}
case 8:
{
output_b(0x69);
output_e(0x01);
break;
}
case 16:
{
output_b(0x66);
output_e(0x01);
break;
}
case 32:
{
output_b(0x99);
output_e(0x01);
break;
}
default:
{
output_b(0x00);
output_e(0x01);
}
}
}
}

Last edited by adra : 17-01-2009 at 21:38.