Skip to content

Servo write() vs writeMicroseconds() #73

Open
@per1234

Description

@per1234

Moved from arduino/Arduino#10160 by @kreinkens

Both write() and writeMicroseconds() commands should be able to control both position and continuous rotation servos, given appropriate inputs.

I discovered that they are unable to act equally in controlling the continuous rotation servos. I was working in MATLAB which apparently used only the write() command as the basis for servo control.
Returning to Arduino environment, I configured the servo, attach(12,1400,1600). I measured the delivered signals. Although the midpoint pulse width of 1500 was valid, the min/max values were closer to 375 and 2620 respectively. The result is that it is not possible to vary the speed of the continuous rotation servo using the write() command.

Not a problem in Arduino, since writeMicroseconds() is available to create variable speed control.
However, MATLAB has not included a similar command in the support for Arduino Hardware. I have made this request, but thought that addressing this in the Arduino write() command might be another strategy to solve this.

Metadata

Metadata

Assignees

No one assigned

    Labels

    topic: codeRelated to content of the project itselftype: enhancementProposed improvement

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions