Controlling motor speed

I would like to control the speed of motors so that my arm motors spin slowly, ie when I use my joystick to control my arm and push it full throttle, it would return a quarter throttle response. If you could step by step instruct in easycpro, I am a newbie rookie.:confused:

I can’t help you with easyC but can explain the basics…

A PWM is defined to be:

255 - Full Forward
127 - Stop
0 - Full Reverse

Let’s assume that your PWM is #1 and you are using the Y axis of the Joystick installed into Port 1 to control it. Your C code would look like this:

pwm01 = (unsigned char) ((((int) p1_y - 127) / 4) + 127);

(int) and (unsigned char) are compiler directives called a cast. (int) tells the compiler to transform the unsigned char, p1_y, to a signed integer. (unsigned char) transforms it back.

Note that there are many ways to skin a cat, all of which are intensely undesirable to the cat…



You should use the online window to determine the speed you want your arm to move at and then using a formula like Mike posted make that your maximum.

I understand the formula however I do not have anything in my c window that resembles his format "pwm01 = (unsigned char) ((((int) p1_y - 127) / 4) + 127); otherwise I would replace my code with his. What steps in easycpro would I use to generate code in that format?

Here is the easiest way to do this in easyC.

      int Arm_Joystick; 
      unsigned char Arm_Output; 

      while ( 1 )
            Arm_Joystick = GetOIAInput ( 2 , 2 ) ; // Analog OI Input Block
            Arm_Output = ((( Arm_Joystick - 127 ) / 4) + 127 ) ; // User Code Block
            SetPWM ( 4 , Arm_Output ) ; // PWM Control Block

Here is a more advanced way to do this in easyC Pro

while (1)
         SetPWM ( 5 , ((( GetOIAInput(2,2) - 127) / 4) +127 ) ) ;

Oh, and when you put a smiley in your post all you have to do is click on the smile you want once and the forum software
automagicly loads the image. :smiley:

With a little tweaking your more advanced code worked perfectly!

Variables are overrated :stuck_out_tongue:

Can anyone help me in labview?

This isnt the proper area to ask a labview question. I would suggest going under Programming > Labview

no kidding…but i needed help so i figured i would ask