Control LewanSoul digital smart servos from the EZ-B UART or PC COM Serial Port
How to add the Lewansoul Servo robot skill
- Load the most recent release of ARC (Get ARC).
- Press the Project tab from the top menu bar in ARC.
- Press Add Robot Skill from the button ribbon bar in ARC.
- Choose the Servo category tab.
- Press the Lewansoul Servo icon to add the robot skill to your project.
Don't have a robot yet?
Follow the Getting Started Guide to build a robot and use the Lewansoul Servo robot skill.
How to use the Lewansoul Servo robot skill
Control the LewanSoul Digital smart Servos (i.e., LX-16A) with ARC. The servos must be powered appropriately and connected to the EZ-B v4 or IoTiny with the respective port. Visit the Config menu of this plugin to view the port configuration. This plugin will only operate on EZB Index #0.
Demonstrated with IoTiny using Software UART
Details
ARC's Virtual Ports (V1..V99) can be assigned to the LewanSoul servos.This plugin requires the RX signal wire of the servo to be connected to the TX of the selected UART or digital port (if Software UART is selected) using a Dynamixel servo Cable provided by one of our hardware partners.
Hardware UART is available on the EZ-B v4 only and is recommended if using an EZ-B v4 with a Dynamixel servo Cable. View the EZ-B v4 datasheet to identify the UART ports (0, 1, or 2).
Software UART is available on both the EZ-B v4 and IoTiny. We only recommend using software UART on IoTiny and hardware UART on EZ-B v4.
The configuration menu also provides an option to select the Virtual Ports, which correspond with the ID's of the UBTech servos. If the LewanSoul servo ID #0 is connected, select V0. #1 = V1, #2 = V2, etc..
Default baudrate of LewanSoul servos is 115,200
Specify servo Port By servo ID
The servos are addressable, meaning they each have a unique address ID. The address ID is related to ARC's Vx servo (virtual servo). This means servo ID #1 is V1 in ARC. servo ID #5 is V5 in ARC. Etc. Specify the Vx ports to bind to using the configuration screen of this plugin. ID #1 (V1) is selected in the example image below. Any servo commands sent to V1 will move LewanSoul servo ID #1. You can choose as many Vx ports as necessary to bind in this plugin.Use USB/TTL Debug Board This option in the configuration is if you are using the optional TTL/USB debug board, which changes the communication to the servo. With this unchecked, the packet length includes the sent packet because the Rx & Tx are crossed. When checked (using the ttl board), the Rx & Tx will only include the return values. Keep this unchecked if you are not using a USB/TTL Debug Board.
Continuous Rotation (Motor) Mode
The servos can be configured for Continuous Rotation (i.e., Motor Mode) using the EZ-Script ControlCommand()...ControlCommand("LewanSoul Servo", SetToContinuousMode, v1)
You can change the port (v1 in the above example) to whatever port you wish to be in continuous rotation mode. Once you do that, the servos will respond as regular, continuous rotation servos, where position 90 stops, 180 is fast in one direction, and 1 is fast in the other. The values further from 90 in either direction change the speed. This allows these servos to be used with the Continuous Rotation Movement Panel.
Servo Mode
If you switched the servo into Continuous rotation mode, you can use the ControlCommand() to change back to servo mode. This can be done with the following command...ControlCommand("LewanSoul Servo", SetToServoMode, v1)
in the liwansoul menu you can see the update info when you save data from a move only one servo is update test it several times servo v7 in mine test setup with 8 servo`s and dit nog move servo 7 ???? with error getting servo positions. tekenreeks is niet als een geldige boolean-waarde herkend.
i hope this info will help the software is too new for me too see what's going on.
Configure the communication settings correct.
is it possible to test a beta version and get back to the origin one now we have to handle with de not working model ???
DJ it looks like the servo input read is working ok now with the latest update. like to test more but need to sleep too sorry. and thanks.
Hey there...it seems like the problem still persists...I am trying to connect to the EZBPi server and get the following error message...
2019.06.28 11:21:23 +02:00 - Attempting connection on 192.168.178.73:23 2019.06.28 11:21:24 +02:00 - Connected to 192.168.178.73:23 2019.06.28 11:21:24 +02:00 - Reports CapabilityController 2019.06.28 11:21:24 +02:00 - Firmware 'Raspberry EZBPi v1' on 'Raspberry Pi (A, B, B+, Zero)' supports the following capabilities:
2019.06.28 11:21:24 +02:00 - EZ-B temperature is 53.34149752948088100C 2019.06.28 11:21:24 +02:00 - Connection Failed: System.ArgumentException: Der PortName darf nicht leer sein. Parametername: PortName bei System.IO.Ports.SerialPort.set_PortName(String value) bei LewanSoul_Servos.FormMain.initUART() in C:\My Documents\SVN\Developer - Windows\ARC skill plugins\Behavior_Control_LewanSoul_Servos\Kondo KRS Servo\FormMain.cs:Zeile 92. bei LewanSoul_Servos.FormMain.FormMain_OnConnectionChange(Boolean isConnected) in C:\My Documents\SVN\Developer - Windows\ARC skill plugins\Behavior_Control_LewanSoul_Servos\Kondo KRS Servo\FormMain.cs:Zeile 34. bei EZ_B.EZB.OnConnectionChangeHandler.Invoke(Boolean isConnected) bei EZ_B.EZB.PWBq7NxRL1() bei EZ_B.EZB.Connect(String hostname, Int32 baudRate) 2019.06.28 11:21:24 +02:00 - Disconnected
I specified the COM port of course...
The port must exist
It all works now...I guess the problem was that I had an Error Message about the LewanSoul plugin on startup, ARC removed the plugin instance and I added a new one. So whatever this problem was, it will probably not happen ever again to anyone just updating to the new version and running the plugin!
Thank you so much for resolving this!!! This is great!!!