#Oh yeah sorry it's just a 5V 3A wall

1 messages · Page 1 of 1 (latest)

lone sage
#

what voltage does it drop to?

dense crypt
#

It dropped to 0.40V

lone sage
#

you mean this happens just if you connect the 5v to the servo?? That's really odd, and suggests a short somewhere.

#

does that happen if there's nothing connected to the servo control line?

#

is there anything attached to the servo arm?

dense crypt
#

Here's my setup if it helps

#

Yea for some reason it does that. I'm really confused why.

lone sage
#

i can't see the wiring all the well, and some of it is hidden. So you cut the USB connector off and connected alligator clips to the red/black on the remaining wires?

dense crypt
#

Nothing happens when I disconnect the control line

lone sage
#

suppose you just disconnect the servo from everything else and just attach it to the 5V power supply?

#

I am suspicious of the power supply.

#

do you have another (unmodified) servo?

dense crypt
#

It's an iPhone cable. I connected the GND to the shielding cable that gives its 5V

lone sage
#

so it was Lightning connector? Or is it just that you cut the end off a USB cable?

#

is it the white wall wart at the top of the picture?

#

or is that powering the Feather?

dense crypt
#

I cut the where the lighting cable was and stripped it down.

#

That's the wall adapter for the servo. It's not powering the Feather. The USB I have connected to my laptop is

lone sage
#

The Apple charger may have some logic in it to detect that an appropriate device is connected, and cut the power off otherwise. Do you have some generic 5v supply? Or, use a 3 or 4 battery battery holder if you have one.

#

the logic would prevent shorts on a lightning connector or similar causing high current

#

not sure if the Lightning cable has logic in the USB end or the Lightning end. The logic could be in the USB end

#

so it could be the cable too

#

... I'm thinking the latter may be more likely

dense crypt
#

Oh dang... Would these work?

#

I don't have a generic 5V supply or battery holders that provide 5V. Except this power bank

lone sage
#

the power bank might work, but sometimes they won't turn on until a certain load is present.

#

do you have a 4-cell battery holder?

dense crypt
#

I tried and yea it's not convenient

#

I don't have that but would a 12V holder with just 4 cells work?

lone sage
#

if you connect something else that takes some power to the 5V adapter setup, does it work (like a flashlight bulb, or some resistor that you've chosen to draw 100 mA).

#

THe 12v holder might work if you can connect to the intermediate contact points with alligators

#

maybe a photo...

dense crypt
#

Where would I connect the clips to?

lone sage
#

two possible ways:

  1. insert some flat metal pieces at the red arrows (maybe you need to use the opposite ends of those -- not clear how it's wired) and you can then alligator to those. Check the voltage with a meter first.
    OR
  2. jumper (with alligator leads0 the springs (blue arrows). Then you can use the wires on the holder.
dense crypt
#

I have a plot running to track feedback and position. The position stays at zero and feedback fluctuates. Moving the servo gives it's value but idling afterwards give the same result

lone sage
#

i am confused about what you are doing with the servo. How are you reading the position? Is it off the control pin? How can you both command its position and read the position? Do you have a link for the modification instructions?

#

good work on improvising on the battery connections

dense crypt
#

Yea I think I kinda got off track. So the goal is to have HX711 read the values and when weight is applied the servo will assist the arm in moving.

#

It's EduExo. The open source version, they have a handbook that I'm following.

#
EduExo

The EduExo is a robotic exoskeleton kit that you assemble and program yourself. It contains the hardware that you need to build an elbow exoskeleton. An accompanying handbook contains a tutorial that will guide you through the different assembly steps. In addition, the handbook provides background information on exoskeleton history, functionalit...

#

I was getting lost cause I assumed if the feedback wasn't responding the position would not as well.

#

Sorry about that I was working on this for a while and so my mind is kinda spaghetti

dense crypt
#

Even when connecting 5V to the servo its still jolts back.

lone sage
# dense crypt

The servo has a resting position when there is no control input. If you move it away from that manually, it will return to it when powered.

dense crypt
#

Am I missing something? The code should move the servo back and forth correct?

#include <SPI.h>
#include <Servo.h>

#define FEEDBACK_SERVO_PIN   A0
#define PWM_SERVO_PIN        12


// servo
Servo servo;


void setup() {
  Serial.begin(115200); // 115200 9600  

  servo.attach(PWM_SERVO_PIN);
  servo.write(0);
}

void loop() 
{
  servo.write(0);
 
  delay(1000);

  servo.write(1000);

  delay(1000);
}

dense crypt
#

Yea I've tried that too. I'm honestly stumped..

dense crypt
#

I switched breadboards, testing with another servo has the same result. Tested the servo itself with a controller and there's no issue on the hardware.

dense crypt
#

Putting my schematic here for reference

dense crypt
#

The breadboard setup and my temporary drawn schematic

#

The code:

#include <SPI.h>
#include <HX711.h>
#include <Servo.h>

#define FEEDBACK_SERVO_PIN      A0
#define PWM_SERVO_PIN   12

// HX711 configurations
#define OFFSET      65398
#define SCALE       -14.066460
#define DT          10
#define SCK         11

HX711 hx711;

// servo
Servo servo;
int feedbackPos;

void hx711Calibrate()
{
  hx711.set_offset(OFFSET);
  hx711.set_scale(SCALE);
}


void setup() {
  Serial.begin(115200); // 115200 9600  

  servo.write(0);
  servo.attach(PWM_SERVO_PIN);

  hx711.begin(DT,SCK);
  hx711Calibrate();

}

void loop() 
{
  if(hx711.is_ready())
  {

    feedbackPos = constrain(map(analogRead(FEEDBACK_SERVO_PIN),0,1023,0,180),0,180);
    Serial.print(">Servo Feedback:");
    Serial.println(feedbackPos);  

    servo.write(100);
    delay(1000);
    servo.write(0);
    delay(1000);
  }
  else
  {
    hx711Calibrate();
  }
}