This sounds doable as long as there is space on the fpga for a lookup-table
and you can get the commutation tuned correctly (I guess the
tuning/alignment process is already required and works ok for the current
bldc implementation).

Could you somehow verify that the non-optimal behavior or problems you are
seeing actually are because of commutation?
OR, would it be possible that simple PWM ("voltage"?) control with a
PID-loop that gets feedback from the encoder is quite hard and doesn't work
well at high RPM even with a 250us servo-thread?

I once tried using current-sensing chips from IRF that produce PWM-output -
this could be one option if you want to try a current-loop.

Anders



On Wed, Jul 10, 2013 at 12:05 PM, propcoder <marius.alks...@gmail.com>wrote:

> Last month I tried running bldc motors (8 poles, 3000rpm max) with
> LinuxCNC and MESA 5i23, 7i43 and 7i39. I am quite happy now, but I see
> the limitations of this set: sine commutation is rough at higher speeds.
> Motors do run on 5i23 at 200-250us servo period, but not very smooth and
> such period is too short for 7i43.
> I think even 7i43 would be capable of running such motors smoothly at
> max speed if sine lookup and commutation would be made in FPGA by hardware.
>
> I am thinking about new, corrected firmware for BLDC motors, which would
> be superior over current LinuxCNC/hostmot2/bldc solution. Now I am
> talking about "qi" mode only. And it is the only mode I would need.
>
> What I would like it to be is similar functionality, just more tasks
> done by FPGA itself. The main point is to transfer sine commutation. I
> understand these things have to be changed:
>
>  1. Encoder to electric angle conversion by FPGA (configurable
>     parameters, such as scale and encoder offset);
>  2. computing or table-lookup of sine function in FPGA;
>  3. remove 3pwmgen.nn.A-value, B-value, C-value and similar pins from
>     hm2 component / driver.
>
> LinuxCNC would pass only value (amplitude) to every axis every servo
> period only. This way commutation would be much faster and would require
> less host CPU power.
>
> What do you think about all this?
> What are the possibilities? Who is competent enough to make firmware,
> drivers? I am programming LinuxCNC components by myself, but never
> touched FPGA or similar programming.
>
> Marius
>
>
>
>
> ------------------------------------------------------------------------------
> See everything from the browser to the database with AppDynamics
> Get end-to-end visibility with application monitoring from AppDynamics
> Isolate bottlenecks and diagnose root cause in seconds.
> Start your free trial of AppDynamics Pro today!
> http://pubads.g.doubleclick.net/gampad/clk?id=48808831&iu=/4140/ostg.clktrk
> _______________________________________________
> Emc-users mailing list
> Emc-users@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/emc-users
>
------------------------------------------------------------------------------
See everything from the browser to the database with AppDynamics
Get end-to-end visibility with application monitoring from AppDynamics
Isolate bottlenecks and diagnose root cause in seconds.
Start your free trial of AppDynamics Pro today!
http://pubads.g.doubleclick.net/gampad/clk?id=48808831&iu=/4140/ostg.clktrk
_______________________________________________
Emc-users mailing list
Emc-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/emc-users

Reply via email to