Parkinson spoon ( hand tremor project)

Hello guys,

I have been working on this project for 1 week but i couldnt create algorithm on my mind. 2 micro motors 625 rpm (pololu) , mpu6050 ,motor driver and arduino these are what i have.

i researched some documents about balanced robots and it seems like they are same approach. I already tried using dmp(digital motion proccessing) and some balanced codes on the inthernet. ıts too hard to control motors when vibrate sensor fastly.

these are what i know basicly:

im using pitch and yaw values but i think just using acclemoter will be enough. Im not sure.

I am open to new ideas also we can create spoon at this time.

thanks for your helps.

That sounds like a really worthwhile project, but we have no idea what you questions is!

ı am going to try using acc values. Motors control must be pid. If you have any idea which you think it helps create algorithm, write here.

ı will up to date this topic step by step.

Perhaps look at this as a similar project to camera stabilisation.
As you move the camera in space, the camera body and lens orientation is maintained.

As you already know, Half the project is mechanical, and half electronic...
You may find some references or examples to help your project.

Hi mechatron,

I'm curious about how this spoon will work. Can you provide a picture of what is will look like and show how the motors are incorporated?

This will help us understand your design better.

Pat.

Try SW-18010 sensor, it could solve the problem.

allefrodrigo:
Try SW-18010 sensor, it could solve the problem.

That only detects vibration, not attitude or axial movement.

I apologize for the delay.

patduino:
Can you provide a picture of what is will look like and show how the motors are incorporated?

Hi Pat,
Follow the link down below to look at FIG.3 . I have almost same mechanic with dc motors and encoders.
Liftware-patent
FIG.3

lastchancename:
That only detects vibration, not attitude or axial movement.

I think you are right. Acc values will be better.

These are steps which i think:
-Get acc values of x and z directions (according to fig3)
-use filter
-PID(input accx accz, output pwm)
-move motors inverse of directions (suppress hand tremor )
-encoder? (it may use to control pid value or stabilize motors at mid-point of spoon- not sure)

These are what i did:
-getting pitch and yaw values from mpu6050(using dmp code)
-getting accvalues from adxl345
-pid control using pidv1 lib.

i am using Jeff Rowberg library for mpu6050 or adxl345. Also i tried sparkfan adxl345 lib. and adafruit adxl345 lib. There is no problem getting acc data for both direction. But i efficiently did not move motors invers of directions. Here is my part of code:

PID myPID(&Input, &Output, &Setpoint,20,0,0, DIRECT);

data= event.acceleration.z;
 
  if (data>0)
  {
    myPID.SetControllerDirection(REVERSE);
    digitalWrite(in1, HIGH);
    digitalWrite(in2, LOW);
    Input = data; 
    myPID.Compute();
    analogWrite(enA, Output);
    
  }
  else
  {
    myPID.SetControllerDirection(DIRECT);
    digitalWrite(in1, LOW);
    digitalWrite(in2, HIGH);
    Input = data; 
    myPID.Compute();
    analogWrite(enA, Output); }

it does not work. This video is my reference point.

any idea ?

I already watched this video. It based on camera stabilizing tech.

Gimbal tech fixes the spoon horizontal or parallel to ground. Therefore, when you bring the spoon to the bowl, spoon position will be horizontal to bowl. You can not eat anything.

There is a different technique behind of stabilizing tech