development of a customized high precision microcontrolled permament magnet embedded servo motor
- ✔️ Soft tools (compiler, css. eclipse, cmd)
- ✔️ Hard tools (blue big board, launchpad, mootors)
- ✔️ Blinky
- ✔️ Customized cooperative RTOS
- ✔️ SCI based command console
- ✔️ ADC module single ended 15bits
- ✔️ PWM two channel as encoder output
- ✔️ IQMath RAM math library for math acceleration
- ✔️ EQEP cuadrature decoder high and low speed and position managemenr
- ✔️ Internal temperature sensor measurement using ADC
- ✔️ Add schedule module to manage periodic task
- ✔️ Spin motor reading his pos and speed
- ✔️ PWM 3 phase openloop (added sample video)
- ✔️ Port the project to controlBoard and do the fitst spin! (see video)
- ✔️ controlBoard closed loop with LEM fitst aproach! (see video)
- ✔️ PWM callibrate using ipark and svgen
- ✔️ PWM follows mechanical angle 'current loop' at 5k
- ✔️ Iq inchoate PI closed loop, but works
- ✔️ MOLDOVA here I'm! spinning szgh13380CC motors
- ✔️ fanuc servomotor experimetation
- ✔️ mitsubishi servomotor experimetation
- ✔️ step/dir emulation from console works!
- ✔️ first set of curves controlling pos+vel+iq
- ✔️ absolute position calc from realative in feedback
- ✔️ sin generator sinusoidal and step function work
- ✔️ step dir using isr to connect to a controller
- ✔️ testing on a 4 poles motor and it work
- ✔️ prototype arrives! It's huge!
- ✔️ prototype works! 0.2m/seg max until now, but works
- ✔️ connected to a chinise CNC works!
- 🚧 bode plot
- 🚧 scratch materplan
- 🚧 merging example fcl with my own code
- 🚧 trying to manage BiA128 fanuc encoder
- 🚧 Testing current loop parameters
- 🚧 Speed loop
- 🔴 Sigma delta ADC decoder
- 🔴 Shunt current close loop
- 🔴 IQMath ROM math library for math acceleration on C2000 ROM
- 🔴 Dual core compilation
- 🔴 Dual core interconnect IPC
If you're
README
has a lot of info, section headers might be nice.
- Installation
- motorsszch
- fanuc
- mitsubishi
- gnuplot
- Features
- proto
- cnc
- Contributing
- Team
- FAQ
- Support
- Hierarchy
- License
I'm beggining the test using this motor
Take care about the pinout of CN2, it's refered as in the driver not regarding the pinout indicating in the DB15 connector
I figure out the original pinout and parameters from the chines manufacturer:
There it's a big motor in actiion to test if the encoder work as we suspect:
I'd manage to figure out that inside fanuc encoder it has all kind of output not only the absolute position encoder, like analog sin/cos and incremental quadradture
fanuc encoder pinout from datasheet pag 235
trying to test a servo motor mitsubishi from a stopped machine that has an absolute encoder with an alarm. I'd manage to test the analog output but nor the absolute output becouse I haven't their protocol, but at least I measure inside and aquire power supply pinout asi in pictures:
I've addedd gnuplot dir to visualize the data from servodriver using a set of log and also recompile picocomo to add log functionality. There are a first curves:
I've added sinusoidal and step function generator to test the response, see the videos and figures:
testing a 4 poles instead of 8 and mixing encoders
...and comes the prototype!! ? It's more than a proto!
testing the prototype at full speed full length and full voltage:
connected to a CNC with pulse and direction:
sasha force test (don't try by youserlf!):
I've used internal transceivers to receive pulse and dir diferential signalign from cnc. I've use a CAN transceiver for pulse and a rs485 from encoder , both isolated
.
├── 2837xD_FLASH_lnk_cpu1_cmd
├── 2837xD_FLASH_lnk_cpu1.cmd
├── 2837xD_RAM_lnk_cpu1_cmd
├── 2837xD_RAM_lnk_cpu1.cmd
├── Debug
│ ├── ccsObjs.opt
│ ├── driverlib
│ │ ├── adc.d
│ │ ├── adc.obj
│ │ ├── asysctl.d
│ │ ├── asysctl.obj
│ │ ├── can.d
│ │ ├── can.obj
│ │ ├── cla.d
│ │ ├── cla.obj
│ │ ├── cmpss.d
│ │ ├── cmpss.obj
│ │ ├── cputimer.d
│ │ ├── cputimer.obj
│ │ ├── dac.d
│ │ ├── dac.obj
│ │ ├── dcsm.d
│ │ ├── dcsm.obj
│ │ ├── dma.d
│ │ ├── dma.obj
│ │ ├── ecap.d
│ │ ├── ecap.obj
│ │ ├── emif.d
│ │ ├── emif.obj
│ │ ├── epwm.d
│ │ ├── epwm.obj
│ │ ├── eqep.d
│ │ ├── eqep.obj
│ │ ├── flash.d
│ │ ├── flash.obj
│ │ ├── gpio.d
│ │ ├── gpio.obj
│ │ ├── hrpwm.d
│ │ ├── hrpwm.obj
│ │ ├── i2c.d
│ │ ├── i2c.obj
│ │ ├── interrupt.d
│ │ ├── interrupt.obj
│ │ ├── mcbsp.d
│ │ ├── mcbsp.obj
│ │ ├── memcfg.d
│ │ ├── memcfg.obj
│ │ ├── sci.d
│ │ ├── sci.obj
│ │ ├── sdfm.d
│ │ ├── sdfm.obj
│ │ ├── spi.d
│ │ ├── spi.obj
│ │ ├── subdir_rules.mk
│ │ ├── subdir_vars.mk
│ │ ├── sysctl.d
│ │ ├── sysctl.obj
│ │ ├── upp.d
│ │ ├── upp.obj
│ │ ├── version.d
│ │ ├── version.obj
│ │ ├── xbar.d
│ │ └── xbar.obj
│ ├── lib
│ │ ├── subdir_rules.mk
│ │ └── subdir_vars.mk
│ ├── libraries
│ │ ├── control
│ │ │ ├── ctrl
│ │ │ │ └── source
│ │ │ │ ├── ctrl.d
│ │ │ │ ├── subdir_rules.mk
│ │ │ │ └── subdir_vars.mk
│ │ │ ├── fwc
│ │ │ │ └── source
│ │ │ │ ├── fwc.d
│ │ │ │ ├── subdir_rules.mk
│ │ │ │ └── subdir_vars.mk
│ │ │ ├── mtpa
│ │ │ │ └── source
│ │ │ │ ├── mtpa.d
│ │ │ │ ├── subdir_rules.mk
│ │ │ │ └── subdir_vars.mk
│ │ │ ├── pi
│ │ │ │ └── source
│ │ │ │ ├── pi.d
│ │ │ │ ├── subdir_rules.mk
│ │ │ │ └── subdir_vars.mk
│ │ │ ├── pid
│ │ │ │ └── source
│ │ │ │ ├── pid.d
│ │ │ │ ├── subdir_rules.mk
│ │ │ │ └── subdir_vars.mk
│ │ │ ├── vsf
│ │ │ │ └── source
│ │ │ │ ├── subdir_rules.mk
│ │ │ │ ├── subdir_vars.mk
│ │ │ │ └── vsf.d
│ │ │ └── vs_freq
│ │ │ └── source
│ │ │ ├── subdir_rules.mk
│ │ │ ├── subdir_vars.mk
│ │ │ └── vs_freq.d
│ │ ├── fcl
│ │ │ └── lib
│ │ │ ├── subdir_rules.mk
│ │ │ └── subdir_vars.mk
│ │ ├── filter
│ │ │ ├── filter_fo
│ │ │ │ └── source
│ │ │ │ ├── filter_fo.d
│ │ │ │ ├── subdir_rules.mk
│ │ │ │ └── subdir_vars.mk
│ │ │ ├── filter_so
│ │ │ │ └── source
│ │ │ │ ├── filter_so.d
│ │ │ │ ├── subdir_rules.mk
│ │ │ │ └── subdir_vars.mk
│ │ │ └── offset
│ │ │ └── source
│ │ │ ├── offset.d
│ │ │ ├── subdir_rules.mk
│ │ │ └── subdir_vars.mk
│ │ ├── math
│ │ │ └── source
│ │ │ ├── FPUmathTables.obj
│ │ │ ├── sincos.obj
│ │ │ ├── sqrt.obj
│ │ │ ├── subdir_rules.mk
│ │ │ └── subdir_vars.mk
│ │ ├── observers
│ │ │ ├── est
│ │ │ │ └── source
│ │ │ │ ├── subdir_rules.mk
│ │ │ │ ├── subdir_vars.mk
│ │ │ │ ├── user.d
│ │ │ │ └── user_dm.d
│ │ │ ├── fast
│ │ │ │ └── lib
│ │ │ │ └── f28004x
│ │ │ │ ├── subdir_rules.mk
│ │ │ │ └── subdir_vars.mk
│ │ │ └── slip
│ │ │ └── source
│ │ │ ├── slip.d
│ │ │ ├── subdir_rules.mk
│ │ │ └── subdir_vars.mk
│ │ ├── sfra
│ │ │ ├── examples
│ │ │ │ ├── cmd
│ │ │ │ │ ├── subdir_rules.mk
│ │ │ │ │ └── subdir_vars.mk
│ │ │ │ ├── drivers
│ │ │ │ │ └── f28004x
│ │ │ │ │ └── source
│ │ │ │ │ ├── device.d
│ │ │ │ │ ├── sfra_examples_hal.d
│ │ │ │ │ ├── subdir_rules.mk
│ │ │ │ │ └── subdir_vars.mk
│ │ │ │ └── example1_stb
│ │ │ │ └── source
│ │ │ │ ├── example1_stb.d
│ │ │ │ ├── subdir_rules.mk
│ │ │ │ └── subdir_vars.mk
│ │ │ ├── gui
│ │ │ │ ├── source
│ │ │ │ │ ├── sfra_gui_scicomms_driverlib.d
│ │ │ │ │ ├── subdir_rules.mk
│ │ │ │ │ └── subdir_vars.mk
│ │ │ │ ├── subdir_rules.mk
│ │ │ │ └── subdir_vars.mk
│ │ │ └── lib
│ │ │ ├── subdir_rules.mk
│ │ │ └── subdir_vars.mk
│ │ ├── transforms
│ │ │ ├── clarke
│ │ │ │ └── source
│ │ │ │ ├── clarke.d
│ │ │ │ ├── subdir_rules.mk
│ │ │ │ └── subdir_vars.mk
│ │ │ ├── ipark
│ │ │ │ └── source
│ │ │ │ ├── ipark.d
│ │ │ │ ├── subdir_rules.mk
│ │ │ │ └── subdir_vars.mk
│ │ │ ├── park
│ │ │ │ └── source
│ │ │ │ ├── park.d
│ │ │ │ ├── subdir_rules.mk
│ │ │ │ └── subdir_vars.mk
│ │ │ └── svgen
│ │ │ └── source
│ │ │ ├── subdir_rules.mk
│ │ │ ├── subdir_vars.mk
│ │ │ ├── svgen_current.d
│ │ │ └── svgen.d
│ │ └── utilities
│ │ ├── angle_gen
│ │ │ └── source
│ │ │ ├── angle_gen.d
│ │ │ ├── subdir_rules.mk
│ │ │ └── subdir_vars.mk
│ │ ├── cpu_time
│ │ │ └── source
│ │ │ ├── cpu_time.d
│ │ │ ├── subdir_rules.mk
│ │ │ └── subdir_vars.mk
│ │ ├── datalog
│ │ │ └── source
│ │ │ ├── datalog.d
│ │ │ ├── dlog_4ch_f.d
│ │ │ ├── subdir_rules.mk
│ │ │ └── subdir_vars.mk
│ │ ├── diagnostic
│ │ │ └── source
│ │ │ ├── graph.d
│ │ │ ├── subdir_rules.mk
│ │ │ └── subdir_vars.mk
│ │ ├── queue
│ │ │ └── source
│ │ │ ├── queue.d
│ │ │ ├── subdir_rules.mk
│ │ │ └── subdir_vars.mk
│ │ └── traj
│ │ └── source
│ │ ├── subdir_rules.mk
│ │ ├── subdir_vars.mk
│ │ └── traj.d
│ ├── makefile
│ ├── objects.mk
│ ├── sources.mk
│ ├── src
│ │ ├── adc_.d
│ │ ├── adc_.obj
│ │ ├── cbuffer.d
│ │ ├── cbuffer.obj
│ │ ├── device.d
│ │ ├── device.obj
│ │ ├── eqep_.d
│ │ ├── eqep_.obj
│ │ ├── events.d
│ │ ├── events.obj
│ │ ├── everythings.d
│ │ ├── everythings.obj
│ │ ├── F2837xD_CodeStartBranch.obj
│ │ ├── fcl_qep_f2837x_tmdxiddk.d
│ │ ├── leds.d
│ │ ├── leds.obj
│ │ ├── main.d
│ │ ├── main.obj
│ │ ├── parser.d
│ │ ├── parser.obj
│ │ ├── pwm.d
│ │ ├── schedule.d
│ │ ├── schedule.obj
│ │ ├── scia.d
│ │ ├── scia.obj
│ │ ├── sm.d
│ │ ├── sm.obj
│ │ ├── subdir_rules.mk
│ │ ├── subdir_vars.mk
│ │ ├── systick.d
│ │ ├── systick.obj
│ │ ├── wdog.d
│ │ └── wdog.obj
│ ├── subdir_rules.mk
│ ├── subdir_vars.mk
│ └── utils
│ ├── cmdline.d
│ ├── subdir_rules.mk
│ ├── subdir_vars.mk
│ ├── ustdlib.d
│ └── ustdlib.obj
├── doc
│ ├── datasheet
│ │ ├── controlBoard.pdf
│ │ ├── controlBoard_sch.pdf
│ │ ├── fanuc_A860-2020-T301_pinout.txt
│ │ ├── fanuc_bia128.pdf
│ │ ├── fanuc_serie_beta.pdf
│ │ ├── fcl_sensored_pmsm_iddk_users_guide.pdf
│ │ ├── IndutrialDrivesRev[2.2.1].pdf
│ │ ├── spru514_c_compiler.pdf
│ │ ├── sprui77c_launchpad.pdf
│ │ ├── spruip4.pdf
│ │ └── spruiq4.pdf
│ ├── pics
│ │ ├── controlcard.jpeg
│ │ ├── fanuc_encoder_pinout_datasheet.png
│ │ ├── fanuc_encoder_pinout.jpg
│ │ ├── launchpad_detailed.jpg
│ │ ├── launchpad.jpeg
│ │ ├── mitsubishi_encoder1.jpg
│ │ ├── mitsubishi_encoder2.jpg
│ │ ├── mitsubishi_motor.jpg
│ │ ├── moldova.jpg
│ │ ├── motor_szgh.jpg
│ │ ├── motor_szgh_parameters.jpg
│ │ ├── motor_szgh_pinout_chinese.jpg
│ │ ├── motor_szgh_pinout.jpg
│ │ └── TMDXIDDK379D.jpeg
│ ├── ref
│ │ ├── 3-Phase AC Motor Controller.pdf
│ │ ├── AN1958_NXP.pdf
│ │ ├── eqep_ex2_calculation.xls
│ │ ├── JCRA2010_modules_Clarke_publicado.pdf
│ │ ├── pid_demistified.pdf
│ │ ├── servo_control.pdf
│ │ └── SF2_MC_Park_InvPark_Clarke_InvClarke_Transforms_UG.pdf
│ └── videos
│ ├── encoder_manual.gif
│ ├── fanuc_analog_output.gif
│ ├── fanuc_analog_output.mp4
│ ├── fanuc_qep_output.gif
│ ├── fanuc_qep_output.mp4
│ ├── info.txt
│ ├── level2open_loop.gif
│ ├── level5closed_loop.gif
│ ├── pwm_3ph_openloop.gif
│ ├── pwm.gif
│ ├── sci.gif
│ ├── speedup_fanuc_analog_output.mp4
│ ├── speedup_fanuc_qep_output.mp4
│ └── szgh13380cc_runnning.gif
├── driverlib
│ ├── adc.c
│ ├── adc.h
│ ├── asysctl.c
│ ├── asysctl.h
│ ├── can.c
│ ├── can.h
│ ├── cla.c
│ ├── cla.h
│ ├── cmpss.c
│ ├── cmpss.h
│ ├── cpu.h
│ ├── cputimer.c
│ ├── cputimer.h
│ ├── dac.c
│ ├── dac.h
│ ├── dcsm.c
│ ├── dcsm.h
│ ├── debug.h
│ ├── device.h
│ ├── dma.c
│ ├── dma.h
│ ├── driverlib.h
│ ├── ecap.c
│ ├── ecap.h
│ ├── emif.c
│ ├── emif.h
│ ├── epwm.c
│ ├── epwm.h
│ ├── eqep.c
│ ├── eqep.h
│ ├── flash.c
│ ├── flash.h
│ ├── gpio.c
│ ├── gpio.h
│ ├── hrpwm.c
│ ├── hrpwm.h
│ ├── i2c.c
│ ├── i2c.h
│ ├── inc
│ │ ├── hw_adc.h
│ │ ├── hw_asysctl.h
│ │ ├── hw_can.h
│ │ ├── hw_cla.h
│ │ ├── hw_clbxbar.h
│ │ ├── hw_cmpss.h
│ │ ├── hw_cputimer.h
│ │ ├── hw_dac.h
│ │ ├── hw_dcsm.h
│ │ ├── hw_dma.h
│ │ ├── hw_ecap.h
│ │ ├── hw_emif.h
│ │ ├── hw_epwm.h
│ │ ├── hw_epwmxbar.h
│ │ ├── hw_eqep.h
│ │ ├── hw_flash.h
│ │ ├── hw_gpio.h
│ │ ├── hw_hrpwm.h
│ │ ├── hw_i2c.h
│ │ ├── hw_inputxbar.h
│ │ ├── hw_ints.h
│ │ ├── hw_ipc.h
│ │ ├── hw_mcbsp.h
│ │ ├── hw_memcfg.h
│ │ ├── hw_memmap.h
│ │ ├── hw_nmi.h
│ │ ├── hw_outputxbar.h
│ │ ├── hw_pie.h
│ │ ├── hw_sci.h
│ │ ├── hw_sdfm.h
│ │ ├── hw_spi.h
│ │ ├── hw_sysctl.h
│ │ ├── hw_types.h
│ │ ├── hw_upp.h
│ │ ├── hw_xbar.h
│ │ └── hw_xint.h
│ ├── interrupt.c
│ ├── interrupt.h
│ ├── mcbsp.c
│ ├── mcbsp.h
│ ├── memcfg.c
│ ├── memcfg.h
│ ├── pin_map.h
│ ├── sci.c
│ ├── sci.h
│ ├── sdfm.c
│ ├── sdfm.h
│ ├── spi.c
│ ├── spi.h
│ ├── sysctl.c
│ ├── sysctl.h
│ ├── upp.c
│ ├── upp.h
│ ├── version.c
│ ├── version.h
│ ├── xbar.c
│ └── xbar.h
├── flash.sh
├── include
│ ├── abi_prefix.h
│ ├── assert.h
│ ├── autoinit.h
│ ├── boot_hooks.h
│ ├── complex
│ ├── complex.h
│ ├── cpp_inline_math.h
│ ├── cpy_tbl.h
│ ├── crc_defines.h
│ ├── crc_tbl.h
│ ├── ctype.h
│ ├── cxxabi.h
│ ├── _data_synch.h
│ ├── _defs.h
│ ├── elfnames.h
│ ├── errno.h
│ ├── exception.stdh
│ ├── fenv.h
│ ├── fenv-softfloat.h
│ ├── file.h
│ ├── float.h
│ ├── _fmt_specifier.h
│ ├── inttypes.h
│ ├── IQmathLib.h
│ ├── _isfuncdcl.h
│ ├── _isfuncdef.h
│ ├── iso646.h
│ ├── limits.h
│ ├── linkage.h
│ ├── locale.h
│ ├── _lock.h
│ ├── lowlev.h
│ ├── math_blocks
│ │ ├── aci_fe_const.h
│ │ ├── aci_fe.h
│ │ ├── aci_se_const.h
│ │ ├── aci_se.h
│ │ ├── angle_math.h
│ │ ├── clarke.h
│ │ ├── com_trig.h
│ │ ├── cur_const.h
│ │ ├── cur_mod.h
│ │ ├── dmctype.h
│ │ ├── ~Docs
│ │ │ └── DMC MATH_v13.1.pdf
│ │ ├── impulse.h
│ │ ├── ipark.h
│ │ ├── mod6_cnt.h
│ │ ├── park.h
│ │ ├── pid_grando.h
│ │ ├── pid_reg3.h
│ │ ├── pi.h
│ │ ├── pi_reg4.h
│ │ ├── rampgen.h
│ │ ├── readme.txt
│ │ ├── resolver.h
│ │ ├── rmp2cntl.h
│ │ ├── rmp3cntl.h
│ │ ├── rmp_cntl.h
│ │ ├── sin_cos_table.h
│ │ ├── smopos_const.h
│ │ ├── smopos.h
│ │ ├── speed_est.h
│ │ ├── speed_fr.h
│ │ ├── speed_pr.h
│ │ ├── svgen_comm.h
│ │ ├── svgen_dpwm.h
│ │ ├── svgen.h
│ │ ├── svgen_mf.h
│ │ ├── vhzprof.h
│ │ └── volt_calc.h
│ ├── math.h
│ ├── _mutex.h
│ ├── new.stdh
│ ├── opt.h
│ ├── pprof.h
│ ├── _pthread.h
│ ├── _reg_mutex_api.h
│ ├── _reg_synch_api.h
│ ├── setjmp.h
│ ├── signal.h
│ ├── stdalign.h
│ ├── stdarg.h
│ ├── stdbool.h
│ ├── stddef.h
│ ├── _stdint40.h
│ ├── stdint.h
│ ├── stdio.h
│ ├── stdlibf.h
│ ├── stdlib.h
│ ├── stdnoreturn.h
│ ├── string.h
│ ├── strings.h
│ ├── tgmath.h
│ ├── _ti_config.h
│ ├── time.h
│ ├── _tls.h
│ ├── trgdrv.h
│ ├── typeinfo.stdh
│ ├── wchar.h
│ └── wctype.h
├── lib
│ ├── IQmath_fpu32_coff.lib
│ ├── IQmath_fpu32.lib
│ └── rts2800_fpu32.lib
├── libraries
│ ├── control
│ │ ├── ctrl
│ │ │ ├── include
│ │ │ │ ├── ctrl.h
│ │ │ │ ├── ctrl_obj.h
│ │ │ │ └── ctrl_states.h
│ │ │ └── source
│ │ │ └── ctrl.c
│ │ ├── fwc
│ │ │ ├── include
│ │ │ │ └── fwc.h
│ │ │ └── source
│ │ │ └── fwc.c
│ │ ├── mtpa
│ │ │ ├── include
│ │ │ │ └── mtpa.h
│ │ │ └── source
│ │ │ └── mtpa.c
│ │ ├── pi
│ │ │ ├── include
│ │ │ │ └── pi.h
│ │ │ └── source
│ │ │ └── pi.c
│ │ ├── pid
│ │ │ ├── include
│ │ │ │ └── pid.h
│ │ │ └── source
│ │ │ └── pid.c
│ │ ├── vsf
│ │ │ ├── include
│ │ │ │ └── vsf.h
│ │ │ └── source
│ │ │ └── vsf.c
│ │ └── vs_freq
│ │ ├── include
│ │ │ └── vs_freq.h
│ │ └── source
│ │ └── vs_freq.c
│ ├── fcl
│ │ ├── docs
│ │ │ └── fast_current_loop_library_users_guide.pdf
│ │ ├── include
│ │ │ ├── fcl_cpu_cla.h
│ │ │ └── fcl_pi.h
│ │ └── lib
│ │ ├── fcl_cpu_cla_coff.lib
│ │ ├── fcl_cpu_cla_eabi.lib
│ │ └── fcl_cpu_cla.lib
│ ├── filter
│ │ ├── filter_fo
│ │ │ ├── include
│ │ │ │ └── filter_fo.h
│ │ │ └── source
│ │ │ └── filter_fo.c
│ │ ├── filter_so
│ │ │ ├── include
│ │ │ │ └── filter_so.h
│ │ │ └── source
│ │ │ └── filter_so.c
│ │ └── offset
│ │ ├── include
│ │ │ └── offset.h
│ │ └── source
│ │ └── offset.c
│ ├── math
│ │ ├── include
│ │ │ └── math.h
│ │ └── source
│ │ ├── FPUmathTables.asm
│ │ ├── sincos.asm
│ │ └── sqrt.asm
│ ├── observers
│ │ ├── est
│ │ │ ├── include
│ │ │ │ ├── est_Flux_states.h
│ │ │ │ ├── est.h
│ │ │ │ ├── est_Ls_states.h
│ │ │ │ ├── est_Rr_states.h
│ │ │ │ ├── est_Rs_states.h
│ │ │ │ ├── est_states.h
│ │ │ │ ├── est_Traj_states.h
│ │ │ │ ├── motor.h
│ │ │ │ └── userParams.h
│ │ │ └── source
│ │ │ ├── user.c
│ │ │ └── user_dm.c
│ │ ├── fast
│ │ │ └── lib
│ │ │ └── f28004x
│ │ │ └── f28004x_fast_rom_symbols_fpu32.lib
│ │ └── slip
│ │ ├── include
│ │ │ └── slip.h
│ │ └── source
│ │ └── slip.c
│ ├── position_sensing
│ │ └── qep
│ │ └── include
│ │ └── qep_defs.h
│ ├── sfra
│ │ ├── C2000SoftwareFrequencyResponseAnalyzer_1_40_00_manifest.html
│ │ ├── docs
│ │ │ └── sfra_library_users_guide.html
│ │ ├── examples
│ │ │ ├── ccs
│ │ │ │ ├── example1_stb_f28004x_f32_coff.projectspec
│ │ │ │ ├── example1_stb_f28004x_f32_eabi.projectspec
│ │ │ │ ├── example1_stb_f28004x_f32_tmu_coff.projectspec
│ │ │ │ └── example1_stb_f28004x_f32_tmu_eabi.projectspec
│ │ │ ├── cmd
│ │ │ │ ├── f28004x_flash_lnk.cmd
│ │ │ │ └── f28004x_flash_lnk_eabi.cmd
│ │ │ ├── drivers
│ │ │ │ └── f28004x
│ │ │ │ ├── include
│ │ │ │ │ ├── device.h
│ │ │ │ │ ├── driverlib.h
│ │ │ │ │ ├── sfra_examples_hal.h
│ │ │ │ │ └── sfra_examples_settings.h
│ │ │ │ └── source
│ │ │ │ ├── device.c
│ │ │ │ └── sfra_examples_hal.c
│ │ │ └── example1_stb
│ │ │ ├── debug
│ │ │ │ └── setupdebugenv.js
│ │ │ ├── include
│ │ │ │ └── example1_stb.h
│ │ │ └── source
│ │ │ └── example1_stb.c
│ │ ├── gui
│ │ │ ├── Abt.Controls.SciChart.Wpf.dll
│ │ │ ├── CompDesigner.exe
│ │ │ ├── Comp.xml
│ │ │ ├── include
│ │ │ │ └── sfra_gui_scicomms_driverlib.h
│ │ │ ├── SFRAData.csv
│ │ │ ├── SFRA_GUI.exe
│ │ │ ├── SFRA_GUI_MC.exe
│ │ │ └── source
│ │ │ └── sfra_gui_scicomms_driverlib.c
│ │ ├── include
│ │ │ └── sfra_f32.h
│ │ ├── lib
│ │ │ ├── sfra_f32_coff.lib
│ │ │ ├── sfra_f32_eabi.lib
│ │ │ ├── sfra_f32_tmu_coff.lib
│ │ │ ├── sfra_f32_tmu_eabi.lib
│ │ │ └── sfra.lib
│ │ ├── release_notes.pdf
│ │ ├── scripts
│ │ │ ├── FRADataExtraction.m
│ │ │ ├── FRAData.xlsx
│ │ │ ├── SFRAData.csv
│ │ │ ├── STB_Data_Compare_with_model.m
│ │ │ └── STB_Run.xlsx
│ │ └── TILAW305447v1clickwrap.pdf
│ ├── transforms
│ │ ├── clarke
│ │ │ ├── include
│ │ │ │ └── clarke.h
│ │ │ └── source
│ │ │ └── clarke.c
│ │ ├── ipark
│ │ │ ├── include
│ │ │ │ └── ipark.h
│ │ │ └── source
│ │ │ └── ipark.c
│ │ ├── park
│ │ │ ├── include
│ │ │ │ └── park.h
│ │ │ └── source
│ │ │ └── park.c
│ │ └── svgen
│ │ ├── include
│ │ │ ├── svgen_current.h
│ │ │ └── svgen.h
│ │ └── source
│ │ ├── svgen.c
│ │ └── svgen_current.c
│ └── utilities
│ ├── angle_gen
│ │ ├── include
│ │ │ └── angle_gen.h
│ │ └── source
│ │ └── angle_gen.c
│ ├── cpu_time
│ │ ├── include
│ │ │ └── cpu_time.h
│ │ └── source
│ │ └── cpu_time.c
│ ├── datalog
│ │ ├── include
│ │ │ ├── datalog.h
│ │ │ └── dlog_4ch_f.h
│ │ └── source
│ │ ├── datalog.c
│ │ └── dlog_4ch_f.c
│ ├── diagnostic
│ │ ├── include
│ │ │ └── graph.h
│ │ └── source
│ │ └── graph.c
│ ├── math_blocks
│ │ └── include
│ │ ├── CLA_v1.0
│ │ │ ├── ACI_FE_CLA.h
│ │ │ ├── ACI_FE_CONST_CLA.h
│ │ │ ├── ACI_SE_CLA.h
│ │ │ ├── ACI_SE_CONST_CLA.h
│ │ │ ├── CLARKE_CLA.h
│ │ │ ├── iPARK_CLA.h
│ │ │ ├── PARK_CLA.h
│ │ │ ├── PI_CLA.h
│ │ │ ├── RAMP_CTL_CLA.h
│ │ │ ├── RAMP_GEN_CLA.h
│ │ │ ├── SMO_CONST_CLA.h
│ │ │ ├── SMOPOS_CLA.h
│ │ │ ├── SMOPOS_CONST_CLA.h
│ │ │ ├── SPEED_EST_CLA.h
│ │ │ ├── SVGEN_CLA.h
│ │ │ └── VOLT_CALC_CLA.h
│ │ └── math_blocks
│ │ ├── aci_fe_const.h
│ │ ├── aci_fe.h
│ │ ├── aci_se_const.h
│ │ ├── aci_se.h
│ │ ├── angle_math.h
│ │ ├── clarke.h
│ │ ├── com_trig.h
│ │ ├── cur_const.h
│ │ ├── cur_mod.h
│ │ ├── dmctype.h
│ │ ├── ~Docs
│ │ │ └── DMC MATH_v13.1.pdf
│ │ ├── impulse.h
│ │ ├── ipark.h
│ │ ├── mod6_cnt.h
│ │ ├── park.h
│ │ ├── pid_grando.h
│ │ ├── pid_reg3.h
│ │ ├── pi.h
│ │ ├── pi_reg4.h
│ │ ├── rampgen.h
│ │ ├── readme.txt
│ │ ├── resolver.h
│ │ ├── rmp2cntl.h
│ │ ├── rmp3cntl.h
│ │ ├── rmp_cntl.h
│ │ ├── sin_cos_table.h
│ │ ├── smopos_const.h
│ │ ├── smopos.h
│ │ ├── speed_est.h
│ │ ├── speed_fr.h
│ │ ├── speed_pr.h
│ │ ├── svgen_comm.h
│ │ ├── svgen_dpwm.h
│ │ ├── svgen.h
│ │ ├── svgen_mf.h
│ │ ├── vhzprof.h
│ │ └── volt_calc.h
│ ├── queue
│ │ ├── include
│ │ │ └── queue.h
│ │ └── source
│ │ └── queue.c
│ ├── traj
│ │ ├── include
│ │ │ └── traj.h
│ │ └── source
│ │ └── traj.c
│ └── types
│ └── include
│ └── types.h
├── ram.sh
├── README.md
├── src
│ ├── adc_.c
│ ├── adc_.h
│ ├── cbuffer.c
│ ├── cbuffer.h
│ ├── device.c
│ ├── eqep_.c
│ ├── eqep_.h
│ ├── events.c
│ ├── events.h
│ ├── everythings.c
│ ├── everythings.h
│ ├── F2837xD_CodeStartBranch.asm
│ ├── fcl_qep_f2837x_tmdxiddk.c
│ ├── leds.c
│ ├── leds.h
│ ├── main.c
│ ├── parser.c
│ ├── parser.h
│ ├── pwm.c
│ ├── pwm.h
│ ├── schedule.c
│ ├── schedule.h
│ ├── scia.c
│ ├── scia.h
│ ├── sm.c
│ ├── sm.h
│ ├── systick.c
│ ├── systick.h
│ ├── wdog.c
│ └── wdog.h
├── tags
├── targetConfigs
│ ├── readme.txt
│ └── TMS320F28379D.ccxml
├── types_c.taghl
├── user_files
│ ├── configs
│ │ └── f28379d.ccxml
│ ├── images
│ │ └── servo_pmsm.out -> ../../Debug/servo_pmsm.out
│ └── settings
│ └── generated.ufsettings
└── utils
├── cmdline.c
├── cmdline.h
├── makefile_ram2flash.sh
├── ustdlib.c
└── ustdlib.h
202 directories, 651 files
pslavkin | neo | doe |
---|---|---|
github.com/pslavkin |
github.com/pslavkin |
github.com/pslavkin |
Reach out to me at one of the following places!
- MIT license
- Copyright 2019 © FVCproductions.