SLIDE 23 Introduction BLDC/PMSM Motor Control Other Projects BLDC Motor Basic BLDC Motor Control Realized by RPi with SPI FPGA Peripheral Xilinx Zynq-7000 FPGA and Control
RPi PMSM Motor Control Simulink Diagram
Raspberry Pi Permanent Magnet Synchronous Motor Control
PMSM motor is connected to 3p-motor-driver designed by PiKRON. SPI connected rpi-mi-1 FPGA interface is used for IRC, HAL and current ADC input and for PWM generation. FPGA design by Martin Prudek. The simplified control algorithm in based on PiKRON's PXMC motion control library sources by Pavel Pisa. More about DCE FEE CTU Linux ERT target and projects at
http://lintarget.sourceforge.net
Simpler version without d-componet compensation
IRC-display IRC-scope sfPMSMonSPI PMSMonSPI int32 int32 int32 double (3) int32
Controller w RSTs r red I u I P Subsys PSD double Position Request double RESET double Active Output Range double
Anti Windup double Position double Pos Trajectory double
Double Click to run model on RPi
Current 3 [1x3] PWM_VAL double (3) [1 1 1] PWM_EN double (3)
132
Current-display round Round1 3 double (3) [1x3] Current_offs double (3) 3 double (3) K*u Gain double (3) Manual PWM SW 3 double (3) [0.0 -0.0] PWM_VAL1 double (2) alp,bet a,b,c Inv Clarke double (3) a, b, c alp, bet Clarke 3 double (2)
196 Current-display1 round Round 2 double (2) d,q angle rad alp,bet Inv Park double (2) Manual Alp bet 2 double (2) [0.0 0.0] PWM_VAL2 double (2) Manual D Q 2 double (2) double (2) d=0 double 1000 IRC per com uint32 irc_val irc_indx irc_occur hal irc_per_com irc_ph_shift phase rad IRC to phase single [phase_rad] phase_rad [phase_rad] phase_rad 1 single 62 Com phase deg
Gain1 single round Rad 2 Deg single 0.011204867108941 Current-display2 alp, bet angle rad d, q Park double (2) 2 [phase_rad] phase_rad 2 single Current1 IRC-speed int32 Convert IRC int32 to Real double z 1 Unit Delay int32 55 IRC Phase Shift double
Index Pos
Pavel Pisa pisa@cmp.felk.cvut.cz CC BY-SA GNU/Linux and FPGA in Control