├── GBR.rar ├── DOCs ├── MD.JPG ├── UC.JPG ├── mos.JPG ├── Back_img.png ├── PCB_img.JPG ├── Scheme.pdf ├── _3D_view.png ├── _3d_view.JPG ├── Front_img.png ├── _3d_view_V2.JPG ├── Power_stage_sch.JPG ├── Bill of material.xlsx └── Voltage_converters.JPG ├── DRIVER_8323_based-rescue.dcm ├── Kicad_files ├── DRIVER_8323_based-rescue.dcm ├── GBR.rar ├── sym-lib-table ├── DRIVER_8323_based-rescue.lib ├── DRIVER_8323_based.pro └── DRIVER_8323_based-cache.lib ├── PMSM_mot_files ├── FOC_PMSM_code │ ├── SVPWM.h │ ├── park_clarke.h │ ├── modelparam.h │ ├── sine.h │ ├── PID.h │ ├── park_clarke.c │ ├── PID.c │ ├── sine.c │ ├── SVPWM.c │ ├── SPWM_STM32f103C8.ioc │ └── main.c └── PMSM_foc_mod.slx ├── GBR ├── DRIVER_8323_based-GND.pdf ├── DRIVER_8323_based-PWR.pdf ├── DRIVER_8323_based-B_Cu.pdf ├── DRIVER_8323_based-B_Mask.pdf ├── DRIVER_8323_based-F_Cu.pdf ├── DRIVER_8323_based-F_Mask.pdf ├── DRIVER_8323_based-B_Paste.pdf ├── DRIVER_8323_based-B_SilkS.pdf ├── DRIVER_8323_based-F_Paste.pdf ├── DRIVER_8323_based-F_SilkS.pdf ├── DRIVER_8323_based-Edge_Cuts.pdf ├── DRIVER_8323_based-NPTH.drl ├── DRIVER_8323_based-Edge_Cuts.gbr ├── DRIVER_8323_based-job.gbrjob ├── DRIVER_8323_based-B_Paste.gbr ├── DRIVER_8323_based-PTH.drl ├── DRIVER_8323_based-B_Mask.gbr └── DRIVER_8323_based-F_SilkS.gbr ├── PDFs_schem └── DRIVER_8323_based.pdf ├── BLDC_mot_files ├── models │ └── BLDC_speedcontrol_PWM.slx └── CL_BLDC_motor_code │ ├── CL_BLDC_motor.ioc │ └── main.c ├── DC_mot_files └── simulink_models │ ├── singleDC_motor.slx │ └── position_control.slx ├── sym-lib-table ├── README.md ├── LICENSE ├── DRIVER_8323_based-rescue.lib ├── DRIVER_8323_based.pro └── DRIVER_8323_based-cache.lib /GBR.rar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/M-K-O-Hybrid-open-source/Iskander/HEAD/GBR.rar -------------------------------------------------------------------------------- /DOCs/MD.JPG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/M-K-O-Hybrid-open-source/Iskander/HEAD/DOCs/MD.JPG -------------------------------------------------------------------------------- /DOCs/UC.JPG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/M-K-O-Hybrid-open-source/Iskander/HEAD/DOCs/UC.JPG -------------------------------------------------------------------------------- /DOCs/mos.JPG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/M-K-O-Hybrid-open-source/Iskander/HEAD/DOCs/mos.JPG -------------------------------------------------------------------------------- /DRIVER_8323_based-rescue.dcm: -------------------------------------------------------------------------------- 1 | EESchema-DOCLIB Version 2.0 2 | # 3 | #End Doc Library 4 | -------------------------------------------------------------------------------- /DOCs/Back_img.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/M-K-O-Hybrid-open-source/Iskander/HEAD/DOCs/Back_img.png -------------------------------------------------------------------------------- /DOCs/PCB_img.JPG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/M-K-O-Hybrid-open-source/Iskander/HEAD/DOCs/PCB_img.JPG -------------------------------------------------------------------------------- /DOCs/Scheme.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/M-K-O-Hybrid-open-source/Iskander/HEAD/DOCs/Scheme.pdf -------------------------------------------------------------------------------- /DOCs/_3D_view.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/M-K-O-Hybrid-open-source/Iskander/HEAD/DOCs/_3D_view.png -------------------------------------------------------------------------------- /DOCs/_3d_view.JPG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/M-K-O-Hybrid-open-source/Iskander/HEAD/DOCs/_3d_view.JPG -------------------------------------------------------------------------------- /Kicad_files/DRIVER_8323_based-rescue.dcm: -------------------------------------------------------------------------------- 1 | EESchema-DOCLIB Version 2.0 2 | # 3 | #End Doc Library 4 | -------------------------------------------------------------------------------- /DOCs/Front_img.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/M-K-O-Hybrid-open-source/Iskander/HEAD/DOCs/Front_img.png -------------------------------------------------------------------------------- /Kicad_files/GBR.rar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/M-K-O-Hybrid-open-source/Iskander/HEAD/Kicad_files/GBR.rar -------------------------------------------------------------------------------- /DOCs/_3d_view_V2.JPG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/M-K-O-Hybrid-open-source/Iskander/HEAD/DOCs/_3d_view_V2.JPG -------------------------------------------------------------------------------- /DOCs/Power_stage_sch.JPG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/M-K-O-Hybrid-open-source/Iskander/HEAD/DOCs/Power_stage_sch.JPG -------------------------------------------------------------------------------- /PMSM_mot_files/FOC_PMSM_code/SVPWM.h: -------------------------------------------------------------------------------- 1 | void SVPWM(double I,double J,double K, double* S1, double* S2, double* S3); 2 | -------------------------------------------------------------------------------- /DOCs/Bill of material.xlsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/M-K-O-Hybrid-open-source/Iskander/HEAD/DOCs/Bill of material.xlsx -------------------------------------------------------------------------------- /DOCs/Voltage_converters.JPG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/M-K-O-Hybrid-open-source/Iskander/HEAD/DOCs/Voltage_converters.JPG -------------------------------------------------------------------------------- /GBR/DRIVER_8323_based-GND.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/M-K-O-Hybrid-open-source/Iskander/HEAD/GBR/DRIVER_8323_based-GND.pdf -------------------------------------------------------------------------------- /GBR/DRIVER_8323_based-PWR.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/M-K-O-Hybrid-open-source/Iskander/HEAD/GBR/DRIVER_8323_based-PWR.pdf -------------------------------------------------------------------------------- /GBR/DRIVER_8323_based-B_Cu.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/M-K-O-Hybrid-open-source/Iskander/HEAD/GBR/DRIVER_8323_based-B_Cu.pdf -------------------------------------------------------------------------------- /GBR/DRIVER_8323_based-B_Mask.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/M-K-O-Hybrid-open-source/Iskander/HEAD/GBR/DRIVER_8323_based-B_Mask.pdf -------------------------------------------------------------------------------- /GBR/DRIVER_8323_based-F_Cu.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/M-K-O-Hybrid-open-source/Iskander/HEAD/GBR/DRIVER_8323_based-F_Cu.pdf -------------------------------------------------------------------------------- /GBR/DRIVER_8323_based-F_Mask.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/M-K-O-Hybrid-open-source/Iskander/HEAD/GBR/DRIVER_8323_based-F_Mask.pdf -------------------------------------------------------------------------------- /PDFs_schem/DRIVER_8323_based.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/M-K-O-Hybrid-open-source/Iskander/HEAD/PDFs_schem/DRIVER_8323_based.pdf -------------------------------------------------------------------------------- /PMSM_mot_files/PMSM_foc_mod.slx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/M-K-O-Hybrid-open-source/Iskander/HEAD/PMSM_mot_files/PMSM_foc_mod.slx -------------------------------------------------------------------------------- /GBR/DRIVER_8323_based-B_Paste.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/M-K-O-Hybrid-open-source/Iskander/HEAD/GBR/DRIVER_8323_based-B_Paste.pdf -------------------------------------------------------------------------------- /GBR/DRIVER_8323_based-B_SilkS.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/M-K-O-Hybrid-open-source/Iskander/HEAD/GBR/DRIVER_8323_based-B_SilkS.pdf -------------------------------------------------------------------------------- /GBR/DRIVER_8323_based-F_Paste.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/M-K-O-Hybrid-open-source/Iskander/HEAD/GBR/DRIVER_8323_based-F_Paste.pdf -------------------------------------------------------------------------------- /GBR/DRIVER_8323_based-F_SilkS.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/M-K-O-Hybrid-open-source/Iskander/HEAD/GBR/DRIVER_8323_based-F_SilkS.pdf -------------------------------------------------------------------------------- /GBR/DRIVER_8323_based-Edge_Cuts.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/M-K-O-Hybrid-open-source/Iskander/HEAD/GBR/DRIVER_8323_based-Edge_Cuts.pdf -------------------------------------------------------------------------------- /BLDC_mot_files/models/BLDC_speedcontrol_PWM.slx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/M-K-O-Hybrid-open-source/Iskander/HEAD/BLDC_mot_files/models/BLDC_speedcontrol_PWM.slx -------------------------------------------------------------------------------- /DC_mot_files/simulink_models/singleDC_motor.slx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/M-K-O-Hybrid-open-source/Iskander/HEAD/DC_mot_files/simulink_models/singleDC_motor.slx -------------------------------------------------------------------------------- /DC_mot_files/simulink_models/position_control.slx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/M-K-O-Hybrid-open-source/Iskander/HEAD/DC_mot_files/simulink_models/position_control.slx -------------------------------------------------------------------------------- /sym-lib-table: -------------------------------------------------------------------------------- 1 | (sym_lib_table 2 | (lib (name DRIVER_8323_based-rescue)(type Legacy)(uri ${KIPRJMOD}/DRIVER_8323_based-rescue.lib)(options "")(descr "")) 3 | ) 4 | -------------------------------------------------------------------------------- /Kicad_files/sym-lib-table: -------------------------------------------------------------------------------- 1 | (sym_lib_table 2 | (lib (name DRIVER_8323_based-rescue)(type Legacy)(uri ${KIPRJMOD}/DRIVER_8323_based-rescue.lib)(options "")(descr "")) 3 | ) 4 | -------------------------------------------------------------------------------- /GBR/DRIVER_8323_based-NPTH.drl: -------------------------------------------------------------------------------- 1 | M48 2 | ; DRILL file {KiCad (5.1.6)-1} date 04/02/21 16:52:29 3 | ; FORMAT={-:-/ absolute / metric / decimal} 4 | ; #@! TF.CreationDate,2021-04-02T16:52:29+02:00 5 | ; #@! TF.GenerationSoftware,Kicad,Pcbnew,(5.1.6)-1 6 | ; #@! TF.FileFunction,NonPlated,1,4,NPTH 7 | FMAT,2 8 | METRIC 9 | % 10 | G90 11 | G05 12 | T0 13 | M30 14 | -------------------------------------------------------------------------------- /PMSM_mot_files/FOC_PMSM_code/park_clarke.h: -------------------------------------------------------------------------------- 1 | #define one_root3 .5773503 2 | #define two_root3 1.154700 3 | #include "sine.h" 4 | #include "math.h" 5 | 6 | void clarke_trans(float Ia,float Ib,float *Ialpha_ptr, float *Ibeta_ptr); 7 | void park_trans(float Ialpha,float Ibeta,float theta, float *Iq_ptr, float *Id_ptr); 8 | void park_inv_trans(float Iq,float Id, float theta, float *Iaplha_ptr, float *Ibeta_ptr); 9 | void clarke_inv_trans(float Ialpha,float Ibeta,float *Ia, float *Ib, float *Ic); 10 | 11 | -------------------------------------------------------------------------------- /PMSM_mot_files/FOC_PMSM_code/modelparam.h: -------------------------------------------------------------------------------- 1 | // motor c/ch 2 | #define Rs 18.7 3 | #define Ls .02682 4 | #define Phmig .1717 5 | 6 | 7 | #define Jm 2.26e-5 8 | #define Bv 1.1e-4 9 | #define Zp 2 10 | 11 | #define Vdc 300 12 | #define alpha .9 13 | 14 | #define zeta .707 15 | 16 | 17 | // velocity controller 18 | #define alphav .8 19 | #define a Bv/Jm 20 | #define b 1.5*Zp*Zp*Phmig*alphav/Jm 21 | #define zetav .707 22 | #define BWv 16.7 23 | #define Kcv (2*zetav*BWv-a)/b 24 | #define tauiv (2*zetav*BWv-a)/(BWv*BWv) 25 | 26 | 27 | // Id controller 28 | #define BWd (1/(1-alpha))*Rs/Ls 29 | #define Kcd 2/zeta*BWd*Ls-Rs 30 | #define tauid Kcq/(Ls*BWd*BWd) 31 | 32 | // Iq controller 33 | #define BWq (1/(1-alpha))*Rs/Ls 34 | #define Kcq 2/zeta*BWq*Ls-Rs 35 | #define tauiq Kcq/(Ls*BWq*BWq) 36 | 37 | -------------------------------------------------------------------------------- /PMSM_mot_files/FOC_PMSM_code/sine.h: -------------------------------------------------------------------------------- 1 | #define sign(a) ( ( (a) < 0 ) ? -1 : ( (a) > 0 ) ) 2 | #define _round(x) ((x)>=0?(long)((x)+0.5):(long)((x)-0.5)) 3 | 4 | #define bit_get(p,m) ((p) & (m)) 5 | #define bit_set(p,m) ((p) |= (m)) 6 | #define bit_clear(p,m) ((p) &= ~(m)) 7 | #define bit_flip(p,m) ((p) ^= (m)) 8 | #define bit_write(c,p,m) (c ? bit_set(p,m) : bit_clear(p,m)) 9 | #define BIT(x) (0x01 << (x)) 10 | #define LONGBIT(x) ((unsigned long)0x00000001 << (x)) 11 | 12 | #define _PI 3.14159265359 13 | #define _PI_2 1.57079632679 14 | #define _PI_3 1.0471975512 15 | #define _2PI 6.28318530718 16 | #define _3PI_2 4.71238898038 17 | 18 | 19 | float _sin(float a); 20 | float _cos(float a); 21 | long map(long x, long in_min, long in_max, long out_min, long out_max); 22 | float maxi( float x,float y,float z ); 23 | float mini( float x,float y,float z ); 24 | -------------------------------------------------------------------------------- /PMSM_mot_files/FOC_PMSM_code/PID.h: -------------------------------------------------------------------------------- 1 | #ifndef PID_CONTROLLER_H 2 | #define PID_CONTROLLER_H 3 | 4 | typedef struct { 5 | 6 | /* Controller gains */ 7 | float Kp; 8 | float Ki; 9 | float Kd; 10 | 11 | /* Derivative low-pass filter time constant */ 12 | float tau; 13 | 14 | /* Output limits */ 15 | float limMin; 16 | float limMax; 17 | 18 | /* Integrator limits */ 19 | float limMinInt; 20 | float limMaxInt; 21 | 22 | /* Sample time (in seconds) */ 23 | float T; 24 | 25 | /* Controller "memory" */ 26 | float integrator; 27 | float prevError; /* Required for integrator */ 28 | float differentiator; 29 | float prevMeasurement; /* Required for differentiator */ 30 | 31 | /* Controller output */ 32 | float out; 33 | 34 | } PIDController; 35 | 36 | void PIDController_Init(PIDController *pid); 37 | float PIDController_Update(PIDController *pid, float setpoint, float measurement); 38 | 39 | #endif 40 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # Iskander 2 | Iskander is an open source driver for low voltage **DC**, **BLDC**, **PMSM** motors, amde specifically for education and learning. 3 | the repo containts some example ocodes and SIMULINK modeles to help you get started. 4 | ![](DOCs/_3d_view_V2.JPG) 5 | 6 | # Main HARDWARE 7 | - STM32f446RE (main micro-controller) 8 | ![](DOCs/UC.JPG) 9 | - DRV8323H (mosfet driver and current sensors) 10 | ![](DOCs/MD.JPG) 11 | - CSD19534Q5A (MOSFETs) 12 | ![](DOCs/mos.JPG) 13 | 14 | # the hardware supports the following drives 15 | ### DC motor supported drives 16 | - open/closed loop speed control. 17 | - torque control. 18 | - cascadded control. 19 | - position control. 20 | 21 | ### BLDC motor supported drives 22 | - open/closed loop sensored speed control (Hall effect sensors) 23 | - sensored cascadded control. 24 | 25 | ### PMSM motor supported drives 26 | - sensored FOC control. 27 | - sensorless control using MRAS as speed estimator(currently under testig). 28 | - sensorless control using EKF as speed estimator(currently under testig). 29 | 30 | 31 | # PCB layout 32 | ![](DOCs/PCB_img.JPG) 33 | 34 | 35 | 36 | 37 | -------------------------------------------------------------------------------- /PMSM_mot_files/FOC_PMSM_code/park_clarke.c: -------------------------------------------------------------------------------- 1 | #include "park_clarke.h" 2 | 3 | 4 | /* input is abc, out is alpha and beta */ 5 | void clarke_trans(float Ia,float Ib,float *Ialpha_ptr, float *Ibeta_ptr){ 6 | *Ialpha_ptr = Ia; 7 | *Ibeta_ptr = one_root3*(Ia+(2*Ib)); 8 | } 9 | 10 | 11 | /* input is alpha nad beta and theta, output is dq */ 12 | void park_trans(float Ialpha,float Ibeta,float theta, float *Iq_ptr, float *Id_ptr){ 13 | *Id_ptr = (Ialpha*cos(theta)+Ibeta*sin(theta)); 14 | *Iq_ptr = (-Ialpha*sin(theta)+Ibeta*cos(theta)); 15 | } 16 | 17 | 18 | /* input is dq and theta, output is alpha and beta */ 19 | void park_inv_trans(float Iq,float Id, float theta, float *Iaplha_ptr, float *Ibeta_ptr){ 20 | *Iaplha_ptr = (Id*cos(theta)-Iq*sin(theta)); 21 | *Ibeta_ptr = (Id*sin(theta)+Iq*cos(theta)); 22 | } 23 | 24 | /* input is alpha and beta ,output is abc */ 25 | void clarke_inv_trans(float Ialpha,float Ibeta,float *Ia, float *Ib, float *Ic){ 26 | *Ia = Ialpha; 27 | *Ib = (-.5*Ialpha) + .86602*Ibeta; 28 | *Ic = (-.5*Ialpha) - .86602*Ibeta; 29 | } 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2021 M-K-O-Hybrid-open-source 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /PMSM_mot_files/FOC_PMSM_code/PID.c: -------------------------------------------------------------------------------- 1 | #include "PID.h" 2 | 3 | void PIDController_Init(PIDController *pid) { 4 | 5 | /* Clear controller variables */ 6 | pid->integrator = 0.0f; 7 | pid->prevError = 0.0f; 8 | 9 | pid->prevMeasurement = 0.0f; 10 | 11 | pid->out = 0.0f; 12 | 13 | } 14 | 15 | float PIDController_Update(PIDController *pid, float setpoint, float measurement) { 16 | 17 | /* 18 | * Error signal 19 | */ 20 | float error = setpoint - measurement; 21 | 22 | 23 | /* 24 | * Proportional 25 | */ 26 | float proportional = pid->Kp * error; 27 | 28 | 29 | /* 30 | * Integral 31 | */ 32 | pid->integrator = pid->integrator + 0.5f * pid->Ki * pid->T * (error + pid->prevError); 33 | 34 | /* Anti-wind-up via integrator clamping */ 35 | if (pid->integrator > pid->limMaxInt) { 36 | 37 | pid->integrator = pid->limMaxInt; 38 | 39 | } else if (pid->integrator < pid->limMinInt) { 40 | 41 | pid->integrator = pid->limMinInt; 42 | 43 | } 44 | 45 | 46 | /* 47 | * Derivative (band-limited differentiator) 48 | */ 49 | 50 | pid->out = proportional + pid->integrator ; 51 | 52 | /* Store error and measurement for later use */ 53 | pid->prevError = error; 54 | pid->prevMeasurement = measurement; 55 | 56 | /* Return controller output */ 57 | return pid->out; 58 | 59 | } 60 | -------------------------------------------------------------------------------- /DRIVER_8323_based-rescue.lib: -------------------------------------------------------------------------------- 1 | EESchema-LIBRARY Version 2.4 2 | #encoding utf-8 3 | # 4 | # DRV8323S-drv8323s 5 | # 6 | DEF DRV8323S-drv8323s U 0 40 Y Y 1 F N 7 | F0 "U" 0 1350 60 H V C CNN 8 | F1 "DRV8323S-drv8323s" 0 0 60 H V C CNN 9 | F2 "" 0 0 60 H I C CNN 10 | F3 "" 0 0 60 H I C CNN 11 | DRAW 12 | S -600 1300 600 -1500 0 1 0 f 13 | X CPL 1 -800 900 200 R 50 50 1 1 B 14 | X SNA 10 800 -1400 200 L 50 50 1 1 I 15 | X SNB 11 800 -1200 200 L 50 50 1 1 I 16 | X SPB 12 800 -1100 200 L 50 50 1 1 I 17 | X GLB 13 800 200 200 L 50 50 1 1 O 18 | X SHB 14 800 300 200 L 50 50 1 1 I 19 | X GHB 15 800 400 200 L 50 50 1 1 O 20 | X GHC 16 800 -100 200 L 50 50 1 1 O 21 | X SHC 17 800 -200 200 L 50 50 1 1 I 22 | X GLC 18 800 -300 200 L 50 50 1 1 O 23 | X SPC 19 800 -900 200 L 50 50 1 1 I 24 | X CPH 2 -800 1000 200 R 50 50 1 1 B 25 | X SNC 20 800 -1000 200 L 50 50 1 1 I 26 | X SOC 21 -800 -1100 200 R 50 50 1 1 O 27 | X SOB 22 -800 -1200 200 R 50 50 1 1 O 28 | X SOA 23 -800 -1300 200 R 50 50 1 1 O 29 | X VREF 24 -800 -1000 200 R 50 50 1 1 I 30 | X ~FAULT 25 800 -600 200 L 50 50 1 1 C 31 | X MODE 26 -800 -600 200 R 50 50 1 1 O 32 | X IDRIVE 27 -800 -500 200 R 50 50 1 1 I 33 | X VDS 28 -800 -700 200 R 50 50 1 1 I 34 | X GAIN 29 -800 -800 200 R 50 50 1 1 I 35 | X VCP 3 -800 1100 200 R 50 50 1 1 B 36 | X ENABLE 30 -800 300 200 R 50 50 1 1 I 37 | X CAL 31 -800 -1400 200 R 50 50 1 1 I 38 | X AGND 32 -800 600 200 R 50 50 1 1 W 39 | X DVDD 33 -800 700 200 R 50 50 1 1 w 40 | X INHA 34 -800 200 200 R 50 50 1 1 I 41 | X INLA 35 -800 100 200 R 50 50 1 1 I 42 | X INHB 36 -800 0 200 R 50 50 1 1 I 43 | X INLB 37 -800 -100 200 R 50 50 1 1 I 44 | X INHC 38 -800 -200 200 R 50 50 1 1 I 45 | X INLC 39 -800 -300 200 R 50 50 1 1 I 46 | X VM 4 -800 1200 200 R 50 50 1 1 W 47 | X PGND 40 -800 500 200 R 50 50 1 1 W 48 | X GND 41 0 -1700 200 U 50 50 1 1 P 49 | X VDRAIN 5 800 1200 200 L 50 50 1 1 I 50 | X GHA 6 800 900 200 L 50 50 1 1 O 51 | X SHA 7 800 800 200 L 50 50 1 1 I 52 | X GLA 8 800 700 200 L 50 50 1 1 O 53 | X SPA 9 800 -1300 200 L 50 50 1 1 I 54 | ENDDRAW 55 | ENDDEF 56 | # 57 | #End Library 58 | -------------------------------------------------------------------------------- /PMSM_mot_files/FOC_PMSM_code/sine.c: -------------------------------------------------------------------------------- 1 | #include "sine.h" 2 | 3 | float sine_array[200] = {0,79,158,237,316,395,473,552,631,710,789,867,946,1024,1103,1181,1260,1338,1416,1494,1572,1650,1728,1806,1883,1961,2038,2115,2192,2269,2346,2423,2499,2575,2652,2728,2804,2879,2955,3030,3105,3180,3255,3329,3404,3478,3552,3625,3699,3772,3845,3918,3990,4063,4135,4206,4278,4349,4420,4491,4561,4631,4701,4770,4840,4909,4977,5046,5113,5181,5249,5316,5382,5449,5515,5580,5646,5711,5775,5839,5903,5967,6030,6093,6155,6217,6279,6340,6401,6461,6521,6581,6640,6699,6758,6815,6873,6930,6987,7043,7099,7154,7209,7264,7318,7371,7424,7477,7529,7581,7632,7683,7733,7783,7832,7881,7930,7977,8025,8072,8118,8164,8209,8254,8298,8342,8385,8428,8470,8512,8553,8594,8634,8673,8712,8751,8789,8826,8863,8899,8935,8970,9005,9039,9072,9105,9138,9169,9201,9231,9261,9291,9320,9348,9376,9403,9429,9455,9481,9506,9530,9554,9577,9599,9621,9642,9663,9683,9702,9721,9739,9757,9774,9790,9806,9821,9836,9850,9863,9876,9888,9899,9910,9920,9930,9939,9947,9955,9962,9969,9975,9980,9985,9989,9992,9995,9997,9999,10000,10000}; 4 | float _sin(float a){ 5 | if(a < _PI_2){ 6 | return 0.0001*sine_array[_round(126.6873* a)]; // int array optimised 7 | } 8 | else if(a < _PI){ 9 | return 0.0001*sine_array[398 - _round(126.6873*a)]; // int array optimised 10 | } 11 | else if(a < _3PI_2){ 12 | return -0.0001*sine_array[-398 + _round(126.6873*a)]; // int array optimised 13 | } 14 | else { 15 | return -0.0001*sine_array[796 - _round(126.6873*a)]; // int array optimised 16 | } 17 | } 18 | 19 | 20 | float _cos(float a){ 21 | float a_sin = a + _PI_2; 22 | a_sin = a_sin > _2PI ? a_sin - _2PI : a_sin; 23 | return _sin(a_sin); 24 | } 25 | 26 | long map(long x, long in_min, long in_max, long out_min, long out_max) 27 | { 28 | return (x - in_min) * (out_max - out_min) / (in_max - in_min) + out_min; 29 | } 30 | 31 | 32 | float maxi( float x,float y,float z ){ 33 | float m; 34 | if ( (x >= y) && (x >= z) ) return x; 35 | else if ( y >= x && (y >= z) ) return y; 36 | else if ( (z >= y) && (z >= x) ) return z; 37 | } 38 | float mini( float x,float y,float z ){ 39 | float m; 40 | if ( (x <= y) && (x <= z) ) return x; 41 | else if ( y <= x && (y <= z) ) return y; 42 | else if ( (z <= y) && (z <= x) ) return z; 43 | } -------------------------------------------------------------------------------- /GBR/DRIVER_8323_based-Edge_Cuts.gbr: -------------------------------------------------------------------------------- 1 | %TF.GenerationSoftware,KiCad,Pcbnew,(5.1.6)-1*% 2 | %TF.CreationDate,2021-03-31T23:30:28+02:00*% 3 | %TF.ProjectId,DRIVER_8323_based,44524956-4552-45f3-9833-32335f626173,rev?*% 4 | %TF.SameCoordinates,Original*% 5 | %TF.FileFunction,Profile,NP*% 6 | %FSLAX46Y46*% 7 | G04 Gerber Fmt 4.6, Leading zero omitted, Abs format (unit mm)* 8 | G04 Created by KiCad (PCBNEW (5.1.6)-1) date 2021-03-31 23:30:29* 9 | %MOMM*% 10 | %LPD*% 11 | G01* 12 | G04 APERTURE LIST* 13 | %TA.AperFunction,Profile*% 14 | %ADD10C,0.050000*% 15 | %TD*% 16 | G04 APERTURE END LIST* 17 | D10* 18 | X136250000Y-82750000D02* 19 | G75* 20 | G02* 21 | X136750000Y-83250000I0J-500000D01* 22 | G01* 23 | X82000000Y-82750000D02* 24 | G75* 25 | G02* 26 | X81250000Y-82000000I0J750000D01* 27 | G01* 28 | X81250000Y-43000000D02* 29 | G75* 30 | G02* 31 | X82000000Y-42250000I750000J0D01* 32 | G01* 33 | X159000000Y-83750000D02* 34 | G75* 35 | G02* 36 | X157500000Y-85250000I-1500000J0D01* 37 | G01* 38 | X159000000Y-83750000D02* 39 | X159000000Y-79000000D01* 40 | X144750000Y-85250000D02* 41 | X146750000Y-85250000D01* 42 | X144750000Y-85250000D02* 43 | G75* 44 | G02* 45 | X140750000Y-89250000I-4000000J0D01* 46 | G01* 47 | X150750000Y-89250000D02* 48 | G75* 49 | G02* 50 | X146750000Y-85250000I0J4000000D01* 51 | G01* 52 | X140750000Y-89250000D02* 53 | G75* 54 | G02* 55 | X136750000Y-85250000I0J4000000D01* 56 | G01* 57 | X154750000Y-85250000D02* 58 | X157500000Y-85250000D01* 59 | X154750000Y-85250000D02* 60 | G75* 61 | G02* 62 | X150750000Y-89250000I-4000000J0D01* 63 | G01* 64 | X156000000Y-42250000D02* 65 | G75* 66 | G02* 67 | X159000000Y-45250000I0J-3000000D01* 68 | G01* 69 | X159000000Y-46500000D02* 70 | X159000000Y-45250000D01* 71 | X159000000Y-58750000D02* 72 | X159000000Y-54000000D01* 73 | X159000000Y-71500000D02* 74 | X159000000Y-66250000D01* 75 | X159000000Y-71500000D02* 76 | G75* 77 | G02* 78 | X159000000Y-79000000I0J-3750000D01* 79 | G01* 80 | X159000000Y-58750000D02* 81 | G75* 82 | G02* 83 | X159000000Y-66250000I0J-3750000D01* 84 | G01* 85 | X159000000Y-46500000D02* 86 | G75* 87 | G02* 88 | X159000000Y-54000000I0J-3750000D01* 89 | G01* 90 | X136750000Y-83250000D02* 91 | X136750000Y-85250000D01* 92 | X82000000Y-82750000D02* 93 | X136250000Y-82750000D01* 94 | X81250000Y-43000000D02* 95 | X81250000Y-82000000D01* 96 | X156000000Y-42250000D02* 97 | X82000000Y-42250000D01* 98 | M02* 99 | -------------------------------------------------------------------------------- /PMSM_mot_files/FOC_PMSM_code/SVPWM.c: -------------------------------------------------------------------------------- 1 | /* inputs are the three voltages 2 | 1- get N 3 | 2- get sctor 4 | 3- get T1,T2,T0 5 | 4- get the three unique values 6 | 5- get S1,S2,S3 duty cycles scaled from 0 to 1 7 | */ 8 | #include "stm32f10x.h" 9 | 10 | 11 | // inputs are the three phase refrance signals, and three adresses to get this values 12 | // this is how to use it in code 13 | // SVPWM(Ia_out,Ib_out,Ic_out,&S1,&S2,&S3); 14 | // here the inputs are the Ia,b,c, adress of double S1,2,3 15 | // and after excuting this function you will get the values of the factor to be multiplyed by the 16 | // timer register 17 | 18 | // dont forget to normalizee the inputs values by the DC bus value, (VA*sqrt(3))/Vdc 19 | // to get a value from -1 and 1 20 | // like the three refrances in the simulation 21 | 22 | 23 | void SVPWM(double I,double J,double K, double* S1, double* S2, double* S3){ 24 | 25 | uint8_t F1,F2,F3,N,sector; 26 | double T1,T2,T0half; 27 | if(I>=0){F1=1;}else{F1=0;} 28 | if(J>=0){F2=1;}else{F2=0;} 29 | if(K>=0){F3=1;}else{F3=0;} 30 | 31 | N=F1+2*F2+4*F3; 32 | 33 | // N condition 34 | switch(N){ 35 | case 1: 36 | sector=6; 37 | break; 38 | case 2: 39 | sector=2; 40 | break; 41 | case 3: 42 | sector=1; 43 | break; 44 | case 4: 45 | sector=4; 46 | break; 47 | case 5: 48 | sector=5; 49 | break; 50 | case 6: 51 | sector=3; 52 | break; 53 | default: 54 | sector=0; 55 | } 56 | 57 | // sector condition 58 | switch(sector){ 59 | case 1: 60 | T1=I; 61 | T2=J; 62 | break; 63 | case 2: 64 | T1=-K; 65 | T2=-I; 66 | break; 67 | case 3: 68 | T1=J; 69 | T2=K; 70 | break; 71 | case 4: 72 | T1=-I; 73 | T2=-J; 74 | break; 75 | case 5: 76 | T1=K; 77 | T2=I; 78 | break; 79 | case 6: 80 | T1=-J; 81 | T2=-K; 82 | break; 83 | } 84 | T0half=.5*(1-T1-T2); 85 | 86 | 87 | // Sfactors 88 | switch(sector){ 89 | case 1: 90 | I=T1+T2+T0half; 91 | J=T2+T0half; 92 | K=T0half; 93 | break; 94 | case 2: 95 | I=T1+T0half; 96 | J=T1+T2+T0half; 97 | K=T0half; 98 | break; 99 | case 3: 100 | I=T0half; 101 | J=T1+T2+T0half; 102 | K=T2+T0half; 103 | break; 104 | case 4: 105 | I=T0half; 106 | J=T1+T0half; 107 | K=T1+T2+T0half; 108 | break; 109 | case 5: 110 | I=T2+T0half; 111 | J=T0half; 112 | K=T1+T2+T0half; 113 | break; 114 | case 6: 115 | I=T1+T2+T0half; 116 | J=T0half; 117 | K=T1+T0half; 118 | break; 119 | default: 120 | I=J=K=0; 121 | } 122 | 123 | *S1=I; 124 | *S2=J; 125 | *S3=K; 126 | 127 | } 128 | 129 | 130 | 131 | 132 | 133 | 134 | -------------------------------------------------------------------------------- /Kicad_files/DRIVER_8323_based-rescue.lib: -------------------------------------------------------------------------------- 1 | EESchema-LIBRARY Version 2.4 2 | #encoding utf-8 3 | # 4 | # DRV8323H-drv8323s 5 | # 6 | DEF DRV8323H-drv8323s U 0 40 Y Y 1 F N 7 | F0 "U" 0 1350 60 H V C CNN 8 | F1 "DRV8323H-drv8323s" 0 0 60 H V C CNN 9 | F2 "" 0 0 60 H I C CNN 10 | F3 "" 0 0 60 H I C CNN 11 | DRAW 12 | S -600 1300 600 -1500 0 1 0 f 13 | X CPL 1 -800 900 200 R 50 50 1 1 B 14 | X SNA 10 800 -1400 200 L 50 50 1 1 I 15 | X SNB 11 800 -1200 200 L 50 50 1 1 I 16 | X SPB 12 800 -1100 200 L 50 50 1 1 I 17 | X GLB 13 800 200 200 L 50 50 1 1 O 18 | X SHB 14 800 300 200 L 50 50 1 1 I 19 | X GHB 15 800 400 200 L 50 50 1 1 O 20 | X GHC 16 800 -100 200 L 50 50 1 1 O 21 | X SHC 17 800 -200 200 L 50 50 1 1 I 22 | X GLC 18 800 -300 200 L 50 50 1 1 O 23 | X SPC 19 800 -900 200 L 50 50 1 1 I 24 | X CPH 2 -800 1000 200 R 50 50 1 1 B 25 | X SNC 20 800 -1000 200 L 50 50 1 1 I 26 | X SOC 21 -800 -1100 200 R 50 50 1 1 O 27 | X SOB 22 -800 -1200 200 R 50 50 1 1 O 28 | X SOA 23 -800 -1300 200 R 50 50 1 1 O 29 | X VREF 24 -800 -1000 200 R 50 50 1 1 I 30 | X ~FAULT 25 800 -600 200 L 50 50 1 1 C 31 | X MODE 26 -800 -600 200 R 50 50 1 1 O 32 | X IDRIVE 27 -800 -500 200 R 50 50 1 1 I 33 | X VDS 28 -800 -700 200 R 50 50 1 1 I 34 | X GAIN 29 -800 -800 200 R 50 50 1 1 I 35 | X VCP 3 -800 1100 200 R 50 50 1 1 B 36 | X ENABLE 30 -800 300 200 R 50 50 1 1 I 37 | X CAL 31 -800 -1400 200 R 50 50 1 1 I 38 | X AGND 32 -800 600 200 R 50 50 1 1 W 39 | X DVDD 33 -800 700 200 R 50 50 1 1 w 40 | X INHA 34 -800 200 200 R 50 50 1 1 I 41 | X INLA 35 -800 100 200 R 50 50 1 1 I 42 | X INHB 36 -800 0 200 R 50 50 1 1 I 43 | X INLB 37 -800 -100 200 R 50 50 1 1 I 44 | X INHC 38 -800 -200 200 R 50 50 1 1 I 45 | X INLC 39 -800 -300 200 R 50 50 1 1 I 46 | X VM 4 -800 1200 200 R 50 50 1 1 W 47 | X PGND 40 -800 500 200 R 50 50 1 1 W 48 | X GND 41 0 -1700 200 U 50 50 1 1 P 49 | X VDRAIN 5 800 1200 200 L 50 50 1 1 I 50 | X GHA 6 800 900 200 L 50 50 1 1 O 51 | X SHA 7 800 800 200 L 50 50 1 1 I 52 | X GLA 8 800 700 200 L 50 50 1 1 O 53 | X SPA 9 800 -1300 200 L 50 50 1 1 I 54 | ENDDRAW 55 | ENDDEF 56 | # 57 | # DRV8323S-drv8323s 58 | # 59 | DEF DRV8323S-drv8323s U 0 40 Y Y 1 F N 60 | F0 "U" 0 1350 60 H V C CNN 61 | F1 "DRV8323S-drv8323s" 0 0 60 H V C CNN 62 | F2 "" 0 0 60 H I C CNN 63 | F3 "" 0 0 60 H I C CNN 64 | DRAW 65 | S -600 1300 600 -1500 0 1 0 f 66 | X CPL 1 -800 900 200 R 50 50 1 1 B 67 | X SNA 10 800 -1400 200 L 50 50 1 1 I 68 | X SNB 11 800 -1200 200 L 50 50 1 1 I 69 | X SPB 12 800 -1100 200 L 50 50 1 1 I 70 | X GLB 13 800 200 200 L 50 50 1 1 O 71 | X SHB 14 800 300 200 L 50 50 1 1 I 72 | X GHB 15 800 400 200 L 50 50 1 1 O 73 | X GHC 16 800 -100 200 L 50 50 1 1 O 74 | X SHC 17 800 -200 200 L 50 50 1 1 I 75 | X GLC 18 800 -300 200 L 50 50 1 1 O 76 | X SPC 19 800 -900 200 L 50 50 1 1 I 77 | X CPH 2 -800 1000 200 R 50 50 1 1 B 78 | X SNC 20 800 -1000 200 L 50 50 1 1 I 79 | X SOC 21 -800 -1100 200 R 50 50 1 1 O 80 | X SOB 22 -800 -1200 200 R 50 50 1 1 O 81 | X SOA 23 -800 -1300 200 R 50 50 1 1 O 82 | X VREF 24 -800 -1000 200 R 50 50 1 1 I 83 | X ~FAULT 25 800 -600 200 L 50 50 1 1 C 84 | X MODE 26 -800 -600 200 R 50 50 1 1 O 85 | X IDRIVE 27 -800 -500 200 R 50 50 1 1 I 86 | X VDS 28 -800 -700 200 R 50 50 1 1 I 87 | X GAIN 29 -800 -800 200 R 50 50 1 1 I 88 | X VCP 3 -800 1100 200 R 50 50 1 1 B 89 | X ENABLE 30 -800 300 200 R 50 50 1 1 I 90 | X CAL 31 -800 -1400 200 R 50 50 1 1 I 91 | X AGND 32 -800 600 200 R 50 50 1 1 W 92 | X DVDD 33 -800 700 200 R 50 50 1 1 w 93 | X INHA 34 -800 200 200 R 50 50 1 1 I 94 | X INLA 35 -800 100 200 R 50 50 1 1 I 95 | X INHB 36 -800 0 200 R 50 50 1 1 I 96 | X INLB 37 -800 -100 200 R 50 50 1 1 I 97 | X INHC 38 -800 -200 200 R 50 50 1 1 I 98 | X INLC 39 -800 -300 200 R 50 50 1 1 I 99 | X VM 4 -800 1200 200 R 50 50 1 1 W 100 | X PGND 40 -800 500 200 R 50 50 1 1 W 101 | X GND 41 0 -1700 200 U 50 50 1 1 P 102 | X VDRAIN 5 800 1200 200 L 50 50 1 1 I 103 | X GHA 6 800 900 200 L 50 50 1 1 O 104 | X SHA 7 800 800 200 L 50 50 1 1 I 105 | X GLA 8 800 700 200 L 50 50 1 1 O 106 | X SPA 9 800 -1300 200 L 50 50 1 1 I 107 | ENDDRAW 108 | ENDDEF 109 | # 110 | #End Library 111 | -------------------------------------------------------------------------------- /GBR/DRIVER_8323_based-job.gbrjob: -------------------------------------------------------------------------------- 1 | { 2 | "Header": 3 | { 4 | "GenerationSoftware": 5 | { 6 | "Vendor": "KiCad", 7 | "Application": "Pcbnew", 8 | "Version": "(5.1.6)-1" 9 | }, 10 | "CreationDate": "2021-03-31T23:30:29+02:00" 11 | }, 12 | "GeneralSpecs": 13 | { 14 | "ProjectId": 15 | { 16 | "Name": "DRIVER_8323_based", 17 | "GUID": "44524956-4552-45f3-9833-32335f626173", 18 | "Revision": "rev?" 19 | }, 20 | "Size": 21 | { 22 | "X": 81.550, 23 | "Y": 47.050 24 | }, 25 | "LayerNumber": 4, 26 | "BoardThickness": 1.600 27 | }, 28 | "DesignRules": 29 | [ 30 | { 31 | "Layers": "Outer", 32 | "PadToPad": 0.200, 33 | "PadToTrack": 0.200, 34 | "TrackToTrack": 0.200, 35 | "MinLineWidth": 0.250, 36 | "TrackToRegion": 0.508, 37 | "RegionToRegion": 0.508 38 | }, 39 | { 40 | "Layers": "Inner", 41 | "PadToPad": 0.200, 42 | "PadToTrack": 0.200, 43 | "TrackToTrack": 0.200, 44 | "TrackToRegion": 0.508, 45 | "RegionToRegion": 0.508 46 | } 47 | ], 48 | "FilesAttributes": 49 | [ 50 | { 51 | "Path": "DRIVER_8323_based-F_Cu.gbr", 52 | "FileFunction": "Copper,L1,Top", 53 | "FilePolarity": "Positive" 54 | }, 55 | { 56 | "Path": "DRIVER_8323_based-GND.gbr", 57 | "FileFunction": "Copper,L2,Inr", 58 | "FilePolarity": "Positive" 59 | }, 60 | { 61 | "Path": "DRIVER_8323_based-PWR.gbr", 62 | "FileFunction": "Copper,L3,Inr", 63 | "FilePolarity": "Positive" 64 | }, 65 | { 66 | "Path": "DRIVER_8323_based-B_Cu.gbr", 67 | "FileFunction": "Copper,L4,Bot", 68 | "FilePolarity": "Positive" 69 | }, 70 | { 71 | "Path": "DRIVER_8323_based-F_Paste.gbr", 72 | "FileFunction": "SolderPaste,Top", 73 | "FilePolarity": "Positive" 74 | }, 75 | { 76 | "Path": "DRIVER_8323_based-B_Paste.gbr", 77 | "FileFunction": "SolderPaste,Bot", 78 | "FilePolarity": "Positive" 79 | }, 80 | { 81 | "Path": "DRIVER_8323_based-F_SilkS.gbr", 82 | "FileFunction": "Legend,Top", 83 | "FilePolarity": "Positive" 84 | }, 85 | { 86 | "Path": "DRIVER_8323_based-B_SilkS.gbr", 87 | "FileFunction": "Legend,Bot", 88 | "FilePolarity": "Positive" 89 | }, 90 | { 91 | "Path": "DRIVER_8323_based-F_Mask.gbr", 92 | "FileFunction": "SolderMask,Top", 93 | "FilePolarity": "Negative" 94 | }, 95 | { 96 | "Path": "DRIVER_8323_based-B_Mask.gbr", 97 | "FileFunction": "SolderMask,Bot", 98 | "FilePolarity": "Negative" 99 | }, 100 | { 101 | "Path": "DRIVER_8323_based-Edge_Cuts.gbr", 102 | "FileFunction": "Profile", 103 | "FilePolarity": "Positive" 104 | } 105 | ], 106 | "MaterialStackup": 107 | [ 108 | { 109 | "Type": "Legend", 110 | "Notes": "Layer F.SilkS" 111 | }, 112 | { 113 | "Type": "SolderPaste", 114 | "Notes": "Layer F.Paste" 115 | }, 116 | { 117 | "Type": "SolderMask", 118 | "Notes": "Layer F.Mask" 119 | }, 120 | { 121 | "Type": "Copper", 122 | "Notes": "Layer F.Cu" 123 | }, 124 | { 125 | "Type": "Dielectric", 126 | "Material": "FR4", 127 | "Notes": "Layers L1/L2" 128 | }, 129 | { 130 | "Type": "Copper", 131 | "Notes": "Layer GND" 132 | }, 133 | { 134 | "Type": "Dielectric", 135 | "Material": "FR4", 136 | "Notes": "Layers L2/L3" 137 | }, 138 | { 139 | "Type": "Copper", 140 | "Notes": "Layer PWR" 141 | }, 142 | { 143 | "Type": "Dielectric", 144 | "Material": "FR4", 145 | "Notes": "Layers L3/L4" 146 | }, 147 | { 148 | "Type": "Copper", 149 | "Notes": "Layer B.Cu" 150 | }, 151 | { 152 | "Type": "SolderMask", 153 | "Notes": "Layer B.Mask" 154 | }, 155 | { 156 | "Type": "SolderPaste", 157 | "Notes": "Layer B.Paste" 158 | }, 159 | { 160 | "Type": "Legend", 161 | "Notes": "Layer B.SilkS" 162 | } 163 | ] 164 | } 165 | -------------------------------------------------------------------------------- /DRIVER_8323_based.pro: -------------------------------------------------------------------------------- 1 | update=4/2/2021 4:58:07 PM 2 | version=1 3 | last_client=kicad 4 | [general] 5 | version=1 6 | RootSch= 7 | BoardNm= 8 | [cvpcb] 9 | version=1 10 | NetIExt=net 11 | [eeschema] 12 | version=1 13 | LibDir= 14 | [eeschema/libraries] 15 | [pcbnew] 16 | version=1 17 | PageLayoutDescrFile= 18 | LastNetListRead= 19 | CopperLayerCount=4 20 | BoardThickness=1.6 21 | AllowMicroVias=0 22 | AllowBlindVias=0 23 | RequireCourtyardDefinitions=0 24 | ProhibitOverlappingCourtyards=1 25 | MinTrackWidth=0.2 26 | MinViaDiameter=0.4 27 | MinViaDrill=0.3 28 | MinMicroViaDiameter=0.2 29 | MinMicroViaDrill=0.09999999999999999 30 | MinHoleToHole=0.25 31 | TrackWidth1=0.25 32 | TrackWidth2=0.5 33 | TrackWidth3=1 34 | TrackWidth4=1.5 35 | TrackWidth5=2 36 | TrackWidth6=2.5 37 | TrackWidth7=3 38 | ViaDiameter1=0.8 39 | ViaDrill1=0.4 40 | ViaDiameter2=0.4 41 | ViaDrill2=0.3 42 | ViaDiameter3=1 43 | ViaDrill3=0.8 44 | ViaDiameter4=1.5 45 | ViaDrill4=1.3 46 | dPairWidth1=0.2 47 | dPairGap1=0.25 48 | dPairViaGap1=0.25 49 | SilkLineWidth=0.12 50 | SilkTextSizeV=1 51 | SilkTextSizeH=1 52 | SilkTextSizeThickness=0.15 53 | SilkTextItalic=0 54 | SilkTextUpright=1 55 | CopperLineWidth=0.2 56 | CopperTextSizeV=1.5 57 | CopperTextSizeH=1.5 58 | CopperTextThickness=0.3 59 | CopperTextItalic=0 60 | CopperTextUpright=1 61 | EdgeCutLineWidth=0.05 62 | CourtyardLineWidth=0.05 63 | OthersLineWidth=0.15 64 | OthersTextSizeV=1 65 | OthersTextSizeH=1 66 | OthersTextSizeThickness=0.15 67 | OthersTextItalic=0 68 | OthersTextUpright=1 69 | SolderMaskClearance=0.05 70 | SolderMaskMinWidth=0 71 | SolderPasteClearance=0 72 | SolderPasteRatio=-0 73 | [pcbnew/Layer.F.Cu] 74 | Name=F.Cu 75 | Type=0 76 | Enabled=1 77 | [pcbnew/Layer.In1.Cu] 78 | Name=GND 79 | Type=1 80 | Enabled=1 81 | [pcbnew/Layer.In2.Cu] 82 | Name=PWR 83 | Type=1 84 | Enabled=1 85 | [pcbnew/Layer.In3.Cu] 86 | Name=In3.Cu 87 | Type=0 88 | Enabled=0 89 | [pcbnew/Layer.In4.Cu] 90 | Name=In4.Cu 91 | Type=0 92 | Enabled=0 93 | [pcbnew/Layer.In5.Cu] 94 | Name=In5.Cu 95 | Type=0 96 | Enabled=0 97 | [pcbnew/Layer.In6.Cu] 98 | Name=In6.Cu 99 | Type=0 100 | Enabled=0 101 | [pcbnew/Layer.In7.Cu] 102 | Name=In7.Cu 103 | Type=0 104 | Enabled=0 105 | [pcbnew/Layer.In8.Cu] 106 | Name=In8.Cu 107 | Type=0 108 | Enabled=0 109 | [pcbnew/Layer.In9.Cu] 110 | Name=In9.Cu 111 | Type=0 112 | Enabled=0 113 | [pcbnew/Layer.In10.Cu] 114 | Name=In10.Cu 115 | Type=0 116 | Enabled=0 117 | [pcbnew/Layer.In11.Cu] 118 | Name=In11.Cu 119 | Type=0 120 | Enabled=0 121 | [pcbnew/Layer.In12.Cu] 122 | Name=In12.Cu 123 | Type=0 124 | Enabled=0 125 | [pcbnew/Layer.In13.Cu] 126 | Name=In13.Cu 127 | Type=0 128 | Enabled=0 129 | [pcbnew/Layer.In14.Cu] 130 | Name=In14.Cu 131 | Type=0 132 | Enabled=0 133 | [pcbnew/Layer.In15.Cu] 134 | Name=In15.Cu 135 | Type=0 136 | Enabled=0 137 | [pcbnew/Layer.In16.Cu] 138 | Name=In16.Cu 139 | Type=0 140 | Enabled=0 141 | [pcbnew/Layer.In17.Cu] 142 | Name=In17.Cu 143 | Type=0 144 | Enabled=0 145 | [pcbnew/Layer.In18.Cu] 146 | Name=In18.Cu 147 | Type=0 148 | Enabled=0 149 | [pcbnew/Layer.In19.Cu] 150 | Name=In19.Cu 151 | Type=0 152 | Enabled=0 153 | [pcbnew/Layer.In20.Cu] 154 | Name=In20.Cu 155 | Type=0 156 | Enabled=0 157 | [pcbnew/Layer.In21.Cu] 158 | Name=In21.Cu 159 | Type=0 160 | Enabled=0 161 | [pcbnew/Layer.In22.Cu] 162 | Name=In22.Cu 163 | Type=0 164 | Enabled=0 165 | [pcbnew/Layer.In23.Cu] 166 | Name=In23.Cu 167 | Type=0 168 | Enabled=0 169 | [pcbnew/Layer.In24.Cu] 170 | Name=In24.Cu 171 | Type=0 172 | Enabled=0 173 | [pcbnew/Layer.In25.Cu] 174 | Name=In25.Cu 175 | Type=0 176 | Enabled=0 177 | [pcbnew/Layer.In26.Cu] 178 | Name=In26.Cu 179 | Type=0 180 | Enabled=0 181 | [pcbnew/Layer.In27.Cu] 182 | Name=In27.Cu 183 | Type=0 184 | Enabled=0 185 | [pcbnew/Layer.In28.Cu] 186 | Name=In28.Cu 187 | Type=0 188 | Enabled=0 189 | [pcbnew/Layer.In29.Cu] 190 | Name=In29.Cu 191 | Type=0 192 | Enabled=0 193 | [pcbnew/Layer.In30.Cu] 194 | Name=In30.Cu 195 | Type=0 196 | Enabled=0 197 | [pcbnew/Layer.B.Cu] 198 | Name=B.Cu 199 | Type=0 200 | Enabled=1 201 | [pcbnew/Layer.B.Adhes] 202 | Enabled=1 203 | [pcbnew/Layer.F.Adhes] 204 | Enabled=1 205 | [pcbnew/Layer.B.Paste] 206 | Enabled=1 207 | [pcbnew/Layer.F.Paste] 208 | Enabled=1 209 | [pcbnew/Layer.B.SilkS] 210 | Enabled=1 211 | [pcbnew/Layer.F.SilkS] 212 | Enabled=1 213 | [pcbnew/Layer.B.Mask] 214 | Enabled=1 215 | [pcbnew/Layer.F.Mask] 216 | Enabled=1 217 | [pcbnew/Layer.Dwgs.User] 218 | Enabled=1 219 | [pcbnew/Layer.Cmts.User] 220 | Enabled=1 221 | [pcbnew/Layer.Eco1.User] 222 | Enabled=1 223 | [pcbnew/Layer.Eco2.User] 224 | Enabled=1 225 | [pcbnew/Layer.Edge.Cuts] 226 | Enabled=1 227 | [pcbnew/Layer.Margin] 228 | Enabled=1 229 | [pcbnew/Layer.B.CrtYd] 230 | Enabled=1 231 | [pcbnew/Layer.F.CrtYd] 232 | Enabled=1 233 | [pcbnew/Layer.B.Fab] 234 | Enabled=1 235 | [pcbnew/Layer.F.Fab] 236 | Enabled=1 237 | [pcbnew/Layer.Rescue] 238 | Enabled=0 239 | [pcbnew/Netclasses] 240 | [pcbnew/Netclasses/Default] 241 | Name=Default 242 | Clearance=0.2 243 | TrackWidth=0.25 244 | ViaDiameter=0.8 245 | ViaDrill=0.4 246 | uViaDiameter=0.3 247 | uViaDrill=0.1 248 | dPairWidth=0.2 249 | dPairGap=0.25 250 | dPairViaGap=0.25 251 | [schematic_editor] 252 | version=1 253 | PageLayoutDescrFile= 254 | PlotDirectoryName=schematic/ 255 | SubpartIdSeparator=0 256 | SubpartFirstId=65 257 | NetFmtName=Pcbnew 258 | SpiceAjustPassiveValues=0 259 | LabSize=50 260 | ERC_TestSimilarLabels=1 261 | -------------------------------------------------------------------------------- /Kicad_files/DRIVER_8323_based.pro: -------------------------------------------------------------------------------- 1 | update=7/13/2021 9:09:23 PM 2 | version=1 3 | last_client=kicad 4 | [general] 5 | version=1 6 | RootSch= 7 | BoardNm= 8 | [cvpcb] 9 | version=1 10 | NetIExt=net 11 | [eeschema] 12 | version=1 13 | LibDir= 14 | [eeschema/libraries] 15 | [pcbnew] 16 | version=1 17 | PageLayoutDescrFile= 18 | LastNetListRead= 19 | CopperLayerCount=4 20 | BoardThickness=1.6 21 | AllowMicroVias=0 22 | AllowBlindVias=0 23 | RequireCourtyardDefinitions=0 24 | ProhibitOverlappingCourtyards=1 25 | MinTrackWidth=0.2 26 | MinViaDiameter=0.4 27 | MinViaDrill=0.3 28 | MinMicroViaDiameter=0.2 29 | MinMicroViaDrill=0.09999999999999999 30 | MinHoleToHole=0.25 31 | TrackWidth1=0.25 32 | TrackWidth2=0.5 33 | TrackWidth3=1 34 | TrackWidth4=1.5 35 | TrackWidth5=2 36 | TrackWidth6=2.5 37 | TrackWidth7=3 38 | ViaDiameter1=0.8 39 | ViaDrill1=0.4 40 | ViaDiameter2=0.4 41 | ViaDrill2=0.3 42 | ViaDiameter3=1 43 | ViaDrill3=0.8 44 | ViaDiameter4=1.5 45 | ViaDrill4=1.3 46 | dPairWidth1=0.2 47 | dPairGap1=0.25 48 | dPairViaGap1=0.25 49 | SilkLineWidth=0.12 50 | SilkTextSizeV=1 51 | SilkTextSizeH=1 52 | SilkTextSizeThickness=0.15 53 | SilkTextItalic=0 54 | SilkTextUpright=1 55 | CopperLineWidth=0.2 56 | CopperTextSizeV=1.5 57 | CopperTextSizeH=1.5 58 | CopperTextThickness=0.3 59 | CopperTextItalic=0 60 | CopperTextUpright=1 61 | EdgeCutLineWidth=0.05 62 | CourtyardLineWidth=0.05 63 | OthersLineWidth=0.15 64 | OthersTextSizeV=1 65 | OthersTextSizeH=1 66 | OthersTextSizeThickness=0.15 67 | OthersTextItalic=0 68 | OthersTextUpright=1 69 | SolderMaskClearance=0.05 70 | SolderMaskMinWidth=0 71 | SolderPasteClearance=0 72 | SolderPasteRatio=-0 73 | [pcbnew/Layer.F.Cu] 74 | Name=F.Cu 75 | Type=0 76 | Enabled=1 77 | [pcbnew/Layer.In1.Cu] 78 | Name=GND 79 | Type=1 80 | Enabled=1 81 | [pcbnew/Layer.In2.Cu] 82 | Name=PWR 83 | Type=1 84 | Enabled=1 85 | [pcbnew/Layer.In3.Cu] 86 | Name=In3.Cu 87 | Type=0 88 | Enabled=0 89 | [pcbnew/Layer.In4.Cu] 90 | Name=In4.Cu 91 | Type=0 92 | Enabled=0 93 | [pcbnew/Layer.In5.Cu] 94 | Name=In5.Cu 95 | Type=0 96 | Enabled=0 97 | [pcbnew/Layer.In6.Cu] 98 | Name=In6.Cu 99 | Type=0 100 | Enabled=0 101 | [pcbnew/Layer.In7.Cu] 102 | Name=In7.Cu 103 | Type=0 104 | Enabled=0 105 | [pcbnew/Layer.In8.Cu] 106 | Name=In8.Cu 107 | Type=0 108 | Enabled=0 109 | [pcbnew/Layer.In9.Cu] 110 | Name=In9.Cu 111 | Type=0 112 | Enabled=0 113 | [pcbnew/Layer.In10.Cu] 114 | Name=In10.Cu 115 | Type=0 116 | Enabled=0 117 | [pcbnew/Layer.In11.Cu] 118 | Name=In11.Cu 119 | Type=0 120 | Enabled=0 121 | [pcbnew/Layer.In12.Cu] 122 | Name=In12.Cu 123 | Type=0 124 | Enabled=0 125 | [pcbnew/Layer.In13.Cu] 126 | Name=In13.Cu 127 | Type=0 128 | Enabled=0 129 | [pcbnew/Layer.In14.Cu] 130 | Name=In14.Cu 131 | Type=0 132 | Enabled=0 133 | [pcbnew/Layer.In15.Cu] 134 | Name=In15.Cu 135 | Type=0 136 | Enabled=0 137 | [pcbnew/Layer.In16.Cu] 138 | Name=In16.Cu 139 | Type=0 140 | Enabled=0 141 | [pcbnew/Layer.In17.Cu] 142 | Name=In17.Cu 143 | Type=0 144 | Enabled=0 145 | [pcbnew/Layer.In18.Cu] 146 | Name=In18.Cu 147 | Type=0 148 | Enabled=0 149 | [pcbnew/Layer.In19.Cu] 150 | Name=In19.Cu 151 | Type=0 152 | Enabled=0 153 | [pcbnew/Layer.In20.Cu] 154 | Name=In20.Cu 155 | Type=0 156 | Enabled=0 157 | [pcbnew/Layer.In21.Cu] 158 | Name=In21.Cu 159 | Type=0 160 | Enabled=0 161 | [pcbnew/Layer.In22.Cu] 162 | Name=In22.Cu 163 | Type=0 164 | Enabled=0 165 | [pcbnew/Layer.In23.Cu] 166 | Name=In23.Cu 167 | Type=0 168 | Enabled=0 169 | [pcbnew/Layer.In24.Cu] 170 | Name=In24.Cu 171 | Type=0 172 | Enabled=0 173 | [pcbnew/Layer.In25.Cu] 174 | Name=In25.Cu 175 | Type=0 176 | Enabled=0 177 | [pcbnew/Layer.In26.Cu] 178 | Name=In26.Cu 179 | Type=0 180 | Enabled=0 181 | [pcbnew/Layer.In27.Cu] 182 | Name=In27.Cu 183 | Type=0 184 | Enabled=0 185 | [pcbnew/Layer.In28.Cu] 186 | Name=In28.Cu 187 | Type=0 188 | Enabled=0 189 | [pcbnew/Layer.In29.Cu] 190 | Name=In29.Cu 191 | Type=0 192 | Enabled=0 193 | [pcbnew/Layer.In30.Cu] 194 | Name=In30.Cu 195 | Type=0 196 | Enabled=0 197 | [pcbnew/Layer.B.Cu] 198 | Name=B.Cu 199 | Type=0 200 | Enabled=1 201 | [pcbnew/Layer.B.Adhes] 202 | Enabled=1 203 | [pcbnew/Layer.F.Adhes] 204 | Enabled=1 205 | [pcbnew/Layer.B.Paste] 206 | Enabled=1 207 | [pcbnew/Layer.F.Paste] 208 | Enabled=1 209 | [pcbnew/Layer.B.SilkS] 210 | Enabled=1 211 | [pcbnew/Layer.F.SilkS] 212 | Enabled=1 213 | [pcbnew/Layer.B.Mask] 214 | Enabled=1 215 | [pcbnew/Layer.F.Mask] 216 | Enabled=1 217 | [pcbnew/Layer.Dwgs.User] 218 | Enabled=1 219 | [pcbnew/Layer.Cmts.User] 220 | Enabled=1 221 | [pcbnew/Layer.Eco1.User] 222 | Enabled=1 223 | [pcbnew/Layer.Eco2.User] 224 | Enabled=1 225 | [pcbnew/Layer.Edge.Cuts] 226 | Enabled=1 227 | [pcbnew/Layer.Margin] 228 | Enabled=1 229 | [pcbnew/Layer.B.CrtYd] 230 | Enabled=1 231 | [pcbnew/Layer.F.CrtYd] 232 | Enabled=1 233 | [pcbnew/Layer.B.Fab] 234 | Enabled=1 235 | [pcbnew/Layer.F.Fab] 236 | Enabled=1 237 | [pcbnew/Layer.Rescue] 238 | Enabled=0 239 | [pcbnew/Netclasses] 240 | [pcbnew/Netclasses/Default] 241 | Name=Default 242 | Clearance=0.2 243 | TrackWidth=0.25 244 | ViaDiameter=0.8 245 | ViaDrill=0.4 246 | uViaDiameter=0.3 247 | uViaDrill=0.1 248 | dPairWidth=0.2 249 | dPairGap=0.25 250 | dPairViaGap=0.25 251 | [schematic_editor] 252 | version=1 253 | PageLayoutDescrFile= 254 | PlotDirectoryName=schematic/ 255 | SubpartIdSeparator=0 256 | SubpartFirstId=65 257 | NetFmtName=Pcbnew 258 | SpiceAjustPassiveValues=0 259 | LabSize=50 260 | ERC_TestSimilarLabels=1 261 | -------------------------------------------------------------------------------- /GBR/DRIVER_8323_based-B_Paste.gbr: -------------------------------------------------------------------------------- 1 | %TF.GenerationSoftware,KiCad,Pcbnew,(5.1.6)-1*% 2 | %TF.CreationDate,2021-03-31T23:30:28+02:00*% 3 | %TF.ProjectId,DRIVER_8323_based,44524956-4552-45f3-9833-32335f626173,rev?*% 4 | %TF.SameCoordinates,Original*% 5 | %TF.FileFunction,Paste,Bot*% 6 | %TF.FilePolarity,Positive*% 7 | %FSLAX46Y46*% 8 | G04 Gerber Fmt 4.6, Leading zero omitted, Abs format (unit mm)* 9 | G04 Created by KiCad (PCBNEW (5.1.6)-1) date 2021-03-31 23:30:28* 10 | %MOMM*% 11 | %LPD*% 12 | G01* 13 | G04 APERTURE LIST* 14 | G04 APERTURE END LIST* 15 | %TO.C,C26*% 16 | G36* 17 | G01* 18 | X146175000Y-51225000D02* 19 | X146175000Y-52475000D01* 20 | G75* 21 | G02* 22 | X145925000Y-52725000I-250000J0D01* 23 | G01* 24 | X145175000Y-52725000D01* 25 | G75* 26 | G02* 27 | X144925000Y-52475000I0J250000D01* 28 | G01* 29 | X144925000Y-51225000D01* 30 | G75* 31 | G02* 32 | X145175000Y-50975000I250000J0D01* 33 | G01* 34 | X145925000Y-50975000D01* 35 | G75* 36 | G02* 37 | X146175000Y-51225000I0J-250000D01* 38 | G01* 39 | G37* 40 | G36* 41 | G01* 42 | X148975000Y-51225000D02* 43 | X148975000Y-52475000D01* 44 | G75* 45 | G02* 46 | X148725000Y-52725000I-250000J0D01* 47 | G01* 48 | X147975000Y-52725000D01* 49 | G75* 50 | G02* 51 | X147725000Y-52475000I0J250000D01* 52 | G01* 53 | X147725000Y-51225000D01* 54 | G75* 55 | G02* 56 | X147975000Y-50975000I250000J0D01* 57 | G01* 58 | X148725000Y-50975000D01* 59 | G75* 60 | G02* 61 | X148975000Y-51225000I0J-250000D01* 62 | G01* 63 | G37* 64 | %TD*% 65 | %TO.C,C25*% 66 | G36* 67 | G01* 68 | X146125000Y-80475000D02* 69 | X146125000Y-81725000D01* 70 | G75* 71 | G02* 72 | X145875000Y-81975000I-250000J0D01* 73 | G01* 74 | X145125000Y-81975000D01* 75 | G75* 76 | G02* 77 | X144875000Y-81725000I0J250000D01* 78 | G01* 79 | X144875000Y-80475000D01* 80 | G75* 81 | G02* 82 | X145125000Y-80225000I250000J0D01* 83 | G01* 84 | X145875000Y-80225000D01* 85 | G75* 86 | G02* 87 | X146125000Y-80475000I0J-250000D01* 88 | G01* 89 | G37* 90 | G36* 91 | G01* 92 | X148925000Y-80475000D02* 93 | X148925000Y-81725000D01* 94 | G75* 95 | G02* 96 | X148675000Y-81975000I-250000J0D01* 97 | G01* 98 | X147925000Y-81975000D01* 99 | G75* 100 | G02* 101 | X147675000Y-81725000I0J250000D01* 102 | G01* 103 | X147675000Y-80475000D01* 104 | G75* 105 | G02* 106 | X147925000Y-80225000I250000J0D01* 107 | G01* 108 | X148675000Y-80225000D01* 109 | G75* 110 | G02* 111 | X148925000Y-80475000I0J-250000D01* 112 | G01* 113 | G37* 114 | %TD*% 115 | %TO.C,C24*% 116 | G36* 117 | G01* 118 | X146325000Y-57525000D02* 119 | X146325000Y-58775000D01* 120 | G75* 121 | G02* 122 | X146075000Y-59025000I-250000J0D01* 123 | G01* 124 | X145325000Y-59025000D01* 125 | G75* 126 | G02* 127 | X145075000Y-58775000I0J250000D01* 128 | G01* 129 | X145075000Y-57525000D01* 130 | G75* 131 | G02* 132 | X145325000Y-57275000I250000J0D01* 133 | G01* 134 | X146075000Y-57275000D01* 135 | G75* 136 | G02* 137 | X146325000Y-57525000I0J-250000D01* 138 | G01* 139 | G37* 140 | G36* 141 | G01* 142 | X149125000Y-57525000D02* 143 | X149125000Y-58775000D01* 144 | G75* 145 | G02* 146 | X148875000Y-59025000I-250000J0D01* 147 | G01* 148 | X148125000Y-59025000D01* 149 | G75* 150 | G02* 151 | X147875000Y-58775000I0J250000D01* 152 | G01* 153 | X147875000Y-57525000D01* 154 | G75* 155 | G02* 156 | X148125000Y-57275000I250000J0D01* 157 | G01* 158 | X148875000Y-57275000D01* 159 | G75* 160 | G02* 161 | X149125000Y-57525000I0J-250000D01* 162 | G01* 163 | G37* 164 | %TD*% 165 | %TO.C,J14*% 166 | G36* 167 | G01* 168 | X150600000Y-47800000D02* 169 | X150600000Y-45800000D01* 170 | G75* 171 | G02* 172 | X151600000Y-44800000I1000000J0D01* 173 | G01* 174 | X153600000Y-44800000D01* 175 | G75* 176 | G02* 177 | X154600000Y-45800000I0J-1000000D01* 178 | G01* 179 | X154600000Y-47800000D01* 180 | G75* 181 | G02* 182 | X153600000Y-48800000I-1000000J0D01* 183 | G01* 184 | X151600000Y-48800000D01* 185 | G75* 186 | G02* 187 | X150600000Y-47800000I0J1000000D01* 188 | G01* 189 | G37* 190 | %TD*% 191 | %TO.C,J13*% 192 | G36* 193 | G01* 194 | X150600000Y-66400000D02* 195 | X150600000Y-64400000D01* 196 | G75* 197 | G02* 198 | X151600000Y-63400000I1000000J0D01* 199 | G01* 200 | X153600000Y-63400000D01* 201 | G75* 202 | G02* 203 | X154600000Y-64400000I0J-1000000D01* 204 | G01* 205 | X154600000Y-66400000D01* 206 | G75* 207 | G02* 208 | X153600000Y-67400000I-1000000J0D01* 209 | G01* 210 | X151600000Y-67400000D01* 211 | G75* 212 | G02* 213 | X150600000Y-66400000I0J1000000D01* 214 | G01* 215 | G37* 216 | %TD*% 217 | %TO.C,J12*% 218 | G36* 219 | G01* 220 | X150200000Y-73000000D02* 221 | X150200000Y-71000000D01* 222 | G75* 223 | G02* 224 | X151200000Y-70000000I1000000J0D01* 225 | G01* 226 | X153200000Y-70000000D01* 227 | G75* 228 | G02* 229 | X154200000Y-71000000I0J-1000000D01* 230 | G01* 231 | X154200000Y-73000000D01* 232 | G75* 233 | G02* 234 | X153200000Y-74000000I-1000000J0D01* 235 | G01* 236 | X151200000Y-74000000D01* 237 | G75* 238 | G02* 239 | X150200000Y-73000000I0J1000000D01* 240 | G01* 241 | G37* 242 | %TD*% 243 | %TO.C,J11*% 244 | G36* 245 | G01* 246 | X148000000Y-54000000D02* 247 | X148000000Y-52000000D01* 248 | G75* 249 | G02* 250 | X149000000Y-51000000I1000000J0D01* 251 | G01* 252 | X151000000Y-51000000D01* 253 | G75* 254 | G02* 255 | X152000000Y-52000000I0J-1000000D01* 256 | G01* 257 | X152000000Y-54000000D01* 258 | G75* 259 | G02* 260 | X151000000Y-55000000I-1000000J0D01* 261 | G01* 262 | X149000000Y-55000000D01* 263 | G75* 264 | G02* 265 | X148000000Y-54000000I0J1000000D01* 266 | G01* 267 | G37* 268 | %TD*% 269 | %TO.C,J10*% 270 | G36* 271 | G01* 272 | X151100000Y-80800000D02* 273 | X149100000Y-80800000D01* 274 | G75* 275 | G02* 276 | X148100000Y-79800000I0J1000000D01* 277 | G01* 278 | X148100000Y-77800000D01* 279 | G75* 280 | G02* 281 | X149100000Y-76800000I1000000J0D01* 282 | G01* 283 | X151100000Y-76800000D01* 284 | G75* 285 | G02* 286 | X152100000Y-77800000I0J-1000000D01* 287 | G01* 288 | X152100000Y-79800000D01* 289 | G75* 290 | G02* 291 | X151100000Y-80800000I-1000000J0D01* 292 | G01* 293 | G37* 294 | %TD*% 295 | %TO.C,J9*% 296 | G36* 297 | G01* 298 | X148200000Y-60400000D02* 299 | X148200000Y-58400000D01* 300 | G75* 301 | G02* 302 | X149200000Y-57400000I1000000J0D01* 303 | G01* 304 | X151200000Y-57400000D01* 305 | G75* 306 | G02* 307 | X152200000Y-58400000I0J-1000000D01* 308 | G01* 309 | X152200000Y-60400000D01* 310 | G75* 311 | G02* 312 | X151200000Y-61400000I-1000000J0D01* 313 | G01* 314 | X149200000Y-61400000D01* 315 | G75* 316 | G02* 317 | X148200000Y-60400000I0J1000000D01* 318 | G01* 319 | G37* 320 | %TD*% 321 | M02* 322 | -------------------------------------------------------------------------------- /GBR/DRIVER_8323_based-PTH.drl: -------------------------------------------------------------------------------- 1 | M48 2 | ; DRILL file {KiCad (5.1.6)-1} date 04/02/21 16:52:29 3 | ; FORMAT={-:-/ absolute / metric / decimal} 4 | ; #@! TF.CreationDate,2021-04-02T16:52:29+02:00 5 | ; #@! TF.GenerationSoftware,Kicad,Pcbnew,(5.1.6)-1 6 | ; #@! TF.FileFunction,Plated,1,4,PTH 7 | FMAT,2 8 | METRIC 9 | T1C0.200 10 | T2C0.400 11 | T3C1.000 12 | T4C1.300 13 | T5C2.700 14 | % 15 | G90 16 | G05 17 | T1 18 | X128.855Y-65.854 19 | X128.855Y-66.879 20 | X128.855Y-67.904 21 | X129.88Y-65.854 22 | X129.88Y-66.879 23 | X129.88Y-67.904 24 | X130.905Y-65.854 25 | X130.905Y-66.879 26 | X130.905Y-67.904 27 | T2 28 | X83.6Y-75.7 29 | X83.7Y-45.9 30 | X83.7Y-47.4 31 | X83.7Y-48.9 32 | X83.7Y-50.5 33 | X84.0Y-57.4 34 | X84.6Y-58.0 35 | X85.3Y-48.9 36 | X85.3Y-50.45 37 | X85.3Y-58.7 38 | X85.35Y-45.9 39 | X85.35Y-47.4 40 | X88.55Y-71.05 41 | X89.3Y-66.956 42 | X89.3Y-68.226 43 | X89.4Y-64.5 44 | X89.4Y-65.7 45 | X90.1Y-47.35 46 | X90.1Y-48.5 47 | X90.1Y-49.65 48 | X90.1Y-50.8 49 | X91.0Y-64.5 50 | X91.0Y-65.7 51 | X92.6Y-64.5 52 | X92.6Y-65.7 53 | X93.1Y-47.95 54 | X93.1Y-49.4 55 | X93.15Y-50.75 56 | X94.2Y-64.5 57 | X94.2Y-65.7 58 | X94.38Y-66.956 59 | X94.38Y-68.226 60 | X94.9Y-47.4 61 | X95.2Y-45.6 62 | X95.8Y-46.6 63 | X96.2Y-45.6 64 | X96.5Y-47.4 65 | X97.4Y-64.0 66 | X98.4Y-74.2 67 | X98.65Y-71.95 68 | X99.6Y-45.4 69 | X100.1Y-74.18 70 | X100.17Y-72.9 71 | X100.2Y-46.4 72 | X100.6Y-45.4 73 | X100.95Y-64.95 74 | X100.95Y-75.8 75 | X101.213Y-61.013 76 | X102.4Y-61.2 77 | X102.45Y-71.85 78 | X102.9Y-76.8 79 | X102.95Y-75.15 80 | X103.0Y-63.8 81 | X104.0Y-62.2 82 | X105.0Y-78.0 83 | X105.2Y-62.2 84 | X105.55Y-76.85 85 | X105.6Y-80.5 86 | X105.95Y-69.2 87 | X106.4Y-68.0 88 | X106.8Y-70.25 89 | X106.9Y-80.55 90 | X107.125Y-67.0 91 | X107.798Y-70.188 92 | X108.2Y-66.6 93 | X108.3Y-79.85 94 | X108.4Y-71.2 95 | X109.9Y-50.5 96 | X109.9Y-51.6 97 | X109.9Y-52.7 98 | X109.9Y-53.9 99 | X109.9Y-55.0 100 | X109.9Y-78.4 101 | X110.0Y-80.35 102 | X110.3Y-44.8 103 | X110.3Y-45.8 104 | X110.3Y-46.9 105 | X111.0Y-68.6 106 | X111.025Y-62.575 107 | X111.3Y-44.8 108 | X112.15Y-61.85 109 | X112.2Y-55.0 110 | X112.8Y-44.8 111 | X113.0Y-68.2 112 | X113.2Y-66.6 113 | X113.7Y-55.0 114 | X114.3Y-44.8 115 | X114.5Y-61.125 116 | X114.8Y-80.2 117 | X115.2Y-55.0 118 | X115.2Y-64.0 119 | X115.2Y-78.0 120 | X115.8Y-44.8 121 | X116.4Y-78.0 122 | X116.7Y-55.0 123 | X116.7Y-56.5 124 | X117.7Y-66.5 125 | X118.2Y-56.5 126 | X118.25Y-68.0 127 | X118.25Y-69.975 128 | X118.6Y-64.2 129 | X118.6Y-65.4 130 | X118.8Y-79.2 131 | X119.0Y-57.8 132 | X119.0Y-59.3 133 | X119.2Y-75.8 134 | X119.4Y-81.15 135 | X119.6Y-68.0 136 | X119.65Y-80.0 137 | X120.02Y-63.82 138 | X121.5Y-69.625 139 | X121.8Y-49.3 140 | X121.8Y-51.1 141 | X121.8Y-52.5 142 | X121.8Y-54.1 143 | X121.8Y-68.15 144 | X122.244Y-73.652 145 | X122.351Y-70.15 146 | X123.8Y-49.3 147 | X123.8Y-51.0 148 | X123.8Y-52.5 149 | X123.8Y-54.1 150 | X123.85Y-67.404 151 | X125.35Y-66.404 152 | X125.8Y-50.9 153 | X125.8Y-52.5 154 | X125.8Y-54.1 155 | X125.9Y-49.3 156 | X128.189Y-74.811 157 | X128.5Y-52.5 158 | X128.5Y-54.1 159 | X129.75Y-44.9 160 | X129.75Y-46.15 161 | X129.8Y-52.5 162 | X129.8Y-54.1 163 | X131.0Y-52.5 164 | X131.0Y-54.1 165 | X131.3Y-44.9 166 | X131.3Y-46.2 167 | X132.2Y-52.5 168 | X132.2Y-54.1 169 | X132.6Y-44.9 170 | X132.6Y-46.2 171 | X132.6Y-47.8 172 | X132.6Y-49.2 173 | X134.3Y-49.2 174 | X135.8Y-49.2 175 | X137.5Y-79.4 176 | X137.5Y-80.4 177 | X138.6Y-79.4 178 | X138.6Y-80.4 179 | X139.9Y-77.45 180 | X139.9Y-78.45 181 | X139.9Y-79.5 182 | X139.9Y-80.5 183 | X140.025Y-50.9 184 | X140.6Y-69.354 185 | X141.0Y-77.45 186 | X141.0Y-78.45 187 | X141.0Y-79.5 188 | X141.0Y-80.5 189 | X141.1Y-65.7 190 | X141.5Y-70.2 191 | X142.0Y-79.15 192 | X142.0Y-80.15 193 | X142.2Y-68.08 194 | X143.1Y-79.15 195 | X143.1Y-80.15 196 | X143.2Y-57.5 197 | X143.2Y-58.6 198 | X143.3Y-52.2 199 | X143.3Y-53.2 200 | X144.2Y-50.7 201 | X144.2Y-77.5 202 | X144.2Y-79.15 203 | X144.2Y-80.15 204 | X144.275Y-68.725 205 | X144.3Y-57.5 206 | X144.3Y-58.6 207 | X144.3Y-66.1 208 | X144.35Y-60.35 209 | X144.4Y-52.2 210 | X144.4Y-53.2 211 | X145.3Y-79.15 212 | X145.3Y-80.15 213 | X145.4Y-57.5 214 | X145.4Y-58.6 215 | X145.5Y-52.2 216 | X145.5Y-53.2 217 | X148.2Y-77.2 218 | X148.2Y-78.2 219 | X148.2Y-79.2 220 | X148.2Y-80.2 221 | X148.6Y-51.6 222 | X148.6Y-52.6 223 | X148.6Y-53.6 224 | X148.6Y-54.6 225 | X148.6Y-57.8 226 | X148.6Y-58.8 227 | X148.6Y-59.8 228 | X148.6Y-60.8 229 | X149.4Y-77.2 230 | X149.4Y-78.2 231 | X149.4Y-79.2 232 | X149.4Y-80.2 233 | X149.6Y-51.6 234 | X149.6Y-52.6 235 | X149.6Y-53.6 236 | X149.6Y-54.6 237 | X149.6Y-57.8 238 | X149.6Y-58.8 239 | X149.6Y-59.8 240 | X149.6Y-60.8 241 | X150.6Y-51.6 242 | X150.6Y-52.6 243 | X150.6Y-53.6 244 | X150.6Y-54.6 245 | X150.6Y-57.8 246 | X150.6Y-58.8 247 | X150.6Y-59.8 248 | X150.6Y-60.8 249 | X150.6Y-77.2 250 | X150.6Y-77.2 251 | X150.6Y-78.2 252 | X150.6Y-79.2 253 | X150.6Y-80.2 254 | X152.4Y-70.6 255 | X152.4Y-71.6 256 | X152.4Y-72.6 257 | X152.4Y-73.6 258 | X152.8Y-45.2 259 | X152.8Y-46.2 260 | X152.8Y-47.2 261 | X152.8Y-48.2 262 | X153.0Y-63.8 263 | X153.0Y-64.8 264 | X153.0Y-65.8 265 | X153.0Y-66.8 266 | X153.6Y-70.6 267 | X153.6Y-71.6 268 | X153.6Y-72.6 269 | X153.6Y-73.6 270 | X153.8Y-45.2 271 | X153.8Y-46.2 272 | X153.8Y-47.2 273 | X153.8Y-48.2 274 | X154.0Y-63.8 275 | X154.0Y-64.8 276 | X154.0Y-65.8 277 | X154.0Y-66.8 278 | X154.2Y-79.45 279 | X155.3Y-79.4 280 | X155.55Y-59.15 281 | X155.55Y-60.45 282 | X155.7Y-53.6 283 | X155.7Y-70.7 284 | X155.7Y-72.0 285 | X155.7Y-73.2 286 | X155.75Y-64.25 287 | X155.75Y-65.5 288 | X155.75Y-66.75 289 | X155.75Y-68.0 290 | X155.9Y-45.6 291 | X155.9Y-46.7 292 | X156.5Y-79.4 293 | X156.9Y-53.6 294 | X156.9Y-59.15 295 | X156.9Y-70.7 296 | X157.1Y-45.6 297 | X157.1Y-46.7 298 | X157.75Y-79.4 299 | X158.1Y-53.6 300 | X158.1Y-70.7 301 | X158.3Y-45.6 302 | X158.3Y-46.7 303 | X158.3Y-59.1 304 | T3 305 | X83.46Y-61.86 306 | X83.46Y-64.4 307 | X83.46Y-66.94 308 | X86.0Y-61.86 309 | X86.0Y-64.4 310 | X86.0Y-66.94 311 | X84.0Y-70.56 312 | X84.0Y-73.1 313 | X98.06Y-78.2 314 | X98.06Y-80.74 315 | X100.6Y-78.2 316 | X100.6Y-80.74 317 | X123.41Y-78.26 318 | X123.41Y-80.8 319 | X125.95Y-78.26 320 | X125.95Y-80.8 321 | X83.99Y-78.1 322 | X83.99Y-80.64 323 | X86.53Y-78.1 324 | X86.53Y-80.64 325 | X89.07Y-78.1 326 | X89.07Y-80.64 327 | X91.61Y-78.1 328 | X91.61Y-80.64 329 | X94.15Y-78.1 330 | X94.15Y-80.64 331 | T4 332 | X91.2Y-56.6 333 | T5 334 | X150.7Y-85.2 335 | X159.0Y-62.5 336 | X159.0Y-50.25 337 | X140.7Y-85.2 338 | X159.0Y-75.0 339 | T0 340 | M30 341 | -------------------------------------------------------------------------------- /GBR/DRIVER_8323_based-B_Mask.gbr: -------------------------------------------------------------------------------- 1 | %TF.GenerationSoftware,KiCad,Pcbnew,(5.1.6)-1*% 2 | %TF.CreationDate,2021-03-31T23:30:28+02:00*% 3 | %TF.ProjectId,DRIVER_8323_based,44524956-4552-45f3-9833-32335f626173,rev?*% 4 | %TF.SameCoordinates,Original*% 5 | %TF.FileFunction,Soldermask,Bot*% 6 | %TF.FilePolarity,Negative*% 7 | %FSLAX46Y46*% 8 | G04 Gerber Fmt 4.6, Leading zero omitted, Abs format (unit mm)* 9 | G04 Created by KiCad (PCBNEW (5.1.6)-1) date 2021-03-31 23:30:28* 10 | %MOMM*% 11 | %LPD*% 12 | G01* 13 | G04 APERTURE LIST* 14 | %ADD10O,1.800000X1.800000*% 15 | %ADD11R,1.800000X1.800000*% 16 | %ADD12C,3.900000*% 17 | %ADD13C,5.500000*% 18 | G04 APERTURE END LIST* 19 | %TO.C,C26*% 20 | G36* 21 | G01* 22 | X146225000Y-51195000D02* 23 | X146225000Y-52505000D01* 24 | G75* 25 | G02* 26 | X145955000Y-52775000I-270000J0D01* 27 | G01* 28 | X145145000Y-52775000D01* 29 | G75* 30 | G02* 31 | X144875000Y-52505000I0J270000D01* 32 | G01* 33 | X144875000Y-51195000D01* 34 | G75* 35 | G02* 36 | X145145000Y-50925000I270000J0D01* 37 | G01* 38 | X145955000Y-50925000D01* 39 | G75* 40 | G02* 41 | X146225000Y-51195000I0J-270000D01* 42 | G01* 43 | G37* 44 | G36* 45 | G01* 46 | X149025000Y-51195000D02* 47 | X149025000Y-52505000D01* 48 | G75* 49 | G02* 50 | X148755000Y-52775000I-270000J0D01* 51 | G01* 52 | X147945000Y-52775000D01* 53 | G75* 54 | G02* 55 | X147675000Y-52505000I0J270000D01* 56 | G01* 57 | X147675000Y-51195000D01* 58 | G75* 59 | G02* 60 | X147945000Y-50925000I270000J0D01* 61 | G01* 62 | X148755000Y-50925000D01* 63 | G75* 64 | G02* 65 | X149025000Y-51195000I0J-270000D01* 66 | G01* 67 | G37* 68 | %TD*% 69 | %TO.C,C25*% 70 | G36* 71 | G01* 72 | X146175000Y-80445000D02* 73 | X146175000Y-81755000D01* 74 | G75* 75 | G02* 76 | X145905000Y-82025000I-270000J0D01* 77 | G01* 78 | X145095000Y-82025000D01* 79 | G75* 80 | G02* 81 | X144825000Y-81755000I0J270000D01* 82 | G01* 83 | X144825000Y-80445000D01* 84 | G75* 85 | G02* 86 | X145095000Y-80175000I270000J0D01* 87 | G01* 88 | X145905000Y-80175000D01* 89 | G75* 90 | G02* 91 | X146175000Y-80445000I0J-270000D01* 92 | G01* 93 | G37* 94 | G36* 95 | G01* 96 | X148975000Y-80445000D02* 97 | X148975000Y-81755000D01* 98 | G75* 99 | G02* 100 | X148705000Y-82025000I-270000J0D01* 101 | G01* 102 | X147895000Y-82025000D01* 103 | G75* 104 | G02* 105 | X147625000Y-81755000I0J270000D01* 106 | G01* 107 | X147625000Y-80445000D01* 108 | G75* 109 | G02* 110 | X147895000Y-80175000I270000J0D01* 111 | G01* 112 | X148705000Y-80175000D01* 113 | G75* 114 | G02* 115 | X148975000Y-80445000I0J-270000D01* 116 | G01* 117 | G37* 118 | %TD*% 119 | %TO.C,C24*% 120 | G36* 121 | G01* 122 | X146375000Y-57495000D02* 123 | X146375000Y-58805000D01* 124 | G75* 125 | G02* 126 | X146105000Y-59075000I-270000J0D01* 127 | G01* 128 | X145295000Y-59075000D01* 129 | G75* 130 | G02* 131 | X145025000Y-58805000I0J270000D01* 132 | G01* 133 | X145025000Y-57495000D01* 134 | G75* 135 | G02* 136 | X145295000Y-57225000I270000J0D01* 137 | G01* 138 | X146105000Y-57225000D01* 139 | G75* 140 | G02* 141 | X146375000Y-57495000I0J-270000D01* 142 | G01* 143 | G37* 144 | G36* 145 | G01* 146 | X149175000Y-57495000D02* 147 | X149175000Y-58805000D01* 148 | G75* 149 | G02* 150 | X148905000Y-59075000I-270000J0D01* 151 | G01* 152 | X148095000Y-59075000D01* 153 | G75* 154 | G02* 155 | X147825000Y-58805000I0J270000D01* 156 | G01* 157 | X147825000Y-57495000D01* 158 | G75* 159 | G02* 160 | X148095000Y-57225000I270000J0D01* 161 | G01* 162 | X148905000Y-57225000D01* 163 | G75* 164 | G02* 165 | X149175000Y-57495000I0J-270000D01* 166 | G01* 167 | G37* 168 | %TD*% 169 | D10* 170 | %TO.C,J6*% 171 | X84000000Y-64260000D03* 172 | D11* 173 | X84000000Y-66800000D03* 174 | %TD*% 175 | D10* 176 | %TO.C,J2*% 177 | X84000000Y-70560000D03* 178 | D11* 179 | X84000000Y-73100000D03* 180 | %TD*% 181 | D10* 182 | %TO.C,J5*% 183 | X83990000Y-80640000D03* 184 | X83990000Y-78100000D03* 185 | X86530000Y-80640000D03* 186 | X86530000Y-78100000D03* 187 | X89070000Y-80640000D03* 188 | X89070000Y-78100000D03* 189 | X91610000Y-80640000D03* 190 | X91610000Y-78100000D03* 191 | X94150000Y-80640000D03* 192 | D11* 193 | X94150000Y-78100000D03* 194 | %TD*% 195 | D10* 196 | %TO.C,J3*% 197 | X98060000Y-80740000D03* 198 | X98060000Y-78200000D03* 199 | X100600000Y-80740000D03* 200 | D11* 201 | X100600000Y-78200000D03* 202 | %TD*% 203 | D10* 204 | %TO.C,J1*% 205 | X123410000Y-80800000D03* 206 | X123410000Y-78260000D03* 207 | X125950000Y-80800000D03* 208 | D11* 209 | X125950000Y-78260000D03* 210 | %TD*% 211 | D12* 212 | %TO.C,H7*% 213 | X101100000Y-44600000D03* 214 | %TD*% 215 | %TO.C,H6*% 216 | X93700000Y-44600000D03* 217 | %TD*% 218 | D13* 219 | %TO.C,H5*% 220 | X159000000Y-50250000D03* 221 | %TD*% 222 | %TO.C,H4*% 223 | X159000000Y-62500000D03* 224 | %TD*% 225 | %TO.C,H3*% 226 | X159000000Y-75000000D03* 227 | %TD*% 228 | %TO.C,H2*% 229 | X140700000Y-85200000D03* 230 | %TD*% 231 | %TO.C,H1*% 232 | X150700000Y-85200000D03* 233 | %TD*% 234 | %TO.C,J14*% 235 | G36* 236 | G01* 237 | X150550000Y-47825000D02* 238 | X150550000Y-45775000D01* 239 | G75* 240 | G02* 241 | X151575000Y-44750000I1025000J0D01* 242 | G01* 243 | X153625000Y-44750000D01* 244 | G75* 245 | G02* 246 | X154650000Y-45775000I0J-1025000D01* 247 | G01* 248 | X154650000Y-47825000D01* 249 | G75* 250 | G02* 251 | X153625000Y-48850000I-1025000J0D01* 252 | G01* 253 | X151575000Y-48850000D01* 254 | G75* 255 | G02* 256 | X150550000Y-47825000I0J1025000D01* 257 | G01* 258 | G37* 259 | %TD*% 260 | %TO.C,J13*% 261 | G36* 262 | G01* 263 | X150550000Y-66425000D02* 264 | X150550000Y-64375000D01* 265 | G75* 266 | G02* 267 | X151575000Y-63350000I1025000J0D01* 268 | G01* 269 | X153625000Y-63350000D01* 270 | G75* 271 | G02* 272 | X154650000Y-64375000I0J-1025000D01* 273 | G01* 274 | X154650000Y-66425000D01* 275 | G75* 276 | G02* 277 | X153625000Y-67450000I-1025000J0D01* 278 | G01* 279 | X151575000Y-67450000D01* 280 | G75* 281 | G02* 282 | X150550000Y-66425000I0J1025000D01* 283 | G01* 284 | G37* 285 | %TD*% 286 | %TO.C,J12*% 287 | G36* 288 | G01* 289 | X150150000Y-73025000D02* 290 | X150150000Y-70975000D01* 291 | G75* 292 | G02* 293 | X151175000Y-69950000I1025000J0D01* 294 | G01* 295 | X153225000Y-69950000D01* 296 | G75* 297 | G02* 298 | X154250000Y-70975000I0J-1025000D01* 299 | G01* 300 | X154250000Y-73025000D01* 301 | G75* 302 | G02* 303 | X153225000Y-74050000I-1025000J0D01* 304 | G01* 305 | X151175000Y-74050000D01* 306 | G75* 307 | G02* 308 | X150150000Y-73025000I0J1025000D01* 309 | G01* 310 | G37* 311 | %TD*% 312 | %TO.C,J11*% 313 | G36* 314 | G01* 315 | X147950000Y-54025000D02* 316 | X147950000Y-51975000D01* 317 | G75* 318 | G02* 319 | X148975000Y-50950000I1025000J0D01* 320 | G01* 321 | X151025000Y-50950000D01* 322 | G75* 323 | G02* 324 | X152050000Y-51975000I0J-1025000D01* 325 | G01* 326 | X152050000Y-54025000D01* 327 | G75* 328 | G02* 329 | X151025000Y-55050000I-1025000J0D01* 330 | G01* 331 | X148975000Y-55050000D01* 332 | G75* 333 | G02* 334 | X147950000Y-54025000I0J1025000D01* 335 | G01* 336 | G37* 337 | %TD*% 338 | %TO.C,J10*% 339 | G36* 340 | G01* 341 | X151125000Y-80850000D02* 342 | X149075000Y-80850000D01* 343 | G75* 344 | G02* 345 | X148050000Y-79825000I0J1025000D01* 346 | G01* 347 | X148050000Y-77775000D01* 348 | G75* 349 | G02* 350 | X149075000Y-76750000I1025000J0D01* 351 | G01* 352 | X151125000Y-76750000D01* 353 | G75* 354 | G02* 355 | X152150000Y-77775000I0J-1025000D01* 356 | G01* 357 | X152150000Y-79825000D01* 358 | G75* 359 | G02* 360 | X151125000Y-80850000I-1025000J0D01* 361 | G01* 362 | G37* 363 | %TD*% 364 | %TO.C,J9*% 365 | G36* 366 | G01* 367 | X148150000Y-60425000D02* 368 | X148150000Y-58375000D01* 369 | G75* 370 | G02* 371 | X149175000Y-57350000I1025000J0D01* 372 | G01* 373 | X151225000Y-57350000D01* 374 | G75* 375 | G02* 376 | X152250000Y-58375000I0J-1025000D01* 377 | G01* 378 | X152250000Y-60425000D01* 379 | G75* 380 | G02* 381 | X151225000Y-61450000I-1025000J0D01* 382 | G01* 383 | X149175000Y-61450000D01* 384 | G75* 385 | G02* 386 | X148150000Y-60425000I0J1025000D01* 387 | G01* 388 | G37* 389 | %TD*% 390 | M02* 391 | -------------------------------------------------------------------------------- /PMSM_mot_files/FOC_PMSM_code/SPWM_STM32f103C8.ioc: -------------------------------------------------------------------------------- 1 | #MicroXplorer Configuration settings - do not modify 2 | Mcu.Family=STM32F1 3 | RCC.PLLSourceVirtual=RCC_PLLSOURCE_HSE 4 | ProjectManager.MainLocation=Src 5 | RCC.MCOFreq_Value=72000000 6 | ProjectManager.ProjectFileName=SPWM_STM32f103C8.ioc 7 | Dma.ADC1.0.Instance=DMA1_Channel1 8 | ADC1.Rank-0\#ChannelRegularConversion=1 9 | TIM1.OffStateIDLEMode=TIM_OSSI_ENABLE 10 | PA7.Mode=PWM Generation1 CH1 CH1N 11 | PD1-OSC_OUT.Mode=HSE-External-Oscillator 12 | ProjectManager.KeepUserCode=true 13 | Mcu.UserName=STM32F103C8Tx 14 | Mcu.PinsNb=17 15 | ADC1.ContinuousConvMode=ENABLE 16 | ProjectManager.NoMain=false 17 | TIM1.Pulse-PWM\ Generation1\ CH1\ CH1N=360 18 | TIM1.IPParameters=Channel-PWM Generation1 CH1 CH1N,Channel-PWM Generation2 CH2 CH2N,Channel-PWM Generation3 CH3 CH3N,Period,AutoReloadPreload,AutomaticOutput,OffStateRunMode,OffStateIDLEMode,DeadTime,CounterMode,Pulse-PWM Generation1 CH1 CH1N,Pulse-PWM Generation2 CH2 CH2N,Pulse-PWM Generation3 CH3 CH3N 19 | ADC1.IPParameters=Rank-0\#ChannelRegularConversion,Channel-0\#ChannelRegularConversion,SamplingTime-0\#ChannelRegularConversion,NbrOfConversionFlag,master,ContinuousConvMode,Rank-1\#ChannelRegularConversion,Channel-1\#ChannelRegularConversion,SamplingTime-1\#ChannelRegularConversion,Rank-2\#ChannelRegularConversion,Channel-2\#ChannelRegularConversion,SamplingTime-2\#ChannelRegularConversion,Rank-3\#ChannelRegularConversion,Channel-3\#ChannelRegularConversion,SamplingTime-3\#ChannelRegularConversion,NbrOfConversion,DiscontinuousConvMode 20 | TIM1.CounterMode=TIM_COUNTERMODE_CENTERALIGNED1 21 | SH.ADCx_IN2.0=ADC1_IN2,IN2 22 | RCC.PLLCLKFreq_Value=72000000 23 | ProjectManager.functionlistsort=1-MX_GPIO_Init-GPIO-false-HAL-true,2-MX_DMA_Init-DMA-false-HAL-true,3-SystemClock_Config-RCC-false-HAL-false,4-MX_ADC1_Init-ADC1-false-HAL-true,5-MX_TIM1_Init-TIM1-false-HAL-true 24 | ADC1.DiscontinuousConvMode=DISABLE 25 | RCC.ADCFreqValue=12000000 26 | ProjectManager.DefaultFWLocation=true 27 | NVIC.TIM1_UP_IRQn=true\:0\:0\:false\:false\:true\:true\:true 28 | TIM1.Channel-PWM\ Generation1\ CH1\ CH1N=TIM_CHANNEL_1 29 | PD0-OSC_IN.Signal=RCC_OSC_IN 30 | ProjectManager.DeletePrevious=true 31 | SH.S_TIM1_CH3.ConfNb=1 32 | SH.S_TIM1_CH1.ConfNb=1 33 | RCC.APB1CLKDivider=RCC_HCLK_DIV2 34 | PB15.Signal=GPIO_Output 35 | PinOutPanel.RotationAngle=0 36 | ADC1.SamplingTime-2\#ChannelRegularConversion=ADC_SAMPLETIME_28CYCLES_5 37 | RCC.FamilyName=M 38 | RCC.SYSCLKSource=RCC_SYSCLKSOURCE_PLLCLK 39 | ProjectManager.StackSize=0x400 40 | PA0-WKUP.Signal=ADCx_IN0 41 | PD1-OSC_OUT.Signal=RCC_OSC_OUT 42 | RCC.ADCPresc=RCC_ADCPCLK2_DIV6 43 | TIM1.Pulse-PWM\ Generation2\ CH2\ CH2N=360 44 | PA13.Signal=SYS_JTMS-SWDIO 45 | Mcu.IP4=SYS 46 | TIM1.AutoReloadPreload=TIM_AUTORELOAD_PRELOAD_ENABLE 47 | RCC.FCLKCortexFreq_Value=72000000 48 | Mcu.IP5=TIM1 49 | Mcu.IP2=NVIC 50 | NVIC.SVCall_IRQn=true\:0\:0\:false\:false\:true\:false\:false 51 | Mcu.IP3=RCC 52 | TIM1.Channel-PWM\ Generation2\ CH2\ CH2N=TIM_CHANNEL_2 53 | Mcu.IP0=ADC1 54 | Dma.ADC1.0.PeriphDataAlignment=DMA_PDATAALIGN_HALFWORD 55 | Mcu.IP1=DMA 56 | SH.S_TIM1_CH1.0=TIM1_CH1,PWM Generation1 CH1 CH1N 57 | Mcu.UserConstants= 58 | ProjectManager.TargetToolchain=MDK-ARM V5.27 59 | Mcu.ThirdPartyNb=0 60 | Dma.ADC1.0.Mode=DMA_CIRCULAR 61 | ADC1.Channel-3\#ChannelRegularConversion=ADC_CHANNEL_3 62 | RCC.HCLKFreq_Value=72000000 63 | SH.ADCx_IN3.0=ADC1_IN3,IN3 64 | Mcu.IPNb=6 65 | ProjectManager.PreviousToolchain= 66 | Dma.ADC1.0.Priority=DMA_PRIORITY_LOW 67 | RCC.APB2TimFreq_Value=72000000 68 | PA9.Signal=S_TIM1_CH2 69 | VP_TIM1_VS_ClockSourceINT.Signal=TIM1_VS_ClockSourceINT 70 | ADC1.Channel-1\#ChannelRegularConversion=ADC_CHANNEL_1 71 | Dma.ADC1.0.Direction=DMA_PERIPH_TO_MEMORY 72 | ADC1.Channel-2\#ChannelRegularConversion=ADC_CHANNEL_2 73 | TIM1.AutomaticOutput=TIM_AUTOMATICOUTPUT_ENABLE 74 | SH.ADCx_IN3.ConfNb=1 75 | TIM1.Channel-PWM\ Generation3\ CH3\ CH3N=TIM_CHANNEL_3 76 | Mcu.Pin6=PA7 77 | Mcu.Pin7=PB0 78 | Mcu.Pin8=PB1 79 | RCC.USBFreq_Value=72000000 80 | Mcu.Pin9=PB15 81 | Dma.ADC1.0.MemDataAlignment=DMA_MDATAALIGN_HALFWORD 82 | PA1.Signal=ADCx_IN1 83 | RCC.AHBFreq_Value=72000000 84 | Mcu.Pin0=PD0-OSC_IN 85 | Mcu.Pin1=PD1-OSC_OUT 86 | SH.S_TIM1_CH2.ConfNb=1 87 | GPIO.groupedBy= 88 | PD0-OSC_IN.Mode=HSE-External-Oscillator 89 | Mcu.Pin2=PA0-WKUP 90 | Mcu.Pin3=PA1 91 | Mcu.Pin4=PA2 92 | Mcu.Pin5=PA3 93 | ADC1.Channel-0\#ChannelRegularConversion=ADC_CHANNEL_1 94 | ProjectManager.ProjectBuild=false 95 | NVIC.UsageFault_IRQn=true\:0\:0\:false\:false\:true\:false\:false 96 | NVIC.DebugMonitor_IRQn=true\:0\:0\:false\:false\:true\:false\:false 97 | PB0.Mode=PWM Generation2 CH2 CH2N 98 | board=custom 99 | NVIC.SysTick_IRQn=true\:0\:0\:false\:false\:true\:false\:true 100 | ProjectManager.LastFirmware=true 101 | RCC.PLLMUL=RCC_PLL_MUL9 102 | RCC.VCOOutput2Freq_Value=8000000 103 | Dma.ADC1.0.RequestParameters=Instance,Direction,PeriphInc,MemInc,PeriphDataAlignment,MemDataAlignment,Mode,Priority 104 | ProjectManager.FirmwarePackage=STM32Cube FW_F1 V1.8.3 105 | MxDb.Version=DB.5.0.60 106 | RCC.APB2Freq_Value=72000000 107 | ADC1.Rank-2\#ChannelRegularConversion=3 108 | ProjectManager.BackupPrevious=false 109 | MxCube.Version=5.6.1 110 | SH.S_TIM1_CH2.0=TIM1_CH2,PWM Generation2 CH2 CH2N 111 | PA14.Mode=Serial_Wire 112 | SH.ADCx_IN0.ConfNb=1 113 | SH.ADCx_IN1.ConfNb=1 114 | SH.ADCx_IN2.ConfNb=1 115 | Dma.ADC1.0.PeriphInc=DMA_PINC_DISABLE 116 | TIM1.DeadTime=100 117 | File.Version=6 118 | VP_SYS_VS_Systick.Mode=SysTick 119 | PA8.Signal=S_TIM1_CH1 120 | NVIC.NonMaskableInt_IRQn=true\:0\:0\:false\:false\:true\:false\:false 121 | SH.ADCx_IN0.0=ADC1_IN0,IN0 122 | NVIC.PendSV_IRQn=true\:0\:0\:false\:false\:true\:false\:false 123 | TIM1.OffStateRunMode=TIM_OSSR_ENABLE 124 | ADC1.NbrOfConversion=4 125 | PA13.Mode=Serial_Wire 126 | ProjectManager.FreePins=false 127 | RCC.IPParameters=ADCFreqValue,ADCPresc,AHBFreq_Value,APB1CLKDivider,APB1Freq_Value,APB1TimFreq_Value,APB2Freq_Value,APB2TimFreq_Value,FCLKCortexFreq_Value,FamilyName,HCLKFreq_Value,MCOFreq_Value,PLLCLKFreq_Value,PLLMCOFreq_Value,PLLMUL,PLLSourceVirtual,SYSCLKFreq_VALUE,SYSCLKSource,TimSysFreq_Value,USBFreq_Value,VCOOutput2Freq_Value 128 | ProjectManager.AskForMigrate=true 129 | Mcu.Name=STM32F103C(8-B)Tx 130 | Dma.RequestsNb=1 131 | TIM1.Pulse-PWM\ Generation3\ CH3\ CH3N=360 132 | ProjectManager.HalAssertFull=false 133 | VP_TIM1_VS_ClockSourceINT.Mode=Internal 134 | ADC1.SamplingTime-0\#ChannelRegularConversion=ADC_SAMPLETIME_28CYCLES_5 135 | PA2.Signal=ADCx_IN2 136 | ProjectManager.ProjectName=SPWM_STM32f103C8 137 | ProjectManager.UnderRoot=false 138 | RCC.PLLMCOFreq_Value=36000000 139 | ProjectManager.CoupleFile=false 140 | ADC1.SamplingTime-1\#ChannelRegularConversion=ADC_SAMPLETIME_28CYCLES_5 141 | RCC.SYSCLKFreq_VALUE=72000000 142 | Mcu.Package=LQFP48 143 | PB1.Signal=TIM1_CH3N 144 | RCC.TimSysFreq_Value=72000000 145 | ADC1.master=1 146 | ADC1.Rank-3\#ChannelRegularConversion=4 147 | ADC1.SamplingTime-3\#ChannelRegularConversion=ADC_SAMPLETIME_28CYCLES_5 148 | NVIC.ForceEnableDMAVector=true 149 | KeepUserPlacement=false 150 | NVIC.MemoryManagement_IRQn=true\:0\:0\:false\:false\:true\:false\:false 151 | ProjectManager.CompilerOptimize=6 152 | ADC1.Rank-1\#ChannelRegularConversion=2 153 | ProjectManager.ToolChainLocation= 154 | VP_SYS_VS_Systick.Signal=SYS_VS_Systick 155 | PA10.Signal=S_TIM1_CH3 156 | PA14.Signal=SYS_JTCK-SWCLK 157 | Dma.ADC1.0.MemInc=DMA_MINC_ENABLE 158 | NVIC.TIM1_BRK_IRQn=true\:0\:0\:false\:false\:true\:true\:true 159 | ProjectManager.HeapSize=0x200 160 | Mcu.Pin15=VP_SYS_VS_Systick 161 | NVIC.HardFault_IRQn=true\:0\:0\:false\:false\:true\:false\:false 162 | PB1.Mode=PWM Generation3 CH3 CH3N 163 | Mcu.Pin16=VP_TIM1_VS_ClockSourceINT 164 | Mcu.Pin13=PA13 165 | SH.S_TIM1_CH3.0=TIM1_CH3,PWM Generation3 CH3 CH3N 166 | Mcu.Pin14=PA14 167 | ProjectManager.ComputerToolchain=false 168 | NVIC.PriorityGroup=NVIC_PRIORITYGROUP_4 169 | ADC1.NbrOfConversionFlag=1 170 | SH.ADCx_IN1.0=ADC1_IN1,IN1 171 | Mcu.Pin11=PA9 172 | Mcu.Pin12=PA10 173 | Mcu.Pin10=PA8 174 | RCC.APB1TimFreq_Value=72000000 175 | NVIC.BusFault_IRQn=true\:0\:0\:false\:false\:true\:false\:false 176 | TIM1.Period=2000 177 | NVIC.DMA1_Channel1_IRQn=true\:0\:0\:false\:false\:true\:false\:true 178 | Dma.Request0=ADC1 179 | RCC.APB1Freq_Value=36000000 180 | PB0.Signal=TIM1_CH2N 181 | ProjectManager.CustomerFirmwarePackage= 182 | ProjectManager.DeviceId=STM32F103C8Tx 183 | ProjectManager.LibraryCopy=0 184 | PB15.Locked=true 185 | PA3.Signal=ADCx_IN3 186 | PA7.Signal=TIM1_CH1N 187 | -------------------------------------------------------------------------------- /BLDC_mot_files/CL_BLDC_motor_code/CL_BLDC_motor.ioc: -------------------------------------------------------------------------------- 1 | #MicroXplorer Configuration settings - do not modify 2 | Mcu.Family=STM32F1 3 | ProjectManager.MainLocation=Src 4 | RCC.MCOFreq_Value=72000000 5 | ProjectManager.KeepUserCode=true 6 | Mcu.UserName=STM32F103C8Tx 7 | ADC1.ContinuousConvMode=ENABLE 8 | TIM1.IPParameters=Period,AutoReloadPreload,CounterMode,Channel-PWM Generation1 CH1,Channel-PWM Generation2 CH2,Channel-PWM Generation3 CH3,Pulse-PWM Generation1 CH1,Pulse-PWM Generation2 CH2,Pulse-PWM Generation3 CH3,OffStateRunMode,OffStateIDLEMode 9 | SH.ADCx_IN2.0=ADC1_IN2,IN2 10 | RCC.PLLCLKFreq_Value=72000000 11 | ProjectManager.functionlistsort=1-MX_GPIO_Init-GPIO-false-HAL-true,2-MX_DMA_Init-DMA-false-HAL-true,3-SystemClock_Config-RCC-false-HAL-false,4-MX_ADC1_Init-ADC1-false-HAL-true,5-MX_TIM1_Init-TIM1-false-HAL-true,6-MX_TIM2_Init-TIM2-false-HAL-true,7-MX_TIM3_Init-TIM3-false-HAL-true,8-MX_USART1_UART_Init-USART1-false-HAL-true 12 | RCC.ADCFreqValue=12000000 13 | PA6.GPIO_Label=HLL_2 14 | TIM1.Pulse-PWM\ Generation1\ CH1=900 15 | SH.S_TIM1_CH3.ConfNb=1 16 | SH.S_TIM1_CH1.ConfNb=1 17 | TIM2.Channel-PWM\ Generation2\ CH2=TIM_CHANNEL_2 18 | USART1.IPParameters=VirtualMode 19 | PinOutPanel.RotationAngle=0 20 | RCC.SYSCLKSource=RCC_SYSCLKSOURCE_PLLCLK 21 | ProjectManager.StackSize=0x400 22 | PD1-OSC_OUT.Signal=RCC_OSC_OUT 23 | Mcu.IP4=SYS 24 | SH.GPXTI7.ConfNb=1 25 | RCC.FCLKCortexFreq_Value=72000000 26 | Mcu.IP5=TIM1 27 | Mcu.IP2=NVIC 28 | NVIC.SVCall_IRQn=true\:0\:0\:false\:false\:true\:false\:false 29 | Mcu.IP3=RCC 30 | Mcu.IP0=ADC1 31 | Mcu.IP1=DMA 32 | Mcu.UserConstants= 33 | TIM2.Pulse-PWM\ Generation3\ CH3=900 34 | Mcu.ThirdPartyNb=0 35 | ADC1.Channel-3\#ChannelRegularConversion=ADC_CHANNEL_3 36 | RCC.HCLKFreq_Value=72000000 37 | SH.ADCx_IN3.0=ADC1_IN3,IN3 38 | Mcu.IPNb=9 39 | TIM2.IPParameters=Period,AutoReloadPreload,Channel-PWM Generation1 CH1,Channel-PWM Generation2 CH2,Channel-PWM Generation3 CH3,Pulse-PWM Generation3 CH3,Pulse-PWM Generation2 CH2,Pulse-PWM Generation1 CH1,CounterMode 40 | ProjectManager.PreviousToolchain= 41 | RCC.APB2TimFreq_Value=72000000 42 | TIM3.Period=10000 43 | Dma.ADC1.0.Direction=DMA_PERIPH_TO_MEMORY 44 | PB6.Signal=USART1_TX 45 | ADC1.Channel-2\#ChannelRegularConversion=ADC_CHANNEL_2 46 | SH.ADCx_IN3.ConfNb=1 47 | PB6.Mode=Asynchronous 48 | Mcu.Pin6=PA3 49 | Mcu.Pin7=PA5 50 | VP_TIM2_VS_ClockSourceINT.Signal=TIM2_VS_ClockSourceINT 51 | Mcu.Pin8=PA6 52 | Mcu.Pin9=PA7 53 | Dma.ADC1.0.MemDataAlignment=DMA_MDATAALIGN_HALFWORD 54 | RCC.AHBFreq_Value=72000000 55 | Mcu.Pin0=PC13-TAMPER-RTC 56 | Mcu.Pin1=PD0-OSC_IN 57 | GPIO.groupedBy=Group By Peripherals 58 | Mcu.Pin2=PD1-OSC_OUT 59 | Mcu.Pin3=PA0-WKUP 60 | Mcu.Pin4=PA1 61 | Mcu.Pin5=PA2 62 | ADC1.Channel-0\#ChannelRegularConversion=ADC_CHANNEL_0 63 | ProjectManager.ProjectBuild=false 64 | RCC.HSE_VALUE=16000000 65 | NVIC.UsageFault_IRQn=true\:0\:0\:false\:false\:true\:false\:false 66 | NVIC.DebugMonitor_IRQn=true\:0\:0\:false\:false\:true\:false\:false 67 | NVIC.SysTick_IRQn=true\:0\:0\:false\:false\:true\:false\:true 68 | RCC.PLLMUL=RCC_PLL_MUL9 69 | SH.GPXTI7.0=GPIO_EXTI7 70 | ProjectManager.FirmwarePackage=STM32Cube FW_F1 V1.8.3 71 | MxDb.Version=DB.5.0.60 72 | PA6.GPIO_PuPd=GPIO_NOPULL 73 | ADC1.Rank-2\#ChannelRegularConversion=3 74 | ProjectManager.BackupPrevious=false 75 | TIM1.Channel-PWM\ Generation1\ CH1=TIM_CHANNEL_1 76 | PA14.Mode=Serial_Wire 77 | SH.ADCx_IN1.ConfNb=1 78 | TIM3.Prescaler=7200 79 | PA5.GPIO_PuPd=GPIO_NOPULL 80 | Dma.ADC1.0.PeriphInc=DMA_PINC_DISABLE 81 | File.Version=6 82 | PB7.Signal=USART1_RX 83 | PA8.Signal=S_TIM1_CH1 84 | SH.ADCx_IN0.0=ADC1_IN0,IN0 85 | TIM2.Channel-PWM\ Generation1\ CH1=TIM_CHANNEL_1 86 | NVIC.PendSV_IRQn=true\:0\:0\:false\:false\:true\:false\:false 87 | Dma.RequestsNb=1 88 | ProjectManager.HalAssertFull=false 89 | VP_TIM1_VS_ClockSourceINT.Mode=Internal 90 | ADC1.SamplingTime-0\#ChannelRegularConversion=ADC_SAMPLETIME_28CYCLES_5 91 | ProjectManager.ProjectName=CL_BLDC_motor 92 | RCC.PLLMCOFreq_Value=36000000 93 | Mcu.Package=LQFP48 94 | PA6.Signal=GPXTI6 95 | PA7.Locked=true 96 | PA5.Locked=true 97 | TIM1.Pulse-PWM\ Generation2\ CH2=900 98 | ProjectManager.ToolChainLocation= 99 | VP_SYS_VS_Systick.Signal=SYS_VS_Systick 100 | SH.GPXTI5.ConfNb=1 101 | PA10.Signal=S_TIM1_CH3 102 | PA15.Signal=S_TIM2_CH1_ETR 103 | PA5.GPIOParameters=GPIO_PuPd,GPIO_Label,GPIO_ModeDefaultEXTI 104 | TIM2.Pulse-PWM\ Generation2\ CH2=900 105 | SH.ADCx_IN1.0=ADC1_IN1,IN1 106 | RCC.APB1TimFreq_Value=72000000 107 | NVIC.BusFault_IRQn=true\:0\:0\:false\:false\:true\:false\:false 108 | TIM1.Period=1800 109 | Dma.Request0=ADC1 110 | ProjectManager.CustomerFirmwarePackage= 111 | VP_TIM3_VS_ClockSourceINT.Mode=Internal 112 | PA3.Signal=ADCx_IN3 113 | PA6.GPIOParameters=GPIO_PuPd,GPIO_Label,GPIO_ModeDefaultEXTI 114 | RCC.PLLSourceVirtual=RCC_PLLSOURCE_HSE 115 | SH.GPXTI5.0=GPIO_EXTI5 116 | ProjectManager.ProjectFileName=CL_BLDC_motor.ioc 117 | PA5.GPIO_ModeDefaultEXTI=GPIO_MODE_IT_RISING 118 | PA6.GPIO_ModeDefaultEXTI=GPIO_MODE_IT_RISING 119 | Dma.ADC1.0.Instance=DMA1_Channel1 120 | ADC1.Rank-0\#ChannelRegularConversion=1 121 | TIM1.OffStateIDLEMode=TIM_OSSI_DISABLE 122 | PD1-OSC_OUT.Mode=HSE-External-Oscillator 123 | TIM2.CounterMode=TIM_COUNTERMODE_CENTERALIGNED1 124 | Mcu.PinsNb=24 125 | TIM3.AutoReloadPreload=TIM_AUTORELOAD_PRELOAD_ENABLE 126 | ProjectManager.NoMain=false 127 | ADC1.IPParameters=Rank-0\#ChannelRegularConversion,Channel-0\#ChannelRegularConversion,SamplingTime-0\#ChannelRegularConversion,NbrOfConversionFlag,master,ContinuousConvMode,Rank-1\#ChannelRegularConversion,Channel-1\#ChannelRegularConversion,SamplingTime-1\#ChannelRegularConversion,Rank-2\#ChannelRegularConversion,Channel-2\#ChannelRegularConversion,SamplingTime-2\#ChannelRegularConversion,NbrOfConversion,Rank-3\#ChannelRegularConversion,Channel-3\#ChannelRegularConversion,SamplingTime-3\#ChannelRegularConversion 128 | TIM1.CounterMode=TIM_COUNTERMODE_CENTERALIGNED1 129 | PA7.GPIO_ModeDefaultEXTI=GPIO_MODE_IT_RISING 130 | PC13-TAMPER-RTC.Signal=GPIO_Output 131 | ProjectManager.DefaultFWLocation=true 132 | PD0-OSC_IN.Signal=RCC_OSC_IN 133 | ProjectManager.DeletePrevious=true 134 | RCC.APB1CLKDivider=RCC_HCLK_DIV2 135 | SH.S_TIM2_CH1_ETR.ConfNb=1 136 | ADC1.SamplingTime-2\#ChannelRegularConversion=ADC_SAMPLETIME_28CYCLES_5 137 | RCC.FamilyName=M 138 | PA0-WKUP.Signal=ADCx_IN0 139 | TIM2.Pulse-PWM\ Generation1\ CH1=900 140 | RCC.ADCPresc=RCC_ADCPCLK2_DIV6 141 | SH.GPXTI6.0=GPIO_EXTI6 142 | PA13.Signal=SYS_JTMS-SWDIO 143 | TIM1.AutoReloadPreload=TIM_AUTORELOAD_PRELOAD_ENABLE 144 | TIM1.Pulse-PWM\ Generation3\ CH3=900 145 | SH.GPXTI6.ConfNb=1 146 | SH.S_TIM2_CH2.0=TIM2_CH2,PWM Generation2 CH2 147 | Dma.ADC1.0.PeriphDataAlignment=DMA_PDATAALIGN_HALFWORD 148 | SH.S_TIM1_CH1.0=TIM1_CH1,PWM Generation1 CH1 149 | ProjectManager.TargetToolchain=MDK-ARM V5.27 150 | Dma.ADC1.0.Mode=DMA_CIRCULAR 151 | Dma.ADC1.0.Priority=DMA_PRIORITY_LOW 152 | PA9.Signal=S_TIM1_CH2 153 | ADC1.Channel-1\#ChannelRegularConversion=ADC_CHANNEL_1 154 | VP_TIM1_VS_ClockSourceINT.Signal=TIM1_VS_ClockSourceINT 155 | SH.S_TIM2_CH2.ConfNb=1 156 | TIM1.Channel-PWM\ Generation2\ CH2=TIM_CHANNEL_2 157 | PC13-TAMPER-RTC.Locked=true 158 | RCC.USBFreq_Value=72000000 159 | VP_TIM3_VS_ClockSourceINT.Signal=TIM3_VS_ClockSourceINT 160 | PA7.GPIO_PuPd=GPIO_NOPULL 161 | PA1.Signal=ADCx_IN1 162 | SH.S_TIM1_CH2.ConfNb=1 163 | PD0-OSC_IN.Mode=HSE-External-Oscillator 164 | PB10.Signal=S_TIM2_CH3 165 | PA5.Signal=GPXTI5 166 | board=custom 167 | ProjectManager.LastFirmware=true 168 | NVIC.TIM3_IRQn=true\:0\:0\:false\:false\:true\:true\:true 169 | RCC.VCOOutput2Freq_Value=8000000 170 | Dma.ADC1.0.RequestParameters=Instance,Direction,PeriphInc,MemInc,PeriphDataAlignment,MemDataAlignment,Mode,Priority 171 | RCC.APB2Freq_Value=72000000 172 | MxCube.Version=5.6.1 173 | VP_TIM2_VS_ClockSourceINT.Mode=Internal 174 | SH.S_TIM1_CH2.0=TIM1_CH2,PWM Generation2 CH2 175 | SH.S_TIM2_CH3.0=TIM2_CH3,PWM Generation3 CH3 176 | SH.ADCx_IN0.ConfNb=1 177 | SH.ADCx_IN2.ConfNb=1 178 | VP_SYS_VS_Systick.Mode=SysTick 179 | TIM2.Channel-PWM\ Generation3\ CH3=TIM_CHANNEL_3 180 | TIM3.IPParameters=Prescaler,Period,AutoReloadPreload 181 | NVIC.NonMaskableInt_IRQn=true\:0\:0\:false\:false\:true\:false\:false 182 | SH.S_TIM2_CH3.ConfNb=1 183 | TIM1.OffStateRunMode=TIM_OSSR_DISABLE 184 | TIM2.Period=1800 185 | ADC1.NbrOfConversion=4 186 | PA13.Mode=Serial_Wire 187 | ProjectManager.FreePins=false 188 | RCC.IPParameters=ADCFreqValue,ADCPresc,AHBFreq_Value,APB1CLKDivider,APB1Freq_Value,APB1TimFreq_Value,APB2Freq_Value,APB2TimFreq_Value,FCLKCortexFreq_Value,FamilyName,HCLKFreq_Value,HSEDivPLL,HSE_VALUE,MCOFreq_Value,PLLCLKFreq_Value,PLLMCOFreq_Value,PLLMUL,PLLSourceVirtual,SYSCLKFreq_VALUE,SYSCLKSource,TimSysFreq_Value,USBFreq_Value,VCOOutput2Freq_Value 189 | ProjectManager.AskForMigrate=true 190 | Mcu.Name=STM32F103C(8-B)Tx 191 | PA2.Signal=ADCx_IN2 192 | ProjectManager.UnderRoot=false 193 | Mcu.IP8=USART1 194 | Mcu.IP6=TIM2 195 | Mcu.IP7=TIM3 196 | ProjectManager.CoupleFile=false 197 | PB3.Signal=S_TIM2_CH2 198 | ADC1.SamplingTime-1\#ChannelRegularConversion=ADC_SAMPLETIME_28CYCLES_5 199 | RCC.SYSCLKFreq_VALUE=72000000 200 | Mcu.Pin22=VP_TIM2_VS_ClockSourceINT 201 | Mcu.Pin23=VP_TIM3_VS_ClockSourceINT 202 | RCC.TimSysFreq_Value=72000000 203 | PA7.GPIO_Label=HLL_3 204 | Mcu.Pin20=VP_SYS_VS_Systick 205 | ADC1.master=1 206 | Mcu.Pin21=VP_TIM1_VS_ClockSourceINT 207 | PA5.GPIO_Label=HLL_1 208 | ADC1.Rank-3\#ChannelRegularConversion=4 209 | ADC1.SamplingTime-3\#ChannelRegularConversion=ADC_SAMPLETIME_28CYCLES_5 210 | NVIC.ForceEnableDMAVector=true 211 | KeepUserPlacement=false 212 | RCC.HSEDivPLL=RCC_HSE_PREDIV_DIV2 213 | NVIC.MemoryManagement_IRQn=true\:0\:0\:false\:false\:true\:false\:false 214 | USART1.VirtualMode=VM_ASYNC 215 | ProjectManager.CompilerOptimize=6 216 | ADC1.Rank-1\#ChannelRegularConversion=2 217 | PB7.Mode=Asynchronous 218 | SH.S_TIM2_CH1_ETR.0=TIM2_CH1,PWM Generation1 CH1 219 | NVIC.EXTI9_5_IRQn=true\:0\:0\:false\:false\:true\:true\:true 220 | PA14.Signal=SYS_JTCK-SWCLK 221 | Dma.ADC1.0.MemInc=DMA_MINC_ENABLE 222 | ProjectManager.HeapSize=0x200 223 | Mcu.Pin15=PA14 224 | NVIC.HardFault_IRQn=true\:0\:0\:false\:false\:true\:false\:false 225 | Mcu.Pin16=PA15 226 | Mcu.Pin13=PA10 227 | SH.S_TIM1_CH3.0=TIM1_CH3,PWM Generation3 CH3 228 | Mcu.Pin14=PA13 229 | Mcu.Pin19=PB7 230 | ProjectManager.ComputerToolchain=false 231 | Mcu.Pin17=PB3 232 | Mcu.Pin18=PB6 233 | NVIC.PriorityGroup=NVIC_PRIORITYGROUP_4 234 | ADC1.NbrOfConversionFlag=1 235 | Mcu.Pin11=PA8 236 | Mcu.Pin12=PA9 237 | Mcu.Pin10=PB10 238 | TIM2.AutoReloadPreload=TIM_AUTORELOAD_PRELOAD_ENABLE 239 | NVIC.DMA1_Channel1_IRQn=true\:0\:0\:false\:false\:true\:false\:true 240 | TIM1.Channel-PWM\ Generation3\ CH3=TIM_CHANNEL_3 241 | RCC.APB1Freq_Value=36000000 242 | PA7.GPIOParameters=GPIO_PuPd,GPIO_Label,GPIO_ModeDefaultEXTI 243 | ProjectManager.DeviceId=STM32F103C8Tx 244 | ProjectManager.LibraryCopy=0 245 | PA7.Signal=GPXTI7 246 | PA6.Locked=true 247 | -------------------------------------------------------------------------------- /PMSM_mot_files/FOC_PMSM_code/main.c: -------------------------------------------------------------------------------- 1 | /* USER CODE BEGIN Header */ 2 | /** 3 | ****************************************************************************** 4 | * @file : main.c 5 | * @brief : Main program body 6 | ****************************************************************************** 7 | * @attention 8 | * 9 | *

© Copyright (c) 2021 STMicroelectronics. 10 | * All rights reserved.

11 | * 12 | * This software component is licensed by ST under BSD 3-Clause license, 13 | * the "License"; You may not use this file except in compliance with the 14 | * License. You may obtain a copy of the License at: 15 | * opensource.org/licenses/BSD-3-Clause 16 | * 17 | ****************************************************************************** 18 | */ 19 | /* USER CODE END Header */ 20 | 21 | /* Includes ------------------------------------------------------------------*/ 22 | #include "main.h" 23 | 24 | /* Private includes ----------------------------------------------------------*/ 25 | /* USER CODE BEGIN Includes */ 26 | #include 27 | #include "SVPWM.h" 28 | #include "PID.h" 29 | #include "park_clarke.h" 30 | #include "sine.h" 31 | #include "modelparam.h" 32 | 33 | /* USER CODE END Includes */ 34 | 35 | /* Private typedef -----------------------------------------------------------*/ 36 | /* USER CODE BEGIN PTD */ 37 | 38 | /* USER CODE END PTD */ 39 | 40 | /* Private define ------------------------------------------------------------*/ 41 | /* USER CODE BEGIN PD */ 42 | #define PI 3.14159265 43 | 44 | /* USER CODE END PD */ 45 | 46 | /* Private macro -------------------------------------------------------------*/ 47 | /* USER CODE BEGIN PM */ 48 | 49 | /* USER CODE END PM */ 50 | 51 | /* Private variables ---------------------------------------------------------*/ 52 | ADC_HandleTypeDef hadc1; 53 | DMA_HandleTypeDef hdma_adc1; 54 | 55 | TIM_HandleTypeDef htim1; 56 | 57 | /* USER CODE BEGIN PV */ 58 | PIDController pid_id = { Kcd, 59 | Kcd/tauid, 60 | 0, 61 | 0, 62 | 0, 0, 63 | -5000, 64 | 5000, 65 | .003 }; 66 | 67 | 68 | 69 | 70 | 71 | PIDController pid_iq = { Kcq, 72 | Kcq/tauiq, 73 | 0, 74 | 0, 75 | 0, 0, 76 | -5000, 77 | 5000, 78 | .003 }; 79 | 80 | 81 | PIDController pid_vel = { Kcv, 82 | Kcv/tauiv, 83 | 0, 84 | 0, 85 | 0, 0, 86 | -5000, 87 | 5000, 88 | .003 }; 89 | 90 | 91 | 92 | 93 | float setpoint = 100; 94 | float mesurment = 0; 95 | float IA=0,IB=-.5,IC=+.5,theta=_PI_3*2,Ialpha,Ibeta,Iq,Id,Ialpha_out,Ibeta_out,Iq_out,Id_out,Ia_out,Ib_out,Ic_out; 96 | double S1,S2,S3; 97 | 98 | float Id_ref=0; 99 | float Id_controller_output_AKA_Vd; 100 | 101 | float Ws_feedback=30; 102 | float vel_ref=500; 103 | float vel_controller_output_AKA_Iqhat; 104 | 105 | uint16_t A_sig=0; 106 | 107 | 108 | //float Iq_ref=1; 109 | float Iq_controller_output_AKA_Vq; 110 | 111 | uint16_t ADC_VALs[4]; 112 | 113 | /* USER CODE END PV */ 114 | 115 | /* Private function prototypes -----------------------------------------------*/ 116 | void SystemClock_Config(void); 117 | static void MX_GPIO_Init(void); 118 | static void MX_DMA_Init(void); 119 | static void MX_ADC1_Init(void); 120 | static void MX_TIM1_Init(void); 121 | /* USER CODE BEGIN PFP */ 122 | 123 | /* USER CODE END PFP */ 124 | 125 | /* Private user code ---------------------------------------------------------*/ 126 | /* USER CODE BEGIN 0 */ 127 | /* USER CODE END 0 */ 128 | 129 | /** 130 | * @brief The application entry point. 131 | * @retval int 132 | */ 133 | int main(void) 134 | { 135 | /* USER CODE BEGIN 1 */ 136 | /* USER CODE END 1 */ 137 | 138 | /* MCU Configuration--------------------------------------------------------*/ 139 | 140 | /* Reset of all peripherals, Initializes the Flash interface and the Systick. */ 141 | HAL_Init(); 142 | 143 | /* USER CODE BEGIN Init */ 144 | 145 | /* USER CODE END Init */ 146 | 147 | /* Configure the system clock */ 148 | SystemClock_Config(); 149 | 150 | /* USER CODE BEGIN SysInit */ 151 | 152 | /* USER CODE END SysInit */ 153 | 154 | /* Initialize all configured peripherals */ 155 | MX_GPIO_Init(); 156 | MX_DMA_Init(); 157 | MX_ADC1_Init(); 158 | MX_TIM1_Init(); 159 | /* USER CODE BEGIN 2 */ 160 | // Analog DMA settings 161 | HAL_ADC_Start_DMA(&hadc1,( uint32_t *)ADC_VALs,4); 162 | 163 | 164 | // PWM settings 165 | HAL_TIM_PWM_Start(&htim1, TIM_CHANNEL_1); 166 | HAL_TIM_PWM_Start(&htim1, TIM_CHANNEL_2); 167 | HAL_TIM_PWM_Start(&htim1, TIM_CHANNEL_3); 168 | HAL_TIMEx_PWMN_Start(&htim1, TIM_CHANNEL_1); // turn on complementary channel 169 | HAL_TIMEx_PWMN_Start(&htim1, TIM_CHANNEL_2); // turn on complementary channel 170 | HAL_TIMEx_PWMN_Start(&htim1, TIM_CHANNEL_3); // turn on complementary channel 171 | 172 | /* 173 | __HAL_TIM_SET_COMPARE(&htim1, TIM_CHANNEL_1,(uint16_t)0); 174 | __HAL_TIM_SET_COMPARE(&htim1, TIM_CHANNEL_2,(uint16_t)0); 175 | __HAL_TIM_SET_COMPARE(&htim1, TIM_CHANNEL_3,(uint16_t)0); 176 | */ 177 | 178 | HAL_TIM_Base_Start_IT(&htim1); 179 | 180 | 181 | /* USER CODE END 2 */ 182 | 183 | /* Infinite loop */ 184 | /* USER CODE BEGIN WHILE */ 185 | while (1) 186 | { 187 | 188 | //TIM1->ARR = (uint16_t)(60e3/(map(ADC_VALs[0],0,4048,1,100))); 189 | /* USER CODE END WHILE */ 190 | /* USER CODE BEGIN 3 */ 191 | } 192 | /* USER CODE END 3 */ 193 | } 194 | 195 | /** 196 | * @brief System Clock Configuration 197 | * @retval None 198 | */ 199 | void SystemClock_Config(void) 200 | { 201 | RCC_OscInitTypeDef RCC_OscInitStruct = {0}; 202 | RCC_ClkInitTypeDef RCC_ClkInitStruct = {0}; 203 | RCC_PeriphCLKInitTypeDef PeriphClkInit = {0}; 204 | 205 | /** Initializes the CPU, AHB and APB busses clocks 206 | */ 207 | RCC_OscInitStruct.OscillatorType = RCC_OSCILLATORTYPE_HSE; 208 | RCC_OscInitStruct.HSEState = RCC_HSE_ON; 209 | RCC_OscInitStruct.HSEPredivValue = RCC_HSE_PREDIV_DIV1; 210 | RCC_OscInitStruct.HSIState = RCC_HSI_ON; 211 | RCC_OscInitStruct.PLL.PLLState = RCC_PLL_ON; 212 | RCC_OscInitStruct.PLL.PLLSource = RCC_PLLSOURCE_HSE; 213 | RCC_OscInitStruct.PLL.PLLMUL = RCC_PLL_MUL9; 214 | if (HAL_RCC_OscConfig(&RCC_OscInitStruct) != HAL_OK) 215 | { 216 | Error_Handler(); 217 | } 218 | /** Initializes the CPU, AHB and APB busses clocks 219 | */ 220 | RCC_ClkInitStruct.ClockType = RCC_CLOCKTYPE_HCLK|RCC_CLOCKTYPE_SYSCLK 221 | |RCC_CLOCKTYPE_PCLK1|RCC_CLOCKTYPE_PCLK2; 222 | RCC_ClkInitStruct.SYSCLKSource = RCC_SYSCLKSOURCE_PLLCLK; 223 | RCC_ClkInitStruct.AHBCLKDivider = RCC_SYSCLK_DIV1; 224 | RCC_ClkInitStruct.APB1CLKDivider = RCC_HCLK_DIV2; 225 | RCC_ClkInitStruct.APB2CLKDivider = RCC_HCLK_DIV1; 226 | 227 | if (HAL_RCC_ClockConfig(&RCC_ClkInitStruct, FLASH_LATENCY_2) != HAL_OK) 228 | { 229 | Error_Handler(); 230 | } 231 | PeriphClkInit.PeriphClockSelection = RCC_PERIPHCLK_ADC; 232 | PeriphClkInit.AdcClockSelection = RCC_ADCPCLK2_DIV6; 233 | if (HAL_RCCEx_PeriphCLKConfig(&PeriphClkInit) != HAL_OK) 234 | { 235 | Error_Handler(); 236 | } 237 | } 238 | 239 | /** 240 | * @brief ADC1 Initialization Function 241 | * @param None 242 | * @retval None 243 | */ 244 | static void MX_ADC1_Init(void) 245 | { 246 | 247 | /* USER CODE BEGIN ADC1_Init 0 */ 248 | 249 | /* USER CODE END ADC1_Init 0 */ 250 | 251 | ADC_ChannelConfTypeDef sConfig = {0}; 252 | 253 | /* USER CODE BEGIN ADC1_Init 1 */ 254 | 255 | /* USER CODE END ADC1_Init 1 */ 256 | /** Common config 257 | */ 258 | hadc1.Instance = ADC1; 259 | hadc1.Init.ScanConvMode = ADC_SCAN_ENABLE; 260 | hadc1.Init.ContinuousConvMode = ENABLE; 261 | hadc1.Init.DiscontinuousConvMode = DISABLE; 262 | hadc1.Init.ExternalTrigConv = ADC_SOFTWARE_START; 263 | hadc1.Init.DataAlign = ADC_DATAALIGN_RIGHT; 264 | hadc1.Init.NbrOfConversion = 4; 265 | if (HAL_ADC_Init(&hadc1) != HAL_OK) 266 | { 267 | Error_Handler(); 268 | } 269 | /** Configure Regular Channel 270 | */ 271 | sConfig.Channel = ADC_CHANNEL_0; 272 | sConfig.Rank = ADC_REGULAR_RANK_1; 273 | sConfig.SamplingTime = ADC_SAMPLETIME_28CYCLES_5; 274 | if (HAL_ADC_ConfigChannel(&hadc1, &sConfig) != HAL_OK) 275 | { 276 | Error_Handler(); 277 | } 278 | /** Configure Regular Channel 279 | */ 280 | sConfig.Channel = ADC_CHANNEL_1; 281 | 282 | sConfig.Rank = ADC_REGULAR_RANK_2; 283 | if (HAL_ADC_ConfigChannel(&hadc1, &sConfig) != HAL_OK) 284 | { 285 | Error_Handler(); 286 | } 287 | /** Configure Regular Channel 288 | */ 289 | sConfig.Channel = ADC_CHANNEL_2; 290 | sConfig.Rank = ADC_REGULAR_RANK_3; 291 | if (HAL_ADC_ConfigChannel(&hadc1, &sConfig) != HAL_OK) 292 | { 293 | Error_Handler(); 294 | } 295 | /** Configure Regular Channel 296 | */ 297 | sConfig.Channel = ADC_CHANNEL_3; 298 | sConfig.Rank = ADC_REGULAR_RANK_4; 299 | if (HAL_ADC_ConfigChannel(&hadc1, &sConfig) != HAL_OK) 300 | { 301 | Error_Handler(); 302 | } 303 | /* USER CODE BEGIN ADC1_Init 2 */ 304 | 305 | /* USER CODE END ADC1_Init 2 */ 306 | 307 | } 308 | 309 | /** 310 | * @brief TIM1 Initialization Function 311 | * @param None 312 | * @retval None 313 | */ 314 | static void MX_TIM1_Init(void) 315 | { 316 | 317 | /* USER CODE BEGIN TIM1_Init 0 */ 318 | 319 | /* USER CODE END TIM1_Init 0 */ 320 | 321 | TIM_ClockConfigTypeDef sClockSourceConfig = {0}; 322 | TIM_MasterConfigTypeDef sMasterConfig = {0}; 323 | TIM_OC_InitTypeDef sConfigOC = {0}; 324 | TIM_BreakDeadTimeConfigTypeDef sBreakDeadTimeConfig = {0}; 325 | 326 | /* USER CODE BEGIN TIM1_Init 1 */ 327 | 328 | /* USER CODE END TIM1_Init 1 */ 329 | htim1.Instance = TIM1; 330 | htim1.Init.Prescaler = 0; 331 | htim1.Init.CounterMode = TIM_COUNTERMODE_CENTERALIGNED1; 332 | htim1.Init.Period = 3600; 333 | htim1.Init.ClockDivision = TIM_CLOCKDIVISION_DIV1; 334 | htim1.Init.RepetitionCounter = 0; 335 | htim1.Init.AutoReloadPreload = TIM_AUTORELOAD_PRELOAD_ENABLE; 336 | if (HAL_TIM_Base_Init(&htim1) != HAL_OK) 337 | { 338 | Error_Handler(); 339 | } 340 | sClockSourceConfig.ClockSource = TIM_CLOCKSOURCE_INTERNAL; 341 | if (HAL_TIM_ConfigClockSource(&htim1, &sClockSourceConfig) != HAL_OK) 342 | { 343 | Error_Handler(); 344 | } 345 | if (HAL_TIM_PWM_Init(&htim1) != HAL_OK) 346 | { 347 | Error_Handler(); 348 | } 349 | sMasterConfig.MasterOutputTrigger = TIM_TRGO_RESET; 350 | sMasterConfig.MasterSlaveMode = TIM_MASTERSLAVEMODE_DISABLE; 351 | if (HAL_TIMEx_MasterConfigSynchronization(&htim1, &sMasterConfig) != HAL_OK) 352 | { 353 | Error_Handler(); 354 | } 355 | sConfigOC.OCMode = TIM_OCMODE_PWM1; 356 | sConfigOC.Pulse = 360; 357 | sConfigOC.OCPolarity = TIM_OCPOLARITY_HIGH; 358 | sConfigOC.OCNPolarity = TIM_OCNPOLARITY_HIGH; 359 | sConfigOC.OCFastMode = TIM_OCFAST_DISABLE; 360 | sConfigOC.OCIdleState = TIM_OCIDLESTATE_RESET; 361 | sConfigOC.OCNIdleState = TIM_OCNIDLESTATE_RESET; 362 | if (HAL_TIM_PWM_ConfigChannel(&htim1, &sConfigOC, TIM_CHANNEL_1) != HAL_OK) 363 | { 364 | Error_Handler(); 365 | } 366 | if (HAL_TIM_PWM_ConfigChannel(&htim1, &sConfigOC, TIM_CHANNEL_2) != HAL_OK) 367 | { 368 | Error_Handler(); 369 | } 370 | if (HAL_TIM_PWM_ConfigChannel(&htim1, &sConfigOC, TIM_CHANNEL_3) != HAL_OK) 371 | { 372 | Error_Handler(); 373 | } 374 | sBreakDeadTimeConfig.OffStateRunMode = TIM_OSSR_ENABLE; 375 | sBreakDeadTimeConfig.OffStateIDLEMode = TIM_OSSI_ENABLE; 376 | sBreakDeadTimeConfig.LockLevel = TIM_LOCKLEVEL_OFF; 377 | sBreakDeadTimeConfig.DeadTime = 100; 378 | sBreakDeadTimeConfig.BreakState = TIM_BREAK_DISABLE; 379 | sBreakDeadTimeConfig.BreakPolarity = TIM_BREAKPOLARITY_HIGH; 380 | sBreakDeadTimeConfig.AutomaticOutput = TIM_AUTOMATICOUTPUT_ENABLE; 381 | if (HAL_TIMEx_ConfigBreakDeadTime(&htim1, &sBreakDeadTimeConfig) != HAL_OK) 382 | { 383 | Error_Handler(); 384 | } 385 | /* USER CODE BEGIN TIM1_Init 2 */ 386 | 387 | /* USER CODE END TIM1_Init 2 */ 388 | HAL_TIM_MspPostInit(&htim1); 389 | 390 | } 391 | 392 | /** 393 | * Enable DMA controller clock 394 | */ 395 | static void MX_DMA_Init(void) 396 | { 397 | 398 | /* DMA controller clock enable */ 399 | __HAL_RCC_DMA1_CLK_ENABLE(); 400 | 401 | /* DMA interrupt init */ 402 | /* DMA1_Channel1_IRQn interrupt configuration */ 403 | HAL_NVIC_SetPriority(DMA1_Channel1_IRQn, 0, 0); 404 | HAL_NVIC_EnableIRQ(DMA1_Channel1_IRQn); 405 | 406 | } 407 | 408 | /** 409 | * @brief GPIO Initialization Function 410 | * @param None 411 | * @retval None 412 | */ 413 | static void MX_GPIO_Init(void) 414 | { 415 | GPIO_InitTypeDef GPIO_InitStruct = {0}; 416 | 417 | /* GPIO Ports Clock Enable */ 418 | __HAL_RCC_GPIOD_CLK_ENABLE(); 419 | __HAL_RCC_GPIOA_CLK_ENABLE(); 420 | __HAL_RCC_GPIOB_CLK_ENABLE(); 421 | 422 | /*Configure GPIO pin Output Level */ 423 | HAL_GPIO_WritePin(GPIOB, GPIO_PIN_15, GPIO_PIN_RESET); 424 | 425 | /*Configure GPIO pin : PB15 */ 426 | GPIO_InitStruct.Pin = GPIO_PIN_15; 427 | GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP; 428 | GPIO_InitStruct.Pull = GPIO_NOPULL; 429 | GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW; 430 | HAL_GPIO_Init(GPIOB, &GPIO_InitStruct); 431 | 432 | } 433 | 434 | /* USER CODE BEGIN 4 */ 435 | void HAL_TIM_PeriodElapsedCallback(TIM_HandleTypeDef* htim){ 436 | 437 | if (htim->Instance == TIM1) { 438 | 439 | /* firstly, read the currents */ 440 | IA = 10*sin(theta); 441 | IB = 10*sin(theta-2.094); 442 | IC = -(IA+IB); 443 | 444 | //Ws_feedback +=.1*Zp; 445 | theta +=.1; 446 | 447 | /* secondly, the forward transformation, inputs are IA AB, outputs are Iq,Id */ 448 | clarke_trans(IA,IB,&Ialpha,&Ibeta); 449 | park_trans(Ialpha,Ibeta,theta,&Iq,&Id); 450 | 451 | /* Id PID controller */ 452 | //Id_controller_output_AKA_Vd = PIDController_Update(&pid_id,Id_ref,Id); 453 | //Id_controller_output_AKA_Vd = Id_controller_output_AKA_Vd - (Iq*Ls*Ws_feedback); // feedforward 454 | 455 | 456 | /* speed PID controller */ 457 | //vel_controller_output_AKA_Iqhat = PIDController_Update(&pid_vel,vel_ref,Ws_feedback); 458 | 459 | 460 | /* Iq PID controller */ 461 | //Iq_controller_output_AKA_Vq = PIDController_Update(&pid_iq,vel_controller_output_AKA_Iqhat,Iq); 462 | //Iq_controller_output_AKA_Vq = Iq_controller_output_AKA_Vq + ((Ws_feedback*Phmig)+(Id*Ls*Ws_feedback)); // feedforward 463 | 464 | 465 | park_inv_trans(Iq,Id,theta,&Ialpha_out,&Ibeta_out); 466 | clarke_inv_trans(Ialpha_out,Ibeta_out,&Ia_out,&Ib_out,&Ic_out); 467 | 468 | 469 | SVPWM(Ia_out/10,Ib_out/10,Ic_out/10,&S1,&S2,&S3); 470 | A_sig = S1*3600; 471 | __HAL_TIM_SET_COMPARE(&htim1, TIM_CHANNEL_1,(uint16_t)A_sig); 472 | 473 | if(theta >= 2*_PI)theta=.05; 474 | 475 | } 476 | } 477 | /* USER CODE END 4 */ 478 | 479 | /** 480 | * @brief This function is executed in case of error occurrence. 481 | * @retval None 482 | */ 483 | void Error_Handler(void) 484 | { 485 | /* USER CODE BEGIN Error_Handler_Debug */ 486 | /* User can add his own implementation to report the HAL error return state */ 487 | 488 | /* USER CODE END Error_Handler_Debug */ 489 | } 490 | 491 | #ifdef USE_FULL_ASSERT 492 | /** 493 | * @brief Reports the name of the source file and the source line number 494 | * where the assert_param error has occurred. 495 | * @param file: pointer to the source file name 496 | * @param line: assert_param error line source number 497 | * @retval None 498 | */ 499 | void assert_failed(uint8_t *file, uint32_t line) 500 | { 501 | /* USER CODE BEGIN 6 */ 502 | /* User can add his own implementation to report the file name and line number, 503 | tex: printf("Wrong parameters value: file %s on line %d\r\n", file, line) */ 504 | /* USER CODE END 6 */ 505 | } 506 | #endif /* USE_FULL_ASSERT */ 507 | 508 | /************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ 509 | -------------------------------------------------------------------------------- /DRIVER_8323_based-cache.lib: -------------------------------------------------------------------------------- 1 | EESchema-LIBRARY Version 2.4 2 | #encoding utf-8 3 | # 4 | # Connector_Conn_01x01_Female 5 | # 6 | DEF Connector_Conn_01x01_Female J 0 40 Y N 1 F N 7 | F0 "J" 0 100 50 H V C CNN 8 | F1 "Connector_Conn_01x01_Female" 0 -100 50 H V C CNN 9 | F2 "" 0 0 50 H I C CNN 10 | F3 "" 0 0 50 H I C CNN 11 | $FPLIST 12 | Connector*:* 13 | $ENDFPLIST 14 | DRAW 15 | A 0 0 20 901 -901 1 1 6 N 0 20 0 -20 16 | P 2 1 1 6 -50 0 -20 0 N 17 | X Pin_1 1 -200 0 150 R 50 50 1 1 P 18 | ENDDRAW 19 | ENDDEF 20 | # 21 | # Connector_Conn_01x01_Male 22 | # 23 | DEF Connector_Conn_01x01_Male J 0 40 Y N 1 F N 24 | F0 "J" 0 100 50 H V C CNN 25 | F1 "Connector_Conn_01x01_Male" 0 -100 50 H V C CNN 26 | F2 "" 0 0 50 H I C CNN 27 | F3 "" 0 0 50 H I C CNN 28 | $FPLIST 29 | Connector*:* 30 | $ENDFPLIST 31 | DRAW 32 | S 34 5 0 -5 1 1 6 F 33 | P 2 1 1 6 50 0 34 0 N 34 | X Pin_1 1 200 0 150 L 50 50 1 1 P 35 | ENDDRAW 36 | ENDDEF 37 | # 38 | # Connector_Generic_Conn_01x02 39 | # 40 | DEF Connector_Generic_Conn_01x02 J 0 40 Y N 1 F N 41 | F0 "J" 0 100 50 H V C CNN 42 | F1 "Connector_Generic_Conn_01x02" 0 -200 50 H V C CNN 43 | F2 "" 0 0 50 H I C CNN 44 | F3 "" 0 0 50 H I C CNN 45 | $FPLIST 46 | Connector*:*_1x??_* 47 | $ENDFPLIST 48 | DRAW 49 | S -50 -95 0 -105 1 1 6 N 50 | S -50 5 0 -5 1 1 6 N 51 | S -50 50 50 -150 1 1 10 f 52 | X Pin_1 1 -200 0 150 R 50 50 1 1 P 53 | X Pin_2 2 -200 -100 150 R 50 50 1 1 P 54 | ENDDRAW 55 | ENDDEF 56 | # 57 | # Connector_Generic_Conn_02x02_Odd_Even 58 | # 59 | DEF Connector_Generic_Conn_02x02_Odd_Even J 0 40 Y N 1 F N 60 | F0 "J" 50 100 50 H V C CNN 61 | F1 "Connector_Generic_Conn_02x02_Odd_Even" 50 -200 50 H V C CNN 62 | F2 "" 0 0 50 H I C CNN 63 | F3 "" 0 0 50 H I C CNN 64 | $FPLIST 65 | Connector*:*_2x??_* 66 | $ENDFPLIST 67 | DRAW 68 | S -50 -95 0 -105 1 1 6 N 69 | S -50 5 0 -5 1 1 6 N 70 | S -50 50 150 -150 1 1 10 f 71 | S 150 -95 100 -105 1 1 6 N 72 | S 150 5 100 -5 1 1 6 N 73 | X Pin_1 1 -200 0 150 R 50 50 1 1 P 74 | X Pin_2 2 300 0 150 L 50 50 1 1 P 75 | X Pin_3 3 -200 -100 150 R 50 50 1 1 P 76 | X Pin_4 4 300 -100 150 L 50 50 1 1 P 77 | ENDDRAW 78 | ENDDEF 79 | # 80 | # Connector_Generic_Conn_02x03_Odd_Even 81 | # 82 | DEF Connector_Generic_Conn_02x03_Odd_Even J 0 40 Y N 1 F N 83 | F0 "J" 50 200 50 H V C CNN 84 | F1 "Connector_Generic_Conn_02x03_Odd_Even" 50 -200 50 H V C CNN 85 | F2 "" 0 0 50 H I C CNN 86 | F3 "" 0 0 50 H I C CNN 87 | $FPLIST 88 | Connector*:*_2x??_* 89 | $ENDFPLIST 90 | DRAW 91 | S -50 -95 0 -105 1 1 6 N 92 | S -50 5 0 -5 1 1 6 N 93 | S -50 105 0 95 1 1 6 N 94 | S -50 150 150 -150 1 1 10 f 95 | S 150 -95 100 -105 1 1 6 N 96 | S 150 5 100 -5 1 1 6 N 97 | S 150 105 100 95 1 1 6 N 98 | X Pin_1 1 -200 100 150 R 50 50 1 1 P 99 | X Pin_2 2 300 100 150 L 50 50 1 1 P 100 | X Pin_3 3 -200 0 150 R 50 50 1 1 P 101 | X Pin_4 4 300 0 150 L 50 50 1 1 P 102 | X Pin_5 5 -200 -100 150 R 50 50 1 1 P 103 | X Pin_6 6 300 -100 150 L 50 50 1 1 P 104 | ENDDRAW 105 | ENDDEF 106 | # 107 | # Connector_Generic_Conn_02x05_Odd_Even 108 | # 109 | DEF Connector_Generic_Conn_02x05_Odd_Even J 0 40 Y N 1 F N 110 | F0 "J" 50 300 50 H V C CNN 111 | F1 "Connector_Generic_Conn_02x05_Odd_Even" 50 -300 50 H V C CNN 112 | F2 "" 0 0 50 H I C CNN 113 | F3 "" 0 0 50 H I C CNN 114 | $FPLIST 115 | Connector*:*_2x??_* 116 | $ENDFPLIST 117 | DRAW 118 | S -50 -195 0 -205 1 1 6 N 119 | S -50 -95 0 -105 1 1 6 N 120 | S -50 5 0 -5 1 1 6 N 121 | S -50 105 0 95 1 1 6 N 122 | S -50 205 0 195 1 1 6 N 123 | S -50 250 150 -250 1 1 10 f 124 | S 150 -195 100 -205 1 1 6 N 125 | S 150 -95 100 -105 1 1 6 N 126 | S 150 5 100 -5 1 1 6 N 127 | S 150 105 100 95 1 1 6 N 128 | S 150 205 100 195 1 1 6 N 129 | X Pin_1 1 -200 200 150 R 50 50 1 1 P 130 | X Pin_10 10 300 -200 150 L 50 50 1 1 P 131 | X Pin_2 2 300 200 150 L 50 50 1 1 P 132 | X Pin_3 3 -200 100 150 R 50 50 1 1 P 133 | X Pin_4 4 300 100 150 L 50 50 1 1 P 134 | X Pin_5 5 -200 0 150 R 50 50 1 1 P 135 | X Pin_6 6 300 0 150 L 50 50 1 1 P 136 | X Pin_7 7 -200 -100 150 R 50 50 1 1 P 137 | X Pin_8 8 300 -100 150 L 50 50 1 1 P 138 | X Pin_9 9 -200 -200 150 R 50 50 1 1 P 139 | ENDDRAW 140 | ENDDEF 141 | # 142 | # Device_CP_Small 143 | # 144 | DEF Device_CP_Small C 0 10 N N 1 F N 145 | F0 "C" 10 70 50 H V L CNN 146 | F1 "Device_CP_Small" 10 -80 50 H V L CNN 147 | F2 "" 0 0 50 H I C CNN 148 | F3 "" 0 0 50 H I C CNN 149 | $FPLIST 150 | CP_* 151 | $ENDFPLIST 152 | DRAW 153 | S -60 -12 60 -27 0 1 0 F 154 | S -60 27 60 12 0 1 0 N 155 | P 2 0 1 0 -50 60 -30 60 N 156 | P 2 0 1 0 -40 50 -40 70 N 157 | X ~ 1 0 100 73 D 50 50 1 1 P 158 | X ~ 2 0 -100 73 U 50 50 1 1 P 159 | ENDDRAW 160 | ENDDEF 161 | # 162 | # Device_C_Small 163 | # 164 | DEF Device_C_Small C 0 10 N N 1 F N 165 | F0 "C" 10 70 50 H V L CNN 166 | F1 "Device_C_Small" 10 -80 50 H V L CNN 167 | F2 "" 0 0 50 H I C CNN 168 | F3 "" 0 0 50 H I C CNN 169 | $FPLIST 170 | C_* 171 | $ENDFPLIST 172 | DRAW 173 | P 2 0 1 13 -60 -20 60 -20 N 174 | P 2 0 1 12 -60 20 60 20 N 175 | X ~ 1 0 100 80 D 50 50 1 1 P 176 | X ~ 2 0 -100 80 U 50 50 1 1 P 177 | ENDDRAW 178 | ENDDEF 179 | # 180 | # Device_Crystal_GND24_Small 181 | # 182 | DEF Device_Crystal_GND24_Small Y 0 40 Y N 1 F N 183 | F0 "Y" 50 175 50 H V L CNN 184 | F1 "Device_Crystal_GND24_Small" 50 100 50 H V L CNN 185 | F2 "" 0 0 50 H I C CNN 186 | F3 "" 0 0 50 H I C CNN 187 | $FPLIST 188 | Crystal* 189 | $ENDFPLIST 190 | DRAW 191 | S -30 -60 30 60 0 1 0 N 192 | P 2 0 1 15 -50 -30 -50 30 N 193 | P 2 0 1 15 50 -30 50 30 N 194 | P 4 0 1 0 -50 -50 -50 -75 50 -75 50 -50 N 195 | P 4 0 1 0 -50 50 -50 75 50 75 50 50 N 196 | X 1 1 -100 0 50 R 30 50 1 1 P 197 | X 2 2 0 -100 25 U 30 50 1 1 P 198 | X 3 3 100 0 50 L 30 50 1 1 P 199 | X 4 4 0 100 25 D 30 50 1 1 P 200 | ENDDRAW 201 | ENDDEF 202 | # 203 | # Device_D_Small 204 | # 205 | DEF Device_D_Small D 0 10 N N 1 F N 206 | F0 "D" -50 80 50 H V L CNN 207 | F1 "Device_D_Small" -150 -80 50 H V L CNN 208 | F2 "" 0 0 50 V I C CNN 209 | F3 "" 0 0 50 V I C CNN 210 | $FPLIST 211 | TO-???* 212 | *_Diode_* 213 | *SingleDiode* 214 | D_* 215 | $ENDFPLIST 216 | DRAW 217 | P 2 0 1 10 -30 -40 -30 40 N 218 | P 2 0 1 0 -30 0 30 0 N 219 | P 4 0 1 10 30 -40 -30 0 30 40 30 -40 N 220 | X K 1 -100 0 70 R 50 50 1 1 P 221 | X A 2 100 0 70 L 50 50 1 1 P 222 | ENDDRAW 223 | ENDDEF 224 | # 225 | # Device_L 226 | # 227 | DEF Device_L L 0 40 N N 1 F N 228 | F0 "L" -50 0 50 V V C CNN 229 | F1 "Device_L" 75 0 50 V V C CNN 230 | F2 "" 0 0 50 H I C CNN 231 | F3 "" 0 0 50 H I C CNN 232 | $FPLIST 233 | Choke_* 234 | *Coil* 235 | Inductor_* 236 | L_* 237 | $ENDFPLIST 238 | DRAW 239 | A 0 -75 25 -899 899 0 1 0 N 0 -100 0 -50 240 | A 0 -25 25 -899 899 0 1 0 N 0 -50 0 0 241 | A 0 25 25 -899 899 0 1 0 N 0 0 0 50 242 | A 0 75 25 -899 899 0 1 0 N 0 50 0 100 243 | X 1 1 0 150 50 D 50 50 1 1 P 244 | X 2 2 0 -150 50 U 50 50 1 1 P 245 | ENDDRAW 246 | ENDDEF 247 | # 248 | # Device_LED_Small 249 | # 250 | DEF Device_LED_Small D 0 10 N N 1 F N 251 | F0 "D" -50 125 50 H V L CNN 252 | F1 "Device_LED_Small" -175 -100 50 H V L CNN 253 | F2 "" 0 0 50 V I C CNN 254 | F3 "" 0 0 50 V I C CNN 255 | $FPLIST 256 | LED* 257 | LED_SMD:* 258 | LED_THT:* 259 | $ENDFPLIST 260 | DRAW 261 | P 2 0 1 10 -30 -40 -30 40 N 262 | P 2 0 1 0 40 0 -30 0 N 263 | P 4 0 1 10 30 -40 -30 0 30 40 30 -40 N 264 | P 5 0 1 0 0 30 -20 50 -10 50 -20 50 -20 40 N 265 | P 5 0 1 0 20 50 0 70 10 70 0 70 0 60 N 266 | X K 1 -100 0 70 R 50 50 1 1 P 267 | X A 2 100 0 70 L 50 50 1 1 P 268 | ENDDRAW 269 | ENDDEF 270 | # 271 | # Device_R_Small 272 | # 273 | DEF Device_R_Small R 0 10 N N 1 F N 274 | F0 "R" 30 20 50 H V L CNN 275 | F1 "Device_R_Small" 30 -40 50 H V L CNN 276 | F2 "" 0 0 50 H I C CNN 277 | F3 "" 0 0 50 H I C CNN 278 | $FPLIST 279 | R_* 280 | $ENDFPLIST 281 | DRAW 282 | S -30 70 30 -70 0 1 8 N 283 | X ~ 1 0 100 30 D 50 50 1 1 P 284 | X ~ 2 0 -100 30 U 50 50 1 1 P 285 | ENDDRAW 286 | ENDDEF 287 | # 288 | # MCU_ST_STM32F4_STM32F446RETx 289 | # 290 | DEF MCU_ST_STM32F4_STM32F446RETx U 0 20 Y Y 1 F N 291 | F0 "U" -600 1650 50 H V L CNN 292 | F1 "MCU_ST_STM32F4_STM32F446RETx" 400 1650 50 H V L CNN 293 | F2 "Package_QFP:LQFP-64_10x10mm_P0.5mm" -600 -1700 50 H I R CNN 294 | F3 "" 0 0 50 H I C CNN 295 | ALIAS STM32F446RETx 296 | $FPLIST 297 | LQFP*10x10mm*P0.5mm* 298 | $ENDFPLIST 299 | DRAW 300 | S -600 -1700 600 1600 0 1 10 f 301 | X VBAT 1 -200 1700 100 D 50 50 1 1 W 302 | X PC2 10 -700 -300 100 R 50 50 1 1 B 303 | X PC3 11 -700 -400 100 R 50 50 1 1 B 304 | X VSSA 12 200 -1800 100 U 50 50 1 1 W 305 | X VDDA 13 300 1700 100 D 50 50 1 1 W 306 | X PA0 14 700 1500 100 L 50 50 1 1 B 307 | X PA1 15 700 1400 100 L 50 50 1 1 B 308 | X PA2 16 700 1300 100 L 50 50 1 1 B 309 | X PA3 17 700 1200 100 L 50 50 1 1 B 310 | X VSS 18 -200 -1800 100 U 50 50 1 1 W 311 | X VDD 19 -100 1700 100 D 50 50 1 1 W 312 | X PC13 2 -700 -1400 100 R 50 50 1 1 B 313 | X PA4 20 700 1100 100 L 50 50 1 1 B 314 | X PA5 21 700 1000 100 L 50 50 1 1 B 315 | X PA6 22 700 900 100 L 50 50 1 1 B 316 | X PA7 23 700 800 100 L 50 50 1 1 B 317 | X PC4 24 -700 -500 100 R 50 50 1 1 B 318 | X PC5 25 -700 -600 100 R 50 50 1 1 B 319 | X PB0 26 700 -200 100 L 50 50 1 1 B 320 | X PB1 27 700 -300 100 L 50 50 1 1 B 321 | X PB2 28 700 -400 100 L 50 50 1 1 B 322 | X PB10 29 700 -1200 100 L 50 50 1 1 B 323 | X PC14 3 -700 -1500 100 R 50 50 1 1 B 324 | X VCAP_1 30 -700 1100 100 R 50 50 1 1 W 325 | X VSS 31 -100 -1800 100 U 50 50 1 1 W 326 | X VDD 32 0 1700 100 D 50 50 1 1 W 327 | X PB12 33 700 -1300 100 L 50 50 1 1 B 328 | X PB13 34 700 -1400 100 L 50 50 1 1 B 329 | X PB14 35 700 -1500 100 L 50 50 1 1 B 330 | X PB15 36 700 -1600 100 L 50 50 1 1 B 331 | X PC6 37 -700 -700 100 R 50 50 1 1 B 332 | X PC7 38 -700 -800 100 R 50 50 1 1 B 333 | X PC8 39 -700 -900 100 R 50 50 1 1 B 334 | X PC15 4 -700 -1600 100 R 50 50 1 1 B 335 | X PC9 40 -700 -1000 100 R 50 50 1 1 B 336 | X PA8 41 700 700 100 L 50 50 1 1 B 337 | X PA9 42 700 600 100 L 50 50 1 1 B 338 | X PA10 43 700 500 100 L 50 50 1 1 B 339 | X PA11 44 700 400 100 L 50 50 1 1 B 340 | X PA12 45 700 300 100 L 50 50 1 1 B 341 | X PA13 46 700 200 100 L 50 50 1 1 B 342 | X VSS 47 0 -1800 100 U 50 50 1 1 W 343 | X VDD 48 100 1700 100 D 50 50 1 1 W 344 | X PA14 49 700 100 100 L 50 50 1 1 B 345 | X PH0 5 -700 400 100 R 50 50 1 1 I 346 | X PA15 50 700 0 100 L 50 50 1 1 B 347 | X PC10 51 -700 -1100 100 R 50 50 1 1 B 348 | X PC11 52 -700 -1200 100 R 50 50 1 1 B 349 | X PC12 53 -700 -1300 100 R 50 50 1 1 B 350 | X PD2 54 -700 100 100 R 50 50 1 1 B 351 | X PB3 55 700 -500 100 L 50 50 1 1 B 352 | X PB4 56 700 -600 100 L 50 50 1 1 B 353 | X PB5 57 700 -700 100 L 50 50 1 1 B 354 | X PB6 58 700 -800 100 L 50 50 1 1 B 355 | X PB7 59 700 -900 100 L 50 50 1 1 B 356 | X PH1 6 -700 300 100 R 50 50 1 1 I 357 | X BOOT0 60 -700 1300 100 R 50 50 1 1 I 358 | X PB8 61 700 -1000 100 L 50 50 1 1 B 359 | X PB9 62 700 -1100 100 L 50 50 1 1 B 360 | X VSS 63 100 -1800 100 U 50 50 1 1 W 361 | X VDD 64 200 1700 100 D 50 50 1 1 W 362 | X NRST 7 -700 1500 100 R 50 50 1 1 I 363 | X PC0 8 -700 -100 100 R 50 50 1 1 B 364 | X PC1 9 -700 -200 100 R 50 50 1 1 B 365 | ENDDRAW 366 | ENDDEF 367 | # 368 | # Mechanical_MountingHole_Pad 369 | # 370 | DEF Mechanical_MountingHole_Pad H 0 40 N N 1 F N 371 | F0 "H" 0 250 50 H V C CNN 372 | F1 "Mechanical_MountingHole_Pad" 0 175 50 H V C CNN 373 | F2 "" 0 0 50 H I C CNN 374 | F3 "" 0 0 50 H I C CNN 375 | $FPLIST 376 | MountingHole*Pad* 377 | $ENDFPLIST 378 | DRAW 379 | C 0 50 50 0 1 50 N 380 | X 1 1 0 -100 100 U 50 50 1 1 I 381 | ENDDRAW 382 | ENDDEF 383 | # 384 | # Regulator_Linear_AMS1117-3.3 385 | # 386 | DEF Regulator_Linear_AMS1117-3.3 U 0 10 Y Y 1 F N 387 | F0 "U" -150 125 50 H V C CNN 388 | F1 "Regulator_Linear_AMS1117-3.3" 0 125 50 H V L CNN 389 | F2 "Package_TO_SOT_SMD:SOT-223-3_TabPin2" 0 200 50 H I C CNN 390 | F3 "" 100 -250 50 H I C CNN 391 | ALIAS AP1117-18 AP1117-25 AP1117-33 AP1117-50 LD1117S33TR_SOT223 LD1117S12TR_SOT223 LD1117S18TR_SOT223 LD1117S25TR_SOT223 LD1117S50TR_SOT223 NCP1117-12_SOT223 NCP1117-1.5_SOT223 NCP1117-1.8_SOT223 NCP1117-2.0_SOT223 NCP1117-2.5_SOT223 NCP1117-2.85_SOT223 NCP1117-3.3_SOT223 NCP1117-5.0_SOT223 AMS1117-1.5 AMS1117-1.8 AMS1117-2.5 AMS1117-2.85 AMS1117-3.3 AMS1117-5.0 392 | $FPLIST 393 | SOT?223*TabPin2* 394 | $ENDFPLIST 395 | DRAW 396 | S -200 -200 200 75 0 1 10 f 397 | X GND 1 0 -300 100 U 50 50 1 1 W 398 | X VO 2 300 0 100 L 50 50 1 1 w 399 | X VI 3 -300 0 100 R 50 50 1 1 W 400 | ENDDRAW 401 | ENDDEF 402 | # 403 | # Regulator_Switching_LM2576HVS-12 404 | # 405 | DEF Regulator_Switching_LM2576HVS-12 U 0 10 Y Y 1 F N 406 | F0 "U" -400 250 50 H V L CNN 407 | F1 "Regulator_Switching_LM2576HVS-12" 0 250 50 H V L CNN 408 | F2 "Package_TO_SOT_SMD:TO-263-5_TabPin3" 0 -250 50 H I L CIN 409 | F3 "" 0 0 50 H I C CNN 410 | ALIAS LM2576HVS-3.3 LM2576HVS-5 LM2576HVS-15 LM2576HVS-ADJ LM2576S-12 LM2576S-3.3 LM2576S-5 LM2576S-15 LM2576S-ADJ LM2575BU-ADJ LM2575-3.3BU LM2575-5.0BU LM2575-12BU GL2576-3.3TA5R GL2576-5.0TA5R GL2576-12TA5R GL2576-15TA5R GL2576-ATA5R 411 | $FPLIST 412 | TO?263* 413 | $ENDFPLIST 414 | DRAW 415 | S -400 200 400 -200 0 1 10 f 416 | X VIN 1 -500 100 100 R 50 50 1 1 W 417 | X OUT 2 500 -100 100 L 50 50 1 1 O 418 | X GND 3 0 -300 100 U 50 50 1 1 W 419 | X FB 4 500 100 100 L 50 50 1 1 I 420 | X ~ON~/OFF 5 -500 -100 100 R 50 50 1 1 I 421 | ENDDRAW 422 | ENDDEF 423 | # 424 | # Transistor_FET_CSD19534Q5A 425 | # 426 | DEF Transistor_FET_CSD19534Q5A Q 0 20 Y N 1 F N 427 | F0 "Q" 200 75 50 H V L CNN 428 | F1 "Transistor_FET_CSD19534Q5A" 200 0 50 H V L CNN 429 | F2 "Package_TO_SOT_SMD:TDSON-8-1" 200 -75 50 H I L CIN 430 | F3 "" 0 0 50 V I L CNN 431 | ALIAS CSD17579Q5A CSD16570Q5B CSD17577Q5A CSD18509Q5B CSD18540Q5B CSD17573Q5B CSD17576Q5B CSD19534Q5A CSD17570Q5B CSD19533Q5A CSD19502Q5B CSD19532Q5B CSD19531Q5A CSD18563Q5A CSD18537NQ5A CSD18532NQ5B CSD17556Q5B CSD18502Q5B CSD18532Q5B CSD17552Q5A CSD17559Q5 CSD18534Q5A CSD18533Q5A CSD17555Q5A CSD17551Q5A CSD18501Q5A CSD18503Q5A CSD18504Q5A CSD18531Q5A CSD17553Q5A CSD16342Q5A CSD17322Q5A CSD17327Q5A CSD17522Q5A CSD17527Q5A CSD17501Q5A CSD17506Q5A CSD17505Q5A CSD17507Q5A CSD17510Q5A CSD17311Q5 CSD17312Q5 CSD17303Q5 CSD16415Q5 CSD17302Q5A CSD17305Q5A CSD17306Q5A CSD17307Q5A CSD17310Q5A CSD17301Q5A CSD16408Q5 CSD16322Q5 CSD16325Q5 CSD16321Q5 CSD16414Q5 CSD16401Q5 CSD16403Q5A CSD16404Q5A CSD16407Q5 CSD16410Q5A CSD16412Q5A CSD16413Q5A BSC026N08NS5 BSC030N08NS5 BSC035N10NS5 BSC037N08NS5 BSC040N10NS5 BSC040N08NS5 BSC046N10NS3G BSC047N08NS3G BSC052N08NS5 BSC057N08NS3G BSC060N10NS3G BSC061N08NS5 BSC070N10NS3G BSC070N10NS5 BSC072N08NS5 BSC079N10NSG BSC082N10LSG BSC098N10NS5 BSC100N10NSFG BSC105N10LSFG BSC109N10NS3G BSC117N08NS5 BSC118N10NSG BSC123N08NS3G BSC123N10LSG BSC159N10LSFG BSC160N10NS3G BSC196N10NSG BSC252N10NSFG BSC265N10LSFG BSC340N08NS3G BSC440N10NS3G BSC028N06LS3 FDMS8350LET40 FDMT80060DC FDMT80080DC FDMT800120DC FDMT800100DC FDMT800150DC FDMT800152DC FDMS8050ET30 FDMS86202ET120 FDMS86150ET100 FDMS86255ET150 FDMS86350ET80 FDMS86550ET60 FDMS8050 FDMS8350L FDMS86255 FDMS86550 FDMS86202 FDMS86350 FDMS86152 FDMS86150 432 | $FPLIST 433 | TDSON* 434 | $ENDFPLIST 435 | DRAW 436 | C 65 0 110 0 1 10 N 437 | C 100 -70 10 0 1 0 F 438 | C 100 70 10 0 1 0 F 439 | P 2 0 1 0 10 0 -100 0 N 440 | P 2 0 1 10 10 75 10 -75 N 441 | P 2 0 1 10 30 -50 30 -90 N 442 | P 2 0 1 10 30 20 30 -20 N 443 | P 2 0 1 10 30 90 30 50 N 444 | P 2 0 1 0 100 100 100 70 N 445 | P 3 0 1 0 100 -100 100 0 30 0 N 446 | P 4 0 1 0 30 -70 130 -70 130 70 30 70 N 447 | P 4 0 1 0 40 0 80 15 80 -15 40 0 F 448 | P 4 0 1 0 110 20 115 15 145 15 150 10 N 449 | P 4 0 1 0 130 15 115 -10 145 -10 130 15 N 450 | X S 1 100 -200 100 U 50 50 1 1 P 451 | X S 2 100 -200 100 U 50 50 1 1 P N 452 | X S 3 100 -200 100 U 50 50 1 1 P N 453 | X G 4 -200 0 100 R 50 50 1 1 P 454 | X D 5 100 200 100 D 50 50 1 1 P 455 | ENDDRAW 456 | ENDDEF 457 | # 458 | # drv8323s_DRV8323H 459 | # 460 | DEF drv8323s_DRV8323H U 0 40 Y Y 1 F N 461 | F0 "U" 0 1350 60 H V C CNN 462 | F1 "drv8323s_DRV8323H" 0 0 60 H V C CNN 463 | F2 "" 0 0 60 H I C CNN 464 | F3 "" 0 0 60 H I C CNN 465 | DRAW 466 | S -600 1300 600 -1500 0 1 0 f 467 | X CPL 1 -800 900 200 R 50 50 1 1 B 468 | X SNA 10 800 -1400 200 L 50 50 1 1 I 469 | X SNB 11 800 -1200 200 L 50 50 1 1 I 470 | X SPB 12 800 -1100 200 L 50 50 1 1 I 471 | X GLB 13 800 200 200 L 50 50 1 1 O 472 | X SHB 14 800 300 200 L 50 50 1 1 I 473 | X GHB 15 800 400 200 L 50 50 1 1 O 474 | X GHC 16 800 -100 200 L 50 50 1 1 O 475 | X SHC 17 800 -200 200 L 50 50 1 1 I 476 | X GLC 18 800 -300 200 L 50 50 1 1 O 477 | X SPC 19 800 -900 200 L 50 50 1 1 I 478 | X CPH 2 -800 1000 200 R 50 50 1 1 B 479 | X SNC 20 800 -1000 200 L 50 50 1 1 I 480 | X SOC 21 -800 -1100 200 R 50 50 1 1 O 481 | X SOB 22 -800 -1200 200 R 50 50 1 1 O 482 | X SOA 23 -800 -1300 200 R 50 50 1 1 O 483 | X VREF 24 -800 -1000 200 R 50 50 1 1 I 484 | X ~FAULT 25 800 -600 200 L 50 50 1 1 C 485 | X MODE 26 -800 -600 200 R 50 50 1 1 O 486 | X IDRIVE 27 -800 -500 200 R 50 50 1 1 I 487 | X VDS 28 -800 -700 200 R 50 50 1 1 I 488 | X GAIN 29 -800 -800 200 R 50 50 1 1 I 489 | X VCP 3 -800 1100 200 R 50 50 1 1 B 490 | X ENABLE 30 -800 300 200 R 50 50 1 1 I 491 | X CAL 31 -800 -1400 200 R 50 50 1 1 I 492 | X AGND 32 -800 600 200 R 50 50 1 1 W 493 | X DVDD 33 -800 700 200 R 50 50 1 1 w 494 | X INHA 34 -800 200 200 R 50 50 1 1 I 495 | X INLA 35 -800 100 200 R 50 50 1 1 I 496 | X INHB 36 -800 0 200 R 50 50 1 1 I 497 | X INLB 37 -800 -100 200 R 50 50 1 1 I 498 | X INHC 38 -800 -200 200 R 50 50 1 1 I 499 | X INLC 39 -800 -300 200 R 50 50 1 1 I 500 | X VM 4 -800 1200 200 R 50 50 1 1 W 501 | X PGND 40 -800 500 200 R 50 50 1 1 W 502 | X GND 41 0 -1700 200 U 50 50 1 1 P 503 | X VDRAIN 5 800 1200 200 L 50 50 1 1 I 504 | X GHA 6 800 900 200 L 50 50 1 1 O 505 | X SHA 7 800 800 200 L 50 50 1 1 I 506 | X GLA 8 800 700 200 L 50 50 1 1 O 507 | X SPA 9 800 -1300 200 L 50 50 1 1 I 508 | ENDDRAW 509 | ENDDEF 510 | # 511 | # power_+12V 512 | # 513 | DEF power_+12V #PWR 0 0 Y Y 1 F P 514 | F0 "#PWR" 0 -150 50 H I C CNN 515 | F1 "power_+12V" 0 140 50 H V C CNN 516 | F2 "" 0 0 50 H I C CNN 517 | F3 "" 0 0 50 H I C CNN 518 | DRAW 519 | P 2 0 1 0 -30 50 0 100 N 520 | P 2 0 1 0 0 0 0 100 N 521 | P 2 0 1 0 0 100 30 50 N 522 | X +12V 1 0 0 0 U 50 50 1 1 W N 523 | ENDDRAW 524 | ENDDEF 525 | # 526 | # power_+3.3V 527 | # 528 | DEF power_+3.3V #PWR 0 0 Y Y 1 F P 529 | F0 "#PWR" 0 -150 50 H I C CNN 530 | F1 "power_+3.3V" 0 140 50 H V C CNN 531 | F2 "" 0 0 50 H I C CNN 532 | F3 "" 0 0 50 H I C CNN 533 | DRAW 534 | P 2 0 1 0 -30 50 0 100 N 535 | P 2 0 1 0 0 0 0 100 N 536 | P 2 0 1 0 0 100 30 50 N 537 | X +3V3 1 0 0 0 U 50 50 1 1 W N 538 | ENDDRAW 539 | ENDDEF 540 | # 541 | # power_+3V3 542 | # 543 | DEF power_+3V3 #PWR 0 0 Y Y 1 F P 544 | F0 "#PWR" 0 -150 50 H I C CNN 545 | F1 "power_+3V3" 0 140 50 H V C CNN 546 | F2 "" 0 0 50 H I C CNN 547 | F3 "" 0 0 50 H I C CNN 548 | ALIAS +3.3V 549 | DRAW 550 | P 2 0 1 0 -30 50 0 100 N 551 | P 2 0 1 0 0 0 0 100 N 552 | P 2 0 1 0 0 100 30 50 N 553 | X +3V3 1 0 0 0 U 50 50 1 1 W N 554 | ENDDRAW 555 | ENDDEF 556 | # 557 | # power_+48V 558 | # 559 | DEF power_+48V #PWR 0 0 Y Y 1 F P 560 | F0 "#PWR" 0 -150 50 H I C CNN 561 | F1 "power_+48V" 0 140 50 H V C CNN 562 | F2 "" 0 0 50 H I C CNN 563 | F3 "" 0 0 50 H I C CNN 564 | DRAW 565 | P 2 0 1 0 -30 50 0 100 N 566 | P 2 0 1 0 0 0 0 100 N 567 | P 2 0 1 0 0 100 30 50 N 568 | X +48V 1 0 0 0 U 50 50 1 1 W N 569 | ENDDRAW 570 | ENDDEF 571 | # 572 | # power_GND 573 | # 574 | DEF power_GND #PWR 0 0 Y Y 1 F P 575 | F0 "#PWR" 0 -250 50 H I C CNN 576 | F1 "power_GND" 0 -150 50 H V C CNN 577 | F2 "" 0 0 50 H I C CNN 578 | F3 "" 0 0 50 H I C CNN 579 | DRAW 580 | P 6 0 1 0 0 0 0 -50 50 -50 0 -100 -50 -50 0 -50 N 581 | X GND 1 0 0 0 D 50 50 1 1 W N 582 | ENDDRAW 583 | ENDDEF 584 | # 585 | #End Library 586 | -------------------------------------------------------------------------------- /Kicad_files/DRIVER_8323_based-cache.lib: -------------------------------------------------------------------------------- 1 | EESchema-LIBRARY Version 2.4 2 | #encoding utf-8 3 | # 4 | # Connector_Conn_01x01_Female 5 | # 6 | DEF Connector_Conn_01x01_Female J 0 40 Y N 1 F N 7 | F0 "J" 0 100 50 H V C CNN 8 | F1 "Connector_Conn_01x01_Female" 0 -100 50 H V C CNN 9 | F2 "" 0 0 50 H I C CNN 10 | F3 "" 0 0 50 H I C CNN 11 | $FPLIST 12 | Connector*:* 13 | $ENDFPLIST 14 | DRAW 15 | A 0 0 20 901 -901 1 1 6 N 0 20 0 -20 16 | P 2 1 1 6 -50 0 -20 0 N 17 | X Pin_1 1 -200 0 150 R 50 50 1 1 P 18 | ENDDRAW 19 | ENDDEF 20 | # 21 | # Connector_Conn_01x01_Male 22 | # 23 | DEF Connector_Conn_01x01_Male J 0 40 Y N 1 F N 24 | F0 "J" 0 100 50 H V C CNN 25 | F1 "Connector_Conn_01x01_Male" 0 -100 50 H V C CNN 26 | F2 "" 0 0 50 H I C CNN 27 | F3 "" 0 0 50 H I C CNN 28 | $FPLIST 29 | Connector*:* 30 | $ENDFPLIST 31 | DRAW 32 | S 34 5 0 -5 1 1 6 F 33 | P 2 1 1 6 50 0 34 0 N 34 | X Pin_1 1 200 0 150 L 50 50 1 1 P 35 | ENDDRAW 36 | ENDDEF 37 | # 38 | # Connector_Generic_Conn_01x02 39 | # 40 | DEF Connector_Generic_Conn_01x02 J 0 40 Y N 1 F N 41 | F0 "J" 0 100 50 H V C CNN 42 | F1 "Connector_Generic_Conn_01x02" 0 -200 50 H V C CNN 43 | F2 "" 0 0 50 H I C CNN 44 | F3 "" 0 0 50 H I C CNN 45 | $FPLIST 46 | Connector*:*_1x??_* 47 | $ENDFPLIST 48 | DRAW 49 | S -50 -95 0 -105 1 1 6 N 50 | S -50 5 0 -5 1 1 6 N 51 | S -50 50 50 -150 1 1 10 f 52 | X Pin_1 1 -200 0 150 R 50 50 1 1 P 53 | X Pin_2 2 -200 -100 150 R 50 50 1 1 P 54 | ENDDRAW 55 | ENDDEF 56 | # 57 | # Connector_Generic_Conn_02x02_Odd_Even 58 | # 59 | DEF Connector_Generic_Conn_02x02_Odd_Even J 0 40 Y N 1 F N 60 | F0 "J" 50 100 50 H V C CNN 61 | F1 "Connector_Generic_Conn_02x02_Odd_Even" 50 -200 50 H V C CNN 62 | F2 "" 0 0 50 H I C CNN 63 | F3 "" 0 0 50 H I C CNN 64 | $FPLIST 65 | Connector*:*_2x??_* 66 | $ENDFPLIST 67 | DRAW 68 | S -50 -95 0 -105 1 1 6 N 69 | S -50 5 0 -5 1 1 6 N 70 | S -50 50 150 -150 1 1 10 f 71 | S 150 -95 100 -105 1 1 6 N 72 | S 150 5 100 -5 1 1 6 N 73 | X Pin_1 1 -200 0 150 R 50 50 1 1 P 74 | X Pin_2 2 300 0 150 L 50 50 1 1 P 75 | X Pin_3 3 -200 -100 150 R 50 50 1 1 P 76 | X Pin_4 4 300 -100 150 L 50 50 1 1 P 77 | ENDDRAW 78 | ENDDEF 79 | # 80 | # Connector_Generic_Conn_02x03_Odd_Even 81 | # 82 | DEF Connector_Generic_Conn_02x03_Odd_Even J 0 40 Y N 1 F N 83 | F0 "J" 50 200 50 H V C CNN 84 | F1 "Connector_Generic_Conn_02x03_Odd_Even" 50 -200 50 H V C CNN 85 | F2 "" 0 0 50 H I C CNN 86 | F3 "" 0 0 50 H I C CNN 87 | $FPLIST 88 | Connector*:*_2x??_* 89 | $ENDFPLIST 90 | DRAW 91 | S -50 -95 0 -105 1 1 6 N 92 | S -50 5 0 -5 1 1 6 N 93 | S -50 105 0 95 1 1 6 N 94 | S -50 150 150 -150 1 1 10 f 95 | S 150 -95 100 -105 1 1 6 N 96 | S 150 5 100 -5 1 1 6 N 97 | S 150 105 100 95 1 1 6 N 98 | X Pin_1 1 -200 100 150 R 50 50 1 1 P 99 | X Pin_2 2 300 100 150 L 50 50 1 1 P 100 | X Pin_3 3 -200 0 150 R 50 50 1 1 P 101 | X Pin_4 4 300 0 150 L 50 50 1 1 P 102 | X Pin_5 5 -200 -100 150 R 50 50 1 1 P 103 | X Pin_6 6 300 -100 150 L 50 50 1 1 P 104 | ENDDRAW 105 | ENDDEF 106 | # 107 | # Connector_Generic_Conn_02x05_Odd_Even 108 | # 109 | DEF Connector_Generic_Conn_02x05_Odd_Even J 0 40 Y N 1 F N 110 | F0 "J" 50 300 50 H V C CNN 111 | F1 "Connector_Generic_Conn_02x05_Odd_Even" 50 -300 50 H V C CNN 112 | F2 "" 0 0 50 H I C CNN 113 | F3 "" 0 0 50 H I C CNN 114 | $FPLIST 115 | Connector*:*_2x??_* 116 | $ENDFPLIST 117 | DRAW 118 | S -50 -195 0 -205 1 1 6 N 119 | S -50 -95 0 -105 1 1 6 N 120 | S -50 5 0 -5 1 1 6 N 121 | S -50 105 0 95 1 1 6 N 122 | S -50 205 0 195 1 1 6 N 123 | S -50 250 150 -250 1 1 10 f 124 | S 150 -195 100 -205 1 1 6 N 125 | S 150 -95 100 -105 1 1 6 N 126 | S 150 5 100 -5 1 1 6 N 127 | S 150 105 100 95 1 1 6 N 128 | S 150 205 100 195 1 1 6 N 129 | X Pin_1 1 -200 200 150 R 50 50 1 1 P 130 | X Pin_10 10 300 -200 150 L 50 50 1 1 P 131 | X Pin_2 2 300 200 150 L 50 50 1 1 P 132 | X Pin_3 3 -200 100 150 R 50 50 1 1 P 133 | X Pin_4 4 300 100 150 L 50 50 1 1 P 134 | X Pin_5 5 -200 0 150 R 50 50 1 1 P 135 | X Pin_6 6 300 0 150 L 50 50 1 1 P 136 | X Pin_7 7 -200 -100 150 R 50 50 1 1 P 137 | X Pin_8 8 300 -100 150 L 50 50 1 1 P 138 | X Pin_9 9 -200 -200 150 R 50 50 1 1 P 139 | ENDDRAW 140 | ENDDEF 141 | # 142 | # DRIVER_8323_based-rescue_DRV8323H-drv8323s 143 | # 144 | DEF DRIVER_8323_based-rescue_DRV8323H-drv8323s U 0 40 Y Y 1 F N 145 | F0 "U" 0 1350 60 H V C CNN 146 | F1 "DRIVER_8323_based-rescue_DRV8323H-drv8323s" 0 0 60 H V C CNN 147 | F2 "" 0 0 60 H I C CNN 148 | F3 "" 0 0 60 H I C CNN 149 | DRAW 150 | S -600 1300 600 -1500 0 1 0 f 151 | X CPL 1 -800 900 200 R 50 50 1 1 B 152 | X SNA 10 800 -1400 200 L 50 50 1 1 I 153 | X SNB 11 800 -1200 200 L 50 50 1 1 I 154 | X SPB 12 800 -1100 200 L 50 50 1 1 I 155 | X GLB 13 800 200 200 L 50 50 1 1 O 156 | X SHB 14 800 300 200 L 50 50 1 1 I 157 | X GHB 15 800 400 200 L 50 50 1 1 O 158 | X GHC 16 800 -100 200 L 50 50 1 1 O 159 | X SHC 17 800 -200 200 L 50 50 1 1 I 160 | X GLC 18 800 -300 200 L 50 50 1 1 O 161 | X SPC 19 800 -900 200 L 50 50 1 1 I 162 | X CPH 2 -800 1000 200 R 50 50 1 1 B 163 | X SNC 20 800 -1000 200 L 50 50 1 1 I 164 | X SOC 21 -800 -1100 200 R 50 50 1 1 O 165 | X SOB 22 -800 -1200 200 R 50 50 1 1 O 166 | X SOA 23 -800 -1300 200 R 50 50 1 1 O 167 | X VREF 24 -800 -1000 200 R 50 50 1 1 I 168 | X ~FAULT 25 800 -600 200 L 50 50 1 1 C 169 | X MODE 26 -800 -600 200 R 50 50 1 1 O 170 | X IDRIVE 27 -800 -500 200 R 50 50 1 1 I 171 | X VDS 28 -800 -700 200 R 50 50 1 1 I 172 | X GAIN 29 -800 -800 200 R 50 50 1 1 I 173 | X VCP 3 -800 1100 200 R 50 50 1 1 B 174 | X ENABLE 30 -800 300 200 R 50 50 1 1 I 175 | X CAL 31 -800 -1400 200 R 50 50 1 1 I 176 | X AGND 32 -800 600 200 R 50 50 1 1 W 177 | X DVDD 33 -800 700 200 R 50 50 1 1 w 178 | X INHA 34 -800 200 200 R 50 50 1 1 I 179 | X INLA 35 -800 100 200 R 50 50 1 1 I 180 | X INHB 36 -800 0 200 R 50 50 1 1 I 181 | X INLB 37 -800 -100 200 R 50 50 1 1 I 182 | X INHC 38 -800 -200 200 R 50 50 1 1 I 183 | X INLC 39 -800 -300 200 R 50 50 1 1 I 184 | X VM 4 -800 1200 200 R 50 50 1 1 W 185 | X PGND 40 -800 500 200 R 50 50 1 1 W 186 | X GND 41 0 -1700 200 U 50 50 1 1 P 187 | X VDRAIN 5 800 1200 200 L 50 50 1 1 I 188 | X GHA 6 800 900 200 L 50 50 1 1 O 189 | X SHA 7 800 800 200 L 50 50 1 1 I 190 | X GLA 8 800 700 200 L 50 50 1 1 O 191 | X SPA 9 800 -1300 200 L 50 50 1 1 I 192 | ENDDRAW 193 | ENDDEF 194 | # 195 | # Device_CP_Small 196 | # 197 | DEF Device_CP_Small C 0 10 N N 1 F N 198 | F0 "C" 10 70 50 H V L CNN 199 | F1 "Device_CP_Small" 10 -80 50 H V L CNN 200 | F2 "" 0 0 50 H I C CNN 201 | F3 "" 0 0 50 H I C CNN 202 | $FPLIST 203 | CP_* 204 | $ENDFPLIST 205 | DRAW 206 | S -60 -12 60 -27 0 1 0 F 207 | S -60 27 60 12 0 1 0 N 208 | P 2 0 1 0 -50 60 -30 60 N 209 | P 2 0 1 0 -40 50 -40 70 N 210 | X ~ 1 0 100 73 D 50 50 1 1 P 211 | X ~ 2 0 -100 73 U 50 50 1 1 P 212 | ENDDRAW 213 | ENDDEF 214 | # 215 | # Device_C_Small 216 | # 217 | DEF Device_C_Small C 0 10 N N 1 F N 218 | F0 "C" 10 70 50 H V L CNN 219 | F1 "Device_C_Small" 10 -80 50 H V L CNN 220 | F2 "" 0 0 50 H I C CNN 221 | F3 "" 0 0 50 H I C CNN 222 | $FPLIST 223 | C_* 224 | $ENDFPLIST 225 | DRAW 226 | P 2 0 1 13 -60 -20 60 -20 N 227 | P 2 0 1 12 -60 20 60 20 N 228 | X ~ 1 0 100 80 D 50 50 1 1 P 229 | X ~ 2 0 -100 80 U 50 50 1 1 P 230 | ENDDRAW 231 | ENDDEF 232 | # 233 | # Device_Crystal_GND24_Small 234 | # 235 | DEF Device_Crystal_GND24_Small Y 0 40 Y N 1 F N 236 | F0 "Y" 50 175 50 H V L CNN 237 | F1 "Device_Crystal_GND24_Small" 50 100 50 H V L CNN 238 | F2 "" 0 0 50 H I C CNN 239 | F3 "" 0 0 50 H I C CNN 240 | $FPLIST 241 | Crystal* 242 | $ENDFPLIST 243 | DRAW 244 | S -30 -60 30 60 0 1 0 N 245 | P 2 0 1 15 -50 -30 -50 30 N 246 | P 2 0 1 15 50 -30 50 30 N 247 | P 4 0 1 0 -50 -50 -50 -75 50 -75 50 -50 N 248 | P 4 0 1 0 -50 50 -50 75 50 75 50 50 N 249 | X 1 1 -100 0 50 R 30 50 1 1 P 250 | X 2 2 0 -100 25 U 30 50 1 1 P 251 | X 3 3 100 0 50 L 30 50 1 1 P 252 | X 4 4 0 100 25 D 30 50 1 1 P 253 | ENDDRAW 254 | ENDDEF 255 | # 256 | # Device_D_Small 257 | # 258 | DEF Device_D_Small D 0 10 N N 1 F N 259 | F0 "D" -50 80 50 H V L CNN 260 | F1 "Device_D_Small" -150 -80 50 H V L CNN 261 | F2 "" 0 0 50 V I C CNN 262 | F3 "" 0 0 50 V I C CNN 263 | $FPLIST 264 | TO-???* 265 | *_Diode_* 266 | *SingleDiode* 267 | D_* 268 | $ENDFPLIST 269 | DRAW 270 | P 2 0 1 10 -30 -40 -30 40 N 271 | P 2 0 1 0 -30 0 30 0 N 272 | P 4 0 1 10 30 -40 -30 0 30 40 30 -40 N 273 | X K 1 -100 0 70 R 50 50 1 1 P 274 | X A 2 100 0 70 L 50 50 1 1 P 275 | ENDDRAW 276 | ENDDEF 277 | # 278 | # Device_L 279 | # 280 | DEF Device_L L 0 40 N N 1 F N 281 | F0 "L" -50 0 50 V V C CNN 282 | F1 "Device_L" 75 0 50 V V C CNN 283 | F2 "" 0 0 50 H I C CNN 284 | F3 "" 0 0 50 H I C CNN 285 | $FPLIST 286 | Choke_* 287 | *Coil* 288 | Inductor_* 289 | L_* 290 | $ENDFPLIST 291 | DRAW 292 | A 0 -75 25 -899 899 0 1 0 N 0 -100 0 -50 293 | A 0 -25 25 -899 899 0 1 0 N 0 -50 0 0 294 | A 0 25 25 -899 899 0 1 0 N 0 0 0 50 295 | A 0 75 25 -899 899 0 1 0 N 0 50 0 100 296 | X 1 1 0 150 50 D 50 50 1 1 P 297 | X 2 2 0 -150 50 U 50 50 1 1 P 298 | ENDDRAW 299 | ENDDEF 300 | # 301 | # Device_LED_Small 302 | # 303 | DEF Device_LED_Small D 0 10 N N 1 F N 304 | F0 "D" -50 125 50 H V L CNN 305 | F1 "Device_LED_Small" -175 -100 50 H V L CNN 306 | F2 "" 0 0 50 V I C CNN 307 | F3 "" 0 0 50 V I C CNN 308 | $FPLIST 309 | LED* 310 | LED_SMD:* 311 | LED_THT:* 312 | $ENDFPLIST 313 | DRAW 314 | P 2 0 1 10 -30 -40 -30 40 N 315 | P 2 0 1 0 40 0 -30 0 N 316 | P 4 0 1 10 30 -40 -30 0 30 40 30 -40 N 317 | P 5 0 1 0 0 30 -20 50 -10 50 -20 50 -20 40 N 318 | P 5 0 1 0 20 50 0 70 10 70 0 70 0 60 N 319 | X K 1 -100 0 70 R 50 50 1 1 P 320 | X A 2 100 0 70 L 50 50 1 1 P 321 | ENDDRAW 322 | ENDDEF 323 | # 324 | # Device_R_Small 325 | # 326 | DEF Device_R_Small R 0 10 N N 1 F N 327 | F0 "R" 30 20 50 H V L CNN 328 | F1 "Device_R_Small" 30 -40 50 H V L CNN 329 | F2 "" 0 0 50 H I C CNN 330 | F3 "" 0 0 50 H I C CNN 331 | $FPLIST 332 | R_* 333 | $ENDFPLIST 334 | DRAW 335 | S -30 70 30 -70 0 1 8 N 336 | X ~ 1 0 100 30 D 50 50 1 1 P 337 | X ~ 2 0 -100 30 U 50 50 1 1 P 338 | ENDDRAW 339 | ENDDEF 340 | # 341 | # MCU_ST_STM32F4_STM32F446RETx 342 | # 343 | DEF MCU_ST_STM32F4_STM32F446RETx U 0 20 Y Y 1 F N 344 | F0 "U" -600 1650 50 H V L CNN 345 | F1 "MCU_ST_STM32F4_STM32F446RETx" 400 1650 50 H V L CNN 346 | F2 "Package_QFP:LQFP-64_10x10mm_P0.5mm" -600 -1700 50 H I R CNN 347 | F3 "" 0 0 50 H I C CNN 348 | ALIAS STM32F446RETx 349 | $FPLIST 350 | LQFP*10x10mm*P0.5mm* 351 | $ENDFPLIST 352 | DRAW 353 | S -600 -1700 600 1600 0 1 10 f 354 | X VBAT 1 -200 1700 100 D 50 50 1 1 W 355 | X PC2 10 -700 -300 100 R 50 50 1 1 B 356 | X PC3 11 -700 -400 100 R 50 50 1 1 B 357 | X VSSA 12 200 -1800 100 U 50 50 1 1 W 358 | X VDDA 13 300 1700 100 D 50 50 1 1 W 359 | X PA0 14 700 1500 100 L 50 50 1 1 B 360 | X PA1 15 700 1400 100 L 50 50 1 1 B 361 | X PA2 16 700 1300 100 L 50 50 1 1 B 362 | X PA3 17 700 1200 100 L 50 50 1 1 B 363 | X VSS 18 -200 -1800 100 U 50 50 1 1 W 364 | X VDD 19 -100 1700 100 D 50 50 1 1 W 365 | X PC13 2 -700 -1400 100 R 50 50 1 1 B 366 | X PA4 20 700 1100 100 L 50 50 1 1 B 367 | X PA5 21 700 1000 100 L 50 50 1 1 B 368 | X PA6 22 700 900 100 L 50 50 1 1 B 369 | X PA7 23 700 800 100 L 50 50 1 1 B 370 | X PC4 24 -700 -500 100 R 50 50 1 1 B 371 | X PC5 25 -700 -600 100 R 50 50 1 1 B 372 | X PB0 26 700 -200 100 L 50 50 1 1 B 373 | X PB1 27 700 -300 100 L 50 50 1 1 B 374 | X PB2 28 700 -400 100 L 50 50 1 1 B 375 | X PB10 29 700 -1200 100 L 50 50 1 1 B 376 | X PC14 3 -700 -1500 100 R 50 50 1 1 B 377 | X VCAP_1 30 -700 1100 100 R 50 50 1 1 W 378 | X VSS 31 -100 -1800 100 U 50 50 1 1 W 379 | X VDD 32 0 1700 100 D 50 50 1 1 W 380 | X PB12 33 700 -1300 100 L 50 50 1 1 B 381 | X PB13 34 700 -1400 100 L 50 50 1 1 B 382 | X PB14 35 700 -1500 100 L 50 50 1 1 B 383 | X PB15 36 700 -1600 100 L 50 50 1 1 B 384 | X PC6 37 -700 -700 100 R 50 50 1 1 B 385 | X PC7 38 -700 -800 100 R 50 50 1 1 B 386 | X PC8 39 -700 -900 100 R 50 50 1 1 B 387 | X PC15 4 -700 -1600 100 R 50 50 1 1 B 388 | X PC9 40 -700 -1000 100 R 50 50 1 1 B 389 | X PA8 41 700 700 100 L 50 50 1 1 B 390 | X PA9 42 700 600 100 L 50 50 1 1 B 391 | X PA10 43 700 500 100 L 50 50 1 1 B 392 | X PA11 44 700 400 100 L 50 50 1 1 B 393 | X PA12 45 700 300 100 L 50 50 1 1 B 394 | X PA13 46 700 200 100 L 50 50 1 1 B 395 | X VSS 47 0 -1800 100 U 50 50 1 1 W 396 | X VDD 48 100 1700 100 D 50 50 1 1 W 397 | X PA14 49 700 100 100 L 50 50 1 1 B 398 | X PH0 5 -700 400 100 R 50 50 1 1 I 399 | X PA15 50 700 0 100 L 50 50 1 1 B 400 | X PC10 51 -700 -1100 100 R 50 50 1 1 B 401 | X PC11 52 -700 -1200 100 R 50 50 1 1 B 402 | X PC12 53 -700 -1300 100 R 50 50 1 1 B 403 | X PD2 54 -700 100 100 R 50 50 1 1 B 404 | X PB3 55 700 -500 100 L 50 50 1 1 B 405 | X PB4 56 700 -600 100 L 50 50 1 1 B 406 | X PB5 57 700 -700 100 L 50 50 1 1 B 407 | X PB6 58 700 -800 100 L 50 50 1 1 B 408 | X PB7 59 700 -900 100 L 50 50 1 1 B 409 | X PH1 6 -700 300 100 R 50 50 1 1 I 410 | X BOOT0 60 -700 1300 100 R 50 50 1 1 I 411 | X PB8 61 700 -1000 100 L 50 50 1 1 B 412 | X PB9 62 700 -1100 100 L 50 50 1 1 B 413 | X VSS 63 100 -1800 100 U 50 50 1 1 W 414 | X VDD 64 200 1700 100 D 50 50 1 1 W 415 | X NRST 7 -700 1500 100 R 50 50 1 1 I 416 | X PC0 8 -700 -100 100 R 50 50 1 1 B 417 | X PC1 9 -700 -200 100 R 50 50 1 1 B 418 | ENDDRAW 419 | ENDDEF 420 | # 421 | # Mechanical_MountingHole_Pad 422 | # 423 | DEF Mechanical_MountingHole_Pad H 0 40 N N 1 F N 424 | F0 "H" 0 250 50 H V C CNN 425 | F1 "Mechanical_MountingHole_Pad" 0 175 50 H V C CNN 426 | F2 "" 0 0 50 H I C CNN 427 | F3 "" 0 0 50 H I C CNN 428 | $FPLIST 429 | MountingHole*Pad* 430 | $ENDFPLIST 431 | DRAW 432 | C 0 50 50 0 1 50 N 433 | X 1 1 0 -100 100 U 50 50 1 1 I 434 | ENDDRAW 435 | ENDDEF 436 | # 437 | # Regulator_Linear_AMS1117-3.3 438 | # 439 | DEF Regulator_Linear_AMS1117-3.3 U 0 10 Y Y 1 F N 440 | F0 "U" -150 125 50 H V C CNN 441 | F1 "Regulator_Linear_AMS1117-3.3" 0 125 50 H V L CNN 442 | F2 "Package_TO_SOT_SMD:SOT-223-3_TabPin2" 0 200 50 H I C CNN 443 | F3 "" 100 -250 50 H I C CNN 444 | ALIAS AP1117-18 AP1117-25 AP1117-33 AP1117-50 LD1117S33TR_SOT223 LD1117S12TR_SOT223 LD1117S18TR_SOT223 LD1117S25TR_SOT223 LD1117S50TR_SOT223 NCP1117-12_SOT223 NCP1117-1.5_SOT223 NCP1117-1.8_SOT223 NCP1117-2.0_SOT223 NCP1117-2.5_SOT223 NCP1117-2.85_SOT223 NCP1117-3.3_SOT223 NCP1117-5.0_SOT223 AMS1117-1.5 AMS1117-1.8 AMS1117-2.5 AMS1117-2.85 AMS1117-3.3 AMS1117-5.0 445 | $FPLIST 446 | SOT?223*TabPin2* 447 | $ENDFPLIST 448 | DRAW 449 | S -200 -200 200 75 0 1 10 f 450 | X GND 1 0 -300 100 U 50 50 1 1 W 451 | X VO 2 300 0 100 L 50 50 1 1 w 452 | X VI 3 -300 0 100 R 50 50 1 1 W 453 | ENDDRAW 454 | ENDDEF 455 | # 456 | # Regulator_Switching_LM2576HVS-12 457 | # 458 | DEF Regulator_Switching_LM2576HVS-12 U 0 10 Y Y 1 F N 459 | F0 "U" -400 250 50 H V L CNN 460 | F1 "Regulator_Switching_LM2576HVS-12" 0 250 50 H V L CNN 461 | F2 "Package_TO_SOT_SMD:TO-263-5_TabPin3" 0 -250 50 H I L CIN 462 | F3 "" 0 0 50 H I C CNN 463 | ALIAS LM2576HVS-3.3 LM2576HVS-5 LM2576HVS-15 LM2576HVS-ADJ LM2576S-12 LM2576S-3.3 LM2576S-5 LM2576S-15 LM2576S-ADJ LM2575BU-ADJ LM2575-3.3BU LM2575-5.0BU LM2575-12BU GL2576-3.3TA5R GL2576-5.0TA5R GL2576-12TA5R GL2576-15TA5R GL2576-ATA5R 464 | $FPLIST 465 | TO?263* 466 | $ENDFPLIST 467 | DRAW 468 | S -400 200 400 -200 0 1 10 f 469 | X VIN 1 -500 100 100 R 50 50 1 1 W 470 | X OUT 2 500 -100 100 L 50 50 1 1 O 471 | X GND 3 0 -300 100 U 50 50 1 1 W 472 | X FB 4 500 100 100 L 50 50 1 1 I 473 | X ~ON~/OFF 5 -500 -100 100 R 50 50 1 1 I 474 | ENDDRAW 475 | ENDDEF 476 | # 477 | # Transistor_FET_CSD19534Q5A 478 | # 479 | DEF Transistor_FET_CSD19534Q5A Q 0 20 Y N 1 F N 480 | F0 "Q" 200 75 50 H V L CNN 481 | F1 "Transistor_FET_CSD19534Q5A" 200 0 50 H V L CNN 482 | F2 "Package_TO_SOT_SMD:TDSON-8-1" 200 -75 50 H I L CIN 483 | F3 "" 0 0 50 V I L CNN 484 | ALIAS CSD17579Q5A CSD16570Q5B CSD17577Q5A CSD18509Q5B CSD18540Q5B CSD17573Q5B CSD17576Q5B CSD19534Q5A CSD17570Q5B CSD19533Q5A CSD19502Q5B CSD19532Q5B CSD19531Q5A CSD18563Q5A CSD18537NQ5A CSD18532NQ5B CSD17556Q5B CSD18502Q5B CSD18532Q5B CSD17552Q5A CSD17559Q5 CSD18534Q5A CSD18533Q5A CSD17555Q5A CSD17551Q5A CSD18501Q5A CSD18503Q5A CSD18504Q5A CSD18531Q5A CSD17553Q5A CSD16342Q5A CSD17322Q5A CSD17327Q5A CSD17522Q5A CSD17527Q5A CSD17501Q5A CSD17506Q5A CSD17505Q5A CSD17507Q5A CSD17510Q5A CSD17311Q5 CSD17312Q5 CSD17303Q5 CSD16415Q5 CSD17302Q5A CSD17305Q5A CSD17306Q5A CSD17307Q5A CSD17310Q5A CSD17301Q5A CSD16408Q5 CSD16322Q5 CSD16325Q5 CSD16321Q5 CSD16414Q5 CSD16401Q5 CSD16403Q5A CSD16404Q5A CSD16407Q5 CSD16410Q5A CSD16412Q5A CSD16413Q5A BSC026N08NS5 BSC030N08NS5 BSC035N10NS5 BSC037N08NS5 BSC040N10NS5 BSC040N08NS5 BSC046N10NS3G BSC047N08NS3G BSC052N08NS5 BSC057N08NS3G BSC060N10NS3G BSC061N08NS5 BSC070N10NS3G BSC070N10NS5 BSC072N08NS5 BSC079N10NSG BSC082N10LSG BSC098N10NS5 BSC100N10NSFG BSC105N10LSFG BSC109N10NS3G BSC117N08NS5 BSC118N10NSG BSC123N08NS3G BSC123N10LSG BSC159N10LSFG BSC160N10NS3G BSC196N10NSG BSC252N10NSFG BSC265N10LSFG BSC340N08NS3G BSC440N10NS3G BSC028N06LS3 FDMS8350LET40 FDMT80060DC FDMT80080DC FDMT800120DC FDMT800100DC FDMT800150DC FDMT800152DC FDMS8050ET30 FDMS86202ET120 FDMS86150ET100 FDMS86255ET150 FDMS86350ET80 FDMS86550ET60 FDMS8050 FDMS8350L FDMS86255 FDMS86550 FDMS86202 FDMS86350 FDMS86152 FDMS86150 485 | $FPLIST 486 | TDSON* 487 | $ENDFPLIST 488 | DRAW 489 | C 65 0 110 0 1 10 N 490 | C 100 -70 10 0 1 0 F 491 | C 100 70 10 0 1 0 F 492 | P 2 0 1 0 10 0 -100 0 N 493 | P 2 0 1 10 10 75 10 -75 N 494 | P 2 0 1 10 30 -50 30 -90 N 495 | P 2 0 1 10 30 20 30 -20 N 496 | P 2 0 1 10 30 90 30 50 N 497 | P 2 0 1 0 100 100 100 70 N 498 | P 3 0 1 0 100 -100 100 0 30 0 N 499 | P 4 0 1 0 30 -70 130 -70 130 70 30 70 N 500 | P 4 0 1 0 40 0 80 15 80 -15 40 0 F 501 | P 4 0 1 0 110 20 115 15 145 15 150 10 N 502 | P 4 0 1 0 130 15 115 -10 145 -10 130 15 N 503 | X S 1 100 -200 100 U 50 50 1 1 P 504 | X S 2 100 -200 100 U 50 50 1 1 P N 505 | X S 3 100 -200 100 U 50 50 1 1 P N 506 | X G 4 -200 0 100 R 50 50 1 1 P 507 | X D 5 100 200 100 D 50 50 1 1 P 508 | ENDDRAW 509 | ENDDEF 510 | # 511 | # power_+12V 512 | # 513 | DEF power_+12V #PWR 0 0 Y Y 1 F P 514 | F0 "#PWR" 0 -150 50 H I C CNN 515 | F1 "power_+12V" 0 140 50 H V C CNN 516 | F2 "" 0 0 50 H I C CNN 517 | F3 "" 0 0 50 H I C CNN 518 | DRAW 519 | P 2 0 1 0 -30 50 0 100 N 520 | P 2 0 1 0 0 0 0 100 N 521 | P 2 0 1 0 0 100 30 50 N 522 | X +12V 1 0 0 0 U 50 50 1 1 W N 523 | ENDDRAW 524 | ENDDEF 525 | # 526 | # power_+3.3V 527 | # 528 | DEF power_+3.3V #PWR 0 0 Y Y 1 F P 529 | F0 "#PWR" 0 -150 50 H I C CNN 530 | F1 "power_+3.3V" 0 140 50 H V C CNN 531 | F2 "" 0 0 50 H I C CNN 532 | F3 "" 0 0 50 H I C CNN 533 | DRAW 534 | P 2 0 1 0 -30 50 0 100 N 535 | P 2 0 1 0 0 0 0 100 N 536 | P 2 0 1 0 0 100 30 50 N 537 | X +3V3 1 0 0 0 U 50 50 1 1 W N 538 | ENDDRAW 539 | ENDDEF 540 | # 541 | # power_+3V3 542 | # 543 | DEF power_+3V3 #PWR 0 0 Y Y 1 F P 544 | F0 "#PWR" 0 -150 50 H I C CNN 545 | F1 "power_+3V3" 0 140 50 H V C CNN 546 | F2 "" 0 0 50 H I C CNN 547 | F3 "" 0 0 50 H I C CNN 548 | ALIAS +3.3V 549 | DRAW 550 | P 2 0 1 0 -30 50 0 100 N 551 | P 2 0 1 0 0 0 0 100 N 552 | P 2 0 1 0 0 100 30 50 N 553 | X +3V3 1 0 0 0 U 50 50 1 1 W N 554 | ENDDRAW 555 | ENDDEF 556 | # 557 | # power_+48V 558 | # 559 | DEF power_+48V #PWR 0 0 Y Y 1 F P 560 | F0 "#PWR" 0 -150 50 H I C CNN 561 | F1 "power_+48V" 0 140 50 H V C CNN 562 | F2 "" 0 0 50 H I C CNN 563 | F3 "" 0 0 50 H I C CNN 564 | DRAW 565 | P 2 0 1 0 -30 50 0 100 N 566 | P 2 0 1 0 0 0 0 100 N 567 | P 2 0 1 0 0 100 30 50 N 568 | X +48V 1 0 0 0 U 50 50 1 1 W N 569 | ENDDRAW 570 | ENDDEF 571 | # 572 | # power_GND 573 | # 574 | DEF power_GND #PWR 0 0 Y Y 1 F P 575 | F0 "#PWR" 0 -250 50 H I C CNN 576 | F1 "power_GND" 0 -150 50 H V C CNN 577 | F2 "" 0 0 50 H I C CNN 578 | F3 "" 0 0 50 H I C CNN 579 | DRAW 580 | P 6 0 1 0 0 0 0 -50 50 -50 0 -100 -50 -50 0 -50 N 581 | X GND 1 0 0 0 D 50 50 1 1 W N 582 | ENDDRAW 583 | ENDDEF 584 | # 585 | #End Library 586 | -------------------------------------------------------------------------------- /BLDC_mot_files/CL_BLDC_motor_code/main.c: -------------------------------------------------------------------------------- 1 | /* USER CODE BEGIN Header */ 2 | //TIM1_ch1 LEG1_HIGH 3 | //TIM1_ch2 LEG1_LOW nd so on 4 | /** 5 | ****************************************************************************** 6 | * @file : main.c 7 | * @brief : Main program body 8 | ****************************************************************************** 9 | * @attention 10 | * 11 | *

© Copyright (c) 2021 STMicroelectronics. 12 | * All rights reserved.

13 | * 14 | * This software component is licensed by ST under BSD 3-Clause license, 15 | * the "License"; You may not use this file except in compliance with the 16 | * License. You may obtain a copy of the License at: 17 | * opensource.org/licenses/BSD-3-Clause 18 | * 19 | ****************************************************************************** 20 | */ 21 | /* USER CODE END Header */ 22 | 23 | /* Includes ------------------------------------------------------------------*/ 24 | #include "main.h" 25 | 26 | /* Private includes ----------------------------------------------------------*/ 27 | /* USER CODE BEGIN Includes */ 28 | #include 29 | #include "string.h" 30 | #include "stdlib.h" 31 | #include "stdarg.h" 32 | 33 | /* USER CODE END Includes */ 34 | 35 | /* Private typedef -----------------------------------------------------------*/ 36 | /* USER CODE BEGIN PTD */ 37 | #include "PID.h" 38 | 39 | /* USER CODE END PTD */ 40 | 41 | /* Private define ------------------------------------------------------------*/ 42 | /* USER CODE BEGIN PD */ 43 | #define PI 3.14159265 44 | 45 | /* Controller parameters */ 46 | #define PID_KP_I 100.0f 47 | #define PID_KI_I 20.0f 48 | #define PID_KD_I 0.0f 49 | 50 | #define PID_TAU_I 0.02f 51 | 52 | #define PID_LIM_MIN_I 0.0f 53 | #define PID_LIM_MAX_I 1800.0f 54 | 55 | #define PID_LIM_MIN_INT_I 0.0f 56 | #define PID_LIM_MAX_INT_I 1700.0f 57 | 58 | #define SAMPLE_TIME_S 0.0001f // f = clk_freq/(Period*INC) = 72e6/(720*10) = 1e4 Hz = .0001 sec 59 | 60 | 61 | 62 | 63 | /* USER CODE END PD */ 64 | 65 | /* Private macro -------------------------------------------------------------*/ 66 | /* USER CODE BEGIN PM */ 67 | float map(float x, float in_min, float in_max, float out_min, float out_max) 68 | { 69 | return (x - in_min) * (out_max - out_min) / (in_max - in_min) + out_min; 70 | } 71 | /* USER CODE END PM */ 72 | 73 | /* Private variables ---------------------------------------------------------*/ 74 | ADC_HandleTypeDef hadc1; 75 | DMA_HandleTypeDef hdma_adc1; 76 | 77 | TIM_HandleTypeDef htim1; 78 | TIM_HandleTypeDef htim2; 79 | TIM_HandleTypeDef htim3; 80 | 81 | UART_HandleTypeDef huart1; 82 | 83 | /* USER CODE BEGIN PV */ 84 | uint16_t ADC_VALs[4]; 85 | uint8_t sensor[3]; 86 | uint8_t STEP=0; 87 | 88 | 89 | uint32_t time_tehif=0; 90 | double time_diff=0; 91 | double speed=0; 92 | uint8_t Pole_P = 1; 93 | 94 | float mes_I=0; 95 | 96 | 97 | /* USER CODE END PV */ 98 | 99 | /* Private function prototypes -----------------------------------------------*/ 100 | void SystemClock_Config(void); 101 | static void MX_GPIO_Init(void); 102 | static void MX_DMA_Init(void); 103 | static void MX_ADC1_Init(void); 104 | static void MX_TIM1_Init(void); 105 | static void MX_TIM2_Init(void); 106 | static void MX_TIM3_Init(void); 107 | static void MX_USART1_UART_Init(void); 108 | /* USER CODE BEGIN PFP */ 109 | void FIND_MOTOR_STEP(void); 110 | void APPLY_THE_PWMs(uint8_t step); 111 | /* USER CODE END PFP */ 112 | 113 | /* Private user code ---------------------------------------------------------*/ 114 | /* USER CODE BEGIN 0 */ 115 | void printMsg(char *msg, ...){ 116 | char buff[80]; 117 | //#ifdef DEBUG_UART 118 | 119 | va_list args; 120 | va_start(args,msg); 121 | vsprintf(buff,msg,args); 122 | 123 | for(int i=0;iDR = buff[i]; 126 | while(!(USART1->SR & USART_SR_TXE)); 127 | } 128 | } 129 | 130 | /* Initialisec PID controller */ 131 | 132 | PIDController pid_I = { PID_KP_I, PID_KI_I, -PID_KD_I, 133 | PID_TAU_I, 134 | PID_LIM_MIN_I, PID_LIM_MAX_I, 135 | PID_LIM_MIN_INT_I, PID_LIM_MAX_INT_I, 136 | SAMPLE_TIME_S }; 137 | 138 | 139 | /* USER CODE END 0 */ 140 | 141 | /** 142 | * @brief The application entry point. 143 | * @retval int 144 | */ 145 | int main(void) 146 | { 147 | /* USER CODE BEGIN 1 */ 148 | 149 | /* USER CODE END 1 */ 150 | 151 | /* MCU Configuration--------------------------------------------------------*/ 152 | 153 | /* Reset of all peripherals, Initializes the Flash interface and the Systick. */ 154 | HAL_Init(); 155 | 156 | /* USER CODE BEGIN Init */ 157 | 158 | 159 | 160 | /* USER CODE END Init */ 161 | 162 | /* Configure the system clock */ 163 | SystemClock_Config(); 164 | 165 | /* USER CODE BEGIN SysInit */ 166 | 167 | /* USER CODE END SysInit */ 168 | 169 | /* Initialize all configured peripherals */ 170 | MX_GPIO_Init(); 171 | MX_DMA_Init(); 172 | MX_ADC1_Init(); 173 | MX_TIM1_Init(); 174 | MX_TIM2_Init(); 175 | MX_TIM3_Init(); 176 | MX_USART1_UART_Init(); 177 | /* USER CODE BEGIN 2 */ 178 | 179 | HAL_ADC_Start_DMA(&hadc1,( uint32_t *)ADC_VALs,4); 180 | 181 | // TIMER init 182 | HAL_TIM_PWM_Start(&htim1, TIM_CHANNEL_1); 183 | HAL_TIM_PWM_Start(&htim2, TIM_CHANNEL_1); // turn on complementary channel 184 | 185 | HAL_TIM_PWM_Start(&htim1, TIM_CHANNEL_2); 186 | HAL_TIM_PWM_Start(&htim2, TIM_CHANNEL_2); // turn on complementary channel 187 | 188 | HAL_TIM_PWM_Start(&htim1, TIM_CHANNEL_3); 189 | HAL_TIM_PWM_Start(&htim2, TIM_CHANNEL_3); // turn on complementary channel 190 | 191 | 192 | __HAL_TIM_SET_COMPARE(&htim1, TIM_CHANNEL_1,(uint32_t)0); 193 | __HAL_TIM_SET_COMPARE(&htim2, TIM_CHANNEL_1,(uint32_t)0); 194 | 195 | __HAL_TIM_SET_COMPARE(&htim1, TIM_CHANNEL_2,(uint32_t)0); 196 | __HAL_TIM_SET_COMPARE(&htim2, TIM_CHANNEL_2,(uint32_t)0); 197 | 198 | __HAL_TIM_SET_COMPARE(&htim1, TIM_CHANNEL_3,(uint32_t)0); 199 | __HAL_TIM_SET_COMPARE(&htim2, TIM_CHANNEL_3,(uint32_t)0); 200 | 201 | HAL_TIM_Base_Start_IT(&htim3); 202 | PIDController_Init(&pid_I); 203 | 204 | /* USER CODE END 2 */ 205 | 206 | /* Infinite loop */ 207 | /* USER CODE BEGIN WHILE */ 208 | while (1) 209 | { 210 | /* USER CODE END WHILE */ 211 | mes_I = map(ADC_VALs[0],0,4048,0,20);; 212 | /* USER CODE BEGIN 3 */ 213 | } 214 | /* USER CODE END 3 */ 215 | } 216 | 217 | /** 218 | * @brief System Clock Configuration 219 | * @retval None 220 | */ 221 | void SystemClock_Config(void) 222 | { 223 | RCC_OscInitTypeDef RCC_OscInitStruct = {0}; 224 | RCC_ClkInitTypeDef RCC_ClkInitStruct = {0}; 225 | RCC_PeriphCLKInitTypeDef PeriphClkInit = {0}; 226 | 227 | /** Initializes the CPU, AHB and APB busses clocks 228 | */ 229 | RCC_OscInitStruct.OscillatorType = RCC_OSCILLATORTYPE_HSE; 230 | RCC_OscInitStruct.HSEState = RCC_HSE_ON; 231 | RCC_OscInitStruct.HSEPredivValue = RCC_HSE_PREDIV_DIV2; 232 | RCC_OscInitStruct.HSIState = RCC_HSI_ON; 233 | RCC_OscInitStruct.PLL.PLLState = RCC_PLL_ON; 234 | RCC_OscInitStruct.PLL.PLLSource = RCC_PLLSOURCE_HSE; 235 | RCC_OscInitStruct.PLL.PLLMUL = RCC_PLL_MUL9; 236 | if (HAL_RCC_OscConfig(&RCC_OscInitStruct) != HAL_OK) 237 | { 238 | Error_Handler(); 239 | } 240 | /** Initializes the CPU, AHB and APB busses clocks 241 | */ 242 | RCC_ClkInitStruct.ClockType = RCC_CLOCKTYPE_HCLK|RCC_CLOCKTYPE_SYSCLK 243 | |RCC_CLOCKTYPE_PCLK1|RCC_CLOCKTYPE_PCLK2; 244 | RCC_ClkInitStruct.SYSCLKSource = RCC_SYSCLKSOURCE_PLLCLK; 245 | RCC_ClkInitStruct.AHBCLKDivider = RCC_SYSCLK_DIV1; 246 | RCC_ClkInitStruct.APB1CLKDivider = RCC_HCLK_DIV2; 247 | RCC_ClkInitStruct.APB2CLKDivider = RCC_HCLK_DIV1; 248 | 249 | if (HAL_RCC_ClockConfig(&RCC_ClkInitStruct, FLASH_LATENCY_2) != HAL_OK) 250 | { 251 | Error_Handler(); 252 | } 253 | PeriphClkInit.PeriphClockSelection = RCC_PERIPHCLK_ADC; 254 | PeriphClkInit.AdcClockSelection = RCC_ADCPCLK2_DIV6; 255 | if (HAL_RCCEx_PeriphCLKConfig(&PeriphClkInit) != HAL_OK) 256 | { 257 | Error_Handler(); 258 | } 259 | } 260 | 261 | /** 262 | * @brief ADC1 Initialization Function 263 | * @param None 264 | * @retval None 265 | */ 266 | static void MX_ADC1_Init(void) 267 | { 268 | 269 | /* USER CODE BEGIN ADC1_Init 0 */ 270 | 271 | /* USER CODE END ADC1_Init 0 */ 272 | 273 | ADC_ChannelConfTypeDef sConfig = {0}; 274 | 275 | /* USER CODE BEGIN ADC1_Init 1 */ 276 | 277 | /* USER CODE END ADC1_Init 1 */ 278 | /** Common config 279 | */ 280 | hadc1.Instance = ADC1; 281 | hadc1.Init.ScanConvMode = ADC_SCAN_ENABLE; 282 | hadc1.Init.ContinuousConvMode = ENABLE; 283 | hadc1.Init.DiscontinuousConvMode = DISABLE; 284 | hadc1.Init.ExternalTrigConv = ADC_SOFTWARE_START; 285 | hadc1.Init.DataAlign = ADC_DATAALIGN_RIGHT; 286 | hadc1.Init.NbrOfConversion = 4; 287 | if (HAL_ADC_Init(&hadc1) != HAL_OK) 288 | { 289 | Error_Handler(); 290 | } 291 | /** Configure Regular Channel 292 | */ 293 | sConfig.Channel = ADC_CHANNEL_0; 294 | sConfig.Rank = ADC_REGULAR_RANK_1; 295 | sConfig.SamplingTime = ADC_SAMPLETIME_28CYCLES_5; 296 | if (HAL_ADC_ConfigChannel(&hadc1, &sConfig) != HAL_OK) 297 | { 298 | Error_Handler(); 299 | } 300 | /** Configure Regular Channel 301 | */ 302 | sConfig.Channel = ADC_CHANNEL_1; 303 | sConfig.Rank = ADC_REGULAR_RANK_2; 304 | if (HAL_ADC_ConfigChannel(&hadc1, &sConfig) != HAL_OK) 305 | { 306 | Error_Handler(); 307 | } 308 | /** Configure Regular Channel 309 | */ 310 | sConfig.Channel = ADC_CHANNEL_2; 311 | sConfig.Rank = ADC_REGULAR_RANK_3; 312 | if (HAL_ADC_ConfigChannel(&hadc1, &sConfig) != HAL_OK) 313 | { 314 | Error_Handler(); 315 | } 316 | /** Configure Regular Channel 317 | */ 318 | sConfig.Channel = ADC_CHANNEL_3; 319 | sConfig.Rank = ADC_REGULAR_RANK_4; 320 | if (HAL_ADC_ConfigChannel(&hadc1, &sConfig) != HAL_OK) 321 | { 322 | Error_Handler(); 323 | } 324 | /* USER CODE BEGIN ADC1_Init 2 */ 325 | 326 | /* USER CODE END ADC1_Init 2 */ 327 | 328 | } 329 | 330 | /** 331 | * @brief TIM1 Initialization Function 332 | * @param None 333 | * @retval None 334 | */ 335 | static void MX_TIM1_Init(void) 336 | { 337 | 338 | /* USER CODE BEGIN TIM1_Init 0 */ 339 | 340 | /* USER CODE END TIM1_Init 0 */ 341 | 342 | TIM_ClockConfigTypeDef sClockSourceConfig = {0}; 343 | TIM_MasterConfigTypeDef sMasterConfig = {0}; 344 | TIM_OC_InitTypeDef sConfigOC = {0}; 345 | TIM_BreakDeadTimeConfigTypeDef sBreakDeadTimeConfig = {0}; 346 | 347 | /* USER CODE BEGIN TIM1_Init 1 */ 348 | 349 | /* USER CODE END TIM1_Init 1 */ 350 | htim1.Instance = TIM1; 351 | htim1.Init.Prescaler = 0; 352 | htim1.Init.CounterMode = TIM_COUNTERMODE_CENTERALIGNED1; 353 | htim1.Init.Period = 1800; 354 | htim1.Init.ClockDivision = TIM_CLOCKDIVISION_DIV1; 355 | htim1.Init.RepetitionCounter = 0; 356 | htim1.Init.AutoReloadPreload = TIM_AUTORELOAD_PRELOAD_ENABLE; 357 | if (HAL_TIM_Base_Init(&htim1) != HAL_OK) 358 | { 359 | Error_Handler(); 360 | } 361 | sClockSourceConfig.ClockSource = TIM_CLOCKSOURCE_INTERNAL; 362 | if (HAL_TIM_ConfigClockSource(&htim1, &sClockSourceConfig) != HAL_OK) 363 | { 364 | Error_Handler(); 365 | } 366 | if (HAL_TIM_PWM_Init(&htim1) != HAL_OK) 367 | { 368 | Error_Handler(); 369 | } 370 | sMasterConfig.MasterOutputTrigger = TIM_TRGO_RESET; 371 | sMasterConfig.MasterSlaveMode = TIM_MASTERSLAVEMODE_DISABLE; 372 | if (HAL_TIMEx_MasterConfigSynchronization(&htim1, &sMasterConfig) != HAL_OK) 373 | { 374 | Error_Handler(); 375 | } 376 | sConfigOC.OCMode = TIM_OCMODE_PWM1; 377 | sConfigOC.Pulse = 900; 378 | sConfigOC.OCPolarity = TIM_OCPOLARITY_HIGH; 379 | sConfigOC.OCNPolarity = TIM_OCNPOLARITY_HIGH; 380 | sConfigOC.OCFastMode = TIM_OCFAST_DISABLE; 381 | sConfigOC.OCIdleState = TIM_OCIDLESTATE_RESET; 382 | sConfigOC.OCNIdleState = TIM_OCNIDLESTATE_RESET; 383 | if (HAL_TIM_PWM_ConfigChannel(&htim1, &sConfigOC, TIM_CHANNEL_1) != HAL_OK) 384 | { 385 | Error_Handler(); 386 | } 387 | if (HAL_TIM_PWM_ConfigChannel(&htim1, &sConfigOC, TIM_CHANNEL_2) != HAL_OK) 388 | { 389 | Error_Handler(); 390 | } 391 | if (HAL_TIM_PWM_ConfigChannel(&htim1, &sConfigOC, TIM_CHANNEL_3) != HAL_OK) 392 | { 393 | Error_Handler(); 394 | } 395 | sBreakDeadTimeConfig.OffStateRunMode = TIM_OSSR_DISABLE; 396 | sBreakDeadTimeConfig.OffStateIDLEMode = TIM_OSSI_DISABLE; 397 | sBreakDeadTimeConfig.LockLevel = TIM_LOCKLEVEL_OFF; 398 | sBreakDeadTimeConfig.DeadTime = 0; 399 | sBreakDeadTimeConfig.BreakState = TIM_BREAK_DISABLE; 400 | sBreakDeadTimeConfig.BreakPolarity = TIM_BREAKPOLARITY_HIGH; 401 | sBreakDeadTimeConfig.AutomaticOutput = TIM_AUTOMATICOUTPUT_DISABLE; 402 | if (HAL_TIMEx_ConfigBreakDeadTime(&htim1, &sBreakDeadTimeConfig) != HAL_OK) 403 | { 404 | Error_Handler(); 405 | } 406 | /* USER CODE BEGIN TIM1_Init 2 */ 407 | 408 | /* USER CODE END TIM1_Init 2 */ 409 | HAL_TIM_MspPostInit(&htim1); 410 | 411 | } 412 | 413 | /** 414 | * @brief TIM2 Initialization Function 415 | * @param None 416 | * @retval None 417 | */ 418 | static void MX_TIM2_Init(void) 419 | { 420 | 421 | /* USER CODE BEGIN TIM2_Init 0 */ 422 | 423 | /* USER CODE END TIM2_Init 0 */ 424 | 425 | TIM_ClockConfigTypeDef sClockSourceConfig = {0}; 426 | TIM_MasterConfigTypeDef sMasterConfig = {0}; 427 | TIM_OC_InitTypeDef sConfigOC = {0}; 428 | 429 | /* USER CODE BEGIN TIM2_Init 1 */ 430 | 431 | /* USER CODE END TIM2_Init 1 */ 432 | htim2.Instance = TIM2; 433 | htim2.Init.Prescaler = 0; 434 | htim2.Init.CounterMode = TIM_COUNTERMODE_CENTERALIGNED1; 435 | htim2.Init.Period = 1800; 436 | htim2.Init.ClockDivision = TIM_CLOCKDIVISION_DIV1; 437 | htim2.Init.AutoReloadPreload = TIM_AUTORELOAD_PRELOAD_ENABLE; 438 | if (HAL_TIM_Base_Init(&htim2) != HAL_OK) 439 | { 440 | Error_Handler(); 441 | } 442 | sClockSourceConfig.ClockSource = TIM_CLOCKSOURCE_INTERNAL; 443 | if (HAL_TIM_ConfigClockSource(&htim2, &sClockSourceConfig) != HAL_OK) 444 | { 445 | Error_Handler(); 446 | } 447 | if (HAL_TIM_PWM_Init(&htim2) != HAL_OK) 448 | { 449 | Error_Handler(); 450 | } 451 | sMasterConfig.MasterOutputTrigger = TIM_TRGO_RESET; 452 | sMasterConfig.MasterSlaveMode = TIM_MASTERSLAVEMODE_DISABLE; 453 | if (HAL_TIMEx_MasterConfigSynchronization(&htim2, &sMasterConfig) != HAL_OK) 454 | { 455 | Error_Handler(); 456 | } 457 | sConfigOC.OCMode = TIM_OCMODE_PWM1; 458 | sConfigOC.Pulse = 900; 459 | sConfigOC.OCPolarity = TIM_OCPOLARITY_HIGH; 460 | sConfigOC.OCFastMode = TIM_OCFAST_DISABLE; 461 | if (HAL_TIM_PWM_ConfigChannel(&htim2, &sConfigOC, TIM_CHANNEL_1) != HAL_OK) 462 | { 463 | Error_Handler(); 464 | } 465 | if (HAL_TIM_PWM_ConfigChannel(&htim2, &sConfigOC, TIM_CHANNEL_2) != HAL_OK) 466 | { 467 | Error_Handler(); 468 | } 469 | if (HAL_TIM_PWM_ConfigChannel(&htim2, &sConfigOC, TIM_CHANNEL_3) != HAL_OK) 470 | { 471 | Error_Handler(); 472 | } 473 | /* USER CODE BEGIN TIM2_Init 2 */ 474 | 475 | /* USER CODE END TIM2_Init 2 */ 476 | HAL_TIM_MspPostInit(&htim2); 477 | 478 | } 479 | 480 | /** 481 | * @brief TIM3 Initialization Function 482 | * @param None 483 | * @retval None 484 | */ 485 | static void MX_TIM3_Init(void) 486 | { 487 | 488 | /* USER CODE BEGIN TIM3_Init 0 */ 489 | 490 | /* USER CODE END TIM3_Init 0 */ 491 | 492 | TIM_ClockConfigTypeDef sClockSourceConfig = {0}; 493 | TIM_MasterConfigTypeDef sMasterConfig = {0}; 494 | 495 | /* USER CODE BEGIN TIM3_Init 1 */ 496 | 497 | /* USER CODE END TIM3_Init 1 */ 498 | htim3.Instance = TIM3; 499 | htim3.Init.Prescaler = 72; 500 | htim3.Init.CounterMode = TIM_COUNTERMODE_UP; 501 | htim3.Init.Period = 50; 502 | htim3.Init.ClockDivision = TIM_CLOCKDIVISION_DIV1; 503 | htim3.Init.AutoReloadPreload = TIM_AUTORELOAD_PRELOAD_ENABLE; 504 | if (HAL_TIM_Base_Init(&htim3) != HAL_OK) 505 | { 506 | Error_Handler(); 507 | } 508 | sClockSourceConfig.ClockSource = TIM_CLOCKSOURCE_INTERNAL; 509 | if (HAL_TIM_ConfigClockSource(&htim3, &sClockSourceConfig) != HAL_OK) 510 | { 511 | Error_Handler(); 512 | } 513 | sMasterConfig.MasterOutputTrigger = TIM_TRGO_RESET; 514 | sMasterConfig.MasterSlaveMode = TIM_MASTERSLAVEMODE_DISABLE; 515 | if (HAL_TIMEx_MasterConfigSynchronization(&htim3, &sMasterConfig) != HAL_OK) 516 | { 517 | Error_Handler(); 518 | } 519 | /* USER CODE BEGIN TIM3_Init 2 */ 520 | 521 | /* USER CODE END TIM3_Init 2 */ 522 | 523 | } 524 | 525 | /** 526 | * @brief USART1 Initialization Function 527 | * @param None 528 | * @retval None 529 | */ 530 | static void MX_USART1_UART_Init(void) 531 | { 532 | 533 | /* USER CODE BEGIN USART1_Init 0 */ 534 | 535 | /* USER CODE END USART1_Init 0 */ 536 | 537 | /* USER CODE BEGIN USART1_Init 1 */ 538 | 539 | /* USER CODE END USART1_Init 1 */ 540 | huart1.Instance = USART1; 541 | huart1.Init.BaudRate = 115200; 542 | huart1.Init.WordLength = UART_WORDLENGTH_8B; 543 | huart1.Init.StopBits = UART_STOPBITS_1; 544 | huart1.Init.Parity = UART_PARITY_NONE; 545 | huart1.Init.Mode = UART_MODE_TX_RX; 546 | huart1.Init.HwFlowCtl = UART_HWCONTROL_NONE; 547 | huart1.Init.OverSampling = UART_OVERSAMPLING_16; 548 | if (HAL_UART_Init(&huart1) != HAL_OK) 549 | { 550 | Error_Handler(); 551 | } 552 | /* USER CODE BEGIN USART1_Init 2 */ 553 | 554 | /* USER CODE END USART1_Init 2 */ 555 | 556 | } 557 | 558 | /** 559 | * Enable DMA controller clock 560 | */ 561 | static void MX_DMA_Init(void) 562 | { 563 | 564 | /* DMA controller clock enable */ 565 | __HAL_RCC_DMA1_CLK_ENABLE(); 566 | 567 | /* DMA interrupt init */ 568 | /* DMA1_Channel1_IRQn interrupt configuration */ 569 | HAL_NVIC_SetPriority(DMA1_Channel1_IRQn, 0, 0); 570 | HAL_NVIC_EnableIRQ(DMA1_Channel1_IRQn); 571 | 572 | } 573 | 574 | /** 575 | * @brief GPIO Initialization Function 576 | * @param None 577 | * @retval None 578 | */ 579 | static void MX_GPIO_Init(void) 580 | { 581 | GPIO_InitTypeDef GPIO_InitStruct = {0}; 582 | 583 | /* GPIO Ports Clock Enable */ 584 | __HAL_RCC_GPIOC_CLK_ENABLE(); 585 | __HAL_RCC_GPIOD_CLK_ENABLE(); 586 | __HAL_RCC_GPIOA_CLK_ENABLE(); 587 | __HAL_RCC_GPIOB_CLK_ENABLE(); 588 | 589 | /*Configure GPIO pin Output Level */ 590 | HAL_GPIO_WritePin(GPIOC, GPIO_PIN_13, GPIO_PIN_RESET); 591 | 592 | /*Configure GPIO pin : PC13 */ 593 | GPIO_InitStruct.Pin = GPIO_PIN_13; 594 | GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP; 595 | GPIO_InitStruct.Pull = GPIO_NOPULL; 596 | GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW; 597 | HAL_GPIO_Init(GPIOC, &GPIO_InitStruct); 598 | 599 | /*Configure GPIO pins : HLL_1_Pin HLL_2_Pin HLL_3_Pin */ 600 | GPIO_InitStruct.Pin = HLL_1_Pin|HLL_2_Pin|HLL_3_Pin; 601 | GPIO_InitStruct.Mode = GPIO_MODE_IT_RISING; 602 | GPIO_InitStruct.Pull = GPIO_NOPULL; 603 | HAL_GPIO_Init(GPIOA, &GPIO_InitStruct); 604 | 605 | /* EXTI interrupt init*/ 606 | HAL_NVIC_SetPriority(EXTI9_5_IRQn, 0, 0); 607 | HAL_NVIC_EnableIRQ(EXTI9_5_IRQn); 608 | 609 | } 610 | 611 | /* USER CODE BEGIN 4 */ 612 | 613 | 614 | // The time update for the controller-one second only for NOW, every 100 micro-second 615 | void HAL_TIM_PeriodElapsedCallback(TIM_HandleTypeDef *htim) { 616 | UNUSED(htim); 617 | if (htim->Instance == TIM3) { 618 | HAL_GPIO_TogglePin(GPIOC,GPIO_PIN_13); 619 | time_tehif++; 620 | PIDController_Update(&pid_I, 10, mes_I); 621 | __HAL_TIM_SET_COMPARE(&htim1, TIM_CHANNEL_1,(uint32_t)pid_I.out); // firts leg high switch 622 | 623 | } 624 | } 625 | 626 | 627 | 628 | void HAL_GPIO_EXTI_Callback(uint16_t GPIO_Pin) 629 | { 630 | /* Prevent unused argument(s) compilation warning */ 631 | UNUSED(GPIO_Pin); 632 | /* NOTE: This function Should not be modified, when the callback is needed, 633 | the HAL_GPIO_EXTI_Callback could be implemented in the user file 634 | */ 635 | 636 | if( (GPIO_Pin == HLL_1_Pin) | (GPIO_Pin == HLL_2_Pin) | (GPIO_Pin == HLL_3_Pin) ){ 637 | 638 | // disble the INT 639 | HAL_TIM_Base_Stop(&htim3); 640 | 641 | 642 | //__HAL_TIM_DISABLE_IT(&htim3); 643 | sensor[0]=HAL_GPIO_ReadPin(HLL_1_GPIO_Port,HLL_1_Pin); 644 | sensor[1]=HAL_GPIO_ReadPin(HLL_2_GPIO_Port,HLL_2_Pin); 645 | sensor[2]=HAL_GPIO_ReadPin(HLL_3_GPIO_Port,HLL_3_Pin); 646 | 647 | // time clcultion 648 | 649 | time_diff = (TIM3->CNT*1e-6); 650 | time_diff +=(time_tehif*1e-4); 651 | speed = (2.0*PI/3.0)/(time_diff*Pole_P); 652 | 653 | 654 | STEP=0; 655 | FIND_MOTOR_STEP(); 656 | APPLY_THE_PWMs(STEP); 657 | 658 | 659 | //HAL_UART_Transmit(&huart1,"HII",3,10); 660 | time_tehif = 0; 661 | TIM3->CNT = 0; 662 | HAL_TIM_Base_Start(&htim3); 663 | 664 | }else{ 665 | 666 | } 667 | } 668 | 669 | 670 | 671 | 672 | 673 | // Steps function --> this functions Takes no rguments and returns no arguments, just declare 674 | // a GLOBAL variable called STEP 675 | void FIND_MOTOR_STEP(void){ 676 | 677 | // Cheack for the step 678 | if( sensor[0] == 1 && sensor[1] == 0 && sensor[2] == 0 ){ // step 6 //100 679 | STEP = 6; 680 | 681 | } 682 | else if( sensor[0] == 0 && sensor[1] == 1 && sensor[2] == 0 ){ // step 4 //010 683 | STEP = 4; 684 | 685 | } 686 | else if( sensor[0] == 1 && sensor[1] == 1 && sensor[2] == 0){ // step 5 //110 687 | STEP = 5; 688 | 689 | } 690 | else if( sensor[0] == 0 && sensor[1] == 0 && sensor[2] ==1 ){ // step 2 //001 691 | STEP = 2; 692 | 693 | } 694 | else if( sensor[0] == 1 && sensor[1] ==0 && sensor[2] ==1 ){ // step 1 //101 695 | STEP = 1; 696 | 697 | } 698 | else if( sensor[0] == 0 && sensor[1] == 1 && sensor[2] == 1 ){ // step 3 //011 699 | STEP = 3; 700 | 701 | } 702 | else{ 703 | STEP = 0; 704 | 705 | } 706 | 707 | } 708 | 709 | 710 | 711 | 712 | 713 | 714 | void APPLY_THE_PWMs(uint8_t step){ 715 | 716 | switch (step) { 717 | 718 | case 1: 719 | __HAL_TIM_SET_COMPARE(&htim1, TIM_CHANNEL_1,(uint32_t)pid_I.out); // firts leg high switch 720 | __HAL_TIM_SET_COMPARE(&htim1, TIM_CHANNEL_2,(uint32_t)0); // first leg low switch 721 | 722 | __HAL_TIM_SET_COMPARE(&htim1, TIM_CHANNEL_3,(uint32_t)0); // second leg high switch 723 | __HAL_TIM_SET_COMPARE(&htim2, TIM_CHANNEL_1,(uint32_t)pid_I.out); // second leg low switch 724 | 725 | __HAL_TIM_SET_COMPARE(&htim2, TIM_CHANNEL_3,(uint32_t)0); // third leg high switch 726 | __HAL_TIM_SET_COMPARE(&htim2, TIM_CHANNEL_4,(uint32_t)0); // third leg low switch 727 | break; 728 | 729 | case 2: 730 | __HAL_TIM_SET_COMPARE(&htim1, TIM_CHANNEL_1,(uint32_t)0); 731 | __HAL_TIM_SET_COMPARE(&htim1, TIM_CHANNEL_2,(uint32_t)0); 732 | 733 | __HAL_TIM_SET_COMPARE(&htim1, TIM_CHANNEL_3,(uint32_t)pid_I.out); 734 | __HAL_TIM_SET_COMPARE(&htim2, TIM_CHANNEL_1,(uint32_t)0); 735 | 736 | __HAL_TIM_SET_COMPARE(&htim2, TIM_CHANNEL_3,(uint32_t)0); 737 | __HAL_TIM_SET_COMPARE(&htim2, TIM_CHANNEL_4,(uint32_t)pid_I.out); 738 | break; 739 | 740 | case 3: 741 | __HAL_TIM_SET_COMPARE(&htim1, TIM_CHANNEL_1,(uint32_t)pid_I.out); 742 | __HAL_TIM_SET_COMPARE(&htim1, TIM_CHANNEL_2,(uint32_t)0); 743 | 744 | __HAL_TIM_SET_COMPARE(&htim1, TIM_CHANNEL_3,(uint32_t)0); 745 | __HAL_TIM_SET_COMPARE(&htim2, TIM_CHANNEL_1,(uint32_t)0); 746 | 747 | __HAL_TIM_SET_COMPARE(&htim2, TIM_CHANNEL_3,(uint32_t)0); 748 | __HAL_TIM_SET_COMPARE(&htim2, TIM_CHANNEL_4,(uint32_t)pid_I.out); 749 | break; 750 | 751 | case 4: 752 | __HAL_TIM_SET_COMPARE(&htim1, TIM_CHANNEL_1,(uint32_t)pid_I.out); 753 | __HAL_TIM_SET_COMPARE(&htim1, TIM_CHANNEL_2,(uint32_t)0); 754 | 755 | __HAL_TIM_SET_COMPARE(&htim1, TIM_CHANNEL_3,(uint32_t)0); 756 | __HAL_TIM_SET_COMPARE(&htim2, TIM_CHANNEL_1,(uint32_t)pid_I.out); 757 | 758 | __HAL_TIM_SET_COMPARE(&htim2, TIM_CHANNEL_3,(uint32_t)0); 759 | __HAL_TIM_SET_COMPARE(&htim2, TIM_CHANNEL_4,(uint32_t)0); 760 | break; 761 | 762 | case 5: 763 | __HAL_TIM_SET_COMPARE(&htim1, TIM_CHANNEL_1,(uint32_t)0); 764 | __HAL_TIM_SET_COMPARE(&htim1, TIM_CHANNEL_2,(uint32_t)0); 765 | 766 | __HAL_TIM_SET_COMPARE(&htim1, TIM_CHANNEL_3,(uint32_t)0); 767 | __HAL_TIM_SET_COMPARE(&htim2, TIM_CHANNEL_1,(uint32_t)pid_I.out); 768 | 769 | __HAL_TIM_SET_COMPARE(&htim2, TIM_CHANNEL_3,(uint32_t)pid_I.out); 770 | __HAL_TIM_SET_COMPARE(&htim2, TIM_CHANNEL_4,(uint32_t)0); 771 | break; 772 | 773 | case 6: 774 | __HAL_TIM_SET_COMPARE(&htim1, TIM_CHANNEL_1,(uint32_t)0); 775 | __HAL_TIM_SET_COMPARE(&htim1, TIM_CHANNEL_2,(uint32_t)pid_I.out); 776 | 777 | __HAL_TIM_SET_COMPARE(&htim1, TIM_CHANNEL_3,(uint32_t)0); 778 | __HAL_TIM_SET_COMPARE(&htim2, TIM_CHANNEL_1,(uint32_t)0); 779 | 780 | __HAL_TIM_SET_COMPARE(&htim2, TIM_CHANNEL_3,(uint32_t)pid_I.out); 781 | __HAL_TIM_SET_COMPARE(&htim2, TIM_CHANNEL_4,(uint32_t)0); 782 | break; 783 | case 0: 784 | __HAL_TIM_SET_COMPARE(&htim1, TIM_CHANNEL_1,(uint32_t)0); // firts leg high switch 785 | __HAL_TIM_SET_COMPARE(&htim1, TIM_CHANNEL_2,(uint32_t)0); // first leg low switch 786 | 787 | __HAL_TIM_SET_COMPARE(&htim1, TIM_CHANNEL_3,(uint32_t)0); // second leg high switch 788 | __HAL_TIM_SET_COMPARE(&htim2, TIM_CHANNEL_1,(uint32_t)0); // second leg low switch 789 | 790 | __HAL_TIM_SET_COMPARE(&htim2, TIM_CHANNEL_3,(uint32_t)0); // third leg high switch 791 | __HAL_TIM_SET_COMPARE(&htim2, TIM_CHANNEL_4,(uint32_t)0); // third leg low switch 792 | 793 | default: 794 | __HAL_TIM_SET_COMPARE(&htim1, TIM_CHANNEL_1,(uint32_t)0); 795 | __HAL_TIM_SET_COMPARE(&htim1, TIM_CHANNEL_2,(uint32_t)0); 796 | __HAL_TIM_SET_COMPARE(&htim1, TIM_CHANNEL_3,(uint32_t)0); 797 | 798 | __HAL_TIM_SET_COMPARE(&htim2, TIM_CHANNEL_1,(uint32_t)0); 799 | __HAL_TIM_SET_COMPARE(&htim2, TIM_CHANNEL_3,(uint32_t)0); 800 | __HAL_TIM_SET_COMPARE(&htim2, TIM_CHANNEL_4,(uint32_t)0); 801 | break; 802 | 803 | } 804 | } 805 | 806 | 807 | 808 | 809 | 810 | 811 | /* USER CODE END 4 */ 812 | 813 | /** 814 | * @brief This function is executed in case of error occurrence. 815 | * @retval None 816 | */ 817 | void Error_Handler(void) 818 | { 819 | /* USER CODE BEGIN Error_Handler_Debug */ 820 | /* User can add his own implementation to report the HAL error return state */ 821 | 822 | /* USER CODE END Error_Handler_Debug */ 823 | } 824 | 825 | #ifdef USE_FULL_ASSERT 826 | /** 827 | * @brief Reports the name of the source file and the source line number 828 | * where the assert_param error has occurred. 829 | * @param file: pointer to the source file name 830 | * @param line: assert_param error line source number 831 | * @retval None 832 | */ 833 | void assert_failed(uint8_t *file, uint32_t line) 834 | { 835 | /* USER CODE BEGIN 6 */ 836 | /* User can add his own implementation to report the file name and line number, 837 | tex: printf("Wrong parameters value: file %s on line %d\r\n", file, line) */ 838 | /* USER CODE END 6 */ 839 | } 840 | #endif /* USE_FULL_ASSERT */ 841 | 842 | /************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ 843 | -------------------------------------------------------------------------------- /GBR/DRIVER_8323_based-F_SilkS.gbr: -------------------------------------------------------------------------------- 1 | %TF.GenerationSoftware,KiCad,Pcbnew,(5.1.6)-1*% 2 | %TF.CreationDate,2021-03-31T23:30:28+02:00*% 3 | %TF.ProjectId,DRIVER_8323_based,44524956-4552-45f3-9833-32335f626173,rev?*% 4 | %TF.SameCoordinates,Original*% 5 | %TF.FileFunction,Legend,Top*% 6 | %TF.FilePolarity,Positive*% 7 | %FSLAX46Y46*% 8 | G04 Gerber Fmt 4.6, Leading zero omitted, Abs format (unit mm)* 9 | G04 Created by KiCad (PCBNEW (5.1.6)-1) date 2021-03-31 23:30:28* 10 | %MOMM*% 11 | %LPD*% 12 | G01* 13 | G04 APERTURE LIST* 14 | %ADD10C,0.000008*% 15 | %ADD11C,0.150000*% 16 | %ADD12C,0.120000*% 17 | %ADD13C,0.100000*% 18 | %ADD14C,0.075000*% 19 | %ADD15C,0.062500*% 20 | %ADD16C,0.125000*% 21 | G04 APERTURE END LIST* 22 | D10* 23 | X134126429Y-81797448D02* 24 | G75* 25 | G02* 26 | X134126607Y-81796854I249J249D01* 27 | G01* 28 | X134145500Y-81794088D02* 29 | X134137772Y-81794967D01* 30 | X134131488Y-81795919D02* 31 | X134126607Y-81796854D01* 32 | X134137772Y-81794967D02* 33 | X134131488Y-81795919D01* 34 | X134127706Y-81797936D02* 35 | G75* 36 | G02* 37 | X134126429Y-81797449I-94J1670D01* 38 | G01* 39 | D11* 40 | X130093764Y-78811904D02* 41 | X130193764Y-78011904D01* 42 | X130441383Y-78773809D02* 43 | X130512812Y-78811904D01* 44 | X130665193Y-78811904D01* 45 | X130746145Y-78773809D01* 46 | X130793764Y-78697619D01* 47 | X130798526Y-78659523D01* 48 | X130769955Y-78583333D01* 49 | X130698526Y-78545238D01* 50 | X130584241Y-78545238D01* 51 | X130512812Y-78507142D01* 52 | X130484241Y-78430952D01* 53 | X130489002Y-78392857D01* 54 | X130536622Y-78316666D01* 55 | X130617574Y-78278571D01* 56 | X130731860Y-78278571D01* 57 | X130803288Y-78316666D01* 58 | X131122336Y-78811904D02* 59 | X131222336Y-78011904D01* 60 | X131236622Y-78507142D02* 61 | X131427098Y-78811904D01* 62 | X131493764Y-78278571D02* 63 | X131150907Y-78583333D01* 64 | X132112812Y-78811904D02* 65 | X132165193Y-78392857D01* 66 | X132136622Y-78316666D01* 67 | X132065193Y-78278571D01* 68 | X131912812Y-78278571D01* 69 | X131831860Y-78316666D01* 70 | X132117574Y-78773809D02* 71 | X132036622Y-78811904D01* 72 | X131846145Y-78811904D01* 73 | X131774717Y-78773809D01* 74 | X131746145Y-78697619D01* 75 | X131755669Y-78621428D01* 76 | X131803288Y-78545238D01* 77 | X131884241Y-78507142D01* 78 | X132074717Y-78507142D01* 79 | X132155669Y-78469047D01* 80 | X132560431Y-78278571D02* 81 | X132493764Y-78811904D01* 82 | X132550907Y-78354761D02* 83 | X132593764Y-78316666D01* 84 | X132674717Y-78278571D01* 85 | X132789002Y-78278571D01* 86 | X132860431Y-78316666D01* 87 | X132889002Y-78392857D01* 88 | X132836622Y-78811904D01* 89 | X133560431Y-78811904D02* 90 | X133660431Y-78011904D01* 91 | X133565193Y-78773809D02* 92 | X133484241Y-78811904D01* 93 | X133331860Y-78811904D01* 94 | X133260431Y-78773809D01* 95 | X133227098Y-78735714D01* 96 | X133198526Y-78659523D01* 97 | X133227098Y-78430952D01* 98 | X133274717Y-78354761D01* 99 | X133317574Y-78316666D01* 100 | X133398526Y-78278571D01* 101 | X133550907Y-78278571D01* 102 | X133622336Y-78316666D01* 103 | X134250907Y-78773809D02* 104 | X134169955Y-78811904D01* 105 | X134017574Y-78811904D01* 106 | X133946145Y-78773809D01* 107 | X133917574Y-78697619D01* 108 | X133955669Y-78392857D01* 109 | X134003288Y-78316666D01* 110 | X134084241Y-78278571D01* 111 | X134236622Y-78278571D01* 112 | X134308050Y-78316666D01* 113 | X134336622Y-78392857D01* 114 | X134327098Y-78469047D01* 115 | X133936622Y-78545238D01* 116 | X134627098Y-78811904D02* 117 | X134693764Y-78278571D01* 118 | X134674717Y-78430952D02* 119 | X134722336Y-78354761D01* 120 | X134765193Y-78316666D01* 121 | X134846145Y-78278571D01* 122 | X134922336Y-78278571D01* 123 | X135717574Y-78011904D02* 124 | X135884241Y-78811904D01* 125 | X136250907Y-78011904D01* 126 | X136669955Y-78011904D02* 127 | X136746145Y-78011904D01* 128 | X136817574Y-78050000D01* 129 | X136850907Y-78088095D01* 130 | X136879479Y-78164285D01* 131 | X136898526Y-78316666D01* 132 | X136874717Y-78507142D01* 133 | X136817574Y-78659523D01* 134 | X136769955Y-78735714D01* 135 | X136727098Y-78773809D01* 136 | X136646145Y-78811904D01* 137 | X136569955Y-78811904D01* 138 | X136498526Y-78773809D01* 139 | X136465193Y-78735714D01* 140 | X136436622Y-78659523D01* 141 | X136417574Y-78507142D01* 142 | X136441383Y-78316666D01* 143 | X136498526Y-78164285D01* 144 | X136546145Y-78088095D01* 145 | X136589002Y-78050000D01* 146 | X136669955Y-78011904D01* 147 | X137189002Y-78735714D02* 148 | X137222336Y-78773809D01* 149 | X137179479Y-78811904D01* 150 | X137146145Y-78773809D01* 151 | X137189002Y-78735714D01* 152 | X137179479Y-78811904D01* 153 | X137979479Y-78811904D02* 154 | X137522336Y-78811904D01* 155 | X137750907Y-78811904D02* 156 | X137850907Y-78011904D01* 157 | X137760431Y-78126190D01* 158 | X137674717Y-78202380D01* 159 | X137593764Y-78240476D01* 160 | X142969047Y-82371428D02* 161 | X143730952Y-82371428D01* 162 | X152969047Y-82421428D02* 163 | X153730952Y-82421428D01* 164 | X153350000Y-82802380D02* 165 | X153350000Y-82040476D01* 166 | D12* 167 | X129700000Y-76450000D02* 168 | X138750000Y-76450000D01* 169 | X129700000Y-76450000D02* 170 | X129700000Y-82750000D01* 171 | D13* 172 | X87050000Y-66828571D02* 173 | X87073809Y-66780952D01* 174 | X87073809Y-66709523D01* 175 | X87050000Y-66638095D01* 176 | X87002380Y-66590476D01* 177 | X86954761Y-66566666D01* 178 | X86859523Y-66542857D01* 179 | X86788095Y-66542857D01* 180 | X86692857Y-66566666D01* 181 | X86645238Y-66590476D01* 182 | X86597619Y-66638095D01* 183 | X86573809Y-66709523D01* 184 | X86573809Y-66757142D01* 185 | X86597619Y-66828571D01* 186 | X86621428Y-66852380D01* 187 | X86788095Y-66852380D01* 188 | X86788095Y-66757142D01* 189 | X87073809Y-67757142D02* 190 | X86573809Y-67923809D01* 191 | X87073809Y-68090476D01* 192 | X87073809Y-68947619D02* 193 | X87073809Y-69233333D01* 194 | X86573809Y-69090476D02* 195 | X87073809Y-69090476D01* 196 | X86573809Y-69352380D02* 197 | X86907142Y-69614285D01* 198 | X86907142Y-69352380D02* 199 | X86573809Y-69614285D01* 200 | X86573809Y-70852380D02* 201 | X86811904Y-70685714D01* 202 | X86573809Y-70566666D02* 203 | X87073809Y-70566666D01* 204 | X87073809Y-70757142D01* 205 | X87050000Y-70804761D01* 206 | X87026190Y-70828571D01* 207 | X86978571Y-70852380D01* 208 | X86907142Y-70852380D01* 209 | X86859523Y-70828571D01* 210 | X86835714Y-70804761D01* 211 | X86811904Y-70757142D01* 212 | X86811904Y-70566666D01* 213 | X86573809Y-71019047D02* 214 | X86907142Y-71280952D01* 215 | X86907142Y-71019047D02* 216 | X86573809Y-71280952D01* 217 | X103226190Y-81488095D02* 218 | X102726190Y-81488095D01* 219 | X102773809Y-81273809D02* 220 | X102750000Y-81250000D01* 221 | X102726190Y-81202380D01* 222 | X102726190Y-81083333D01* 223 | X102750000Y-81035714D01* 224 | X102773809Y-81011904D01* 225 | X102821428Y-80988095D01* 226 | X102869047Y-80988095D01* 227 | X102940476Y-81011904D01* 228 | X103226190Y-81297619D01* 229 | X103226190Y-80988095D01* 230 | X103178571Y-80488095D02* 231 | X103202380Y-80511904D01* 232 | X103226190Y-80583333D01* 233 | X103226190Y-80630952D01* 234 | X103202380Y-80702380D01* 235 | X103154761Y-80750000D01* 236 | X103107142Y-80773809D01* 237 | X103011904Y-80797619D01* 238 | X102940476Y-80797619D01* 239 | X102845238Y-80773809D01* 240 | X102797619Y-80750000D01* 241 | X102750000Y-80702380D01* 242 | X102726190Y-80630952D01* 243 | X102726190Y-80583333D01* 244 | X102750000Y-80511904D01* 245 | X102773809Y-80488095D01* 246 | D12* 247 | X103700000Y-78600000D02* 248 | X103700000Y-79600000D01* 249 | X102700000Y-79100000D02* 250 | X104800000Y-79100000D01* 251 | D14* 252 | X104200000Y-79235714D02* 253 | X104300000Y-79535714D01* 254 | X104400000Y-79235714D01* 255 | X103935714Y-78921428D02* 256 | X103978571Y-78935714D01* 257 | X104050000Y-78935714D01* 258 | X104078571Y-78921428D01* 259 | X104092857Y-78907142D01* 260 | X104107142Y-78878571D01* 261 | X104107142Y-78850000D01* 262 | X104092857Y-78821428D01* 263 | X104078571Y-78807142D01* 264 | X104050000Y-78792857D01* 265 | X103992857Y-78778571D01* 266 | X103964285Y-78764285D01* 267 | X103950000Y-78750000D01* 268 | X103935714Y-78721428D01* 269 | X103935714Y-78692857D01* 270 | X103950000Y-78664285D01* 271 | X103964285Y-78650000D01* 272 | X103992857Y-78635714D01* 273 | X104064285Y-78635714D01* 274 | X104107142Y-78650000D01* 275 | X104235714Y-78935714D02* 276 | X104235714Y-78635714D01* 277 | X104307142Y-78635714D01* 278 | X104350000Y-78650000D01* 279 | X104378571Y-78678571D01* 280 | X104392857Y-78707142D01* 281 | X104407142Y-78764285D01* 282 | X104407142Y-78807142D01* 283 | X104392857Y-78864285D01* 284 | X104378571Y-78892857D01* 285 | X104350000Y-78921428D01* 286 | X104307142Y-78935714D01* 287 | X104235714Y-78935714D01* 288 | X104521428Y-78850000D02* 289 | X104664285Y-78850000D01* 290 | X104492857Y-78935714D02* 291 | X104592857Y-78635714D01* 292 | X104692857Y-78935714D01* 293 | X102742857Y-78921428D02* 294 | X102785714Y-78935714D01* 295 | X102857142Y-78935714D01* 296 | X102885714Y-78921428D01* 297 | X102900000Y-78907142D01* 298 | X102914285Y-78878571D01* 299 | X102914285Y-78850000D01* 300 | X102900000Y-78821428D01* 301 | X102885714Y-78807142D01* 302 | X102857142Y-78792857D01* 303 | X102800000Y-78778571D01* 304 | X102771428Y-78764285D01* 305 | X102757142Y-78750000D01* 306 | X102742857Y-78721428D01* 307 | X102742857Y-78692857D01* 308 | X102757142Y-78664285D01* 309 | X102771428Y-78650000D01* 310 | X102800000Y-78635714D01* 311 | X102871428Y-78635714D01* 312 | X102914285Y-78650000D01* 313 | X103214285Y-78907142D02* 314 | X103200000Y-78921428D01* 315 | X103157142Y-78935714D01* 316 | X103128571Y-78935714D01* 317 | X103085714Y-78921428D01* 318 | X103057142Y-78892857D01* 319 | X103042857Y-78864285D01* 320 | X103028571Y-78807142D01* 321 | X103028571Y-78764285D01* 322 | X103042857Y-78707142D01* 323 | X103057142Y-78678571D01* 324 | X103085714Y-78650000D01* 325 | X103128571Y-78635714D01* 326 | X103157142Y-78635714D01* 327 | X103200000Y-78650000D01* 328 | X103214285Y-78664285D01* 329 | X103485714Y-78935714D02* 330 | X103342857Y-78935714D01* 331 | X103342857Y-78635714D01* 332 | D15* 333 | X103178571Y-79250000D02* 334 | X103150000Y-79235714D01* 335 | X103107142Y-79235714D01* 336 | X103064285Y-79250000D01* 337 | X103035714Y-79278571D01* 338 | X103021428Y-79307142D01* 339 | X103007142Y-79364285D01* 340 | X103007142Y-79407142D01* 341 | X103021428Y-79464285D01* 342 | X103035714Y-79492857D01* 343 | X103064285Y-79521428D01* 344 | X103107142Y-79535714D01* 345 | X103135714Y-79535714D01* 346 | X103178571Y-79521428D01* 347 | X103192857Y-79507142D01* 348 | X103192857Y-79407142D01* 349 | X103135714Y-79407142D01* 350 | D12* 351 | X128000000Y-77900000D02* 352 | X129400000Y-77900000D01* 353 | X128700000Y-77300000D02* 354 | X128700000Y-78600000D01* 355 | D14* 356 | X128892857Y-77578571D02* 357 | X128992857Y-77578571D01* 358 | X129035714Y-77735714D02* 359 | X128892857Y-77735714D01* 360 | X128892857Y-77435714D01* 361 | X129035714Y-77435714D01* 362 | X129150000Y-77464285D02* 363 | X129164285Y-77450000D01* 364 | X129192857Y-77435714D01* 365 | X129264285Y-77435714D01* 366 | X129292857Y-77450000D01* 367 | X129307142Y-77464285D01* 368 | X129321428Y-77492857D01* 369 | X129321428Y-77521428D01* 370 | X129307142Y-77564285D01* 371 | X129135714Y-77735714D01* 372 | X129321428Y-77735714D01* 373 | X128092857Y-77578571D02* 374 | X128192857Y-77578571D01* 375 | X128235714Y-77735714D02* 376 | X128092857Y-77735714D01* 377 | X128092857Y-77435714D01* 378 | X128235714Y-77435714D01* 379 | X128521428Y-77735714D02* 380 | X128350000Y-77735714D01* 381 | X128435714Y-77735714D02* 382 | X128435714Y-77435714D01* 383 | X128407142Y-77478571D01* 384 | X128378571Y-77507142D01* 385 | X128350000Y-77521428D01* 386 | X129000000Y-78035714D02* 387 | X129100000Y-78335714D01* 388 | X129200000Y-78035714D01* 389 | D15* 390 | X128378571Y-78050000D02* 391 | X128350000Y-78035714D01* 392 | X128307142Y-78035714D01* 393 | X128264285Y-78050000D01* 394 | X128235714Y-78078571D01* 395 | X128221428Y-78107142D01* 396 | X128207142Y-78164285D01* 397 | X128207142Y-78207142D01* 398 | X128221428Y-78264285D01* 399 | X128235714Y-78292857D01* 400 | X128264285Y-78321428D01* 401 | X128307142Y-78335714D01* 402 | X128335714Y-78335714D01* 403 | X128378571Y-78321428D01* 404 | X128392857Y-78307142D01* 405 | X128392857Y-78207142D01* 406 | X128335714Y-78207142D01* 407 | D13* 408 | X128902380Y-81866666D02* 409 | X128926190Y-81914285D01* 410 | X128926190Y-82009523D01* 411 | X128902380Y-82057142D01* 412 | X128854761Y-82080952D01* 413 | X128664285Y-82080952D01* 414 | X128616666Y-82057142D01* 415 | X128592857Y-82009523D01* 416 | X128592857Y-81914285D01* 417 | X128616666Y-81866666D01* 418 | X128664285Y-81842857D01* 419 | X128711904Y-81842857D01* 420 | X128759523Y-82080952D01* 421 | X128592857Y-81628571D02* 422 | X128926190Y-81628571D01* 423 | X128640476Y-81628571D02* 424 | X128616666Y-81604761D01* 425 | X128592857Y-81557142D01* 426 | X128592857Y-81485714D01* 427 | X128616666Y-81438095D01* 428 | X128664285Y-81414285D01* 429 | X128926190Y-81414285D01* 430 | X128902380Y-80961904D02* 431 | X128926190Y-81009523D01* 432 | X128926190Y-81104761D01* 433 | X128902380Y-81152380D01* 434 | X128878571Y-81176190D01* 435 | X128830952Y-81200000D01* 436 | X128688095Y-81200000D01* 437 | X128640476Y-81176190D01* 438 | X128616666Y-81152380D01* 439 | X128592857Y-81104761D01* 440 | X128592857Y-81009523D01* 441 | X128616666Y-80961904D01* 442 | X128926190Y-80676190D02* 443 | X128902380Y-80723809D01* 444 | X128878571Y-80747619D01* 445 | X128830952Y-80771428D01* 446 | X128688095Y-80771428D01* 447 | X128640476Y-80747619D01* 448 | X128616666Y-80723809D01* 449 | X128592857Y-80676190D01* 450 | X128592857Y-80604761D01* 451 | X128616666Y-80557142D01* 452 | X128640476Y-80533333D01* 453 | X128688095Y-80509523D01* 454 | X128830952Y-80509523D01* 455 | X128878571Y-80533333D01* 456 | X128902380Y-80557142D01* 457 | X128926190Y-80604761D01* 458 | X128926190Y-80676190D01* 459 | X128926190Y-80080952D02* 460 | X128426190Y-80080952D01* 461 | X128902380Y-80080952D02* 462 | X128926190Y-80128571D01* 463 | X128926190Y-80223809D01* 464 | X128902380Y-80271428D01* 465 | X128878571Y-80295238D01* 466 | X128830952Y-80319047D01* 467 | X128688095Y-80319047D01* 468 | X128640476Y-80295238D01* 469 | X128616666Y-80271428D01* 470 | X128592857Y-80223809D01* 471 | X128592857Y-80128571D01* 472 | X128616666Y-80080952D01* 473 | X128902380Y-79652380D02* 474 | X128926190Y-79700000D01* 475 | X128926190Y-79795238D01* 476 | X128902380Y-79842857D01* 477 | X128854761Y-79866666D01* 478 | X128664285Y-79866666D01* 479 | X128616666Y-79842857D01* 480 | X128592857Y-79795238D01* 481 | X128592857Y-79700000D01* 482 | X128616666Y-79652380D01* 483 | X128664285Y-79628571D01* 484 | X128711904Y-79628571D01* 485 | X128759523Y-79866666D01* 486 | X128926190Y-79414285D02* 487 | X128592857Y-79414285D01* 488 | X128688095Y-79414285D02* 489 | X128640476Y-79390476D01* 490 | X128616666Y-79366666D01* 491 | X128592857Y-79319047D01* 492 | X128592857Y-79271428D01* 493 | D11* 494 | X130325014Y-79628571D02* 495 | X130461919Y-79676190D01* 496 | X130503586Y-79723809D01* 497 | X130539300Y-79819047D01* 498 | X130521443Y-79961904D01* 499 | X130461919Y-80057142D01* 500 | X130408348Y-80104761D01* 501 | X130307157Y-80152380D01* 502 | X129926205Y-80152380D01* 503 | X130051205Y-79152380D01* 504 | X130384538Y-79152380D01* 505 | X130473824Y-79200000D01* 506 | X130515491Y-79247619D01* 507 | X130551205Y-79342857D01* 508 | X130539300Y-79438095D01* 509 | X130479776Y-79533333D01* 510 | X130426205Y-79580952D01* 511 | X130325014Y-79628571D01* 512 | X129991681Y-79628571D01* 513 | X130991681Y-79628571D02* 514 | X131325014Y-79628571D01* 515 | X131402395Y-80152380D02* 516 | X130926205Y-80152380D01* 517 | X131051205Y-79152380D01* 518 | X131527395Y-79152380D01* 519 | X131813110Y-79152380D02* 520 | X132384538Y-79152380D01* 521 | X131973824Y-80152380D02* 522 | X132098824Y-79152380D01* 523 | X132580967Y-79866666D02* 524 | X133057157Y-79866666D01* 525 | X132450014Y-80152380D02* 526 | X132908348Y-79152380D01* 527 | X133116681Y-80152380D01* 528 | X130088095Y-77611904D02* 529 | X130088095Y-76811904D01* 530 | X130354761Y-77383333D01* 531 | X130621428Y-76811904D01* 532 | X130621428Y-77611904D01* 533 | X131002380Y-77535714D02* 534 | X131040476Y-77573809D01* 535 | X131002380Y-77611904D01* 536 | X130964285Y-77573809D01* 537 | X131002380Y-77535714D01* 538 | X131002380Y-77611904D01* 539 | X131345238Y-77383333D02* 540 | X131726190Y-77383333D01* 541 | X131269047Y-77611904D02* 542 | X131535714Y-76811904D01* 543 | X131802380Y-77611904D01* 544 | X132030952Y-77573809D02* 545 | X132107142Y-77611904D01* 546 | X132259523Y-77611904D01* 547 | X132335714Y-77573809D01* 548 | X132373809Y-77497619D01* 549 | X132373809Y-77459523D01* 550 | X132335714Y-77383333D01* 551 | X132259523Y-77345238D01* 552 | X132145238Y-77345238D01* 553 | X132069047Y-77307142D01* 554 | X132030952Y-77230952D01* 555 | X132030952Y-77192857D01* 556 | X132069047Y-77116666D01* 557 | X132145238Y-77078571D01* 558 | X132259523Y-77078571D01* 559 | X132335714Y-77116666D01* 560 | X132716666Y-77611904D02* 561 | X132716666Y-76811904D01* 562 | X133059523Y-77611904D02* 563 | X133059523Y-77192857D01* 564 | X133021428Y-77116666D01* 565 | X132945238Y-77078571D01* 566 | X132830952Y-77078571D01* 567 | X132754761Y-77116666D01* 568 | X132716666Y-77154761D01* 569 | X133440476Y-77611904D02* 570 | X133440476Y-77078571D01* 571 | X133440476Y-77230952D02* 572 | X133478571Y-77154761D01* 573 | X133516666Y-77116666D01* 574 | X133592857Y-77078571D01* 575 | X133669047Y-77078571D01* 576 | X133821428Y-77078571D02* 577 | X134126190Y-77078571D01* 578 | X133935714Y-77611904D02* 579 | X133935714Y-76926190D01* 580 | X133973809Y-76850000D01* 581 | X134050000Y-76811904D01* 582 | X134126190Y-76811904D01* 583 | D16* 584 | X154885714Y-83871428D02* 585 | X154600000Y-83871428D01* 586 | X154571428Y-84157142D01* 587 | X154600000Y-84128571D01* 588 | X154657142Y-84100000D01* 589 | X154800000Y-84100000D01* 590 | X154857142Y-84128571D01* 591 | X154885714Y-84157142D01* 592 | X154914285Y-84214285D01* 593 | X154914285Y-84357142D01* 594 | X154885714Y-84414285D01* 595 | X154857142Y-84442857D01* 596 | X154800000Y-84471428D01* 597 | X154657142Y-84471428D01* 598 | X154600000Y-84442857D01* 599 | X154571428Y-84414285D01* 600 | X155457142Y-83871428D02* 601 | X155171428Y-83871428D01* 602 | X155142857Y-84157142D01* 603 | X155171428Y-84128571D01* 604 | X155228571Y-84100000D01* 605 | X155371428Y-84100000D01* 606 | X155428571Y-84128571D01* 607 | X155457142Y-84157142D01* 608 | X155485714Y-84214285D01* 609 | X155485714Y-84357142D01* 610 | X155457142Y-84414285D01* 611 | X155428571Y-84442857D01* 612 | X155371428Y-84471428D01* 613 | X155228571Y-84471428D01* 614 | X155171428Y-84442857D01* 615 | X155142857Y-84414285D01* 616 | X155657142Y-83871428D02* 617 | X155857142Y-84471428D01* 618 | X156057142Y-83871428D01* 619 | X156714285Y-84471428D02* 620 | X156714285Y-83871428D01* 621 | X156914285Y-84300000D01* 622 | X157114285Y-83871428D01* 623 | X157114285Y-84471428D01* 624 | X157371428Y-84300000D02* 625 | X157657142Y-84300000D01* 626 | X157314285Y-84471428D02* 627 | X157514285Y-83871428D01* 628 | X157714285Y-84471428D01* 629 | X157857142Y-83871428D02* 630 | X158257142Y-84471428D01* 631 | X158257142Y-83871428D02* 632 | X157857142Y-84471428D01* 633 | D11* 634 | X158019047Y-56114285D02* 635 | X157923809Y-56209523D01* 636 | X157638095Y-56304761D01* 637 | X157447619Y-56304761D01* 638 | X157161904Y-56209523D01* 639 | X156971428Y-56019047D01* 640 | X156876190Y-55828571D01* 641 | X156780952Y-55447619D01* 642 | X156780952Y-55161904D01* 643 | X156876190Y-54780952D01* 644 | X156971428Y-54590476D01* 645 | X157161904Y-54400000D01* 646 | X157447619Y-54304761D01* 647 | X157638095Y-54304761D01* 648 | X157923809Y-54400000D01* 649 | X158019047Y-54495238D01* 650 | X156923809Y-80133333D02* 651 | X157876190Y-80133333D01* 652 | X156733333Y-80704761D02* 653 | X157400000Y-78704761D01* 654 | X158066666Y-80704761D01* 655 | X157542857Y-67057142D02* 656 | X157828571Y-67152380D01* 657 | X157923809Y-67247619D01* 658 | X158019047Y-67438095D01* 659 | X158019047Y-67723809D01* 660 | X157923809Y-67914285D01* 661 | X157828571Y-68009523D01* 662 | X157638095Y-68104761D01* 663 | X156876190Y-68104761D01* 664 | X156876190Y-66104761D01* 665 | X157542857Y-66104761D01* 666 | X157733333Y-66200000D01* 667 | X157828571Y-66295238D01* 668 | X157923809Y-66485714D01* 669 | X157923809Y-66676190D01* 670 | X157828571Y-66866666D01* 671 | X157733333Y-66961904D01* 672 | X157542857Y-67057142D01* 673 | X156876190Y-67057142D01* 674 | D12* 675 | %TO.C,Q6*% 676 | X154435000Y-49410000D02* 677 | X148315000Y-49410000D01* 678 | X154435000Y-44040000D02* 679 | X148315000Y-44040000D01* 680 | X148315000Y-49060000D02* 681 | X148315000Y-49410000D01* 682 | X154435000Y-49110000D02* 683 | X154435000Y-49410000D01* 684 | X154435000Y-44340000D02* 685 | X154435000Y-44040000D01* 686 | %TO.C,Q5*% 687 | X154535000Y-68085000D02* 688 | X148415000Y-68085000D01* 689 | X154535000Y-62715000D02* 690 | X148415000Y-62715000D01* 691 | X148415000Y-67735000D02* 692 | X148415000Y-68085000D01* 693 | X154535000Y-67785000D02* 694 | X154535000Y-68085000D01* 695 | X154535000Y-63015000D02* 696 | X154535000Y-62715000D01* 697 | %TO.C,Q4*% 698 | X154510000Y-75035000D02* 699 | X148390000Y-75035000D01* 700 | X154510000Y-69665000D02* 701 | X148390000Y-69665000D01* 702 | X148390000Y-74685000D02* 703 | X148390000Y-75035000D01* 704 | X154510000Y-74735000D02* 705 | X154510000Y-75035000D01* 706 | X154510000Y-69965000D02* 707 | X154510000Y-69665000D01* 708 | %TO.C,Q3*% 709 | X148340000Y-50390000D02* 710 | X154460000Y-50390000D01* 711 | X148340000Y-55760000D02* 712 | X154460000Y-55760000D01* 713 | X154460000Y-50740000D02* 714 | X154460000Y-50390000D01* 715 | X148340000Y-50690000D02* 716 | X148340000Y-50390000D01* 717 | X148340000Y-55460000D02* 718 | X148340000Y-55760000D01* 719 | %TO.C,Q2*% 720 | X148415000Y-56740000D02* 721 | X154535000Y-56740000D01* 722 | X148415000Y-62110000D02* 723 | X154535000Y-62110000D01* 724 | X154535000Y-57090000D02* 725 | X154535000Y-56740000D01* 726 | X148415000Y-57040000D02* 727 | X148415000Y-56740000D01* 728 | X148415000Y-61810000D02* 729 | X148415000Y-62110000D01* 730 | %TO.C,Q1*% 731 | X148340000Y-76115000D02* 732 | X154460000Y-76115000D01* 733 | X148340000Y-81485000D02* 734 | X154460000Y-81485000D01* 735 | X154460000Y-76465000D02* 736 | X154460000Y-76115000D01* 737 | X148340000Y-76415000D02* 738 | X148340000Y-76115000D01* 739 | X148340000Y-81185000D02* 740 | X148340000Y-81485000D01* 741 | %TO.C,J6*% 742 | X82560000Y-68130000D02* 743 | X82560000Y-62930000D01* 744 | X82560000Y-62930000D02* 745 | X79900000Y-62930000D01* 746 | X79900000Y-62930000D02* 747 | X79900000Y-68130000D01* 748 | X79900000Y-68130000D02* 749 | X82560000Y-68130000D01* 750 | X79900000Y-67180000D02* 751 | X73900000Y-67180000D01* 752 | X73900000Y-67180000D02* 753 | X73900000Y-66420000D01* 754 | X73900000Y-66420000D02* 755 | X79900000Y-66420000D01* 756 | X79900000Y-67120000D02* 757 | X73900000Y-67120000D01* 758 | X79900000Y-67000000D02* 759 | X73900000Y-67000000D01* 760 | X79900000Y-66880000D02* 761 | X73900000Y-66880000D01* 762 | X79900000Y-66760000D02* 763 | X73900000Y-66760000D01* 764 | X79900000Y-66640000D02* 765 | X73900000Y-66640000D01* 766 | X79900000Y-66520000D02* 767 | X73900000Y-66520000D01* 768 | X82890000Y-67180000D02* 769 | X82560000Y-67180000D01* 770 | X82890000Y-66420000D02* 771 | X82560000Y-66420000D01* 772 | X82560000Y-65530000D02* 773 | X79900000Y-65530000D01* 774 | X79900000Y-64640000D02* 775 | X73900000Y-64640000D01* 776 | X73900000Y-64640000D02* 777 | X73900000Y-63880000D01* 778 | X73900000Y-63880000D02* 779 | X79900000Y-63880000D01* 780 | X82957071Y-64640000D02* 781 | X82560000Y-64640000D01* 782 | X82957071Y-63880000D02* 783 | X82560000Y-63880000D01* 784 | X85270000Y-66800000D02* 785 | X85270000Y-68070000D01* 786 | X85270000Y-68070000D02* 787 | X84000000Y-68070000D01* 788 | %TO.C,J2*% 789 | X82560000Y-74430000D02* 790 | X82560000Y-69230000D01* 791 | X82560000Y-69230000D02* 792 | X79900000Y-69230000D01* 793 | X79900000Y-69230000D02* 794 | X79900000Y-74430000D01* 795 | X79900000Y-74430000D02* 796 | X82560000Y-74430000D01* 797 | X79900000Y-73480000D02* 798 | X73900000Y-73480000D01* 799 | X73900000Y-73480000D02* 800 | X73900000Y-72720000D01* 801 | X73900000Y-72720000D02* 802 | X79900000Y-72720000D01* 803 | X79900000Y-73420000D02* 804 | X73900000Y-73420000D01* 805 | X79900000Y-73300000D02* 806 | X73900000Y-73300000D01* 807 | X79900000Y-73180000D02* 808 | X73900000Y-73180000D01* 809 | X79900000Y-73060000D02* 810 | X73900000Y-73060000D01* 811 | X79900000Y-72940000D02* 812 | X73900000Y-72940000D01* 813 | X79900000Y-72820000D02* 814 | X73900000Y-72820000D01* 815 | X82890000Y-73480000D02* 816 | X82560000Y-73480000D01* 817 | X82890000Y-72720000D02* 818 | X82560000Y-72720000D01* 819 | X82560000Y-71830000D02* 820 | X79900000Y-71830000D01* 821 | X79900000Y-70940000D02* 822 | X73900000Y-70940000D01* 823 | X73900000Y-70940000D02* 824 | X73900000Y-70180000D01* 825 | X73900000Y-70180000D02* 826 | X79900000Y-70180000D01* 827 | X82957071Y-70940000D02* 828 | X82560000Y-70940000D01* 829 | X82957071Y-70180000D02* 830 | X82560000Y-70180000D01* 831 | X85270000Y-73100000D02* 832 | X85270000Y-74370000D01* 833 | X85270000Y-74370000D02* 834 | X84000000Y-74370000D01* 835 | %TO.C,J5*% 836 | X82660000Y-76770000D02* 837 | X82660000Y-81970000D01* 838 | X92880000Y-76770000D02* 839 | X82660000Y-76770000D01* 840 | X95480000Y-81970000D02* 841 | X82660000Y-81970000D01* 842 | X92880000Y-76770000D02* 843 | X92880000Y-79370000D01* 844 | X92880000Y-79370000D02* 845 | X95480000Y-79370000D01* 846 | X95480000Y-79370000D02* 847 | X95480000Y-81970000D01* 848 | X94150000Y-76770000D02* 849 | X95480000Y-76770000D01* 850 | X95480000Y-76770000D02* 851 | X95480000Y-78100000D01* 852 | %TO.C,J3*% 853 | X101930000Y-82180000D02* 854 | X96730000Y-82180000D01* 855 | X96730000Y-82180000D02* 856 | X96730000Y-84840000D01* 857 | X96730000Y-84840000D02* 858 | X101930000Y-84840000D01* 859 | X101930000Y-84840000D02* 860 | X101930000Y-82180000D01* 861 | X100980000Y-84840000D02* 862 | X100980000Y-90840000D01* 863 | X100980000Y-90840000D02* 864 | X100220000Y-90840000D01* 865 | X100220000Y-90840000D02* 866 | X100220000Y-84840000D01* 867 | X100920000Y-84840000D02* 868 | X100920000Y-90840000D01* 869 | X100800000Y-84840000D02* 870 | X100800000Y-90840000D01* 871 | X100680000Y-84840000D02* 872 | X100680000Y-90840000D01* 873 | X100560000Y-84840000D02* 874 | X100560000Y-90840000D01* 875 | X100440000Y-84840000D02* 876 | X100440000Y-90840000D01* 877 | X100320000Y-84840000D02* 878 | X100320000Y-90840000D01* 879 | X100980000Y-81782929D02* 880 | X100980000Y-82180000D01* 881 | X100220000Y-81782929D02* 882 | X100220000Y-82180000D01* 883 | X100980000Y-79310000D02* 884 | X100980000Y-79697071D01* 885 | X100220000Y-79310000D02* 886 | X100220000Y-79697071D01* 887 | X99330000Y-82180000D02* 888 | X99330000Y-84840000D01* 889 | X98440000Y-84840000D02* 890 | X98440000Y-90840000D01* 891 | X98440000Y-90840000D02* 892 | X97680000Y-90840000D01* 893 | X97680000Y-90840000D02* 894 | X97680000Y-84840000D01* 895 | X98440000Y-81782929D02* 896 | X98440000Y-82180000D01* 897 | X97680000Y-81782929D02* 898 | X97680000Y-82180000D01* 899 | X98440000Y-79242929D02* 900 | X98440000Y-79697071D01* 901 | X97680000Y-79242929D02* 902 | X97680000Y-79697071D01* 903 | X100600000Y-76930000D02* 904 | X101870000Y-76930000D01* 905 | X101870000Y-76930000D02* 906 | X101870000Y-78200000D01* 907 | %TO.C,J1*% 908 | X127280000Y-82240000D02* 909 | X122080000Y-82240000D01* 910 | X122080000Y-82240000D02* 911 | X122080000Y-84900000D01* 912 | X122080000Y-84900000D02* 913 | X127280000Y-84900000D01* 914 | X127280000Y-84900000D02* 915 | X127280000Y-82240000D01* 916 | X126330000Y-84900000D02* 917 | X126330000Y-90900000D01* 918 | X126330000Y-90900000D02* 919 | X125570000Y-90900000D01* 920 | X125570000Y-90900000D02* 921 | X125570000Y-84900000D01* 922 | X126270000Y-84900000D02* 923 | X126270000Y-90900000D01* 924 | X126150000Y-84900000D02* 925 | X126150000Y-90900000D01* 926 | X126030000Y-84900000D02* 927 | X126030000Y-90900000D01* 928 | X125910000Y-84900000D02* 929 | X125910000Y-90900000D01* 930 | X125790000Y-84900000D02* 931 | X125790000Y-90900000D01* 932 | X125670000Y-84900000D02* 933 | X125670000Y-90900000D01* 934 | X126330000Y-81842929D02* 935 | X126330000Y-82240000D01* 936 | X125570000Y-81842929D02* 937 | X125570000Y-82240000D01* 938 | X126330000Y-79370000D02* 939 | X126330000Y-79757071D01* 940 | X125570000Y-79370000D02* 941 | X125570000Y-79757071D01* 942 | X124680000Y-82240000D02* 943 | X124680000Y-84900000D01* 944 | X123790000Y-84900000D02* 945 | X123790000Y-90900000D01* 946 | X123790000Y-90900000D02* 947 | X123030000Y-90900000D01* 948 | X123030000Y-90900000D02* 949 | X123030000Y-84900000D01* 950 | X123790000Y-81842929D02* 951 | X123790000Y-82240000D01* 952 | X123030000Y-81842929D02* 953 | X123030000Y-82240000D01* 954 | X123790000Y-79302929D02* 955 | X123790000Y-79757071D01* 956 | X123030000Y-79302929D02* 957 | X123030000Y-79757071D01* 958 | X125950000Y-76990000D02* 959 | X127220000Y-76990000D01* 960 | X127220000Y-76990000D02* 961 | X127220000Y-78260000D01* 962 | %TO.C,R9*% 963 | X134641422Y-71390000D02* 964 | X135158578Y-71390000D01* 965 | X134641422Y-72810000D02* 966 | X135158578Y-72810000D01* 967 | %TO.C,U2*% 968 | X126770000Y-64244216D02* 969 | X126770000Y-63769216D01* 970 | X126770000Y-63769216D02* 971 | X127245000Y-63769216D01* 972 | X132990000Y-69514216D02* 973 | X132990000Y-69989216D01* 974 | X132990000Y-69989216D02* 975 | X132515000Y-69989216D01* 976 | X132990000Y-64244216D02* 977 | X132990000Y-63769216D01* 978 | X132990000Y-63769216D02* 979 | X132515000Y-63769216D01* 980 | X126770000Y-69514216D02* 981 | X126770000Y-69989216D01* 982 | %TO.C,R17*% 983 | X125560000Y-60312779D02* 984 | X125560000Y-59987221D01* 985 | X124540000Y-60312779D02* 986 | X124540000Y-59987221D01* 987 | %TO.C,R16*% 988 | X127160000Y-60312779D02* 989 | X127160000Y-59987221D01* 990 | X126140000Y-60312779D02* 991 | X126140000Y-59987221D01* 992 | %TO.C,R15*% 993 | X128910000Y-60312779D02* 994 | X128910000Y-59987221D01* 995 | X127890000Y-60312779D02* 996 | X127890000Y-59987221D01* 997 | %TO.C,U4*% 998 | X118150000Y-45225000D02* 999 | X116650000Y-45225000D01* 1000 | X116650000Y-45225000D02* 1001 | X116650000Y-46175000D01* 1002 | X116650000Y-46175000D02* 1003 | X111525000Y-46175000D01* 1004 | X118150000Y-55625000D02* 1005 | X116650000Y-55625000D01* 1006 | X116650000Y-55625000D02* 1007 | X116650000Y-54675000D01* 1008 | X116650000Y-54675000D02* 1009 | X115550000Y-54675000D01* 1010 | %TO.C,U1*% 1011 | X88440000Y-66760000D02* 1012 | X89700000Y-66760000D01* 1013 | X95260000Y-66760000D02* 1014 | X94000000Y-66760000D01* 1015 | X88440000Y-63000000D02* 1016 | X88440000Y-66760000D01* 1017 | X95260000Y-60750000D02* 1018 | X95260000Y-66760000D01* 1019 | %TO.C,C16*% 1020 | X123604000Y-74186279D02* 1021 | X123604000Y-73860721D01* 1022 | X124624000Y-74186279D02* 1023 | X124624000Y-73860721D01* 1024 | %TO.C,R5*% 1025 | X102160000Y-69900279D02* 1026 | X102160000Y-69574721D01* 1027 | X101140000Y-69900279D02* 1028 | X101140000Y-69574721D01* 1029 | %TO.C,L1*% 1030 | X94100000Y-47850000D02* 1031 | X94100000Y-44850000D01* 1032 | X94100000Y-44850000D02* 1033 | X106700000Y-44850000D01* 1034 | X106700000Y-44850000D02* 1035 | X106700000Y-47850000D01* 1036 | X106700000Y-54450000D02* 1037 | X106700000Y-57450000D01* 1038 | X106700000Y-57450000D02* 1039 | X94100000Y-57450000D01* 1040 | X94100000Y-57450000D02* 1041 | X94100000Y-54450000D01* 1042 | %TO.C,D1*% 1043 | X111360000Y-56350000D02* 1044 | X111360000Y-60650000D01* 1045 | X111360000Y-60650000D02* 1046 | X117060000Y-60650000D01* 1047 | X111360000Y-56350000D02* 1048 | X117060000Y-56350000D01* 1049 | %TO.C,C14*% 1050 | X82490000Y-57560000D02* 1051 | X86240000Y-57560000D01* 1052 | X93010000Y-57560000D02* 1053 | X89260000Y-57560000D01* 1054 | X93010000Y-48104437D02* 1055 | X93010000Y-57560000D01* 1056 | X82490000Y-48104437D02* 1057 | X82490000Y-57560000D01* 1058 | X83554437Y-47040000D02* 1059 | X86240000Y-47040000D01* 1060 | X91945563Y-47040000D02* 1061 | X89260000Y-47040000D01* 1062 | X91945563Y-47040000D02* 1063 | X93010000Y-48104437D01* 1064 | X83554437Y-47040000D02* 1065 | X82490000Y-48104437D01* 1066 | X90510000Y-45550000D02* 1067 | X90510000Y-46800000D01* 1068 | X91135000Y-46175000D02* 1069 | X89885000Y-46175000D01* 1070 | %TO.C,C13*% 1071 | X129240000Y-55560000D02* 1072 | X132990000Y-55560000D01* 1073 | X139760000Y-55560000D02* 1074 | X136010000Y-55560000D01* 1075 | X139760000Y-46104437D02* 1076 | X139760000Y-55560000D01* 1077 | X129240000Y-46104437D02* 1078 | X129240000Y-55560000D01* 1079 | X130304437Y-45040000D02* 1080 | X132990000Y-45040000D01* 1081 | X138695563Y-45040000D02* 1082 | X136010000Y-45040000D01* 1083 | X138695563Y-45040000D02* 1084 | X139760000Y-46104437D01* 1085 | X130304437Y-45040000D02* 1086 | X129240000Y-46104437D01* 1087 | X137260000Y-43550000D02* 1088 | X137260000Y-44800000D01* 1089 | X137885000Y-44175000D02* 1090 | X136635000Y-44175000D01* 1091 | %TO.C,U3*% 1092 | X114310000Y-75110000D02* 1093 | X115260000Y-75110000D01* 1094 | X115260000Y-75110000D02* 1095 | X115260000Y-74160000D01* 1096 | X105990000Y-75110000D02* 1097 | X105040000Y-75110000D01* 1098 | X105040000Y-75110000D02* 1099 | X105040000Y-74160000D01* 1100 | X114310000Y-64890000D02* 1101 | X115260000Y-64890000D01* 1102 | X115260000Y-64890000D02* 1103 | X115260000Y-65840000D01* 1104 | X105990000Y-64890000D02* 1105 | X105040000Y-64890000D01* 1106 | X105040000Y-64890000D02* 1107 | X105040000Y-65840000D01* 1108 | X105040000Y-65840000D02* 1109 | X103700000Y-65840000D01* 1110 | %TO.C,R3*% 1111 | X112216000Y-78735422D02* 1112 | X112216000Y-79252578D01* 1113 | X110796000Y-78735422D02* 1114 | X110796000Y-79252578D01* 1115 | %TO.C,R2*% 1116 | X99572578Y-63702000D02* 1117 | X99055422Y-63702000D01* 1118 | X99572578Y-62282000D02* 1119 | X99055422Y-62282000D01* 1120 | %TO.C,R1*% 1121 | X91352779Y-73260000D02* 1122 | X91027221Y-73260000D01* 1123 | X91352779Y-72240000D02* 1124 | X91027221Y-72240000D01* 1125 | %TO.C,HSE1*% 1126 | X100650000Y-65850000D02* 1127 | X97350000Y-65850000D01* 1128 | X97350000Y-65850000D02* 1129 | X97350000Y-69850000D01* 1130 | %TO.C,D2*% 1131 | X92815000Y-70700000D02* 1132 | X92815000Y-72985000D01* 1133 | X92815000Y-72985000D02* 1134 | X94285000Y-72985000D01* 1135 | X94285000Y-72985000D02* 1136 | X94285000Y-70700000D01* 1137 | %TO.C,C19*% 1138 | X113910000Y-78637221D02* 1139 | X113910000Y-78962779D01* 1140 | X112890000Y-78637221D02* 1141 | X112890000Y-78962779D01* 1142 | %TO.C,C3*% 1143 | X118060000Y-76687221D02* 1144 | X118060000Y-77012779D01* 1145 | X117040000Y-76687221D02* 1146 | X117040000Y-77012779D01* 1147 | %TO.C,C2*% 1148 | X91258578Y-71560000D02* 1149 | X90741422Y-71560000D01* 1150 | X91258578Y-70140000D02* 1151 | X90741422Y-70140000D01* 1152 | %TO.C,C1*% 1153 | X87810000Y-62491422D02* 1154 | X87810000Y-63008578D01* 1155 | X86390000Y-62491422D02* 1156 | X86390000Y-63008578D01* 1157 | %TO.C,R14*% 1158 | X145910000Y-45747936D02* 1159 | X145910000Y-49852064D01* 1160 | X142490000Y-45747936D02* 1161 | X142490000Y-49852064D01* 1162 | %TO.C,R13*% 1163 | X142590000Y-65252064D02* 1164 | X142590000Y-61147936D01* 1165 | X146010000Y-65252064D02* 1166 | X146010000Y-61147936D01* 1167 | %TO.C,R11*% 1168 | X138191422Y-59190000D02* 1169 | X138708578Y-59190000D01* 1170 | X138191422Y-60610000D02* 1171 | X138708578Y-60610000D01* 1172 | %TO.C,R10*% 1173 | X138141422Y-66690000D02* 1174 | X138658578Y-66690000D01* 1175 | X138141422Y-68110000D02* 1176 | X138658578Y-68110000D01* 1177 | %TO.C,R8*% 1178 | X138141422Y-61790000D02* 1179 | X138658578Y-61790000D01* 1180 | X138141422Y-63210000D02* 1181 | X138658578Y-63210000D01* 1182 | %TO.C,R7*% 1183 | X138141422Y-64140000D02* 1184 | X138658578Y-64140000D01* 1185 | X138141422Y-65560000D02* 1186 | X138658578Y-65560000D01* 1187 | %TO.C,R4*% 1188 | X130560000Y-59987221D02* 1189 | X130560000Y-60312779D01* 1190 | X129540000Y-59987221D02* 1191 | X129540000Y-60312779D01* 1192 | %TO.C,R12*% 1193 | X145910000Y-72547936D02* 1194 | X145910000Y-76652064D01* 1195 | X142490000Y-72547936D02* 1196 | X142490000Y-76652064D01* 1197 | %TO.C,C18*% 1198 | X126162779Y-71810000D02* 1199 | X125837221Y-71810000D01* 1200 | X126162779Y-70790000D02* 1201 | X125837221Y-70790000D01* 1202 | %TO.C,C17*% 1203 | X128571279Y-73428000D02* 1204 | X128245721Y-73428000D01* 1205 | X128571279Y-72408000D02* 1206 | X128245721Y-72408000D01* 1207 | %TO.C,R6*% 1208 | X134641422Y-73590000D02* 1209 | X135158578Y-73590000D01* 1210 | X134641422Y-75010000D02* 1211 | X135158578Y-75010000D01* 1212 | %TO.C,C15*% 1213 | X125382000Y-74171279D02* 1214 | X125382000Y-73845721D01* 1215 | X126402000Y-74171279D02* 1216 | X126402000Y-73845721D01* 1217 | %TO.C,J6*% 1218 | D11* 1219 | X79281666Y-68522380D02* 1220 | X79281666Y-69236666D01* 1221 | X79234047Y-69379523D01* 1222 | X79138809Y-69474761D01* 1223 | X78995952Y-69522380D01* 1224 | X78900714Y-69522380D01* 1225 | X80186428Y-68522380D02* 1226 | X79995952Y-68522380D01* 1227 | X79900714Y-68570000D01* 1228 | X79853095Y-68617619D01* 1229 | X79757857Y-68760476D01* 1230 | X79710238Y-68950952D01* 1231 | X79710238Y-69331904D01* 1232 | X79757857Y-69427142D01* 1233 | X79805476Y-69474761D01* 1234 | X79900714Y-69522380D01* 1235 | X80091190Y-69522380D01* 1236 | X80186428Y-69474761D01* 1237 | X80234047Y-69427142D01* 1238 | X80281666Y-69331904D01* 1239 | X80281666Y-69093809D01* 1240 | X80234047Y-68998571D01* 1241 | X80186428Y-68950952D01* 1242 | X80091190Y-68903333D01* 1243 | X79900714Y-68903333D01* 1244 | X79805476Y-68950952D01* 1245 | X79757857Y-68998571D01* 1246 | X79710238Y-69093809D01* 1247 | %TO.C,J2*% 1248 | X79281666Y-74822380D02* 1249 | X79281666Y-75536666D01* 1250 | X79234047Y-75679523D01* 1251 | X79138809Y-75774761D01* 1252 | X78995952Y-75822380D01* 1253 | X78900714Y-75822380D01* 1254 | X79710238Y-74917619D02* 1255 | X79757857Y-74870000D01* 1256 | X79853095Y-74822380D01* 1257 | X80091190Y-74822380D01* 1258 | X80186428Y-74870000D01* 1259 | X80234047Y-74917619D01* 1260 | X80281666Y-75012857D01* 1261 | X80281666Y-75108095D01* 1262 | X80234047Y-75250952D01* 1263 | X79662619Y-75822380D01* 1264 | X80281666Y-75822380D01* 1265 | %TD*% 1266 | M02* 1267 | --------------------------------------------------------------------------------