pi3hat r4.4

It seems like all the posts I’m writing these days are for new products! Here’s the pi3hat r4.4:

There are two changes from the previous r4.2. First, it now supports voltage inputs up to 44V. Second, in support of future upgrades, the 5th CAN-FD port has been upgraded to support 8Mbps, but downgraded to no longer have a wide common mode voltage range.

THUS, IT IS NOT SAFE TO CONNECT THE CAN-FD PORT ON THE pi3hat r4.4 TO A power_dist r3.X BOARD.

qdd100 beta 2

I’d like to introduce the qdd100 beta 2!

This is the newest version of a quasi-direct-drive servo from mjbots. It has a sleek new look, and improved performance all around:

Beta 1 Beta 2
Peak Torque 12.5 Nm 16 Nm
Backlash +- 0.2 degrees +- 0.1 degrees
Voltage Range 10-34V 10-44V
Mass 470g 475g

Comparison from beta 1 to the new beta 2

Additionally, the M3 mounting holes are now 3mm deep instead of the previous 2mm, which gives more flexibility when designing mounts.

moteus firmware release 2021-01-14

Sometimes you find bugs, and sometimes the bugs find you! While getting ready to release some updated qdd100 beta servos, I was investigating speed control in the moteus firmware and discovered an unwelcome surprise!

Voltage feedforward

To improve dynamic response under high accelerations, moteus uses a voltage feedforward term as part of its control loop. When trying to command a specific current, it normally applies a PI controller to determine the resulting D and Q phase voltages to apply. The feedforward component of this looks at the phase resistance and the current rotor velocity, and determines a zeroth order estimate of what voltage would be required to achieve that current under a no-load condition, only using the PI controller to determine the difference.

power_dist load test circuit

While testing some variants and new versions of the power_dist board, I wanted to be able to simulate the types of loads that it experiences with a fully loaded robot. Some things are easy, like this capacitor attached to an XT30 connector:

I also have giant power resistors in a similar form factor:

However, a dumb load resistor isn’t a particularly representative load. Most likely, the loads that a power_dist will drive are active loads with switching regulators. When the output voltage is lower, the current will be correspondingly higher. That is especially important when validating pre-charge behavior, because it means that the current is much higher during the initial pre-charge window than it would be for a pure resistive load.

Microscope mount

I’ve been using a relatively inexpensive microscope for SMD soldering work for some time, connected via HDMI to a 24" monitor.

For the price, I’m definitely happy with it, but as I’ve been doing more soldering work, I’ve become less happy with the mounting stand. The arm it mounts to often does not reach far enough to get the optics over the part of the board in question, or the base is too tall or wide to fit under it. If you want to examine something from the side, you have to tip the entire base over. I have resorted to spinning the microscope around and counterbalancing the base with a large weight, which works for some definition of “works” but only improves the reach by a little bit.

new product day: mj5208 brushless motor

Welcome to the newest mjbots.com product, the mj5208:

This is a high quality 5208 sized 330Kv wound brushless motor with short pigtails intended to connect to moteus controllers. All the moteus devkits as of last week are shipping using this motor instead of the previous “semi-random” motor.

Specifications:

  • Peak torque: 1.7 Nm
  • Mass (with wires): 193g
  • Peak power: 600W
  • Kv: 330
  • Dimensions: 63x25mm

There are two bolt patterns on the output, a 3x M3 17mm diameter one, and a 2x M3 pattern spaced at 12mm. The stator side has a 4x M3 pattern spaced at 25mm radially and a 3x M2.5 spaced at 32mm. The axle protrudes a few mm from the stator, making it easy to adhere the diametric magnets needed for moteus.

New cross-platform moteus tools!

After receiving many requests via youtube, discord, and email, I’ve finally gone ahead, bitten the bullet, and updated all of the moteus tools to be pure python and work in a cross platform manner. Now, the only thing you need to do to install pre-compiled versions of tview and moteus tool on most* platforms is:

pip3 install moteus_gui
python3 -m moteus_gui.tview    # (or maybe just tview)
python3 -m moteus.moteus_tool  # (or maybe just moteus_tool)

I’ve personally tested these on Linux, Windows, and Raspberry Pi, and others have at least verified basic operation on Macs. Python 3.7 or greater is required.