Wednesday, December 4, 2019

Open-hardware 4DOF servo controller solution


If you have one of these SFX100 4DOF platforms but no way to connect them to Simtools or FlyPT mover motion software, here is solution I designed for a DIY 4DOF controller that matches the 100mm actuators hardware. Its free and its plug and play (once put together).


I only provide plans (gerber files) and firmware for the device, and no support. Don't ask me about it, I don't build it or sell it. You will have to collect the parts for it. Its totally DIY. This free controller has some limitations but still its plug and play, no need to setup anything, all settings are in the firmware. The only extra parameters needed in the AASD-15A drives are the following:
Pn24 = 100
Pn52 = 1
Pn60 = 2
Pn61 = 6

There is no restriction to use it or copy it or modify it to your needs. Feel free to improvise! Heck, you could probably use two of them, and use the second for Traction loss, or active seat belt , or a g-seat... A small modification of the electronic gear would allow such use if you need less turns of the motor etc. Simtools and FlyPT support multiple interfaces!


For more information on the open-hardware-servo-controller see the Github page here:
https://github.com/tronicgr/AMC-open-hardware-servo-controller-4DOF





The limitations/features of the AMC-Open-Hardware-4DOF-Shield are:

  • 4DOF only
  • 100mm stroke
  • 45kHz pulse rate (max motor speed 2500RPM)
  • 800 times per second updates (3ms delay in Simtools or FlyPT).
  • No LCD or encoder for parameters adjustment
  • Only two manual move test buttons
  • Only e-stop that disables the servos
  • Supports automatic calibration of the actuator (No need to stand up feet together on your actuator, to make sure its positioned all the way down before power up!!!)


In contrast the AMC-AASD15A servo controller has:

  • Supports up to 7 servos (7DOF)
  • Fully detailed LCD menu system
  • up to 2500mm stroke support
  • adjustable stroke, leadscrew, actuator type inline/foldback
  • Belt ratio calculation option
  • Support for rotary actuators
  • 200kHz pulse updates
  • 2000 times per second updates (latency as low as 1ms in Simtools)
  • Platform Check safety option
  • E-stop, Park/Standby, Force Offline buttons and switches
  • Automatic calibration without limit switches
  • Remote parameters via PC software interface or Terminal.
  • Rolling Average Filter for anti-vibration pulses on the servomotor
  • Spike Filter to automatically eliminate jolts from non-linear motion cues 




Thanos
San Diego, California
USA, 2019

Thursday, October 24, 2019

6DOF platform from PT-ACTUATOR


Here is a quick presentation of a 6DOF platform that can be used for race of flight simulation. You can always use your own recessed frame instead of the one provided but the thing about the existing frame is that is very light and modular for easy shipping in a crate. These new actuators offer huge motion range and speed (800mm/s) and combined with these heavy duty universal joint can support even a full size Cessna cockpit.




Motion controller: AMC-AASD15A

Actuator specifications:
-Foldback
-600mm stroke
-800mm/s speed
-Ball screw 2525, lead pitch 25mm/rev
-Motor 2.5kw

6DOF platform dynamic load specs: 400kg+


The metal structure comes in pieces that you can assemble together for easy shipping via smaller size crate.



For more information check out the PT-ACTUATOR website:
http://www.pt-actuator.com/


Thanos
San Diego, California
USA, 2019

Tuesday, October 8, 2019

AMC-AASD15A servo controller development - Completed?

Join the Thanos Discord channel Conversations now!! https://discord.gg/bx4PxYR



AMC-AASD15A and 150mm stroke actuator


After a few months of developing and beta testing the AMC-AASD15A servo controller is now the most safe and comprehensive motion controller for servomotors using direct  Step/DIR control method. At this point it not only support the AASD-15A (and AASD-20A) servo drives, but also Syntron HS servo drives and Dorna M1 Servo drives with custom wiring for 44pin cables.

It features great safety features like, automatic home calibration on power up or hot-plug data cable connection, or Platform Check to constantly check the state of each actuator for failures from over-current or over-torque and if any of the actuators fail and gets disabled, will safely park the rest active actuators to home position to prevent motion with less actuators until the issue is resolved. Additionally there are inputs to hook up emergency stop switch, manual park/standby button and force offline switch to pause the motion without interrupting the simulation game.

While the AMC-AASD15A is plug and play regarding the wiring, you may need to adjust a few parameters in the LCD user menu regarding the actuator model. The control panel has a few controls to allow navigation of the user menu, as well to manually test the motion of the actuators without motion software connection:




The latest firmware v2.07 allows use of actuators of any stroke length, and calculates and sets the model of the servo internally using a few simple parameters by the user that can be set differently for each actuator if needed:
*Leadscrew size (4mm/rev, 5mm/rev, 10mm/rev and 25mm/rev supported)
*Belt Ratio (1:1, 1:1.5 , 1:2 ratios suported)
*Inline or Foldback motor actuator mount methods
*Actuator Stroke

The max actuator stroke calculation depends on the Leadscrew size used and the belt ratio (if belt is used, usually only on Foldback type actuators). See a chart of the possible combinations and their effect on the max available stroke length that the AMC-AASD15A controller can handle.


LeadscrewRatioMax Stroke
4mm/rev1:1580mm
4mm/rev1:1.5390mm
4mm/rev1:2290mm
5mm/rev1:1640mm
5mm/rev1:1.5430mm
5mm/rev1:2320mm
10mm/rev1:11290mm
10mm/rev1:1.5860mm
10mm/rev1:2640mm
25mm/rev1:12500mm
25mm/rev1:1.51660mm
25mm/rev1:21250mm

If you are looking for custom size actuators, you could inquiry on PT-ACTUATOR, they do custom actuators except the listed stroke sizes on their website.



AMC-AASD15A menu walkthrough - Firmware 2.06



All the recent firmware update history as well additional information can be seen here:
https://github.com/tronicgr/AMC-AASD15A-Firmware



Apart from that, the AMC-AASD15A servo controller now supports 7 servos by adding an extra DB25 connector on the side. Easy to replicate PCB was created and available to order from OSHPark. You can now order that allows easy attachment of the BD25 connector without wiring, just a 2.54mm header (male and female): https://oshpark.com/shared_projects/pSGlJpx4

The 3D printed enclosure was updated to accommodate for this extra servo port as well.
https://www.thingiverse.com/thing:3648091


3D printed enclosure with Servo7-aux DB25 




Regarding the motion software support, Simtools 2.4 release has now included a "AMC" interface plugin that includes the AMC-AASD15A in the supported devices allowing to use 7 axis. Also there is available a AMC config tool to access and modify the parameters in the AMC-AASD15A that you can download here:
https://github.com/tronicgr/AMC-AASD15A-Firmware/tree/master/Simtools_interface_plugin



There is an expensive playlist on YouTube with all videos regarding the AMC-AASD15A, that includes tutorials and many demonstrations on actual motion platforms:



If you are interested in the AMC-AASD15A Servomotor Motion controller please visit:
And feel free to join my Discord for latest news, or ask questions!



Thanks



Thanos
San Diego, California
USA, 2019

Monday, May 27, 2019

New firmware for easy AASD-15A Servomotor interfacing

Hello,

After years to integrating many different type of motors in the AMC1280USB, in 2017 I added support for servomotors via Servo signal conditioner and Encoder2position modules. These worked good converting the complex signals required for the servomotors to simple inputs/outputs that the standard AMC1280USB firmware can handle (speed control, PID position feedback etc).

But recently I had inquiries from SFX100 users for possibility to use the AMC1280USB to be able to have Simtools compatibility. The SFX100 system is using AASD-15A servo drives that lack some extra outputs that can be used for limit switches so it didn't seem easy to be adapted using the standard AMC1280USB + Servo circuitry. It is too expensive too anyways and complex to make.

So I followed a new route. I decided to completely rebuild the firmware to control the AASD-15A drives via Pulses and implement local position index in the memory of the AMC1280USB controller. But I needed a way to also be able to calibrate the actuators on power up so I can properly set the position of the index to match the actuator position otherwise, if the actuator is powered in middle position it might exceed the total stroke and damage possibly the actuator mechanics and even damage the servo drive electronics if torque limits does not catch it.

So I went above and beyond and made it so it will automatically detect the presence of a AASD-15A drive connection and calibrate it without using limit switches. As soon its detected it will move slowly the motor until a hard stop is detected. It will then set that as home position and will calculate automatically the position index for all the rest functions. The new functions include Automatic Park position and Automatic Standby position that will move to slowly when needed. No more jumping to center on power up.

So to keep it short, you can now interface the AASD-15A servos on the AMC1280USB main board using the standard PWM outputs and some extra inputs on the analog connectors. A few resistors and capacitors are needed to filter out some noise from the servo drives, but the rest of the wiring is simple:



See below example wiring to a DB25 Breakout. I soldered the resistors/capacitors on two little protoboards on the analog input headers to save space:



If you want to follow the development of this and more information behind it have a read here:
https://www.racedepartment.com/threads/thanos-amc-aasd15a-6axis-servo-motion-controller-thread.168360/


Here are some videos of the early testing and development:
https://www.youtube.com/watch?v=uYIHCzh1y70
https://www.youtube.com/watch?v=jN0v-o8rO_4
https://www.youtube.com/watch?v=xEuViFLL30g
https://www.youtube.com/watch?v=_M_0hFuBGr0
https://www.youtube.com/watch?v=95BDoeKeVOM
https://www.youtube.com/watch?v=Oa9BuOf2Ahw
https://www.youtube.com/watch?v=mXnQd-3nCvw

The new firmware that supports the AASD-15A servos has now different menu options:
https://www.youtube.com/watch?v=7PHO2lXDVp0

Here is a performance test with Simtools:
https://www.youtube.com/watch?v=lAcbuN0G4Rw
https://www.youtube.com/watch?v=TxNCuexjeIs
https://www.youtube.com/watch?v=Bxt33jLWi70



So after implementing all in the AMC1280SUB controller, I decided I wanted a single board that you can plug these AASD-15A servos directly without having to make custom wiring and breakout connectors etc... Thus the AMC-AASD15A servo controller was born.



The unique design allows direct plug of these AASD-15A servos using off the shelve DB25 male-male cables (Straight). A truly plug and play system at last!

Closer look of the AMC-AASD15A servo controller:
https://www.youtube.com/watch?v=zdYMb59cb80

Plug and play calibration feature:
https://www.youtube.com/watch?v=09cawPWzgGs

Here is testing two servos:
https://www.youtube.com/watch?v=o6RHpGjUKm0

Some explanation of the new options for the LCD menu:
https://www.youtube.com/watch?v=v7YMyHXgLUI

And how to set individual strokes/screw lead pitch/Inline and Foldback actuator types...
https://www.youtube.com/watch?v=FLUT4IHg04s


3D printed enclosure was also designed for the AMC-AASD15A servo controller:
 https://www.thingiverse.com/thing:3648091







The latest firmware for this is same for both AMC1280USB and the AMC-AASD15A boards and can be found here:
https://github.com/tronicgr/AMC-AASD15A-Firmware



Thanks


Thanos
San Diego, California
USA, 2019