Underestimating the PowerPSoC?

Discussions relating to motion control theory and algorithms used in the OpenServo.

Moderators: jharvey, Secondary Admin, Admins

Post Reply
Robotaxonomist
Posts: 4
Joined: Fri Feb 11, 2011 5:58 pm
Location: Boston, Massachusetts

Underestimating the PowerPSoC?

Post by Robotaxonomist » Sun Feb 13, 2011 7:02 am

I've seen some posts about the Cypress PSoC architecture on here before, but nothing that really lives up to the PSoC's potential. Consider this a small primer.

Yes, the PSoC has amplifiers and FETs. But that's not really all that it's about. PSoCs are a fairly complete analog toolbox; even allowing you to build analog computing circuits with the 6 available op-amps (which are distinct from the other power amplifiers available). The PID loop could be completely executed by an on-board analog computing circuit, with its parameters actively adjusted and tuned in software. This leaves the CPU free to focus on intelligently tuning the parameters of the loop, executing trajectories, and maybe even navigating the parameters of an application-specific load. And the 16 bit modulators give us plenty of control over the output before it's amplified.

The tricky part, however, is not whether the PSoC can compute the PID loop entirely in real-time analog... it's whether the PSoC can do a completely on-board H-bridge. The PSoC has 4 low-side N-channel FETs, each capable of 1 Amp each. So that gives us two amps for two sides of the lower half of the bridge. The high-side current-sense amplifiers can be the top of the bridge, but with a catch... while you can set the output of an amplifier to anything you want, it isn't really the same as an open circuit. If you want to brake the circuit by clamping the motor to ground on both sides, you have to drag the amplifiers with it. You can set the amplifier output to 0, but I wonder if that would really be safe for the amplifier to be essentially tied to a generator.

The one annoying part about the development software is that it's Windows only, based on the damned (dot)NET libraries. Don't expect this to work in Wine.

Post Reply

Who is online

Users browsing this forum: No registered users and 0 guests