Post by tronicgr on Oct 6, 2014 18:32:02 GMT
Hi,
During this weekend I had the chance to update the firmware with some fixes and requests. I haven't tried yet all features but it looks steady. Please try it and let me know of any bugs you might find.
firmware 1.0l
The main changes are:
PID values can be down to "0" now.
Min motor speed can be down to "0" now.
Max motor speed has range from 5% to 100%.
The motor speed is different for on-line use and offline use. You can set each speed independently, in two different menus.
- The Max motor speed menu now has two parameter that you can change:
1. On-line motor speed (when its connected to software and receiving position data)
2. Off-line motor speed (not connected, but sets the max speed during power-up or moving back to start position).
The menu "6DOF start pos" that relates to the "off-line" mode, has now one new menu. The motor start step defines how close will be the "step" (or path) of the setpoints to place the motor to its start position. The motor Off-line speed defines the actual speed of the motor to move through these steps to the "start" (or home) position that is defined on this menu. So if you notice that there is vibration while the platform tries to go to "start" position, decrease the motor "Off-line speed", and increase the "step".
The enc_6dof1l_1280servo_id_hipid_CMD.hex version has additional Command set over serial to be able to:
-Display individual parameter values
-Display All parameters at once
-Change individual parameters
-Save all parameters in the AMC1280USB with a single command.
---List of commands---
CMD01 Motornumber: spv012-spv016
CMD02 Dataformat: spv021-spv022
CMD03 (P): spv03000-spv03255
CMD04 (I): spv04000-spv04255
CMD05 (D): spv05000-spv05255
CMD06 On-line speed: spv06000-spv06255
CMD07 Min motor speed: spv0700-spv0714
CMD08 Feedback limit: spv0800-spv0850
CMD09 Sensor direction: spv091-spv093
CMD10 6dofstartpos: spv1010-spv1090
CMD11 Off-line speed: spv11000-spv11255
CMD12 Startmovetimeout: spv1200-spv1290
CMD13 Printfeedback: spv131-spv134
CMD14 Oversample ADC: spv1401-spv1416
CMD15 Startmovestep: spv15000-spv15255
CMD16 KLM switch mode: spv161-spv162
CMD44 Display all parameters values
CMD45 Print this help page
spv45 Saves all parameters at once
CMD commands are used to display each value
spv commands are used to change each value (in bold letters is the acceptable range of values)
For example if you want to change the P to 45 you just enter this command: spv03045
Repeat for all settings that you want to change, and to save everything just enter: spv45
You can use the Terminal utility here to access these commands:
www.dropbox.com/sh/9fikqhw0zattd6p/AAC8aGHdXhoAxYpjuvVgbr_Ka?dl=0
Next in list to fix in order of priority:
-add new menu for selection of behavior of the "KLM" switch. -done-
-add command line access to the internal parameters of the AMC1280USB for remote configuration.
-Auto-disable LCD menu if no encoder activity or a few seconds after valid data packets over serial.
- Add new data command that will be able to map the last three extra bytes in P, I, D values...
Perhaps something like: AC<1><2><3><4><5><6><P><I><D>
where AC is the identifier, "<1>, <2>... is the 2 bytes position values for each axis, and <P>, <I>, <D> is 1 byte values for the PID.
-create an “auto tuning” command which allows to change “P” value whilst moving the platform (basically allowing to send spv03 whilst offline mode is OFF)?
-add the P_u counter to measure number of oscillations.
-increase the resolution of the PID to 4 digits.
-add the quadrature module code for 360 2DOF.
-add quadrature encoders code for 3DOF + 1DOF infinite rotation.
-add pulse burst mode for clearpath motors.
-Add code for two potentiometers that controls the max limits of each axis (pitch and roll) to adjust the maximum limit
-Add individual pid setting for each motor on the next firmware... and ability to use some of the motors in speed control method for infinite yaw rotation for example
-Add an adjustable timer watchdog for each motor, to detect if there is no change in the position sensor while there active motion command. Then perhaps kill the controller signals with a nice message displayed on the LCD to check the sensors...
Thanks
Thanos
During this weekend I had the chance to update the firmware with some fixes and requests. I haven't tried yet all features but it looks steady. Please try it and let me know of any bugs you might find.
firmware 1.0l
The main changes are:
PID values can be down to "0" now.
Min motor speed can be down to "0" now.
Max motor speed has range from 5% to 100%.
The motor speed is different for on-line use and offline use. You can set each speed independently, in two different menus.
- The Max motor speed menu now has two parameter that you can change:
1. On-line motor speed (when its connected to software and receiving position data)
2. Off-line motor speed (not connected, but sets the max speed during power-up or moving back to start position).
The menu "6DOF start pos" that relates to the "off-line" mode, has now one new menu. The motor start step defines how close will be the "step" (or path) of the setpoints to place the motor to its start position. The motor Off-line speed defines the actual speed of the motor to move through these steps to the "start" (or home) position that is defined on this menu. So if you notice that there is vibration while the platform tries to go to "start" position, decrease the motor "Off-line speed", and increase the "step".
The enc_6dof1l_1280servo_id_hipid_CMD.hex version has additional Command set over serial to be able to:
-Display individual parameter values
-Display All parameters at once
-Change individual parameters
-Save all parameters in the AMC1280USB with a single command.
---List of commands---
CMD01 Motornumber: spv012-spv016
CMD02 Dataformat: spv021-spv022
CMD03 (P): spv03000-spv03255
CMD04 (I): spv04000-spv04255
CMD05 (D): spv05000-spv05255
CMD06 On-line speed: spv06000-spv06255
CMD07 Min motor speed: spv0700-spv0714
CMD08 Feedback limit: spv0800-spv0850
CMD09 Sensor direction: spv091-spv093
CMD10 6dofstartpos: spv1010-spv1090
CMD11 Off-line speed: spv11000-spv11255
CMD12 Startmovetimeout: spv1200-spv1290
CMD13 Printfeedback: spv131-spv134
CMD14 Oversample ADC: spv1401-spv1416
CMD15 Startmovestep: spv15000-spv15255
CMD16 KLM switch mode: spv161-spv162
CMD44 Display all parameters values
CMD45 Print this help page
spv45 Saves all parameters at once
CMD commands are used to display each value
spv commands are used to change each value (in bold letters is the acceptable range of values)
For example if you want to change the P to 45 you just enter this command: spv03045
Repeat for all settings that you want to change, and to save everything just enter: spv45
You can use the Terminal utility here to access these commands:
www.dropbox.com/sh/9fikqhw0zattd6p/AAC8aGHdXhoAxYpjuvVgbr_Ka?dl=0
Next in list to fix in order of priority:
-Auto-disable LCD menu if no encoder activity or a few seconds after valid data packets over serial.
- Add new data command that will be able to map the last three extra bytes in P, I, D values...
Perhaps something like: AC<1><2><3><4><5><6><P><I><D>
where AC is the identifier, "<1>, <2>... is the 2 bytes position values for each axis, and <P>, <I>, <D> is 1 byte values for the PID.
-create an “auto tuning” command which allows to change “P” value whilst moving the platform (basically allowing to send spv03 whilst offline mode is OFF)?
-add the P_u counter to measure number of oscillations.
-increase the resolution of the PID to 4 digits.
-add the quadrature module code for 360 2DOF.
-add quadrature encoders code for 3DOF + 1DOF infinite rotation.
-
-Add code for two potentiometers that controls the max limits of each axis (pitch and roll) to adjust the maximum limit
-Add individual pid setting for each motor on the next firmware... and ability to use some of the motors in speed control method for infinite yaw rotation for example
-Add an adjustable timer watchdog for each motor, to detect if there is no change in the position sensor while there active motion command. Then perhaps kill the controller signals with a nice message displayed on the LCD to check the sensors...
Thanks
Thanos