├── image ├── h_bridge.png ├── sch_1v65ref.png ├── diagram_BW6101.png ├── img_controller.jpg ├── HRTim_ADCTrigger1.jpg ├── h_bridge_as_boost.png ├── h_bridge_as_buck.png ├── img_cap_array_top.jpg ├── sch_current_sense.png ├── Report │ ├── 1694548742767.png │ └── 1694549124560.png ├── img_boost_ripple_5A.jpg ├── img_buck_ripple_5A.jpeg ├── img_cap_array_bottom.jpg ├── img_controller_shell.jpg ├── sch_cap_array_unit.png ├── sch_current_sense_RC.png ├── sch_iso_mos_driver.png ├── img_cap_array_bottom_2.jpg ├── img_buck_boost_ripple_5A.jpeg ├── pcb_rendering_cap_array_top.png ├── boost_asynchronous_synchronous.png ├── buck_asynchronous_synchronous.png ├── img_best_converting_effiency.jpg ├── img_controller_upper_board_SMT.jpg ├── pcb_rendering_cap_array_bottom.png ├── img_controller_lower_with_shell.jpg ├── scrshot_best_converting_effiency.png ├── img_controller_interboard_connection.jpg └── scrshot_current_sense_noise_before_RC.png ├── .gitignore ├── cap_controller_hardware ├── lower │ ├── production │ │ ├── gerber.zip │ │ ├── designators.csv │ │ ├── bom.csv │ │ ├── positions.csv │ │ └── netlist.ipc │ ├── bom.csv │ ├── charger_JYC_RM2023_V1.2_power.kicad_prl │ ├── charger_JYC_RM2023_V1.2_power.kicad_pro │ └── fp-info-cache └── upper │ ├── production │ ├── gerber.zip │ ├── bom.csv │ ├── designators.csv │ └── positions.csv │ ├── charger_JYC_RM2023_V1.2_control.kicad_prl │ ├── bom.csv │ ├── charger_JYC_RM2023_V1.2_control.ioc │ ├── charger_JYC_RM2023_V1.2_control.kicad_pro │ └── fp-info-cache ├── cap_array_hardware ├── capArray_JYC_RM2023_V0.2.kicad_prl └── capArray_JYC_RM2023_V0.2.kicad_pro ├── readme.md └── LICENSE /image/h_bridge.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hkustenterprize/RM2023-SuperCapacitor/HEAD/image/h_bridge.png -------------------------------------------------------------------------------- /image/sch_1v65ref.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hkustenterprize/RM2023-SuperCapacitor/HEAD/image/sch_1v65ref.png -------------------------------------------------------------------------------- /image/diagram_BW6101.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hkustenterprize/RM2023-SuperCapacitor/HEAD/image/diagram_BW6101.png -------------------------------------------------------------------------------- /image/img_controller.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hkustenterprize/RM2023-SuperCapacitor/HEAD/image/img_controller.jpg -------------------------------------------------------------------------------- /image/HRTim_ADCTrigger1.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hkustenterprize/RM2023-SuperCapacitor/HEAD/image/HRTim_ADCTrigger1.jpg -------------------------------------------------------------------------------- /image/h_bridge_as_boost.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hkustenterprize/RM2023-SuperCapacitor/HEAD/image/h_bridge_as_boost.png -------------------------------------------------------------------------------- /image/h_bridge_as_buck.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hkustenterprize/RM2023-SuperCapacitor/HEAD/image/h_bridge_as_buck.png -------------------------------------------------------------------------------- /image/img_cap_array_top.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hkustenterprize/RM2023-SuperCapacitor/HEAD/image/img_cap_array_top.jpg -------------------------------------------------------------------------------- /image/sch_current_sense.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hkustenterprize/RM2023-SuperCapacitor/HEAD/image/sch_current_sense.png -------------------------------------------------------------------------------- /image/Report/1694548742767.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hkustenterprize/RM2023-SuperCapacitor/HEAD/image/Report/1694548742767.png -------------------------------------------------------------------------------- /image/Report/1694549124560.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hkustenterprize/RM2023-SuperCapacitor/HEAD/image/Report/1694549124560.png -------------------------------------------------------------------------------- /image/img_boost_ripple_5A.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hkustenterprize/RM2023-SuperCapacitor/HEAD/image/img_boost_ripple_5A.jpg -------------------------------------------------------------------------------- /image/img_buck_ripple_5A.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hkustenterprize/RM2023-SuperCapacitor/HEAD/image/img_buck_ripple_5A.jpeg -------------------------------------------------------------------------------- /image/img_cap_array_bottom.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hkustenterprize/RM2023-SuperCapacitor/HEAD/image/img_cap_array_bottom.jpg -------------------------------------------------------------------------------- /image/img_controller_shell.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hkustenterprize/RM2023-SuperCapacitor/HEAD/image/img_controller_shell.jpg -------------------------------------------------------------------------------- /image/sch_cap_array_unit.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hkustenterprize/RM2023-SuperCapacitor/HEAD/image/sch_cap_array_unit.png -------------------------------------------------------------------------------- /image/sch_current_sense_RC.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hkustenterprize/RM2023-SuperCapacitor/HEAD/image/sch_current_sense_RC.png -------------------------------------------------------------------------------- /image/sch_iso_mos_driver.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hkustenterprize/RM2023-SuperCapacitor/HEAD/image/sch_iso_mos_driver.png -------------------------------------------------------------------------------- /image/img_cap_array_bottom_2.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hkustenterprize/RM2023-SuperCapacitor/HEAD/image/img_cap_array_bottom_2.jpg -------------------------------------------------------------------------------- /image/img_buck_boost_ripple_5A.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hkustenterprize/RM2023-SuperCapacitor/HEAD/image/img_buck_boost_ripple_5A.jpeg -------------------------------------------------------------------------------- /image/pcb_rendering_cap_array_top.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hkustenterprize/RM2023-SuperCapacitor/HEAD/image/pcb_rendering_cap_array_top.png -------------------------------------------------------------------------------- /image/boost_asynchronous_synchronous.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hkustenterprize/RM2023-SuperCapacitor/HEAD/image/boost_asynchronous_synchronous.png -------------------------------------------------------------------------------- /image/buck_asynchronous_synchronous.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hkustenterprize/RM2023-SuperCapacitor/HEAD/image/buck_asynchronous_synchronous.png -------------------------------------------------------------------------------- /image/img_best_converting_effiency.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hkustenterprize/RM2023-SuperCapacitor/HEAD/image/img_best_converting_effiency.jpg -------------------------------------------------------------------------------- /image/img_controller_upper_board_SMT.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hkustenterprize/RM2023-SuperCapacitor/HEAD/image/img_controller_upper_board_SMT.jpg -------------------------------------------------------------------------------- /image/pcb_rendering_cap_array_bottom.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hkustenterprize/RM2023-SuperCapacitor/HEAD/image/pcb_rendering_cap_array_bottom.png -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | /cap_controller_hardware/upper/charger_JYC_RM2023_V1.2_control-backups 2 | /cap_controller_hardware/lower/charger_JYC_RM2023_V1.2_power-backups 3 | -------------------------------------------------------------------------------- /image/img_controller_lower_with_shell.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hkustenterprize/RM2023-SuperCapacitor/HEAD/image/img_controller_lower_with_shell.jpg -------------------------------------------------------------------------------- /image/scrshot_best_converting_effiency.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hkustenterprize/RM2023-SuperCapacitor/HEAD/image/scrshot_best_converting_effiency.png -------------------------------------------------------------------------------- /image/img_controller_interboard_connection.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hkustenterprize/RM2023-SuperCapacitor/HEAD/image/img_controller_interboard_connection.jpg -------------------------------------------------------------------------------- /image/scrshot_current_sense_noise_before_RC.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hkustenterprize/RM2023-SuperCapacitor/HEAD/image/scrshot_current_sense_noise_before_RC.png -------------------------------------------------------------------------------- /cap_controller_hardware/lower/production/gerber.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hkustenterprize/RM2023-SuperCapacitor/HEAD/cap_controller_hardware/lower/production/gerber.zip -------------------------------------------------------------------------------- /cap_controller_hardware/upper/production/gerber.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hkustenterprize/RM2023-SuperCapacitor/HEAD/cap_controller_hardware/upper/production/gerber.zip -------------------------------------------------------------------------------- /cap_controller_hardware/lower/production/designators.csv: -------------------------------------------------------------------------------- 1 | C1:1 2 | C10:1 3 | C11:1 4 | C12:1 5 | C13:1 6 | C14:1 7 | C15:1 8 | C16:1 9 | C2:1 10 | C3:1 11 | C4:1 12 | C7:1 13 | C8:1 14 | C9:1 15 | D1:1 16 | D2:1 17 | D3:1 18 | D4:1 19 | D5:1 20 | D6:1 21 | F1:1 22 | F2:1 23 | H1:1 24 | H10:1 25 | H2:1 26 | H3:1 27 | H4:1 28 | H9:1 29 | J3:1 30 | J4:1 31 | J5:1 32 | J6:1 33 | J7:1 34 | J8:1 35 | J9:1 36 | Q1:1 37 | Q2:1 38 | Q3:1 39 | Q4:1 40 | Q5:1 41 | Q6:1 42 | Q7:1 43 | Q8:1 44 | R1:1 45 | R2:1 46 | R3:1 47 | R4:1 48 | R5:1 49 | R6:1 50 | R7:1 51 | TH1:1 52 | U1:1 53 | kibuzzard-63825869:1 54 | -------------------------------------------------------------------------------- /cap_controller_hardware/lower/bom.csv: -------------------------------------------------------------------------------- 1 | Designator,Footprint,Quantity,Value,LCSC Part # 2 | "C1, C2, C3, C7, C8, C9",CP_Elec_10x14.3,6,220uF, 3 | "C10, C11, C12, C13, C14, C15, C16, C4",1210,8,10uF, 4 | "D1, D2, D3, D4",D_SMF,4,SMF10A, 5 | "D5, D6",D_SMC,2,SMCJ33A, 6 | "F1, F2",Fuseholder_Littelfuse_Nano2_157x,2,Fuse, 7 | "H1, H10, H2, H3, H4, H9",Pad_3,6,MountingHole_Pad, 8 | J3,PinHeader_2x03_P2.54mm_Vertical_SMD,1,Conn_02x03_Odd_Even, 9 | "J4, J5, J6, J7, J8, J9",PinHeader_2x02_P2.54mm_Vertical_SMD,6,Conn_02x02_Odd_Even, 10 | "Q1, Q2, Q3, Q4, Q5, Q6, Q7, Q8",TDSON-8-1,8,BSC070N10NS3G, 11 | "R1, R2, R3",2512,3,4mR, 12 | "R4, R5, R6, R7",0603,4,10k, 13 | TH1,1206,1,Thermistor, 14 | U1,PQ2617BHA,1,10uH, 15 | -------------------------------------------------------------------------------- /cap_controller_hardware/lower/production/bom.csv: -------------------------------------------------------------------------------- 1 | Designator,Footprint,Quantity,Value,LCSC Part # 2 | "C1, C2, C3, C7, C8, C9",CP_Elec_10x14.3,6,220uF, 3 | "C10, C11, C12, C13, C14, C15, C16, C4",1210,8,10uF, 4 | "D1, D2, D3, D4",D_SMF,4,SMF10A, 5 | "D5, D6",D_SMC,2,SMCJ33A, 6 | "F1, F2",Fuseholder_Littelfuse_Nano2_157x,2,Fuse, 7 | "H1, H10, H2, H3, H4, H9",Pad_3,6,MountingHole_Pad, 8 | J3,PinHeader_2x03_P2.54mm_Vertical_SMD,1,Conn_02x03_Odd_Even, 9 | "J4, J5, J6, J7, J8, J9",PinHeader_2x02_P2.54mm_Vertical_SMD,6,Conn_02x02_Odd_Even, 10 | "Q1, Q2, Q3, Q4, Q5, Q6, Q7, Q8",TDSON-8-1,8,BSC070N10NS3G, 11 | "R1, R2, R3",2512,3,4mR, 12 | "R4, R5, R6, R7",0603,4,10k, 13 | TH1,1206,1,Thermistor, 14 | U1,PQ2617BHA,1,10uH, 15 | -------------------------------------------------------------------------------- /cap_array_hardware/capArray_JYC_RM2023_V0.2.kicad_prl: -------------------------------------------------------------------------------- 1 | { 2 | "board": { 3 | "active_layer": 31, 4 | "active_layer_preset": "", 5 | "auto_track_width": true, 6 | "hidden_netclasses": [], 7 | "hidden_nets": [], 8 | "high_contrast_mode": 0, 9 | "net_color_mode": 1, 10 | "opacity": { 11 | "images": 0.6, 12 | "pads": 1.0, 13 | "tracks": 1.0, 14 | "vias": 1.0, 15 | "zones": 0.6 16 | }, 17 | "ratsnest_display_mode": 0, 18 | "selection_filter": { 19 | "dimensions": true, 20 | "footprints": true, 21 | "graphics": true, 22 | "keepouts": true, 23 | "lockedItems": true, 24 | "otherItems": true, 25 | "pads": true, 26 | "text": true, 27 | "tracks": true, 28 | "vias": true, 29 | "zones": true 30 | }, 31 | "visible_items": [ 32 | 0, 33 | 1, 34 | 2, 35 | 3, 36 | 4, 37 | 5, 38 | 8, 39 | 9, 40 | 10, 41 | 11, 42 | 12, 43 | 13, 44 | 14, 45 | 15, 46 | 16, 47 | 17, 48 | 18, 49 | 19, 50 | 20, 51 | 21, 52 | 22, 53 | 23, 54 | 24, 55 | 25, 56 | 26, 57 | 27, 58 | 28, 59 | 29, 60 | 30, 61 | 32, 62 | 33, 63 | 34, 64 | 35, 65 | 36 66 | ], 67 | "visible_layers": "effffff_ffffffff", 68 | "zone_display_mode": 0 69 | }, 70 | "meta": { 71 | "filename": "capArray_JYC_RM2023_V0.1.kicad_prl", 72 | "version": 3 73 | }, 74 | "project": { 75 | "files": [] 76 | } 77 | } 78 | -------------------------------------------------------------------------------- /cap_controller_hardware/lower/charger_JYC_RM2023_V1.2_power.kicad_prl: -------------------------------------------------------------------------------- 1 | { 2 | "board": { 3 | "active_layer": 0, 4 | "active_layer_preset": "All Layers", 5 | "auto_track_width": false, 6 | "hidden_netclasses": [], 7 | "hidden_nets": [], 8 | "high_contrast_mode": 0, 9 | "net_color_mode": 1, 10 | "opacity": { 11 | "images": 1.0, 12 | "pads": 1.0, 13 | "tracks": 1.0, 14 | "vias": 1.0, 15 | "zones": 1.0 16 | }, 17 | "ratsnest_display_mode": 0, 18 | "selection_filter": { 19 | "dimensions": true, 20 | "footprints": true, 21 | "graphics": true, 22 | "keepouts": true, 23 | "lockedItems": false, 24 | "otherItems": true, 25 | "pads": true, 26 | "text": true, 27 | "tracks": true, 28 | "vias": true, 29 | "zones": true 30 | }, 31 | "visible_items": [ 32 | 0, 33 | 1, 34 | 2, 35 | 3, 36 | 4, 37 | 5, 38 | 8, 39 | 9, 40 | 10, 41 | 11, 42 | 12, 43 | 13, 44 | 15, 45 | 16, 46 | 17, 47 | 18, 48 | 19, 49 | 20, 50 | 21, 51 | 22, 52 | 23, 53 | 24, 54 | 25, 55 | 26, 56 | 27, 57 | 28, 58 | 29, 59 | 30, 60 | 32, 61 | 33, 62 | 34, 63 | 35, 64 | 36, 65 | 39, 66 | 40 67 | ], 68 | "visible_layers": "fffffff_ffffffff", 69 | "zone_display_mode": 1 70 | }, 71 | "meta": { 72 | "filename": "charger_JYC_RM2023_V1.2_power.kicad_prl", 73 | "version": 3 74 | }, 75 | "project": { 76 | "files": [] 77 | } 78 | } 79 | -------------------------------------------------------------------------------- /cap_controller_hardware/upper/charger_JYC_RM2023_V1.2_control.kicad_prl: -------------------------------------------------------------------------------- 1 | { 2 | "board": { 3 | "active_layer": 0, 4 | "active_layer_preset": "", 5 | "auto_track_width": true, 6 | "hidden_netclasses": [], 7 | "hidden_nets": [], 8 | "high_contrast_mode": 0, 9 | "net_color_mode": 1, 10 | "opacity": { 11 | "images": 0.4000000059604645, 12 | "pads": 1.0, 13 | "tracks": 1.0, 14 | "vias": 1.0, 15 | "zones": 0.47999998927116394 16 | }, 17 | "ratsnest_display_mode": 0, 18 | "selection_filter": { 19 | "dimensions": true, 20 | "footprints": true, 21 | "graphics": true, 22 | "keepouts": true, 23 | "lockedItems": false, 24 | "otherItems": true, 25 | "pads": true, 26 | "text": true, 27 | "tracks": true, 28 | "vias": true, 29 | "zones": true 30 | }, 31 | "visible_items": [ 32 | 0, 33 | 1, 34 | 2, 35 | 3, 36 | 4, 37 | 5, 38 | 8, 39 | 9, 40 | 10, 41 | 11, 42 | 12, 43 | 13, 44 | 15, 45 | 16, 46 | 17, 47 | 18, 48 | 19, 49 | 20, 50 | 21, 51 | 22, 52 | 23, 53 | 24, 54 | 25, 55 | 26, 56 | 27, 57 | 28, 58 | 29, 59 | 30, 60 | 32, 61 | 33, 62 | 34, 63 | 35, 64 | 36, 65 | 39, 66 | 40 67 | ], 68 | "visible_layers": "ffcffff_ffffffff", 69 | "zone_display_mode": 0 70 | }, 71 | "meta": { 72 | "filename": "charger_JYC_RM2023_V1.2_control.kicad_prl", 73 | "version": 3 74 | }, 75 | "project": { 76 | "files": [] 77 | } 78 | } 79 | -------------------------------------------------------------------------------- /cap_controller_hardware/lower/production/positions.csv: -------------------------------------------------------------------------------- 1 | Designator,Mid X,Mid Y,Rotation,Layer 2 | C1,179.0,-73.951,0.0,top 3 | C10,122.047,-82.0035,270.0,top 4 | C11,118.745,-82.0035,270.0,top 5 | C12,115.443,-82.0035,270.0,top 6 | C13,112.141,-82.0035,270.0,top 7 | C14,158.115,-82.042,270.0,top 8 | C15,154.813,-82.042,270.0,top 9 | C16,151.511,-82.042,270.0,top 10 | C2,179.0,-85.0,0.0,top 11 | C3,94.0,-74.0,180.0,top 12 | C4,161.417,-82.042,270.0,top 13 | C7,94.0,-85.0,180.0,top 14 | C8,94.0,-96.0,180.0,top 15 | C9,179.0,-96.0,0.0,top 16 | D1,120.666,-64.345,90.0,top 17 | D2,134.255,-86.443,180.0,top 18 | D3,152.924,-64.345,90.0,top 19 | D4,139.335,-86.443,0.0,top 20 | D5,107.188,-82.042,270.0,top 21 | D6,166.37,-82.042,270.0,top 22 | F1,98.806,-52.959,0.0,top 23 | F2,181.5,-55.118,270.0,top 24 | H1,91.5,-65.0,0.0,top 25 | H10,181.483,-61.214,0.0,top 26 | H2,91.5,-53.0,0.0,top 27 | H3,98.5,-104.0,180.0,top 28 | H4,91.5,-104.0,180.0,top 29 | H9,181.5,-104.0,180.0,top 30 | J3,136.795,-91.904,90.0,top 31 | J4,99.0,-59.0,180.0,top 32 | J5,166.0,-104.0,180.0,top 33 | J6,107.0,-104.0,180.0,top 34 | J7,174.0,-59.0,90.0,top 35 | J8,117.49,-59.13,0.0,top 36 | J9,156.1,-59.13,0.0,top 37 | Q1,118.253,-69.552,180.0,top 38 | Q2,126.508,-81.632,90.0,top 39 | Q3,118.253,-75.267,180.0,top 40 | Q4,132.223,-81.632,90.0,top 41 | Q5,155.337,-75.267,0.0,top 42 | Q6,141.367,-81.617,90.0,top 43 | Q7,155.337,-69.552,0.0,top 44 | Q8,147.082,-81.617,90.0,top 45 | R1,91.5,-59.0,270.0,top 46 | R2,106.426,-59.944,270.0,top 47 | R3,173.999991,-52.5,0.0,top 48 | R4,118.745,-63.5,90.0,top 49 | R5,132.08,-89.408,270.0,top 50 | R6,154.813,-63.5,90.0,top 51 | R7,132.08,-92.456,270.0,top 52 | TH1,141.875,-92.92,270.0,top 53 | U1,139.205,-63.252,0.0,top 54 | -------------------------------------------------------------------------------- /cap_controller_hardware/upper/bom.csv: -------------------------------------------------------------------------------- 1 | Designator,Footprint,Quantity,Value,LCSC Part # 2 | BZ1,MLT-9032,1,Buzzer, 3 | "C1, C102, C103, C104, C105, C106, C107, C16, C17, C18, C2, C21, C22, C23, C24, C25, C29, C30, C31, C35, C37, C40, C41, C42, C43, C45, C47, C49, C50, C51, C52, C54, C55, C58, C59, C62, C67, C70, C71, C72, C74, C76, C77, C78, C79, C81, C83, C87, C88, C91, C92, C94, C95, C97, C99",0603,55,100n, 4 | "C10, C5, C53, C57, C6, C7, C8, C9",1206,8,10u, 5 | "C100, C101, C14, C15, C19, C20, C32, C33, C36, C39, C44, C56, C63, C64, C66, C68, C69, C75, C80, C82, C84, C85, C86, C89, C90, C93, C96, C98",0603,28,10u, 6 | C12,CP_Radial_D6.3mm_P2.50mm,1,680u, 7 | "C13, C28, C48, C65, C73",CP_EIA-3216-18_Kemet-A,5,47u, 8 | C26,CP_Radial_D6.3mm_P2.50mm,1,220u, 9 | "C3, C4",0603,2,100p, 10 | "C34, C46",0603,2,10n, 11 | C38,0603,1,20p, 12 | "C60, C61",CP_Radial_D6.3mm_P2.50mm,2,47u, 13 | "D1, D10, D11, D18, D2, D21, D8, D9",D_SMF,8,K34, 14 | "D12, D13, D14, D15, D17, D23, D25, D27, D4, D5, D6",0603,11,LED, 15 | "D16, D19, D20, D22",D_SMF,4,SMF10A, 16 | D3,D_SMF,1,SMCJ28A, 17 | D7,D_SMF,1,SMF5V0A, 18 | F1,1210,1,Polyfuse, 19 | F2,1206,1,Polyfuse, 20 | "J1, J10, J12, J2, J4, J6",conn_2x02_2.54,6,Conn_02x02_Odd_Even, 21 | "J11, J8",JST_GH_BM03B-GHS-TBT_1x03-1MP_P1.25mm_Vertical,2,Conn_UART, 22 | J13,JST_GH_BM02B-GHS-TBT_1x02-1MP_P1.25mm_Vertical,1,Conn_CAN, 23 | J3,conn_2x03_2.54,1,Conn_02x03_Odd_Even, 24 | J5,JST_GH_BM04B-GHS-TBT_1x04-1MP_P1.25mm_Vertical,1,Conn_OLED, 25 | J9,Molex_PicoBlade_53261-0471_1x04-1MP_P1.25mm_Horizontal,1,Conn_SWD, 26 | "L1, L2",L_Bourns-SRN4018,2,6R8, 27 | "L3, L4, L5",0603,3,L_Ferrite, 28 | Q1,SOT-23,1,AO3400A, 29 | "R1, R23, R7, R8",0603,4,100k 25ppm, 30 | "R10, R11, R16",0603,3,200r, 31 | R12,0603,1,118k, 32 | "R13, R15, R28, R29, R3, R35, R4, R41, R42, R51, R58",0603,11,10k, 33 | R14,0603,1,53.6k, 34 | "R17, R19, R34, R36, R37, R46, R47",0603,7,120r, 35 | "R18, R2",0603,2,10k 25ppm, 36 | "R20, R25, R32, R33, R44, R45, R5, R57, R6, R64, R65",0603,11,33r, 37 | "R21, R22, R53, R63",1206,4,3.3r, 38 | "R24, R30, R31, R39, R43, R50, R52, R55, R61, R62",0603,10,1k, 39 | R26,0603,1,100k, 40 | R27,0603,1,51k, 41 | "R38, R40",0603,2,2.2k, 42 | "R48, R49",1206,2,68r, 43 | "R54, R56, R59, R60, R66, R67",0603,6,100r 25ppm, 44 | R9,0603,1,5k, 45 | U1,SOT-23,1,REF3033, 46 | U11,SOIC-8_3.9x4.9mm_P1.27mm,1,TJA1042T-3, 47 | "U12, U13",SOT-23-5,2,RS3236, 48 | "U14, U15",BxxxxS-1W,2,ISO_DC, 49 | "U16, U17",SOIC-8_3.9x4.9mm_P1.27mm,2,UCC27211D, 50 | "U19, U7, U8",SOT-363_SC-70-6,3,INA186, 51 | U2,LQFP-64_10x10mm_P0.5mm,1,STM32F334R8Tx, 52 | "U3, U4",SOT-23-6,2,RY8411, 53 | "U5, U9",SOIC-8_3.9x4.9mm_P1.27mm,2,GS8332-SR, 54 | Y1,Resonator_SMD_Murata_CSTxExxV-3Pin_3.0x1.1mm,1,8MHz, 55 | -------------------------------------------------------------------------------- /cap_controller_hardware/upper/production/bom.csv: -------------------------------------------------------------------------------- 1 | Designator,Footprint,Quantity,Value,LCSC Part # 2 | BZ1,MLT-9032,1,Buzzer, 3 | "C1, C102, C103, C104, C105, C106, C107, C16, C17, C18, C2, C21, C22, C23, C24, C25, C29, C30, C31, C35, C37, C40, C41, C42, C43, C45, C47, C49, C50, C51, C52, C54, C55, C58, C59, C62, C67, C70, C71, C72, C74, C76, C77, C78, C79, C81, C83, C87, C88, C91, C92, C94, C95, C97, C99",0603,55,100n, 4 | "C10, C5, C53, C57, C6, C7, C8, C9",1206,8,10u, 5 | "C100, C101, C14, C15, C19, C20, C32, C33, C36, C39, C44, C56, C63, C64, C66, C68, C69, C75, C80, C82, C84, C85, C86, C89, C90, C93, C96, C98",0603,28,10u, 6 | C12,CP_Radial_D6.3mm_P2.50mm,1,680u, 7 | "C13, C28, C48, C65, C73",CP_EIA-3216-18_Kemet-A,5,47u, 8 | C26,CP_Radial_D6.3mm_P2.50mm,1,220u, 9 | "C3, C4",0603,2,100p, 10 | "C34, C46",0603,2,10n, 11 | C38,0603,1,20p, 12 | "C60, C61",CP_Radial_D6.3mm_P2.50mm,2,47u, 13 | "D1, D10, D11, D18, D2, D21, D8, D9",D_SMF,8,K34, 14 | "D12, D13, D14, D15, D17, D23, D25, D27, D4, D5, D6",0603,11,LED, 15 | "D16, D19, D20, D22",D_SMF,4,SMF10A, 16 | D3,D_SMF,1,SMCJ28A, 17 | D7,D_SMF,1,SMF5V0A, 18 | F1,1210,1,Polyfuse, 19 | F2,1206,1,Polyfuse, 20 | "J1, J10, J12, J2, J4, J6",conn_2x02_2.54,6,Conn_02x02_Odd_Even, 21 | "J11, J8",JST_GH_BM03B-GHS-TBT_1x03-1MP_P1.25mm_Vertical,2,Conn_UART, 22 | J13,JST_GH_BM02B-GHS-TBT_1x02-1MP_P1.25mm_Vertical,1,Conn_CAN, 23 | J3,conn_2x03_2.54,1,Conn_02x03_Odd_Even, 24 | J5,JST_GH_BM04B-GHS-TBT_1x04-1MP_P1.25mm_Vertical,1,Conn_OLED, 25 | J9,Molex_PicoBlade_53261-0471_1x04-1MP_P1.25mm_Horizontal,1,Conn_SWD, 26 | "L1, L2",L_Bourns-SRN4018,2,6R8, 27 | "L3, L4, L5",0603,3,L_Ferrite, 28 | Q1,SOT-23,1,AO3400A, 29 | "R1, R23, R7, R8",0603,4,100k 25ppm, 30 | "R10, R11, R16",0603,3,200r, 31 | R12,0603,1,118k, 32 | "R13, R15, R28, R29, R3, R35, R4, R41, R42, R51, R58",0603,11,10k, 33 | R14,0603,1,53.6k, 34 | "R17, R19, R34, R36, R37, R46, R47",0603,7,120r, 35 | "R18, R2",0603,2,10k 25ppm, 36 | "R20, R25, R32, R33, R44, R45, R5, R57, R6, R64, R65",0603,11,33r, 37 | "R21, R22, R53, R63",1206,4,3.3r, 38 | "R24, R30, R31, R39, R43, R50, R52, R55, R61, R62",0603,10,1k, 39 | R26,0603,1,100k, 40 | R27,0603,1,51k, 41 | "R38, R40",0603,2,2.2k, 42 | "R48, R49",1206,2,68r, 43 | "R54, R56, R59, R60, R66, R67",0603,6,100r 25ppm, 44 | R9,0603,1,5k, 45 | U1,SOT-23,1,REF3033, 46 | U11,SOIC-8_3.9x4.9mm_P1.27mm,1,TJA1042T-3, 47 | "U12, U13",SOT-23-5,2,RS3236, 48 | "U14, U15",BxxxxS-1W,2,ISO_DC, 49 | "U16, U17",SOIC-8_3.9x4.9mm_P1.27mm,2,UCC27211D, 50 | "U19, U7, U8",SOT-363_SC-70-6,3,INA186, 51 | U2,LQFP-64_10x10mm_P0.5mm,1,STM32F334R8Tx, 52 | "U3, U4",SOT-23-6,2,RY8411, 53 | "U5, U9",SOIC-8_3.9x4.9mm_P1.27mm,2,GS8332-SR, 54 | Y1,Resonator_SMD_Murata_CSTxExxV-3Pin_3.0x1.1mm,1,8MHz, 55 | -------------------------------------------------------------------------------- /cap_controller_hardware/upper/production/designators.csv: -------------------------------------------------------------------------------- 1 | BZ1:1 2 | C1:1 3 | C10:1 4 | C100:1 5 | C101:1 6 | C102:1 7 | C103:1 8 | C104:1 9 | C105:1 10 | C106:1 11 | C107:1 12 | C12:1 13 | C13:1 14 | C14:1 15 | C15:1 16 | C16:1 17 | C17:1 18 | C18:1 19 | C19:1 20 | C2:1 21 | C20:1 22 | C21:1 23 | C22:1 24 | C23:1 25 | C24:1 26 | C25:1 27 | C26:1 28 | C28:1 29 | C29:1 30 | C3:1 31 | C30:1 32 | C31:1 33 | C32:1 34 | C33:1 35 | C34:1 36 | C35:1 37 | C36:1 38 | C37:1 39 | C38:1 40 | C39:1 41 | C4:1 42 | C40:1 43 | C41:1 44 | C42:1 45 | C43:1 46 | C44:1 47 | C45:1 48 | C46:1 49 | C47:1 50 | C48:1 51 | C49:1 52 | C5:1 53 | C50:1 54 | C51:1 55 | C52:1 56 | C53:1 57 | C54:1 58 | C55:1 59 | C56:1 60 | C57:1 61 | C58:1 62 | C59:1 63 | C6:1 64 | C60:1 65 | C61:1 66 | C62:1 67 | C63:1 68 | C64:1 69 | C65:1 70 | C66:1 71 | C67:1 72 | C68:1 73 | C69:1 74 | C7:1 75 | C70:1 76 | C71:1 77 | C72:1 78 | C73:1 79 | C74:1 80 | C75:1 81 | C76:1 82 | C77:1 83 | C78:1 84 | C79:1 85 | C8:1 86 | C80:1 87 | C81:1 88 | C82:1 89 | C83:1 90 | C84:1 91 | C85:1 92 | C86:1 93 | C87:1 94 | C88:1 95 | C89:1 96 | C9:1 97 | C90:1 98 | C91:1 99 | C92:1 100 | C93:1 101 | C94:1 102 | C95:1 103 | C96:1 104 | C97:1 105 | C98:1 106 | C99:1 107 | D1:1 108 | D10:1 109 | D11:1 110 | D12:1 111 | D13:1 112 | D14:1 113 | D15:1 114 | D16:1 115 | D17:1 116 | D18:1 117 | D19:1 118 | D2:1 119 | D20:1 120 | D21:1 121 | D22:1 122 | D23:1 123 | D25:1 124 | D27:1 125 | D3:1 126 | D4:1 127 | D5:1 128 | D6:1 129 | D7:1 130 | D8:1 131 | D9:1 132 | F1:1 133 | F2:1 134 | J1:1 135 | J10:1 136 | J11:1 137 | J12:1 138 | J13:1 139 | J2:1 140 | J3:1 141 | J4:1 142 | J5:1 143 | J6:1 144 | J8:1 145 | J9:1 146 | L1:1 147 | L2:1 148 | L3:1 149 | L4:1 150 | L5:1 151 | Q1:1 152 | R1:1 153 | R10:1 154 | R11:1 155 | R12:1 156 | R13:1 157 | R14:1 158 | R15:1 159 | R16:1 160 | R17:1 161 | R18:1 162 | R19:1 163 | R2:1 164 | R20:1 165 | R21:1 166 | R22:1 167 | R23:1 168 | R24:1 169 | R25:1 170 | R26:1 171 | R27:1 172 | R28:1 173 | R29:1 174 | R3:1 175 | R30:1 176 | R31:1 177 | R32:1 178 | R33:1 179 | R34:1 180 | R35:1 181 | R36:1 182 | R37:1 183 | R38:1 184 | R39:1 185 | R4:1 186 | R40:1 187 | R41:1 188 | R42:1 189 | R43:1 190 | R44:1 191 | R45:1 192 | R46:1 193 | R47:1 194 | R48:1 195 | R49:1 196 | R5:1 197 | R50:1 198 | R51:1 199 | R52:1 200 | R53:1 201 | R54:1 202 | R55:1 203 | R56:1 204 | R57:1 205 | R58:1 206 | R59:1 207 | R6:1 208 | R60:1 209 | R61:1 210 | R62:1 211 | R63:1 212 | R64:1 213 | R65:1 214 | R66:1 215 | R67:1 216 | R7:1 217 | R8:1 218 | R9:1 219 | U1:1 220 | U11:1 221 | U12:1 222 | U13:1 223 | U14:1 224 | U15:1 225 | U16:1 226 | U17:1 227 | U19:1 228 | U2:1 229 | U3:1 230 | U4:1 231 | U5:1 232 | U7:1 233 | U8:1 234 | U9:1 235 | Y1:1 236 | -------------------------------------------------------------------------------- /cap_controller_hardware/upper/production/positions.csv: -------------------------------------------------------------------------------- 1 | Designator,Mid X,Mid Y,Rotation,Layer 2 | C1,94.723,-119.378,180.0,top 3 | C10,100.244,-135.674,270.0,top 4 | C100,110.852,-115.989,90.0,top 5 | C101,112.376,-115.989,90.0,top 6 | C102,116.694,-118.783,0.0,top 7 | C103,152.2032,-88.684,90.0,top 8 | C104,120.504,-105.829,0.0,top 9 | C105,120.504,-107.734,180.0,top 10 | C106,120.504,-109.258,0.0,top 11 | C107,120.504,-111.163,180.0,top 12 | C13,114.281,-125.133,0.0,top 13 | C14,97.517,-88.951,270.0,top 14 | C15,108.439,-129.832,270.0,bottom 15 | C16,131.553,-114.465,0.0,top 16 | C17,131.553,-111.417,0.0,top 17 | C18,103.105,-110.655,180.0,top 18 | C19,101.962,-82.715,0.0,bottom 19 | C2,96.374,-131.147,180.0,top 20 | C20,90.151,-84.493,180.0,top 21 | C21,111.614,-113.576,0.0,top 22 | C22,122.79,-106.972,270.0,top 23 | C23,112.757,-108.877,270.0,top 24 | C24,97.898,-82.715,180.0,bottom 25 | C25,139.681,-82.715,180.0,bottom 26 | C28,126.092,-130.086,270.0,top 27 | C29,113.392,-132.626,0.0,top 28 | C3,97.801,-117.496,90.0,top 29 | C30,114.148,-135.039,270.0,top 30 | C31,114.148,-130.086,270.0,top 31 | C32,112.648,-130.086,270.0,top 32 | C33,112.648,-135.039,270.0,top 33 | C34,117.448,-132.586,180.0,top 34 | C35,120.504,-114.973,270.0,top 35 | C36,153.778,-129.197,90.0,bottom 36 | C37,120.504,-118.021,270.0,top 37 | C38,117.837,-129.705,120.0,bottom 38 | C39,106.915,-129.832,270.0,bottom 39 | C4,99.3712,-129.197,90.0,top 40 | C40,128.378,-111.29,0.0,top 41 | C41,152.127,-96.558,270.0,top 42 | C42,128.378,-109.766,0.0,top 43 | C43,153.651,-96.558,270.0,top 44 | C44,95.993,-88.938,270.0,top 45 | C45,127.489,-121.704,270.0,top 46 | C46,117.448,-137.539,180.0,top 47 | C47,121.248,-130.086,270.0,top 48 | C48,114.281,-127.267,0.0,top 49 | C49,119.748,-135.039,270.0,top 50 | C5,98.644,-123.101,270.0,top 51 | C50,146.92,-110.274,270.0,top 52 | C51,131.553,-120.561,0.0,top 53 | C52,131.553,-117.513,0.0,top 54 | C53,93.326,-129.578,270.0,top 55 | C54,132.569,-128.562,225.0,bottom 56 | C55,131.045,-136.182,135.0,bottom 57 | C56,121.266,-133.782,90.0,top 58 | C57,88.373,-117.386,180.0,top 59 | C58,128.378,-106.718,0.0,top 60 | C59,128.378,-108.242,0.0,top 61 | C6,102.597,-135.674,270.0,top 62 | C60,89.305677,-128.001117,225.0,top 63 | C61,89.68238,-122.085,180.0,top 64 | C62,155.302,-129.197,90.0,bottom 65 | C63,119.748,-130.086,270.0,top 66 | C64,121.266,-136.817,270.0,top 67 | C65,114.154,-115.1,90.0,top 68 | C66,145.269,-91.732,180.0,top 69 | C67,145.269,-90.208,180.0,top 70 | C68,149.46,-91.478,90.0,top 71 | C69,149.46,-94.513,270.0,top 72 | C7,100.946,-123.101,270.0,top 73 | C70,127.173,-112.941,180.0,top 74 | C71,147.682,-126.403,0.0,top 75 | C72,146.92,-113.322,90.0,top 76 | C73,136.549623,-110.854823,90.0,top 77 | C74,90.151,-86.017,180.0,top 78 | C75,101.962,-84.239,0.0,bottom 79 | C76,115.932,-114.973,270.0,top 80 | C77,134.22,-118.275,270.0,top 81 | C78,154.1336,-88.684,270.0,top 82 | C79,138.327623,-111.663823,270.0,top 83 | C8,104.883,-135.674,270.0,top 84 | C80,117.456,-114.973,270.0,top 85 | C81,134.855,-125.26,180.0,top 86 | C82,148.571,-114.338,90.0,top 87 | C83,150.222,-116.751,0.0,top 88 | C84,139.851623,-111.663823,270.0,top 89 | C85,97.898,-84.239,180.0,bottom 90 | C86,139.681,-84.239,180.0,bottom 91 | C87,142.094,-109.004,0.0,top 92 | C88,131.553,-123.609,0.0,top 93 | C89,143.745,-84.239,0.0,bottom 94 | C9,103.26,-123.101,270.0,top 95 | C90,114.408,-122.466,90.0,top 96 | C91,110.598,-123.228,180.0,top 97 | C92,153.143,-90.97,180.0,top 98 | C93,124.248,-130.086,270.0,top 99 | C94,122.748,-130.086,270.0,top 100 | C95,122.79,-110.147,270.0,top 101 | C96,143.745,-82.715,0.0,bottom 102 | C97,110.598,-121.704,0.0,top 103 | C98,113.646,-120.18,180.0,top 104 | C99,109.328,-115.989,90.0,top 105 | D1,98.406,-110.02,0.0,top 106 | D10,108.566,-135.928,300.0,bottom 107 | D11,135.109,-132.88,225.0,bottom 108 | D18,139.554,-94.907,180.0,top 109 | D2,98.406,-112.433,0.0,top 110 | D21,139.554,-99.479,180.0,top 111 | D3,89.516,-111.29,90.0,top 112 | D8,102.216,-94.907,0.0,top 113 | D9,96.374,-96.759,270.0,top 114 | L3,122.048,-127.786,0.0,top 115 | L4,112.884,-122.466,270.0,top 116 | L5,113.646,-118.275,0.0,top 117 | R10,131.553,-112.941,0.0,top 118 | R11,148.444,-110.274,270.0,top 119 | R12,99.325,-117.496,90.0,top 120 | R13,98.5885,-115.227,0.0,top 121 | R14,100.8742,-129.197,90.0,top 122 | R15,100.1332,-126.911,0.0,top 123 | R16,131.553,-109.893,0.0,top 124 | R17,154.54,-109.131,0.0,bottom 125 | R19,154.54,-110.655,0.0,bottom 126 | R20,119.742,-112.687,0.0,top 127 | R21,102.216,-97.193,0.0,top 128 | R22,98.66,-96.685,270.0,top 129 | R24,118.98,-114.973,270.0,top 130 | R25,119.107,-134.15,0.0,bottom 131 | R26,107.423,-121.704,270.0,top 132 | R27,109.074,-133.388,270.0,top 133 | R28,124.314,-133.769,270.0,top 134 | R29,122.79,-133.769,270.0,top 135 | R3,94.342,-114.465,180.0,top 136 | R30,92.80015,-98.971,270.0,top 137 | R31,97.4915,-107.988,180.0,top 138 | R32,131.553,-119.037,0.0,top 139 | R33,131.553,-115.989,0.0,top 140 | R34,128.759,-131.737,180.0,top 141 | R35,91.27615,-98.971,90.0,top 142 | R36,154.54,-125.387,0.0,bottom 143 | R37,154.54,-126.911,0.0,bottom 144 | R38,155.302,-123.101,90.0,bottom 145 | R39,94.32415,-98.971,270.0,top 146 | R4,94.596,-126.149,180.0,top 147 | R40,153.778,-123.101,90.0,bottom 148 | R41,89.75215,-98.971,90.0,top 149 | R42,145.142,-104.496,90.0,top 150 | R43,150.222,-118.402,180.0,top 151 | R44,131.553,-127.546,225.0,bottom 152 | R45,133.585,-129.578,225.0,bottom 153 | R46,140.443,-130.721,270.0,top 154 | R47,138.919,-130.721,270.0,top 155 | R48,92.818,-84.239,270.0,top 156 | R49,148.825,-86.779,270.0,top 157 | R5,89.75215,-95.923,90.0,top 158 | R50,146.666,-104.496,270.0,top 159 | R51,143.618,-104.496,90.0,top 160 | R52,148.19,-104.496,270.0,top 161 | R53,139.554,-97.193,180.0,top 162 | R55,142.094,-107.48,0.0,top 163 | R57,131.553,-125.103,0.0,top 164 | R58,119.869,-131.864,270.0,bottom 165 | R6,91.27615,-95.923,90.0,top 166 | R61,153.778,-117.132,90.0,bottom 167 | R62,155.302,-117.132,90.0,bottom 168 | R63,139.554,-101.765,180.0,top 169 | R64,143.618,-101.448,90.0,top 170 | R65,145.142,-101.448,90.0,top 171 | R9,125.965,-121.704,270.0,top 172 | -------------------------------------------------------------------------------- /cap_controller_hardware/lower/production/netlist.ipc: -------------------------------------------------------------------------------- 1 | P CODE 00 2 | P UNITS CUST 0 3 | P arrayDim N 4 | 327B_SW J9 -1 A01X+060463Y-022780X1240Y0394R000S2 5 | 327B_POWER J9 -2 A01X+062451Y-022780X1240Y0394R000S2 6 | 327B_HG J9 -3 A01X+060463Y-023780X1240Y0394R000S2 7 | 327B_POWER J9 -4 A01X+062451Y-023780X1240Y0394R000S2 8 | 327B_POWER C2 -1 A01X+068819Y-033465X1732Y0984R000S2 9 | 327GNDPWR C2 -2 A01X+072126Y-033465X1732Y0984R000S2 10 | 327NET-(J3-PIN_6) TH1 -1 A01X+055856Y-035972X0512Y0689R090S2 11 | 327GNDPWR TH1 -2 A01X+055856Y-037193X0512Y0689R090S2 12 | 327A_SW U1 -1 A01X+051858Y-029248X2098Y2201R000S2 13 | 327B_SW U1 -2 A01X+055854Y-029248X2098Y2201R000S2 14 | 327L_MP U1 -3 A01X+053856Y-020557X2079Y2500R270S2 15 | 327GNDPWR Q8 -1 A01X+057156Y-033274X0335Y0197R270S2 16 | 327GNDPWR Q8 -2 A01X+057656Y-033274X0335Y0197R270S2 17 | 327GNDPWR Q8 -3 A01X+058156Y-033274X0335Y0197R270S2 18 | 327B_LG Q8 -4 A01X+058656Y-033274X0335Y0197R270S2 19 | 327B_SW Q8 -5 A01X+057906Y-031719X1791Y1736R270S3 20 | 327B_SW Q5 -1 A01X+060015Y-028883X0335Y0197R000S2 21 | 327B_SW Q5 -2 A01X+060015Y-029383X0335Y0197R000S2 22 | 327B_SW Q5 -3 A01X+060015Y-029883X0335Y0197R000S2 23 | 327B_HG Q5 -4 A01X+060015Y-030383X0335Y0197R000S2 24 | 327B_POWER Q5 -5 A01X+061570Y-029633X1791Y1736R000S3 25 | 327A_LG R5 -1 A01X+052000Y-034875X0315Y0374R090S2 26 | 327GNDPWR R5 -2 A01X+052000Y-035525X0315Y0374R090S2 27 | 327A_POWER C13 -1 A01X+044150Y-031670X0522Y1063R090S2 28 | 327GNDPWR C13 -2 A01X+044150Y-032900X0522Y1063R090S2 29 | 327A_SW Q3 -1 A01X+047698Y-030383X0335Y0197R180S2 30 | 327A_SW Q3 -2 A01X+047698Y-029883X0335Y0197R180S2 31 | 327A_SW Q3 -3 A01X+047698Y-029383X0335Y0197R180S2 32 | 327A_HG Q3 -4 A01X+047698Y-028883X0335Y0197R180S2 33 | 327A_POWER Q3 -5 A01X+046143Y-029633X1791Y1736R180S3 34 | 327B_HG R6 -1 A01X+060950Y-025325X0315Y0374R270S2 35 | 327B_SW R6 -2 A01X+060950Y-024675X0315Y0374R270S2 36 | 327VCHASSIS R1 -1 A01X+036024Y-022028X0551Y1319R090S2 37 | 327VJUDGE R1 -2 A01X+036024Y-024429X0551Y1319R090S2 38 | 327B_SW Q7 -1 A01X+060015Y-026633X0335Y0197R000S2 39 | 327B_SW Q7 -2 A01X+060015Y-027133X0335Y0197R000S2 40 | 327B_SW Q7 -3 A01X+060015Y-027633X0335Y0197R000S2 41 | 327B_HG Q7 -4 A01X+060015Y-028133X0335Y0197R000S2 42 | 327B_POWER Q7 -5 A01X+061570Y-027383X1791Y1736R000S3 43 | 327B_POWER D6 -1 A01X+065500Y-030961X1299Y0984R000S2 44 | 327GNDPWR D6 -2 A01X+065500Y-033639X1299Y0984R000S2 45 | 327A_POWER J8 -1 A01X+045262Y-022780X1240Y0394R000S2 46 | 327A_SW J8 -2 A01X+047250Y-022780X1240Y0394R000S2 47 | 327A_POWER J8 -3 A01X+045262Y-023780X1240Y0394R000S2 48 | 327A_HG J8 -4 A01X+047250Y-023780X1240Y0394R000S2 49 | 327A_LG D2 -1 A01X+053427Y-034033X0512Y0551R180S2 50 | 327GNDPWR D2 -2 A01X+052285Y-034033X0512Y0551R180S2 51 | 327B_LG R7 -1 A01X+052000Y-036075X0315Y0374R090S2 52 | 327GNDPWR R7 -2 A01X+052000Y-036725X0315Y0374R090S2 53 | 327A_POWER C12 -1 A01X+045450Y-031670X0522Y1063R090S2 54 | 327GNDPWR C12 -2 A01X+045450Y-032900X0522Y1063R090S2 55 | 327VCAP H10 -1 A01X+071450Y-024100X2362Y1181R000S2 56 | 327A_POWER C3 -1 A01X+038661Y-029134X1732Y0984R180S2 57 | 327GNDPWR C3 -2 A01X+035354Y-029134X1732Y0984R180S2 58 | 327VCHASSIS H2 -1 A01X+036024Y-020866X2362Y1181R000S2 59 | 327B_POWER C16 -1 A01X+059650Y-031685X0522Y1063R090S2 60 | 327GNDPWR C16 -2 A01X+059650Y-032915X0522Y1063R090S2 61 | 327A_SW Q1 -1 A01X+047698Y-028133X0335Y0197R180S2 62 | 327A_SW Q1 -2 A01X+047698Y-027633X0335Y0197R180S2 63 | 327A_SW Q1 -3 A01X+047698Y-027133X0335Y0197R180S2 64 | 327A_HG Q1 -4 A01X+047698Y-026633X0335Y0197R180S2 65 | 327A_POWER Q1 -5 A01X+046143Y-027383X1791Y1736R180S3 66 | 327B_POWER C9 -1 A01X+068819Y-037795X1732Y0984R000S2 67 | 327GNDPWR C9 -2 A01X+072126Y-037795X1732Y0984R000S2 68 | 327B_POWER C4 -1 A01X+063550Y-031685X0522Y1063R090S2 69 | 327GNDPWR C4 -2 A01X+063550Y-032915X0522Y1063R090S2 70 | 327NET-(J7-PIN_4) F2 -1 A01X+071457Y-020743X0945Y1181R090S2 71 | 327VCAP F2 -2 A01X+071457Y-022657X0945Y1181R090S2 72 | 327B_POWER C1 -1 A01X+068819Y-029115X1732Y0984R000S2 73 | 327GNDPWR C1 -2 A01X+072126Y-029115X1732Y0984R000S2 74 | 327A_POWER C11 -1 A01X+046750Y-031670X0522Y1063R090S2 75 | 327GNDPWR C11 -2 A01X+046750Y-032900X0522Y1063R090S2 76 | 327B_POWER R3 -1 A01X+067303Y-020669X0551Y1319R000S2 77 | 327NET-(J7-PIN_4) R3 -2 A01X+069705Y-020669X0551Y1319R000S2 78 | 327A_POWER C10 -1 A01X+048050Y-031670X0522Y1063R090S2 79 | 327GNDPWR C10 -2 A01X+048050Y-032900X0522Y1063R090S2 80 | 327A_HG D1 -1 A01X+047506Y-025904X0512Y0551R270S2 81 | 327A_SW D1 -2 A01X+047506Y-024762X0512Y0551R270S2 82 | 327GNDPWR Q6 -1 A01X+054906Y-033274X0335Y0197R270S2 83 | 327GNDPWR Q6 -2 A01X+055406Y-033274X0335Y0197R270S2 84 | 327GNDPWR Q6 -3 A01X+055906Y-033274X0335Y0197R270S2 85 | 327B_LG Q6 -4 A01X+056406Y-033274X0335Y0197R270S2 86 | 327B_SW Q6 -5 A01X+055656Y-031719X1791Y1736R270S3 87 | 327GNDPWR H3 -1 A01X+038780Y-040945X2362Y1181R180S2 88 | 327B_LG D4 -1 A01X+054285Y-034033X0512Y0551R000S2 89 | 327GNDPWR D4 -2 A01X+055427Y-034033X0512Y0551R000S2 90 | 327GNDPWR H4 -1 A01X+036024Y-040945X2362Y1181R180S2 91 | 327GNDPWR Q4 -1 A01X+051306Y-033280X0335Y0197R270S2 92 | 327GNDPWR Q4 -2 A01X+051806Y-033280X0335Y0197R270S2 93 | 327GNDPWR Q4 -3 A01X+052306Y-033280X0335Y0197R270S2 94 | 327A_LG Q4 -4 A01X+052806Y-033280X0335Y0197R270S2 95 | 327A_SW Q4 -5 A01X+052056Y-031725X1791Y1736R270S3 96 | 327B_POWER C14 -1 A01X+062250Y-031685X0522Y1063R090S2 97 | 327GNDPWR C14 -2 A01X+062250Y-032915X0522Y1063R090S2 98 | 327A_POWER D5 -1 A01X+042200Y-030961X1299Y0984R000S2 99 | 327GNDPWR D5 -2 A01X+042200Y-033639X1299Y0984R000S2 100 | 327GNDPWR Q2 -1 A01X+049056Y-033280X0335Y0197R270S2 101 | 327GNDPWR Q2 -2 A01X+049556Y-033280X0335Y0197R270S2 102 | 327GNDPWR Q2 -3 A01X+050056Y-033280X0335Y0197R270S2 103 | 327A_LG Q2 -4 A01X+050556Y-033280X0335Y0197R270S2 104 | 327A_SW Q2 -5 A01X+049806Y-031725X1791Y1736R270S3 105 | 327A_POWER J4 -1 A01X+039970Y-023728X1240Y0394R180S2 106 | 327VJUDGE J4 -2 A01X+037982Y-023728X1240Y0394R180S2 107 | 327NET-(J4-PIN_3) J4 -3 A01X+039970Y-022728X1240Y0394R180S2 108 | 327VCHASSIS J4 -4 A01X+037982Y-022728X1240Y0394R180S2 109 | 327A_POWER C8 -1 A01X+038661Y-037795X1732Y0984R180S2 110 | 327GNDPWR C8 -2 A01X+035354Y-037795X1732Y0984R180S2 111 | 327GNDPWR J3 -1 A01X+052856Y-037177X1240Y0394R270S2 112 | 327A_LG J3 -2 A01X+052856Y-035189X1240Y0394R270S2 113 | 327GNDPWR J3 -3 A01X+053856Y-037177X1240Y0394R270S2 114 | 327B_LG J3 -4 A01X+053856Y-035189X1240Y0394R270S2 115 | 327GNDPWR J3 -5 A01X+054856Y-037177X1240Y0394R270S2 116 | 327NET-(J3-PIN_6) J3 -6 A01X+054856Y-035189X1240Y0394R270S2 117 | 327NET-(J7-PIN_1) J7 -1 A01X+068004Y-024222X1240Y0394R270S2 118 | 327B_POWER J7 -2 A01X+068004Y-022234X1240Y0394R270S2 119 | 327NET-(J7-PIN_1) J7 -3 A01X+069004Y-024222X1240Y0394R270S2 120 | 327NET-(J7-PIN_4) J7 -4 A01X+069004Y-022234X1240Y0394R270S2 121 | 327GNDPWR H9 -1 A01X+071457Y-040945X2362Y1181R180S2 122 | 327B_HG D3 -1 A01X+060206Y-025904X0512Y0551R270S2 123 | 327B_SW D3 -2 A01X+060206Y-024762X0512Y0551R270S2 124 | 327VCHASSIS F1 -1 A01X+037943Y-020850X0945Y1181R000S2 125 | 327NET-(J4-PIN_3) F1 -2 A01X+039857Y-020850X0945Y1181R000S2 126 | 327VJUDGE H1 -1 A01X+036024Y-025591X2362Y1181R000S2 127 | 327B_POWER C15 -1 A01X+060950Y-031685X0522Y1063R090S2 128 | 327GNDPWR C15 -2 A01X+060950Y-032915X0522Y1063R090S2 129 | 327NET-(J4-PIN_3) R2 -1 A01X+041900Y-022399X0551Y1319R090S2 130 | 327A_POWER R2 -2 A01X+041900Y-024801X0551Y1319R090S2 131 | 327A_HG R4 -1 A01X+046750Y-025325X0315Y0374R270S2 132 | 327A_SW R4 -2 A01X+046750Y-024675X0315Y0374R270S2 133 | 327A_POWER C7 -1 A01X+038661Y-033465X1732Y0984R180S2 134 | 327GNDPWR C7 -2 A01X+035354Y-033465X1732Y0984R180S2 135 | 327GNDPWR J6 -1 A01X+043120Y-041445X1240Y0394R180S2 136 | 327GNDPWR J6 -2 A01X+041132Y-041445X1240Y0394R180S2 137 | 327GNDPWR J6 -3 A01X+043120Y-040445X1240Y0394R180S2 138 | 327GNDPWR J6 -4 A01X+041132Y-040445X1240Y0394R180S2 139 | 327GNDPWR J5 -1 A01X+066348Y-041445X1240Y0394R180S2 140 | 327GNDPWR J5 -2 A01X+064360Y-041445X1240Y0394R180S2 141 | 327GNDPWR J5 -3 A01X+066348Y-040445X1240Y0394R180S2 142 | 327GNDPWR J5 -4 A01X+064360Y-040445X1240Y0394R180S2 143 | 999 144 | -------------------------------------------------------------------------------- /cap_controller_hardware/upper/charger_JYC_RM2023_V1.2_control.ioc: -------------------------------------------------------------------------------- 1 | #MicroXplorer Configuration settings - do not modify 2 | ADC1.Channel-1\#ChannelRegularConversion=ADC_CHANNEL_1 3 | ADC1.Channel-2\#ChannelRegularConversion=ADC_CHANNEL_1 4 | ADC1.Channel-3\#ChannelRegularConversion=ADC_CHANNEL_1 5 | ADC1.ClockPrescaler=ADC_CLOCK_SYNC_PCLK_DIV1 6 | ADC1.ContinuousConvMode=ENABLE 7 | ADC1.ExternalTrigConv=ADC_EXTERNALTRIGCONVHRTIM_TRG1 8 | ADC1.IPParameters=Rank-1\#ChannelRegularConversion,Channel-1\#ChannelRegularConversion,SamplingTime-1\#ChannelRegularConversion,OffsetNumber-1\#ChannelRegularConversion,Offset-1\#ChannelRegularConversion,NbrOfConversionFlag,master,ClockPrescaler,ContinuousConvMode,NbrOfConversion,Rank-2\#ChannelRegularConversion,Channel-2\#ChannelRegularConversion,SamplingTime-2\#ChannelRegularConversion,SamplingTimeOPAMP-2\#ChannelRegularConversion,OffsetNumber-2\#ChannelRegularConversion,Offset-2\#ChannelRegularConversion,Rank-3\#ChannelRegularConversion,Channel-3\#ChannelRegularConversion,SamplingTime-3\#ChannelRegularConversion,SamplingTimeOPAMP-3\#ChannelRegularConversion,OffsetNumber-3\#ChannelRegularConversion,Offset-3\#ChannelRegularConversion,InjNumberOfConversion,ExternalTrigConv,InjectedRank-4\#ChannelInjectedConversion,InjectedChannel-4\#ChannelInjectedConversion,Rank1_Channel,InjectedSamplingTime-4\#ChannelInjectedConversion,InjectedSamplingTimeOPAMP-4\#ChannelInjectedConversion,InjectedOffsetNumber-4\#ChannelInjectedConversion,InjectedOffset-4\#ChannelInjectedConversion 9 | ADC1.InjNumberOfConversion=1 10 | ADC1.InjectedChannel-4\#ChannelInjectedConversion=ADC_CHANNEL_1 11 | ADC1.InjectedOffset-4\#ChannelInjectedConversion=0 12 | ADC1.InjectedOffsetNumber-4\#ChannelInjectedConversion=ADC_OFFSET_NONE 13 | ADC1.InjectedRank-4\#ChannelInjectedConversion=1 14 | ADC1.InjectedSamplingTime-4\#ChannelInjectedConversion=ADC_SAMPLETIME_1CYCLE_5 15 | ADC1.InjectedSamplingTimeOPAMP-4\#ChannelInjectedConversion=ADC_SAMPLETIME_61CYCLES_5 16 | ADC1.NbrOfConversion=3 17 | ADC1.NbrOfConversionFlag=1 18 | ADC1.Offset-1\#ChannelRegularConversion=0 19 | ADC1.Offset-2\#ChannelRegularConversion=0 20 | ADC1.Offset-3\#ChannelRegularConversion=0 21 | ADC1.OffsetNumber-1\#ChannelRegularConversion=ADC_OFFSET_NONE 22 | ADC1.OffsetNumber-2\#ChannelRegularConversion=ADC_OFFSET_NONE 23 | ADC1.OffsetNumber-3\#ChannelRegularConversion=ADC_OFFSET_NONE 24 | ADC1.Rank-1\#ChannelRegularConversion=1 25 | ADC1.Rank-2\#ChannelRegularConversion=2 26 | ADC1.Rank-3\#ChannelRegularConversion=3 27 | ADC1.Rank1_Channel=ADC_CHANNEL_1 28 | ADC1.SamplingTime-1\#ChannelRegularConversion=ADC_SAMPLETIME_1CYCLE_5 29 | ADC1.SamplingTime-2\#ChannelRegularConversion=ADC_SAMPLETIME_1CYCLE_5 30 | ADC1.SamplingTime-3\#ChannelRegularConversion=ADC_SAMPLETIME_1CYCLE_5 31 | ADC1.SamplingTimeOPAMP-2\#ChannelRegularConversion=ADC_SAMPLETIME_61CYCLES_5 32 | ADC1.SamplingTimeOPAMP-3\#ChannelRegularConversion=ADC_SAMPLETIME_61CYCLES_5 33 | ADC1.master=1 34 | CAN.BS1=CAN_BS1_4TQ 35 | CAN.BS2=CAN_BS2_4TQ 36 | CAN.CalculateBaudRate=1000000 37 | CAN.CalculateTimeBit=1000 38 | CAN.CalculateTimeQuantum=111.11111111111111 39 | CAN.IPParameters=CalculateTimeQuantum,CalculateTimeBit,CalculateBaudRate,Prescaler,BS1,BS2 40 | CAN.Prescaler=4 41 | File.Version=6 42 | GPIO.groupedBy=Group By Peripherals 43 | HRTIM1.ADCTrigger_Id1=__NULL 44 | HRTIM1.CompareUnit1-MasterTimer=__NULL 45 | HRTIM1.CompareUnit1-Output_TA1TA2=__NULL 46 | HRTIM1.Deadtimeconfig-Output_TA1TA2=__NULL 47 | HRTIM1.Enable=HRTIM_BURSTMODECTL_DISABLED 48 | HRTIM1.EnableCalibration=DLLSimpleCalibration 49 | HRTIM1.FaultLevel2-Output_TA1TA2=HRTIM_OUTPUTFAULTLEVEL_INACTIVE 50 | HRTIM1.FaultLock-Output_TA1TA2=HRTIM_TIMFAULTLOCK_READWRITE 51 | HRTIM1.HRTIMInterruptResquests1=HRTIM_IT_SYSFLT 52 | HRTIM1.HRTIMInterruptResquests2=HRTIM_IT_NONE 53 | HRTIM1.HRTIMInterruptResquests3=HRTIM_IT_NONE 54 | HRTIM1.IPParameters=CompareUnit1-MasterTimer,Deadtimeconfig-Output_TA1TA2,HRTIMInterruptResquests1,HRTIMInterruptResquests2,HRTIMInterruptResquests3,Enable,PrescalerRatio_MASTER,EnableCalibration,Periode_MASTER,ADCTrigger_Id1,FaultLock-Output_TA1TA2,FaultLevel2-Output_TA1TA2,IdleMode2-Output_TA1TA2,CompareUnit1-Output_TA1TA2 55 | HRTIM1.IdleMode2-Output_TA1TA2=HRTIM_OUTPUTIDLEMODE_NONE 56 | HRTIM1.Periode_MASTER=16000 57 | HRTIM1.PrescalerRatio_MASTER=HRTIM_PRESCALERRATIO_MUL32 58 | KeepUserPlacement=false 59 | Mcu.CPN=STM32F334R8T7 60 | Mcu.Family=STM32F3 61 | Mcu.IP0=ADC1 62 | Mcu.IP1=CAN 63 | Mcu.IP2=HRTIM1 64 | Mcu.IP3=NVIC 65 | Mcu.IP4=RCC 66 | Mcu.IP5=SYS 67 | Mcu.IP6=USART2 68 | Mcu.IPNb=7 69 | Mcu.Name=STM32F334R(6-8)Tx 70 | Mcu.Package=LQFP64 71 | Mcu.Pin0=PF0 / OSC_IN 72 | Mcu.Pin1=PF1 / OSC_OUT 73 | Mcu.Pin10=PB11 74 | Mcu.Pin11=PB14 75 | Mcu.Pin12=PB15 76 | Mcu.Pin13=PC6 77 | Mcu.Pin14=PC7 78 | Mcu.Pin15=PC8 79 | Mcu.Pin16=PC9 80 | Mcu.Pin17=PA8 81 | Mcu.Pin18=PA9 82 | Mcu.Pin19=PA10 83 | Mcu.Pin2=PC1 84 | Mcu.Pin20=PA11 85 | Mcu.Pin21=PA13 86 | Mcu.Pin22=PA14 87 | Mcu.Pin23=PB3 88 | Mcu.Pin24=PB4 89 | Mcu.Pin25=PB8 90 | Mcu.Pin26=PB9 91 | Mcu.Pin27=VP_HRTIM1_VS_hrtimMasterTimerNoOutput 92 | Mcu.Pin28=VP_SYS_VS_Systick 93 | Mcu.Pin3=PC2 94 | Mcu.Pin4=PC3 95 | Mcu.Pin5=PA0 96 | Mcu.Pin6=PA1 97 | Mcu.Pin7=PA2 98 | Mcu.Pin8=PB0 99 | Mcu.Pin9=PB10 100 | Mcu.PinsNb=29 101 | Mcu.ThirdPartyNb=0 102 | Mcu.UserConstants= 103 | Mcu.UserName=STM32F334R8Tx 104 | MxCube.Version=6.6.1 105 | MxDb.Version=DB.6.0.60 106 | NVIC.BusFault_IRQn=true\:0\:0\:false\:false\:true\:false\:false\:false 107 | NVIC.DebugMonitor_IRQn=true\:0\:0\:false\:false\:true\:false\:false\:false 108 | NVIC.ForceEnableDMAVector=true 109 | NVIC.HRTIM1_Master_IRQn=true\:0\:0\:false\:false\:true\:false\:true\:true 110 | NVIC.HardFault_IRQn=true\:0\:0\:false\:false\:true\:false\:false\:false 111 | NVIC.MemoryManagement_IRQn=true\:0\:0\:false\:false\:true\:false\:false\:false 112 | NVIC.NonMaskableInt_IRQn=true\:0\:0\:false\:false\:true\:false\:false\:false 113 | NVIC.PendSV_IRQn=true\:0\:0\:false\:false\:true\:false\:false\:false 114 | NVIC.PriorityGroup=NVIC_PRIORITYGROUP_4 115 | NVIC.SVCall_IRQn=true\:0\:0\:false\:false\:true\:false\:false\:false 116 | NVIC.SysTick_IRQn=true\:15\:0\:false\:false\:true\:false\:true\:false 117 | NVIC.UsageFault_IRQn=true\:0\:0\:false\:false\:true\:false\:false\:false 118 | PA0.Locked=true 119 | PA0.Mode=IN1-Single-Ended 120 | PA0.Signal=ADC1_IN1 121 | PA1.Locked=true 122 | PA1.Mode=IN2-Single-Ended 123 | PA1.Signal=ADC1_IN2 124 | PA10.Mode=Output_TB1TB2 125 | PA10.Signal=HRTIM1_CHB1 126 | PA11.Mode=Output_TB1TB2 127 | PA11.Signal=HRTIM1_CHB2 128 | PA13.Mode=Serial_Wire 129 | PA13.Signal=SYS_JTMS-SWDIO 130 | PA14.Mode=Serial_Wire 131 | PA14.Signal=SYS_JTCK-SWCLK 132 | PA2.Locked=true 133 | PA2.Mode=IN3-Single-Ended 134 | PA2.Signal=ADC1_IN3 135 | PA8.Locked=true 136 | PA8.Mode=Output_TA1TA2 137 | PA8.Signal=HRTIM1_CHA1 138 | PA9.Mode=Output_TA1TA2 139 | PA9.Signal=HRTIM1_CHA2 140 | PB0.Locked=true 141 | PB0.Signal=TIM1_CH2N 142 | PB10.Mode=Fault_Enable3 143 | PB10.Signal=HRTIM1_FLT3 144 | PB11.Mode=Fault_Enable4 145 | PB11.Signal=HRTIM1_FLT4 146 | PB14.Locked=true 147 | PB14.Signal=S_TIM15_CH1 148 | PB15.Locked=true 149 | PB15.Signal=S_TIM15_CH2 150 | PB3.Mode=Asynchronous 151 | PB3.Signal=USART2_TX 152 | PB4.Locked=true 153 | PB4.Mode=Asynchronous 154 | PB4.Signal=USART2_RX 155 | PB8.Mode=CAN_Activate 156 | PB8.Signal=CAN_RX 157 | PB9.Mode=CAN_Activate 158 | PB9.Signal=CAN_TX 159 | PC1.Locked=true 160 | PC1.Signal=ADCx_IN7 161 | PC2.Locked=true 162 | PC2.Signal=ADCx_IN8 163 | PC3.Locked=true 164 | PC3.Signal=ADCx_IN9 165 | PC6.Locked=true 166 | PC6.Signal=S_TIM3_CH1 167 | PC7.Locked=true 168 | PC7.Signal=S_TIM3_CH2 169 | PC8.Locked=true 170 | PC8.Signal=S_TIM3_CH3 171 | PC9.Locked=true 172 | PC9.Signal=S_TIM3_CH4 173 | PF0\ /\ OSC_IN.Mode=HSE-External-Oscillator 174 | PF0\ /\ OSC_IN.Signal=RCC_OSC_IN 175 | PF1\ /\ OSC_OUT.Mode=HSE-External-Oscillator 176 | PF1\ /\ OSC_OUT.Signal=RCC_OSC_OUT 177 | PinOutPanel.RotationAngle=0 178 | ProjectManager.AskForMigrate=true 179 | ProjectManager.BackupPrevious=false 180 | ProjectManager.CompilerOptimize=6 181 | ProjectManager.ComputerToolchain=false 182 | ProjectManager.CoupleFile=false 183 | ProjectManager.CustomerFirmwarePackage= 184 | ProjectManager.DefaultFWLocation=true 185 | ProjectManager.DeletePrevious=true 186 | ProjectManager.DeviceId=STM32F334R8Tx 187 | ProjectManager.FirmwarePackage=STM32Cube FW_F3 V1.11.3 188 | ProjectManager.FreePins=false 189 | ProjectManager.HalAssertFull=false 190 | ProjectManager.HeapSize=0x200 191 | ProjectManager.KeepUserCode=true 192 | ProjectManager.LastFirmware=true 193 | ProjectManager.LibraryCopy=0 194 | ProjectManager.MainLocation=Core/Src 195 | ProjectManager.NoMain=false 196 | ProjectManager.PreviousToolchain= 197 | ProjectManager.ProjectBuild=false 198 | ProjectManager.ProjectFileName=charger_JYC_RM2023_V0.1_control.ioc 199 | ProjectManager.ProjectName=charger_JYC_RM2023_V0.1_control 200 | ProjectManager.RegisterCallBack= 201 | ProjectManager.StackSize=0x400 202 | ProjectManager.TargetToolchain=EWARM V8.32 203 | ProjectManager.ToolChainLocation= 204 | ProjectManager.UnderRoot=false 205 | ProjectManager.functionlistsort=1-SystemClock_Config-RCC-false-HAL-false,2-MX_GPIO_Init-GPIO-false-HAL-true,3-MX_CAN_Init-CAN-false-HAL-true,4-MX_HRTIM1_Init-HRTIM1-false-HAL-true 206 | RCC.ADC12outputFreq_Value=72000000 207 | RCC.AHBFreq_Value=72000000 208 | RCC.APB1CLKDivider=RCC_HCLK_DIV2 209 | RCC.APB1Freq_Value=36000000 210 | RCC.APB1TimFreq_Value=72000000 211 | RCC.APB2Freq_Value=72000000 212 | RCC.APB2TimFreq_Value=72000000 213 | RCC.CortexFreq_Value=72000000 214 | RCC.FCLKCortexFreq_Value=72000000 215 | RCC.FamilyName=M 216 | RCC.HCLKFreq_Value=72000000 217 | RCC.HRTIM1Freq_Value=144000000 218 | RCC.HRTIMSelection=RCC_HRTIM1CLK_PLLCLK 219 | RCC.HSEPLLFreq_Value=8000000 220 | RCC.HSE_VALUE=8000000 221 | RCC.HSIPLLFreq_Value=4000000 222 | RCC.HSI_VALUE=8000000 223 | RCC.I2C1Freq_Value=8000000 224 | RCC.IPParameters=ADC12outputFreq_Value,AHBFreq_Value,APB1CLKDivider,APB1Freq_Value,APB1TimFreq_Value,APB2Freq_Value,APB2TimFreq_Value,CortexFreq_Value,FCLKCortexFreq_Value,FamilyName,HCLKFreq_Value,HRTIM1Freq_Value,HRTIMSelection,HSEPLLFreq_Value,HSE_VALUE,HSIPLLFreq_Value,HSI_VALUE,I2C1Freq_Value,LSE_VALUE,LSI_VALUE,MCOFreq_Value,PLLCLKFreq_Value,PLLMCOFreq_Value,PLLMUL,PLLSourceVirtual,RTCFreq_Value,RTCHSEDivFreq_Value,SYSCLKFreq_VALUE,SYSCLKSourceVirtual,TIM1Freq_Value,TIM2Freq_Value,USART1Freq_Value,VCOOutput2Freq_Value 225 | RCC.LSE_VALUE=32768 226 | RCC.LSI_VALUE=40000 227 | RCC.MCOFreq_Value=72000000 228 | RCC.PLLCLKFreq_Value=72000000 229 | RCC.PLLMCOFreq_Value=72000000 230 | RCC.PLLMUL=RCC_PLL_MUL9 231 | RCC.PLLSourceVirtual=RCC_PLLSOURCE_HSE 232 | RCC.RTCFreq_Value=40000 233 | RCC.RTCHSEDivFreq_Value=250000 234 | RCC.SYSCLKFreq_VALUE=72000000 235 | RCC.SYSCLKSourceVirtual=RCC_SYSCLKSOURCE_PLLCLK 236 | RCC.TIM1Freq_Value=72000000 237 | RCC.TIM2Freq_Value=72000000 238 | RCC.USART1Freq_Value=36000000 239 | RCC.VCOOutput2Freq_Value=8000000 240 | SH.ADCx_IN7.0=ADC2_IN7 241 | SH.ADCx_IN7.ConfNb=1 242 | SH.ADCx_IN8.0=ADC2_IN8 243 | SH.ADCx_IN8.ConfNb=1 244 | SH.ADCx_IN9.0=ADC2_IN9 245 | SH.ADCx_IN9.ConfNb=1 246 | SH.S_TIM15_CH1.0=TIM15_CH1 247 | SH.S_TIM15_CH1.ConfNb=1 248 | SH.S_TIM15_CH2.0=TIM15_CH2 249 | SH.S_TIM15_CH2.ConfNb=1 250 | SH.S_TIM3_CH1.0=TIM3_CH1 251 | SH.S_TIM3_CH1.ConfNb=1 252 | SH.S_TIM3_CH2.0=TIM3_CH2 253 | SH.S_TIM3_CH2.ConfNb=1 254 | SH.S_TIM3_CH3.0=TIM3_CH3 255 | SH.S_TIM3_CH3.ConfNb=1 256 | SH.S_TIM3_CH4.0=TIM3_CH4 257 | SH.S_TIM3_CH4.ConfNb=1 258 | USART2.IPParameters=VirtualMode-Asynchronous 259 | USART2.VirtualMode-Asynchronous=VM_ASYNC 260 | VP_HRTIM1_VS_hrtimMasterTimerNoOutput.Mode=MasterTimer 261 | VP_HRTIM1_VS_hrtimMasterTimerNoOutput.Signal=HRTIM1_VS_hrtimMasterTimerNoOutput 262 | VP_SYS_VS_Systick.Mode=SysTick 263 | VP_SYS_VS_Systick.Signal=SYS_VS_Systick 264 | board=custom 265 | -------------------------------------------------------------------------------- /cap_array_hardware/capArray_JYC_RM2023_V0.2.kicad_pro: -------------------------------------------------------------------------------- 1 | { 2 | "board": { 3 | "3dviewports": [], 4 | "design_settings": { 5 | "defaults": { 6 | "board_outline_line_width": 0.09999999999999999, 7 | "copper_line_width": 0.19999999999999998, 8 | "copper_text_italic": false, 9 | "copper_text_size_h": 1.5, 10 | "copper_text_size_v": 1.5, 11 | "copper_text_thickness": 0.3, 12 | "copper_text_upright": false, 13 | "courtyard_line_width": 0.049999999999999996, 14 | "dimension_precision": 4, 15 | "dimension_units": 3, 16 | "dimensions": { 17 | "arrow_length": 1270000, 18 | "extension_offset": 500000, 19 | "keep_text_aligned": true, 20 | "suppress_zeroes": false, 21 | "text_position": 0, 22 | "units_format": 1 23 | }, 24 | "fab_line_width": 0.09999999999999999, 25 | "fab_text_italic": false, 26 | "fab_text_size_h": 1.0, 27 | "fab_text_size_v": 1.0, 28 | "fab_text_thickness": 0.15, 29 | "fab_text_upright": false, 30 | "other_line_width": 0.15, 31 | "other_text_italic": false, 32 | "other_text_size_h": 1.0, 33 | "other_text_size_v": 1.0, 34 | "other_text_thickness": 0.15, 35 | "other_text_upright": false, 36 | "pads": { 37 | "drill": 0.762, 38 | "height": 1.524, 39 | "width": 1.524 40 | }, 41 | "silk_line_width": 0.15, 42 | "silk_text_italic": false, 43 | "silk_text_size_h": 1.0, 44 | "silk_text_size_v": 1.0, 45 | "silk_text_thickness": 0.15, 46 | "silk_text_upright": false, 47 | "zones": { 48 | "min_clearance": 0.5 49 | } 50 | }, 51 | "diff_pair_dimensions": [ 52 | { 53 | "gap": 0.0, 54 | "via_gap": 0.0, 55 | "width": 0.0 56 | } 57 | ], 58 | "drc_exclusions": [], 59 | "meta": { 60 | "version": 2 61 | }, 62 | "rule_severities": { 63 | "annular_width": "error", 64 | "clearance": "error", 65 | "connection_width": "warning", 66 | "copper_edge_clearance": "error", 67 | "copper_sliver": "warning", 68 | "courtyards_overlap": "warning", 69 | "diff_pair_gap_out_of_range": "error", 70 | "diff_pair_uncoupled_length_too_long": "error", 71 | "drill_out_of_range": "error", 72 | "duplicate_footprints": "warning", 73 | "extra_footprint": "warning", 74 | "footprint": "error", 75 | "footprint_type_mismatch": "ignore", 76 | "hole_clearance": "error", 77 | "hole_near_hole": "error", 78 | "invalid_outline": "error", 79 | "isolated_copper": "warning", 80 | "item_on_disabled_layer": "error", 81 | "items_not_allowed": "error", 82 | "length_out_of_range": "error", 83 | "lib_footprint_issues": "warning", 84 | "lib_footprint_mismatch": "warning", 85 | "malformed_courtyard": "error", 86 | "microvia_drill_out_of_range": "error", 87 | "missing_courtyard": "ignore", 88 | "missing_footprint": "warning", 89 | "net_conflict": "warning", 90 | "npth_inside_courtyard": "ignore", 91 | "padstack": "warning", 92 | "pth_inside_courtyard": "ignore", 93 | "shorting_items": "error", 94 | "silk_edge_clearance": "warning", 95 | "silk_over_copper": "warning", 96 | "silk_overlap": "warning", 97 | "skew_out_of_range": "error", 98 | "solder_mask_bridge": "error", 99 | "starved_thermal": "error", 100 | "text_height": "warning", 101 | "text_thickness": "warning", 102 | "through_hole_pad_without_hole": "error", 103 | "too_many_vias": "error", 104 | "track_dangling": "warning", 105 | "track_width": "error", 106 | "tracks_crossing": "error", 107 | "unconnected_items": "error", 108 | "unresolved_variable": "error", 109 | "via_dangling": "warning", 110 | "zones_intersect": "error" 111 | }, 112 | "rules": { 113 | "max_error": 0.005, 114 | "min_clearance": 0.0, 115 | "min_connection": 0.0, 116 | "min_copper_edge_clearance": 0.0, 117 | "min_hole_clearance": 0.25, 118 | "min_hole_to_hole": 0.25, 119 | "min_microvia_diameter": 0.19999999999999998, 120 | "min_microvia_drill": 0.09999999999999999, 121 | "min_resolved_spokes": 2, 122 | "min_silk_clearance": 0.0, 123 | "min_text_height": 0.7999999999999999, 124 | "min_text_thickness": 0.08, 125 | "min_through_hole_diameter": 0.3, 126 | "min_track_width": 0.0, 127 | "min_via_annular_width": 0.09999999999999999, 128 | "min_via_diameter": 0.5, 129 | "solder_mask_clearance": 0.0, 130 | "solder_mask_min_width": 0.0, 131 | "solder_mask_to_copper_clearance": 0.0, 132 | "use_height_for_length_calcs": true 133 | }, 134 | "teardrop_options": [ 135 | { 136 | "td_allow_use_two_tracks": true, 137 | "td_curve_segcount": 5, 138 | "td_on_pad_in_zone": false, 139 | "td_onpadsmd": true, 140 | "td_onroundshapesonly": false, 141 | "td_ontrackend": false, 142 | "td_onviapad": true 143 | } 144 | ], 145 | "teardrop_parameters": [ 146 | { 147 | "td_curve_segcount": 0, 148 | "td_height_ratio": 1.0, 149 | "td_length_ratio": 0.5, 150 | "td_maxheight": 2.0, 151 | "td_maxlen": 1.0, 152 | "td_target_name": "td_round_shape", 153 | "td_width_to_size_filter_ratio": 0.9 154 | }, 155 | { 156 | "td_curve_segcount": 0, 157 | "td_height_ratio": 1.0, 158 | "td_length_ratio": 0.5, 159 | "td_maxheight": 2.0, 160 | "td_maxlen": 1.0, 161 | "td_target_name": "td_rect_shape", 162 | "td_width_to_size_filter_ratio": 0.9 163 | }, 164 | { 165 | "td_curve_segcount": 0, 166 | "td_height_ratio": 1.0, 167 | "td_length_ratio": 0.5, 168 | "td_maxheight": 2.0, 169 | "td_maxlen": 1.0, 170 | "td_target_name": "td_track_end", 171 | "td_width_to_size_filter_ratio": 0.9 172 | } 173 | ], 174 | "track_widths": [ 175 | 0.0, 176 | 0.508, 177 | 2.0 178 | ], 179 | "via_dimensions": [ 180 | { 181 | "diameter": 0.0, 182 | "drill": 0.0 183 | } 184 | ], 185 | "zones_allow_external_fillets": true 186 | }, 187 | "layer_presets": [], 188 | "viewports": [] 189 | }, 190 | "boards": [], 191 | "cvpcb": { 192 | "equivalence_files": [] 193 | }, 194 | "erc": { 195 | "erc_exclusions": [], 196 | "meta": { 197 | "version": 0 198 | }, 199 | "pin_map": [ 200 | [ 201 | 0, 202 | 0, 203 | 0, 204 | 0, 205 | 0, 206 | 0, 207 | 1, 208 | 0, 209 | 0, 210 | 0, 211 | 0, 212 | 2 213 | ], 214 | [ 215 | 0, 216 | 2, 217 | 0, 218 | 1, 219 | 0, 220 | 0, 221 | 1, 222 | 0, 223 | 2, 224 | 2, 225 | 2, 226 | 2 227 | ], 228 | [ 229 | 0, 230 | 0, 231 | 0, 232 | 0, 233 | 0, 234 | 0, 235 | 1, 236 | 0, 237 | 1, 238 | 0, 239 | 1, 240 | 2 241 | ], 242 | [ 243 | 0, 244 | 1, 245 | 0, 246 | 0, 247 | 0, 248 | 0, 249 | 1, 250 | 1, 251 | 2, 252 | 1, 253 | 1, 254 | 2 255 | ], 256 | [ 257 | 0, 258 | 0, 259 | 0, 260 | 0, 261 | 0, 262 | 0, 263 | 1, 264 | 0, 265 | 0, 266 | 0, 267 | 0, 268 | 2 269 | ], 270 | [ 271 | 0, 272 | 0, 273 | 0, 274 | 0, 275 | 0, 276 | 0, 277 | 0, 278 | 0, 279 | 0, 280 | 0, 281 | 0, 282 | 2 283 | ], 284 | [ 285 | 1, 286 | 1, 287 | 1, 288 | 1, 289 | 1, 290 | 0, 291 | 1, 292 | 1, 293 | 1, 294 | 1, 295 | 1, 296 | 2 297 | ], 298 | [ 299 | 0, 300 | 0, 301 | 0, 302 | 1, 303 | 0, 304 | 0, 305 | 1, 306 | 0, 307 | 0, 308 | 0, 309 | 0, 310 | 2 311 | ], 312 | [ 313 | 0, 314 | 2, 315 | 1, 316 | 2, 317 | 0, 318 | 0, 319 | 1, 320 | 0, 321 | 2, 322 | 2, 323 | 2, 324 | 2 325 | ], 326 | [ 327 | 0, 328 | 2, 329 | 0, 330 | 1, 331 | 0, 332 | 0, 333 | 1, 334 | 0, 335 | 2, 336 | 0, 337 | 0, 338 | 2 339 | ], 340 | [ 341 | 0, 342 | 2, 343 | 1, 344 | 1, 345 | 0, 346 | 0, 347 | 1, 348 | 0, 349 | 2, 350 | 0, 351 | 0, 352 | 2 353 | ], 354 | [ 355 | 2, 356 | 2, 357 | 2, 358 | 2, 359 | 2, 360 | 2, 361 | 2, 362 | 2, 363 | 2, 364 | 2, 365 | 2, 366 | 2 367 | ] 368 | ], 369 | "rule_severities": { 370 | "bus_definition_conflict": "error", 371 | "bus_entry_needed": "error", 372 | "bus_to_bus_conflict": "error", 373 | "bus_to_net_conflict": "error", 374 | "conflicting_netclasses": "error", 375 | "different_unit_footprint": "error", 376 | "different_unit_net": "error", 377 | "duplicate_reference": "error", 378 | "duplicate_sheet_names": "error", 379 | "endpoint_off_grid": "warning", 380 | "extra_units": "error", 381 | "global_label_dangling": "warning", 382 | "hier_label_mismatch": "error", 383 | "label_dangling": "error", 384 | "lib_symbol_issues": "warning", 385 | "missing_bidi_pin": "warning", 386 | "missing_input_pin": "warning", 387 | "missing_power_pin": "error", 388 | "missing_unit": "warning", 389 | "multiple_net_names": "warning", 390 | "net_not_bus_member": "warning", 391 | "no_connect_connected": "warning", 392 | "no_connect_dangling": "warning", 393 | "pin_not_connected": "error", 394 | "pin_not_driven": "error", 395 | "pin_to_pin": "warning", 396 | "power_pin_not_driven": "error", 397 | "similar_labels": "warning", 398 | "simulation_model_issue": "error", 399 | "unannotated": "error", 400 | "unit_value_mismatch": "error", 401 | "unresolved_variable": "error", 402 | "wire_dangling": "error" 403 | } 404 | }, 405 | "libraries": { 406 | "pinned_footprint_libs": [], 407 | "pinned_symbol_libs": [] 408 | }, 409 | "meta": { 410 | "filename": "capArray_JYC_RM2023_V0.1.kicad_pro", 411 | "version": 1 412 | }, 413 | "net_settings": { 414 | "classes": [ 415 | { 416 | "bus_width": 12, 417 | "clearance": 0.2, 418 | "diff_pair_gap": 0.25, 419 | "diff_pair_via_gap": 0.25, 420 | "diff_pair_width": 0.2, 421 | "line_style": 0, 422 | "microvia_diameter": 0.3, 423 | "microvia_drill": 0.1, 424 | "name": "Default", 425 | "pcb_color": "rgba(0, 0, 0, 0.000)", 426 | "schematic_color": "rgba(0, 0, 0, 0.000)", 427 | "track_width": 0.25, 428 | "via_diameter": 0.8, 429 | "via_drill": 0.4, 430 | "wire_width": 6 431 | } 432 | ], 433 | "meta": { 434 | "version": 3 435 | }, 436 | "net_colors": null, 437 | "netclass_assignments": null, 438 | "netclass_patterns": [] 439 | }, 440 | "pcbnew": { 441 | "last_paths": { 442 | "gencad": "", 443 | "idf": "", 444 | "netlist": "", 445 | "specctra_dsn": "", 446 | "step": "", 447 | "vrml": "" 448 | }, 449 | "page_layout_descr_file": "" 450 | }, 451 | "schematic": { 452 | "annotate_start_num": 0, 453 | "drawing": { 454 | "dashed_lines_dash_length_ratio": 12.0, 455 | "dashed_lines_gap_length_ratio": 3.0, 456 | "default_line_thickness": 6.0, 457 | "default_text_size": 50.0, 458 | "field_names": [], 459 | "intersheets_ref_own_page": false, 460 | "intersheets_ref_prefix": "", 461 | "intersheets_ref_short": false, 462 | "intersheets_ref_show": false, 463 | "intersheets_ref_suffix": "", 464 | "junction_size_choice": 3, 465 | "label_size_ratio": 0.375, 466 | "pin_symbol_size": 25.0, 467 | "text_offset_ratio": 0.15 468 | }, 469 | "legacy_lib_dir": "", 470 | "legacy_lib_list": [], 471 | "meta": { 472 | "version": 1 473 | }, 474 | "net_format_name": "", 475 | "ngspice": { 476 | "fix_include_paths": true, 477 | "fix_passive_vals": false, 478 | "meta": { 479 | "version": 0 480 | }, 481 | "model_mode": 0, 482 | "workbook_filename": "" 483 | }, 484 | "page_layout_descr_file": "", 485 | "plot_directory": "", 486 | "spice_adjust_passive_values": false, 487 | "spice_current_sheet_as_root": false, 488 | "spice_external_command": "spice \"%I\"", 489 | "spice_model_current_sheet_as_root": true, 490 | "spice_save_all_currents": false, 491 | "spice_save_all_voltages": false, 492 | "subpart_first_id": 65, 493 | "subpart_id_separator": 0 494 | }, 495 | "sheets": [ 496 | [ 497 | "53defa58-71e4-450a-ae8f-b716d2733a95", 498 | "" 499 | ] 500 | ], 501 | "text_variables": {} 502 | } 503 | -------------------------------------------------------------------------------- /cap_controller_hardware/lower/charger_JYC_RM2023_V1.2_power.kicad_pro: -------------------------------------------------------------------------------- 1 | { 2 | "board": { 3 | "3dviewports": [], 4 | "design_settings": { 5 | "defaults": { 6 | "board_outline_line_width": 0.09999999999999999, 7 | "copper_line_width": 0.19999999999999998, 8 | "copper_text_italic": false, 9 | "copper_text_size_h": 1.5, 10 | "copper_text_size_v": 1.5, 11 | "copper_text_thickness": 0.3, 12 | "copper_text_upright": false, 13 | "courtyard_line_width": 0.049999999999999996, 14 | "dimension_precision": 4, 15 | "dimension_units": 3, 16 | "dimensions": { 17 | "arrow_length": 1270000, 18 | "extension_offset": 500000, 19 | "keep_text_aligned": true, 20 | "suppress_zeroes": false, 21 | "text_position": 0, 22 | "units_format": 1 23 | }, 24 | "fab_line_width": 0.09999999999999999, 25 | "fab_text_italic": false, 26 | "fab_text_size_h": 1.0, 27 | "fab_text_size_v": 1.0, 28 | "fab_text_thickness": 0.15, 29 | "fab_text_upright": false, 30 | "other_line_width": 0.15, 31 | "other_text_italic": false, 32 | "other_text_size_h": 1.0, 33 | "other_text_size_v": 1.0, 34 | "other_text_thickness": 0.15, 35 | "other_text_upright": false, 36 | "pads": { 37 | "drill": 0.0, 38 | "height": 3.0, 39 | "width": 6.0 40 | }, 41 | "silk_line_width": 0.15, 42 | "silk_text_italic": false, 43 | "silk_text_size_h": 1.0, 44 | "silk_text_size_v": 1.0, 45 | "silk_text_thickness": 0.15, 46 | "silk_text_upright": false, 47 | "zones": { 48 | "45_degree_only": false, 49 | "min_clearance": 0.254 50 | } 51 | }, 52 | "diff_pair_dimensions": [ 53 | { 54 | "gap": 0.0, 55 | "via_gap": 0.0, 56 | "width": 0.0 57 | } 58 | ], 59 | "drc_exclusions": [], 60 | "meta": { 61 | "version": 2 62 | }, 63 | "rule_severities": { 64 | "annular_width": "error", 65 | "clearance": "error", 66 | "connection_width": "warning", 67 | "copper_edge_clearance": "error", 68 | "copper_sliver": "warning", 69 | "courtyards_overlap": "error", 70 | "diff_pair_gap_out_of_range": "error", 71 | "diff_pair_uncoupled_length_too_long": "error", 72 | "drill_out_of_range": "error", 73 | "duplicate_footprints": "warning", 74 | "extra_footprint": "warning", 75 | "footprint": "error", 76 | "footprint_type_mismatch": "error", 77 | "hole_clearance": "error", 78 | "hole_near_hole": "error", 79 | "invalid_outline": "error", 80 | "isolated_copper": "warning", 81 | "item_on_disabled_layer": "error", 82 | "items_not_allowed": "error", 83 | "length_out_of_range": "error", 84 | "lib_footprint_issues": "warning", 85 | "lib_footprint_mismatch": "warning", 86 | "malformed_courtyard": "error", 87 | "microvia_drill_out_of_range": "error", 88 | "missing_courtyard": "ignore", 89 | "missing_footprint": "warning", 90 | "net_conflict": "warning", 91 | "npth_inside_courtyard": "ignore", 92 | "padstack": "error", 93 | "pth_inside_courtyard": "ignore", 94 | "shorting_items": "error", 95 | "silk_edge_clearance": "warning", 96 | "silk_over_copper": "warning", 97 | "silk_overlap": "warning", 98 | "skew_out_of_range": "error", 99 | "solder_mask_bridge": "error", 100 | "starved_thermal": "error", 101 | "text_height": "warning", 102 | "text_thickness": "warning", 103 | "through_hole_pad_without_hole": "error", 104 | "too_many_vias": "error", 105 | "track_dangling": "warning", 106 | "track_width": "error", 107 | "tracks_crossing": "error", 108 | "unconnected_items": "error", 109 | "unresolved_variable": "error", 110 | "via_dangling": "warning", 111 | "zones_intersect": "error" 112 | }, 113 | "rules": { 114 | "allow_blind_buried_vias": false, 115 | "allow_microvias": false, 116 | "max_error": 0.005, 117 | "min_clearance": 0.0, 118 | "min_connection": 0.0, 119 | "min_copper_edge_clearance": 0.508, 120 | "min_hole_clearance": 0.25, 121 | "min_hole_to_hole": 0.25, 122 | "min_microvia_diameter": 0.19999999999999998, 123 | "min_microvia_drill": 0.09999999999999999, 124 | "min_resolved_spokes": 2, 125 | "min_silk_clearance": 0.0, 126 | "min_text_height": 0.7999999999999999, 127 | "min_text_thickness": 0.12, 128 | "min_through_hole_diameter": 0.3, 129 | "min_track_width": 0.19999999999999998, 130 | "min_via_annular_width": 0.049999999999999996, 131 | "min_via_diameter": 0.39999999999999997, 132 | "solder_mask_clearance": 0.0, 133 | "solder_mask_min_width": 0.0, 134 | "solder_mask_to_copper_clearance": 0.0, 135 | "use_height_for_length_calcs": true 136 | }, 137 | "teardrop_options": [ 138 | { 139 | "td_allow_use_two_tracks": true, 140 | "td_curve_segcount": 5, 141 | "td_on_pad_in_zone": false, 142 | "td_onpadsmd": true, 143 | "td_onroundshapesonly": false, 144 | "td_ontrackend": false, 145 | "td_onviapad": true 146 | } 147 | ], 148 | "teardrop_parameters": [ 149 | { 150 | "td_curve_segcount": 0, 151 | "td_height_ratio": 1.0, 152 | "td_length_ratio": 0.5, 153 | "td_maxheight": 2.0, 154 | "td_maxlen": 1.0, 155 | "td_target_name": "td_round_shape", 156 | "td_width_to_size_filter_ratio": 0.9 157 | }, 158 | { 159 | "td_curve_segcount": 0, 160 | "td_height_ratio": 1.0, 161 | "td_length_ratio": 0.5, 162 | "td_maxheight": 2.0, 163 | "td_maxlen": 1.0, 164 | "td_target_name": "td_rect_shape", 165 | "td_width_to_size_filter_ratio": 0.9 166 | }, 167 | { 168 | "td_curve_segcount": 0, 169 | "td_height_ratio": 1.0, 170 | "td_length_ratio": 0.5, 171 | "td_maxheight": 2.0, 172 | "td_maxlen": 1.0, 173 | "td_target_name": "td_track_end", 174 | "td_width_to_size_filter_ratio": 0.9 175 | } 176 | ], 177 | "track_widths": [ 178 | 0.0, 179 | 0.1524, 180 | 0.2032, 181 | 0.508, 182 | 3.048 183 | ], 184 | "via_dimensions": [ 185 | { 186 | "diameter": 0.0, 187 | "drill": 0.0 188 | } 189 | ], 190 | "zones_allow_external_fillets": true, 191 | "zones_use_no_outline": true 192 | }, 193 | "layer_presets": [], 194 | "viewports": [] 195 | }, 196 | "boards": [], 197 | "cvpcb": { 198 | "equivalence_files": [] 199 | }, 200 | "erc": { 201 | "erc_exclusions": [], 202 | "meta": { 203 | "version": 0 204 | }, 205 | "pin_map": [ 206 | [ 207 | 0, 208 | 0, 209 | 0, 210 | 0, 211 | 0, 212 | 0, 213 | 1, 214 | 0, 215 | 0, 216 | 0, 217 | 0, 218 | 2 219 | ], 220 | [ 221 | 0, 222 | 2, 223 | 0, 224 | 1, 225 | 0, 226 | 0, 227 | 1, 228 | 0, 229 | 2, 230 | 2, 231 | 2, 232 | 2 233 | ], 234 | [ 235 | 0, 236 | 0, 237 | 0, 238 | 0, 239 | 0, 240 | 0, 241 | 1, 242 | 0, 243 | 1, 244 | 0, 245 | 1, 246 | 2 247 | ], 248 | [ 249 | 0, 250 | 1, 251 | 0, 252 | 0, 253 | 0, 254 | 0, 255 | 1, 256 | 1, 257 | 2, 258 | 1, 259 | 1, 260 | 2 261 | ], 262 | [ 263 | 0, 264 | 0, 265 | 0, 266 | 0, 267 | 0, 268 | 0, 269 | 1, 270 | 0, 271 | 0, 272 | 0, 273 | 0, 274 | 2 275 | ], 276 | [ 277 | 0, 278 | 0, 279 | 0, 280 | 0, 281 | 0, 282 | 0, 283 | 0, 284 | 0, 285 | 0, 286 | 0, 287 | 0, 288 | 2 289 | ], 290 | [ 291 | 1, 292 | 1, 293 | 1, 294 | 1, 295 | 1, 296 | 0, 297 | 1, 298 | 1, 299 | 1, 300 | 1, 301 | 1, 302 | 2 303 | ], 304 | [ 305 | 0, 306 | 0, 307 | 0, 308 | 1, 309 | 0, 310 | 0, 311 | 1, 312 | 0, 313 | 0, 314 | 0, 315 | 0, 316 | 2 317 | ], 318 | [ 319 | 0, 320 | 2, 321 | 1, 322 | 2, 323 | 0, 324 | 0, 325 | 1, 326 | 0, 327 | 2, 328 | 2, 329 | 2, 330 | 2 331 | ], 332 | [ 333 | 0, 334 | 2, 335 | 0, 336 | 1, 337 | 0, 338 | 0, 339 | 1, 340 | 0, 341 | 2, 342 | 0, 343 | 0, 344 | 2 345 | ], 346 | [ 347 | 0, 348 | 2, 349 | 1, 350 | 1, 351 | 0, 352 | 0, 353 | 1, 354 | 0, 355 | 2, 356 | 0, 357 | 0, 358 | 2 359 | ], 360 | [ 361 | 2, 362 | 2, 363 | 2, 364 | 2, 365 | 2, 366 | 2, 367 | 2, 368 | 2, 369 | 2, 370 | 2, 371 | 2, 372 | 2 373 | ] 374 | ], 375 | "rule_severities": { 376 | "bus_definition_conflict": "error", 377 | "bus_entry_needed": "error", 378 | "bus_to_bus_conflict": "error", 379 | "bus_to_net_conflict": "error", 380 | "conflicting_netclasses": "error", 381 | "different_unit_footprint": "error", 382 | "different_unit_net": "error", 383 | "duplicate_reference": "error", 384 | "duplicate_sheet_names": "error", 385 | "endpoint_off_grid": "warning", 386 | "extra_units": "error", 387 | "global_label_dangling": "warning", 388 | "hier_label_mismatch": "error", 389 | "label_dangling": "error", 390 | "lib_symbol_issues": "warning", 391 | "missing_bidi_pin": "warning", 392 | "missing_input_pin": "warning", 393 | "missing_power_pin": "error", 394 | "missing_unit": "warning", 395 | "multiple_net_names": "warning", 396 | "net_not_bus_member": "warning", 397 | "no_connect_connected": "warning", 398 | "no_connect_dangling": "warning", 399 | "pin_not_connected": "error", 400 | "pin_not_driven": "error", 401 | "pin_to_pin": "warning", 402 | "power_pin_not_driven": "error", 403 | "similar_labels": "warning", 404 | "simulation_model_issue": "error", 405 | "unannotated": "error", 406 | "unit_value_mismatch": "error", 407 | "unresolved_variable": "error", 408 | "wire_dangling": "error" 409 | } 410 | }, 411 | "libraries": { 412 | "pinned_footprint_libs": [], 413 | "pinned_symbol_libs": [] 414 | }, 415 | "meta": { 416 | "filename": "charger_JYC_RM2023_V1.1_power.kicad_pro", 417 | "version": 1 418 | }, 419 | "net_settings": { 420 | "classes": [ 421 | { 422 | "bus_width": 12, 423 | "clearance": 0.2, 424 | "diff_pair_gap": 0.25, 425 | "diff_pair_via_gap": 0.25, 426 | "diff_pair_width": 0.2, 427 | "line_style": 0, 428 | "microvia_diameter": 0.3, 429 | "microvia_drill": 0.1, 430 | "name": "Default", 431 | "pcb_color": "rgba(0, 0, 0, 0.000)", 432 | "schematic_color": "rgba(0, 0, 0, 0.000)", 433 | "track_width": 0.25, 434 | "via_diameter": 0.8, 435 | "via_drill": 0.4, 436 | "wire_width": 6 437 | } 438 | ], 439 | "meta": { 440 | "version": 3 441 | }, 442 | "net_colors": null, 443 | "netclass_assignments": null, 444 | "netclass_patterns": [] 445 | }, 446 | "pcbnew": { 447 | "last_paths": { 448 | "gencad": "", 449 | "idf": "", 450 | "netlist": "", 451 | "specctra_dsn": "", 452 | "step": "charger_JYC_RM2023_V1.0_power.step", 453 | "vrml": "" 454 | }, 455 | "page_layout_descr_file": "" 456 | }, 457 | "schematic": { 458 | "annotate_start_num": 0, 459 | "drawing": { 460 | "dashed_lines_dash_length_ratio": 12.0, 461 | "dashed_lines_gap_length_ratio": 3.0, 462 | "default_line_thickness": 6.0, 463 | "default_text_size": 50.0, 464 | "field_names": [], 465 | "intersheets_ref_own_page": false, 466 | "intersheets_ref_prefix": "", 467 | "intersheets_ref_short": false, 468 | "intersheets_ref_show": false, 469 | "intersheets_ref_suffix": "", 470 | "junction_size_choice": 3, 471 | "label_size_ratio": 0.375, 472 | "pin_symbol_size": 25.0, 473 | "text_offset_ratio": 0.15 474 | }, 475 | "legacy_lib_dir": "", 476 | "legacy_lib_list": [], 477 | "meta": { 478 | "version": 1 479 | }, 480 | "net_format_name": "", 481 | "ngspice": { 482 | "fix_include_paths": true, 483 | "fix_passive_vals": false, 484 | "meta": { 485 | "version": 0 486 | }, 487 | "model_mode": 0, 488 | "workbook_filename": "" 489 | }, 490 | "page_layout_descr_file": "", 491 | "plot_directory": "", 492 | "spice_adjust_passive_values": false, 493 | "spice_current_sheet_as_root": false, 494 | "spice_external_command": "spice \"%I\"", 495 | "spice_model_current_sheet_as_root": true, 496 | "spice_save_all_currents": false, 497 | "spice_save_all_voltages": false, 498 | "subpart_first_id": 65, 499 | "subpart_id_separator": 0 500 | }, 501 | "sheets": [ 502 | [ 503 | "e63e39d7-6ac0-4ffd-8aa3-1841a4541b55", 504 | "" 505 | ] 506 | ], 507 | "text_variables": {} 508 | } 509 | -------------------------------------------------------------------------------- /cap_controller_hardware/upper/charger_JYC_RM2023_V1.2_control.kicad_pro: -------------------------------------------------------------------------------- 1 | { 2 | "board": { 3 | "3dviewports": [], 4 | "design_settings": { 5 | "defaults": { 6 | "board_outline_line_width": 0.09999999999999999, 7 | "copper_line_width": 0.19999999999999998, 8 | "copper_text_italic": false, 9 | "copper_text_size_h": 1.5, 10 | "copper_text_size_v": 1.5, 11 | "copper_text_thickness": 0.3, 12 | "copper_text_upright": false, 13 | "courtyard_line_width": 0.049999999999999996, 14 | "dimension_precision": 4, 15 | "dimension_units": 3, 16 | "dimensions": { 17 | "arrow_length": 1270000, 18 | "extension_offset": 500000, 19 | "keep_text_aligned": true, 20 | "suppress_zeroes": false, 21 | "text_position": 0, 22 | "units_format": 1 23 | }, 24 | "fab_line_width": 0.09999999999999999, 25 | "fab_text_italic": false, 26 | "fab_text_size_h": 1.0, 27 | "fab_text_size_v": 1.0, 28 | "fab_text_thickness": 0.15, 29 | "fab_text_upright": false, 30 | "other_line_width": 0.15, 31 | "other_text_italic": false, 32 | "other_text_size_h": 1.0, 33 | "other_text_size_v": 1.0, 34 | "other_text_thickness": 0.15, 35 | "other_text_upright": false, 36 | "pads": { 37 | "drill": 0.0, 38 | "height": 4.600001, 39 | "width": 4.600001 40 | }, 41 | "silk_line_width": 0.15, 42 | "silk_text_italic": false, 43 | "silk_text_size_h": 1.0, 44 | "silk_text_size_v": 1.0, 45 | "silk_text_thickness": 0.15, 46 | "silk_text_upright": false, 47 | "zones": { 48 | "45_degree_only": false, 49 | "min_clearance": 0.254 50 | } 51 | }, 52 | "diff_pair_dimensions": [ 53 | { 54 | "gap": 0.0, 55 | "via_gap": 0.0, 56 | "width": 0.0 57 | } 58 | ], 59 | "drc_exclusions": [], 60 | "meta": { 61 | "version": 2 62 | }, 63 | "rule_severities": { 64 | "annular_width": "error", 65 | "clearance": "error", 66 | "connection_width": "warning", 67 | "copper_edge_clearance": "error", 68 | "copper_sliver": "warning", 69 | "courtyards_overlap": "ignore", 70 | "diff_pair_gap_out_of_range": "error", 71 | "diff_pair_uncoupled_length_too_long": "error", 72 | "drill_out_of_range": "error", 73 | "duplicate_footprints": "warning", 74 | "extra_footprint": "warning", 75 | "footprint": "error", 76 | "footprint_type_mismatch": "error", 77 | "hole_clearance": "error", 78 | "hole_near_hole": "error", 79 | "invalid_outline": "error", 80 | "isolated_copper": "warning", 81 | "item_on_disabled_layer": "error", 82 | "items_not_allowed": "error", 83 | "length_out_of_range": "error", 84 | "lib_footprint_issues": "warning", 85 | "lib_footprint_mismatch": "warning", 86 | "malformed_courtyard": "error", 87 | "microvia_drill_out_of_range": "error", 88 | "missing_courtyard": "ignore", 89 | "missing_footprint": "warning", 90 | "net_conflict": "warning", 91 | "npth_inside_courtyard": "ignore", 92 | "padstack": "error", 93 | "pth_inside_courtyard": "ignore", 94 | "shorting_items": "error", 95 | "silk_edge_clearance": "warning", 96 | "silk_over_copper": "warning", 97 | "silk_overlap": "warning", 98 | "skew_out_of_range": "error", 99 | "solder_mask_bridge": "error", 100 | "starved_thermal": "error", 101 | "text_height": "warning", 102 | "text_thickness": "warning", 103 | "through_hole_pad_without_hole": "error", 104 | "too_many_vias": "error", 105 | "track_dangling": "warning", 106 | "track_width": "error", 107 | "tracks_crossing": "error", 108 | "unconnected_items": "error", 109 | "unresolved_variable": "error", 110 | "via_dangling": "warning", 111 | "zones_intersect": "error" 112 | }, 113 | "rules": { 114 | "allow_blind_buried_vias": false, 115 | "allow_microvias": false, 116 | "max_error": 0.005, 117 | "min_clearance": 0.0, 118 | "min_connection": 0.0, 119 | "min_copper_edge_clearance": 0.254, 120 | "min_hole_clearance": 0.25, 121 | "min_hole_to_hole": 0.25, 122 | "min_microvia_diameter": 0.19999999999999998, 123 | "min_microvia_drill": 0.09999999999999999, 124 | "min_resolved_spokes": 2, 125 | "min_silk_clearance": 0.0, 126 | "min_text_height": 0.7999999999999999, 127 | "min_text_thickness": 0.12, 128 | "min_through_hole_diameter": 0.127, 129 | "min_track_width": 0.15239999999999998, 130 | "min_via_annular_width": 0.049999999999999996, 131 | "min_via_diameter": 0.39999999999999997, 132 | "solder_mask_clearance": 0.0, 133 | "solder_mask_min_width": 0.0, 134 | "solder_mask_to_copper_clearance": 0.0, 135 | "use_height_for_length_calcs": true 136 | }, 137 | "teardrop_options": [ 138 | { 139 | "td_allow_use_two_tracks": true, 140 | "td_curve_segcount": 5, 141 | "td_on_pad_in_zone": false, 142 | "td_onpadsmd": true, 143 | "td_onroundshapesonly": false, 144 | "td_ontrackend": false, 145 | "td_onviapad": true 146 | } 147 | ], 148 | "teardrop_parameters": [ 149 | { 150 | "td_curve_segcount": 0, 151 | "td_height_ratio": 1.0, 152 | "td_length_ratio": 0.5, 153 | "td_maxheight": 2.0, 154 | "td_maxlen": 1.0, 155 | "td_target_name": "td_round_shape", 156 | "td_width_to_size_filter_ratio": 0.9 157 | }, 158 | { 159 | "td_curve_segcount": 0, 160 | "td_height_ratio": 1.0, 161 | "td_length_ratio": 0.5, 162 | "td_maxheight": 2.0, 163 | "td_maxlen": 1.0, 164 | "td_target_name": "td_rect_shape", 165 | "td_width_to_size_filter_ratio": 0.9 166 | }, 167 | { 168 | "td_curve_segcount": 0, 169 | "td_height_ratio": 1.0, 170 | "td_length_ratio": 0.5, 171 | "td_maxheight": 2.0, 172 | "td_maxlen": 1.0, 173 | "td_target_name": "td_track_end", 174 | "td_width_to_size_filter_ratio": 0.9 175 | } 176 | ], 177 | "track_widths": [ 178 | 0.0, 179 | 0.1524, 180 | 0.2032, 181 | 0.254, 182 | 0.381, 183 | 0.508, 184 | 0.635, 185 | 0.762, 186 | 1.016, 187 | 1.524, 188 | 3.048, 189 | 3.81 190 | ], 191 | "via_dimensions": [ 192 | { 193 | "diameter": 0.0, 194 | "drill": 0.0 195 | }, 196 | { 197 | "diameter": 0.45, 198 | "drill": 0.2 199 | } 200 | ], 201 | "zones_allow_external_fillets": true, 202 | "zones_use_no_outline": true 203 | }, 204 | "layer_presets": [], 205 | "viewports": [] 206 | }, 207 | "boards": [], 208 | "cvpcb": { 209 | "equivalence_files": [] 210 | }, 211 | "erc": { 212 | "erc_exclusions": [], 213 | "meta": { 214 | "version": 0 215 | }, 216 | "pin_map": [ 217 | [ 218 | 0, 219 | 0, 220 | 0, 221 | 0, 222 | 0, 223 | 0, 224 | 1, 225 | 0, 226 | 0, 227 | 0, 228 | 0, 229 | 2 230 | ], 231 | [ 232 | 0, 233 | 2, 234 | 0, 235 | 1, 236 | 0, 237 | 0, 238 | 1, 239 | 0, 240 | 2, 241 | 2, 242 | 2, 243 | 2 244 | ], 245 | [ 246 | 0, 247 | 0, 248 | 0, 249 | 0, 250 | 0, 251 | 0, 252 | 1, 253 | 0, 254 | 1, 255 | 0, 256 | 1, 257 | 2 258 | ], 259 | [ 260 | 0, 261 | 1, 262 | 0, 263 | 0, 264 | 0, 265 | 0, 266 | 1, 267 | 1, 268 | 2, 269 | 1, 270 | 1, 271 | 2 272 | ], 273 | [ 274 | 0, 275 | 0, 276 | 0, 277 | 0, 278 | 0, 279 | 0, 280 | 1, 281 | 0, 282 | 0, 283 | 0, 284 | 0, 285 | 2 286 | ], 287 | [ 288 | 0, 289 | 0, 290 | 0, 291 | 0, 292 | 0, 293 | 0, 294 | 0, 295 | 0, 296 | 0, 297 | 0, 298 | 0, 299 | 2 300 | ], 301 | [ 302 | 1, 303 | 1, 304 | 1, 305 | 1, 306 | 1, 307 | 0, 308 | 1, 309 | 1, 310 | 1, 311 | 1, 312 | 1, 313 | 2 314 | ], 315 | [ 316 | 0, 317 | 0, 318 | 0, 319 | 1, 320 | 0, 321 | 0, 322 | 1, 323 | 0, 324 | 0, 325 | 0, 326 | 0, 327 | 2 328 | ], 329 | [ 330 | 0, 331 | 2, 332 | 1, 333 | 2, 334 | 0, 335 | 0, 336 | 1, 337 | 0, 338 | 2, 339 | 2, 340 | 2, 341 | 2 342 | ], 343 | [ 344 | 0, 345 | 2, 346 | 0, 347 | 1, 348 | 0, 349 | 0, 350 | 1, 351 | 0, 352 | 2, 353 | 0, 354 | 0, 355 | 2 356 | ], 357 | [ 358 | 0, 359 | 2, 360 | 1, 361 | 1, 362 | 0, 363 | 0, 364 | 1, 365 | 0, 366 | 2, 367 | 0, 368 | 0, 369 | 2 370 | ], 371 | [ 372 | 2, 373 | 2, 374 | 2, 375 | 2, 376 | 2, 377 | 2, 378 | 2, 379 | 2, 380 | 2, 381 | 2, 382 | 2, 383 | 2 384 | ] 385 | ], 386 | "rule_severities": { 387 | "bus_definition_conflict": "error", 388 | "bus_entry_needed": "error", 389 | "bus_to_bus_conflict": "error", 390 | "bus_to_net_conflict": "error", 391 | "conflicting_netclasses": "error", 392 | "different_unit_footprint": "error", 393 | "different_unit_net": "error", 394 | "duplicate_reference": "error", 395 | "duplicate_sheet_names": "error", 396 | "endpoint_off_grid": "warning", 397 | "extra_units": "error", 398 | "global_label_dangling": "warning", 399 | "hier_label_mismatch": "error", 400 | "label_dangling": "error", 401 | "lib_symbol_issues": "warning", 402 | "missing_bidi_pin": "warning", 403 | "missing_input_pin": "warning", 404 | "missing_power_pin": "error", 405 | "missing_unit": "warning", 406 | "multiple_net_names": "warning", 407 | "net_not_bus_member": "warning", 408 | "no_connect_connected": "warning", 409 | "no_connect_dangling": "warning", 410 | "pin_not_connected": "error", 411 | "pin_not_driven": "error", 412 | "pin_to_pin": "warning", 413 | "power_pin_not_driven": "error", 414 | "similar_labels": "warning", 415 | "simulation_model_issue": "error", 416 | "unannotated": "error", 417 | "unit_value_mismatch": "error", 418 | "unresolved_variable": "error", 419 | "wire_dangling": "error" 420 | } 421 | }, 422 | "libraries": { 423 | "pinned_footprint_libs": [], 424 | "pinned_symbol_libs": [] 425 | }, 426 | "meta": { 427 | "filename": "charger_JYC_RM2023_V1.2_control.kicad_pro", 428 | "version": 1 429 | }, 430 | "net_settings": { 431 | "classes": [ 432 | { 433 | "bus_width": 12, 434 | "clearance": 0.2, 435 | "diff_pair_gap": 0.25, 436 | "diff_pair_via_gap": 0.25, 437 | "diff_pair_width": 0.2, 438 | "line_style": 0, 439 | "microvia_diameter": 0.3, 440 | "microvia_drill": 0.1, 441 | "name": "Default", 442 | "pcb_color": "rgba(0, 0, 0, 0.000)", 443 | "schematic_color": "rgba(0, 0, 0, 0.000)", 444 | "track_width": 0.25, 445 | "via_diameter": 0.8, 446 | "via_drill": 0.4, 447 | "wire_width": 6 448 | } 449 | ], 450 | "meta": { 451 | "version": 3 452 | }, 453 | "net_colors": null, 454 | "netclass_assignments": null, 455 | "netclass_patterns": [] 456 | }, 457 | "pcbnew": { 458 | "last_paths": { 459 | "gencad": "", 460 | "idf": "", 461 | "netlist": "", 462 | "specctra_dsn": "", 463 | "step": "charger_JYC_RM2023_V1.0_control.step", 464 | "vrml": "" 465 | }, 466 | "page_layout_descr_file": "" 467 | }, 468 | "schematic": { 469 | "annotate_start_num": 0, 470 | "drawing": { 471 | "dashed_lines_dash_length_ratio": 12.0, 472 | "dashed_lines_gap_length_ratio": 3.0, 473 | "default_line_thickness": 6.0, 474 | "default_text_size": 50.0, 475 | "field_names": [], 476 | "intersheets_ref_own_page": false, 477 | "intersheets_ref_prefix": "", 478 | "intersheets_ref_short": false, 479 | "intersheets_ref_show": false, 480 | "intersheets_ref_suffix": "", 481 | "junction_size_choice": 3, 482 | "label_size_ratio": 0.375, 483 | "pin_symbol_size": 25.0, 484 | "text_offset_ratio": 0.15 485 | }, 486 | "legacy_lib_dir": "", 487 | "legacy_lib_list": [], 488 | "meta": { 489 | "version": 1 490 | }, 491 | "net_format_name": "", 492 | "ngspice": { 493 | "fix_include_paths": true, 494 | "fix_passive_vals": false, 495 | "meta": { 496 | "version": 0 497 | }, 498 | "model_mode": 0, 499 | "workbook_filename": "" 500 | }, 501 | "page_layout_descr_file": "", 502 | "plot_directory": "", 503 | "spice_adjust_passive_values": false, 504 | "spice_current_sheet_as_root": false, 505 | "spice_external_command": "spice \"%I\"", 506 | "spice_model_current_sheet_as_root": true, 507 | "spice_save_all_currents": false, 508 | "spice_save_all_voltages": false, 509 | "subpart_first_id": 65, 510 | "subpart_id_separator": 0 511 | }, 512 | "sheets": [ 513 | [ 514 | "e63e39d7-6ac0-4ffd-8aa3-1841a4541b55", 515 | "" 516 | ], 517 | [ 518 | "d4271065-c702-4247-9fc7-00b3053c14d0", 519 | "Power" 520 | ] 521 | ], 522 | "text_variables": {} 523 | } 524 | -------------------------------------------------------------------------------- /cap_controller_hardware/lower/fp-info-cache: -------------------------------------------------------------------------------- 1 | 127388278477070 2 | Diode_SMD 3 | D_0201_0603Metric 4 | Diode SMD 0201 (0603 Metric), square (rectangular) end terminal, IPC_7351 nominal, (Body size source: https://www.vishay.com/docs/20052/crcw0201e3.pdf), generated with kicad-footprint-generator 5 | diode 6 | 0 7 | 4 8 | 2 9 | Diode_SMD 10 | D_0201_0603Metric_Pad0.64x0.40mm_HandSolder 11 | Diode SMD 0201 (0603 Metric), square (rectangular) end terminal, IPC_7351 nominal, (Body size source: https://www.vishay.com/docs/20052/crcw0201e3.pdf), generated with kicad-footprint-generator 12 | diode handsolder 13 | 0 14 | 4 15 | 2 16 | Diode_SMD 17 | D_0402_1005Metric 18 | Diode SMD 0402 (1005 Metric), square (rectangular) end terminal, IPC_7351 nominal, (Body size source: http://www.tortai-tech.com/upload/download/2011102023233369053.pdf), generated with kicad-footprint-generator 19 | diode 20 | 0 21 | 2 22 | 2 23 | Diode_SMD 24 | D_0402_1005Metric_Pad0.77x0.64mm_HandSolder 25 | Diode SMD 0402 (1005 Metric), square (rectangular) end terminal, IPC_7351 nominal, (Body size source: http://www.tortai-tech.com/upload/download/2011102023233369053.pdf), generated with kicad-footprint-generator 26 | diode handsolder 27 | 0 28 | 2 29 | 2 30 | Diode_SMD 31 | D_0603_1608Metric 32 | Diode SMD 0603 (1608 Metric), square (rectangular) end terminal, IPC_7351 nominal, (Body size source: http://www.tortai-tech.com/upload/download/2011102023233369053.pdf), generated with kicad-footprint-generator 33 | diode 34 | 0 35 | 2 36 | 2 37 | Diode_SMD 38 | D_0603_1608Metric_Pad1.05x0.95mm_HandSolder 39 | Diode SMD 0603 (1608 Metric), square (rectangular) end terminal, IPC_7351 nominal, (Body size source: http://www.tortai-tech.com/upload/download/2011102023233369053.pdf), generated with kicad-footprint-generator 40 | diode handsolder 41 | 0 42 | 2 43 | 2 44 | Diode_SMD 45 | D_0805_2012Metric 46 | Diode SMD 0805 (2012 Metric), square (rectangular) end terminal, IPC_7351 nominal, (Body size source: https://docs.google.com/spreadsheets/d/1BsfQQcO9C6DZCsRaXUlFlo91Tg2WpOkGARC1WS5S8t0/edit?usp=sharing), generated with kicad-footprint-generator 47 | diode 48 | 0 49 | 2 50 | 2 51 | Diode_SMD 52 | D_0805_2012Metric_Pad1.15x1.40mm_HandSolder 53 | Diode SMD 0805 (2012 Metric), square (rectangular) end terminal, IPC_7351 nominal, (Body size source: https://docs.google.com/spreadsheets/d/1BsfQQcO9C6DZCsRaXUlFlo91Tg2WpOkGARC1WS5S8t0/edit?usp=sharing), generated with kicad-footprint-generator 54 | diode handsolder 55 | 0 56 | 2 57 | 2 58 | Diode_SMD 59 | D_01005_0402Metric 60 | Diode SMD 01005 (0402 Metric), square (rectangular) end terminal, IPC_7351 nominal, (Body size source: http://www.vishay.com/docs/20056/crcw01005e3.pdf), generated with kicad-footprint-generator 61 | diode 62 | 0 63 | 4 64 | 2 65 | Diode_SMD 66 | D_01005_0402Metric_Pad0.57x0.30mm_HandSolder 67 | Diode SMD 01005 (0402 Metric), square (rectangular) end terminal, IPC_7351 nominal, (Body size source: http://www.vishay.com/docs/20056/crcw01005e3.pdf), generated with kicad-footprint-generator 68 | diode handsolder 69 | 0 70 | 4 71 | 2 72 | Diode_SMD 73 | D_1206_3216Metric 74 | Diode SMD 1206 (3216 Metric), square (rectangular) end terminal, IPC_7351 nominal, (Body size source: http://www.tortai-tech.com/upload/download/2011102023233369053.pdf), generated with kicad-footprint-generator 75 | diode 76 | 0 77 | 2 78 | 2 79 | Diode_SMD 80 | D_1206_3216Metric_Pad1.42x1.75mm_HandSolder 81 | Diode SMD 1206 (3216 Metric), square (rectangular) end terminal, IPC_7351 nominal, (Body size source: http://www.tortai-tech.com/upload/download/2011102023233369053.pdf), generated with kicad-footprint-generator 82 | diode handsolder 83 | 0 84 | 2 85 | 2 86 | Diode_SMD 87 | D_1210_3225Metric 88 | Diode SMD 1210 (3225 Metric), square (rectangular) end terminal, IPC_7351 nominal, (Body size source: http://www.tortai-tech.com/upload/download/2011102023233369053.pdf), generated with kicad-footprint-generator 89 | diode 90 | 0 91 | 2 92 | 2 93 | Diode_SMD 94 | D_1210_3225Metric_Pad1.42x2.65mm_HandSolder 95 | Diode SMD 1210 (3225 Metric), square (rectangular) end terminal, IPC_7351 nominal, (Body size source: http://www.tortai-tech.com/upload/download/2011102023233369053.pdf), generated with kicad-footprint-generator 96 | diode handsolder 97 | 0 98 | 2 99 | 2 100 | Diode_SMD 101 | D_1812_4532Metric 102 | Diode SMD 1812 (4532 Metric), square (rectangular) end terminal, IPC_7351 nominal, (Body size source: https://www.nikhef.nl/pub/departments/mt/projects/detectorR_D/dtddice/ERJ2G.pdf), generated with kicad-footprint-generator 103 | diode 104 | 0 105 | 2 106 | 2 107 | Diode_SMD 108 | D_1812_4532Metric_Pad1.30x3.40mm_HandSolder 109 | Diode SMD 1812 (4532 Metric), square (rectangular) end terminal, IPC_7351 nominal, (Body size source: https://www.nikhef.nl/pub/departments/mt/projects/detectorR_D/dtddice/ERJ2G.pdf), generated with kicad-footprint-generator 110 | diode handsolder 111 | 0 112 | 2 113 | 2 114 | Diode_SMD 115 | D_2010_5025Metric 116 | Diode SMD 2010 (5025 Metric), square (rectangular) end terminal, IPC_7351 nominal, (Body size source: http://www.tortai-tech.com/upload/download/2011102023233369053.pdf), generated with kicad-footprint-generator 117 | diode 118 | 0 119 | 2 120 | 2 121 | Diode_SMD 122 | D_2010_5025Metric_Pad1.52x2.65mm_HandSolder 123 | Diode SMD 2010 (5025 Metric), square (rectangular) end terminal, IPC_7351 nominal, (Body size source: http://www.tortai-tech.com/upload/download/2011102023233369053.pdf), generated with kicad-footprint-generator 124 | diode handsolder 125 | 0 126 | 2 127 | 2 128 | Diode_SMD 129 | D_2114_3652Metric 130 | Diode SMD 2114 (3652 Metric), square (rectangular) end terminal, IPC_7351 nominal, (Body size from: http://datasheets.avx.com/schottky.pdf), generated with kicad-footprint-generator 131 | diode 132 | 0 133 | 2 134 | 2 135 | Diode_SMD 136 | D_2114_3652Metric_Pad1.85x3.75mm_HandSolder 137 | Diode SMD 2114 (3652 Metric), square (rectangular) end terminal, IPC_7351 nominal, (Body size from: http://datasheets.avx.com/schottky.pdf), generated with kicad-footprint-generator 138 | diode handsolder 139 | 0 140 | 2 141 | 2 142 | Diode_SMD 143 | D_2512_6332Metric 144 | Diode SMD 2512 (6332 Metric), square (rectangular) end terminal, IPC_7351 nominal, (Body size source: http://www.tortai-tech.com/upload/download/2011102023233369053.pdf), generated with kicad-footprint-generator 145 | diode 146 | 0 147 | 2 148 | 2 149 | Diode_SMD 150 | D_2512_6332Metric_Pad1.52x3.35mm_HandSolder 151 | Diode SMD 2512 (6332 Metric), square (rectangular) end terminal, IPC_7351 nominal, (Body size source: http://www.tortai-tech.com/upload/download/2011102023233369053.pdf), generated with kicad-footprint-generator 152 | diode handsolder 153 | 0 154 | 2 155 | 2 156 | Diode_SMD 157 | D_3220_8050Metric 158 | Diode SMD 3220 (8050 Metric), square (rectangular) end terminal, IPC_7351 nominal, (Body size from: http://datasheets.avx.com/schottky.pdf), generated with kicad-footprint-generator 159 | diode 160 | 0 161 | 2 162 | 2 163 | Diode_SMD 164 | D_3220_8050Metric_Pad2.65x5.15mm_HandSolder 165 | Diode SMD 3220 (8050 Metric), square (rectangular) end terminal, IPC_7351 nominal, (Body size from: http://datasheets.avx.com/schottky.pdf), generated with kicad-footprint-generator 166 | diode handsolder 167 | 0 168 | 2 169 | 2 170 | Diode_SMD 171 | D_MELF 172 | Diode, MELF,, 173 | Diode MELF 174 | 0 175 | 2 176 | 2 177 | Diode_SMD 178 | D_MELF-RM10_Universal_Handsoldering 179 | Diode, Universal, MELF, RM10, Handsoldering, SMD, Thruhole, 180 | Diode Universal MELF RM10 Handsoldering SMD Thruhole 181 | 0 182 | 2 183 | 2 184 | Diode_SMD 185 | D_MELF_Handsoldering 186 | Diode MELF Handsoldering 187 | Diode MELF Handsoldering 188 | 0 189 | 2 190 | 2 191 | Diode_SMD 192 | D_MicroMELF 193 | Diode, MicroMELF, Reflow Soldering, http://www.vishay.com/docs/85597/bzm55.pdf 194 | MicroMELF Diode 195 | 0 196 | 2 197 | 2 198 | Diode_SMD 199 | D_MicroMELF_Handsoldering 200 | Diode, MicroMELF, Hand Soldering, http://www.vishay.com/docs/85597/bzm55.pdf 201 | MicroMELF Diode 202 | 0 203 | 2 204 | 2 205 | Diode_SMD 206 | D_MicroSMP_AK 207 | Diode MicroSMP (DO-219AD), large-pad cathode, https://www.vishay.com/docs/89020/mss1p3l.pdf 208 | Diode MicroSMP (DO-219AD) 209 | 0 210 | 2 211 | 2 212 | Diode_SMD 213 | D_MicroSMP_KA 214 | Diode MicroSMP (DO-219AD), large-pad anode, https://www.vishay.com/docs/89457/msmp6a.pdf 215 | Diode MicroSMP (DO-219AD) 216 | 0 217 | 2 218 | 2 219 | Diode_SMD 220 | D_MiniMELF 221 | Diode Mini-MELF (SOD-80) 222 | Diode Mini-MELF (SOD-80) 223 | 0 224 | 2 225 | 2 226 | Diode_SMD 227 | D_MiniMELF_Handsoldering 228 | Diode Mini-MELF (SOD-80) Handsoldering 229 | Diode Mini-MELF (SOD-80) Handsoldering 230 | 0 231 | 2 232 | 2 233 | Diode_SMD 234 | D_PowerDI-5 235 | PowerDI,Diode,Vishay,https://www.diodes.com/assets/Package-Files/PowerDI5.pdf 236 | PowerDI diode vishay 237 | 0 238 | 3 239 | 2 240 | Diode_SMD 241 | D_PowerDI-123 242 | http://www.diodes.com/_files/datasheets/ds30497.pdf 243 | PowerDI diode vishay 244 | 0 245 | 2 246 | 2 247 | Diode_SMD 248 | D_Powermite2_AK 249 | Microsemi Powermite 2 SMD power package (https://www.microsemi.com/packaging-information/partpackage/details?pid=5341) 250 | PowerMite2 251 | 0 252 | 2 253 | 2 254 | Diode_SMD 255 | D_Powermite2_KA 256 | Microsemi Powermite 2 SMD power package (https://www.microsemi.com/packaging-information/partpackage/details?pid=5341) 257 | PowerMite2 258 | 0 259 | 2 260 | 2 261 | Diode_SMD 262 | D_Powermite3 263 | Microsemi Powermite 3 SMD power package (https://www.microsemi.com/packaging-information/partpackage/details?pid=5340) 264 | PowerMite3 265 | 0 266 | 3 267 | 3 268 | Diode_SMD 269 | D_Powermite_AK 270 | Microsemi Powermite SMD power package (https://www.microsemi.com/packaging-information/partpackage/details?pid=5339, https://www.onsemi.com/pub/Collateral/457-04.PDF) 271 | Powermite 272 | 0 273 | 2 274 | 2 275 | Diode_SMD 276 | D_Powermite_KA 277 | Microsemi Powermite SMD power package (https://www.microsemi.com/packaging-information/partpackage/details?pid=5339, https://www.onsemi.com/pub/Collateral/457-04.PDF) 278 | Powermite 279 | 0 280 | 2 281 | 2 282 | Diode_SMD 283 | D_QFN_3.3x3.3mm_P0.65mm 284 | QFN, diode, 3.3x3.3x1mm (https://www.wolfspeed.com/media/downloads/846/C3D1P7060Q.pdf) 285 | diode qfn 3.3 286 | 0 287 | 3 288 | 2 289 | Diode_SMD 290 | D_SC-80 291 | JEITA SC-80 292 | SC-80 293 | 0 294 | 2 295 | 2 296 | Diode_SMD 297 | D_SC-80_HandSoldering 298 | JEITA SC-80 299 | SC-80 300 | 0 301 | 2 302 | 2 303 | Diode_SMD 304 | D_SMA 305 | Diode SMA (DO-214AC) 306 | Diode SMA (DO-214AC) 307 | 0 308 | 2 309 | 2 310 | Diode_SMD 311 | D_SMA-SMB_Universal_Handsoldering 312 | Diode, Universal, SMA (DO-214AC) or SMB (DO-214AA), Handsoldering, 313 | Diode Universal SMA (DO-214AC) SMB (DO-214AA) Handsoldering 314 | 0 315 | 2 316 | 2 317 | Diode_SMD 318 | D_SMA_Handsoldering 319 | Diode SMA (DO-214AC) Handsoldering 320 | Diode SMA (DO-214AC) Handsoldering 321 | 0 322 | 2 323 | 2 324 | Diode_SMD 325 | D_SMB 326 | Diode SMB (DO-214AA) 327 | Diode SMB (DO-214AA) 328 | 0 329 | 2 330 | 2 331 | Diode_SMD 332 | D_SMB-SMC_Universal_Handsoldering 333 | Diode, Universal, SMB(DO-214AA) or SMC (DO-214AB), Handsoldering, 334 | Diode Universal SMB(DO-214AA) SMC (DO-214AB) Handsoldering 335 | 0 336 | 2 337 | 2 338 | Diode_SMD 339 | D_SMB_Handsoldering 340 | Diode SMB (DO-214AA) Handsoldering 341 | Diode SMB (DO-214AA) Handsoldering 342 | 0 343 | 2 344 | 2 345 | Diode_SMD 346 | D_SMB_Modified 347 | Diode SMB (DO-214AA) Modified (http://www.littelfuse.com/~/media/electronics/datasheets/sidactors/littelfuse_sidactor_battrax_positive_negative_modified_do_214_datasheet.pdf.pdf) 348 | Diode SMB (DO-214AA) 349 | 0 350 | 3 351 | 3 352 | Diode_SMD 353 | D_SMC 354 | Diode SMC (DO-214AB) 355 | Diode SMC (DO-214AB) 356 | 0 357 | 2 358 | 2 359 | Diode_SMD 360 | D_SMC-RM10_Universal_Handsoldering 361 | Diode, Universal, SMC (DO-214AB), RM10, Handsoldering, SMD, Thruhole 362 | Diode Universal SMC (DO-214AB) RM10 Handsoldering SMD Thruhole 363 | 0 364 | 2 365 | 2 366 | Diode_SMD 367 | D_SMC_Handsoldering 368 | Diode SMC (DO-214AB) Handsoldering 369 | Diode SMC (DO-214AB) Handsoldering 370 | 0 371 | 2 372 | 2 373 | Diode_SMD 374 | D_SMF 375 | Diode SMF (DO-219AB), http://www.vishay.com/docs/95572/smf_do-219ab.pdf 376 | Diode SMF (DO-214AB) 377 | 0 378 | 2 379 | 2 380 | Diode_SMD 381 | D_SOD-110 382 | SOD-110 383 | SOD-110 384 | 0 385 | 2 386 | 2 387 | Diode_SMD 388 | D_SOD-123 389 | SOD-123 390 | SOD-123 391 | 0 392 | 2 393 | 2 394 | Diode_SMD 395 | D_SOD-123F 396 | D_SOD-123F 397 | D_SOD-123F 398 | 0 399 | 2 400 | 2 401 | Diode_SMD 402 | D_SOD-128 403 | D_SOD-128 (CFP5 SlimSMAW), https://assets.nexperia.com/documents/outline-drawing/SOD128.pdf 404 | D_SOD-128 405 | 0 406 | 2 407 | 2 408 | Diode_SMD 409 | D_SOD-323 410 | SOD-323 411 | SOD-323 412 | 0 413 | 2 414 | 2 415 | Diode_SMD 416 | D_SOD-323F 417 | SOD-323F http://www.nxp.com/documents/outline_drawing/SOD323F.pdf 418 | SOD-323F 419 | 0 420 | 2 421 | 2 422 | Diode_SMD 423 | D_SOD-323_HandSoldering 424 | SOD-323 425 | SOD-323 426 | 0 427 | 2 428 | 2 429 | Diode_SMD 430 | D_SOD-523 431 | http://www.diodes.com/datasheets/ap02001.pdf p.144 432 | Diode SOD523 433 | 0 434 | 2 435 | 2 436 | Diode_SMD 437 | D_SOD-923 438 | https://www.onsemi.com/pub/Collateral/ESD9B-D.PDF#page=4 439 | Diode SOD923 440 | 0 441 | 2 442 | 2 443 | Diode_SMD 444 | D_TUMD2 445 | ROHM - TUMD2 446 | TUMD2 447 | 0 448 | 2 449 | 2 450 | Diode_SMD 451 | Diode_Bridge_Bourns_CD-DF4xxS 452 | 8.1x10.5mm, 4A, single phase bridge rectifier, https://www.bourns.com/docs/Product-Datasheets/CD-DF4xxSL.pdf 453 | Surface Mount Bridge Rectifier Diode 454 | 0 455 | 4 456 | 4 457 | Diode_SMD 458 | Diode_Bridge_Diotec_ABS 459 | SMD diode bridge ABS (Diotec), see https://diotec.com/tl_files/diotec/files/pdf/datasheets/abs2.pdf 460 | ABS MBLS 461 | 0 462 | 4 463 | 4 464 | Diode_SMD 465 | Diode_Bridge_Diotec_MicroDil_3.0x3.0x1.8mm 466 | SMD package Diotec Diotec MicroDil, body 3.0x3.0x1.8mm (e.g. diode bridge), see https://diotec.com/tl_files/diotec/files/pdf/datasheets/mys40.pdf 467 | Diotec MicroDil diode bridge 468 | 0 469 | 4 470 | 4 471 | Diode_SMD 472 | Diode_Bridge_Diotec_SO-DIL-Slim 473 | SMD diode bridge Diotec SO-DIL Slim, see https://diotec.com/tl_files/diotec/files/pdf/datasheets/b40fs.pdf 474 | DFS SO-DIL Slim 475 | 0 476 | 4 477 | 4 478 | Diode_SMD 479 | Diode_Bridge_OnSemi_SDIP-4L 480 | SMD diode bridge OnSemi SDIP-4L, see https://www.onsemi.com/pdf/datasheet/df10s1-d.pdf 481 | OnSemi Diode Bridge SDIP-4L 482 | 0 483 | 4 484 | 4 485 | Diode_SMD 486 | Diode_Bridge_Vishay_DFS 487 | SMD diode bridge DFS, see http://www.vishay.com/docs/88854/padlayouts.pdf 488 | DFS 489 | 0 490 | 4 491 | 4 492 | Diode_SMD 493 | Diode_Bridge_Vishay_DFSFlat 494 | SMD diode bridge Low Profile DFS "Flat", see http://www.vishay.com/docs/88874/dfl15005.pdf 495 | DFS 496 | 0 497 | 4 498 | 4 499 | Diode_SMD 500 | Diode_Bridge_Vishay_MBLS 501 | SMD diode bridge MBLS, see http://www.vishay.com/docs/89959/mbl104s.pdf http://www.vishay.com/docs/88854/padlayouts.pdf 502 | DFS 503 | 0 504 | 4 505 | 4 506 | Diode_SMD 507 | Infineon_SG-WLL-2-3_0.58x0.28_P0.36mm 508 | Infineon SG-WLL-2-3, 0.58x0.28x0.15mm, https://www.infineon.com/dgdl/Infineon-SG-WLL-2-3_SPO_PDF-Package-v02_00-EN.pdf?fileId=5546d46271bf4f9201723159ce71239d 509 | Infineon WLL 510 | 0 511 | 4 512 | 2 513 | Diode_SMD 514 | Littelfuse_PolyZen-LS 515 | http://m.littelfuse.com/~/media/electronics/datasheets/polyzen_devices/littelfuse_polyzen_standard_polyzen_catalog_datasheet.pdf.pdf 516 | Diode Polymer Protected Zener Diode Littelfuse LS 517 | 0 518 | 3 519 | 3 520 | Diode_SMD 521 | Nexperia_CFP3_SOD-123W 522 | Nexperia CFP3 (SOD-123W), https://assets.nexperia.com/documents/outline-drawing/SOD123W.pdf 523 | CFP3 SOD-123W 524 | 0 525 | 2 526 | 2 527 | Diode_SMD 528 | Nexperia_DSN0603-2_0.6x0.3mm_P0.4mm 529 | SOD962-2 silicon, leadless ultra small package; 2 terminals; 0.4 mm pitch; 0.6 mm x 0.3 mm x 0.3 mm body (https://assets.nexperia.com/documents/package-information/SOD962-2.pdf https://www.nexperia.com/packages/SOD962-2.html) 530 | TVS protection diodes 531 | 0 532 | 2 533 | 2 534 | -------------------------------------------------------------------------------- /cap_controller_hardware/upper/fp-info-cache: -------------------------------------------------------------------------------- 1 | 127388278477070 2 | Diode_SMD 3 | D_0201_0603Metric 4 | Diode SMD 0201 (0603 Metric), square (rectangular) end terminal, IPC_7351 nominal, (Body size source: https://www.vishay.com/docs/20052/crcw0201e3.pdf), generated with kicad-footprint-generator 5 | diode 6 | 0 7 | 4 8 | 2 9 | Diode_SMD 10 | D_0201_0603Metric_Pad0.64x0.40mm_HandSolder 11 | Diode SMD 0201 (0603 Metric), square (rectangular) end terminal, IPC_7351 nominal, (Body size source: https://www.vishay.com/docs/20052/crcw0201e3.pdf), generated with kicad-footprint-generator 12 | diode handsolder 13 | 0 14 | 4 15 | 2 16 | Diode_SMD 17 | D_0402_1005Metric 18 | Diode SMD 0402 (1005 Metric), square (rectangular) end terminal, IPC_7351 nominal, (Body size source: http://www.tortai-tech.com/upload/download/2011102023233369053.pdf), generated with kicad-footprint-generator 19 | diode 20 | 0 21 | 2 22 | 2 23 | Diode_SMD 24 | D_0402_1005Metric_Pad0.77x0.64mm_HandSolder 25 | Diode SMD 0402 (1005 Metric), square (rectangular) end terminal, IPC_7351 nominal, (Body size source: http://www.tortai-tech.com/upload/download/2011102023233369053.pdf), generated with kicad-footprint-generator 26 | diode handsolder 27 | 0 28 | 2 29 | 2 30 | Diode_SMD 31 | D_0603_1608Metric 32 | Diode SMD 0603 (1608 Metric), square (rectangular) end terminal, IPC_7351 nominal, (Body size source: http://www.tortai-tech.com/upload/download/2011102023233369053.pdf), generated with kicad-footprint-generator 33 | diode 34 | 0 35 | 2 36 | 2 37 | Diode_SMD 38 | D_0603_1608Metric_Pad1.05x0.95mm_HandSolder 39 | Diode SMD 0603 (1608 Metric), square (rectangular) end terminal, IPC_7351 nominal, (Body size source: http://www.tortai-tech.com/upload/download/2011102023233369053.pdf), generated with kicad-footprint-generator 40 | diode handsolder 41 | 0 42 | 2 43 | 2 44 | Diode_SMD 45 | D_0805_2012Metric 46 | Diode SMD 0805 (2012 Metric), square (rectangular) end terminal, IPC_7351 nominal, (Body size source: https://docs.google.com/spreadsheets/d/1BsfQQcO9C6DZCsRaXUlFlo91Tg2WpOkGARC1WS5S8t0/edit?usp=sharing), generated with kicad-footprint-generator 47 | diode 48 | 0 49 | 2 50 | 2 51 | Diode_SMD 52 | D_0805_2012Metric_Pad1.15x1.40mm_HandSolder 53 | Diode SMD 0805 (2012 Metric), square (rectangular) end terminal, IPC_7351 nominal, (Body size source: https://docs.google.com/spreadsheets/d/1BsfQQcO9C6DZCsRaXUlFlo91Tg2WpOkGARC1WS5S8t0/edit?usp=sharing), generated with kicad-footprint-generator 54 | diode handsolder 55 | 0 56 | 2 57 | 2 58 | Diode_SMD 59 | D_01005_0402Metric 60 | Diode SMD 01005 (0402 Metric), square (rectangular) end terminal, IPC_7351 nominal, (Body size source: http://www.vishay.com/docs/20056/crcw01005e3.pdf), generated with kicad-footprint-generator 61 | diode 62 | 0 63 | 4 64 | 2 65 | Diode_SMD 66 | D_01005_0402Metric_Pad0.57x0.30mm_HandSolder 67 | Diode SMD 01005 (0402 Metric), square (rectangular) end terminal, IPC_7351 nominal, (Body size source: http://www.vishay.com/docs/20056/crcw01005e3.pdf), generated with kicad-footprint-generator 68 | diode handsolder 69 | 0 70 | 4 71 | 2 72 | Diode_SMD 73 | D_1206_3216Metric 74 | Diode SMD 1206 (3216 Metric), square (rectangular) end terminal, IPC_7351 nominal, (Body size source: http://www.tortai-tech.com/upload/download/2011102023233369053.pdf), generated with kicad-footprint-generator 75 | diode 76 | 0 77 | 2 78 | 2 79 | Diode_SMD 80 | D_1206_3216Metric_Pad1.42x1.75mm_HandSolder 81 | Diode SMD 1206 (3216 Metric), square (rectangular) end terminal, IPC_7351 nominal, (Body size source: http://www.tortai-tech.com/upload/download/2011102023233369053.pdf), generated with kicad-footprint-generator 82 | diode handsolder 83 | 0 84 | 2 85 | 2 86 | Diode_SMD 87 | D_1210_3225Metric 88 | Diode SMD 1210 (3225 Metric), square (rectangular) end terminal, IPC_7351 nominal, (Body size source: http://www.tortai-tech.com/upload/download/2011102023233369053.pdf), generated with kicad-footprint-generator 89 | diode 90 | 0 91 | 2 92 | 2 93 | Diode_SMD 94 | D_1210_3225Metric_Pad1.42x2.65mm_HandSolder 95 | Diode SMD 1210 (3225 Metric), square (rectangular) end terminal, IPC_7351 nominal, (Body size source: http://www.tortai-tech.com/upload/download/2011102023233369053.pdf), generated with kicad-footprint-generator 96 | diode handsolder 97 | 0 98 | 2 99 | 2 100 | Diode_SMD 101 | D_1812_4532Metric 102 | Diode SMD 1812 (4532 Metric), square (rectangular) end terminal, IPC_7351 nominal, (Body size source: https://www.nikhef.nl/pub/departments/mt/projects/detectorR_D/dtddice/ERJ2G.pdf), generated with kicad-footprint-generator 103 | diode 104 | 0 105 | 2 106 | 2 107 | Diode_SMD 108 | D_1812_4532Metric_Pad1.30x3.40mm_HandSolder 109 | Diode SMD 1812 (4532 Metric), square (rectangular) end terminal, IPC_7351 nominal, (Body size source: https://www.nikhef.nl/pub/departments/mt/projects/detectorR_D/dtddice/ERJ2G.pdf), generated with kicad-footprint-generator 110 | diode handsolder 111 | 0 112 | 2 113 | 2 114 | Diode_SMD 115 | D_2010_5025Metric 116 | Diode SMD 2010 (5025 Metric), square (rectangular) end terminal, IPC_7351 nominal, (Body size source: http://www.tortai-tech.com/upload/download/2011102023233369053.pdf), generated with kicad-footprint-generator 117 | diode 118 | 0 119 | 2 120 | 2 121 | Diode_SMD 122 | D_2010_5025Metric_Pad1.52x2.65mm_HandSolder 123 | Diode SMD 2010 (5025 Metric), square (rectangular) end terminal, IPC_7351 nominal, (Body size source: http://www.tortai-tech.com/upload/download/2011102023233369053.pdf), generated with kicad-footprint-generator 124 | diode handsolder 125 | 0 126 | 2 127 | 2 128 | Diode_SMD 129 | D_2114_3652Metric 130 | Diode SMD 2114 (3652 Metric), square (rectangular) end terminal, IPC_7351 nominal, (Body size from: http://datasheets.avx.com/schottky.pdf), generated with kicad-footprint-generator 131 | diode 132 | 0 133 | 2 134 | 2 135 | Diode_SMD 136 | D_2114_3652Metric_Pad1.85x3.75mm_HandSolder 137 | Diode SMD 2114 (3652 Metric), square (rectangular) end terminal, IPC_7351 nominal, (Body size from: http://datasheets.avx.com/schottky.pdf), generated with kicad-footprint-generator 138 | diode handsolder 139 | 0 140 | 2 141 | 2 142 | Diode_SMD 143 | D_2512_6332Metric 144 | Diode SMD 2512 (6332 Metric), square (rectangular) end terminal, IPC_7351 nominal, (Body size source: http://www.tortai-tech.com/upload/download/2011102023233369053.pdf), generated with kicad-footprint-generator 145 | diode 146 | 0 147 | 2 148 | 2 149 | Diode_SMD 150 | D_2512_6332Metric_Pad1.52x3.35mm_HandSolder 151 | Diode SMD 2512 (6332 Metric), square (rectangular) end terminal, IPC_7351 nominal, (Body size source: http://www.tortai-tech.com/upload/download/2011102023233369053.pdf), generated with kicad-footprint-generator 152 | diode handsolder 153 | 0 154 | 2 155 | 2 156 | Diode_SMD 157 | D_3220_8050Metric 158 | Diode SMD 3220 (8050 Metric), square (rectangular) end terminal, IPC_7351 nominal, (Body size from: http://datasheets.avx.com/schottky.pdf), generated with kicad-footprint-generator 159 | diode 160 | 0 161 | 2 162 | 2 163 | Diode_SMD 164 | D_3220_8050Metric_Pad2.65x5.15mm_HandSolder 165 | Diode SMD 3220 (8050 Metric), square (rectangular) end terminal, IPC_7351 nominal, (Body size from: http://datasheets.avx.com/schottky.pdf), generated with kicad-footprint-generator 166 | diode handsolder 167 | 0 168 | 2 169 | 2 170 | Diode_SMD 171 | D_MELF 172 | Diode, MELF,, 173 | Diode MELF 174 | 0 175 | 2 176 | 2 177 | Diode_SMD 178 | D_MELF-RM10_Universal_Handsoldering 179 | Diode, Universal, MELF, RM10, Handsoldering, SMD, Thruhole, 180 | Diode Universal MELF RM10 Handsoldering SMD Thruhole 181 | 0 182 | 2 183 | 2 184 | Diode_SMD 185 | D_MELF_Handsoldering 186 | Diode MELF Handsoldering 187 | Diode MELF Handsoldering 188 | 0 189 | 2 190 | 2 191 | Diode_SMD 192 | D_MicroMELF 193 | Diode, MicroMELF, Reflow Soldering, http://www.vishay.com/docs/85597/bzm55.pdf 194 | MicroMELF Diode 195 | 0 196 | 2 197 | 2 198 | Diode_SMD 199 | D_MicroMELF_Handsoldering 200 | Diode, MicroMELF, Hand Soldering, http://www.vishay.com/docs/85597/bzm55.pdf 201 | MicroMELF Diode 202 | 0 203 | 2 204 | 2 205 | Diode_SMD 206 | D_MicroSMP_AK 207 | Diode MicroSMP (DO-219AD), large-pad cathode, https://www.vishay.com/docs/89020/mss1p3l.pdf 208 | Diode MicroSMP (DO-219AD) 209 | 0 210 | 2 211 | 2 212 | Diode_SMD 213 | D_MicroSMP_KA 214 | Diode MicroSMP (DO-219AD), large-pad anode, https://www.vishay.com/docs/89457/msmp6a.pdf 215 | Diode MicroSMP (DO-219AD) 216 | 0 217 | 2 218 | 2 219 | Diode_SMD 220 | D_MiniMELF 221 | Diode Mini-MELF (SOD-80) 222 | Diode Mini-MELF (SOD-80) 223 | 0 224 | 2 225 | 2 226 | Diode_SMD 227 | D_MiniMELF_Handsoldering 228 | Diode Mini-MELF (SOD-80) Handsoldering 229 | Diode Mini-MELF (SOD-80) Handsoldering 230 | 0 231 | 2 232 | 2 233 | Diode_SMD 234 | D_PowerDI-5 235 | PowerDI,Diode,Vishay,https://www.diodes.com/assets/Package-Files/PowerDI5.pdf 236 | PowerDI diode vishay 237 | 0 238 | 3 239 | 2 240 | Diode_SMD 241 | D_PowerDI-123 242 | http://www.diodes.com/_files/datasheets/ds30497.pdf 243 | PowerDI diode vishay 244 | 0 245 | 2 246 | 2 247 | Diode_SMD 248 | D_Powermite2_AK 249 | Microsemi Powermite 2 SMD power package (https://www.microsemi.com/packaging-information/partpackage/details?pid=5341) 250 | PowerMite2 251 | 0 252 | 2 253 | 2 254 | Diode_SMD 255 | D_Powermite2_KA 256 | Microsemi Powermite 2 SMD power package (https://www.microsemi.com/packaging-information/partpackage/details?pid=5341) 257 | PowerMite2 258 | 0 259 | 2 260 | 2 261 | Diode_SMD 262 | D_Powermite3 263 | Microsemi Powermite 3 SMD power package (https://www.microsemi.com/packaging-information/partpackage/details?pid=5340) 264 | PowerMite3 265 | 0 266 | 3 267 | 3 268 | Diode_SMD 269 | D_Powermite_AK 270 | Microsemi Powermite SMD power package (https://www.microsemi.com/packaging-information/partpackage/details?pid=5339, https://www.onsemi.com/pub/Collateral/457-04.PDF) 271 | Powermite 272 | 0 273 | 2 274 | 2 275 | Diode_SMD 276 | D_Powermite_KA 277 | Microsemi Powermite SMD power package (https://www.microsemi.com/packaging-information/partpackage/details?pid=5339, https://www.onsemi.com/pub/Collateral/457-04.PDF) 278 | Powermite 279 | 0 280 | 2 281 | 2 282 | Diode_SMD 283 | D_QFN_3.3x3.3mm_P0.65mm 284 | QFN, diode, 3.3x3.3x1mm (https://www.wolfspeed.com/media/downloads/846/C3D1P7060Q.pdf) 285 | diode qfn 3.3 286 | 0 287 | 3 288 | 2 289 | Diode_SMD 290 | D_SC-80 291 | JEITA SC-80 292 | SC-80 293 | 0 294 | 2 295 | 2 296 | Diode_SMD 297 | D_SC-80_HandSoldering 298 | JEITA SC-80 299 | SC-80 300 | 0 301 | 2 302 | 2 303 | Diode_SMD 304 | D_SMA 305 | Diode SMA (DO-214AC) 306 | Diode SMA (DO-214AC) 307 | 0 308 | 2 309 | 2 310 | Diode_SMD 311 | D_SMA-SMB_Universal_Handsoldering 312 | Diode, Universal, SMA (DO-214AC) or SMB (DO-214AA), Handsoldering, 313 | Diode Universal SMA (DO-214AC) SMB (DO-214AA) Handsoldering 314 | 0 315 | 2 316 | 2 317 | Diode_SMD 318 | D_SMA_Handsoldering 319 | Diode SMA (DO-214AC) Handsoldering 320 | Diode SMA (DO-214AC) Handsoldering 321 | 0 322 | 2 323 | 2 324 | Diode_SMD 325 | D_SMB 326 | Diode SMB (DO-214AA) 327 | Diode SMB (DO-214AA) 328 | 0 329 | 2 330 | 2 331 | Diode_SMD 332 | D_SMB-SMC_Universal_Handsoldering 333 | Diode, Universal, SMB(DO-214AA) or SMC (DO-214AB), Handsoldering, 334 | Diode Universal SMB(DO-214AA) SMC (DO-214AB) Handsoldering 335 | 0 336 | 2 337 | 2 338 | Diode_SMD 339 | D_SMB_Handsoldering 340 | Diode SMB (DO-214AA) Handsoldering 341 | Diode SMB (DO-214AA) Handsoldering 342 | 0 343 | 2 344 | 2 345 | Diode_SMD 346 | D_SMB_Modified 347 | Diode SMB (DO-214AA) Modified (http://www.littelfuse.com/~/media/electronics/datasheets/sidactors/littelfuse_sidactor_battrax_positive_negative_modified_do_214_datasheet.pdf.pdf) 348 | Diode SMB (DO-214AA) 349 | 0 350 | 3 351 | 3 352 | Diode_SMD 353 | D_SMC 354 | Diode SMC (DO-214AB) 355 | Diode SMC (DO-214AB) 356 | 0 357 | 2 358 | 2 359 | Diode_SMD 360 | D_SMC-RM10_Universal_Handsoldering 361 | Diode, Universal, SMC (DO-214AB), RM10, Handsoldering, SMD, Thruhole 362 | Diode Universal SMC (DO-214AB) RM10 Handsoldering SMD Thruhole 363 | 0 364 | 2 365 | 2 366 | Diode_SMD 367 | D_SMC_Handsoldering 368 | Diode SMC (DO-214AB) Handsoldering 369 | Diode SMC (DO-214AB) Handsoldering 370 | 0 371 | 2 372 | 2 373 | Diode_SMD 374 | D_SMF 375 | Diode SMF (DO-219AB), http://www.vishay.com/docs/95572/smf_do-219ab.pdf 376 | Diode SMF (DO-214AB) 377 | 0 378 | 2 379 | 2 380 | Diode_SMD 381 | D_SOD-110 382 | SOD-110 383 | SOD-110 384 | 0 385 | 2 386 | 2 387 | Diode_SMD 388 | D_SOD-123 389 | SOD-123 390 | SOD-123 391 | 0 392 | 2 393 | 2 394 | Diode_SMD 395 | D_SOD-123F 396 | D_SOD-123F 397 | D_SOD-123F 398 | 0 399 | 2 400 | 2 401 | Diode_SMD 402 | D_SOD-128 403 | D_SOD-128 (CFP5 SlimSMAW), https://assets.nexperia.com/documents/outline-drawing/SOD128.pdf 404 | D_SOD-128 405 | 0 406 | 2 407 | 2 408 | Diode_SMD 409 | D_SOD-323 410 | SOD-323 411 | SOD-323 412 | 0 413 | 2 414 | 2 415 | Diode_SMD 416 | D_SOD-323F 417 | SOD-323F http://www.nxp.com/documents/outline_drawing/SOD323F.pdf 418 | SOD-323F 419 | 0 420 | 2 421 | 2 422 | Diode_SMD 423 | D_SOD-323_HandSoldering 424 | SOD-323 425 | SOD-323 426 | 0 427 | 2 428 | 2 429 | Diode_SMD 430 | D_SOD-523 431 | http://www.diodes.com/datasheets/ap02001.pdf p.144 432 | Diode SOD523 433 | 0 434 | 2 435 | 2 436 | Diode_SMD 437 | D_SOD-923 438 | https://www.onsemi.com/pub/Collateral/ESD9B-D.PDF#page=4 439 | Diode SOD923 440 | 0 441 | 2 442 | 2 443 | Diode_SMD 444 | D_TUMD2 445 | ROHM - TUMD2 446 | TUMD2 447 | 0 448 | 2 449 | 2 450 | Diode_SMD 451 | Diode_Bridge_Bourns_CD-DF4xxS 452 | 8.1x10.5mm, 4A, single phase bridge rectifier, https://www.bourns.com/docs/Product-Datasheets/CD-DF4xxSL.pdf 453 | Surface Mount Bridge Rectifier Diode 454 | 0 455 | 4 456 | 4 457 | Diode_SMD 458 | Diode_Bridge_Diotec_ABS 459 | SMD diode bridge ABS (Diotec), see https://diotec.com/tl_files/diotec/files/pdf/datasheets/abs2.pdf 460 | ABS MBLS 461 | 0 462 | 4 463 | 4 464 | Diode_SMD 465 | Diode_Bridge_Diotec_MicroDil_3.0x3.0x1.8mm 466 | SMD package Diotec Diotec MicroDil, body 3.0x3.0x1.8mm (e.g. diode bridge), see https://diotec.com/tl_files/diotec/files/pdf/datasheets/mys40.pdf 467 | Diotec MicroDil diode bridge 468 | 0 469 | 4 470 | 4 471 | Diode_SMD 472 | Diode_Bridge_Diotec_SO-DIL-Slim 473 | SMD diode bridge Diotec SO-DIL Slim, see https://diotec.com/tl_files/diotec/files/pdf/datasheets/b40fs.pdf 474 | DFS SO-DIL Slim 475 | 0 476 | 4 477 | 4 478 | Diode_SMD 479 | Diode_Bridge_OnSemi_SDIP-4L 480 | SMD diode bridge OnSemi SDIP-4L, see https://www.onsemi.com/pdf/datasheet/df10s1-d.pdf 481 | OnSemi Diode Bridge SDIP-4L 482 | 0 483 | 4 484 | 4 485 | Diode_SMD 486 | Diode_Bridge_Vishay_DFS 487 | SMD diode bridge DFS, see http://www.vishay.com/docs/88854/padlayouts.pdf 488 | DFS 489 | 0 490 | 4 491 | 4 492 | Diode_SMD 493 | Diode_Bridge_Vishay_DFSFlat 494 | SMD diode bridge Low Profile DFS "Flat", see http://www.vishay.com/docs/88874/dfl15005.pdf 495 | DFS 496 | 0 497 | 4 498 | 4 499 | Diode_SMD 500 | Diode_Bridge_Vishay_MBLS 501 | SMD diode bridge MBLS, see http://www.vishay.com/docs/89959/mbl104s.pdf http://www.vishay.com/docs/88854/padlayouts.pdf 502 | DFS 503 | 0 504 | 4 505 | 4 506 | Diode_SMD 507 | Infineon_SG-WLL-2-3_0.58x0.28_P0.36mm 508 | Infineon SG-WLL-2-3, 0.58x0.28x0.15mm, https://www.infineon.com/dgdl/Infineon-SG-WLL-2-3_SPO_PDF-Package-v02_00-EN.pdf?fileId=5546d46271bf4f9201723159ce71239d 509 | Infineon WLL 510 | 0 511 | 4 512 | 2 513 | Diode_SMD 514 | Littelfuse_PolyZen-LS 515 | http://m.littelfuse.com/~/media/electronics/datasheets/polyzen_devices/littelfuse_polyzen_standard_polyzen_catalog_datasheet.pdf.pdf 516 | Diode Polymer Protected Zener Diode Littelfuse LS 517 | 0 518 | 3 519 | 3 520 | Diode_SMD 521 | Nexperia_CFP3_SOD-123W 522 | Nexperia CFP3 (SOD-123W), https://assets.nexperia.com/documents/outline-drawing/SOD123W.pdf 523 | CFP3 SOD-123W 524 | 0 525 | 2 526 | 2 527 | Diode_SMD 528 | Nexperia_DSN0603-2_0.6x0.3mm_P0.4mm 529 | SOD962-2 silicon, leadless ultra small package; 2 terminals; 0.4 mm pitch; 0.6 mm x 0.3 mm x 0.3 mm body (https://assets.nexperia.com/documents/package-information/SOD962-2.pdf https://www.nexperia.com/packages/SOD962-2.html) 530 | TVS protection diodes 531 | 0 532 | 2 533 | 2 534 | -------------------------------------------------------------------------------- /readme.md: -------------------------------------------------------------------------------- 1 |
142 | - 若将LEFT_H常导通,LEFT_L常断开,而RIGHT_H和RIGHT_L继续使用如上的Boost电路控制策略,则等效电路如下图。这就是Boost的拓扑,此时将电路看作同步Boost即可实现将左侧电升压后提供给右侧。
143 |
144 |
145 | - 第三种情况是需要的左电压与右电压相近。此时实际应用中由于最大占空比以及死区时间等限制,很难单独使用Buck或者Boost拓扑生成所需电压比。于是考虑用Buck控制策略控制左半桥,用Boost控制策略控制右半桥,此即为buck-boost电路。在任意时刻(瞬时),电路可视为Buck电路或Boost电路。(此处省略了一些细节,如为了防止两边的下管同时导通,左右两边的上管占空比应相互制约,同时相位也应错开)此时,无论是使用叠加原理还是通过伏秒平衡定律,我们都可以得到如下结果 $\frac{V_{left}}{V_{right}}=\frac{D_{right}}{D_{left}}$ ,其中, $D_{left}$ 为左侧上管占空比, $D_{right}$ 为右侧上管占空比。
146 |
147 | ### 假设电流从右往左流动
148 |
149 | 由于电路完全对称,显然,仅需将Buck与Boost颠倒过来,即可实现与上述完全相同的效果,在此不做过多赘述。
150 |
151 | 经过同样的推导,我们仍然得到此结果 $\frac{V_{left}}{V_{right}}=\frac{D_{right}}{D_{left}}$ 。
152 |
153 | ### 总结
154 |
155 | 在控制这个四开关双向Buck-Boost电路时,实际上**不需要区分电路到底是Buck还是Boost**,也不需要关注电流的流向等,只需给予两个半桥合适的占空比,即可获得想要的左右电压之比。
156 |
157 | 这种不对电流流向做限制,强制上下管交替导通的控制方式被称为FPWM(强制脉宽调制)模式。由于实现此控制模式的硬件较为简单,本设计采用此控制模式进行控制。
158 |
159 | 注意:Buck与Boost的互相转换只在 *同步Buck/同步Boost* 中起作用。
160 |
161 | ## 电流控制
162 |
163 | 通过以上分析,我们现可构建一个四开关Buck-Boost双向升降压电路。
164 |
165 | 在RoboMaster以及大多数其他应用场景中。电路中的负载更偏向于阻性,即电压差越大,电流越大,根据这一特点,我们通过控制左右两侧的电压之比进而对左右两侧的平均电流进行控制。
166 |
167 | 此处举一个例子便于理解。假设左侧为电源,右侧为负载,根据以上分析,我们可推导出右侧电压越大,输出电流越大,右侧电压越小,输出电流越小。此时若输出电流大于目标电流,则我们通过改变左右两侧占空比,控制左右两侧电压之比增大,则右侧电压降低,输出电流也相应减小。若输出电流小于目标电流,则控制占空比减小,右侧电压升高,输出电流增大。当右侧为电压源时,只需反转控制逻辑,即可实现一样的控制效果。在RoboMaster超级电容的应用中,左侧和右侧均可作为负载或电源,当给超级电容充电时,超级电容侧为负载,当超级电容放电时,超级电容侧为电源。
168 |
169 | 在上述例子中,基于电流反馈控制占空比变化的方式有很多种,在本方案中,我们使用ADC对转换后的电流进行读取,之后使用PID计算所需占空比进行输出,从而实现电流闭环控制。
170 |
171 | # 控制模块技术特点
172 |
173 | ## 实物图
174 |
175 |
176 |
177 | ## 硬件
178 |
179 | - 上下板组合
180 |
181 |
182 |
183 | - 上板为FR4四层板,负责控制与驱动,带有MCU、信号调理电路、MOSFET栅极驱动、电流感应放大器电路、CAN通信电路,以及相应的辅助供电电路等。
184 | - 下板负责功率部分,为铝基板。带有保险丝、MOSFET、扁线功率电感、固态电容以及采样电阻等,利用铝基板加强散热,使得超级电容控制模块可以持续输出15A以上大电流而保持凉爽。
185 | - 上下板通过矮排针排母连接。模块化的设计方便快速更换组件,也方便维修上板或下板。
186 | - 功率线路从下板直接引出,导线直接焊接在焊盘上,大电流不需要经过上下板连接处,因此可以使用一般的排针排母进行简单的连接。
187 |
188 |
189 |
190 | *嘉立创贴片+手焊后的电容控制器上板*
191 |
192 | - 电感值计算
193 |
194 | 本方案设计最大电流为15A,考虑3A的纹波电流,假设电路足够理想,忽略详细的电感取值计算公式推导过程。
195 | - Buck模式下工作时,电感取值应满足 $L_{Buck}>{(\frac{V_{out}}{\Delta{I}\cdot{f}} \cdot (1 - D))}_ {max}$ 。其中, $V_{out}$ 为输出电压, $\Delta{I}$ 为纹波电流, $f$ 为开关频率, $D$ 为上管占空比。
196 | 分析可得,当输入电压最大(此时超级电容组作为电源输出,最大电压29.15V),占空比为0.5时上式右侧取得最大值 ${\frac{29.15 \cdot 0.5}{3 \cdot 288000}} \cdot (1 - 0.5) = 8.434 uH$ 。因此,在Buck模式下,电感取值不应小于8.434uH。
197 | - Boost模式下工作时,电流流向反转,将上述公式中的 $V_{out}$ 输出电压换为 $V_{in}$ 输入电压,即得到 $L_{Boost}>{(\frac{V_{in}}{\Delta{I}\cdot{f}} \cdot (1 - D))}_ {max}$ 其中, $V_{in}$ 为输入电压, $\Delta{I}$ 为纹波电流, $f$ 为开关频率, $D$ 为上管占空比(注意是上管)。
198 | 分析可得,当输出电压最大(此时超级电容正好被充满电,最大电压29.15V),占空比为0.5时上式右侧取得最大值 ${\frac{29.15 \cdot 0.5}{3 \cdot 288000}} \cdot (1 - 0.5) = 8.434 uH$ 。因此,在Boost模式下,电感取值不应小于8.434uH。
199 | - 在不超过饱和电流的前提下,电感取值越大,纹波电流越小,留出一定余量,实际中使用饱和电流为21A,温升电流为30A的15uH的扁线电感。(实际上测试使用22uH饱和电流为14A,温升电流为30A的电感也可以工作,但出现了大电流下纹波明显增大的情况,保险起见最终选用了15uH电感,可考虑降低到10uH,选择更小的体积)
200 |
201 | - 电容值计算
202 |
203 | 考虑100mV的输出电压纹波,其余参数与计算电感时相同,假设电路足够理想,采用合适的近似方式,忽略详细的电容取值计算公式推导过程。
204 | - Buck模式下工作时,电容取值应满足 $C_{Buck}>\frac{\Delta{I}}{8\cdot{f}\cdot{\Delta{V_{out}}}}$ 。其中, $V_{out}$ 为输出电压, $\Delta{I}$ 为纹波电流, $f$ 为开关频率, ${\Delta{V_{out}}}$ 为输出电压纹波。
205 | 计算可得,Buck模式下电容取值应大于 $\frac{3}{8\cdot{288000}\cdot{0.1}} = 13.02 uF$ 。因此,在Buck模式下,电容取值不应小于13.02uF。
206 | - Boost模式下工作时,电容取值应满足 $C_{Boost}>{\frac{I_{out}\cdot{(1-D)}}{{f}\cdot{\Delta{V_{out}}}}}_ {max}$ 。 其中, $I_{out}$ 为输出电流, $D$ 为上管占空比, $f$ 为开关频率, ${\Delta{V_{out}}}$ 为输出电压纹波。
207 | 分析可得,当输出电流最大(15A),上管占空比最小(软件限制为0.1)时右侧取得最大值 $\frac{15\cdot{(1-0.1)}}{{288000}\cdot{0.1}} = 468.75uF$ 因此,在Boost模式下,电容取值不应小于468.75uF。
208 | - 理想情况下,电容取值越大,纹波电压越小,留出一定余量,并考虑到ESR影响,实际应用中,我们使用4个耐压为100V,额定容量为10uF的陶瓷电容与3个耐压50V,容量为220uF的固态电容并联,总电容值约为 $4 \cdot 6 + 3 \cdot 220 = 684 uF$ (考虑陶瓷电容的直流偏压特性)。
209 |
210 | - MOSFET驱动方案
211 |
212 | MOS驱动为UCC27211。采用隔离供电取代UCC27211的自举电容,从而能够实现100%占空比常开上管,显著提高单边Buck/单边Boost的转换效率
213 |
214 | - 通常,UCC27211使用一个自举电容串联在引脚HB(BootStrap)与HS(Switching)之间,芯片自带自举电路,通过浮空自举电容来打开上管。这种做法体积小,但是自举电容需要充电,需要定期导通下管为电容充电来弥补自举电路及栅极驱动等的漏电电流,做不到100%占空比。因此实际上总是工作在buck-boost模式下。由于两侧MOSFET都需要不断开关,损失了一些效率。
215 | - 此处使用12V->12V DCDC的隔离供电模块。因为此隔离供电模块为开环控制,输出电压极不稳定,且纹波极大,很容易炸毁栅极造成严重后果,所以此处使用RC滤波,并加入TVS(SMF10A)来钳位,保护上管不被高电压击穿。
216 |
217 | - 电流感应放大器所需的1.65V参考电压源由运放电路使用3.3V分压产生。使用阻容网络进行相位补偿,防止驱动容性负载时环路不稳定产生震荡。
218 |
219 | - 电流感应放大选择使用INA186差分放大器芯片
220 |
221 | 在一众开源方案中,较多使用 INA240 作为电流感应放大器。然而INA240的价格与供应不如人意,在此背景下相关开发人员使用了 INA282 进行替代。但是,INA282 的封装为 SOIC-8,体积大,layout 占用过多空间。其次INA282 最小增益倍数为 50 倍,增益带宽较低,实际测试过程中出现信号失真的问题。 因此经过反复比对选型,最终使用了另一款电流感应放大器 INA186,选择其最低增益倍数的版本INA186A1。这款放大器体积小,支持双向电流采样,带宽也能达到标准,耐压能够支持高位采样的需求。但在实际测试过程中发现其对于共模干扰的抑制能力非常差,极易受到开关信号干扰。
222 |
223 |
224 |
225 | 为应对此干扰,在实际电路设计中加入了 RC 滤波电路,截止频率13kHz,实测能够有效过滤共模干扰和电源本身的噪音。
226 |
227 |
228 |
229 |
230 |
231 | - INA186耐压高达42V,可以实现高位采样
232 | - 相比常用的INA240,INA186价格优势非常大,能显著节省整体成本
233 | - INA186的有效带宽20kHz,对于pwm频率约288khz的应用已经足够
234 |
235 | - 使用全包裹铝壳,兼顾散热与保护
236 |
237 |
238 |
239 | *下板用导热胶贴在铝壳上,提高散热效果*
240 |
241 |
242 |
243 | *大小对比(与装甲板相比)*
244 |
245 |
246 |
247 | - 此超级电容控制模块效率最高约为97.8%。在处理大电流的情况下,不可避免地产生能量损耗,因而需要将热量导至铝制部件来散热。
248 | - 对于模块的外壳,我们采用工业化生产的全包裹铝壳。它既充当了散热组件,同时也能屏蔽电磁,防止超级电容控制板的EMI影响敏感部件例如RFID、UWB等。
249 | - 全包裹铝壳同样有很好的结构强度,在恶劣的使用情况例如翻车、剧烈冲撞时可以有效保护内部功率电路。密封的设计也可以防止异物进入,例如打磨产生的铝屑,碳粉,以及香港恶劣潮湿气候常见的水雾等。这对于超级电容这种大功率的模块的稳定性和安全性而言非常重要。
250 |
251 | ## MCU外设使用
252 |
253 | ### MCU选择
254 |
255 | - 四开关Buck-Boost电路中,开关频率越高,则需要的电感大小就越小,其体积也就越小。
256 | - 我们使用STM32芯片的Timer外设输出开关控制的PWM信号。为了实现精准的占空比控制,时钟周期不能太小;而普通Timer外设的频率一般仅有几十上百兆赫兹,开关频率高与时钟周期大无法同时实现。为实现精准控制,我们选用HRTim即高分辨率定时器外设,部分带有倍频功能,如STM32F334的HRTIM可以倍频至4.9GHz,实现288KHz的PWM频率同时,也有16000的分辨度。
257 | - 带有倍频功能HRTim的MCU中,能轻松买到的有STM32F334系列与STM32G474等。它们HRTim的功能几乎完全一样,而STM32G474比STM32F334有更高的主频与更先进的外设。然而,STM32G474在成本上有很大劣势,且大部分多出来的外设在超级电容上并不会有应用;同时,我们的代码在经过优化之后已经可以在STM32F334上以60%的内核占用实现36kHz频率的闭环,受限于电流采样带宽与开关频率,此闭环频率已足够应对RoboMaster赛场上复杂的工况。因而我们最终选择了简单实惠的STM32F334作为此项目的MCU。
258 |
259 | ### 外设配置
260 |
261 | #### HRTIM Master Clock
262 |
263 | - 调整倍频与周期,使PWM频率为288kHz
264 |
265 | #### HRTIM Timer A
266 |
267 | - 负责A半桥MOS的开关信号
268 | - 负责触发A侧的ADC采样
269 |
270 | #### HRTIM Timer B
271 |
272 | - 同理
273 |
274 | #### 死区控制
275 |
276 | * 同一边半桥的上下管绝对不能同时打开,否则电流回直接通过上下管对地短路,造成严重后果。同时,MOSFET导通时需要给栅极电容充电,需要一个几到几十纳秒的过程。因此,我们打开了HRTimer外设的Dead Time功能,从外设层面防止上下管对穿。本设计中我们为了防止MOSFET开关过快导致振铃,配置的上升下降时间较大,死区时间通过测试得出:8分频下Rising与Falling各约110(此值仅为参考,需根据实际情况微调)。
277 | * 若死区时间太大,则在死区时间的后半段,由于MOS管没有及时开启,会有较大电流从MOS管的寄生二极管流过,降低效率并增加过热烧毁的风险;若死区时间太小,则前一个MOS还没有完全关断的时后一个就已经正在打开了,此时容易发生上下管对穿的情况,会严重发热,烧毁MOS管。
278 | * 实际调节死区时间时,可使用具有恒压恒流功能的可调电源给数控超级电容模块进行供电,逐步调小死区,当可调电源突然出现CC(恒电流)模式时,代表死区时间过小,上下管之间已经短路,在此时的死区时间基础上添加一个安全冗余即为合适的死区时间。为了防止用户代码层面对死区进行错误修改导致灾难性后果,可配置死区相应寄存器进入只读模式,防止配置成功后在代码正常运行中被二次修改。
279 |
280 | ====
281 |
282 | * *同时*,左侧与右侧半桥的下管也不能同时打开,否则就相当于电感两端经过GND短路,使其储存的电磁能瞬间转化成热能。在我们的实际应用中,我们通过错开TimerA与TimerB的相位180°,并限制Buck-Boost模式下TimerA与TimerB的上管占空比均不得小于50%来实现这一功能。
283 |
284 | #### HRTIM ADC Trigger
285 |
286 |
287 |
288 | 在电路实际工作过程中,MOSFET的开关会给电压带来纹波进而产生电流纹波。为防止MOSFET开关瞬间引入电流采样共模干扰,或产生的电流纹波影响采样,电流采样的时机应当正好处于对应侧上管PWM波形的中点,此时瞬时电流值等于平均电流值,瞬时电压值等于平均电压值。我们通过如下配置来实现这一功能。
289 |
290 | - TimA Compare2 -> ADC Trigger 1
291 | - TimB Compare2 -> ADC Trigger 3
292 |
293 | #### ADC1
294 |
295 | - CH1 -> V_SENSE_A(左侧电压采样)
296 | - CH2 -> I_SENSE_JUDGE(裁判系统电流采样)
297 | - CH3 -> I_SENSE_A(左侧电流采样)
298 | - 触发事件:HRTIM Trigger 1 Event
299 |
300 | #### ADC2
301 |
302 | - CH7 -> I_SENSE_B(右侧电流采样)
303 | - CH8 -> THERMAL_SENSE(温度采样)
304 | - CH9 -> V_SENSE_B(右侧电压采样)
305 | - 触发事件:HRTIM Trigger 3 Event
306 |
307 | #### ADC读数校准
308 |
309 | - 由于硬件上的误差如电阻阻值、运放芯片的体质、焊接工艺等区别,采得的ADC读数会有误差。我们对每一个焊接后的硬件都进行校准,并将校准数据写入宏,在编译期控制。
310 | - 将读数误差视为线性的,则每一个数据有对应的bias与gain。经过校准之后,不同控制板的电流电压读数几乎一致。
311 | - 将硬件ID写入Bytecode,防止烧错代码(编译时flag写错)。
312 |
313 | ## 软件
314 |
315 | ### 充放电控制策略
316 |
317 | - 采用多环串联PID:最外环为裁判系统功率闭环,而后功率闭环,最后同时闭环电压与电流。
318 |
319 | - 功率、电压和电流闭环速度为 36kHz,能量闭环速度为 10Hz,通讯频率为 1kHz。
320 | - 为了实现软启动与无扰切换,我们在电容关断输出不开关 MOS 管时,时刻保持内部 HRTIM 的 PWM 占空比等于两侧电压之比,这使得模块启动的瞬间不会产生巨大的冲击电流。
321 | - 在具体输出 PID 结果时,我们采用了电压前馈控制,PID 结果在两侧电压之比上进行补偿,有效提升了瞬态响应与控制的线性度。
322 |
323 |
324 | ### VBToVA -> 两半桥PWM占空比
325 |
326 | 经过PID运算后得出 $V_BToV_A$ ,既理想情况下两侧电压之比。
327 |
328 | 1. $V_BToV_A < 0.8$,则视作从**从左往右的Buck模式**。 此时右侧上管常开(100% Duty Cycle),左侧作为同步Buck,则左侧上管的占空比即 $V_BToV_A$ 。
329 | 2. $V_BToV_A > 1.25$,则视作**从左往右的Boost模式**。 此时左侧上管常开,右侧为同步Boost,右侧上管的占空比为 $\frac{1}{V_BToV_A}$ 。
330 | 3. $V_BToV_A\in[0.8, 1.25]$ ,则Buck或者Boost难以实现这样的升降压。于是采用**Buck-Boost模式**。 此时左侧上管占空比 $\frac{4}{9}\cdot(1+x)$ ,右侧上管占空比 $\frac{4}{9}\cdot(1 + \frac{1}{x}) $,这个值满足 $\frac{D_A}{D_B} = \frac{V_B}{V_A}$ ,且保证两边占空比的变化是连续的,可实现无缝衔接,防止占空比突变导致的控制不稳定。
331 |
332 | ### 通讯与底盘功率控制策略
333 |
334 | * 为保持通讯稳定性,使用CAN协议进行通讯,硬件上直接将CAN总线接入底盘电机所在的CAN总线,保证能读到电机即能读到电容反馈。
335 | * 每毫秒向底盘控制板反馈电容剩余能量、底盘瞬时功率、瞬间最大输出功率等信息,辅助底盘控制板上的功率控制代码进行底盘电机功率控制。
336 | * 每100毫秒接收一次来自底盘控制板的回报信息,包括来自裁判系统的剩余能量信息,来自裁判系统的功率限制信息,电容模式控制信息等。利用此信息对功率控制的误差进行修正(能量闭环),并在必要时刻提升瞬态响应(回家后功率瞬间翻倍)。
337 |
338 | ### 故障处理
339 |
340 | 该模块为了保障安全性,设计了数种故障模式,排查了几乎所有会导致灾难性后果的情况。此模块工作之稳定,在整个RoboMaster2023的赛季开发中,扛住了数次接错线、电容组极性接反、输出短路、信号调理部分电路短路等严重故障,至今未出现任何损坏烧毁的案例。
341 |
342 | - 过压保护
343 |
344 | - 模块会检测电容与底盘的电压,若电压过高,为防止模块本身工作异常导致毁灭性后果,会自动进入锁定状态。
345 | - 模块认为,任何时刻,AB 电压均不得大于 31V。若检测到超过 31V 的电压,模块会立即进入锁定状态。
346 | - 刹车制动时,底盘电机会将能量倒灌回裁判系统,这些能量的部分会被模块吸收,但当电容充满或倒灌能量过大,电容无力吸收这部分能量,会导致底盘电压升高。为保护底盘电机,防止因模块本身异常导致底盘电机烧毁,模块会检测超过 27V 的底盘电压,若符合一定逻辑,则进入锁定状态,任由能量倒灌回电池。
347 |
348 | 对于底盘输出电压有以下检测逻辑:
349 |
350 | 1. 若底盘电压持续大于 27V 但小于 28V 超过 300ms,则进入过压状态。
351 | 2. 若底盘电压持续大于 28V 但小于 29V 超过 60ms,则进入过压状态。
352 | 3. 若底盘电压持续大于 29V 但小于 30V 超过 12ms,则进入过压状态。
353 | 4. 若底盘电压持续大于 30V 但小于 31V 超过 3ms,则进入过压状态。
354 | 5. 当 A 相电压小于 27V,B 相电压小于 31V,过压锁定自动解除,模块自动尝试重新启动。
355 | - Buck-Boost 故障
356 |
357 | - 由于校准误差,代码跑飞或逻辑bug,局部短路等问题,模块可能会出现升降压部分工作异常的情况,当检测到此部分电路工作异常,模块进入锁定状态,关断输出,且不会自动尝试重新启动,需要用户手动重置。
358 | - 短路
359 |
360 | - 当模块检测到短路,会立即关断输出,短路状态立即解除,之后模块会尝试重新启动输出。 若短时间内连续检测到多次检测到短路故障,模块认为硬件损坏,不再尝试重新启动输出,需要用户手动重置。
361 | - 高温
362 |
363 | - 当模块检测到温度过高,会进入高温保护状态,关断输出。 待温度下降后自动恢复,重新启动输出。
364 | - 裁判系统供电丢失
365 |
366 | - 当模块检测到裁判系统供电丢失时(通常为机器人阵亡),自动关断输出。 待裁判系统供电恢复时,自动尝试重新启动。
367 | - 电容组故障
368 |
369 | - 当模块检测到超级电容故障,模块进入锁定状态,关断输出,且不会自动尝试重新启动,需要用户手动重置。
370 | - 检测超级电容故障的逻辑如下:
371 | - 1. 当超级电容电压变化达到一定阈值时,若充入超级电容的电荷量过低,认为与超级电容之间的连线断开。 (有效电容值过低)
372 | 2. 当充入超级电容的电荷量达到一定阈值时,若超级电容的电压变化过小,认为超级电容局部短路,过充,或漏电。
373 | 3. 为防止电荷量累计漂移误差,若未处于故障状态,每隔一段时间会重置故障检测。
374 | - 超级电容控制器配合新电容组可以判断正负极性错误
375 |
376 | - 如果正负极接反,电容处于空电状态,会判定为短路,发出短促的嘟嘟嘟提示音。
377 | - 如果电容正负极接反,且电容处于满电状态插入,将会剧烈打火并烧毁电容控制器下板上对应的TVS或保险丝,从而保护控制部分电路与MOS管。此后无论是否接电容,再次给超级电容控制器通电都会发出短促的嘟嘟嘟提示音,需要更换超级电容控制器上的TVS与保险丝
378 |
379 | 故障提示及处理
380 |
381 | 1. 当超级电容进入任何故障状态后,红灯处于闪烁状态,且同时切断输出,以 200Hz 持续时间 200ms 的低频提示音表示。若此时绿灯亮起,表明超级电容正尝试重新启动,若绿灯不亮,则需要用户手动重置 超级电容模块。重置方法如下:
382 | 2. 用户可手动断开所有电源连接线,之后再逐个插入,超级电容即重新启动,若顺利通过故障检测, 则故障状态解除。
383 | 3. 用户可通过 CAN 发送重启指令,超级电容重新启动,若顺利通过故障检测,则故障状态解除。
384 | 4. 用户可通过 CAN 发送关断输出指令,之后再次发送启动输出指令,超级电容会尝试重新启动输出, 若未再次发生故障,正常运行一段时间后故障状态自动解除。
385 |
386 | ### 附加功能
387 |
388 | - 监测裁判系统供电电压。若常低于某一值(约20V),则认为电池即将耗尽,蜂鸣器长鸣。用来提醒调试人员,防止出现调试代码未保存的情况。
389 |
390 | # 电容组硬件
391 |
392 | ## 原理与设计比较
393 |
394 | 储能元件采用超级电容,耐压2.7V。电容组先并联再串联,增大耐压至29.15V,最终储能能力1931J。为了防止充电过程中由于电容体质不同,使得:有些节点还没充满时,另一些电容已经超过耐压的情况,使用均衡电路。
395 |
396 | 均衡电路分为主动均衡与被动均衡。
397 |
398 | **被动均衡**一般通过电阻放电的方式,对电压较高的电容进行放电,以热形式释放电量。
399 |
400 | 此方案的优点是电路结构非常简单,研发成本也很低。先前可使用TL431电压基准模块进行简单搭建。后续随着BW6101超级电容保护芯片的推出,此方案更加简单廉价。
401 |
402 | 缺点较为显著,首先均衡时不存在电能转移,所有均衡的能量都通过电阻发热释放,理论上的均衡效率为0%。同时转移时会产生大量的热能,若不加处理,可能会烧毁电路。
403 |
404 | **主动均衡**是一种复杂的均衡技术,在充电和放电循环期间,使得电容单元内的电荷得到重新分配,从而缩短充电时间,延长放电使用时间。如:
405 |
406 | 1. Flying Capacitor
407 |
408 | 此电路实现了电荷泵,通过不断地控制开关,将电压较高的单元内电荷转移至中间电容器中,再转移至电压较低的单元。
409 |
410 |
411 |
412 | 此方案的优势是具备主动均衡能力,理论上电容组可串联不同容量的超级电容。
413 |
414 | 缺点是均衡速度不够快,可能需要添加被动均衡电路防止大电流充电时均衡失败。同时,额外的MOS管驱动方案也对设计者提出了较高的要求,额外的器件也带来了更多的成本。效率上,相比被动均衡,部分能量得到了重复利用,但是驱动MOS管开关也会带来额外损耗,建议把控好启动均衡的阈值电压,在电压较低时不启动MOS管驱动,节省能量。
415 | 2. 电感转换器
416 |
417 | 使用电压较高的单元给电感充能,然后电感给电压较低的单元充电。
418 |
419 |
420 |
421 | 此方案类似变形的buck电路,通过电感和电容组成的dcdc电路转移能量。其理论上能产生更大的均衡电流,但仍然存在上一个方案的一些缺点。同时如需更大的均衡电流,需要选择更大体积的功率电感,同样也会使总体体积增大。
422 | 3. 反激式电感转换器
423 |
424 | 使用变压器实现所有电容一起给一个或多个电压较低的电容充电,通过定期控制MOS管的开关,实现电感两侧横恒电压控制,进而逐渐均衡各电容单元电压。
425 |
426 |
427 |
428 | 此方案优缺点与上述两个方案类似,但还存在一个额外的缺点,即很难找到这种多绕组的变压器成品,在设计时可能需要自行制作变压器,较为繁琐,对设计制作要求较高。
429 |
430 | 总而言之,主动均衡能达到比被动均衡更高的能量利用率,然而在体积、效率、成本、可靠性上难以平衡。因此,进行部分尝试后,我们最终在本赛季放弃了主动均衡,使用基于电阻泄放的被动均衡结构制作了电容组阵列。
431 |
432 | ## 原理图
433 |
434 |
435 |
436 | 图为一个电容单元。设计的电容组中共有11个该单元串联。
437 |
438 |
439 |
440 | 控制芯片为BW6101,该芯片在电容电压(VDD - GND)大于2.65V时,控制NMOS对GND导通,此时电流通过泄流电阻泄放,从而消耗电容中过多的能量。
441 |
442 | 此处使用3个电阻串联,而不是并联的原因是难以找到1Ohm左右的大功率电阻,此处使用的0.3Ohm电阻为电流采样电阻,功率较大(3W),能够承受更大的泄放电流。
443 |
444 | 由于电容组需要经过裁判系统超级电容管理模块,而管理模块额定电流为15A,为了裁判系统的稳定工作及排除电流超限带来的偷功率嫌疑,我们将电容组的充放电电流限制为14.5A。在此约束下,电压越高,电容放电功率越大。我们选择11个2.7V 50F的超级电容串联,能够带来更高的最大电压,从而最大化输出功率,但由于超级电容等效串联电阻的存在,这种方案会较大程度损失效率。同时,值得注意的是,BW6101在电容充电至2.65V时就已经开始均衡,为减少均衡损耗,提升系统综合稳定性,我们决定只将电容充电至2.65V。
445 |
446 | 实际使用过程中,为防止非硬件开发人员拆装及使用电容组时由于经验不足错误操作发生危险,我们在电容组的输入端加入一个大功率单向TVS,在严重过充时可烧毁短路,保护电容组,若电容组与数控超级电容控制模块的正负极接反,该设计可配合短路保护功能进行保护,防止对电容组进行反极性充电。同时我们还加入了一个LED灯,用来警告操作人员电容的带电情况。在RoboMaster2023的备赛中,我们发生了至少两次电容组极性接反的情况(XT30反着用力插也是可以插上的),均触发了过流保护,成功及时关断。提示灯也多次在拆装电容组时提示操作人员带电情况,对电容及时放电。我们在整个备赛期间未发生任何一起电容组过充、短路、起火等严重后果。
447 |
448 | ## PCB
449 |
450 |
451 |
452 |
453 |
454 | *Layout 参考*
455 |
456 |
457 |
458 | 该模块layout较为极限,所有电容紧贴排列。为了加强散热,使用四层板。其中内层1、2与顶层铺铜相同,起导热作用。底层放置MOS与芯片等元件,并利用开窗导线减小电阻。过充测试时,使用2.5A电流长时间对电容组进行充电,电容组未出现严重过热情况,电容未出现过充情况。
459 |
460 | ## 实物
461 |
462 |
463 |
464 |
465 |
466 |
467 |
468 | 超级电容组体积仅为60x76x45mm,在经费有限无法定制的情况下实现了较小的体积,机械设计更加自由。
469 |
470 | # 总结
471 |
472 | ## 技术总结
473 |
474 | 本模块通过数控Buck-Boost电路,接受裁判系统或开发板的指令并反馈,来实现裁判系统输入功率闭环。闲时为电容组充电、有需求时为底盘放电,削峰填谷。升降压的拓扑在实现电机母线电压稳定的同时也使得电容组的能量利用率提高,且通过软件控制,既可以弥补硬件恒功率控制上的繁琐与复杂,也可以实现更灵活的功率控制与故障处理操作,甚至裁判系统能量缓冲闭环。
475 |
476 | ## 使用方式
477 |
478 | ### 硬件连线
479 |
480 | 功率线有三组:
481 |
482 | - 左端有一根XT30公线,连接裁判系统电源模块Chassis接口
483 | - 左端XT30母线,连接到其他底盘功率器件(如底盘电机等)
484 | - 右端XT30公线,连接到超级电容组(经过CM01模块)
485 |
486 | 信号线
487 |
488 | - MX1.25x4pin插座可以连接SWD调试线
489 | - GH1.25x2pin插座连接CAN信号,与主板通信
490 | - 预留了GH1.25x4pin IIC接口,可以连接OLED屏幕用作调试
491 |
492 | ### 通信协议
493 |
494 | ```c++
495 | struct CapacitorStatus
496 | {
497 | //本段结构体位于机器人控制代码与超级电容通信的Driver层中
498 | struct CapacitorRx
499 | {
500 | uint8_t errorCode;
501 | float chassisPower;
502 | uint16_t chassisPowerLimit;
503 | uint8_t capEnergy;
504 | } __attribute__((packed)) capacitorRx;
505 |
506 | struct CapacitorTx
507 | {
508 | uint8_t enableDCDC : 1;
509 | uint8_t systemRestart : 1;
510 | uint8_t resv0 : 6;
511 | uint16_t feedbackJudgePowerLimit;
512 | uint16_t feedbackJudgePowerBuffer;
513 | uint8_t resv1[3];
514 | } __attribute__((packed)) capacitorTx;
515 |
516 | bool isConnected;
517 | };
518 | ```
519 |
520 | ## 测试结果
521 |
522 | ### 极限转换效率
523 |
524 |
525 |
526 |
527 |
528 | *峰值效率0.978,一般效率约0.95*
529 |
530 | ### 输出纹波@5A
531 |
532 |
533 |
534 | *Buck模式,占空比0.7:纹波25mV*
535 |
536 |
537 |
538 | *Buck-Boost模式,“占空比”为1.0:纹波约50mV*
539 |
540 |
541 |
542 | *Boost模式,占空比0.75,纹波32mV*
543 |
544 | ## 发展方向
545 |
546 | ### 超级电容控制器
547 |
548 | 对于该版本控制器,大负载测试中发热极小,无需较大的散热面积与两MOS管并联的设计,体积可以很大程度的缩小;同时,有部分元件可以缩减,比如电压跟随运放可以利用MCU(STM32F334)内部的运放,从而减小复杂度、成本与体积。
549 |
550 | 为方便控制与简化硬件设计,本方案选用了理论效果不算出众的软件平均电流控制模式。可考虑略微修改硬件,以使用基于硬件比较器触发的电感峰值电流控制,实现逐周期电流闭环,提升系统响应。同时,本方案使用FPWM(强制脉宽调制)模式进行控制,这种控制方案在低负载情况下电感上会有电流反向流动,同时开关频率恒定,轻载时效率较低,瞬态响应一般。可考虑采用COT(恒定导通时间)提升瞬态响应,考虑加入PFM(脉冲频率调制)提升轻载效率。
551 |
552 | 考虑到软件控制电压电流等闭环确实存在不稳定因素,今后也考虑使用一些内置ARM内核和硬件反馈环路的数字电源控制芯片。它们一方面使用硬件环路补偿、开关控制等,更加稳定、集成度高,另一方面也可以烧入代码,实现功率、能量闭环、裁判系统通讯、底盘控制等操作,灵活性高。
553 |
554 | 而运用其他DC-DC拓扑的控制器也可以研究,例如Flyback(反驰)拓扑升降压,理论上可以用更少的MOS管与更简单的驱动电路(仅低位驱动)来实现给电容充电放电等功能。
555 |
556 | 
557 |
558 | ## 后记与致谢
559 |
560 | 大约于2018年,大连交通大学TOE战队,桂林电子科技大学Evolution战队与香港科技大学ENTERPRIZE战队等便相继开源了各具特色的超级电容方案,推动了RoboMaster中各队对突破底盘功率限制的技术发展,也使得这一项目进入规则中。在此对各位拓荒的前辈们致以感谢。
561 |
562 | 2021年,大连理工大学凌_BUG战队首次开源了基于Buck-Boost的超级电容控制器。这种架构作为目前阶段(RM2023)中超级电容毋庸置疑的最优解,对本项目有极大的参考价值。
563 |
564 | 从时间线上看来,其实我们在2018年之后就拥有了稳定可用的超级电容,并且多年来一直实装,效果很好。然而经过漫长的四年,一方面老超级电容确实存在资料较少、难以传承的问题,导致维护困难(甚至老的设计上使用的元件都找不到了);另一方面,大连理工大学凌_BUG战队首发的Buck-Boost架构双向超级电容比起我们的老电容(电源 $\Rightarrow$ 恒功率充电模块 $\Rightarrow$ 超级电容 $\Rightarrow$ 恒压放电模块 $\Leftrightarrow$ 底盘电机)在各方面上都有着极大的提升。因而我们开启了这个新项目。
565 |
566 | 在超级电容的设计过程中,其他队伍的开源给予了我们莫大的帮助,在此感谢大连理工大学凌_BUG战队、西交利物浦GMaster战队与仲恺奇点战队等极为优秀的开源,以及在网上和七黄、光速翼等大佬的交流。也非常感谢嘉立创的低价打板与SMT服务(板子上元件很多,还好抽到了贴片券,节省了大量人力)。
567 |
568 | 2023赛季已经进入尾声,愿ENTERPRIZE战队在RM2024继续前进,再创新高!
569 |
570 | 最后,喊出那句口号,**初心高于胜负!**
571 |
572 |
--------------------------------------------------------------------------------
/LICENSE:
--------------------------------------------------------------------------------
1 | GNU GENERAL PUBLIC LICENSE
2 | Version 3, 29 June 2007
3 |
4 | Copyright (C) 2007 Free Software Foundation, Inc.