Signal ON position for AC servo

Hi, moving the servo with the Arduino using PUL and DIR does work...but every time i want to turn on the AC servo i need to manually set the value to 1 to energize it as you can see in the manual image below.....
I guess simpler way of doing it is through the code, the (SON) pin on the servo driver is #16 according to the manual and i attached it to digital pin 7 on the Arduino with the following test code: (it is not turning the servo on)...even if i digital write under loop...any ideas?

void setup() {
  
  pinMode(7, OUTPUT);
  digitalWrite(7, HIGH);
}

void loop() {
  //digitalWrite(7, HIGH);
}

Have the Arduino and the device (whatever it is) got a common GND connection ?

Yes i already attached the DIR- and PUL- pin to the ground of arduino

Everything works, except when i hook up pin #16 from the driver to pin #7 on the Arduino to try turning it on automatically, i dont know how to code it.

That will not give the 2 devices a common GND connection. You need to actually connect the GNDs themselves

Please post a diagram of your full circuit. A photo of a pencil and paper drawing is good enough

Hi, i uploaded the manual IO sheet as well.


As I suspected, there is no common GND connection between the Arduino and the driver so that there is no reference that the driver can measure the input voltage against to determine its state

The connections from Arduino GND to the DIR and PUL pins of the driver do not provide a common GND connection

How do i make a common GND, what pins should i be connecting :slight_smile:
A correction, the PE is not connected, the servo is connected to ground.
Now, i connected the PE to the Arduino ground is that correct? Also is the code correct?

GND on the Arduino to GND on the driver

i did, then uploaded the code, did not work.

In an earlier reply you implied that the servo turns on if you take the driver SON pin to HIGH

Have you tried measuring the voltage at the SON pin when it is taken HIGH by the Arduino output pin ?

The servo does not turn on until i select the value from 0 to 1 every time manually by pressing the physical buttons on the driver. But the manual allows for digital turning on by using pin #16 on the driver which i tried but didnt work.

Is there a page that shows how to check for voltage? also checking voltage...does that mean using a physical meter or can i use arduino to view voltage on a serial monitor.

  • Connect the negative lead of a multimeter to GND on the driver which, if you have done as you said, will also connect it to GND on the Arduino
  • Connect the positive lead of the multimeter to the SON pin of the driver
  • Select a voltage range on the multimeter
  • with the Arduino output pin LOW measure the voltage. What is it ?
  • with the Arduino output pin HIGH measure the voltage. What is it ?
  • disconnect the Arduino from the driver and manually set the driver SON pin to 1 however you normally do it.
  • measure the voltage. What is it ?

The problem is probably caused by the fact that the driver SON pin is being held LOW whatever you you connect it to. The clue is

The voltage readings will provide clues

Managed to manually change the "servo on" from 0 to 1 and saved the setting to 1 by default. Now it is run on its own....that is one solution. But i still would like to learn how to do it by pin 16 through Arduino.
When i get my hands on a multi meter hopefully soon i will reply the voltage findings.

This topic was automatically closed 180 days after the last reply. New replies are no longer allowed.