Merge branch 'dev_blackpill' into 'main'
Dev blackpill See merge request imia/dji-gimbal-foc!1
This commit is contained in:
commit
c2faec0432
39 files changed
+21300
-116795
No files matched your search
+1
-2
@@ -1,4 +1,3 @@
|
||||
.pio
|
||||
.vscode
|
||||
/.*/
|
||||
/Kicad/Breakout_board/Breakout_DJI_Gimbal-backups
|
||||
/Kicad/STM32_DJI_Gimbal/STM32_DJI_Gimbal-backups
|
||||
Binary file not shown.
@@ -0,0 +1,63 @@
|
||||
(footprint "TPS61088" (version 20211014) (generator pcbnew)
|
||||
(layer "F.Cu")
|
||||
(tedit 0)
|
||||
(descr "RHL (R-PVQFN-N20) FFW")
|
||||
(tags "Integrated Circuit")
|
||||
(attr smd)
|
||||
(fp_text reference "IC**" (at 0 -0.15) (layer "F.SilkS")
|
||||
(effects (font (size 1.27 1.27) (thickness 0.254)))
|
||||
(tstamp 16c306e9-e442-40b3-877f-c797d356ff0e)
|
||||
)
|
||||
(fp_text value "TPS61088" (at 0 -0.15) (layer "F.SilkS") hide
|
||||
(effects (font (size 1.27 1.27) (thickness 0.254)))
|
||||
(tstamp 2a31e99f-1567-4f7f-ae66-6831c74be055)
|
||||
)
|
||||
(fp_text user "${REFERENCE}" (at 0 -0.15) (layer "F.Fab")
|
||||
(effects (font (size 1.27 1.27) (thickness 0.254)))
|
||||
(tstamp 289ff8d3-2318-42c5-8b7c-3417f6fc6136)
|
||||
)
|
||||
(fp_line (start 1 -2.25) (end 1.65 -2.25) (layer "F.SilkS") (width 0.1) (tstamp 224a4508-b903-4bec-bffe-a329e8e427f1))
|
||||
(fp_line (start -1.65 2.25) (end -1 2.25) (layer "F.SilkS") (width 0.1) (tstamp 2a3bfb9e-092a-4ee6-aa15-b3a5c34c7e69))
|
||||
(fp_line (start -0.8 -2.7) (end -0.8 -2.7) (layer "F.SilkS") (width 0.1) (tstamp 55ab3813-9643-496d-b4e1-570f63a0ae80))
|
||||
(fp_line (start -1 -2.25) (end -1.65 -2.25) (layer "F.SilkS") (width 0.1) (tstamp 7b40331a-5007-44fc-9897-6670f326a16e))
|
||||
(fp_line (start -0.5 2.25) (end 0.5 2.25) (layer "F.SilkS") (width 0.1) (tstamp 7e15bb82-3533-45a3-8c8e-da54a22e66c0))
|
||||
(fp_line (start 1 2.25) (end 1.65 2.25) (layer "F.SilkS") (width 0.1) (tstamp 9fb0fd85-c202-461c-b11b-b36d0a60786e))
|
||||
(fp_line (start -0.5 -2.25) (end 0.5 -2.25) (layer "F.SilkS") (width 0.1) (tstamp b9307b9b-bb22-4fb4-9f5a-a13256690faa))
|
||||
(fp_line (start -0.7 -2.7) (end -0.7 -2.7) (layer "F.SilkS") (width 0.1) (tstamp c9d1b597-d1f3-4e37-8495-7bbc1fa6fd76))
|
||||
(fp_arc (start -0.7 -2.7) (mid -0.75 -2.65) (end -0.8 -2.7) (layer "F.SilkS") (width 0.1) (tstamp 0461202c-9c8d-47bf-945b-b6dcdce4dbec))
|
||||
(fp_arc (start -0.8 -2.7) (mid -0.75 -2.75) (end -0.7 -2.7) (layer "F.SilkS") (width 0.1) (tstamp 2ea84639-1539-4604-ac1d-7fe5d2437052))
|
||||
(fp_line (start -2.95 -3.75) (end 2.95 -3.75) (layer "F.CrtYd") (width 0.1) (tstamp 38f89fba-1e33-4006-a1b7-19ec49668db0))
|
||||
(fp_line (start 2.95 3.45) (end -2.95 3.45) (layer "F.CrtYd") (width 0.1) (tstamp 5ba94818-cbf9-4290-b41f-3bdd4f163875))
|
||||
(fp_line (start 2.95 -3.75) (end 2.95 3.45) (layer "F.CrtYd") (width 0.1) (tstamp 8c2033a9-6a19-49d1-839f-5572e58a9b26))
|
||||
(fp_line (start -2.95 3.45) (end -2.95 -3.75) (layer "F.CrtYd") (width 0.1) (tstamp fc004a83-678b-4c4a-a9fc-68643b8ee356))
|
||||
(fp_line (start 1.75 -2.25) (end 1.75 2.25) (layer "F.Fab") (width 0.2) (tstamp 033710eb-92ba-4600-bb82-8e997072988d))
|
||||
(fp_line (start 1.75 2.25) (end -1.75 2.25) (layer "F.Fab") (width 0.2) (tstamp 4bbdb673-b689-4644-bbdb-e581cabe560e))
|
||||
(fp_line (start -1.75 2.25) (end -1.75 -2.25) (layer "F.Fab") (width 0.2) (tstamp 59646334-2178-4696-8863-721f0654095d))
|
||||
(fp_line (start -1.75 -2.25) (end 1.75 -2.25) (layer "F.Fab") (width 0.2) (tstamp ad8f967f-3c5d-4478-a436-f12f3279e8cf))
|
||||
(pad "1" smd rect (at -0.75 -2.15) (size 0.24 0.6) (layers "F.Cu" "F.Paste" "F.Mask") (tstamp 60b4fd16-dcc1-4930-9fa0-1fda4139e4f0))
|
||||
(pad "2" smd rect (at -1.65 -1.75 90) (size 0.24 0.6) (layers "F.Cu" "F.Paste" "F.Mask") (tstamp a8d58e60-213b-450e-8bee-78da989739be))
|
||||
(pad "3" smd rect (at -1.65 -1.25 90) (size 0.24 0.6) (layers "F.Cu" "F.Paste" "F.Mask") (tstamp db904b6f-3240-4d84-9b6e-68b54c07f86e))
|
||||
(pad "4" smd rect (at -1.65 -0.75 90) (size 0.24 0.6) (layers "F.Cu" "F.Paste" "F.Mask") (tstamp 03d6a208-31bc-43cf-9fd0-f36430b4e780))
|
||||
(pad "5" smd rect (at -1.65 -0.25 90) (size 0.24 0.6) (layers "F.Cu" "F.Paste" "F.Mask") (tstamp 9b5bdf68-1815-4c5e-94af-51cc65beee39))
|
||||
(pad "6" smd rect (at -1.65 0.25 90) (size 0.24 0.6) (layers "F.Cu" "F.Paste" "F.Mask") (tstamp 149981ef-2517-42ac-bf33-e93347b849b6))
|
||||
(pad "7" smd rect (at -1.65 0.75 90) (size 0.24 0.6) (layers "F.Cu" "F.Paste" "F.Mask") (tstamp 8fc051f5-fb72-4101-ae26-6dfa34384097))
|
||||
(pad "8" smd rect (at -1.65 1.25 90) (size 0.24 0.6) (layers "F.Cu" "F.Paste" "F.Mask") (tstamp e1b97812-4166-49f7-8c06-b71966a6466f))
|
||||
(pad "9" smd rect (at -1.65 1.75 90) (size 0.24 0.6) (layers "F.Cu" "F.Paste" "F.Mask") (tstamp b39fde77-c7b4-449e-a85f-6238b876c269))
|
||||
(pad "10" smd rect (at -0.75 2.15) (size 0.24 0.6) (layers "F.Cu" "F.Paste" "F.Mask") (tstamp cc843ce3-9034-4010-9b1a-e045e758f8c4))
|
||||
(pad "11" smd rect (at 0.75 2.15) (size 0.24 0.6) (layers "F.Cu" "F.Paste" "F.Mask") (tstamp a7317140-c392-48ee-a4ab-b3e918620e77))
|
||||
(pad "12" smd rect (at 1.65 1.75 90) (size 0.24 0.6) (layers "F.Cu" "F.Paste" "F.Mask") (tstamp 83436220-4624-45f5-8a48-6778c0814bb1))
|
||||
(pad "13" smd rect (at 1.65 1.25 90) (size 0.24 0.6) (layers "F.Cu" "F.Paste" "F.Mask") (tstamp be122c1c-61bb-41e3-8a85-54ba707e3e48))
|
||||
(pad "14" smd rect (at 1.65 0.75 90) (size 0.24 0.6) (layers "F.Cu" "F.Paste" "F.Mask") (tstamp 78c9d886-bcd4-47ce-a965-bf6e24ff7e41))
|
||||
(pad "15" smd rect (at 1.65 0.25 90) (size 0.24 0.6) (layers "F.Cu" "F.Paste" "F.Mask") (tstamp cb79a967-140b-4164-9ee5-8405e4d37a1b))
|
||||
(pad "16" smd rect (at 1.65 -0.25 90) (size 0.24 0.6) (layers "F.Cu" "F.Paste" "F.Mask") (tstamp f0991022-eac4-48f5-b547-c16b32523226))
|
||||
(pad "17" smd rect (at 1.65 -0.75 90) (size 0.24 0.6) (layers "F.Cu" "F.Paste" "F.Mask") (tstamp 78ca2947-0aa6-4f53-873c-1f1b95128d4a))
|
||||
(pad "18" smd rect (at 1.65 -1.25 90) (size 0.24 0.6) (layers "F.Cu" "F.Paste" "F.Mask") (tstamp 2d315cae-3ea0-4621-b40a-48ab3623bb86))
|
||||
(pad "19" smd rect (at 1.65 -1.75 90) (size 0.24 0.6) (layers "F.Cu" "F.Paste" "F.Mask") (tstamp 866f1a69-0927-45db-b090-aae2563d5bf6))
|
||||
(pad "20" smd rect (at 0.75 -2.15) (size 0.24 0.6) (layers "F.Cu" "F.Paste" "F.Mask") (tstamp 1a7468dd-6294-4005-ae0b-7f13eac5c7eb))
|
||||
(pad "21" smd rect (at 0 0) (size 2.19 3.19) (layers "F.Cu" "F.Paste" "F.Mask") (tstamp 267f2e26-878f-4d4a-b1de-bfadbdf79253))
|
||||
(model "C:\\Users\\lurenaud\\Documents\\KiCad\\SamacSys\\SamacSys_Parts.3dshapes\\TPS61088RHLT.stp"
|
||||
(offset (xyz 0 0 0.02999999888))
|
||||
(scale (xyz 1 1 1))
|
||||
(rotate (xyz -90 0 0))
|
||||
)
|
||||
)
|
||||
@@ -588,6 +588,140 @@
|
||||
)
|
||||
)
|
||||
)
|
||||
(symbol "TPS61088RHLT" (pin_names (offset 0.762)) (in_bom yes) (on_board yes)
|
||||
(property "Reference" "IC" (id 0) (at 26.67 22.86 0)
|
||||
(effects (font (size 1.27 1.27)) (justify left))
|
||||
)
|
||||
(property "Value" "TPS61088RHLT" (id 1) (at 26.67 20.32 0)
|
||||
(effects (font (size 1.27 1.27)) (justify left))
|
||||
)
|
||||
(property "Footprint" "BQ24031IRHLRQ1" (id 2) (at 26.67 17.78 0)
|
||||
(effects (font (size 1.27 1.27)) (justify left) hide)
|
||||
)
|
||||
(property "Datasheet" "http://www.ti.com/lit/ds/symlink/tps61088.pdf" (id 3) (at 26.67 15.24 0)
|
||||
(effects (font (size 1.27 1.27)) (justify left) hide)
|
||||
)
|
||||
(property "Description" "Texas Instruments TPS61088RHLT, 3, Boost Converter, Synchronous Boost Converter 10A 4.5 12.6 V, 2.2 MHz 20-Pin" (id 4) (at 26.67 12.7 0)
|
||||
(effects (font (size 1.27 1.27)) (justify left) hide)
|
||||
)
|
||||
(property "Height" "1" (id 5) (at 26.67 10.16 0)
|
||||
(effects (font (size 1.27 1.27)) (justify left) hide)
|
||||
)
|
||||
(property "Mouser Part Number" "595-TPS61088RHLT" (id 6) (at 26.67 7.62 0)
|
||||
(effects (font (size 1.27 1.27)) (justify left) hide)
|
||||
)
|
||||
(property "Mouser Price/Stock" "https://www.mouser.co.uk/ProductDetail/Texas-Instruments/TPS61088RHLT?qs=MiqG6Kq1qKOeAwvWtl5eUw%3D%3D" (id 7) (at 26.67 5.08 0)
|
||||
(effects (font (size 1.27 1.27)) (justify left) hide)
|
||||
)
|
||||
(property "Manufacturer_Name" "Texas Instruments" (id 8) (at 26.67 2.54 0)
|
||||
(effects (font (size 1.27 1.27)) (justify left) hide)
|
||||
)
|
||||
(property "Manufacturer_Part_Number" "TPS61088RHLT" (id 9) (at 26.67 0 0)
|
||||
(effects (font (size 1.27 1.27)) (justify left) hide)
|
||||
)
|
||||
(property "ki_description" "Texas Instruments TPS61088RHLT, 3, Boost Converter, Synchronous Boost Converter 10A 4.5 12.6 V, 2.2 MHz 20-Pin" (id 10) (at 0 0 0)
|
||||
(effects (font (size 1.27 1.27)) hide)
|
||||
)
|
||||
(symbol "TPS61088RHLT_0_0"
|
||||
(pin passive line (at 12.7 8.89 270) (length 5.08)
|
||||
(name "VCC" (effects (font (size 1.27 1.27))))
|
||||
(number "1" (effects (font (size 1.27 1.27))))
|
||||
)
|
||||
(pin passive line (at 12.7 -25.4 90) (length 5.08)
|
||||
(name "SS" (effects (font (size 1.27 1.27))))
|
||||
(number "10" (effects (font (size 1.27 1.27))))
|
||||
)
|
||||
(pin passive line (at 15.24 -25.4 90) (length 5.08)
|
||||
(name "NC_1" (effects (font (size 1.27 1.27))))
|
||||
(number "11" (effects (font (size 1.27 1.27))))
|
||||
)
|
||||
(pin passive line (at 30.48 -17.78 180) (length 5.08)
|
||||
(name "NC_2" (effects (font (size 1.27 1.27))))
|
||||
(number "12" (effects (font (size 1.27 1.27))))
|
||||
)
|
||||
(pin passive line (at 30.48 -15.24 180) (length 5.08)
|
||||
(name "MODE" (effects (font (size 1.27 1.27))))
|
||||
(number "13" (effects (font (size 1.27 1.27))))
|
||||
)
|
||||
(pin passive line (at 30.48 -12.7 180) (length 5.08)
|
||||
(name "VOUT_1" (effects (font (size 1.27 1.27))))
|
||||
(number "14" (effects (font (size 1.27 1.27))))
|
||||
)
|
||||
(pin passive line (at 30.48 -10.16 180) (length 5.08)
|
||||
(name "VOUT_2" (effects (font (size 1.27 1.27))))
|
||||
(number "15" (effects (font (size 1.27 1.27))))
|
||||
)
|
||||
(pin passive line (at 30.48 -7.62 180) (length 5.08)
|
||||
(name "VOUT_3" (effects (font (size 1.27 1.27))))
|
||||
(number "16" (effects (font (size 1.27 1.27))))
|
||||
)
|
||||
(pin passive line (at 30.48 -5.08 180) (length 5.08)
|
||||
(name "FB" (effects (font (size 1.27 1.27))))
|
||||
(number "17" (effects (font (size 1.27 1.27))))
|
||||
)
|
||||
(pin passive line (at 30.48 -2.54 180) (length 5.08)
|
||||
(name "COMP" (effects (font (size 1.27 1.27))))
|
||||
(number "18" (effects (font (size 1.27 1.27))))
|
||||
)
|
||||
(pin passive line (at 30.48 0 180) (length 5.08)
|
||||
(name "ILIM" (effects (font (size 1.27 1.27))))
|
||||
(number "19" (effects (font (size 1.27 1.27))))
|
||||
)
|
||||
(pin passive line (at 0 0 0) (length 5.08)
|
||||
(name "EN" (effects (font (size 1.27 1.27))))
|
||||
(number "2" (effects (font (size 1.27 1.27))))
|
||||
)
|
||||
(pin passive line (at 17.78 8.89 270) (length 5.08)
|
||||
(name "AGND" (effects (font (size 1.27 1.27))))
|
||||
(number "20" (effects (font (size 1.27 1.27))))
|
||||
)
|
||||
(pin passive line (at 15.24 8.89 270) (length 5.08)
|
||||
(name "EP_(PGND)" (effects (font (size 1.27 1.27))))
|
||||
(number "21" (effects (font (size 1.27 1.27))))
|
||||
)
|
||||
(pin passive line (at 0 -2.54 0) (length 5.08)
|
||||
(name "FSW" (effects (font (size 1.27 1.27))))
|
||||
(number "3" (effects (font (size 1.27 1.27))))
|
||||
)
|
||||
(pin passive line (at 0 -5.08 0) (length 5.08)
|
||||
(name "SW_1" (effects (font (size 1.27 1.27))))
|
||||
(number "4" (effects (font (size 1.27 1.27))))
|
||||
)
|
||||
(pin passive line (at 0 -7.62 0) (length 5.08)
|
||||
(name "SW_2" (effects (font (size 1.27 1.27))))
|
||||
(number "5" (effects (font (size 1.27 1.27))))
|
||||
)
|
||||
(pin passive line (at 0 -10.16 0) (length 5.08)
|
||||
(name "SW_3" (effects (font (size 1.27 1.27))))
|
||||
(number "6" (effects (font (size 1.27 1.27))))
|
||||
)
|
||||
(pin passive line (at 0 -12.7 0) (length 5.08)
|
||||
(name "SW_4" (effects (font (size 1.27 1.27))))
|
||||
(number "7" (effects (font (size 1.27 1.27))))
|
||||
)
|
||||
(pin passive line (at 0 -15.24 0) (length 5.08)
|
||||
(name "BOOT" (effects (font (size 1.27 1.27))))
|
||||
(number "8" (effects (font (size 1.27 1.27))))
|
||||
)
|
||||
(pin passive line (at 0 -17.78 0) (length 5.08)
|
||||
(name "VIN" (effects (font (size 1.27 1.27))))
|
||||
(number "9" (effects (font (size 1.27 1.27))))
|
||||
)
|
||||
)
|
||||
(symbol "TPS61088RHLT_0_1"
|
||||
(polyline
|
||||
(pts
|
||||
(xy 5.08 3.81)
|
||||
(xy 25.4 3.81)
|
||||
(xy 25.4 -20.32)
|
||||
(xy 5.08 -20.32)
|
||||
(xy 5.08 3.81)
|
||||
)
|
||||
(stroke (width 0.1524) (type default) (color 0 0 0 0))
|
||||
(fill (type background))
|
||||
)
|
||||
)
|
||||
)
|
||||
(symbol "WeAct_BlackPill_Part_Like" (pin_names (offset 1.016)) (in_bom yes) (on_board yes)
|
||||
(property "Reference" "U" (id 0) (at -12.7 27.94 0)
|
||||
(effects (font (size 1.27 1.27)))
|
||||
|
||||
File diff suppressed because it is too large.
Load diff
File diff suppressed because it is too large.
Load diff
@@ -1,226 +0,0 @@
|
||||
%TF.GenerationSoftware,KiCad,Pcbnew,(6.0.4)*%
|
||||
%TF.CreationDate,2022-08-11T15:59:35+02:00*%
|
||||
%TF.ProjectId,STM32_DJI_Gimbal,53544d33-325f-4444-9a49-5f47696d6261,rev?*%
|
||||
%TF.SameCoordinates,Original*%
|
||||
%TF.FileFunction,Soldermask,Bot*%
|
||||
%TF.FilePolarity,Negative*%
|
||||
%FSLAX46Y46*%
|
||||
G04 Gerber Fmt 4.6, Leading zero omitted, Abs format (unit mm)*
|
||||
G04 Created by KiCad (PCBNEW (6.0.4)) date 2022-08-11 15:59:35*
|
||||
%MOMM*%
|
||||
%LPD*%
|
||||
G01*
|
||||
G04 APERTURE LIST*
|
||||
%ADD10R,1.700000X1.700000*%
|
||||
%ADD11O,1.700000X1.700000*%
|
||||
%ADD12C,0.800000*%
|
||||
%ADD13C,6.400000*%
|
||||
%ADD14C,0.700000*%
|
||||
%ADD15C,4.400000*%
|
||||
%ADD16C,1.700000*%
|
||||
%ADD17C,1.050000*%
|
||||
%ADD18R,1.050000X1.050000*%
|
||||
%ADD19R,0.300000X0.750000*%
|
||||
%ADD20R,0.230000X0.420000*%
|
||||
G04 APERTURE END LIST*
|
||||
D10*
|
||||
%TO.C,J2*%
|
||||
X164000000Y-127125000D03*
|
||||
D11*
|
||||
X164000000Y-129665000D03*
|
||||
%TD*%
|
||||
D12*
|
||||
%TO.C,H6*%
|
||||
X165250000Y-82350000D03*
|
||||
X166947056Y-86447056D03*
|
||||
X166947056Y-83052944D03*
|
||||
X167650000Y-84750000D03*
|
||||
D13*
|
||||
X165250000Y-84750000D03*
|
||||
D12*
|
||||
X165250000Y-87150000D03*
|
||||
X163552944Y-83052944D03*
|
||||
X163552944Y-86447056D03*
|
||||
X162850000Y-84750000D03*
|
||||
%TD*%
|
||||
%TO.C,H5*%
|
||||
X165250000Y-112850000D03*
|
||||
X166947056Y-116947056D03*
|
||||
X166947056Y-113552944D03*
|
||||
X167650000Y-115250000D03*
|
||||
D13*
|
||||
X165250000Y-115250000D03*
|
||||
D12*
|
||||
X165250000Y-117650000D03*
|
||||
X163552944Y-113552944D03*
|
||||
X163552944Y-116947056D03*
|
||||
X162850000Y-115250000D03*
|
||||
%TD*%
|
||||
D14*
|
||||
%TO.C,H4*%
|
||||
X172166726Y-147666726D03*
|
||||
X171000000Y-144850000D03*
|
||||
X169833274Y-145333274D03*
|
||||
X169350000Y-146500000D03*
|
||||
X172166726Y-145333274D03*
|
||||
X169833274Y-147666726D03*
|
||||
X171000000Y-148150000D03*
|
||||
D15*
|
||||
X171000000Y-146500000D03*
|
||||
D14*
|
||||
X172650000Y-146500000D03*
|
||||
%TD*%
|
||||
%TO.C,H3*%
|
||||
X172166726Y-140666726D03*
|
||||
X171000000Y-137850000D03*
|
||||
X169833274Y-138333274D03*
|
||||
X169350000Y-139500000D03*
|
||||
X172166726Y-138333274D03*
|
||||
X169833274Y-140666726D03*
|
||||
X171000000Y-141150000D03*
|
||||
D15*
|
||||
X171000000Y-139500000D03*
|
||||
D14*
|
||||
X172650000Y-139500000D03*
|
||||
%TD*%
|
||||
D12*
|
||||
%TO.C,H2*%
|
||||
X134750000Y-112850000D03*
|
||||
X136447056Y-116947056D03*
|
||||
X136447056Y-113552944D03*
|
||||
X137150000Y-115250000D03*
|
||||
D13*
|
||||
X134750000Y-115250000D03*
|
||||
D12*
|
||||
X134750000Y-117650000D03*
|
||||
X133052944Y-113552944D03*
|
||||
X133052944Y-116947056D03*
|
||||
X132350000Y-115250000D03*
|
||||
%TD*%
|
||||
%TO.C,H1*%
|
||||
X134750000Y-82350000D03*
|
||||
X136447056Y-86447056D03*
|
||||
X136447056Y-83052944D03*
|
||||
X137150000Y-84750000D03*
|
||||
D13*
|
||||
X134750000Y-84750000D03*
|
||||
D12*
|
||||
X134750000Y-87150000D03*
|
||||
X133052944Y-83052944D03*
|
||||
X133052944Y-86447056D03*
|
||||
X132350000Y-84750000D03*
|
||||
%TD*%
|
||||
D10*
|
||||
%TO.C,U1*%
|
||||
X142380000Y-75870000D03*
|
||||
D16*
|
||||
X142380000Y-78410000D03*
|
||||
X142380000Y-80950000D03*
|
||||
X142380000Y-83490000D03*
|
||||
X142380000Y-86030000D03*
|
||||
X142380000Y-88570000D03*
|
||||
X142380000Y-91110000D03*
|
||||
X142380000Y-93650000D03*
|
||||
X142380000Y-96190000D03*
|
||||
X142380000Y-98730000D03*
|
||||
X142380000Y-101270000D03*
|
||||
X142380000Y-103810000D03*
|
||||
X142380000Y-106350000D03*
|
||||
X142380000Y-108890000D03*
|
||||
X142380000Y-111430000D03*
|
||||
X142380000Y-113970000D03*
|
||||
X142380000Y-116510000D03*
|
||||
X142380000Y-119050000D03*
|
||||
X142380000Y-121590000D03*
|
||||
X142380000Y-124130000D03*
|
||||
X157620000Y-124130000D03*
|
||||
X157620000Y-121590000D03*
|
||||
X157620000Y-119050000D03*
|
||||
X157620000Y-116510000D03*
|
||||
X157620000Y-113970000D03*
|
||||
X157620000Y-111430000D03*
|
||||
X157620000Y-108890000D03*
|
||||
X157620000Y-106350000D03*
|
||||
X157620000Y-103810000D03*
|
||||
X157620000Y-101270000D03*
|
||||
X157620000Y-98730000D03*
|
||||
X157620000Y-96190000D03*
|
||||
X157620000Y-93650000D03*
|
||||
X157620000Y-91110000D03*
|
||||
X157620000Y-88570000D03*
|
||||
X157620000Y-86030000D03*
|
||||
X157620000Y-83490000D03*
|
||||
X157620000Y-80950000D03*
|
||||
X157620000Y-78410000D03*
|
||||
X157620000Y-75870000D03*
|
||||
%TD*%
|
||||
D17*
|
||||
%TO.C,P2*%
|
||||
X161000000Y-91000000D03*
|
||||
X161000000Y-93000000D03*
|
||||
X161000000Y-95000000D03*
|
||||
X161000000Y-97000000D03*
|
||||
X161000000Y-99000000D03*
|
||||
X161000000Y-101000000D03*
|
||||
X161000000Y-103000000D03*
|
||||
X161000000Y-105000000D03*
|
||||
X161000000Y-107000000D03*
|
||||
D18*
|
||||
X161000000Y-109000000D03*
|
||||
%TD*%
|
||||
%TO.C,P1*%
|
||||
X139000000Y-109000000D03*
|
||||
D17*
|
||||
X139000000Y-107000000D03*
|
||||
X139000000Y-105000000D03*
|
||||
X139000000Y-103000000D03*
|
||||
X139000000Y-101000000D03*
|
||||
X139000000Y-99000000D03*
|
||||
X139000000Y-97000000D03*
|
||||
X139000000Y-95000000D03*
|
||||
X139000000Y-93000000D03*
|
||||
X139000000Y-91000000D03*
|
||||
%TD*%
|
||||
D19*
|
||||
%TO.C,J1*%
|
||||
X139090000Y-140575000D03*
|
||||
X139090000Y-142425000D03*
|
||||
X147910000Y-142425000D03*
|
||||
X147910000Y-140575000D03*
|
||||
D20*
|
||||
X140300000Y-140410000D03*
|
||||
X140300000Y-142590000D03*
|
||||
X140700000Y-140410000D03*
|
||||
X140700000Y-142590000D03*
|
||||
X141100000Y-140410000D03*
|
||||
X141100000Y-142590000D03*
|
||||
X141500000Y-140410000D03*
|
||||
X141500000Y-142590000D03*
|
||||
X141900000Y-140410000D03*
|
||||
X141900000Y-142590000D03*
|
||||
X142300000Y-140410000D03*
|
||||
X142300000Y-142590000D03*
|
||||
X142700000Y-140410000D03*
|
||||
X142700000Y-142590000D03*
|
||||
X143100000Y-140410000D03*
|
||||
X143100000Y-142590000D03*
|
||||
X143500000Y-140410000D03*
|
||||
X143500000Y-142590000D03*
|
||||
X143900000Y-140410000D03*
|
||||
X143900000Y-142590000D03*
|
||||
X144300000Y-140410000D03*
|
||||
X144300000Y-142590000D03*
|
||||
X144700000Y-140410000D03*
|
||||
X144700000Y-142590000D03*
|
||||
X145100000Y-140410000D03*
|
||||
X145100000Y-142590000D03*
|
||||
X145500000Y-140410000D03*
|
||||
X145500000Y-142590000D03*
|
||||
X145900000Y-140410000D03*
|
||||
X145900000Y-142590000D03*
|
||||
X146300000Y-140410000D03*
|
||||
X146300000Y-142590000D03*
|
||||
X146700000Y-140410000D03*
|
||||
X146700000Y-142590000D03*
|
||||
%TD*%
|
||||
M02*
|
||||
@@ -1,59 +0,0 @@
|
||||
%TF.GenerationSoftware,KiCad,Pcbnew,(6.0.4)*%
|
||||
%TF.CreationDate,2022-08-11T15:59:35+02:00*%
|
||||
%TF.ProjectId,STM32_DJI_Gimbal,53544d33-325f-4444-9a49-5f47696d6261,rev?*%
|
||||
%TF.SameCoordinates,Original*%
|
||||
%TF.FileFunction,Paste,Bot*%
|
||||
%TF.FilePolarity,Positive*%
|
||||
%FSLAX46Y46*%
|
||||
G04 Gerber Fmt 4.6, Leading zero omitted, Abs format (unit mm)*
|
||||
G04 Created by KiCad (PCBNEW (6.0.4)) date 2022-08-11 15:59:35*
|
||||
%MOMM*%
|
||||
%LPD*%
|
||||
G01*
|
||||
G04 APERTURE LIST*
|
||||
%ADD10R,0.300000X0.750000*%
|
||||
%ADD11R,0.230000X0.420000*%
|
||||
G04 APERTURE END LIST*
|
||||
D10*
|
||||
%TO.C,J1*%
|
||||
X139090000Y-140575000D03*
|
||||
X139090000Y-142425000D03*
|
||||
X147910000Y-142425000D03*
|
||||
X147910000Y-140575000D03*
|
||||
D11*
|
||||
X140300000Y-140410000D03*
|
||||
X140300000Y-142590000D03*
|
||||
X140700000Y-140410000D03*
|
||||
X140700000Y-142590000D03*
|
||||
X141100000Y-140410000D03*
|
||||
X141100000Y-142590000D03*
|
||||
X141500000Y-140410000D03*
|
||||
X141500000Y-142590000D03*
|
||||
X141900000Y-140410000D03*
|
||||
X141900000Y-142590000D03*
|
||||
X142300000Y-140410000D03*
|
||||
X142300000Y-142590000D03*
|
||||
X142700000Y-140410000D03*
|
||||
X142700000Y-142590000D03*
|
||||
X143100000Y-140410000D03*
|
||||
X143100000Y-142590000D03*
|
||||
X143500000Y-140410000D03*
|
||||
X143500000Y-142590000D03*
|
||||
X143900000Y-140410000D03*
|
||||
X143900000Y-142590000D03*
|
||||
X144300000Y-140410000D03*
|
||||
X144300000Y-142590000D03*
|
||||
X144700000Y-140410000D03*
|
||||
X144700000Y-142590000D03*
|
||||
X145100000Y-140410000D03*
|
||||
X145100000Y-142590000D03*
|
||||
X145500000Y-140410000D03*
|
||||
X145500000Y-142590000D03*
|
||||
X145900000Y-140410000D03*
|
||||
X145900000Y-142590000D03*
|
||||
X146300000Y-140410000D03*
|
||||
X146300000Y-142590000D03*
|
||||
X146700000Y-140410000D03*
|
||||
X146700000Y-142590000D03*
|
||||
%TD*%
|
||||
M02*
|
||||
@@ -1,66 +0,0 @@
|
||||
%TF.GenerationSoftware,KiCad,Pcbnew,(6.0.4)*%
|
||||
%TF.CreationDate,2022-08-11T15:59:35+02:00*%
|
||||
%TF.ProjectId,STM32_DJI_Gimbal,53544d33-325f-4444-9a49-5f47696d6261,rev?*%
|
||||
%TF.SameCoordinates,Original*%
|
||||
%TF.FileFunction,Legend,Bot*%
|
||||
%TF.FilePolarity,Positive*%
|
||||
%FSLAX46Y46*%
|
||||
G04 Gerber Fmt 4.6, Leading zero omitted, Abs format (unit mm)*
|
||||
G04 Created by KiCad (PCBNEW (6.0.4)) date 2022-08-11 15:59:35*
|
||||
%MOMM*%
|
||||
%LPD*%
|
||||
G01*
|
||||
G04 APERTURE LIST*
|
||||
%ADD10C,0.500000*%
|
||||
%ADD11C,0.150000*%
|
||||
%ADD12C,0.250000*%
|
||||
%ADD13C,0.200000*%
|
||||
G04 APERTURE END LIST*
|
||||
D10*
|
||||
X136800001Y-76000000D02*
|
||||
G75*
|
||||
G03*
|
||||
X136800001Y-76000000I-1J0D01*
|
||||
G01*
|
||||
D11*
|
||||
X137300000Y-78500000D02*
|
||||
X136800000Y-79000000D01*
|
||||
X136300000Y-78500000D02*
|
||||
X136800000Y-79000000D01*
|
||||
X136800000Y-79000000D02*
|
||||
X136800000Y-77118033D01*
|
||||
X137918034Y-76000000D02*
|
||||
G75*
|
||||
G03*
|
||||
X137918034Y-76000000I-1118034J0D01*
|
||||
G01*
|
||||
D12*
|
||||
%TO.C,J1*%
|
||||
X143633333Y-137552380D02*
|
||||
X143633333Y-138266666D01*
|
||||
X143680952Y-138409523D01*
|
||||
X143776190Y-138504761D01*
|
||||
X143919047Y-138552380D01*
|
||||
X144014285Y-138552380D01*
|
||||
X142633333Y-138552380D02*
|
||||
X143204761Y-138552380D01*
|
||||
X142919047Y-138552380D02*
|
||||
X142919047Y-137552380D01*
|
||||
X143014285Y-137695238D01*
|
||||
X143109523Y-137790476D01*
|
||||
X143204761Y-137838095D01*
|
||||
D13*
|
||||
X147500000Y-142650000D02*
|
||||
X147100000Y-142650000D01*
|
||||
X147500000Y-140350000D02*
|
||||
X147100000Y-140350000D01*
|
||||
X138860000Y-141900000D02*
|
||||
X138860000Y-141300000D01*
|
||||
X139900000Y-140350000D02*
|
||||
X139500000Y-140350000D01*
|
||||
X148140000Y-141700000D02*
|
||||
X148140000Y-141300000D01*
|
||||
X139900000Y-142650000D02*
|
||||
X139500000Y-142650000D01*
|
||||
%TD*%
|
||||
M02*
|
||||
@@ -1,154 +0,0 @@
|
||||
%TF.GenerationSoftware,KiCad,Pcbnew,(6.0.4)*%
|
||||
%TF.CreationDate,2022-08-11T15:59:35+02:00*%
|
||||
%TF.ProjectId,STM32_DJI_Gimbal,53544d33-325f-4444-9a49-5f47696d6261,rev?*%
|
||||
%TF.SameCoordinates,Original*%
|
||||
%TF.FileFunction,Profile,NP*%
|
||||
%FSLAX46Y46*%
|
||||
G04 Gerber Fmt 4.6, Leading zero omitted, Abs format (unit mm)*
|
||||
G04 Created by KiCad (PCBNEW (6.0.4)) date 2022-08-11 15:59:35*
|
||||
%MOMM*%
|
||||
%LPD*%
|
||||
G01*
|
||||
G04 APERTURE LIST*
|
||||
%TA.AperFunction,Profile*%
|
||||
%ADD10C,0.250000*%
|
||||
%TD*%
|
||||
G04 APERTURE END LIST*
|
||||
D10*
|
||||
X167500000Y-146000000D02*
|
||||
G75*
|
||||
G03*
|
||||
X169500000Y-146000000I1000000J0D01*
|
||||
G01*
|
||||
X169500000Y-140000000D02*
|
||||
G75*
|
||||
G03*
|
||||
X167500000Y-140000000I-1000000J0D01*
|
||||
G01*
|
||||
X176000000Y-138500000D02*
|
||||
G75*
|
||||
G03*
|
||||
X174000000Y-136500000I-2000000J0D01*
|
||||
G01*
|
||||
X170071798Y-135964100D02*
|
||||
G75*
|
||||
G03*
|
||||
X172071797Y-136500000I2000002J3464100D01*
|
||||
G01*
|
||||
X165999959Y-131303848D02*
|
||||
G75*
|
||||
G03*
|
||||
X168000000Y-134767949I4000041J48D01*
|
||||
G01*
|
||||
X167269235Y-118108801D02*
|
||||
G75*
|
||||
G03*
|
||||
X166000000Y-120559190I1730765J-2450399D01*
|
||||
G01*
|
||||
X167269231Y-118108795D02*
|
||||
G75*
|
||||
G03*
|
||||
X167269231Y-112391205I-2019231J2858795D01*
|
||||
G01*
|
||||
X165999992Y-109940810D02*
|
||||
G75*
|
||||
G03*
|
||||
X167269231Y-112391205I3000008J10D01*
|
||||
G01*
|
||||
X167269235Y-87608801D02*
|
||||
G75*
|
||||
G03*
|
||||
X166000000Y-90059190I1730765J-2450399D01*
|
||||
G01*
|
||||
X167269231Y-87608795D02*
|
||||
G75*
|
||||
G03*
|
||||
X167269231Y-81891205I-2019231J2858795D01*
|
||||
G01*
|
||||
X165999992Y-79440810D02*
|
||||
G75*
|
||||
G03*
|
||||
X167269231Y-81891205I3000008J10D01*
|
||||
G01*
|
||||
X166000000Y-76500000D02*
|
||||
G75*
|
||||
G03*
|
||||
X163000000Y-73500000I-3000000J0D01*
|
||||
G01*
|
||||
X137000000Y-73500000D02*
|
||||
G75*
|
||||
G03*
|
||||
X134000000Y-76500000I0J-3000000D01*
|
||||
G01*
|
||||
X132730765Y-81891199D02*
|
||||
G75*
|
||||
G03*
|
||||
X134000000Y-79440810I-1730765J2450399D01*
|
||||
G01*
|
||||
X132730769Y-81891205D02*
|
||||
G75*
|
||||
G03*
|
||||
X132730769Y-87608795I2019231J-2858795D01*
|
||||
G01*
|
||||
X134000008Y-90059190D02*
|
||||
G75*
|
||||
G03*
|
||||
X132730769Y-87608795I-3000008J-10D01*
|
||||
G01*
|
||||
X132730765Y-112391199D02*
|
||||
G75*
|
||||
G03*
|
||||
X134000000Y-109940810I-1730765J2450399D01*
|
||||
G01*
|
||||
X132730769Y-112391205D02*
|
||||
G75*
|
||||
G03*
|
||||
X132730769Y-118108795I2019231J-2858795D01*
|
||||
G01*
|
||||
X134000008Y-120559190D02*
|
||||
G75*
|
||||
G03*
|
||||
X132730769Y-118108795I-3000008J-10D01*
|
||||
G01*
|
||||
X134000004Y-139685045D02*
|
||||
G75*
|
||||
G03*
|
||||
X138840602Y-148251294I9999996J-5D01*
|
||||
G01*
|
||||
X138840604Y-148251290D02*
|
||||
G75*
|
||||
G03*
|
||||
X143679492Y-149500000I4838896J8751290D01*
|
||||
G01*
|
||||
X174000000Y-149500000D02*
|
||||
G75*
|
||||
G03*
|
||||
X176000000Y-147500000I0J2000000D01*
|
||||
G01*
|
||||
X167500000Y-140000000D02*
|
||||
X167500000Y-146000000D01*
|
||||
X169500000Y-146000000D02*
|
||||
X169500000Y-140000000D01*
|
||||
X176000000Y-147500000D02*
|
||||
X176000000Y-138500000D01*
|
||||
X174000000Y-136500000D02*
|
||||
X172071797Y-136500000D01*
|
||||
X170071797Y-135964102D02*
|
||||
X168000000Y-134767949D01*
|
||||
X166000000Y-131303848D02*
|
||||
X166000000Y-120559190D01*
|
||||
X166000000Y-109940810D02*
|
||||
X166000000Y-90059190D01*
|
||||
X166000000Y-79440810D02*
|
||||
X166000000Y-76500000D01*
|
||||
X163000000Y-73500000D02*
|
||||
X137000000Y-73500000D01*
|
||||
X134000000Y-76500000D02*
|
||||
X134000000Y-79440810D01*
|
||||
X134000000Y-90059190D02*
|
||||
X134000000Y-109940810D01*
|
||||
X134000000Y-120559190D02*
|
||||
X134000000Y-139685045D01*
|
||||
X143679492Y-149500000D02*
|
||||
X174000000Y-149500000D01*
|
||||
M02*
|
||||
File diff suppressed because it is too large.
Load diff
@@ -1,333 +0,0 @@
|
||||
%TF.GenerationSoftware,KiCad,Pcbnew,(6.0.4)*%
|
||||
%TF.CreationDate,2022-08-11T15:59:35+02:00*%
|
||||
%TF.ProjectId,STM32_DJI_Gimbal,53544d33-325f-4444-9a49-5f47696d6261,rev?*%
|
||||
%TF.SameCoordinates,Original*%
|
||||
%TF.FileFunction,Soldermask,Top*%
|
||||
%TF.FilePolarity,Negative*%
|
||||
%FSLAX46Y46*%
|
||||
G04 Gerber Fmt 4.6, Leading zero omitted, Abs format (unit mm)*
|
||||
G04 Created by KiCad (PCBNEW (6.0.4)) date 2022-08-11 15:59:35*
|
||||
%MOMM*%
|
||||
%LPD*%
|
||||
G01*
|
||||
G04 APERTURE LIST*
|
||||
G04 Aperture macros list*
|
||||
%AMRoundRect*
|
||||
0 Rectangle with rounded corners*
|
||||
0 $1 Rounding radius*
|
||||
0 $2 $3 $4 $5 $6 $7 $8 $9 X,Y pos of 4 corners*
|
||||
0 Add a 4 corners polygon primitive as box body*
|
||||
4,1,4,$2,$3,$4,$5,$6,$7,$8,$9,$2,$3,0*
|
||||
0 Add four circle primitives for the rounded corners*
|
||||
1,1,$1+$1,$2,$3*
|
||||
1,1,$1+$1,$4,$5*
|
||||
1,1,$1+$1,$6,$7*
|
||||
1,1,$1+$1,$8,$9*
|
||||
0 Add four rect primitives between the rounded corners*
|
||||
20,1,$1+$1,$2,$3,$4,$5,0*
|
||||
20,1,$1+$1,$4,$5,$6,$7,0*
|
||||
20,1,$1+$1,$6,$7,$8,$9,0*
|
||||
20,1,$1+$1,$8,$9,$2,$3,0*%
|
||||
G04 Aperture macros list end*
|
||||
%ADD10R,1.600000X0.410000*%
|
||||
%ADD11RoundRect,0.135000X0.135000X0.185000X-0.135000X0.185000X-0.135000X-0.185000X0.135000X-0.185000X0*%
|
||||
%ADD12RoundRect,0.135000X-0.135000X-0.185000X0.135000X-0.185000X0.135000X0.185000X-0.135000X0.185000X0*%
|
||||
%ADD13R,0.800000X2.700000*%
|
||||
%ADD14R,0.700000X0.600000*%
|
||||
%ADD15RoundRect,0.225000X0.250000X-0.225000X0.250000X0.225000X-0.250000X0.225000X-0.250000X-0.225000X0*%
|
||||
%ADD16RoundRect,0.250000X-0.787500X-0.925000X0.787500X-0.925000X0.787500X0.925000X-0.787500X0.925000X0*%
|
||||
%ADD17RoundRect,0.250000X0.787500X0.925000X-0.787500X0.925000X-0.787500X-0.925000X0.787500X-0.925000X0*%
|
||||
%ADD18RoundRect,0.225000X-0.225000X-0.250000X0.225000X-0.250000X0.225000X0.250000X-0.225000X0.250000X0*%
|
||||
%ADD19RoundRect,0.225000X0.225000X0.250000X-0.225000X0.250000X-0.225000X-0.250000X0.225000X-0.250000X0*%
|
||||
%ADD20R,1.700000X1.700000*%
|
||||
%ADD21O,1.700000X1.700000*%
|
||||
%ADD22C,0.800000*%
|
||||
%ADD23C,6.400000*%
|
||||
%ADD24C,0.700000*%
|
||||
%ADD25C,4.400000*%
|
||||
%ADD26C,1.700000*%
|
||||
%ADD27R,1.500000X1.000000*%
|
||||
%ADD28C,0.950000*%
|
||||
%ADD29RoundRect,0.150000X-0.150000X0.587500X-0.150000X-0.587500X0.150000X-0.587500X0.150000X0.587500X0*%
|
||||
G04 APERTURE END LIST*
|
||||
D10*
|
||||
%TO.C,U2*%
|
||||
X155808600Y-132115000D03*
|
||||
X155808600Y-132750000D03*
|
||||
X155808600Y-133385000D03*
|
||||
X155808600Y-134020000D03*
|
||||
X155808600Y-134655000D03*
|
||||
X155808600Y-135290000D03*
|
||||
X155808600Y-135925000D03*
|
||||
X155808600Y-136560000D03*
|
||||
X150500000Y-136560000D03*
|
||||
X150500000Y-135925000D03*
|
||||
X150500000Y-135290000D03*
|
||||
X150500000Y-134655000D03*
|
||||
X150500000Y-134020000D03*
|
||||
X150500000Y-133385000D03*
|
||||
X150500000Y-132750000D03*
|
||||
X150500000Y-132115000D03*
|
||||
%TD*%
|
||||
D11*
|
||||
%TO.C,R3*%
|
||||
X148914300Y-134000000D03*
|
||||
X147894300Y-134000000D03*
|
||||
%TD*%
|
||||
D12*
|
||||
%TO.C,R2*%
|
||||
X147894300Y-135087500D03*
|
||||
X148914300Y-135087500D03*
|
||||
%TD*%
|
||||
%TO.C,R1*%
|
||||
X148846000Y-136250000D03*
|
||||
X147826000Y-136250000D03*
|
||||
%TD*%
|
||||
D13*
|
||||
%TO.C,L1*%
|
||||
X151650000Y-129500000D03*
|
||||
X153850000Y-129500000D03*
|
||||
%TD*%
|
||||
D14*
|
||||
%TO.C,D1*%
|
||||
X157800000Y-132900000D03*
|
||||
X157800000Y-131500000D03*
|
||||
%TD*%
|
||||
D15*
|
||||
%TO.C,C5*%
|
||||
X143750000Y-140275000D03*
|
||||
X143750000Y-138725000D03*
|
||||
%TD*%
|
||||
D16*
|
||||
%TO.C,C4*%
|
||||
X160962500Y-129000000D03*
|
||||
X156037500Y-129000000D03*
|
||||
%TD*%
|
||||
D17*
|
||||
%TO.C,C3*%
|
||||
X148962500Y-129337500D03*
|
||||
X144037500Y-129337500D03*
|
||||
%TD*%
|
||||
D18*
|
||||
%TO.C,C2*%
|
||||
X152379300Y-137837500D03*
|
||||
X153929300Y-137837500D03*
|
||||
%TD*%
|
||||
D19*
|
||||
%TO.C,C1*%
|
||||
X148679300Y-132837500D03*
|
||||
X147129300Y-132837500D03*
|
||||
%TD*%
|
||||
D20*
|
||||
%TO.C,J2*%
|
||||
X164000000Y-127125000D03*
|
||||
D21*
|
||||
X164000000Y-129665000D03*
|
||||
%TD*%
|
||||
D22*
|
||||
%TO.C,H6*%
|
||||
X165250000Y-82350000D03*
|
||||
X166947056Y-86447056D03*
|
||||
X166947056Y-83052944D03*
|
||||
X167650000Y-84750000D03*
|
||||
D23*
|
||||
X165250000Y-84750000D03*
|
||||
D22*
|
||||
X165250000Y-87150000D03*
|
||||
X163552944Y-83052944D03*
|
||||
X163552944Y-86447056D03*
|
||||
X162850000Y-84750000D03*
|
||||
%TD*%
|
||||
%TO.C,H5*%
|
||||
X165250000Y-112850000D03*
|
||||
X166947056Y-116947056D03*
|
||||
X166947056Y-113552944D03*
|
||||
X167650000Y-115250000D03*
|
||||
D23*
|
||||
X165250000Y-115250000D03*
|
||||
D22*
|
||||
X165250000Y-117650000D03*
|
||||
X163552944Y-113552944D03*
|
||||
X163552944Y-116947056D03*
|
||||
X162850000Y-115250000D03*
|
||||
%TD*%
|
||||
D24*
|
||||
%TO.C,H4*%
|
||||
X172166726Y-147666726D03*
|
||||
X171000000Y-144850000D03*
|
||||
X169833274Y-145333274D03*
|
||||
X169350000Y-146500000D03*
|
||||
X172166726Y-145333274D03*
|
||||
X169833274Y-147666726D03*
|
||||
X171000000Y-148150000D03*
|
||||
D25*
|
||||
X171000000Y-146500000D03*
|
||||
D24*
|
||||
X172650000Y-146500000D03*
|
||||
%TD*%
|
||||
%TO.C,H3*%
|
||||
X172166726Y-140666726D03*
|
||||
X171000000Y-137850000D03*
|
||||
X169833274Y-138333274D03*
|
||||
X169350000Y-139500000D03*
|
||||
X172166726Y-138333274D03*
|
||||
X169833274Y-140666726D03*
|
||||
X171000000Y-141150000D03*
|
||||
D25*
|
||||
X171000000Y-139500000D03*
|
||||
D24*
|
||||
X172650000Y-139500000D03*
|
||||
%TD*%
|
||||
D22*
|
||||
%TO.C,H2*%
|
||||
X134750000Y-112850000D03*
|
||||
X136447056Y-116947056D03*
|
||||
X136447056Y-113552944D03*
|
||||
X137150000Y-115250000D03*
|
||||
D23*
|
||||
X134750000Y-115250000D03*
|
||||
D22*
|
||||
X134750000Y-117650000D03*
|
||||
X133052944Y-113552944D03*
|
||||
X133052944Y-116947056D03*
|
||||
X132350000Y-115250000D03*
|
||||
%TD*%
|
||||
%TO.C,H1*%
|
||||
X134750000Y-82350000D03*
|
||||
X136447056Y-86447056D03*
|
||||
X136447056Y-83052944D03*
|
||||
X137150000Y-84750000D03*
|
||||
D23*
|
||||
X134750000Y-84750000D03*
|
||||
D22*
|
||||
X134750000Y-87150000D03*
|
||||
X133052944Y-83052944D03*
|
||||
X133052944Y-86447056D03*
|
||||
X132350000Y-84750000D03*
|
||||
%TD*%
|
||||
D20*
|
||||
%TO.C,U1*%
|
||||
X142380000Y-75870000D03*
|
||||
D26*
|
||||
X142380000Y-78410000D03*
|
||||
X142380000Y-80950000D03*
|
||||
X142380000Y-83490000D03*
|
||||
X142380000Y-86030000D03*
|
||||
X142380000Y-88570000D03*
|
||||
X142380000Y-91110000D03*
|
||||
X142380000Y-93650000D03*
|
||||
X142380000Y-96190000D03*
|
||||
X142380000Y-98730000D03*
|
||||
X142380000Y-101270000D03*
|
||||
X142380000Y-103810000D03*
|
||||
X142380000Y-106350000D03*
|
||||
X142380000Y-108890000D03*
|
||||
X142380000Y-111430000D03*
|
||||
X142380000Y-113970000D03*
|
||||
X142380000Y-116510000D03*
|
||||
X142380000Y-119050000D03*
|
||||
X142380000Y-121590000D03*
|
||||
X142380000Y-124130000D03*
|
||||
X157620000Y-124130000D03*
|
||||
X157620000Y-121590000D03*
|
||||
X157620000Y-119050000D03*
|
||||
X157620000Y-116510000D03*
|
||||
X157620000Y-113970000D03*
|
||||
X157620000Y-111430000D03*
|
||||
X157620000Y-108890000D03*
|
||||
X157620000Y-106350000D03*
|
||||
X157620000Y-103810000D03*
|
||||
X157620000Y-101270000D03*
|
||||
X157620000Y-98730000D03*
|
||||
X157620000Y-96190000D03*
|
||||
X157620000Y-93650000D03*
|
||||
X157620000Y-91110000D03*
|
||||
X157620000Y-88570000D03*
|
||||
X157620000Y-86030000D03*
|
||||
X157620000Y-83490000D03*
|
||||
X157620000Y-80950000D03*
|
||||
X157620000Y-78410000D03*
|
||||
X157620000Y-75870000D03*
|
||||
%TD*%
|
||||
D27*
|
||||
%TO.C,P2*%
|
||||
X162600000Y-91000000D03*
|
||||
D28*
|
||||
X161000000Y-91000000D03*
|
||||
X161000000Y-93000000D03*
|
||||
D27*
|
||||
X159400000Y-93000000D03*
|
||||
X162600000Y-95000000D03*
|
||||
D28*
|
||||
X161000000Y-95000000D03*
|
||||
X161000000Y-97000000D03*
|
||||
D27*
|
||||
X159400000Y-97000000D03*
|
||||
X162600000Y-99000000D03*
|
||||
D28*
|
||||
X161000000Y-99000000D03*
|
||||
X161000000Y-101000000D03*
|
||||
D27*
|
||||
X159400000Y-101000000D03*
|
||||
D28*
|
||||
X161000000Y-103000000D03*
|
||||
D27*
|
||||
X162600000Y-103000000D03*
|
||||
D28*
|
||||
X161000000Y-105000000D03*
|
||||
D27*
|
||||
X159400000Y-105000000D03*
|
||||
D28*
|
||||
X161000000Y-107000000D03*
|
||||
D27*
|
||||
X162600000Y-107000000D03*
|
||||
X159400000Y-109000000D03*
|
||||
D28*
|
||||
X161000000Y-109000000D03*
|
||||
%TD*%
|
||||
D27*
|
||||
%TO.C,P1*%
|
||||
X137400000Y-109000000D03*
|
||||
D28*
|
||||
X139000000Y-109000000D03*
|
||||
D27*
|
||||
X140600000Y-107000000D03*
|
||||
D28*
|
||||
X139000000Y-107000000D03*
|
||||
D27*
|
||||
X137400000Y-105000000D03*
|
||||
D28*
|
||||
X139000000Y-105000000D03*
|
||||
X139000000Y-103000000D03*
|
||||
D27*
|
||||
X140600000Y-103000000D03*
|
||||
D28*
|
||||
X139000000Y-101000000D03*
|
||||
D27*
|
||||
X137400000Y-101000000D03*
|
||||
D28*
|
||||
X139000000Y-99000000D03*
|
||||
D27*
|
||||
X140600000Y-99000000D03*
|
||||
X137400000Y-97000000D03*
|
||||
D28*
|
||||
X139000000Y-97000000D03*
|
||||
X139000000Y-95000000D03*
|
||||
D27*
|
||||
X140600000Y-95000000D03*
|
||||
D28*
|
||||
X139000000Y-93000000D03*
|
||||
D27*
|
||||
X137400000Y-93000000D03*
|
||||
D28*
|
||||
X139000000Y-91000000D03*
|
||||
D27*
|
||||
X140600000Y-91000000D03*
|
||||
%TD*%
|
||||
D29*
|
||||
%TO.C,IC1*%
|
||||
X164450000Y-121562500D03*
|
||||
X162550000Y-121562500D03*
|
||||
X163500000Y-123437500D03*
|
||||
%TD*%
|
||||
M02*
|
||||
@@ -1,144 +0,0 @@
|
||||
%TF.GenerationSoftware,KiCad,Pcbnew,(6.0.4)*%
|
||||
%TF.CreationDate,2022-08-11T15:59:35+02:00*%
|
||||
%TF.ProjectId,STM32_DJI_Gimbal,53544d33-325f-4444-9a49-5f47696d6261,rev?*%
|
||||
%TF.SameCoordinates,Original*%
|
||||
%TF.FileFunction,Paste,Top*%
|
||||
%TF.FilePolarity,Positive*%
|
||||
%FSLAX46Y46*%
|
||||
G04 Gerber Fmt 4.6, Leading zero omitted, Abs format (unit mm)*
|
||||
G04 Created by KiCad (PCBNEW (6.0.4)) date 2022-08-11 15:59:35*
|
||||
%MOMM*%
|
||||
%LPD*%
|
||||
G01*
|
||||
G04 APERTURE LIST*
|
||||
G04 Aperture macros list*
|
||||
%AMRoundRect*
|
||||
0 Rectangle with rounded corners*
|
||||
0 $1 Rounding radius*
|
||||
0 $2 $3 $4 $5 $6 $7 $8 $9 X,Y pos of 4 corners*
|
||||
0 Add a 4 corners polygon primitive as box body*
|
||||
4,1,4,$2,$3,$4,$5,$6,$7,$8,$9,$2,$3,0*
|
||||
0 Add four circle primitives for the rounded corners*
|
||||
1,1,$1+$1,$2,$3*
|
||||
1,1,$1+$1,$4,$5*
|
||||
1,1,$1+$1,$6,$7*
|
||||
1,1,$1+$1,$8,$9*
|
||||
0 Add four rect primitives between the rounded corners*
|
||||
20,1,$1+$1,$2,$3,$4,$5,0*
|
||||
20,1,$1+$1,$4,$5,$6,$7,0*
|
||||
20,1,$1+$1,$6,$7,$8,$9,0*
|
||||
20,1,$1+$1,$8,$9,$2,$3,0*%
|
||||
G04 Aperture macros list end*
|
||||
%ADD10R,1.600000X0.410000*%
|
||||
%ADD11RoundRect,0.135000X0.135000X0.185000X-0.135000X0.185000X-0.135000X-0.185000X0.135000X-0.185000X0*%
|
||||
%ADD12RoundRect,0.135000X-0.135000X-0.185000X0.135000X-0.185000X0.135000X0.185000X-0.135000X0.185000X0*%
|
||||
%ADD13R,0.800000X2.700000*%
|
||||
%ADD14R,0.700000X0.600000*%
|
||||
%ADD15RoundRect,0.225000X0.250000X-0.225000X0.250000X0.225000X-0.250000X0.225000X-0.250000X-0.225000X0*%
|
||||
%ADD16RoundRect,0.250000X-0.787500X-0.925000X0.787500X-0.925000X0.787500X0.925000X-0.787500X0.925000X0*%
|
||||
%ADD17RoundRect,0.250000X0.787500X0.925000X-0.787500X0.925000X-0.787500X-0.925000X0.787500X-0.925000X0*%
|
||||
%ADD18RoundRect,0.225000X-0.225000X-0.250000X0.225000X-0.250000X0.225000X0.250000X-0.225000X0.250000X0*%
|
||||
%ADD19RoundRect,0.225000X0.225000X0.250000X-0.225000X0.250000X-0.225000X-0.250000X0.225000X-0.250000X0*%
|
||||
%ADD20R,1.500000X1.000000*%
|
||||
%ADD21RoundRect,0.150000X-0.150000X0.587500X-0.150000X-0.587500X0.150000X-0.587500X0.150000X0.587500X0*%
|
||||
G04 APERTURE END LIST*
|
||||
D10*
|
||||
%TO.C,U2*%
|
||||
X155808600Y-132115000D03*
|
||||
X155808600Y-132750000D03*
|
||||
X155808600Y-133385000D03*
|
||||
X155808600Y-134020000D03*
|
||||
X155808600Y-134655000D03*
|
||||
X155808600Y-135290000D03*
|
||||
X155808600Y-135925000D03*
|
||||
X155808600Y-136560000D03*
|
||||
X150500000Y-136560000D03*
|
||||
X150500000Y-135925000D03*
|
||||
X150500000Y-135290000D03*
|
||||
X150500000Y-134655000D03*
|
||||
X150500000Y-134020000D03*
|
||||
X150500000Y-133385000D03*
|
||||
X150500000Y-132750000D03*
|
||||
X150500000Y-132115000D03*
|
||||
%TD*%
|
||||
D11*
|
||||
%TO.C,R3*%
|
||||
X148914300Y-134000000D03*
|
||||
X147894300Y-134000000D03*
|
||||
%TD*%
|
||||
D12*
|
||||
%TO.C,R2*%
|
||||
X147894300Y-135087500D03*
|
||||
X148914300Y-135087500D03*
|
||||
%TD*%
|
||||
%TO.C,R1*%
|
||||
X148846000Y-136250000D03*
|
||||
X147826000Y-136250000D03*
|
||||
%TD*%
|
||||
D13*
|
||||
%TO.C,L1*%
|
||||
X151650000Y-129500000D03*
|
||||
X153850000Y-129500000D03*
|
||||
%TD*%
|
||||
D14*
|
||||
%TO.C,D1*%
|
||||
X157800000Y-132900000D03*
|
||||
X157800000Y-131500000D03*
|
||||
%TD*%
|
||||
D15*
|
||||
%TO.C,C5*%
|
||||
X143750000Y-140275000D03*
|
||||
X143750000Y-138725000D03*
|
||||
%TD*%
|
||||
D16*
|
||||
%TO.C,C4*%
|
||||
X160962500Y-129000000D03*
|
||||
X156037500Y-129000000D03*
|
||||
%TD*%
|
||||
D17*
|
||||
%TO.C,C3*%
|
||||
X148962500Y-129337500D03*
|
||||
X144037500Y-129337500D03*
|
||||
%TD*%
|
||||
D18*
|
||||
%TO.C,C2*%
|
||||
X152379300Y-137837500D03*
|
||||
X153929300Y-137837500D03*
|
||||
%TD*%
|
||||
D19*
|
||||
%TO.C,C1*%
|
||||
X148679300Y-132837500D03*
|
||||
X147129300Y-132837500D03*
|
||||
%TD*%
|
||||
D20*
|
||||
%TO.C,P2*%
|
||||
X162600000Y-91000000D03*
|
||||
X159400000Y-93000000D03*
|
||||
X162600000Y-95000000D03*
|
||||
X159400000Y-97000000D03*
|
||||
X162600000Y-99000000D03*
|
||||
X159400000Y-101000000D03*
|
||||
X162600000Y-103000000D03*
|
||||
X159400000Y-105000000D03*
|
||||
X162600000Y-107000000D03*
|
||||
X159400000Y-109000000D03*
|
||||
%TD*%
|
||||
%TO.C,P1*%
|
||||
X137400000Y-109000000D03*
|
||||
X140600000Y-107000000D03*
|
||||
X137400000Y-105000000D03*
|
||||
X140600000Y-103000000D03*
|
||||
X137400000Y-101000000D03*
|
||||
X140600000Y-99000000D03*
|
||||
X137400000Y-97000000D03*
|
||||
X140600000Y-95000000D03*
|
||||
X137400000Y-93000000D03*
|
||||
X140600000Y-91000000D03*
|
||||
%TD*%
|
||||
D21*
|
||||
%TO.C,IC1*%
|
||||
X164450000Y-121562500D03*
|
||||
X162550000Y-121562500D03*
|
||||
X163500000Y-123437500D03*
|
||||
%TD*%
|
||||
M02*
|
||||
File diff suppressed because it is too large.
Load diff
@@ -1,13 +0,0 @@
|
||||
M48
|
||||
; DRILL file {KiCad (6.0.4)} date Thu Aug 11 15:56:58 2022
|
||||
; FORMAT={-:-/ absolute / inch / decimal}
|
||||
; #@! TF.CreationDate,2022-08-11T15:56:58+02:00
|
||||
; #@! TF.GenerationSoftware,Kicad,Pcbnew,(6.0.4)
|
||||
; #@! TF.FileFunction,NonPlated,1,2,NPTH
|
||||
FMAT,2
|
||||
INCH
|
||||
%
|
||||
G90
|
||||
G05
|
||||
T0
|
||||
M30
|
||||
@@ -1,201 +0,0 @@
|
||||
M48
|
||||
; DRILL file {KiCad (6.0.4)} date Thu Aug 11 15:56:58 2022
|
||||
; FORMAT={-:-/ absolute / inch / decimal}
|
||||
; #@! TF.CreationDate,2022-08-11T15:56:58+02:00
|
||||
; #@! TF.GenerationSoftware,Kicad,Pcbnew,(6.0.4)
|
||||
; #@! TF.FileFunction,Plated,1,2,PTH
|
||||
FMAT,2
|
||||
INCH
|
||||
; #@! TA.AperFunction,Plated,PTH,ViaDrill
|
||||
T1C0.0157
|
||||
; #@! TA.AperFunction,Plated,PTH,ComponentDrill
|
||||
T2C0.0157
|
||||
; #@! TA.AperFunction,Plated,PTH,ComponentDrill
|
||||
T3C0.0197
|
||||
; #@! TA.AperFunction,Plated,PTH,ComponentDrill
|
||||
T4C0.0315
|
||||
; #@! TA.AperFunction,Plated,PTH,ComponentDrill
|
||||
T5C0.0394
|
||||
; #@! TA.AperFunction,Plated,PTH,ComponentDrill
|
||||
T6C0.0866
|
||||
; #@! TA.AperFunction,Plated,PTH,ComponentDrill
|
||||
T7C0.1260
|
||||
%
|
||||
G90
|
||||
G05
|
||||
T1
|
||||
X5.3268Y-3.0669
|
||||
X5.3268Y-3.5394
|
||||
X5.3268Y-3.8543
|
||||
X5.3268Y-4.8386
|
||||
X5.3307Y-5.2598
|
||||
X5.46Y-4.44
|
||||
X5.4921Y-5.4764
|
||||
X5.5315Y-5.5807
|
||||
X5.5512Y-5.4724
|
||||
X5.5709Y-5.5807
|
||||
X5.6Y-5.03
|
||||
X5.6Y-5.15
|
||||
X5.6181Y-5.4921
|
||||
X5.622Y-5.8465
|
||||
X5.6772Y-5.2756
|
||||
X5.7106Y-3.4902
|
||||
X5.7106Y-4.2185
|
||||
X5.7598Y-2.9488
|
||||
X5.79Y-5.17
|
||||
X5.84Y-4.99
|
||||
X5.8661Y-5.4567
|
||||
X5.87Y-5.59
|
||||
X5.9291Y-3.811
|
||||
X5.96Y-3.48
|
||||
X6.0039Y-5.2854
|
||||
X6.0079Y-3.9055
|
||||
X6.0079Y-3.9882
|
||||
X6.0079Y-4.0906
|
||||
X6.0079Y-4.185
|
||||
X6.0079Y-4.2874
|
||||
X6.0079Y-4.3858
|
||||
X6.0138Y-5.0787
|
||||
X6.0748Y-2.9488
|
||||
X6.1142Y-5.8465
|
||||
X6.1417Y-4.0394
|
||||
X6.1417Y-4.1417
|
||||
X6.1417Y-5.1732
|
||||
X6.1811Y-5.502
|
||||
X6.2106Y-5.3445
|
||||
X6.2992Y-4.8898
|
||||
X6.3386Y-5.5118
|
||||
X6.45Y-2.97
|
||||
X6.4685Y-3.5
|
||||
X6.4685Y-4.3661
|
||||
X6.4685Y-4.7205
|
||||
X6.5079Y-5.311
|
||||
X6.5079Y-5.5669
|
||||
X6.5079Y-5.8465
|
||||
X6.8701Y-5.4331
|
||||
X6.8701Y-5.8268
|
||||
X6.8898Y-5.6299
|
||||
T2
|
||||
X6.6673Y-5.4921
|
||||
X6.6673Y-5.7677
|
||||
X6.6863Y-5.4462
|
||||
X6.6863Y-5.5381
|
||||
X6.6863Y-5.7218
|
||||
X6.6863Y-5.8137
|
||||
X6.7323Y-5.4272
|
||||
X6.7323Y-5.5571
|
||||
X6.7323Y-5.7028
|
||||
X6.7323Y-5.8327
|
||||
X6.7782Y-5.4462
|
||||
X6.7782Y-5.5381
|
||||
X6.7782Y-5.7218
|
||||
X6.7782Y-5.8137
|
||||
X6.7972Y-5.4921
|
||||
X6.7972Y-5.7677
|
||||
T3
|
||||
X5.2106Y-3.3366
|
||||
X5.2106Y-4.5374
|
||||
X5.2383Y-3.2698
|
||||
X5.2383Y-3.4034
|
||||
X5.2383Y-4.4706
|
||||
X5.2383Y-4.6042
|
||||
X5.3051Y-3.2421
|
||||
X5.3051Y-3.4311
|
||||
X5.3051Y-4.4429
|
||||
X5.3051Y-4.6319
|
||||
X5.3719Y-3.2698
|
||||
X5.3719Y-3.4034
|
||||
X5.3719Y-4.4706
|
||||
X5.3719Y-4.6042
|
||||
X5.3996Y-3.3366
|
||||
X5.3996Y-4.5374
|
||||
X6.4114Y-3.3366
|
||||
X6.4114Y-4.5374
|
||||
X6.4391Y-3.2698
|
||||
X6.4391Y-3.4034
|
||||
X6.4391Y-4.4706
|
||||
X6.4391Y-4.6042
|
||||
X6.5059Y-3.2421
|
||||
X6.5059Y-3.4311
|
||||
X6.5059Y-4.4429
|
||||
X6.5059Y-4.6319
|
||||
X6.5727Y-3.2698
|
||||
X6.5727Y-3.4034
|
||||
X6.5727Y-4.4706
|
||||
X6.5727Y-4.6042
|
||||
X6.6004Y-3.3366
|
||||
X6.6004Y-4.5374
|
||||
T4
|
||||
X5.4724Y-3.5827
|
||||
X5.4724Y-3.6614
|
||||
X5.4724Y-3.7402
|
||||
X5.4724Y-3.8189
|
||||
X5.4724Y-3.8976
|
||||
X5.4724Y-3.9764
|
||||
X5.4724Y-4.0551
|
||||
X5.4724Y-4.1339
|
||||
X5.4724Y-4.2126
|
||||
X5.4724Y-4.2913
|
||||
X6.3386Y-3.5827
|
||||
X6.3386Y-3.6614
|
||||
X6.3386Y-3.7402
|
||||
X6.3386Y-3.8189
|
||||
X6.3386Y-3.8976
|
||||
X6.3386Y-3.9764
|
||||
X6.3386Y-4.0551
|
||||
X6.3386Y-4.1339
|
||||
X6.3386Y-4.2126
|
||||
X6.3386Y-4.2913
|
||||
T5
|
||||
X5.6055Y-2.987
|
||||
X5.6055Y-3.087
|
||||
X5.6055Y-3.187
|
||||
X5.6055Y-3.287
|
||||
X5.6055Y-3.387
|
||||
X5.6055Y-3.487
|
||||
X5.6055Y-3.587
|
||||
X5.6055Y-3.687
|
||||
X5.6055Y-3.787
|
||||
X5.6055Y-3.887
|
||||
X5.6055Y-3.987
|
||||
X5.6055Y-4.087
|
||||
X5.6055Y-4.187
|
||||
X5.6055Y-4.287
|
||||
X5.6055Y-4.387
|
||||
X5.6055Y-4.487
|
||||
X5.6055Y-4.587
|
||||
X5.6055Y-4.687
|
||||
X5.6055Y-4.787
|
||||
X5.6055Y-4.887
|
||||
X6.2055Y-2.987
|
||||
X6.2055Y-3.087
|
||||
X6.2055Y-3.187
|
||||
X6.2055Y-3.287
|
||||
X6.2055Y-3.387
|
||||
X6.2055Y-3.487
|
||||
X6.2055Y-3.587
|
||||
X6.2055Y-3.687
|
||||
X6.2055Y-3.787
|
||||
X6.2055Y-3.887
|
||||
X6.2055Y-3.987
|
||||
X6.2055Y-4.087
|
||||
X6.2055Y-4.187
|
||||
X6.2055Y-4.287
|
||||
X6.2055Y-4.387
|
||||
X6.2055Y-4.487
|
||||
X6.2055Y-4.587
|
||||
X6.2055Y-4.687
|
||||
X6.2055Y-4.787
|
||||
X6.2055Y-4.887
|
||||
X6.4567Y-5.0049
|
||||
X6.4567Y-5.1049
|
||||
T6
|
||||
X6.7323Y-5.4921
|
||||
X6.7323Y-5.7677
|
||||
T7
|
||||
X5.3051Y-3.3366
|
||||
X5.3051Y-4.5374
|
||||
X6.5059Y-3.3366
|
||||
X6.5059Y-4.5374
|
||||
T0
|
||||
M30
|
||||
@@ -1,127 +0,0 @@
|
||||
{
|
||||
"Header": {
|
||||
"GenerationSoftware": {
|
||||
"Vendor": "KiCad",
|
||||
"Application": "Pcbnew",
|
||||
"Version": "(6.0.4)"
|
||||
},
|
||||
"CreationDate": "2022-08-11T15:59:35+02:00"
|
||||
},
|
||||
"GeneralSpecs": {
|
||||
"ProjectId": {
|
||||
"Name": "STM32_DJI_Gimbal",
|
||||
"GUID": "53544d33-325f-4444-9a49-5f47696d6261",
|
||||
"Revision": "rev?"
|
||||
},
|
||||
"Size": {
|
||||
"X": 45.0,
|
||||
"Y": 76.25
|
||||
},
|
||||
"LayerNumber": 2,
|
||||
"BoardThickness": 1.6,
|
||||
"Finish": "None"
|
||||
},
|
||||
"DesignRules": [
|
||||
{
|
||||
"Layers": "Outer",
|
||||
"PadToPad": 0.15,
|
||||
"PadToTrack": 0.15,
|
||||
"TrackToTrack": 0.15,
|
||||
"MinLineWidth": 0.2,
|
||||
"TrackToRegion": 0.25,
|
||||
"RegionToRegion": 0.25
|
||||
}
|
||||
],
|
||||
"FilesAttributes": [
|
||||
{
|
||||
"Path": "STM32_DJI_Gimbal-F_Cu.gbr",
|
||||
"FileFunction": "Copper,L1,Top",
|
||||
"FilePolarity": "Positive"
|
||||
},
|
||||
{
|
||||
"Path": "STM32_DJI_Gimbal-B_Cu.gbr",
|
||||
"FileFunction": "Copper,L2,Bot",
|
||||
"FilePolarity": "Positive"
|
||||
},
|
||||
{
|
||||
"Path": "STM32_DJI_Gimbal-F_Paste.gbr",
|
||||
"FileFunction": "SolderPaste,Top",
|
||||
"FilePolarity": "Positive"
|
||||
},
|
||||
{
|
||||
"Path": "STM32_DJI_Gimbal-B_Paste.gbr",
|
||||
"FileFunction": "SolderPaste,Bot",
|
||||
"FilePolarity": "Positive"
|
||||
},
|
||||
{
|
||||
"Path": "STM32_DJI_Gimbal-F_Silkscreen.gbr",
|
||||
"FileFunction": "Legend,Top",
|
||||
"FilePolarity": "Positive"
|
||||
},
|
||||
{
|
||||
"Path": "STM32_DJI_Gimbal-B_Silkscreen.gbr",
|
||||
"FileFunction": "Legend,Bot",
|
||||
"FilePolarity": "Positive"
|
||||
},
|
||||
{
|
||||
"Path": "STM32_DJI_Gimbal-F_Mask.gbr",
|
||||
"FileFunction": "SolderMask,Top",
|
||||
"FilePolarity": "Negative"
|
||||
},
|
||||
{
|
||||
"Path": "STM32_DJI_Gimbal-B_Mask.gbr",
|
||||
"FileFunction": "SolderMask,Bot",
|
||||
"FilePolarity": "Negative"
|
||||
},
|
||||
{
|
||||
"Path": "STM32_DJI_Gimbal-Edge_Cuts.gbr",
|
||||
"FileFunction": "Profile",
|
||||
"FilePolarity": "Positive"
|
||||
}
|
||||
],
|
||||
"MaterialStackup": [
|
||||
{
|
||||
"Type": "Legend",
|
||||
"Name": "Top Silk Screen"
|
||||
},
|
||||
{
|
||||
"Type": "SolderPaste",
|
||||
"Name": "Top Solder Paste"
|
||||
},
|
||||
{
|
||||
"Type": "SolderMask",
|
||||
"Thickness": 0.01,
|
||||
"Name": "Top Solder Mask"
|
||||
},
|
||||
{
|
||||
"Type": "Copper",
|
||||
"Thickness": 0.035,
|
||||
"Name": "F.Cu"
|
||||
},
|
||||
{
|
||||
"Type": "Dielectric",
|
||||
"Thickness": 1.51,
|
||||
"Material": "FR4",
|
||||
"Name": "F.Cu/B.Cu",
|
||||
"Notes": "Type: dielectric layer 1 (from F.Cu to B.Cu)"
|
||||
},
|
||||
{
|
||||
"Type": "Copper",
|
||||
"Thickness": 0.035,
|
||||
"Name": "B.Cu"
|
||||
},
|
||||
{
|
||||
"Type": "SolderMask",
|
||||
"Thickness": 0.01,
|
||||
"Name": "Bottom Solder Mask"
|
||||
},
|
||||
{
|
||||
"Type": "SolderPaste",
|
||||
"Name": "Bottom Solder Paste"
|
||||
},
|
||||
{
|
||||
"Type": "Legend",
|
||||
"Name": "Bottom Silk Screen"
|
||||
}
|
||||
]
|
||||
}
|
||||
Binary file not shown.
Binary file not shown.
@@ -445,19 +445,19 @@ $SKPOLY
|
||||
9
|
||||
$TDCREATE
|
||||
40
|
||||
2459786.689388692
|
||||
2459860.72133081
|
||||
9
|
||||
$TDUCREATE
|
||||
40
|
||||
2459786.606055359
|
||||
2459860.637997477
|
||||
9
|
||||
$TDUPDATE
|
||||
40
|
||||
2459786.689427303
|
||||
2459860.721388206
|
||||
9
|
||||
$TDUUPDATE
|
||||
40
|
||||
2459786.60609397
|
||||
2459860.638054873
|
||||
9
|
||||
$TDINDWG
|
||||
40
|
||||
@@ -505,7 +505,7 @@ $SPLINESEGS
|
||||
9
|
||||
$HANDSEED
|
||||
5
|
||||
C8
|
||||
CC
|
||||
9
|
||||
$SURFTAB1
|
||||
70
|
||||
@@ -885,7 +885,7 @@ $PSTYLEMODE
|
||||
9
|
||||
$FINGERPRINTGUID
|
||||
2
|
||||
{89ba04fc-ac94-4044-8963-20492f950a77}
|
||||
{2329590a-49b4-444d-ac96-2db2d5f6239a}
|
||||
9
|
||||
$VERSIONGUID
|
||||
2
|
||||
@@ -1871,7 +1871,7 @@ AcDbCircle
|
||||
0
|
||||
CIRCLE
|
||||
5
|
||||
94
|
||||
92
|
||||
330
|
||||
1F
|
||||
100
|
||||
@@ -1897,7 +1897,7 @@ AcDbCircle
|
||||
0
|
||||
CIRCLE
|
||||
5
|
||||
95
|
||||
93
|
||||
330
|
||||
1F
|
||||
100
|
||||
@@ -1923,7 +1923,7 @@ AcDbCircle
|
||||
0
|
||||
CIRCLE
|
||||
5
|
||||
96
|
||||
94
|
||||
330
|
||||
1F
|
||||
100
|
||||
@@ -1949,7 +1949,7 @@ AcDbCircle
|
||||
0
|
||||
CIRCLE
|
||||
5
|
||||
97
|
||||
95
|
||||
330
|
||||
1F
|
||||
100
|
||||
@@ -1975,7 +1975,7 @@ AcDbCircle
|
||||
0
|
||||
LINE
|
||||
5
|
||||
A0
|
||||
A2
|
||||
330
|
||||
1F
|
||||
100
|
||||
@@ -1991,7 +1991,7 @@ Continuous
|
||||
100
|
||||
AcDbLine
|
||||
10
|
||||
-6.3205080757
|
||||
-6.0
|
||||
20
|
||||
-49.5
|
||||
30
|
||||
@@ -2005,7 +2005,7 @@ AcDbLine
|
||||
0
|
||||
LINE
|
||||
5
|
||||
A1
|
||||
A3
|
||||
330
|
||||
1F
|
||||
100
|
||||
@@ -2029,13 +2029,13 @@ AcDbLine
|
||||
11
|
||||
-16.0
|
||||
21
|
||||
-39.6850454238
|
||||
-39.5
|
||||
31
|
||||
0.0
|
||||
0
|
||||
LINE
|
||||
5
|
||||
A2
|
||||
A4
|
||||
330
|
||||
1F
|
||||
100
|
||||
@@ -2065,7 +2065,7 @@ AcDbLine
|
||||
0
|
||||
LINE
|
||||
5
|
||||
A3
|
||||
A5
|
||||
330
|
||||
1F
|
||||
100
|
||||
@@ -2095,7 +2095,7 @@ AcDbLine
|
||||
0
|
||||
LINE
|
||||
5
|
||||
A4
|
||||
A6
|
||||
330
|
||||
1F
|
||||
100
|
||||
@@ -2125,7 +2125,7 @@ AcDbLine
|
||||
0
|
||||
LINE
|
||||
5
|
||||
A5
|
||||
A7
|
||||
330
|
||||
1F
|
||||
100
|
||||
@@ -2155,7 +2155,7 @@ AcDbLine
|
||||
0
|
||||
LINE
|
||||
5
|
||||
A6
|
||||
A8
|
||||
330
|
||||
1F
|
||||
100
|
||||
@@ -2185,66 +2185,6 @@ AcDbLine
|
||||
0
|
||||
LINE
|
||||
5
|
||||
A7
|
||||
330
|
||||
1F
|
||||
100
|
||||
AcDbEntity
|
||||
8
|
||||
0
|
||||
6
|
||||
Continuous
|
||||
62
|
||||
7
|
||||
370
|
||||
25
|
||||
100
|
||||
AcDbLine
|
||||
10
|
||||
16.0
|
||||
20
|
||||
-31.3038475773
|
||||
30
|
||||
0.0
|
||||
11
|
||||
16.0
|
||||
21
|
||||
-20.5591901454
|
||||
31
|
||||
0.0
|
||||
0
|
||||
LINE
|
||||
5
|
||||
A8
|
||||
330
|
||||
1F
|
||||
100
|
||||
AcDbEntity
|
||||
8
|
||||
0
|
||||
6
|
||||
Continuous
|
||||
62
|
||||
7
|
||||
370
|
||||
25
|
||||
100
|
||||
AcDbLine
|
||||
10
|
||||
20.0717967697
|
||||
20
|
||||
-35.9641016151
|
||||
30
|
||||
0.0
|
||||
11
|
||||
18.0
|
||||
21
|
||||
-34.7679491924
|
||||
31
|
||||
0.0
|
||||
0
|
||||
LINE
|
||||
5
|
||||
A9
|
||||
330
|
||||
1F
|
||||
@@ -2261,15 +2201,15 @@ Continuous
|
||||
100
|
||||
AcDbLine
|
||||
10
|
||||
24.0
|
||||
16.0
|
||||
20
|
||||
-36.5
|
||||
-29.5717967697
|
||||
30
|
||||
0.0
|
||||
11
|
||||
22.0717967697
|
||||
16.0
|
||||
21
|
||||
-36.5
|
||||
-20.5591901454
|
||||
31
|
||||
0.0
|
||||
0
|
||||
@@ -2289,6 +2229,36 @@ Continuous
|
||||
370
|
||||
25
|
||||
100
|
||||
AcDbLine
|
||||
10
|
||||
23.3305466007
|
||||
20
|
||||
-36.1134908997
|
||||
30
|
||||
0.0
|
||||
11
|
||||
18.0
|
||||
21
|
||||
-33.0358983849
|
||||
31
|
||||
0.0
|
||||
0
|
||||
LINE
|
||||
5
|
||||
AB
|
||||
330
|
||||
1F
|
||||
100
|
||||
AcDbEntity
|
||||
8
|
||||
0
|
||||
6
|
||||
Continuous
|
||||
62
|
||||
7
|
||||
370
|
||||
25
|
||||
100
|
||||
AcDbLine
|
||||
10
|
||||
26.0
|
||||
@@ -2305,36 +2275,6 @@ AcDbLine
|
||||
0
|
||||
LINE
|
||||
5
|
||||
AB
|
||||
330
|
||||
1F
|
||||
100
|
||||
AcDbEntity
|
||||
8
|
||||
0
|
||||
6
|
||||
Continuous
|
||||
62
|
||||
7
|
||||
370
|
||||
25
|
||||
100
|
||||
AcDbLine
|
||||
10
|
||||
19.5
|
||||
20
|
||||
-46.0
|
||||
30
|
||||
0.0
|
||||
11
|
||||
19.5
|
||||
21
|
||||
-40.0
|
||||
31
|
||||
0.0
|
||||
0
|
||||
LINE
|
||||
5
|
||||
AC
|
||||
330
|
||||
1F
|
||||
@@ -2351,15 +2291,15 @@ Continuous
|
||||
100
|
||||
AcDbLine
|
||||
10
|
||||
17.5
|
||||
19.5
|
||||
20
|
||||
-40.0
|
||||
-45.5
|
||||
30
|
||||
0.0
|
||||
11
|
||||
17.5
|
||||
19.5
|
||||
21
|
||||
-46.0
|
||||
-40.5
|
||||
31
|
||||
0.0
|
||||
0
|
||||
@@ -2381,15 +2321,15 @@ Continuous
|
||||
100
|
||||
AcDbLine
|
||||
10
|
||||
-1.5
|
||||
17.5
|
||||
20
|
||||
-40.5
|
||||
30
|
||||
0.0
|
||||
11
|
||||
-11.5
|
||||
17.5
|
||||
21
|
||||
-40.5
|
||||
-45.5
|
||||
31
|
||||
0.0
|
||||
0
|
||||
@@ -2411,15 +2351,15 @@ Continuous
|
||||
100
|
||||
AcDbLine
|
||||
10
|
||||
-11.5
|
||||
2.5
|
||||
20
|
||||
-40.5
|
||||
-46.5
|
||||
30
|
||||
0.0
|
||||
11
|
||||
-11.5
|
||||
2.5
|
||||
21
|
||||
-43.0
|
||||
-41.5
|
||||
31
|
||||
0.0
|
||||
0
|
||||
@@ -2441,15 +2381,15 @@ Continuous
|
||||
100
|
||||
AcDbLine
|
||||
10
|
||||
-11.5
|
||||
0.5
|
||||
20
|
||||
-43.0
|
||||
-41.5
|
||||
30
|
||||
0.0
|
||||
11
|
||||
-1.5
|
||||
0.5
|
||||
21
|
||||
-43.0
|
||||
-46.5
|
||||
31
|
||||
0.0
|
||||
0
|
||||
@@ -2471,13 +2411,103 @@ Continuous
|
||||
100
|
||||
AcDbLine
|
||||
10
|
||||
-1.5
|
||||
15.0
|
||||
20
|
||||
-40.5
|
||||
30
|
||||
0.0
|
||||
11
|
||||
5.0
|
||||
21
|
||||
-40.5
|
||||
31
|
||||
0.0
|
||||
0
|
||||
LINE
|
||||
5
|
||||
B1
|
||||
330
|
||||
1F
|
||||
100
|
||||
AcDbEntity
|
||||
8
|
||||
0
|
||||
6
|
||||
Continuous
|
||||
62
|
||||
7
|
||||
370
|
||||
25
|
||||
100
|
||||
AcDbLine
|
||||
10
|
||||
5.0
|
||||
20
|
||||
-40.5
|
||||
30
|
||||
0.0
|
||||
11
|
||||
5.0
|
||||
21
|
||||
-43.0
|
||||
31
|
||||
0.0
|
||||
0
|
||||
LINE
|
||||
5
|
||||
B2
|
||||
330
|
||||
1F
|
||||
100
|
||||
AcDbEntity
|
||||
8
|
||||
0
|
||||
6
|
||||
Continuous
|
||||
62
|
||||
7
|
||||
370
|
||||
25
|
||||
100
|
||||
AcDbLine
|
||||
10
|
||||
5.0
|
||||
20
|
||||
-43.0
|
||||
30
|
||||
0.0
|
||||
11
|
||||
-1.5
|
||||
15.0
|
||||
21
|
||||
-43.0
|
||||
31
|
||||
0.0
|
||||
0
|
||||
LINE
|
||||
5
|
||||
B3
|
||||
330
|
||||
1F
|
||||
100
|
||||
AcDbEntity
|
||||
8
|
||||
0
|
||||
6
|
||||
Continuous
|
||||
62
|
||||
7
|
||||
370
|
||||
25
|
||||
100
|
||||
AcDbLine
|
||||
10
|
||||
15.0
|
||||
20
|
||||
-43.0
|
||||
30
|
||||
0.0
|
||||
11
|
||||
15.0
|
||||
21
|
||||
-40.5
|
||||
31
|
||||
@@ -2485,7 +2515,7 @@ AcDbLine
|
||||
0
|
||||
ARC
|
||||
5
|
||||
B1
|
||||
B4
|
||||
330
|
||||
1F
|
||||
100
|
||||
@@ -2517,39 +2547,7 @@ AcDbArc
|
||||
0
|
||||
ARC
|
||||
5
|
||||
B2
|
||||
330
|
||||
1F
|
||||
100
|
||||
AcDbEntity
|
||||
8
|
||||
0
|
||||
6
|
||||
Continuous
|
||||
62
|
||||
7
|
||||
370
|
||||
25
|
||||
100
|
||||
AcDbCircle
|
||||
10
|
||||
-6.3205080757
|
||||
20
|
||||
-39.5
|
||||
30
|
||||
0.0
|
||||
40
|
||||
9.999999999999883
|
||||
100
|
||||
AcDbArc
|
||||
50
|
||||
241.0602926965
|
||||
51
|
||||
270.0
|
||||
0
|
||||
ARC
|
||||
5
|
||||
B3
|
||||
B5
|
||||
330
|
||||
1F
|
||||
100
|
||||
@@ -2567,21 +2565,21 @@ AcDbCircle
|
||||
10
|
||||
-6.0
|
||||
20
|
||||
-39.6850454238
|
||||
-39.5
|
||||
30
|
||||
0.0
|
||||
40
|
||||
10.0
|
||||
9.999999999999972
|
||||
100
|
||||
AcDbArc
|
||||
50
|
||||
180.0
|
||||
51
|
||||
238.9397073035
|
||||
270.0
|
||||
0
|
||||
ARC
|
||||
5
|
||||
B4
|
||||
B6
|
||||
330
|
||||
1F
|
||||
100
|
||||
@@ -2613,7 +2611,7 @@ AcDbArc
|
||||
0
|
||||
ARC
|
||||
5
|
||||
B5
|
||||
B7
|
||||
330
|
||||
1F
|
||||
100
|
||||
@@ -2645,7 +2643,7 @@ AcDbArc
|
||||
0
|
||||
ARC
|
||||
5
|
||||
B6
|
||||
B8
|
||||
330
|
||||
1F
|
||||
100
|
||||
@@ -2677,7 +2675,7 @@ AcDbArc
|
||||
0
|
||||
ARC
|
||||
5
|
||||
B7
|
||||
B9
|
||||
330
|
||||
1F
|
||||
100
|
||||
@@ -2709,7 +2707,7 @@ AcDbArc
|
||||
0
|
||||
ARC
|
||||
5
|
||||
B8
|
||||
BA
|
||||
330
|
||||
1F
|
||||
100
|
||||
@@ -2741,7 +2739,7 @@ AcDbArc
|
||||
0
|
||||
ARC
|
||||
5
|
||||
B9
|
||||
BB
|
||||
330
|
||||
1F
|
||||
100
|
||||
@@ -2763,7 +2761,7 @@ AcDbCircle
|
||||
30
|
||||
0.0
|
||||
40
|
||||
2.999999999999979
|
||||
2.999999999999986
|
||||
100
|
||||
AcDbArc
|
||||
50
|
||||
@@ -2773,7 +2771,7 @@ AcDbArc
|
||||
0
|
||||
ARC
|
||||
5
|
||||
BA
|
||||
BC
|
||||
330
|
||||
1F
|
||||
100
|
||||
@@ -2795,7 +2793,7 @@ AcDbCircle
|
||||
30
|
||||
0.0
|
||||
40
|
||||
3.000000000000005
|
||||
3.0
|
||||
100
|
||||
AcDbArc
|
||||
50
|
||||
@@ -2805,7 +2803,7 @@ AcDbArc
|
||||
0
|
||||
ARC
|
||||
5
|
||||
BB
|
||||
BD
|
||||
330
|
||||
1F
|
||||
100
|
||||
@@ -2827,7 +2825,7 @@ AcDbCircle
|
||||
30
|
||||
0.0
|
||||
40
|
||||
3.000000000000007
|
||||
2.999999999999996
|
||||
100
|
||||
AcDbArc
|
||||
50
|
||||
@@ -2837,7 +2835,7 @@ AcDbArc
|
||||
0
|
||||
ARC
|
||||
5
|
||||
BC
|
||||
BE
|
||||
330
|
||||
1F
|
||||
100
|
||||
@@ -2859,7 +2857,7 @@ AcDbCircle
|
||||
30
|
||||
0.0
|
||||
40
|
||||
2.999999999999986
|
||||
2.999999999999982
|
||||
100
|
||||
AcDbArc
|
||||
50
|
||||
@@ -2869,7 +2867,7 @@ AcDbArc
|
||||
0
|
||||
ARC
|
||||
5
|
||||
BD
|
||||
BF
|
||||
330
|
||||
1F
|
||||
100
|
||||
@@ -2901,7 +2899,7 @@ AcDbArc
|
||||
0
|
||||
ARC
|
||||
5
|
||||
BE
|
||||
C0
|
||||
330
|
||||
1F
|
||||
100
|
||||
@@ -2933,7 +2931,7 @@ AcDbArc
|
||||
0
|
||||
ARC
|
||||
5
|
||||
BF
|
||||
C1
|
||||
330
|
||||
1F
|
||||
100
|
||||
@@ -2965,7 +2963,7 @@ AcDbArc
|
||||
0
|
||||
ARC
|
||||
5
|
||||
C0
|
||||
C2
|
||||
330
|
||||
1F
|
||||
100
|
||||
@@ -2997,7 +2995,7 @@ AcDbArc
|
||||
0
|
||||
ARC
|
||||
5
|
||||
C1
|
||||
C3
|
||||
330
|
||||
1F
|
||||
100
|
||||
@@ -3029,7 +3027,7 @@ AcDbArc
|
||||
0
|
||||
ARC
|
||||
5
|
||||
C2
|
||||
C4
|
||||
330
|
||||
1F
|
||||
100
|
||||
@@ -3047,11 +3045,11 @@ AcDbCircle
|
||||
10
|
||||
20.0
|
||||
20
|
||||
-31.3038475773
|
||||
-29.5717967697
|
||||
30
|
||||
0.0
|
||||
40
|
||||
4.000000000000004
|
||||
3.999999999999989
|
||||
100
|
||||
AcDbArc
|
||||
50
|
||||
@@ -3061,7 +3059,7 @@ AcDbArc
|
||||
0
|
||||
ARC
|
||||
5
|
||||
C3
|
||||
C5
|
||||
330
|
||||
1F
|
||||
100
|
||||
@@ -3077,23 +3075,23 @@ Continuous
|
||||
100
|
||||
AcDbCircle
|
||||
10
|
||||
22.0717967697
|
||||
25.3305466007
|
||||
20
|
||||
-32.5
|
||||
-32.6493892846
|
||||
30
|
||||
0.0
|
||||
40
|
||||
3.999999999999886
|
||||
3.999999999999445
|
||||
100
|
||||
AcDbArc
|
||||
50
|
||||
240.0
|
||||
51
|
||||
270.0
|
||||
257.1877039013
|
||||
0
|
||||
ARC
|
||||
5
|
||||
C4
|
||||
C6
|
||||
330
|
||||
1F
|
||||
100
|
||||
@@ -3115,17 +3113,17 @@ AcDbCircle
|
||||
30
|
||||
0.0
|
||||
40
|
||||
2.000000000000004
|
||||
2.000000000000007
|
||||
100
|
||||
AcDbArc
|
||||
50
|
||||
0.0
|
||||
51
|
||||
90.0
|
||||
77.1877039013
|
||||
0
|
||||
ARC
|
||||
5
|
||||
C5
|
||||
C7
|
||||
330
|
||||
1F
|
||||
100
|
||||
@@ -3143,7 +3141,7 @@ AcDbCircle
|
||||
10
|
||||
18.5
|
||||
20
|
||||
-40.0
|
||||
-40.5
|
||||
30
|
||||
0.0
|
||||
40
|
||||
@@ -3157,7 +3155,7 @@ AcDbArc
|
||||
0
|
||||
ARC
|
||||
5
|
||||
C6
|
||||
C8
|
||||
330
|
||||
1F
|
||||
100
|
||||
@@ -3175,12 +3173,76 @@ AcDbCircle
|
||||
10
|
||||
18.5
|
||||
20
|
||||
-46.0
|
||||
-45.5
|
||||
30
|
||||
0.0
|
||||
40
|
||||
1.0
|
||||
100
|
||||
AcDbArc
|
||||
50
|
||||
180.0
|
||||
51
|
||||
0.0
|
||||
0
|
||||
ARC
|
||||
5
|
||||
C9
|
||||
330
|
||||
1F
|
||||
100
|
||||
AcDbEntity
|
||||
8
|
||||
0
|
||||
6
|
||||
Continuous
|
||||
62
|
||||
7
|
||||
370
|
||||
25
|
||||
100
|
||||
AcDbCircle
|
||||
10
|
||||
1.5
|
||||
20
|
||||
-41.5
|
||||
30
|
||||
0.0
|
||||
40
|
||||
1.000000000000001
|
||||
100
|
||||
AcDbArc
|
||||
50
|
||||
0.0
|
||||
51
|
||||
180.0
|
||||
0
|
||||
ARC
|
||||
5
|
||||
CA
|
||||
330
|
||||
1F
|
||||
100
|
||||
AcDbEntity
|
||||
8
|
||||
0
|
||||
6
|
||||
Continuous
|
||||
62
|
||||
7
|
||||
370
|
||||
25
|
||||
100
|
||||
AcDbCircle
|
||||
10
|
||||
1.5
|
||||
20
|
||||
-46.5
|
||||
30
|
||||
0.0
|
||||
40
|
||||
1.000000000000002
|
||||
100
|
||||
AcDbArc
|
||||
50
|
||||
180.0
|
||||
@@ -3229,7 +3291,7 @@ ACAD_SCALELIST
|
||||
3
|
||||
DWGPROPS
|
||||
350
|
||||
C7
|
||||
CB
|
||||
0
|
||||
DICTIONARY
|
||||
5
|
||||
@@ -3485,7 +3547,7 @@ D2
|
||||
0
|
||||
XRECORD
|
||||
5
|
||||
C7
|
||||
CB
|
||||
102
|
||||
{ACAD_REACTORS
|
||||
330
|
||||
@@ -3537,9 +3599,9 @@ lurenaud
|
||||
40
|
||||
0.0
|
||||
41
|
||||
2459786.606055359
|
||||
2459860.637997477
|
||||
42
|
||||
2459786.60609397
|
||||
2459860.638054873
|
||||
1
|
||||
|
||||
90
|
||||
|
||||
@@ -1,56 +1,25 @@
|
||||
"Source:","D:\lulu\Documents\Inria\DJI Gimbal\Kicad\STM32_DJI_Gimbal\STM32_DJI_Gimbal.kicad_sch"
|
||||
"Date:","11/08/2022 17:08:12"
|
||||
"Tool:","Eeschema (6.0.4)"
|
||||
"Generator:","C:\Program Files\KiCad\6.0\bin\scripting\plugins/bom_csv_grouped_by_value.py"
|
||||
"Component Count:","23"
|
||||
|
||||
"Individual Components:"
|
||||
|
||||
"Item","Qty","Reference(s)","Value","LibPart","Footprint","Datasheet","Description","Height","MFR","MPN","Manufacturer_Name","Manufacturer_Part_Number","Mouser Part Number","Mouser Price/Stock"
|
||||
"","","C1","220n","Device:C","Capacitor_SMD:C_0603_1608Metric","~","","","Yageo","CC0603KRX7R6BB224","","","",""
|
||||
"","","C2","1u","Device:C","Capacitor_SMD:C_0603_1608Metric","~","","","Yageo","CC0603ZRY5V7BB105","","","",""
|
||||
"","","C3","47u","Device:C_Polarized","Capacitor_Tantalum_SMD:CP_EIA-6032-28_Kemet-C","~","","","AVX","TPSC476K010T0350 ","","","",""
|
||||
"","","C4","220u","Device:C_Polarized","Capacitor_Tantalum_SMD:CP_EIA-6032-28_Kemet-C","~","","","AVX","TPSC227M006R0125","","","",""
|
||||
"","","C5","220n","Device:C","Capacitor_SMD:C_0603_1608Metric","~","","","Yageo","CC0603KRX7R6BB224","","","",""
|
||||
"","","D1","MBR0520","Diode:MBR0520","Diode_SMD:D_SOD-523","http://www.mccsemi.com/up_pdf/MBR0520~MBR0580(SOD123).pdf","","","Onsemi","NSR05T30XV2T5G ","","","",""
|
||||
"","","H1","M3","Mechanical:MountingHole","MountingHole:MountingHole_3.2mm_M3_Pad_Via","~","","","","","","","",""
|
||||
"","","H2","M3","Mechanical:MountingHole","MountingHole:MountingHole_3.2mm_M3_Pad_Via","~","","","","","","","",""
|
||||
"","","H3","CAM_M2","Mechanical:MountingHole","MountingHole:MountingHole_2.2mm_M2_Pad_Via","~","","","","","","","",""
|
||||
"","","H4","CAM_M2","Mechanical:MountingHole","MountingHole:MountingHole_2.2mm_M2_Pad_Via","~","","","","","","","",""
|
||||
"","","H5","M3","Mechanical:MountingHole","MountingHole:MountingHole_3.2mm_M3_Pad_Via","~","","","","","","","",""
|
||||
"","","H6","M3","Mechanical:MountingHole","MountingHole:MountingHole_3.2mm_M3_Pad_Via","~","","","","","","","",""
|
||||
"","","IC1","DS28E05R+T","DJI_Gimbal:DS28E05R+T","Package_TO_SOT_SMD:SOT-23","","","","","","","","",""
|
||||
"","","J1","BM20B_0.8_-34DS-0.4V_53_","DJI_Gimbal:BM20B_0.8_-34DS-0.4V_53_","DGI_Gimbal:BM20B0834DS04V53","https://www.hirose.com/en/product/document?clcode=CL0684-9020-0-53&productname=BM20B(0.8)-34DS-0.4V(53)&series=BM20&documenttype=2DDrawing&lang=en&documentid=0001372404","Board to Board & Mezzanine Connectors 34P DR RCP B2B/B2FPC 0.8mm H 0.4mm P VSMT","0.9","","","Hirose","BM20B(0.8)-34DS-0.4V(53)","798-BM20B0834DS04V53","https://www.mouser.co.uk/ProductDetail/Hirose-Connector/BM20B08-34DS-04V53?qs=AAveGqk956HKBDZ2sUIWMg%3D%3D"
|
||||
"","","J2","Conn_01x02","Connector_Generic:Conn_01x02","Connector_PinHeader_2.54mm:PinHeader_1x02_P2.54mm_Vertical","~","","","","","","","",""
|
||||
"","","L1","1.5uH","Device:L","Inductor_SMD:L_Taiyo-Yuden_NR-30xx","~","","","Taiyo\ Yuden","NR3015T1R5N ","","","",""
|
||||
"","","P1","CF_EXP_LEFT","DJI_Gimbal:CF_EXP_LEFT","DGI_Gimbal:BF090-10-X-B2","","","","","","","","",""
|
||||
"","","P2","CF_EXP_RIGHT","DJI_Gimbal:CF_EXP_RIGHT","DGI_Gimbal:BF090-10-X-B2","","","","","","","","",""
|
||||
"","","R1","4.7","Device:R","Resistor_SMD:R_0402_1005Metric","~","","","Yageo","AC0402FR-074R7L","","","",""
|
||||
"","","R2","82k","Device:R","Resistor_SMD:R_0402_1005Metric","~","","","Yageo","AC0402FR-0782KL ","","","",""
|
||||
"","","R3","27k","Device:R","Resistor_SMD:R_0402_1005Metric","~","","","Yageo","AC0402FR-0727KL ","","","",""
|
||||
"","","U1","WeAct_BlackPill_Part_Like","DJI_Gimbal:WeAct_BlackPill_Part_Like","DGI_Gimbal:YAAJ_WeAct_BlackPill_2","","","","","","","","",""
|
||||
"","","U2","MAX1763","DJI_Gimbal:MAX1763","Package_SO:QSOP-16_3.9x4.9mm_P0.635mm","https://datasheets.maximintegrated.com/en/ds/MAX1763.pdf","","","","","","","",""
|
||||
|
||||
|
||||
|
||||
"Collated Components:"
|
||||
|
||||
"Item","Qty","Reference(s)","Value","LibPart","Footprint","Datasheet","Description","Height","MFR","MPN","Manufacturer_Name","Manufacturer_Part_Number","Mouser Part Number","Mouser Price/Stock"
|
||||
"1","2","C1, C5","220n","Device:C","Capacitor_SMD:C_0603_1608Metric","~","","","Yageo","CC0603KRX7R6BB224","","","",""
|
||||
"2","1","C2","1u","Device:C","Capacitor_SMD:C_0603_1608Metric","~","","","Yageo","CC0603ZRY5V7BB105","","","",""
|
||||
"3","1","C3","47u","Device:C_Polarized","Capacitor_Tantalum_SMD:CP_EIA-6032-28_Kemet-C","~","","","AVX","TPSC476K010T0350 ","","","",""
|
||||
"4","1","C4","220u","Device:C_Polarized","Capacitor_Tantalum_SMD:CP_EIA-6032-28_Kemet-C","~","","","AVX","TPSC227M006R0125","","","",""
|
||||
"5","1","D1","MBR0520","Diode:MBR0520","Diode_SMD:D_SOD-523","http://www.mccsemi.com/up_pdf/MBR0520~MBR0580(SOD123).pdf","","","Onsemi","NSR05T30XV2T5G ","","","",""
|
||||
"6","4","H1, H2, H5, H6","M3","Mechanical:MountingHole","MountingHole:MountingHole_3.2mm_M3_Pad_Via","~","","","","","","","",""
|
||||
"7","2","H3, H4","CAM_M2","Mechanical:MountingHole","MountingHole:MountingHole_2.2mm_M2_Pad_Via","~","","","","","","","",""
|
||||
"8","1","IC1","DS28E05R+T","DJI_Gimbal:DS28E05R+T","Package_TO_SOT_SMD:SOT-23","","","","","","","","",""
|
||||
"9","1","J1","BM20B_0.8_-34DS-0.4V_53_","DJI_Gimbal:BM20B_0.8_-34DS-0.4V_53_","DGI_Gimbal:BM20B0834DS04V53","https://www.hirose.com/en/product/document?clcode=CL0684-9020-0-53&productname=BM20B(0.8)-34DS-0.4V(53)&series=BM20&documenttype=2DDrawing&lang=en&documentid=0001372404","Board to Board & Mezzanine Connectors 34P DR RCP B2B/B2FPC 0.8mm H 0.4mm P VSMT","0.9","","","Hirose","BM20B(0.8)-34DS-0.4V(53)","798-BM20B0834DS04V53","https://www.mouser.co.uk/ProductDetail/Hirose-Connector/BM20B08-34DS-04V53?qs=AAveGqk956HKBDZ2sUIWMg%3D%3D"
|
||||
"10","1","J2","Conn_01x02","Connector_Generic:Conn_01x02","Connector_PinHeader_2.54mm:PinHeader_1x02_P2.54mm_Vertical","~","","","","","","","",""
|
||||
"11","1","L1","1.5uH","Device:L","Inductor_SMD:L_Taiyo-Yuden_NR-30xx","~","","","Taiyo\ Yuden","NR3015T1R5N ","","","",""
|
||||
"12","1","P1","CF_EXP_LEFT","DJI_Gimbal:CF_EXP_LEFT","DGI_Gimbal:BF090-10-X-B2","","","","","","","","",""
|
||||
"13","1","P2","CF_EXP_RIGHT","DJI_Gimbal:CF_EXP_RIGHT","DGI_Gimbal:BF090-10-X-B2","","","","","","","","",""
|
||||
"14","1","R1","4.7","Device:R","Resistor_SMD:R_0402_1005Metric","~","","","Yageo","AC0402FR-074R7L","","","",""
|
||||
"15","1","R2","82k","Device:R","Resistor_SMD:R_0402_1005Metric","~","","","Yageo","AC0402FR-0782KL ","","","",""
|
||||
"16","1","R3","27k","Device:R","Resistor_SMD:R_0402_1005Metric","~","","","Yageo","AC0402FR-0727KL ","","","",""
|
||||
"17","1","U1","WeAct_BlackPill_Part_Like","DJI_Gimbal:WeAct_BlackPill_Part_Like","DGI_Gimbal:YAAJ_WeAct_BlackPill_2","","","","","","","","",""
|
||||
"18","1","U2","MAX1763","DJI_Gimbal:MAX1763","Package_SO:QSOP-16_3.9x4.9mm_P0.635mm","https://datasheets.maximintegrated.com/en/ds/MAX1763.pdf","","","","","","","",""
|
||||
Reference(s),Value,Footprint,DNP,MFR,MPN,Qty
|
||||
C1,47u,Capacitor_Tantalum_SMD:CP_EIA-6032-28_Kemet-C,,AVX,TPSC476K010T0350 ,1
|
||||
"C2, C5",100n,Capacitor_SMD:C_0402_1005Metric,,Murata,GRM155R71A104KA01J,2
|
||||
"C3, C10",220n,Capacitor_SMD:C_0603_1608Metric,,Yageo,CC0603KRX7R6BB224,2
|
||||
C4,1u,Capacitor_SMD:C_0603_1608Metric,,Yageo,CC0603ZRY5V7BB105,1
|
||||
C6,8.2n,Capacitor_SMD:C_0402_1005Metric,,Murata,GRM155R71C822KA01D,1
|
||||
C7,27p,Capacitor_SMD:C_0402_1005Metric,,Murata,GRM1555C1H270JA01D,1
|
||||
C8,560p,Capacitor_SMD:C_0402_1005Metric,,Murata,GRM155R71H561KA01D,1
|
||||
C9,220u,Capacitor_Tantalum_SMD:CP_EIA-6032-28_Kemet-C,,AVX,TPSC227M006R0125,1
|
||||
"H1, H2, H5, H6",M3,MountingHole:MountingHole_3.2mm_M3_Pad_Via,DNP,,,4
|
||||
"H3, H4",CAM_M2,MountingHole:MountingHole_2.2mm_M2_Pad_Via,DNP,,,2
|
||||
IC1,DS28E05R+T,Package_TO_SOT_SMD:SOT-23,,Maxim,DS28E05R+T ,1
|
||||
IC2,TPS61088RHLT,DGI_Gimbal:TPS61088,,Texas Instruments,TPS61088RHLT,1
|
||||
J1,BM20B_0.8_-34DS-0.4V_53_,DGI_Gimbal:BM20B0834DS04V53,,Hirose,BM20B(0.8)-34DS-0.4V(53),1
|
||||
J2,Conn_01x02,Connector_PinHeader_2.54mm:PinHeader_1x02_P2.54mm_Vertical,,Amphenol,10129378-910002BLF,1
|
||||
JP1,Jumper,Jumper:SolderJumper-2_P1.3mm_Open_RoundedPad1.0x1.5mm,DNP,,,1
|
||||
L1,1u,Inductor_SMD:L_Coilcraft_XxL4020,,Coilcraft,XAL4020-102MEC,1
|
||||
P1,CF_EXP_LEFT,DGI_Gimbal:BF090-10-X-B2,,,,1
|
||||
P2,CF_EXP_RIGHT,DGI_Gimbal:BF090-10-X-B2,,,,1
|
||||
R1,255k,Resistor_SMD:R_0402_1005Metric,,Vishay,CRCW0402255KFKED,1
|
||||
R2,133k,Resistor_SMD:R_0402_1005Metric,,Yageo,RC0402FR-07133KL,1
|
||||
R3,36.5k,Resistor_SMD:R_0402_1005Metric,,Yageo,AC0402FR-0736K5L,1
|
||||
R4,470k,Resistor_SMD:R_0402_1005Metric,,Yageo,RC0402FR-07470KL,1
|
||||
R5,97.6k,Resistor_SMD:R_0402_1005Metric,,Vishay,CRCW040297K6FKED,1
|
||||
U1,WeAct_BlackPill_Part_Like,DGI_Gimbal:YAAJ_WeAct_BlackPill_2,,,,1
|
||||
|
File diff suppressed because it is too large.
Load diff
@@ -10,7 +10,7 @@
|
||||
"pads": 1.0,
|
||||
"tracks": 1.0,
|
||||
"vias": 1.0,
|
||||
"zones": 0.6
|
||||
"zones": 1.0
|
||||
},
|
||||
"ratsnest_display_mode": 0,
|
||||
"selection_filter": {
|
||||
@@ -18,7 +18,7 @@
|
||||
"footprints": true,
|
||||
"graphics": true,
|
||||
"keepouts": true,
|
||||
"lockedItems": true,
|
||||
"lockedItems": false,
|
||||
"otherItems": true,
|
||||
"pads": true,
|
||||
"text": true,
|
||||
@@ -63,7 +63,7 @@
|
||||
36
|
||||
],
|
||||
"visible_layers": "fffffff_ffffffff",
|
||||
"zone_display_mode": 0
|
||||
"zone_display_mode": 1
|
||||
},
|
||||
"meta": {
|
||||
"filename": "STM32_DJI_Gimbal.kicad_prl",
|
||||
|
||||
@@ -381,7 +381,6 @@
|
||||
"microvia_drill": 0.1,
|
||||
"name": "Power",
|
||||
"nets": [
|
||||
"+3V3",
|
||||
"+5V"
|
||||
],
|
||||
"pcb_color": "rgba(0, 0, 0, 0.000)",
|
||||
|
||||
File diff suppressed because it is too large.
Load diff
@@ -1,9 +1,9 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<export version="E">
|
||||
<design>
|
||||
<source>D:\lulu\Documents\Inria\DJI Gimbal\Kicad\STM32_DJI_Gimbal\STM32_DJI_Gimbal.kicad_sch</source>
|
||||
<date>11/08/2022 17:08:12</date>
|
||||
<tool>Eeschema (6.0.4)</tool>
|
||||
<source>C:\Users\lurenaud\Documents\Inria\dji-gimbal-foc\Kicad\STM32_DJI_Gimbal\STM32_DJI_Gimbal.kicad_sch</source>
|
||||
<date>11/10/2022 16:22:11</date>
|
||||
<tool>Eeschema (6.0.7)</tool>
|
||||
<sheet number="1" name="/" tstamps="/">
|
||||
<title_block>
|
||||
<title/>
|
||||
@@ -25,36 +25,6 @@
|
||||
</design>
|
||||
<components>
|
||||
<comp ref="C1">
|
||||
<value>220n</value>
|
||||
<footprint>Capacitor_SMD:C_0603_1608Metric</footprint>
|
||||
<fields>
|
||||
<field name="MFR">Yageo</field>
|
||||
<field name="MPN">CC0603KRX7R6BB224</field>
|
||||
</fields>
|
||||
<libsource lib="Device" part="C" description="Unpolarized capacitor"/>
|
||||
<property name="MPN" value="CC0603KRX7R6BB224"/>
|
||||
<property name="MFR" value="Yageo"/>
|
||||
<property name="Sheetname" value=""/>
|
||||
<property name="Sheetfile" value="STM32_DJI_Gimbal.kicad_sch"/>
|
||||
<sheetpath names="/" tstamps="/"/>
|
||||
<tstamps>92ab402a-da2e-4580-861d-6d3fc3d02621</tstamps>
|
||||
</comp>
|
||||
<comp ref="C2">
|
||||
<value>1u</value>
|
||||
<footprint>Capacitor_SMD:C_0603_1608Metric</footprint>
|
||||
<fields>
|
||||
<field name="MFR">Yageo</field>
|
||||
<field name="MPN">CC0603ZRY5V7BB105</field>
|
||||
</fields>
|
||||
<libsource lib="Device" part="C" description="Unpolarized capacitor"/>
|
||||
<property name="MPN" value="CC0603ZRY5V7BB105"/>
|
||||
<property name="MFR" value="Yageo"/>
|
||||
<property name="Sheetname" value=""/>
|
||||
<property name="Sheetfile" value="STM32_DJI_Gimbal.kicad_sch"/>
|
||||
<sheetpath names="/" tstamps="/"/>
|
||||
<tstamps>cb872711-adc7-42bc-89c3-24b7a9060c65</tstamps>
|
||||
</comp>
|
||||
<comp ref="C3">
|
||||
<value>47u</value>
|
||||
<footprint>Capacitor_Tantalum_SMD:CP_EIA-6032-28_Kemet-C</footprint>
|
||||
<fields>
|
||||
@@ -67,24 +37,24 @@
|
||||
<property name="Sheetname" value=""/>
|
||||
<property name="Sheetfile" value="STM32_DJI_Gimbal.kicad_sch"/>
|
||||
<sheetpath names="/" tstamps="/"/>
|
||||
<tstamps>1e91984f-ea4f-4e6f-805f-61f951a216ef</tstamps>
|
||||
<tstamps>cc7203df-fc02-4951-a62f-aad8c650e418</tstamps>
|
||||
</comp>
|
||||
<comp ref="C4">
|
||||
<value>220u</value>
|
||||
<footprint>Capacitor_Tantalum_SMD:CP_EIA-6032-28_Kemet-C</footprint>
|
||||
<comp ref="C2">
|
||||
<value>100n</value>
|
||||
<footprint>Capacitor_SMD:C_0402_1005Metric</footprint>
|
||||
<fields>
|
||||
<field name="MFR">AVX</field>
|
||||
<field name="MPN">TPSC227M006R0125</field>
|
||||
<field name="MFR">Murata</field>
|
||||
<field name="MPN">GRM155R71A104KA01J</field>
|
||||
</fields>
|
||||
<libsource lib="Device" part="C_Polarized" description="Polarized capacitor"/>
|
||||
<property name="MPN" value="TPSC227M006R0125"/>
|
||||
<property name="MFR" value="AVX"/>
|
||||
<libsource lib="Device" part="C" description="Unpolarized capacitor"/>
|
||||
<property name="MFR" value="Murata"/>
|
||||
<property name="MPN" value="GRM155R71A104KA01J"/>
|
||||
<property name="Sheetname" value=""/>
|
||||
<property name="Sheetfile" value="STM32_DJI_Gimbal.kicad_sch"/>
|
||||
<sheetpath names="/" tstamps="/"/>
|
||||
<tstamps>9c0b8f35-6882-495c-8b47-9f6808c35f76</tstamps>
|
||||
<tstamps>db8d4a4c-23eb-4cdd-bc72-0087398b3bdf</tstamps>
|
||||
</comp>
|
||||
<comp ref="C5">
|
||||
<comp ref="C3">
|
||||
<value>220n</value>
|
||||
<footprint>Capacitor_SMD:C_0603_1608Metric</footprint>
|
||||
<fields>
|
||||
@@ -97,28 +67,121 @@
|
||||
<property name="Sheetname" value=""/>
|
||||
<property name="Sheetfile" value="STM32_DJI_Gimbal.kicad_sch"/>
|
||||
<sheetpath names="/" tstamps="/"/>
|
||||
<tstamps>d5e0eeb5-b833-4502-b0ef-befd3fe6aabf</tstamps>
|
||||
<tstamps>642f7196-8d61-4c94-ba99-a8275e69eed0</tstamps>
|
||||
</comp>
|
||||
<comp ref="D1">
|
||||
<value>MBR0520</value>
|
||||
<footprint>Diode_SMD:D_SOD-523</footprint>
|
||||
<datasheet>http://www.mccsemi.com/up_pdf/MBR0520~MBR0580(SOD123).pdf</datasheet>
|
||||
<comp ref="C4">
|
||||
<value>1u</value>
|
||||
<footprint>Capacitor_SMD:C_0603_1608Metric</footprint>
|
||||
<fields>
|
||||
<field name="MFR">Onsemi</field>
|
||||
<field name="MPN">NSR05T30XV2T5G </field>
|
||||
<field name="MFR">Yageo</field>
|
||||
<field name="MPN">CC0603ZRY5V7BB105</field>
|
||||
</fields>
|
||||
<libsource lib="Diode" part="MBR0520" description="20V 0.5A Schottky Power Rectifier Diode, SOD-123"/>
|
||||
<property name="MPN" value="NSR05T30XV2T5G "/>
|
||||
<property name="MFR" value="Onsemi"/>
|
||||
<libsource lib="Device" part="C" description="Unpolarized capacitor"/>
|
||||
<property name="MPN" value="CC0603ZRY5V7BB105"/>
|
||||
<property name="MFR" value="Yageo"/>
|
||||
<property name="Sheetname" value=""/>
|
||||
<property name="Sheetfile" value="STM32_DJI_Gimbal.kicad_sch"/>
|
||||
<sheetpath names="/" tstamps="/"/>
|
||||
<tstamps>e22684d5-8a6b-4c45-b009-bb5deb22daab</tstamps>
|
||||
<tstamps>688a82ff-49b8-4402-bc1b-e83610ff4430</tstamps>
|
||||
</comp>
|
||||
<comp ref="C5">
|
||||
<value>100n</value>
|
||||
<footprint>Capacitor_SMD:C_0402_1005Metric</footprint>
|
||||
<fields>
|
||||
<field name="MFR">Murata</field>
|
||||
<field name="MPN">GRM155R71C104KA88D</field>
|
||||
</fields>
|
||||
<libsource lib="Device" part="C" description="Unpolarized capacitor"/>
|
||||
<property name="MFR" value="Murata"/>
|
||||
<property name="MPN" value="GRM155R71C104KA88D"/>
|
||||
<property name="Sheetname" value=""/>
|
||||
<property name="Sheetfile" value="STM32_DJI_Gimbal.kicad_sch"/>
|
||||
<sheetpath names="/" tstamps="/"/>
|
||||
<tstamps>f02e5938-4f1e-420f-8f8d-ae4b2d81d424</tstamps>
|
||||
</comp>
|
||||
<comp ref="C6">
|
||||
<value>8.2n</value>
|
||||
<footprint>Capacitor_SMD:C_0402_1005Metric</footprint>
|
||||
<fields>
|
||||
<field name="MFR">Murata</field>
|
||||
<field name="MPN">GRM155R71C822KA01D</field>
|
||||
</fields>
|
||||
<libsource lib="Device" part="C" description="Unpolarized capacitor"/>
|
||||
<property name="MFR" value="Murata"/>
|
||||
<property name="MPN" value="GRM155R71C822KA01D"/>
|
||||
<property name="Sheetname" value=""/>
|
||||
<property name="Sheetfile" value="STM32_DJI_Gimbal.kicad_sch"/>
|
||||
<sheetpath names="/" tstamps="/"/>
|
||||
<tstamps>f927fb65-aae6-4bc7-b9ee-18f8a8046303</tstamps>
|
||||
</comp>
|
||||
<comp ref="C7">
|
||||
<value>27p</value>
|
||||
<footprint>Capacitor_SMD:C_0402_1005Metric</footprint>
|
||||
<fields>
|
||||
<field name="MFR">Murata</field>
|
||||
<field name="MPN">GRM1555C1H270JA01D</field>
|
||||
</fields>
|
||||
<libsource lib="Device" part="C" description="Unpolarized capacitor"/>
|
||||
<property name="MFR" value="Murata"/>
|
||||
<property name="MPN" value="GRM1555C1H270JA01D"/>
|
||||
<property name="Sheetname" value=""/>
|
||||
<property name="Sheetfile" value="STM32_DJI_Gimbal.kicad_sch"/>
|
||||
<sheetpath names="/" tstamps="/"/>
|
||||
<tstamps>afb44959-37e9-4f9c-8f62-47800b11d806</tstamps>
|
||||
</comp>
|
||||
<comp ref="C8">
|
||||
<value>560p</value>
|
||||
<footprint>Capacitor_SMD:C_0402_1005Metric</footprint>
|
||||
<fields>
|
||||
<field name="MFR">Murata</field>
|
||||
<field name="MPN">GRM155R71H561KA01D</field>
|
||||
</fields>
|
||||
<libsource lib="Device" part="C" description="Unpolarized capacitor"/>
|
||||
<property name="MFR" value="Murata"/>
|
||||
<property name="MPN" value="GRM155R71H561KA01D"/>
|
||||
<property name="Sheetname" value=""/>
|
||||
<property name="Sheetfile" value="STM32_DJI_Gimbal.kicad_sch"/>
|
||||
<sheetpath names="/" tstamps="/"/>
|
||||
<tstamps>d60c1fb4-59ae-4777-8d97-aaec5f10d0bb</tstamps>
|
||||
</comp>
|
||||
<comp ref="C9">
|
||||
<value>220u</value>
|
||||
<footprint>Capacitor_Tantalum_SMD:CP_EIA-6032-28_Kemet-C</footprint>
|
||||
<fields>
|
||||
<field name="MFR">AVX</field>
|
||||
<field name="MPN">TPSC227M006R0125</field>
|
||||
</fields>
|
||||
<libsource lib="Device" part="C_Polarized" description="Polarized capacitor"/>
|
||||
<property name="MPN" value="TPSC227M006R0125"/>
|
||||
<property name="MFR" value="AVX"/>
|
||||
<property name="Sheetname" value=""/>
|
||||
<property name="Sheetfile" value="STM32_DJI_Gimbal.kicad_sch"/>
|
||||
<sheetpath names="/" tstamps="/"/>
|
||||
<tstamps>e02fd9da-c81c-47fa-badb-ad6d468f833d</tstamps>
|
||||
</comp>
|
||||
<comp ref="C10">
|
||||
<value>220n</value>
|
||||
<footprint>Capacitor_SMD:C_0603_1608Metric</footprint>
|
||||
<fields>
|
||||
<field name="MFR">Yageo</field>
|
||||
<field name="MPN">CC0603KRX7R6BB224</field>
|
||||
</fields>
|
||||
<libsource lib="Device" part="C" description="Unpolarized capacitor"/>
|
||||
<property name="MPN" value="CC0603KRX7R6BB224"/>
|
||||
<property name="MFR" value="Yageo"/>
|
||||
<property name="Sheetname" value=""/>
|
||||
<property name="Sheetfile" value="STM32_DJI_Gimbal.kicad_sch"/>
|
||||
<sheetpath names="/" tstamps="/"/>
|
||||
<tstamps>f70c7390-4f77-45fe-87c8-5a2773f2f77f</tstamps>
|
||||
</comp>
|
||||
<comp ref="H1">
|
||||
<value>M3</value>
|
||||
<footprint>MountingHole:MountingHole_3.2mm_M3_Pad_Via</footprint>
|
||||
<fields>
|
||||
<field name="DNP">DNP</field>
|
||||
</fields>
|
||||
<libsource lib="Mechanical" part="MountingHole" description="Mounting Hole without connection"/>
|
||||
<property name="DNP" value="DNP"/>
|
||||
<property name="Sheetname" value=""/>
|
||||
<property name="Sheetfile" value="STM32_DJI_Gimbal.kicad_sch"/>
|
||||
<sheetpath names="/" tstamps="/"/>
|
||||
@@ -127,7 +190,11 @@
|
||||
<comp ref="H2">
|
||||
<value>M3</value>
|
||||
<footprint>MountingHole:MountingHole_3.2mm_M3_Pad_Via</footprint>
|
||||
<fields>
|
||||
<field name="DNP">DNP</field>
|
||||
</fields>
|
||||
<libsource lib="Mechanical" part="MountingHole" description="Mounting Hole without connection"/>
|
||||
<property name="DNP" value="DNP"/>
|
||||
<property name="Sheetname" value=""/>
|
||||
<property name="Sheetfile" value="STM32_DJI_Gimbal.kicad_sch"/>
|
||||
<sheetpath names="/" tstamps="/"/>
|
||||
@@ -136,7 +203,11 @@
|
||||
<comp ref="H3">
|
||||
<value>CAM_M2</value>
|
||||
<footprint>MountingHole:MountingHole_2.2mm_M2_Pad_Via</footprint>
|
||||
<fields>
|
||||
<field name="DNP">DNP</field>
|
||||
</fields>
|
||||
<libsource lib="Mechanical" part="MountingHole" description="Mounting Hole without connection"/>
|
||||
<property name="DNP" value="DNP"/>
|
||||
<property name="Sheetname" value=""/>
|
||||
<property name="Sheetfile" value="STM32_DJI_Gimbal.kicad_sch"/>
|
||||
<sheetpath names="/" tstamps="/"/>
|
||||
@@ -145,7 +216,11 @@
|
||||
<comp ref="H4">
|
||||
<value>CAM_M2</value>
|
||||
<footprint>MountingHole:MountingHole_2.2mm_M2_Pad_Via</footprint>
|
||||
<fields>
|
||||
<field name="DNP">DNP</field>
|
||||
</fields>
|
||||
<libsource lib="Mechanical" part="MountingHole" description="Mounting Hole without connection"/>
|
||||
<property name="DNP" value="DNP"/>
|
||||
<property name="Sheetname" value=""/>
|
||||
<property name="Sheetfile" value="STM32_DJI_Gimbal.kicad_sch"/>
|
||||
<sheetpath names="/" tstamps="/"/>
|
||||
@@ -154,7 +229,11 @@
|
||||
<comp ref="H5">
|
||||
<value>M3</value>
|
||||
<footprint>MountingHole:MountingHole_3.2mm_M3_Pad_Via</footprint>
|
||||
<fields>
|
||||
<field name="DNP">DNP</field>
|
||||
</fields>
|
||||
<libsource lib="Mechanical" part="MountingHole" description="Mounting Hole without connection"/>
|
||||
<property name="DNP" value="DNP"/>
|
||||
<property name="Sheetname" value=""/>
|
||||
<property name="Sheetfile" value="STM32_DJI_Gimbal.kicad_sch"/>
|
||||
<sheetpath names="/" tstamps="/"/>
|
||||
@@ -163,7 +242,11 @@
|
||||
<comp ref="H6">
|
||||
<value>M3</value>
|
||||
<footprint>MountingHole:MountingHole_3.2mm_M3_Pad_Via</footprint>
|
||||
<fields>
|
||||
<field name="DNP">DNP</field>
|
||||
</fields>
|
||||
<libsource lib="Mechanical" part="MountingHole" description="Mounting Hole without connection"/>
|
||||
<property name="DNP" value="DNP"/>
|
||||
<property name="Sheetname" value=""/>
|
||||
<property name="Sheetfile" value="STM32_DJI_Gimbal.kicad_sch"/>
|
||||
<sheetpath names="/" tstamps="/"/>
|
||||
@@ -172,12 +255,46 @@
|
||||
<comp ref="IC1">
|
||||
<value>DS28E05R+T</value>
|
||||
<footprint>Package_TO_SOT_SMD:SOT-23</footprint>
|
||||
<fields>
|
||||
<field name="MFR">Maxim</field>
|
||||
<field name="MPN">DS28E05R+T </field>
|
||||
</fields>
|
||||
<libsource lib="DJI_Gimbal" part="DS28E05R+T" description="1-Wire memory"/>
|
||||
<property name="MFR" value="Maxim"/>
|
||||
<property name="MPN" value="DS28E05R+T "/>
|
||||
<property name="Sheetname" value=""/>
|
||||
<property name="Sheetfile" value="STM32_DJI_Gimbal.kicad_sch"/>
|
||||
<sheetpath names="/" tstamps="/"/>
|
||||
<tstamps>69865d57-3d25-43a8-a481-21b13df58cfa</tstamps>
|
||||
</comp>
|
||||
<comp ref="IC2">
|
||||
<value>TPS61088RHLT</value>
|
||||
<footprint>DGI_Gimbal:TPS61088</footprint>
|
||||
<datasheet>http://www.ti.com/lit/ds/symlink/tps61088.pdf</datasheet>
|
||||
<fields>
|
||||
<field name="Description">Texas Instruments TPS61088RHLT, 3, Boost Converter, Synchronous Boost Converter 10A 4.5 12.6 V, 2.2 MHz 20-Pin</field>
|
||||
<field name="Height">1</field>
|
||||
<field name="MFR">Texas Instruments</field>
|
||||
<field name="MPN">TPS61088RHLT</field>
|
||||
<field name="Manufacturer_Name">Texas Instruments</field>
|
||||
<field name="Manufacturer_Part_Number">TPS61088RHLT</field>
|
||||
<field name="Mouser Part Number">595-TPS61088RHLT</field>
|
||||
<field name="Mouser Price/Stock">https://www.mouser.co.uk/ProductDetail/Texas-Instruments/TPS61088RHLT?qs=MiqG6Kq1qKOeAwvWtl5eUw%3D%3D</field>
|
||||
</fields>
|
||||
<libsource lib="DJI_Gimbal" part="TPS61088RHLT" description="Texas Instruments TPS61088RHLT, 3, Boost Converter, Synchronous Boost Converter 10A 4.5 12.6 V, 2.2 MHz 20-Pin"/>
|
||||
<property name="Description" value="Texas Instruments TPS61088RHLT, 3, Boost Converter, Synchronous Boost Converter 10A 4.5 12.6 V, 2.2 MHz 20-Pin"/>
|
||||
<property name="Height" value="1"/>
|
||||
<property name="Mouser Part Number" value="595-TPS61088RHLT"/>
|
||||
<property name="Mouser Price/Stock" value="https://www.mouser.co.uk/ProductDetail/Texas-Instruments/TPS61088RHLT?qs=MiqG6Kq1qKOeAwvWtl5eUw%3D%3D"/>
|
||||
<property name="Manufacturer_Name" value="Texas Instruments"/>
|
||||
<property name="Manufacturer_Part_Number" value="TPS61088RHLT"/>
|
||||
<property name="MFR" value="Texas Instruments"/>
|
||||
<property name="MPN" value="TPS61088RHLT"/>
|
||||
<property name="Sheetname" value=""/>
|
||||
<property name="Sheetfile" value="STM32_DJI_Gimbal.kicad_sch"/>
|
||||
<sheetpath names="/" tstamps="/"/>
|
||||
<tstamps>cd8be56a-cc0b-4982-bdda-31ab15793a43</tstamps>
|
||||
</comp>
|
||||
<comp ref="J1">
|
||||
<value>BM20B_0.8_-34DS-0.4V_53_</value>
|
||||
<footprint>DGI_Gimbal:BM20B0834DS04V53</footprint>
|
||||
@@ -185,6 +302,8 @@
|
||||
<fields>
|
||||
<field name="Description">Board to Board & Mezzanine Connectors 34P DR RCP B2B/B2FPC 0.8mm H 0.4mm P VSMT</field>
|
||||
<field name="Height">0.9</field>
|
||||
<field name="MFR">Hirose</field>
|
||||
<field name="MPN">BM20B(0.8)-34DS-0.4V(53)</field>
|
||||
<field name="Manufacturer_Name">Hirose</field>
|
||||
<field name="Manufacturer_Part_Number">BM20B(0.8)-34DS-0.4V(53)</field>
|
||||
<field name="Mouser Part Number">798-BM20B0834DS04V53</field>
|
||||
@@ -197,6 +316,8 @@
|
||||
<property name="Mouser Price/Stock" value="https://www.mouser.co.uk/ProductDetail/Hirose-Connector/BM20B08-34DS-04V53?qs=AAveGqk956HKBDZ2sUIWMg%3D%3D"/>
|
||||
<property name="Manufacturer_Name" value="Hirose"/>
|
||||
<property name="Manufacturer_Part_Number" value="BM20B(0.8)-34DS-0.4V(53)"/>
|
||||
<property name="MFR" value="Hirose"/>
|
||||
<property name="MPN" value="BM20B(0.8)-34DS-0.4V(53)"/>
|
||||
<property name="Sheetname" value=""/>
|
||||
<property name="Sheetfile" value="STM32_DJI_Gimbal.kicad_sch"/>
|
||||
<sheetpath names="/" tstamps="/"/>
|
||||
@@ -205,26 +326,41 @@
|
||||
<comp ref="J2">
|
||||
<value>Conn_01x02</value>
|
||||
<footprint>Connector_PinHeader_2.54mm:PinHeader_1x02_P2.54mm_Vertical</footprint>
|
||||
<fields>
|
||||
<field name="MFR">Amphenol</field>
|
||||
<field name="MPN">10129378-910002BLF</field>
|
||||
</fields>
|
||||
<libsource lib="Connector_Generic" part="Conn_01x02" description="Generic connector, single row, 01x02, script generated (kicad-library-utils/schlib/autogen/connector/)"/>
|
||||
<property name="MFR" value="Amphenol"/>
|
||||
<property name="MPN" value="10129378-910002BLF"/>
|
||||
<property name="Sheetname" value=""/>
|
||||
<property name="Sheetfile" value="STM32_DJI_Gimbal.kicad_sch"/>
|
||||
<sheetpath names="/" tstamps="/"/>
|
||||
<tstamps>b3d69760-c6a0-4152-91c3-bf05ad3c1f8c</tstamps>
|
||||
</comp>
|
||||
<comp ref="L1">
|
||||
<value>1.5uH</value>
|
||||
<footprint>Inductor_SMD:L_Taiyo-Yuden_NR-30xx</footprint>
|
||||
<fields>
|
||||
<field name="MFR">Taiyo\ Yuden</field>
|
||||
<field name="MPN">NR3015T1R5N </field>
|
||||
</fields>
|
||||
<libsource lib="Device" part="L" description="Inductor"/>
|
||||
<property name="MPN" value="NR3015T1R5N "/>
|
||||
<property name="MFR" value="Taiyo\ Yuden"/>
|
||||
<comp ref="JP1">
|
||||
<value>Jumper</value>
|
||||
<footprint>Jumper:SolderJumper-2_P1.3mm_Open_RoundedPad1.0x1.5mm</footprint>
|
||||
<libsource lib="Jumper" part="SolderJumper_2_Open" description="Solder Jumper, 2-pole, open"/>
|
||||
<property name="Sheetname" value=""/>
|
||||
<property name="Sheetfile" value="STM32_DJI_Gimbal.kicad_sch"/>
|
||||
<sheetpath names="/" tstamps="/"/>
|
||||
<tstamps>07dde038-c7c8-48fa-b53b-ee28825de7ae</tstamps>
|
||||
<tstamps>fc084c4c-7aec-4bca-a89d-7c0490fc438e</tstamps>
|
||||
</comp>
|
||||
<comp ref="L1">
|
||||
<value>1u</value>
|
||||
<footprint>Inductor_SMD:L_Coilcraft_XxL4020</footprint>
|
||||
<fields>
|
||||
<field name="MFR">Coilcraft</field>
|
||||
<field name="MPN">XAL4020-102MEC</field>
|
||||
</fields>
|
||||
<libsource lib="Device" part="L" description="Inductor"/>
|
||||
<property name="MFR" value="Coilcraft"/>
|
||||
<property name="MPN" value="XAL4020-102MEC"/>
|
||||
<property name="Sheetname" value=""/>
|
||||
<property name="Sheetfile" value="STM32_DJI_Gimbal.kicad_sch"/>
|
||||
<sheetpath names="/" tstamps="/"/>
|
||||
<tstamps>5f8ffa78-1306-4d5a-9ace-088b7c016162</tstamps>
|
||||
</comp>
|
||||
<comp ref="P1">
|
||||
<value>CF_EXP_LEFT</value>
|
||||
@@ -245,49 +381,79 @@
|
||||
<tstamps>64c7e90f-aaaa-44ad-9486-27a714300399</tstamps>
|
||||
</comp>
|
||||
<comp ref="R1">
|
||||
<value>4.7</value>
|
||||
<value>255k</value>
|
||||
<footprint>Resistor_SMD:R_0402_1005Metric</footprint>
|
||||
<fields>
|
||||
<field name="MFR">Yageo</field>
|
||||
<field name="MPN">AC0402FR-074R7L</field>
|
||||
<field name="MFR">Vishay</field>
|
||||
<field name="MPN">CRCW0402255KFKED</field>
|
||||
</fields>
|
||||
<libsource lib="Device" part="R" description="Resistor"/>
|
||||
<property name="MPN" value="AC0402FR-074R7L"/>
|
||||
<property name="MFR" value="Yageo"/>
|
||||
<property name="MFR" value="Vishay"/>
|
||||
<property name="MPN" value="CRCW0402255KFKED"/>
|
||||
<property name="Sheetname" value=""/>
|
||||
<property name="Sheetfile" value="STM32_DJI_Gimbal.kicad_sch"/>
|
||||
<sheetpath names="/" tstamps="/"/>
|
||||
<tstamps>00a448b9-975a-4ad5-9a0c-7642854a39b8</tstamps>
|
||||
<tstamps>a87f7226-7752-49ce-857a-279ca0c6a189</tstamps>
|
||||
</comp>
|
||||
<comp ref="R2">
|
||||
<value>82k</value>
|
||||
<value>133k</value>
|
||||
<footprint>Resistor_SMD:R_0402_1005Metric</footprint>
|
||||
<fields>
|
||||
<field name="MFR">Yageo</field>
|
||||
<field name="MPN">AC0402FR-0782KL </field>
|
||||
<field name="MPN">RC0402FR-07133KL</field>
|
||||
</fields>
|
||||
<libsource lib="Device" part="R" description="Resistor"/>
|
||||
<property name="MPN" value="AC0402FR-0782KL "/>
|
||||
<property name="MFR" value="Yageo"/>
|
||||
<property name="MPN" value="RC0402FR-07133KL"/>
|
||||
<property name="Sheetname" value=""/>
|
||||
<property name="Sheetfile" value="STM32_DJI_Gimbal.kicad_sch"/>
|
||||
<sheetpath names="/" tstamps="/"/>
|
||||
<tstamps>2403e070-a199-4531-920d-9123683eb15c</tstamps>
|
||||
<tstamps>46d27821-3c37-413f-9e99-639b0bba5d45</tstamps>
|
||||
</comp>
|
||||
<comp ref="R3">
|
||||
<value>27k</value>
|
||||
<value>36.5k</value>
|
||||
<footprint>Resistor_SMD:R_0402_1005Metric</footprint>
|
||||
<fields>
|
||||
<field name="MFR">Yageo</field>
|
||||
<field name="MPN">AC0402FR-0727KL </field>
|
||||
<field name="MPN">AC0402FR-0736K5L</field>
|
||||
</fields>
|
||||
<libsource lib="Device" part="R" description="Resistor"/>
|
||||
<property name="MPN" value="AC0402FR-0727KL "/>
|
||||
<property name="MFR" value="Yageo"/>
|
||||
<property name="MPN" value="AC0402FR-0736K5L"/>
|
||||
<property name="Sheetname" value=""/>
|
||||
<property name="Sheetfile" value="STM32_DJI_Gimbal.kicad_sch"/>
|
||||
<sheetpath names="/" tstamps="/"/>
|
||||
<tstamps>6563ff29-8545-4d2f-9c62-530c603a5802</tstamps>
|
||||
<tstamps>d043381b-8a98-4a07-9370-746bfed32981</tstamps>
|
||||
</comp>
|
||||
<comp ref="R4">
|
||||
<value>470k</value>
|
||||
<footprint>Resistor_SMD:R_0402_1005Metric</footprint>
|
||||
<fields>
|
||||
<field name="MFR">Yageo</field>
|
||||
<field name="MPN">RC0402FR-07470KL</field>
|
||||
</fields>
|
||||
<libsource lib="Device" part="R" description="Resistor"/>
|
||||
<property name="MFR" value="Yageo"/>
|
||||
<property name="MPN" value="RC0402FR-07470KL"/>
|
||||
<property name="Sheetname" value=""/>
|
||||
<property name="Sheetfile" value="STM32_DJI_Gimbal.kicad_sch"/>
|
||||
<sheetpath names="/" tstamps="/"/>
|
||||
<tstamps>7b6a30e8-c3c2-4be9-ab54-18499600dc34</tstamps>
|
||||
</comp>
|
||||
<comp ref="R5">
|
||||
<value>97.6k</value>
|
||||
<footprint>Resistor_SMD:R_0402_1005Metric</footprint>
|
||||
<fields>
|
||||
<field name="MFR">Vishay</field>
|
||||
<field name="MPN">CRCW040297K6FKED</field>
|
||||
</fields>
|
||||
<libsource lib="Device" part="R" description="Resistor"/>
|
||||
<property name="MFR" value="Vishay"/>
|
||||
<property name="MPN" value="CRCW040297K6FKED"/>
|
||||
<property name="Sheetname" value=""/>
|
||||
<property name="Sheetfile" value="STM32_DJI_Gimbal.kicad_sch"/>
|
||||
<sheetpath names="/" tstamps="/"/>
|
||||
<tstamps>89ccc558-ac4d-4096-b15b-dc82f904db65</tstamps>
|
||||
</comp>
|
||||
<comp ref="U1">
|
||||
<value>WeAct_BlackPill_Part_Like</value>
|
||||
@@ -298,16 +464,6 @@
|
||||
<sheetpath names="/" tstamps="/"/>
|
||||
<tstamps>0a9fa3c9-5be4-4a54-9244-20760a55bf0e</tstamps>
|
||||
</comp>
|
||||
<comp ref="U2">
|
||||
<value>MAX1763</value>
|
||||
<footprint>Package_SO:QSOP-16_3.9x4.9mm_P0.635mm</footprint>
|
||||
<datasheet>https://datasheets.maximintegrated.com/en/ds/MAX1763.pdf</datasheet>
|
||||
<libsource lib="DJI_Gimbal" part="MAX1763" description=""/>
|
||||
<property name="Sheetname" value=""/>
|
||||
<property name="Sheetfile" value="STM32_DJI_Gimbal.kicad_sch"/>
|
||||
<sheetpath names="/" tstamps="/"/>
|
||||
<tstamps>acfabe71-a655-433e-85e5-7e99a343fdfb</tstamps>
|
||||
</comp>
|
||||
</components>
|
||||
<libparts>
|
||||
<libpart lib="Connector_Generic" part="Conn_01x02">
|
||||
@@ -430,31 +586,43 @@
|
||||
<pin num="3" name="GND" type="input"/>
|
||||
</pins>
|
||||
</libpart>
|
||||
<libpart lib="DJI_Gimbal" part="MAX1763">
|
||||
<docs>https://datasheets.maximintegrated.com/en/ds/MAX1763.pdf</docs>
|
||||
<libpart lib="DJI_Gimbal" part="TPS61088RHLT">
|
||||
<description>Texas Instruments TPS61088RHLT, 3, Boost Converter, Synchronous Boost Converter 10A 4.5 12.6 V, 2.2 MHz 20-Pin</description>
|
||||
<docs>http://www.ti.com/lit/ds/symlink/tps61088.pdf</docs>
|
||||
<fields>
|
||||
<field name="Reference">U</field>
|
||||
<field name="Value">MAX1763</field>
|
||||
<field name="Footprint">Package_SO:QSOP-16_3.9x4.9mm_P0.635mm</field>
|
||||
<field name="Datasheet">https://datasheets.maximintegrated.com/en/ds/MAX1763.pdf</field>
|
||||
<field name="Reference">IC</field>
|
||||
<field name="Value">TPS61088RHLT</field>
|
||||
<field name="Footprint">BQ24031IRHLRQ1</field>
|
||||
<field name="Datasheet">http://www.ti.com/lit/ds/symlink/tps61088.pdf</field>
|
||||
<field name="Description">Texas Instruments TPS61088RHLT, 3, Boost Converter, Synchronous Boost Converter 10A 4.5 12.6 V, 2.2 MHz 20-Pin</field>
|
||||
<field name="Height">1</field>
|
||||
<field name="Mouser Part Number">595-TPS61088RHLT</field>
|
||||
<field name="Mouser Price/Stock">https://www.mouser.co.uk/ProductDetail/Texas-Instruments/TPS61088RHLT?qs=MiqG6Kq1qKOeAwvWtl5eUw%3D%3D</field>
|
||||
<field name="Manufacturer_Name">Texas Instruments</field>
|
||||
<field name="Manufacturer_Part_Number">TPS61088RHLT</field>
|
||||
</fields>
|
||||
<pins>
|
||||
<pin num="1" name="ONA" type="input"/>
|
||||
<pin num="2" name="ISET" type="input"/>
|
||||
<pin num="3" name="REF" type="input"/>
|
||||
<pin num="4" name="GND" type="input"/>
|
||||
<pin num="5" name="FB" type="input"/>
|
||||
<pin num="6" name="OUT" type="input"/>
|
||||
<pin num="7" name="AIN" type="input"/>
|
||||
<pin num="8" name="A0" type="input"/>
|
||||
<pin num="9" name="CLK/SEL" type="input"/>
|
||||
<pin num="10" name="PGND" type="input"/>
|
||||
<pin num="11" name="LX" type="input"/>
|
||||
<pin num="12" name="PGND" type="input"/>
|
||||
<pin num="13" name="POUT" type="input"/>
|
||||
<pin num="14" name="LX" type="input"/>
|
||||
<pin num="15" name="POUT" type="input"/>
|
||||
<pin num="16" name="nONB" type="input"/>
|
||||
<pin num="1" name="VCC" type="passive"/>
|
||||
<pin num="2" name="EN" type="passive"/>
|
||||
<pin num="3" name="FSW" type="passive"/>
|
||||
<pin num="4" name="SW_1" type="passive"/>
|
||||
<pin num="5" name="SW_2" type="passive"/>
|
||||
<pin num="6" name="SW_3" type="passive"/>
|
||||
<pin num="7" name="SW_4" type="passive"/>
|
||||
<pin num="8" name="BOOT" type="passive"/>
|
||||
<pin num="9" name="VIN" type="passive"/>
|
||||
<pin num="10" name="SS" type="passive"/>
|
||||
<pin num="11" name="NC_1" type="passive"/>
|
||||
<pin num="12" name="NC_2" type="passive"/>
|
||||
<pin num="13" name="MODE" type="passive"/>
|
||||
<pin num="14" name="VOUT_1" type="passive"/>
|
||||
<pin num="15" name="VOUT_2" type="passive"/>
|
||||
<pin num="16" name="VOUT_3" type="passive"/>
|
||||
<pin num="17" name="FB" type="passive"/>
|
||||
<pin num="18" name="COMP" type="passive"/>
|
||||
<pin num="19" name="ILIM" type="passive"/>
|
||||
<pin num="20" name="AGND" type="passive"/>
|
||||
<pin num="21" name="EP_(PGND)" type="passive"/>
|
||||
</pins>
|
||||
</libpart>
|
||||
<libpart lib="DJI_Gimbal" part="WeAct_BlackPill_Part_Like">
|
||||
@@ -574,21 +742,20 @@
|
||||
<pin num="2" name="" type="passive"/>
|
||||
</pins>
|
||||
</libpart>
|
||||
<libpart lib="Diode" part="MBR0520">
|
||||
<description>20V 0.5A Schottky Power Rectifier Diode, SOD-123</description>
|
||||
<docs>http://www.mccsemi.com/up_pdf/MBR0520~MBR0580(SOD123).pdf</docs>
|
||||
<libpart lib="Jumper" part="SolderJumper_2_Open">
|
||||
<description>Solder Jumper, 2-pole, open</description>
|
||||
<docs>~</docs>
|
||||
<footprints>
|
||||
<fp>D*SOD?123*</fp>
|
||||
<fp>SolderJumper*Open*</fp>
|
||||
</footprints>
|
||||
<fields>
|
||||
<field name="Reference">D</field>
|
||||
<field name="Value">MBR0520</field>
|
||||
<field name="Footprint">Diode_SMD:D_SOD-123</field>
|
||||
<field name="Datasheet">http://www.mccsemi.com/up_pdf/MBR0520~MBR0580(SOD123).pdf</field>
|
||||
<field name="Reference">JP</field>
|
||||
<field name="Value">SolderJumper_2_Open</field>
|
||||
<field name="Datasheet">~</field>
|
||||
</fields>
|
||||
<pins>
|
||||
<pin num="1" name="K" type="passive"/>
|
||||
<pin num="2" name="A" type="passive"/>
|
||||
<pin num="1" name="A" type="passive"/>
|
||||
<pin num="2" name="B" type="passive"/>
|
||||
</pins>
|
||||
</libpart>
|
||||
<libpart lib="Mechanical" part="MountingHole">
|
||||
@@ -609,13 +776,13 @@
|
||||
<uri>C:\Program Files\KiCad\6.0\share\kicad\symbols\/Connector_Generic.kicad_sym</uri>
|
||||
</library>
|
||||
<library logical="DJI_Gimbal">
|
||||
<uri>D:\lulu\Documents\Inria\DJI Gimbal\Kicad\STM32_DJI_Gimbal/DJI_Gimbal.kicad_sym</uri>
|
||||
<uri>C:\Users\lurenaud\Documents\Inria\dji-gimbal-foc\Kicad\STM32_DJI_Gimbal/DJI_Gimbal.kicad_sym</uri>
|
||||
</library>
|
||||
<library logical="Device">
|
||||
<uri>C:\Program Files\KiCad\6.0\share\kicad\symbols\/Device.kicad_sym</uri>
|
||||
</library>
|
||||
<library logical="Diode">
|
||||
<uri>C:\Program Files\KiCad\6.0\share\kicad\symbols\/Diode.kicad_sym</uri>
|
||||
<library logical="Jumper">
|
||||
<uri>C:\Program Files\KiCad\6.0\share\kicad\symbols\/Jumper.kicad_sym</uri>
|
||||
</library>
|
||||
<library logical="Mechanical">
|
||||
<uri>C:\Program Files\KiCad\6.0\share\kicad\symbols\/Mechanical.kicad_sym</uri>
|
||||
@@ -623,127 +790,125 @@
|
||||
</libraries>
|
||||
<nets>
|
||||
<net code="1" name="+3V0">
|
||||
<node ref="P1" pin="1" pinfunction="VCC" pintype="power_out"/>
|
||||
</net>
|
||||
<net code="2" name="+3V3">
|
||||
<node ref="U1" pin="20" pinfunction="3V3" pintype="power_in"/>
|
||||
</net>
|
||||
<net code="3" name="+5V">
|
||||
<node ref="C4" pin="1" pintype="passive"/>
|
||||
<node ref="C5" pin="1" pintype="passive"/>
|
||||
<node ref="D1" pin="1" pinfunction="K" pintype="passive"/>
|
||||
<node ref="J1" pin="20" pinfunction="20" pintype="passive"/>
|
||||
<node ref="J1" pin="22" pinfunction="22" pintype="passive"/>
|
||||
<node ref="J1" pin="25" pinfunction="25" pintype="passive"/>
|
||||
<node ref="J1" pin="27" pinfunction="27" pintype="passive"/>
|
||||
<node ref="J1" pin="29" pinfunction="29" pintype="passive"/>
|
||||
<node ref="J1" pin="31" pinfunction="31" pintype="passive"/>
|
||||
<node ref="J1" pin="33" pinfunction="33" pintype="passive"/>
|
||||
<node ref="R1" pin="1" pintype="passive"/>
|
||||
<node ref="R2" pin="1" pintype="passive"/>
|
||||
<node ref="P1" pin="1" pinfunction="VCC" pintype="power_out"/>
|
||||
<node ref="U1" pin="20" pinfunction="3V3" pintype="power_in"/>
|
||||
</net>
|
||||
<net code="2" name="+5V">
|
||||
<node ref="JP1" pin="2" pinfunction="B" pintype="passive"/>
|
||||
<node ref="U1" pin="18" pinfunction="5V" pintype="power_in"/>
|
||||
<node ref="U1" pin="40" pinfunction="5V" pintype="power_in"/>
|
||||
<node ref="U2" pin="13" pinfunction="POUT" pintype="input"/>
|
||||
<node ref="U2" pin="15" pinfunction="POUT" pintype="input"/>
|
||||
</net>
|
||||
<net code="4" name="+BATT">
|
||||
<net code="3" name="+BATT">
|
||||
<node ref="C1" pin="1" pintype="passive"/>
|
||||
<node ref="C2" pin="1" pintype="passive"/>
|
||||
<node ref="C3" pin="1" pintype="passive"/>
|
||||
<node ref="IC2" pin="9" pinfunction="VIN" pintype="passive"/>
|
||||
<node ref="J2" pin="1" pinfunction="Pin_1" pintype="passive"/>
|
||||
<node ref="JP1" pin="1" pinfunction="A" pintype="passive"/>
|
||||
<node ref="L1" pin="1" pinfunction="1" pintype="passive"/>
|
||||
<node ref="P2" pin="9" pinfunction="VCOM" pintype="power_out"/>
|
||||
<node ref="U2" pin="1" pinfunction="ONA" pintype="input"/>
|
||||
</net>
|
||||
<net code="5" name="/M1_Fault">
|
||||
<net code="4" name="/M1_Fault">
|
||||
<node ref="J1" pin="15" pinfunction="15" pintype="passive"/>
|
||||
<node ref="U1" pin="1" pinfunction="PB12" pintype="bidirectional"/>
|
||||
</net>
|
||||
<net code="6" name="/M1_Hall1">
|
||||
<net code="5" name="/M1_Hall1">
|
||||
<node ref="J1" pin="18" pinfunction="18" pintype="passive"/>
|
||||
<node ref="U1" pin="35" pinfunction="PB1" pintype="bidirectional"/>
|
||||
</net>
|
||||
<net code="7" name="/M1_Hall2">
|
||||
<net code="6" name="/M1_Hall2">
|
||||
<node ref="J1" pin="16" pinfunction="16" pintype="passive"/>
|
||||
<node ref="U1" pin="34" pinfunction="PB0" pintype="bidirectional"/>
|
||||
<node ref="U1" pin="31" pinfunction="PA5" pintype="bidirectional"/>
|
||||
</net>
|
||||
<net code="8" name="/M1_PWM1">
|
||||
<net code="7" name="/M1_PWM1">
|
||||
<node ref="J1" pin="21" pinfunction="21" pintype="passive"/>
|
||||
<node ref="U1" pin="2" pinfunction="PB13" pintype="bidirectional"/>
|
||||
<node ref="U1" pin="7" pinfunction="PA10" pintype="bidirectional"/>
|
||||
</net>
|
||||
<net code="9" name="/M1_PWM2">
|
||||
<net code="8" name="/M1_PWM2">
|
||||
<node ref="J1" pin="19" pinfunction="19" pintype="passive"/>
|
||||
<node ref="U1" pin="3" pinfunction="PB14" pintype="bidirectional"/>
|
||||
<node ref="U1" pin="6" pinfunction="PA9" pintype="bidirectional"/>
|
||||
</net>
|
||||
<net code="10" name="/M1_PWM3">
|
||||
<net code="9" name="/M1_PWM3">
|
||||
<node ref="J1" pin="17" pinfunction="17" pintype="passive"/>
|
||||
<node ref="U1" pin="4" pinfunction="PB15" pintype="bidirectional"/>
|
||||
<node ref="U1" pin="5" pinfunction="PA8" pintype="bidirectional"/>
|
||||
</net>
|
||||
<net code="11" name="/M2_Fault">
|
||||
<net code="10" name="/M2_Fault">
|
||||
<node ref="J1" pin="7" pinfunction="7" pintype="passive"/>
|
||||
<node ref="U1" pin="37" pinfunction="PB10" pintype="bidirectional"/>
|
||||
</net>
|
||||
<net code="12" name="/M2_Hall1">
|
||||
<net code="11" name="/M2_Hall1">
|
||||
<node ref="J1" pin="14" pinfunction="14" pintype="passive"/>
|
||||
<node ref="U1" pin="30" pinfunction="PA4" pintype="bidirectional"/>
|
||||
</net>
|
||||
<net code="13" name="/M2_Hall2">
|
||||
<net code="12" name="/M2_Hall2">
|
||||
<node ref="J1" pin="12" pinfunction="12" pintype="passive"/>
|
||||
<node ref="U1" pin="29" pinfunction="PA3" pintype="bidirectional"/>
|
||||
</net>
|
||||
<net code="14" name="/M2_PWM1">
|
||||
<net code="13" name="/M2_PWM1">
|
||||
<node ref="J1" pin="13" pinfunction="13" pintype="passive"/>
|
||||
<node ref="U1" pin="17" pinfunction="PB9" pintype="bidirectional"/>
|
||||
</net>
|
||||
<net code="15" name="/M2_PWM2">
|
||||
<net code="14" name="/M2_PWM2">
|
||||
<node ref="J1" pin="11" pinfunction="11" pintype="passive"/>
|
||||
<node ref="U1" pin="16" pinfunction="PB8" pintype="bidirectional"/>
|
||||
</net>
|
||||
<net code="16" name="/M2_PWM3">
|
||||
<net code="15" name="/M2_PWM3">
|
||||
<node ref="J1" pin="9" pinfunction="9" pintype="passive"/>
|
||||
<node ref="U1" pin="13" pinfunction="PB5" pintype="bidirectional"/>
|
||||
<node ref="U1" pin="15" pinfunction="PB7" pintype="bidirectional"/>
|
||||
</net>
|
||||
<net code="17" name="/M3_Fault">
|
||||
<net code="16" name="/M3_Fault">
|
||||
<node ref="J1" pin="2" pinfunction="2" pintype="passive"/>
|
||||
<node ref="U1" pin="26" pinfunction="PA0" pintype="bidirectional"/>
|
||||
</net>
|
||||
<net code="18" name="/M3_Hall1">
|
||||
<net code="17" name="/M3_Hall1">
|
||||
<node ref="J1" pin="10" pinfunction="10" pintype="passive"/>
|
||||
<node ref="U1" pin="28" pinfunction="PA2" pintype="bidirectional"/>
|
||||
</net>
|
||||
<net code="19" name="/M3_Hall2">
|
||||
<net code="18" name="/M3_Hall2">
|
||||
<node ref="J1" pin="8" pinfunction="8" pintype="passive"/>
|
||||
<node ref="U1" pin="27" pinfunction="PA1" pintype="bidirectional"/>
|
||||
</net>
|
||||
<net code="20" name="/M3_PWM1">
|
||||
<net code="19" name="/M3_PWM1">
|
||||
<node ref="J1" pin="5" pinfunction="5" pintype="passive"/>
|
||||
<node ref="U1" pin="31" pinfunction="PA5" pintype="bidirectional"/>
|
||||
<node ref="U1" pin="34" pinfunction="PB0" pintype="bidirectional"/>
|
||||
</net>
|
||||
<net code="21" name="/M3_PWM2">
|
||||
<net code="20" name="/M3_PWM2">
|
||||
<node ref="J1" pin="3" pinfunction="3" pintype="passive"/>
|
||||
<node ref="U1" pin="32" pinfunction="PA6" pintype="bidirectional"/>
|
||||
</net>
|
||||
<net code="22" name="/M3_PWM3">
|
||||
<node ref="J1" pin="1" pinfunction="1" pintype="passive"/>
|
||||
<node ref="U1" pin="33" pinfunction="PA7" pintype="bidirectional"/>
|
||||
</net>
|
||||
<net code="23" name="/SCL">
|
||||
<net code="21" name="/M3_PWM3">
|
||||
<node ref="J1" pin="1" pinfunction="1" pintype="passive"/>
|
||||
<node ref="U1" pin="32" pinfunction="PA6" pintype="bidirectional"/>
|
||||
</net>
|
||||
<net code="22" name="/SCL">
|
||||
<node ref="P1" pin="5" pinfunction="SCL" pintype="bidirectional"/>
|
||||
<node ref="U1" pin="14" pinfunction="PB6" pintype="bidirectional"/>
|
||||
</net>
|
||||
<net code="24" name="/SDA">
|
||||
<net code="23" name="/SDA">
|
||||
<node ref="P1" pin="4" pinfunction="SDA" pintype="output"/>
|
||||
<node ref="U1" pin="15" pinfunction="PB7" pintype="bidirectional"/>
|
||||
<node ref="U1" pin="13" pinfunction="PB5" pintype="bidirectional"/>
|
||||
</net>
|
||||
<net code="25" name="/ow">
|
||||
<net code="24" name="/ow">
|
||||
<node ref="IC1" pin="1" pinfunction="IO" pintype="bidirectional"/>
|
||||
<node ref="P2" pin="8" pinfunction="OW" pintype="bidirectional"/>
|
||||
</net>
|
||||
<net code="26" name="GND">
|
||||
<net code="25" name="GND">
|
||||
<node ref="C1" pin="2" pintype="passive"/>
|
||||
<node ref="C10" pin="2" pintype="passive"/>
|
||||
<node ref="C2" pin="2" pintype="passive"/>
|
||||
<node ref="C3" pin="2" pintype="passive"/>
|
||||
<node ref="C4" pin="2" pintype="passive"/>
|
||||
<node ref="C5" pin="2" pintype="passive"/>
|
||||
<node ref="C6" pin="2" pintype="passive"/>
|
||||
<node ref="C7" pin="2" pintype="passive"/>
|
||||
<node ref="C8" pin="2" pintype="passive"/>
|
||||
<node ref="C9" pin="2" pintype="passive"/>
|
||||
<node ref="IC1" pin="3" pinfunction="GND" pintype="input"/>
|
||||
<node ref="IC2" pin="11" pinfunction="NC_1" pintype="passive"/>
|
||||
<node ref="IC2" pin="12" pinfunction="NC_2" pintype="passive"/>
|
||||
<node ref="IC2" pin="20" pinfunction="AGND" pintype="passive"/>
|
||||
<node ref="IC2" pin="21" pinfunction="EP_(PGND)" pintype="passive"/>
|
||||
<node ref="J1" pin="23" pinfunction="23" pintype="passive"/>
|
||||
<node ref="J1" pin="24" pinfunction="24" pintype="passive"/>
|
||||
<node ref="J1" pin="26" pinfunction="26" pintype="passive"/>
|
||||
@@ -759,129 +924,160 @@
|
||||
<node ref="J1" pin="MP4" pinfunction="MP4" pintype="passive"/>
|
||||
<node ref="J2" pin="2" pinfunction="Pin_2" pintype="passive"/>
|
||||
<node ref="P1" pin="10" pinfunction="GND" pintype="power_out"/>
|
||||
<node ref="R3" pin="2" pintype="passive"/>
|
||||
<node ref="R2" pin="2" pintype="passive"/>
|
||||
<node ref="R5" pin="2" pintype="passive"/>
|
||||
<node ref="U1" pin="19" pinfunction="GND" pintype="power_in"/>
|
||||
<node ref="U1" pin="39" pinfunction="GND" pintype="power_in"/>
|
||||
<node ref="U2" pin="10" pinfunction="PGND" pintype="input"/>
|
||||
<node ref="U2" pin="12" pinfunction="PGND" pintype="input"/>
|
||||
<node ref="U2" pin="16" pinfunction="nONB" pintype="input"/>
|
||||
<node ref="U2" pin="4" pinfunction="GND" pintype="input"/>
|
||||
<node ref="U2" pin="9" pinfunction="CLK/SEL" pintype="input"/>
|
||||
</net>
|
||||
<net code="27" name="Net-(C1-Pad1)">
|
||||
<node ref="C1" pin="1" pintype="passive"/>
|
||||
<node ref="U2" pin="2" pinfunction="ISET" pintype="input"/>
|
||||
<node ref="U2" pin="3" pinfunction="REF" pintype="input"/>
|
||||
<net code="26" name="Net-(C4-Pad1)">
|
||||
<node ref="C4" pin="1" pintype="passive"/>
|
||||
<node ref="IC2" pin="1" pinfunction="VCC" pintype="passive"/>
|
||||
<node ref="IC2" pin="2" pinfunction="EN" pintype="passive"/>
|
||||
</net>
|
||||
<net code="28" name="Net-(C2-Pad1)">
|
||||
<node ref="C2" pin="1" pintype="passive"/>
|
||||
<node ref="R1" pin="2" pintype="passive"/>
|
||||
<node ref="U2" pin="6" pinfunction="OUT" pintype="input"/>
|
||||
<node ref="U2" pin="7" pinfunction="AIN" pintype="input"/>
|
||||
<net code="27" name="Net-(C5-Pad1)">
|
||||
<node ref="C5" pin="1" pintype="passive"/>
|
||||
<node ref="IC2" pin="8" pinfunction="BOOT" pintype="passive"/>
|
||||
</net>
|
||||
<net code="29" name="Net-(D1-Pad2)">
|
||||
<node ref="D1" pin="2" pinfunction="A" pintype="passive"/>
|
||||
<net code="28" name="Net-(C5-Pad2)">
|
||||
<node ref="C5" pin="2" pintype="passive"/>
|
||||
<node ref="IC2" pin="4" pinfunction="SW_1" pintype="passive"/>
|
||||
<node ref="IC2" pin="5" pinfunction="SW_2" pintype="passive"/>
|
||||
<node ref="IC2" pin="6" pinfunction="SW_3" pintype="passive"/>
|
||||
<node ref="IC2" pin="7" pinfunction="SW_4" pintype="passive"/>
|
||||
<node ref="L1" pin="2" pinfunction="2" pintype="passive"/>
|
||||
<node ref="U2" pin="11" pinfunction="LX" pintype="input"/>
|
||||
<node ref="U2" pin="14" pinfunction="LX" pintype="input"/>
|
||||
<node ref="R1" pin="2" pintype="passive"/>
|
||||
</net>
|
||||
<net code="30" name="Net-(R2-Pad2)">
|
||||
<node ref="R2" pin="2" pintype="passive"/>
|
||||
<net code="29" name="Net-(C6-Pad1)">
|
||||
<node ref="C6" pin="1" pintype="passive"/>
|
||||
<node ref="IC2" pin="10" pinfunction="SS" pintype="passive"/>
|
||||
</net>
|
||||
<net code="30" name="Net-(C7-Pad1)">
|
||||
<node ref="C7" pin="1" pintype="passive"/>
|
||||
<node ref="IC2" pin="18" pinfunction="COMP" pintype="passive"/>
|
||||
<node ref="R3" pin="1" pintype="passive"/>
|
||||
<node ref="U2" pin="5" pinfunction="FB" pintype="input"/>
|
||||
</net>
|
||||
<net code="31" name="unconnected-(IC1-Pad2)">
|
||||
<net code="31" name="Net-(C8-Pad1)">
|
||||
<node ref="C8" pin="1" pintype="passive"/>
|
||||
<node ref="R3" pin="2" pintype="passive"/>
|
||||
</net>
|
||||
<net code="32" name="Net-(IC2-Pad3)">
|
||||
<node ref="IC2" pin="3" pinfunction="FSW" pintype="passive"/>
|
||||
<node ref="R1" pin="1" pintype="passive"/>
|
||||
</net>
|
||||
<net code="33" name="Net-(IC2-Pad17)">
|
||||
<node ref="IC2" pin="17" pinfunction="FB" pintype="passive"/>
|
||||
<node ref="R4" pin="2" pintype="passive"/>
|
||||
<node ref="R5" pin="1" pintype="passive"/>
|
||||
</net>
|
||||
<net code="34" name="Net-(IC2-Pad19)">
|
||||
<node ref="IC2" pin="19" pinfunction="ILIM" pintype="passive"/>
|
||||
<node ref="R2" pin="1" pintype="passive"/>
|
||||
</net>
|
||||
<net code="35" name="Vdrive">
|
||||
<node ref="C10" pin="1" pintype="passive"/>
|
||||
<node ref="C9" pin="1" pintype="passive"/>
|
||||
<node ref="IC2" pin="14" pinfunction="VOUT_1" pintype="passive"/>
|
||||
<node ref="IC2" pin="15" pinfunction="VOUT_2" pintype="passive"/>
|
||||
<node ref="IC2" pin="16" pinfunction="VOUT_3" pintype="passive"/>
|
||||
<node ref="J1" pin="25" pinfunction="25" pintype="passive"/>
|
||||
<node ref="J1" pin="27" pinfunction="27" pintype="passive"/>
|
||||
<node ref="J1" pin="29" pinfunction="29" pintype="passive"/>
|
||||
<node ref="J1" pin="31" pinfunction="31" pintype="passive"/>
|
||||
<node ref="J1" pin="33" pinfunction="33" pintype="passive"/>
|
||||
<node ref="R4" pin="1" pintype="passive"/>
|
||||
</net>
|
||||
<net code="36" name="unconnected-(IC1-Pad2)">
|
||||
<node ref="IC1" pin="2" pinfunction="N.C" pintype="no_connect"/>
|
||||
</net>
|
||||
<net code="32" name="unconnected-(P1-Pad2)">
|
||||
<net code="37" name="unconnected-(IC2-Pad13)">
|
||||
<node ref="IC2" pin="13" pinfunction="MODE" pintype="passive+no_connect"/>
|
||||
</net>
|
||||
<net code="38" name="unconnected-(P1-Pad2)">
|
||||
<node ref="P1" pin="2" pinfunction="RX1" pintype="bidirectional+no_connect"/>
|
||||
</net>
|
||||
<net code="33" name="unconnected-(P1-Pad3)">
|
||||
<net code="39" name="unconnected-(P1-Pad3)">
|
||||
<node ref="P1" pin="3" pinfunction="TX1" pintype="bidirectional+no_connect"/>
|
||||
</net>
|
||||
<net code="34" name="unconnected-(P1-Pad6)">
|
||||
<net code="40" name="unconnected-(P1-Pad6)">
|
||||
<node ref="P1" pin="6" pinfunction="IO_1" pintype="bidirectional+no_connect"/>
|
||||
</net>
|
||||
<net code="35" name="unconnected-(P1-Pad7)">
|
||||
<net code="41" name="unconnected-(P1-Pad7)">
|
||||
<node ref="P1" pin="7" pinfunction="IO_2" pintype="bidirectional+no_connect"/>
|
||||
</net>
|
||||
<net code="36" name="unconnected-(P1-Pad8)">
|
||||
<net code="42" name="unconnected-(P1-Pad8)">
|
||||
<node ref="P1" pin="8" pinfunction="IO_3" pintype="bidirectional+no_connect"/>
|
||||
</net>
|
||||
<net code="37" name="unconnected-(P1-Pad9)">
|
||||
<net code="43" name="unconnected-(P1-Pad9)">
|
||||
<node ref="P1" pin="9" pinfunction="IO_4" pintype="bidirectional+no_connect"/>
|
||||
</net>
|
||||
<net code="38" name="unconnected-(P2-Pad1)">
|
||||
<net code="44" name="unconnected-(P2-Pad1)">
|
||||
<node ref="P2" pin="1" pinfunction="TX2" pintype="bidirectional+no_connect"/>
|
||||
</net>
|
||||
<net code="39" name="unconnected-(P2-Pad2)">
|
||||
<net code="45" name="unconnected-(P2-Pad2)">
|
||||
<node ref="P2" pin="2" pinfunction="RX2" pintype="bidirectional+no_connect"/>
|
||||
</net>
|
||||
<net code="40" name="unconnected-(P2-Pad3)">
|
||||
<net code="46" name="unconnected-(P2-Pad3)">
|
||||
<node ref="P2" pin="3" pinfunction="SCK" pintype="output+no_connect"/>
|
||||
</net>
|
||||
<net code="41" name="unconnected-(P2-Pad4)">
|
||||
<net code="47" name="unconnected-(P2-Pad4)">
|
||||
<node ref="P2" pin="4" pinfunction="MISO" pintype="bidirectional+no_connect"/>
|
||||
</net>
|
||||
<net code="42" name="unconnected-(P2-Pad5)">
|
||||
<net code="48" name="unconnected-(P2-Pad5)">
|
||||
<node ref="P2" pin="5" pinfunction="MOSI" pintype="bidirectional+no_connect"/>
|
||||
</net>
|
||||
<net code="43" name="unconnected-(P2-Pad6)">
|
||||
<net code="49" name="unconnected-(P2-Pad6)">
|
||||
<node ref="P2" pin="6" pinfunction="N_IO_1" pintype="bidirectional+no_connect"/>
|
||||
</net>
|
||||
<net code="44" name="unconnected-(P2-Pad7)">
|
||||
<net code="50" name="unconnected-(P2-Pad7)">
|
||||
<node ref="P2" pin="7" pinfunction="WKUP" pintype="bidirectional+no_connect"/>
|
||||
</net>
|
||||
<net code="45" name="unconnected-(P2-Pad10)">
|
||||
<net code="51" name="unconnected-(P2-Pad10)">
|
||||
<node ref="P2" pin="10" pinfunction="VUSB" pintype="power_out+no_connect"/>
|
||||
</net>
|
||||
<net code="46" name="unconnected-(U1-Pad5)">
|
||||
<node ref="U1" pin="5" pinfunction="PA8" pintype="bidirectional+no_connect"/>
|
||||
<net code="52" name="unconnected-(U1-Pad2)">
|
||||
<node ref="U1" pin="2" pinfunction="PB13" pintype="bidirectional+no_connect"/>
|
||||
</net>
|
||||
<net code="47" name="unconnected-(U1-Pad6)">
|
||||
<node ref="U1" pin="6" pinfunction="PA9" pintype="bidirectional+no_connect"/>
|
||||
<net code="53" name="unconnected-(U1-Pad3)">
|
||||
<node ref="U1" pin="3" pinfunction="PB14" pintype="bidirectional+no_connect"/>
|
||||
</net>
|
||||
<net code="48" name="unconnected-(U1-Pad7)">
|
||||
<node ref="U1" pin="7" pinfunction="PA10" pintype="bidirectional+no_connect"/>
|
||||
<net code="54" name="unconnected-(U1-Pad4)">
|
||||
<node ref="U1" pin="4" pinfunction="PB15" pintype="bidirectional+no_connect"/>
|
||||
</net>
|
||||
<net code="49" name="unconnected-(U1-Pad8)">
|
||||
<net code="55" name="unconnected-(U1-Pad8)">
|
||||
<node ref="U1" pin="8" pinfunction="PA11" pintype="bidirectional+no_connect"/>
|
||||
</net>
|
||||
<net code="50" name="unconnected-(U1-Pad9)">
|
||||
<net code="56" name="unconnected-(U1-Pad9)">
|
||||
<node ref="U1" pin="9" pinfunction="PA12" pintype="bidirectional+no_connect"/>
|
||||
</net>
|
||||
<net code="51" name="unconnected-(U1-Pad10)">
|
||||
<net code="57" name="unconnected-(U1-Pad10)">
|
||||
<node ref="U1" pin="10" pinfunction="PA15" pintype="bidirectional+no_connect"/>
|
||||
</net>
|
||||
<net code="52" name="unconnected-(U1-Pad11)">
|
||||
<net code="58" name="unconnected-(U1-Pad11)">
|
||||
<node ref="U1" pin="11" pinfunction="PB3" pintype="bidirectional+no_connect"/>
|
||||
</net>
|
||||
<net code="53" name="unconnected-(U1-Pad12)">
|
||||
<net code="59" name="unconnected-(U1-Pad12)">
|
||||
<node ref="U1" pin="12" pinfunction="PB4" pintype="bidirectional+no_connect"/>
|
||||
</net>
|
||||
<net code="54" name="unconnected-(U1-Pad21)">
|
||||
<net code="60" name="unconnected-(U1-Pad21)">
|
||||
<node ref="U1" pin="21" pinfunction="VBat" pintype="power_in+no_connect"/>
|
||||
</net>
|
||||
<net code="55" name="unconnected-(U1-Pad22)">
|
||||
<net code="61" name="unconnected-(U1-Pad22)">
|
||||
<node ref="U1" pin="22" pinfunction="PC13" pintype="bidirectional+no_connect"/>
|
||||
</net>
|
||||
<net code="56" name="unconnected-(U1-Pad23)">
|
||||
<net code="62" name="unconnected-(U1-Pad23)">
|
||||
<node ref="U1" pin="23" pinfunction="PC14" pintype="bidirectional+no_connect"/>
|
||||
</net>
|
||||
<net code="57" name="unconnected-(U1-Pad24)">
|
||||
<net code="63" name="unconnected-(U1-Pad24)">
|
||||
<node ref="U1" pin="24" pinfunction="PC15" pintype="bidirectional+no_connect"/>
|
||||
</net>
|
||||
<net code="58" name="unconnected-(U1-Pad25)">
|
||||
<net code="64" name="unconnected-(U1-Pad25)">
|
||||
<node ref="U1" pin="25" pinfunction="RES" pintype="input+no_connect"/>
|
||||
</net>
|
||||
<net code="59" name="unconnected-(U1-Pad36)">
|
||||
<net code="65" name="unconnected-(U1-Pad36)">
|
||||
<node ref="U1" pin="36" pinfunction="PB2" pintype="bidirectional+no_connect"/>
|
||||
</net>
|
||||
<net code="60" name="unconnected-(U1-Pad38)">
|
||||
<net code="66" name="unconnected-(U1-Pad38)">
|
||||
<node ref="U1" pin="38" pinfunction="3V3" pintype="power_in+no_connect"/>
|
||||
</net>
|
||||
<net code="61" name="unconnected-(U2-Pad8)">
|
||||
<node ref="U2" pin="8" pinfunction="A0" pintype="input+no_connect"/>
|
||||
</net>
|
||||
</nets>
|
||||
</export>
|
||||
@@ -801,6 +801,17 @@ a {
|
||||
background-color: #4f99bd;
|
||||
}
|
||||
|
||||
.help-link {
|
||||
border: 1px solid #0278a4;
|
||||
padding-inline: 0.3rem;
|
||||
border-radius: 3px;
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
.dark .help-link {
|
||||
border: 1px solid #00b9fd;
|
||||
}
|
||||
|
||||
|
||||
</style>
|
||||
<script type="text/javascript" >
|
||||
@@ -875,11 +886,11 @@ var d={x:c.clientX,y:c.clientY};b.push(d);var e=function(a,b){var c=a.indexOf(b)
|
||||
///////////////////////////////////////////////
|
||||
|
||||
///////////////////////////////////////////////
|
||||
var config = {"dark_mode": false, "show_pads": true, "show_fabrication": false, "show_silkscreen": true, "highlight_pin1": false, "redraw_on_drag": true, "board_rotation": 0, "checkboxes": "Sourced,Placed", "bom_view": "left-right", "layer_view": "FB", "fields": ["Value", "MPN", "Description"]}
|
||||
var config = {"dark_mode": false, "show_pads": true, "show_fabrication": false, "show_silkscreen": true, "highlight_pin1": false, "redraw_on_drag": true, "board_rotation": 0, "checkboxes": "Sourced,Placed", "bom_view": "left-right", "layer_view": "FB", "fields": ["Value", "Footprint", "MPN"]}
|
||||
///////////////////////////////////////////////
|
||||
|
||||
///////////////////////////////////////////////
|
||||
var pcbdata = JSON.parse(LZString.decompressFromBase64("N4IgpgJg5mDOD6AjRB7AHiAXAAlAWwEsA7DHARgGYyA6MgJgFYAabEQogTy2wHYLqKPZqzwBDNKWxkeANlqMWbcV3IAWAJzUZjAL6LIMWNwDaoAC4cADmG4hYYKHjBEzIRbDOiATq5zHpqtQADCyUcgwAuvpEECbSdME80uo8oRThUawA7gQQZgAW3EHUuizmVjY4dg5OLm6sHt6+2P6q/DI86hp0oRrUkdGxfgHBvZoD2bkFRSUMerggFta23gDG9XaePnFUo7yaqqpBAByZIF6iEAQArkY4/CENW55EUAA2ldjFj+Axoq8fbgMQI8VKTPKFHDFUoLJafEBrDaNbbDQR7WT9M4XK63bgPdzPf7vT5kY7fQZEwE4Og8cng6ZQ2bzcrLKqIglNOIyY79XrfLGXG53KR7TZNSmfAC0pLpvwgEpmPxyEJmMJZ8PZT05wxkmkenWohxOApxwoeQQtJw5PgV5EYJQoFIBJLJouVDK+TLKiwqKy862tzX8u0eZCCmi6xsU2KFeNFyJexMVTqTOGB1FBindkM9ap9rNYmrFKJaZBkDFmLGOIIm50FuPuvK1Nud3El6czrGc8tbaZBYJA2dVc29cNs9kczlcga5416ciCZ27s6bZCOwTOQ8ZebHVQntWnzaD0m+SU6YMoFfUMlUYboS5iXJ5oYoII6XXUm6mOehI9hvr3GopyRZ44gxUNVB4TFBjAhc0h5Wst1zP91XHIC6hnHU4KkXYKCCChq1OGCsL2ehigYBh1DIT8s2/YdmXzDV/RA7VSxkfFeAyaN6zNeNCV7bBJXUWVu1tT0lTo7cUMYv0AyPHYaFDOhyMo+9uNNONLQtY5AzE9t+xTKlBNlJDfwY3dC2YzC2L1FhhOCVSTVjRsfgTPSZVFUSBOle06Edekfy9f8CwRKz5J1CN1CitIaDwigaNYGMG2wfgoqioJVF0gSyM8v5stdCSVSk8yAMsuTi2PV8M2EMgyArRgnOS/hhAqsT6Hq/y5TEvyDIC+jR1K6pJww8K2OwsMIyOY4yAfIYxr2eygko6ivyK5CSpCosEx2GsqxrRreJatzst8zqvNTbAeozAdTKC1DAOGw8Kp29EuK7R9UUCfUDimmbaLWsyBs2sLnoi0jw2oSMiMSnjNK0nSjza07DJdEzJPWoGmPK7awaUlT1DUmGNJcrKLulAqUbbdqHX+j1AeCrGWJLfxuVXVQFwO7hFNJoyRLyi6PMKum7pktkQZx0sQzs75HPU5yUuCeGealDsB3OozJTRgGRYs0LsdA4YeC+3ooNrJLhQSVz+IuvmewuxbacCndBq2g3SyN0iCOgon5ct5W2wd967d5t10fp+6GnQp6JZZ02+Q3Yi2LjqR2YTvrisxtDHqZyrjakZT+mWhK5Rel9NG5BgMsQsOdcG/dgOs4M88WovZtL0IIahv704xhnZJzsDLaSBHKASM3YZwPPWoEwOupOrXhedkL65G0H5u+w1frbkj9Tewca6X+EV+jt2WY4vhvZL1EoP1ZrVsX6Tddd1jWjzyhy+Ocfiakb5LXi/27SKRkJTcgFMe7h1FmVAeOp6o1TqrMTmjYjrWw1qrEB2A0HgNrsDfWL81ztE6DVeKho0qIJ/orIIZAAHYFnurEkpJIaZSwboM4EALg5FeMKUAsACBvAANawFWF4MAzhuCgAAGImAjkNA80DJZyARkISG29JbJyUd3fe2s6obSPlHORwYFEsCUcXZc18tBGLkDIe+gVtGZwerIxuYRqCKKvCogxtALEZmsTMWxfd7EN1Gu4lxyjE7uP1PVbxjJfHSOPvopxiieQmI+vIgQRieSqEiZ6aJkCZEBLXkEoxN8ZQUAoG4+JaSQlYOybrVYBB/SAkcekZxRjXFy2SjQWqZJXyOx8Y/OuejGmGN4IkspaJ/I8HSZk4o1T8gEFWHwogcBhTTKOgANygJYUQHoQAAFk6rtAYH5HSVEtDUQyjwAAMnVQI6QZB3OAScmQZzIJXPTJXdQhzHSPPuXc15gQZDnKeUwE5shnl/K0J845NBhKQSeeC8sRzgV0D2emBFBFgXFB+b865ELEUnLXHQT+lz9m4vRfi1QhKGA8BRYECiSQKVMGOJoUFML4WAqoUy5x4ZPnwshYyiMkLeV4u+LC6ibLRUYtoDC2Q4L3mfMlZS+l4LbwUs/pKkpGqKDgroEc8M6qyQfLoOCk43Kej2QIqa15/AmWAvVZqrVJLCHCpKEStcVqMySueTKklaLjkipZe631/LIaCsdcGg1PLHWivUMGllGUUUHMRZy9l6hwW3PucGlNsrTWOmTYagi4rQXBq9TIIV6LOX2odaivlnLVVUrIDS0lOljjPnzccMtzaEL0sJYGmtXaCXHEbXSgljKoIlsLUC44UFdUfI7aOgQEajU4qDVOw0Abl3svnU86V2b83zu7Z/ZVA7mCrrjaobVM752LqrV9RdV6c3uptbC/d26MruqdeWqCB6GDvq3V63tSaoLRoA5+hdlqw2rpnT+qNLL50loTU2xlchgM4vTXcpDa7t27vlcccIM6J0cssf+5dNa5Bnrnbh5x9aKWNpXRWSF4YKOlp9aRod1GejVlOTujdErONYuY9WpNgRr0UcCNKuFPGi2f2CCht5ObGUVmPcS9MKrKUKalYCi9FqY3Sag8au9untPQYYNa8T6nx2OrbeZutyn+CpGk1mljQnIbspA824TD6IP/Kxe+6NjL/leoQyu1KrnUNYsZSF0V2G/IRZDUcgj/mZPrsE+WwIFmUvuZddR2jNaEhtoo/wGzZA3OxaK2x7tjLLayf+Zu44lt8skaTQkPTjXy0JErQlurmGxU4rlTFrr7H204tU2qrrr6Xk4p1dpyrWgfM4pNYamb/HH1mbG8RkzGYrMDYPb+rrsnE1tYEPakrXWWsbfs/V0N52/NdZTSAcysz5mLNgMsko7h1mbO2XsqquojiQUZYk68qqrk/dfDhzQ0hoOg9UODtddAsOUH+ZGf7nLlr3JBzWCg9bg3llqqmxHzieDw+orGsMSqCdRTLOhzlSQgjk6x7QMna4ccMDxyDxTtIk3jCoujy8JQ6ApEnQcInCOGeEoJqNzQPVI0M9fC2vVnLarAm9QzqaGrM0UUNez/oNJy2A5vD2vnN4DedshkDw3DPZDK+AcmzXhztd1ZPRD65KuKwtph/1qXYO/IO+rLDkzdACUO4UDTpnqhvtu79zFxaHQiW+49184oEzA80YJ+xBPkqKVQ8jxn+yWfvv/O918jp6h5f44Z+7+V+LS8Gox2bqnDyaBPOt/HqvlsKAp6XdDtvwQO8Eoj84qPXyx4nA1a36P/BCWd+12rkpSLnHllhTP0fc/1APCNBN2Xqgy/Av4GWPCs6+fi7U2v/nxPy8c6CHiyfdWg8E6nef3fLrp8E6EFjpIT+dXn7r7985T/9/co/5F5P4ZR/bErd7R4JDci6hvpp7I6pAEz9Cx5Up15v7Y6IGVzHAaoD5W7Pqn5CBYElLB7MCn7TQTIoF86V4T6QzpCsqUFD7AqBDS4+6UEKBdACAmb1ra64GyCMGGiUCAFG7syqp8GQTf586HJ8DHKBBiGi4Vhy4GqiECGH4QFfLtA16MZp7AHsGyHUQF5aDaFXgAr0455V5GF05ur0G55yCMCEEOoV5sHIa0GwGW5LSLbXiFyUT24SG4YwrApEYt584KF6oeEdDZ60Cc5kqWJCB15r6d7+GnKBFVTTQH4kHhB25d5I5gEJFtAwHnpaHWGzB2FAG57mH0oD5UFfKmzIHgFiY87oYpBIHkG1HOLKEkGmwr72FZF/6NEEQS5Q6F657Tph4lFV43z1EyD6Hp5V48gAEqGmHR6zHsTcoVEKBhjFDpBJELGOjrElDCEW7bFMC7FBA1HEHAqaAtr9HcFuGHLnHXRX4Fo+F5F3G04mECDb6KFRQQps584nh4rlys49ZVRxEjpfGvGWHJFtEvGRFDY/bwF3GXGUqjExbHGnEFHyq7Gkh5E/7wm7GbFL6v6cEf67FZ7a5/HookmMBkkwlHEWi0C+Hxrokol0nXgWH5Gq41G0nFCsnlFWEYksnGEQlu5rEsmUJAkVg8HAK7E8lCnOIimKTKTxZ8nMncmCnskSmL68HSlqlTHAFhg0AUReFd4VjszNG0kGkZED7BExr6meFa586z47GUKJEEkclmm2l8AJ4z6cm2lUSpHL52G0nt4v5i5MpqZ3jBATHIlOn1YN4D7H5qoRnhgN4Bnq4Rl1Q/FulEpBklAwnenulX6bxl6plz4RkMBomhn9E5naBSHRnVm66DpMlOmT46pyGD4Z5hgtnn4D6Om0ldltmmnZmdnvEpkOk+n4T9DngSaq6dF9laAaEX7vE77DkEFj5H4C5FrDlkFx734i4k5bnSA7lVRoHEkTmrlEFwHZHDm6jFlNlzlUqC7FZ3nDmvijlwlXkTlf7bq6kdkZSD5XFH5hmJl/mImHoOmzlhjCYbnTkmnjkggjFjkFkyF7mLm9mQUcHv4NqXl/7oWgUDEGG/n9gPGwmDH8nIXiHvk4V/lY6YV14pHcq0lMHwGxF94MroUC5gHa5LR46MUYVcG/Fh68W6GLm1Rsm8WgjEXUnEW8V4U/n8kVh3L+nYX/Zhj0Yb4tH0UfK0kmlD7j5Ok6UJ4VEMFhhyB+mCGqG0lQQd6Pl6WWUZj7GNkWVhg8jbkUFOUnC0D4T1pyXMnpJqm2XOWGj+V860hGm0k8ivm84M4MAMmZSBVfnik65SHhWeWYX6EnlUITR8VJA4kfkHBtF1lZU0X8WUUqUQwcXnKoFEmZUQzFU5XPm1XVVGUdlhj0nYnKk7GtV4RGlnGiWGhUkhWalSmtXb5elCEm5HGtXAicXgWBl9UAq0UCViXzVeX1XJEoWTXkTqVVWYWbWGi6XKWpB9WknPldU3GZEEUYmtVYl0GlVHWtUnHNE7XY59XaRrnrLine truncated
|
||||
var pcbdata = JSON.parse(LZString.decompressFromBase64("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 truncated
|
||||
///////////////////////////////////////////////
|
||||
|
||||
///////////////////////////////////////////////
|
||||
@@ -951,36 +962,55 @@ function focusInputField(input) {
|
||||
input.select();
|
||||
}
|
||||
|
||||
function copyToClipboard() {
|
||||
function saveBomTable(output) {
|
||||
var text = '';
|
||||
for (var node of bomhead.childNodes[0].childNodes) {
|
||||
if (node.firstChild) {
|
||||
text = text + node.firstChild.nodeValue;
|
||||
text += (output == 'csv' ? `"${node.firstChild.nodeValue}"` : node.firstChild.nodeValue);
|
||||
}
|
||||
if (node != bomhead.childNodes[0].lastChild) {
|
||||
text += '\t';
|
||||
text += (output == 'csv' ? ',' : '\t');
|
||||
}
|
||||
}
|
||||
text += '\n';
|
||||
for (var row of bombody.childNodes) {
|
||||
for (var cell of row.childNodes) {
|
||||
let val = '';
|
||||
for (var node of cell.childNodes) {
|
||||
if (node.nodeName == "INPUT") {
|
||||
if (node.checked) {
|
||||
text = text + '✓';
|
||||
val += '✓';
|
||||
}
|
||||
} else if (node.nodeName == "MARK") {
|
||||
text = text + node.firstChild.nodeValue;
|
||||
val += node.firstChild.nodeValue;
|
||||
} else {
|
||||
text = text + node.nodeValue;
|
||||
val += node.nodeValue;
|
||||
}
|
||||
}
|
||||
if (output == 'csv') {
|
||||
val = val.replace(/\"/g, '\"\"'); // pair of double-quote characters
|
||||
if (isNumeric(val)) {
|
||||
val = +val; // use number
|
||||
} else {
|
||||
val = `"${val}"`; // enclosed within double-quote
|
||||
}
|
||||
}
|
||||
text += val;
|
||||
if (cell != row.lastChild) {
|
||||
text += '\t';
|
||||
text += (output == 'csv' ? ',' : '\t');
|
||||
}
|
||||
}
|
||||
text += '\n';
|
||||
}
|
||||
|
||||
if (output != 'clipboard') {
|
||||
// To file: csv or txt
|
||||
var blob = new Blob([text], {
|
||||
type: `text/${output}`
|
||||
});
|
||||
saveFile(`${pcbdata.metadata.title}.${output}`, blob);
|
||||
} else {
|
||||
// To clipboard
|
||||
var textArea = document.createElement("textarea");
|
||||
textArea.classList.add('clipboard-temp');
|
||||
textArea.value = text;
|
||||
@@ -999,6 +1029,12 @@ function copyToClipboard() {
|
||||
|
||||
document.body.removeChild(textArea);
|
||||
}
|
||||
}
|
||||
|
||||
function isNumeric(str) {
|
||||
/* https://stackoverflow.com/a/175787 */
|
||||
return (typeof str != "string" ? false : !isNaN(str) && !isNaN(parseFloat(str)));
|
||||
}
|
||||
|
||||
function removeGutterNode(node) {
|
||||
for (var i = 0; i < node.childNodes.length; i++) {
|
||||
@@ -1501,6 +1537,11 @@ function drawText(ctx, text, color) {
|
||||
ctx.restore();
|
||||
return;
|
||||
}
|
||||
if ("polygons" in text) {
|
||||
ctx.fill(getPolygonsPath(text));
|
||||
ctx.restore();
|
||||
return;
|
||||
}
|
||||
ctx.translate(...text.pos);
|
||||
ctx.translate(text.thickness * 0.5, 0);
|
||||
var angle = -text.angle;
|
||||
@@ -1751,7 +1792,7 @@ function getCachedPadPath(pad) {
|
||||
function drawPad(ctx, pad, color, outline) {
|
||||
ctx.save();
|
||||
ctx.translate(...pad.pos);
|
||||
ctx.rotate(deg2rad(pad.angle));
|
||||
ctx.rotate(-deg2rad(pad.angle));
|
||||
if (pad.offset) {
|
||||
ctx.translate(...pad.offset);
|
||||
}
|
||||
@@ -1770,7 +1811,7 @@ function drawPadHole(ctx, pad, padHoleColor) {
|
||||
if (pad.type != "th") return;
|
||||
ctx.save();
|
||||
ctx.translate(...pad.pos);
|
||||
ctx.rotate(deg2rad(pad.angle));
|
||||
ctx.rotate(-deg2rad(pad.angle));
|
||||
ctx.fillStyle = padHoleColor;
|
||||
if (pad.drillshape == "oblong") {
|
||||
ctx.fill(getOblongPath(pad.drillsize));
|
||||
@@ -2017,7 +2058,6 @@ function drawBackground(canvasdict, clear = true) {
|
||||
function prepareCanvas(canvas, flip, transform) {
|
||||
var ctx = canvas.getContext("2d");
|
||||
ctx.setTransform(1, 0, 0, 1, 0, 0);
|
||||
var fontsize = 1.55;
|
||||
ctx.scale(transform.zoom, transform.zoom);
|
||||
ctx.translate(transform.panx, transform.pany);
|
||||
if (flip) {
|
||||
@@ -2174,7 +2214,7 @@ function pointWithinDistanceToArc(x, y, xc, yc, radius, startangle, endangle, d)
|
||||
|
||||
function pointWithinPad(x, y, pad) {
|
||||
var v = [x - pad.pos[0], y - pad.pos[1]];
|
||||
v = rotateVector(v, -pad.angle);
|
||||
v = rotateVector(v, pad.angle);
|
||||
if (pad.offset) {
|
||||
v[0] -= pad.offset[0];
|
||||
v[1] -= pad.offset[1];
|
||||
@@ -3979,6 +4019,10 @@ function updateCheckboxStats(checkbox) {
|
||||
td.lastChild.innerHTML = checked + "/" + total + " (" + Math.round(percent) + "%)";
|
||||
}
|
||||
|
||||
function constrain(number, min, max){
|
||||
return Math.min(Math.max(parseInt(number), min), max);
|
||||
}
|
||||
|
||||
document.onkeydown = function (e) {
|
||||
switch (e.key) {
|
||||
case "n":
|
||||
@@ -3999,6 +4043,23 @@ document.onkeydown = function (e) {
|
||||
highlightNextRow();
|
||||
e.preventDefault();
|
||||
break;
|
||||
case "ArrowLeft":
|
||||
case "ArrowRight":
|
||||
if (document.activeElement.type != "text"){
|
||||
e.preventDefault();
|
||||
let boardRotationElement = document.getElementById("boardRotation")
|
||||
settings.boardRotation = parseInt(boardRotationElement.value); // degrees / 5
|
||||
if (e.key == "ArrowLeft"){
|
||||
settings.boardRotation += 3; // 15 degrees
|
||||
}
|
||||
else{
|
||||
settings.boardRotation -= 3;
|
||||
}
|
||||
settings.boardRotation = constrain(settings.boardRotation, boardRotationElement.min, boardRotationElement.max);
|
||||
boardRotationElement.value = settings.boardRotation
|
||||
setBoardRotation(settings.boardRotation);
|
||||
}
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
@@ -4166,6 +4227,7 @@ window.matchMedia("print").addListener(resizeAll);
|
||||
<span class="shameless-plug">
|
||||
<span>Created using</span>
|
||||
<a id="github-link" target="blank" href="https://github.com/openscopeproject/InteractiveHtmlBom">InteractiveHtmlBom</a>
|
||||
<a target="blank" title="Mouse and keyboard help" href="https://github.com/openscopeproject/InteractiveHtmlBom/wiki/Usage#bom-page-mouse-actions" style="text-decoration: none;"><label class="help-link">?</label></a>
|
||||
</span>
|
||||
</label>
|
||||
</div>
|
||||
@@ -4273,6 +4335,13 @@ window.matchMedia("print").addListener(resizeAll);
|
||||
<button class="savebtn" onclick="loadSettings()">Import</button>
|
||||
</div>
|
||||
</div>
|
||||
<div class="menu-label">
|
||||
<span style="margin-left: 5px;">Save bom table as</span>
|
||||
<div class="flexbox">
|
||||
<button class="savebtn" onclick="saveBomTable('csv')">csv</button>
|
||||
<button class="savebtn" onclick="saveBomTable('txt')">txt</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@@ -4308,7 +4377,7 @@ window.matchMedia("print").addListener(resizeAll);
|
||||
oninput="updateFilter(this.value)">
|
||||
<div class="button-container hideonprint" style="float: left; margin: 0;">
|
||||
<button id="copy" title="Copy bom table to clipboard"
|
||||
onclick="copyToClipboard()"></button>
|
||||
onclick="saveBomTable('clipboard')"></button>
|
||||
</div>
|
||||
</div>
|
||||
<div id="dbg"></div>
|
||||
|
||||
File diff suppressed because it is too large.
Load diff
@@ -1,4 +1,3 @@
|
||||
(fp_lib_table
|
||||
(lib (name "DGI_Gimbal")(type "KiCad")(uri "${KIPRJMOD}/DGI_Gimbal.pretty")(options "")(descr ""))
|
||||
(lib (name "SamacSys_Parts")(type "KiCad")(uri "D:/lulu/Documents/Kicad/SamacSys_Parts.pretty")(options "")(descr ""))
|
||||
)
|
||||
@@ -29,11 +29,11 @@ Connected directly to a MCU (here a STM32 Nucleo F401RE) and with the Simple FOC
|
||||
## Position estimation with the integrated linear hall sensors
|
||||
|
||||
### 1. Setup
|
||||
Each motor is composed of two ratiometric linear hall sensors. (Texas Instrument DRV5053 Analog-Bipolar Hall Effect Sensor) They are placed at around 120º from each other (eyes measured) and measure the magnetic field of the rotor.
|
||||
Each motor is composed of two linear hall sensors. (Texas Instrument DRV5053 Analog-Bipolar Hall Effect Sensor) They are placed at around 120º from each other (eyes measured) and measure the magnetic field of the rotor.
|
||||
|
||||
<img src="docs/Hallmotor.jpg" height=300>
|
||||
|
||||
Ratiometric means that the output signal is proportional to the voltage supply to the sensor. In this setup, with 5V supply, the output measured is between 520mV and 1.5V, so a 1V amplitude signal.
|
||||
They are linear sensor, the output voltage correspond to a magnetic fields, regardless of the voltage supplied. In our case the output signal is between 1V and 1.65V.
|
||||
|
||||
### 2. Measures
|
||||
|
||||
|
||||
@@ -1,98 +0,0 @@
|
||||
# DJI Gimbal Retro-Engineering
|
||||
|
||||
The aim of this project is to be able to use the 3-axis DJI gimbal with a custom open source controller. This high quality gimbal is very tiny and easy to find as replacement part which makes it very suitable for DIY projects.
|
||||
|
||||
## Description
|
||||
|
||||
todo
|
||||
|
||||
## Pinout identification
|
||||
The Gimbal is composed of a flex PCB with a main connector and 3 smaller for each motor. The main end connector is a 40-pin mezzanine board to board connectors. In order to work easily I have designed a breakout board which open to a 2.54" header.
|
||||
Here is the strategy I followed to find the pinout:
|
||||
1. Find all equipotential pins:
|
||||
With a multimeter set to continuity tests, and test all the combinations
|
||||
2. Group remaining pins by motor
|
||||
With the multimeter find all the pins connected to the motor connector. (Reapeat 3 times)
|
||||
3.
|
||||
|
||||
### Open-loop control
|
||||
|
||||
Each motor has its own drivers a MP6536. Which makes it easy as no additional hardware is necessary to drive the motors.
|
||||
There are 4 pins from the MP6536:
|
||||
1. PWM1
|
||||
2. PWM2
|
||||
3. PWM3
|
||||
4. Fault : Output. When low, indicates overtemperature, over-current, or under-voltage.
|
||||
|
||||
Connected directly to a MCU and with the Simple FOC Library, open-loop control works quite well. However due to open-loop control, it cannot know when a "step" is missed so misalignment can occur. Also, the motor tends to become quite hot due to the continuous current sent to the coils.
|
||||
|
||||
## Position estimation with the integrated linear hall sensors
|
||||
|
||||
### 1. Setup
|
||||
Each motor is composed of two ratiometric linear hall sensors. (Texas Instrument DRV5053 Analog-Bipolar Hall Effect Sensor) They are placed at around 120º from each other (eyes measured) and measure the magnetic field of the rotor.
|
||||
|
||||

|
||||
|
||||
Ratiometric means that the output signal is proportional to the voltage supply to the sensor. In this setup, with 5V supply, the output measured is between 520mV and 1.5V, so a 1V amplitude.
|
||||
|
||||
### 2. Measures
|
||||
|
||||
These oscilloscope traces are the sensor output when rotating the rotor forth and back. (a bit less than 180º on the 3rd motor)
|
||||
The channel 0 (Yellow) is the Hall 1 and the Channel 1 (Green) is the Hall 2
|
||||

|
||||
|
||||
We can see that in the first movement (positive rotation), the green is out of phase of π/2.`
|
||||
|
||||

|
||||
### 3. Encoding the position
|
||||
1. Get the absolute angle within a period
|
||||
|
||||
Since the 2 signals correspond to a cos and sin signals, it is possible to compute the angle inside the period using arctan2 function. However, we have more than one period, it is so necessary to increment a position.
|
||||
$$\theta= atan2(a,b)$$
|
||||
|
||||
2. Incremental position
|
||||
|
||||
To increment the position, it is necessary to start from 0 at a known postion. For that the motor is moved in open loop to one end and the position is set to 0.
|
||||
Then we need to sum all the delta of movement at each measure sample.
|
||||
$$\phi_t=\phi_{t-1} + (\theta_t - \theta_{t-1})mod(-\pi;\pi)$$
|
||||
|
||||
## Coding the solution
|
||||
1. Get the angle in the perdiod
|
||||
|
||||
In order to compute the angle from the cos and sin with atan, it is necessary to remap the values of the analog readings from -1 to 1.
|
||||
Beforehand, the maximum and minimum peak of the signals need to be found. It can be done by swiping the motor on startup in open-loop mode.
|
||||
Then the arctan function can be applied. It is preferable to use arctan2 as it will give an angle within the 4 quadrants (-π,π). Whereas arctan give an angle between (-π/2,π/2). [Wikipedia](https://en.wikipedia.org/wiki/Atan2)
|
||||
|
||||
```C++
|
||||
|
||||
float LinearHallSensor::Callback() // Return the estimated position of the sensor
|
||||
{
|
||||
A = norm(analogRead(CH1),minCh1, maxCh1); //read analog values and normalise between [-1;1]
|
||||
B = norm(analogRead(CH2),minCh2, maxCh2);
|
||||
|
||||
theta = atan2(A,B); // Compute the absolute angle in the period
|
||||
|
||||
phi = phi + dist_angle(theta, theta_prev); // increment the difference
|
||||
|
||||
theta_prev = theta; // save fot nex time
|
||||
|
||||
return phi;
|
||||
}
|
||||
|
||||
float norm(float x, float in_min, float in_max) //return the input value normalised between [-1;1]
|
||||
{
|
||||
return (float)(x + 1.0) * (2.0) / (float)(in_max - in_min) -1.0;
|
||||
}
|
||||
|
||||
float dist_angle(float newAngle, float prevAngle) // return the difference modulo [-pi;pi]
|
||||
{
|
||||
float diff = newAngle - prevAngle;
|
||||
while (diff < (-M_PI))
|
||||
diff += 2 * M_PI;
|
||||
while (diff > M_PI)
|
||||
diff -= 2 * M_PI;
|
||||
return diff;
|
||||
}
|
||||
|
||||
```
|
||||
|
||||
@@ -16,3 +16,21 @@ monitor_port = COM3
|
||||
monitor_speed = 115200
|
||||
lib_archive = no
|
||||
lib_deps = askuric/Simple FOC@^2.2.2
|
||||
|
||||
[env:Blackpill]
|
||||
platform = ststm32
|
||||
board = blackpill_f401cc
|
||||
upload_protocol = dfu
|
||||
framework = arduino
|
||||
lib_archive = no
|
||||
lib_deps =
|
||||
askuric/Simple FOC@^2.2.2
|
||||
Wire
|
||||
SPI
|
||||
monitor_port = COM5
|
||||
monitor_speed = 115200
|
||||
build_flags =
|
||||
-D PIO_FRAMEWORK_ARDUINO_ENABLE_CDC
|
||||
-D USBCON
|
||||
; -D SIMPLEFOC_STM32_DEBUG
|
||||
monitor_dtr = 1
|
||||
@@ -0,0 +1,43 @@
|
||||
import pygame
|
||||
import serial
|
||||
import time
|
||||
|
||||
ser = serial.Serial('COM5',115200, timeout=0.01)
|
||||
print(ser.name)
|
||||
|
||||
pygame.init()
|
||||
pygame.joystick.init()
|
||||
pad = pygame.joystick.Joystick(0)
|
||||
pad.init()
|
||||
print(pad.get_name())
|
||||
|
||||
def remap(x, in_min, in_max, out_min, out_max):
|
||||
return (x - in_min) * (out_max - out_min) / (in_max - in_min) + out_min
|
||||
|
||||
|
||||
while(True):
|
||||
pygame.event.pump()
|
||||
|
||||
X_axis = round(pad.get_axis(2),4)
|
||||
Y_axis = round(pad.get_axis(3),4)
|
||||
Z_axis = round(pad.get_axis(0),4)
|
||||
|
||||
# print(f'Axis 2: {X_axis}\tAxis 3: {Y_axis} \tAxis 0: {Z_axis}')
|
||||
|
||||
X_axis = round(remap(X_axis,-1,1,0,1000))
|
||||
Y_axis = round(remap(Y_axis,-1,1,0,1000))
|
||||
Z_axis = round(remap(Z_axis,-1,1,0,1000))
|
||||
|
||||
# print(f'Axis X: {X_axis}\tAxis Y: {Y_axis} \tAxis Z: {Z_axis}')
|
||||
|
||||
|
||||
|
||||
ser.write(('X'+str(X_axis)+'\n').encode())
|
||||
ser.write(('Y'+str(Y_axis)+'\n').encode())
|
||||
ser.write(('Z'+str(Z_axis)+'\n').encode())
|
||||
|
||||
income = ser.readline()
|
||||
if (len(income)>0):
|
||||
print(income)
|
||||
|
||||
# time.sleep(0.1)
|
||||
@@ -0,0 +1,149 @@
|
||||
import pygame
|
||||
|
||||
pygame.init()
|
||||
# This is a simple class that will help us print to the screen.
|
||||
# It has nothing to do with the joysticks, just outputting the
|
||||
# information.
|
||||
class TextPrint:
|
||||
def __init__(self):
|
||||
self.reset()
|
||||
self.font = pygame.font.Font(None, 25)
|
||||
|
||||
def tprint(self, screen, text):
|
||||
text_bitmap = self.font.render(text, True, (0, 0, 0))
|
||||
screen.blit(text_bitmap, (self.x, self.y))
|
||||
self.y += self.line_height
|
||||
|
||||
def reset(self):
|
||||
self.x = 10
|
||||
self.y = 10
|
||||
self.line_height = 15
|
||||
|
||||
def indent(self):
|
||||
self.x += 10
|
||||
|
||||
def unindent(self):
|
||||
self.x -= 10
|
||||
|
||||
|
||||
def main():
|
||||
# Set the width and height of the screen (width, height), and name the window.
|
||||
screen = pygame.display.set_mode((500, 700))
|
||||
pygame.display.set_caption("Joystick example")
|
||||
|
||||
# Used to manage how fast the screen updates.
|
||||
clock = pygame.time.Clock()
|
||||
|
||||
# Get ready to print.
|
||||
text_print = TextPrint()
|
||||
|
||||
# This dict can be left as-is, since pygame will generate a
|
||||
# pygame.JOYDEVICEADDED event for every joystick connected
|
||||
# at the start of the program.
|
||||
joysticks = {}
|
||||
|
||||
done = False
|
||||
while not done:
|
||||
# Event processing step.
|
||||
# Possible joystick events: JOYAXISMOTION, JOYBALLMOTION, JOYBUTTONDOWN,
|
||||
# JOYBUTTONUP, JOYHATMOTION, JOYDEVICEADDED, JOYDEVICEREMOVED
|
||||
for event in pygame.event.get():
|
||||
if event.type == pygame.QUIT:
|
||||
done = True # Flag that we are done so we exit this loop.
|
||||
|
||||
if event.type == pygame.JOYBUTTONDOWN:
|
||||
print("Joystick button pressed.")
|
||||
if event.button == 0:
|
||||
joystick = joysticks[event.instance_id]
|
||||
if joystick.rumble(0, 0.7, 500):
|
||||
print(f"Rumble effect played on joystick {event.instance_id}")
|
||||
|
||||
if event.type == pygame.JOYBUTTONUP:
|
||||
print("Joystick button released.")
|
||||
|
||||
# Handle hotplugging
|
||||
if event.type == pygame.JOYDEVICEADDED:
|
||||
# This event will be generated when the program starts for every
|
||||
# joystick, filling up the list without needing to create them manually.
|
||||
joy = pygame.joystick.Joystick(event.device_index)
|
||||
joysticks[joy.get_instance_id()] = joy
|
||||
print(f"Joystick {joy.get_instance_id()} connencted")
|
||||
|
||||
if event.type == pygame.JOYDEVICEREMOVED:
|
||||
del joysticks[event.instance_id]
|
||||
print(f"Joystick {event.instance_id} disconnected")
|
||||
|
||||
# Drawing step
|
||||
# First, clear the screen to white. Don't put other drawing commands
|
||||
# above this, or they will be erased with this command.
|
||||
screen.fill((255, 255, 255))
|
||||
text_print.reset()
|
||||
|
||||
# Get count of joysticks.
|
||||
joystick_count = pygame.joystick.get_count()
|
||||
|
||||
text_print.tprint(screen, f"Number of joysticks: {joystick_count}")
|
||||
text_print.indent()
|
||||
|
||||
# For each joystick:
|
||||
for joystick in joysticks.values():
|
||||
jid = joystick.get_instance_id()
|
||||
|
||||
text_print.tprint(screen, f"Joystick {jid}")
|
||||
text_print.indent()
|
||||
|
||||
# Get the name from the OS for the controller/joystick.
|
||||
name = joystick.get_name()
|
||||
text_print.tprint(screen, f"Joystick name: {name}")
|
||||
|
||||
guid = joystick.get_guid()
|
||||
text_print.tprint(screen, f"GUID: {guid}")
|
||||
|
||||
power_level = joystick.get_power_level()
|
||||
text_print.tprint(screen, f"Joystick's power level: {power_level}")
|
||||
|
||||
# Usually axis run in pairs, up/down for one, and left/right for
|
||||
# the other. Triggers count as axes.
|
||||
axes = joystick.get_numaxes()
|
||||
text_print.tprint(screen, f"Number of axes: {axes}")
|
||||
text_print.indent()
|
||||
|
||||
for i in range(axes):
|
||||
axis = joystick.get_axis(i)
|
||||
text_print.tprint(screen, f"Axis {i} value: {axis:>6.3f}")
|
||||
text_print.unindent()
|
||||
|
||||
buttons = joystick.get_numbuttons()
|
||||
text_print.tprint(screen, f"Number of buttons: {buttons}")
|
||||
text_print.indent()
|
||||
|
||||
for i in range(buttons):
|
||||
button = joystick.get_button(i)
|
||||
text_print.tprint(screen, f"Button {i:>2} value: {button}")
|
||||
text_print.unindent()
|
||||
|
||||
hats = joystick.get_numhats()
|
||||
text_print.tprint(screen, f"Number of hats: {hats}")
|
||||
text_print.indent()
|
||||
|
||||
# Hat position. All or nothing for direction, not a float like
|
||||
# get_axis(). Position is a tuple of int values (x, y).
|
||||
for i in range(hats):
|
||||
hat = joystick.get_hat(i)
|
||||
text_print.tprint(screen, f"Hat {i} value: {str(hat)}")
|
||||
text_print.unindent()
|
||||
|
||||
text_print.unindent()
|
||||
|
||||
# Go ahead and update the screen with what we've drawn.
|
||||
pygame.display.flip()
|
||||
|
||||
# Limit to 30 frames per second.
|
||||
clock.tick(30)
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
main()
|
||||
# If you forget this line, the program will 'hang'
|
||||
# on exit if running from IDLE.
|
||||
pygame.quit()
|
||||
Binary file not shown.
+158
-54
@@ -1,16 +1,65 @@
|
||||
#include "linearHallSensor.h"
|
||||
|
||||
#include <math.h>
|
||||
|
||||
float norm(float x, float in_min, float in_max, float out_min = -1.0, float out_max = 1.0)
|
||||
{
|
||||
return (float)(x - in_min) * (out_max - out_min) / (float)(in_max - in_min) + out_min;
|
||||
}
|
||||
|
||||
LinearHallSensor::LinearHallSensor(uint8_t ch1, uint8_t ch2, float minPos, float maxPos)
|
||||
LinearHallSensor::LinearHallSensor(uint8_t ch1, uint8_t ch2)
|
||||
{
|
||||
_analogPin1 = ch1;
|
||||
_analogPin2 = ch2;
|
||||
_minPositionEndValue = minPos;
|
||||
_maxPositionEndValue = maxPos;
|
||||
}
|
||||
|
||||
inline uint32_t min(uint32_t arr[], int n)
|
||||
{
|
||||
uint32_t m = 0;
|
||||
for (int i = 0; i < n; i++)
|
||||
m = arr[i] < m ? arr[i] : m;
|
||||
return m;
|
||||
}
|
||||
|
||||
inline uint32_t max(uint32_t *arr, int n)
|
||||
{
|
||||
uint32_t m = 0;
|
||||
for (int i = 0; i < n; i++)
|
||||
m = arr[i] > m ? arr[i] : m;
|
||||
return m;
|
||||
}
|
||||
|
||||
inline uint32_t mean(uint32_t *arr, int n)
|
||||
{
|
||||
uint32_t m = 0;
|
||||
for (int i = 0; i < n; i++)
|
||||
m += arr[i];
|
||||
return m / n;
|
||||
}
|
||||
|
||||
inline uint32_t std_var(uint32_t *arr, int n)
|
||||
{
|
||||
uint32_t s = 0;
|
||||
uint32_t m = mean(arr, n);
|
||||
for (int i = 0; i < n; i++)
|
||||
s += (arr[i] - m) * (arr[i] - m);
|
||||
s /= (uint32_t)n;
|
||||
s = sqrt(s);
|
||||
return s;
|
||||
}
|
||||
|
||||
void init_arr(uint32_t *arr, int n, uint32_t val)
|
||||
{
|
||||
for (int i = 0; i < n; i++)
|
||||
arr[i] = val;
|
||||
}
|
||||
|
||||
void print_arr(uint32_t *arr, int n)
|
||||
{
|
||||
Serial.printf("[");
|
||||
for (int i = 0; i < n; i++)
|
||||
Serial.printf("%lu,", arr[i]);
|
||||
Serial.printf("]");
|
||||
}
|
||||
|
||||
void LinearHallSensor::init(BLDCMotor motor)
|
||||
@@ -18,81 +67,131 @@ void LinearHallSensor::init(BLDCMotor motor)
|
||||
MotionControlType prevController = motor.controller;
|
||||
motor.controller = MotionControlType::angle_openloop;
|
||||
float prevVoltageLimit = motor.voltage_limit;
|
||||
motor.voltage_limit = 0.8;
|
||||
motor.voltage_limit = 2.0;
|
||||
|
||||
uint32_t senseA = analogRead(_analogPin1);
|
||||
uint32_t senseB = analogRead(_analogPin2);
|
||||
// Swipe motor to search hard end and find max analog values of sensors
|
||||
bool endFound = false;
|
||||
const float step = 0.005;
|
||||
const uint8_t epsilon = 3;
|
||||
float currentPosition = 0.0;
|
||||
|
||||
_minCh1 = senseA;
|
||||
_maxCh1 = senseA;
|
||||
_minCh2 = senseB;
|
||||
_maxCh2 = senseB;
|
||||
const uint8_t N = 20;
|
||||
uint32_t senseA[N];
|
||||
uint32_t senseB[N];
|
||||
|
||||
// Swipe motor
|
||||
for (float i = _minPositionEndValue; i <= _maxPositionEndValue; i = i + 0.005)
|
||||
int ptr = 0;
|
||||
|
||||
init_arr(senseA, N, 0);
|
||||
init_arr(senseB, N, 0);
|
||||
|
||||
senseA[ptr] = analogRead(_analogPin1);
|
||||
senseB[ptr] = analogRead(_analogPin2);
|
||||
|
||||
_minCh1 = senseA[ptr];
|
||||
_minCh2 = senseB[ptr];
|
||||
_maxCh1 = _minCh1;
|
||||
_maxCh2 = _minCh2;
|
||||
|
||||
Serial.println("\t- Finding end stops");
|
||||
while (!endFound)
|
||||
{
|
||||
motor.move(i);
|
||||
delay(1);
|
||||
senseA = analogRead(_analogPin1);
|
||||
senseB = analogRead(_analogPin2);
|
||||
if (senseA > _maxCh1)
|
||||
_maxCh1 = senseA;
|
||||
else if (senseA < _minCh1)
|
||||
_minCh1 = senseA;
|
||||
if (senseB > _maxCh1)
|
||||
_maxCh1 = senseB;
|
||||
else if (senseB < _minCh2)
|
||||
_minCh2 = senseB;
|
||||
senseA[ptr] = analogRead(_analogPin1);
|
||||
senseB[ptr] = analogRead(_analogPin2);
|
||||
|
||||
// Check if new extremes sensor values
|
||||
if (senseA[ptr] > _maxCh1)
|
||||
_maxCh1 = senseA[ptr];
|
||||
else if (senseA[ptr] < _minCh1)
|
||||
_minCh1 = senseA[ptr];
|
||||
|
||||
if (senseB[ptr] > _maxCh2)
|
||||
_maxCh2 = senseB[ptr];
|
||||
else if (senseB[ptr] < _minCh2)
|
||||
_minCh2 = senseB[ptr];
|
||||
|
||||
if (std_var(senseA, N) < epsilon && std_var(senseB, N) < epsilon)
|
||||
endFound = true;
|
||||
|
||||
ptr = (ptr + 1) % N;
|
||||
|
||||
// Move to new position
|
||||
currentPosition += step;
|
||||
motor.move(currentPosition);
|
||||
delay(3);
|
||||
}
|
||||
_maxPositionEndValue = currentPosition - (step * (ptr > N ? N : ptr));
|
||||
currentPosition = _maxPositionEndValue - M_PI / 16;
|
||||
delay(100);
|
||||
motor.move(currentPosition);
|
||||
Serial.println("\t- Found first end stop : Max position = " + String(_maxPositionEndValue));
|
||||
delay(100);
|
||||
for (float i = _maxPositionEndValue; i >= _minPositionEndValue; i = i - 0.005)
|
||||
{
|
||||
motor.move(i);
|
||||
delay(1);
|
||||
senseA = analogRead(_analogPin1);
|
||||
senseB = analogRead(_analogPin2);
|
||||
if (senseA > _maxCh1)
|
||||
_maxCh1 = senseA;
|
||||
else if (senseA < _minCh1)
|
||||
_minCh1 = senseA;
|
||||
if (senseB > _maxCh1)
|
||||
_maxCh1 = senseB;
|
||||
else if (senseB < _minCh2)
|
||||
_minCh2 = senseB;
|
||||
}
|
||||
|
||||
// Min offset with 50 values average
|
||||
// Swipe motor to search other hard end, and find eventually new max analog values of sensors
|
||||
endFound = false;
|
||||
|
||||
init_arr(senseA, N, 0);
|
||||
init_arr(senseB, N, 0);
|
||||
ptr = 0;
|
||||
|
||||
while (!endFound)
|
||||
{
|
||||
senseA[ptr] = analogRead(_analogPin1);
|
||||
senseB[ptr] = analogRead(_analogPin2);
|
||||
|
||||
// Check if new extremes sensor values
|
||||
if (senseA[ptr] > _maxCh1)
|
||||
_maxCh1 = senseA[ptr];
|
||||
else if (senseA[ptr] < _minCh1)
|
||||
_minCh1 = senseA[ptr];
|
||||
|
||||
if (senseB[ptr] > _maxCh2)
|
||||
_maxCh2 = senseB[ptr];
|
||||
else if (senseB[ptr] < _minCh2)
|
||||
_minCh2 = senseB[ptr];
|
||||
|
||||
if (std_var(senseA, N) < epsilon && std_var(senseB, N) < epsilon)
|
||||
endFound = true;
|
||||
|
||||
ptr = (ptr + 1) % N;
|
||||
|
||||
// Move to new position
|
||||
currentPosition -= step;
|
||||
motor.move(currentPosition);
|
||||
delay(3);
|
||||
}
|
||||
_minPositionEndValue = currentPosition + (step * (ptr > N ? N : ptr));
|
||||
Serial.println("\t- Found second end stop : Min position = " + String(_minPositionEndValue));
|
||||
delay(100);
|
||||
|
||||
// Set min offset with 50 values average
|
||||
float sum = 0.0;
|
||||
for (uint8_t i = 0; i <= 49; i++)
|
||||
{
|
||||
_offset = 0.0;
|
||||
for (uint8_t i = 0; i <= 49; i++)
|
||||
sum += readSensorCallback();
|
||||
}
|
||||
_offset = -sum / 50.0;
|
||||
_offset = sum / 50.0;
|
||||
|
||||
Serial.println("\n\rmaxA: " + String(_maxCh1) + "\tminA: " + String(_minCh1) + "\tmaxB: " + String(_maxCh2) + "\tminB: " + String(_minCh2));
|
||||
Serial.println("Offset: " + String(_offset));
|
||||
Serial.println("\t- maxA: " + String(_maxCh1) + "\tminA: " + String(_minCh1) + "\tmaxB: " + String(_maxCh2) + "\tminB: " + String(_minCh2));
|
||||
Serial.println("\t- Offset: " + String(_offset));
|
||||
|
||||
// Detect max angle
|
||||
for (float i = _minPositionEndValue; i <= _maxPositionEndValue; i = i + 0.01)
|
||||
// Read max angle
|
||||
for (float i = _minPositionEndValue; i <= _maxPositionEndValue; i = i + 0.0025)
|
||||
{
|
||||
motor.move(i);
|
||||
delay(1);
|
||||
_maxSensor = readSensorCallback();
|
||||
}
|
||||
Serial.println("current motor angle: " + String(motor.electricalAngle()));
|
||||
delay(250);
|
||||
|
||||
// take average value of 50 values
|
||||
// Set max take average value of 50 values
|
||||
sum = 0.0;
|
||||
for (uint8_t i = 0; i <= 49; i++)
|
||||
sum += readSensorCallback();
|
||||
_maxSensor = sum / 50.0;
|
||||
|
||||
Serial.println("Max sensor: " + String(_maxSensor));
|
||||
Serial.println("\t- Max angle: " + String(_maxSensor));
|
||||
|
||||
// Recovering previous controller type and go in the middle
|
||||
for (float i = _maxPositionEndValue; i >= _minPositionEndValue / 2.0; i = i - 0.01)
|
||||
// Recovering previous controller type and go to 0
|
||||
for (float i = _maxPositionEndValue; i >= (0); i = i - 0.005)
|
||||
{
|
||||
motor.move(i);
|
||||
delay(1);
|
||||
@@ -126,5 +225,10 @@ float LinearHallSensor::readSensorCallback()
|
||||
_estimatePosition += dist_angle(_currentPosition, _prevPosition);
|
||||
|
||||
_prevPosition = _currentPosition;
|
||||
return (_estimatePosition + _offset) / 4.0;
|
||||
return (_estimatePosition / 4.0 - _offset);
|
||||
}
|
||||
|
||||
float LinearHallSensor::getMaxAngle()
|
||||
{
|
||||
return _maxSensor;
|
||||
}
|
||||
+10
-4
@@ -15,10 +15,8 @@ class LinearHallSensor
|
||||
Linear Hall Sensor class constructor
|
||||
@param ch1 Analog pin for channel 1
|
||||
@param ch2 Analog pin for channel 2
|
||||
@param minPos Minimum position in Openloop
|
||||
@param maxPos Maximum position in Openloop
|
||||
*/
|
||||
LinearHallSensor(uint8_t ch1, uint8_t ch2, float minPos, float maxPos);
|
||||
LinearHallSensor(uint8_t ch1, uint8_t ch2);
|
||||
|
||||
|
||||
/**
|
||||
@@ -37,6 +35,14 @@ class LinearHallSensor
|
||||
|
||||
float readSensorCallback();
|
||||
|
||||
/**
|
||||
* @brief retrun the max angle of the motor
|
||||
*
|
||||
* @return max angle in rad
|
||||
*/
|
||||
float getMaxAngle();
|
||||
|
||||
|
||||
private:
|
||||
uint32_t _analogPin1;
|
||||
uint32_t _analogPin2;
|
||||
@@ -51,7 +57,7 @@ class LinearHallSensor
|
||||
float _currentPosition;
|
||||
float _estimatePosition; // current position + offset
|
||||
float _offset; // offset angle measured at init
|
||||
float _maxSensor; // Max angle value measured (so command from 0 to that value)
|
||||
float _maxSensor; // Max range angle value measured (so command from 0 to that value)
|
||||
|
||||
float _minPositionEndValue; // min pos in open loop mode
|
||||
float _maxPositionEndValue;
|
||||
|
||||
+132
-54
@@ -1,28 +1,62 @@
|
||||
#include <Arduino.h>
|
||||
#include <SimpleFOC.h>
|
||||
#include <linearHallSensor.h>
|
||||
#include <pinout.h>
|
||||
|
||||
BLDCMotor motor = BLDCMotor(4);
|
||||
BLDCDriver3PWM driver = BLDCDriver3PWM(7, 8, 9);
|
||||
|
||||
LinearHallSensor linearSensor = LinearHallSensor(A0, A1, -0.75, 2.35);
|
||||
|
||||
void initSensor()
|
||||
BLDCMotor motor[3] =
|
||||
{
|
||||
linearSensor.init(motor);
|
||||
BLDCMotor(4),
|
||||
BLDCMotor(4),
|
||||
BLDCMotor(4)};
|
||||
|
||||
BLDCDriver3PWM driver[3] =
|
||||
{
|
||||
BLDCDriver3PWM(M1_PWM1, M1_PWM2, M1_PWM3),
|
||||
BLDCDriver3PWM(M2_PWM1, M2_PWM2, M2_PWM3),
|
||||
BLDCDriver3PWM(M3_PWM1, M3_PWM2, M3_PWM3)};
|
||||
|
||||
LinearHallSensor linearSensor[3] =
|
||||
{
|
||||
LinearHallSensor(M1_Hall1, M1_Hall2),
|
||||
LinearHallSensor(M2_Hall1, M2_Hall2),
|
||||
LinearHallSensor(M3_Hall1, M3_Hall2)};
|
||||
|
||||
void initSensor0()
|
||||
{
|
||||
linearSensor[0].init(motor[0]);
|
||||
}
|
||||
float callback0()
|
||||
{
|
||||
return linearSensor[0].readSensorCallback();
|
||||
}
|
||||
|
||||
float callback()
|
||||
void initSensor1()
|
||||
{
|
||||
return linearSensor.readSensorCallback();
|
||||
linearSensor[1].init(motor[1]);
|
||||
}
|
||||
float callback1()
|
||||
{
|
||||
return linearSensor[1].readSensorCallback();
|
||||
}
|
||||
|
||||
GenericSensor sensor = GenericSensor(callback, initSensor);
|
||||
void initSensor2()
|
||||
{
|
||||
linearSensor[2].init(motor[2]);
|
||||
}
|
||||
float callback2()
|
||||
{
|
||||
return linearSensor[2].readSensorCallback();
|
||||
}
|
||||
|
||||
float targetX = 0.0;
|
||||
float targetY = 0.0;
|
||||
GenericSensor sensor[3] =
|
||||
{
|
||||
GenericSensor(callback0, initSensor0),
|
||||
GenericSensor(callback1, initSensor1),
|
||||
GenericSensor(callback2, initSensor2)};
|
||||
|
||||
float target = 0.0;
|
||||
float target[3] = {0.5, 0.5, 0.5};
|
||||
|
||||
String str;
|
||||
|
||||
void serialLoop()
|
||||
{
|
||||
@@ -33,9 +67,9 @@ void serialLoop()
|
||||
received_chars += inChar;
|
||||
if (inChar == '\n')
|
||||
{
|
||||
target = received_chars.toFloat();
|
||||
target[0] = received_chars.toFloat();
|
||||
Serial.print("Target = ");
|
||||
Serial.print(target);
|
||||
Serial.print(target[0]);
|
||||
received_chars = "";
|
||||
}
|
||||
}
|
||||
@@ -46,53 +80,97 @@ float mapfloat(float x, float in_min, float in_max, float out_min, float out_max
|
||||
return (float)(x - in_min) * (out_max - out_min) / (float)(in_max - in_min) + out_min;
|
||||
}
|
||||
|
||||
void initMotor(u_int8_t m)
|
||||
{
|
||||
Serial.printf("\n\t\t### MOTOR %d ###\n\n", m + 1);
|
||||
driver[m].voltage_power_supply = 7.0;
|
||||
driver[m].pwm_frequency = 50000;
|
||||
Serial.printf("Driver%d init: %d\n", m + 1, driver[m].init());
|
||||
motor[m].linkDriver(&driver[m]);
|
||||
motor[m].useMonitoring(Serial);
|
||||
motor[m].controller = MotionControlType::angle;
|
||||
motor[m].foc_modulation = FOCModulationType::SinePWM;
|
||||
motor[m].voltage_limit = 2.0;
|
||||
motor[m].voltage_sensor_align = 2.0;
|
||||
motor[m].PID_velocity.P = 0.05f;
|
||||
motor[m].PID_velocity.I = 0.008;
|
||||
motor[m].PID_velocity.D = 0.0;
|
||||
motor[m].LPF_velocity.Tf = 0.02f;
|
||||
motor[m].P_angle.P = 150.0;
|
||||
motor[m].P_angle.I = 5.0;
|
||||
motor[m].velocity_limit = 20;
|
||||
|
||||
// Init sensor
|
||||
motor[m].init();
|
||||
Serial.println("calibrating sensor in open loop...");
|
||||
sensor[m].init();
|
||||
Serial.printf("Sensor %d done\n", m + 1);
|
||||
|
||||
motor[m].linkSensor(&sensor[m]);
|
||||
motor[m].init();
|
||||
if (m == 2)
|
||||
motor[m].initFOC(3.0, CW);
|
||||
else if (m == 1)
|
||||
motor[m].initFOC(3.79, CW);
|
||||
// motor[m].initFOC();
|
||||
else
|
||||
motor[m].initFOC(0.18, CW);
|
||||
Serial.printf("Motor %d Done\n", m + 1);
|
||||
}
|
||||
|
||||
void setup()
|
||||
{
|
||||
Serial.begin(115200);
|
||||
_delay(100);
|
||||
delay(3000);
|
||||
Serial.println("INIT");
|
||||
pinMode(3, OUTPUT);
|
||||
pinMode(5, OUTPUT);
|
||||
pinMode(6, OUTPUT);
|
||||
digitalWrite(3, LOW);
|
||||
digitalWrite(5, LOW);
|
||||
digitalWrite(6, LOW);
|
||||
|
||||
driver.voltage_power_supply = 6.0;
|
||||
driver.init();
|
||||
motor.linkDriver(&driver);
|
||||
motor.useMonitoring(Serial);
|
||||
motor.controller = MotionControlType::angle;
|
||||
motor.foc_modulation = FOCModulationType::SinePWM;
|
||||
motor.voltage_limit = 1.5;
|
||||
motor.voltage_sensor_align = 0.8;
|
||||
motor.PID_velocity.P = 0.075f;
|
||||
motor.PID_velocity.I = 0.01;
|
||||
motor.PID_velocity.D = 0.0;
|
||||
motor.LPF_velocity.Tf = 0.01f;
|
||||
motor.P_angle.P = 120.0;
|
||||
motor.P_angle.I = 10.0;
|
||||
motor.velocity_limit = 50;
|
||||
pinMode(LED_BUILTIN, OUTPUT); // Lightup LED
|
||||
digitalWrite(LED_BUILTIN, LOW);
|
||||
|
||||
motor.useMonitoring(Serial);
|
||||
|
||||
// Init sensor
|
||||
motor.init();
|
||||
Serial.println("calibrating sensor in open loop...");
|
||||
sensor.init();
|
||||
Serial.println("Done");
|
||||
delay(1000);
|
||||
|
||||
motor.linkSensor(&sensor);
|
||||
motor.init();
|
||||
// motor.initFOC(5.48, CCW);
|
||||
motor.initFOC();
|
||||
motor[1].useMonitoring(Serial);
|
||||
initMotor(2);
|
||||
initMotor(1);
|
||||
initMotor(0);
|
||||
}
|
||||
|
||||
void loop()
|
||||
{
|
||||
serialLoop();
|
||||
motor.move(target);
|
||||
motor.loopFOC();
|
||||
motor.monitor();
|
||||
int len = Serial.available();
|
||||
if (len > 0)
|
||||
{
|
||||
str = Serial.readStringUntil('\n'); // get new targets from serial (target are from 0 to 1000)
|
||||
char axis = str[0];
|
||||
str.remove(0, 1);
|
||||
str.remove(len,1);
|
||||
switch (axis)
|
||||
{
|
||||
case 'X':
|
||||
target[1] = str.toFloat();
|
||||
// Serial.println("Target X: " + String(target[1]));
|
||||
target[1] = mapfloat(target[1], 0.0, 1000.0, 0.0, linearSensor[1].getMaxAngle()); // remap targets to motor angles
|
||||
break;
|
||||
case 'Y':
|
||||
target[0] = str.toFloat();
|
||||
// Serial.println("Target Y: " + String(target[0]));
|
||||
target[0] = mapfloat(target[0], 0.0, 1000.0, 0.0, linearSensor[0].getMaxAngle()); // remap targets to motor angles
|
||||
break;
|
||||
case 'Z':
|
||||
target[2] = str.toFloat();
|
||||
// Serial.println("Target Z: " + String(target[2]));
|
||||
target[2] = mapfloat(target[2], 0.0, 1000.0, 0.0, linearSensor[2].getMaxAngle()); // remap targets to motor angles
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
for (u_int8_t i = 0; i < 3; i++) // update motor target and Run FOC
|
||||
{
|
||||
|
||||
// serialLoop();
|
||||
// Serial.println("Target" + String(i) + ": " + String(target[i]));
|
||||
motor[i].move(target[i]);
|
||||
motor[i].loopFOC();
|
||||
// motor[i].monitor();
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,29 @@
|
||||
#ifndef pinout_h
|
||||
#define pinout_h
|
||||
|
||||
#include "Arduino.h"
|
||||
|
||||
// PCB board : STM32 DJI Gimbal V1.0
|
||||
|
||||
#define M1_PWM1 PA10
|
||||
#define M1_PWM2 PA9
|
||||
#define M1_PWM3 PA8
|
||||
#define M1_Fault PB12
|
||||
#define M1_Hall1 PB1
|
||||
#define M1_Hall2 PA5
|
||||
|
||||
#define M2_PWM1 PB9
|
||||
#define M2_PWM2 PB8
|
||||
#define M2_PWM3 PB7
|
||||
#define M2_Fault PB10
|
||||
#define M2_Hall1 PA4
|
||||
#define M2_Hall2 PA3
|
||||
|
||||
#define M3_PWM1 PB0
|
||||
#define M3_PWM2 PA7
|
||||
#define M3_PWM3 PA6
|
||||
#define M3_Fault PA0
|
||||
#define M3_Hall1 PA2
|
||||
#define M3_Hall2 PA1
|
||||
|
||||
#endif
|
||||
Reference in new issue
Block a user