Micro Servo Robot

potentiometers

Hi, thank you for sharing!

Where did you buy this potentiometers? I can’t find nothing like yours potenciometers.

 

Thank you in advance!

loops from eeprom

Lumi, I think the memory idea is great. So the Pinaut Arm I built now has eeprom storage for one loop only. Its still in beta, but if power is removed, it will do an EEPROM.get and perform the saved loop. No easy task for a ROM noobie, but I’m getting close to complete. Maybe a 4 position rotary switch to select 1 of 4 stored loops. Any thoughts?

Potentiometers and circuit board

Hi Pinaut I really like your robot and would like to recreate one myself as my first robot. I’m having a bit of trouble understand how you put the circuit together for the teach function, you think you could share some wisdom with me?

Pinaut please help!! XD

Hi Pinaut,

I was able to recreate your robot. I recreated the circuit and the arm. I’m running your code but the playback is very slow.

I have read a lot of comments here of people with slow playback. I read your comment as well in which you recommend to replace the ‘time’ variable with a number in these lines:

else // ausführen

 

    {

      if (currentMicros - previousMicros > time) // speed für servo update/step

      {

        previousMicros = currentMicros;

        play_servo(); 

      }

    }

  }// ende playmode

 

I did replace ‘time’ with a number, I tried all numbers from -10000 to 10000 and, not sure if the negatives would work…  but I am still getting very slow playback. Since your code has a part that makes the servos play back slow in X movements… I was wondering if it was possible to remove that portion from your code, but I’m not able to identify it. 

Up to this point everything is working great, but the playback is very slow.

Here you can see a picture of my robot:

|x

You think you can give me a hand?

Nice

Caraysen,

This is awesome man. This did work on my robot. I have a question though, what other problems is it creating for you?

I’m finding an issue that

I’m finding an issue that after the playback is finished it does not repeat again, and the led remains blinking. Has someone experienced this?

Nevermind

Nevermind

Circuit and some other info

Hey Pinaut,

I am very interested in recreating your mini “robot” but I do not know where to start from. A rough schematic would be of great help as well as other bits of info if you are willing to help a young and eager student. Thanks a lot!

rebuild

I’m very unhappy see the code not running well and i have no idea why that happend. I did reload the code (the file i put here) on my robot and it works fine on the arduino mini i used.

So… i decided to rebuild a new setup to see what happend and maybe find a solution. But… I dident have the time at the moment because my work, summertime and other hobbies. So it will takes time until i can do. Also i will try that with a different arduino (UNO).

Please stay patient

Pinaut

+5V and GND to the pin 1 and

+5V and GND to the pin 1 and 3 from the potentiometer(s). The middle pin 2 goes to the analog IN from the arduino.

https://www.arduino.cc/en/Tutorial/Potentiometer :wink:

this are arrays for servo

this are arrays for servo 1-4 ( and short words from german. sry but while write the code dident had the idea i share it one day)

ist = momentary position from a servo

sol = next position the servo should go

dif = the difference from ‘momentary’ to ‘should be’ position

dir = the calculated step-with for a single step a servo does. This step will be done in a loop for ‘stepsMax’ times. With this ‘micros steps’ all servos are at same time at the new position. 

P.

I have been able to make

I have been able to make some modifications and got the robot running. Just finishing up some details and will post a picture and/or a video for you to see.

Thanks a lot Pinaut

solution?

can u tell us what are the changes in the code? what arduino board it is running?

thx

your gripper potentiometer

your gripper potentiometer is in ‘delay position’… :wink:

StepsMax and Gripper Potentiometer "

StepsMax is what is calculating the speed of the playback, so I commented out that portion of the code and set a constant value to StepMax to fix the playback speed

|x

 

Also, the delay was an issue for me after the first cycle, it was taking too long to play back the second cycle. I believe you mentioned previously that the Gripper Potentiometer was the one that set the delay, and that is correct, I changed the following on the Calc_pause() function:

|x

I'm not very good with coding I wish I could have used the same logic with yours, that smaller distances goes slower and longer distances goes faster, but I was not able to adjust the code to do that. So the two changes I did above did do the trick for my robot. It set the pace at a good playback speed and also I was able to make it start as soon as possible with every playback without a delay. 

I will post a video once finished :)

I am running an Arduino

I am running an Arduino Mega, and also I added more servos to have two servos per joint:

 

|x

You rock man!

You rock man!

stepsMax

stepsMax is the biggest distance to travel from all 4 servos. From the momentary position to the next position read from the stored array. Set this to a fixed value makes no sense. 

Did someone change the serial baudrate in the code to 9600 for a test? I used ‘Serial.begin(115200);’ 

baudrate

I tride 9600 and it did not work for me. It only works with 115200.

**fritzing **

Hi I am new on arduino is there anyno who can give me the code and fritzing diagram thanks