diff --git a/README.md b/README.md index 4188668..ed3617a 100644 --- a/README.md +++ b/README.md @@ -1,8 +1,9 @@ # Lemon Pepper Stepper Driver -Small, all in one hybrid stepper + BLDC driver, designed to mount to the back of NEMA 14/17 size stepper motors. The board supports up to 48V @ 1.5A with a choice of either step-dir, CAN bus, I2C, or USB inputs. +Small, all in one hybrid stepper + BLDC driver, designed to mount to the back of NEMA 14/17 size stepper motors. The board supports up to 48V @ 1.5A with a choice of either step-dir, CAN bus, I2C, UART or USB input. Additionally, there are 5 GPIO broken out that can be used for a second encoder (AB hardware encoder or I2C), endstops or other general purposes. Current sensing is also included on-board. The boards can easily be assembled by JLC and the design has been cost-optimized, coming in at about $20 per board fully assembled (minus connectors, which need to be modified to sit flat on motor back). Due to the high pole pair count of stepper motors, a high resolution (21 bit) magnetic encoder is used, supporting both SPI and hardware ABI position encoding. -Despite the rather high theoretical performance of this board I think you would need some serious cooling to actually hit the potential 50-70W specs of the parts. -![Photo of PCB](/many.png) +Despite the rather high theoretical performance of this board I think you would need some serious cooling to actually hit the potential 50-70W specs of the parts. A heatsink has been designed and produced that works well with the board, giving a uniform back profile and small fins for heat dissipation. +![Photo of PCB](/many.jpeg) ![PCB on motor](/motor.png) +![Heatsink on motor](/heatsink.jpeg) diff --git a/hardware/mcu.kicad_sch b/hardware/mcu.kicad_sch index 66a7041..3257e37 100644 --- a/hardware/mcu.kicad_sch +++ b/hardware/mcu.kicad_sch @@ -1432,6 +1432,11 @@ (stroke (width 0) (type default)) (uuid 0bf1a580-87be-4ded-947c-415c1aa9d747) ) + (polyline (pts (xy 135.89 88.9) (xy 135.89 83.82)) + (stroke (width 0) (type dash)) + (uuid 0e2f5a88-9523-4f83-899e-5566ea457690) + ) + (wire (pts (xy 153.67 73.66) (xy 153.67 76.2)) (stroke (width 0) (type default)) (uuid 154ecc67-6e7b-4d37-871d-c21e3e2f2a9c) @@ -1536,6 +1541,11 @@ (stroke (width 0) (type default)) (uuid 4e01618b-54cb-4928-90ba-c59f4fcc6d00) ) + (polyline (pts (xy 50.8 116.84) (xy 50.8 121.92)) + (stroke (width 0) (type dash)) + (uuid 4f098d32-fed2-4f1c-b77b-1107306f86b4) + ) + (wire (pts (xy 153.67 83.82) (xy 153.67 86.36)) (stroke (width 0) (type default)) (uuid 4fbb2f49-0f68-4fd1-aa35-fe5fa43fd559) @@ -1560,6 +1570,11 @@ (stroke (width 0) (type default)) (uuid 5c47feb0-2e8f-4f55-b1f1-95458bac1373) ) + (polyline (pts (xy 50.8 121.92) (xy 52.07 121.92)) + (stroke (width 0) (type dash)) + (uuid 5da03b3f-207a-4249-b260-9087a0865835) + ) + (wire (pts (xy 38.1 154.94) (xy 38.1 156.21)) (stroke (width 0) (type default)) (uuid 5ec60124-c93c-4122-8f40-526b5736c701) @@ -1568,6 +1583,15 @@ (stroke (width 0) (type default)) (uuid 6461e5c0-b64d-459a-ab76-ce8e4b993699) ) + (polyline (pts (xy 134.62 88.9) (xy 135.89 88.9)) + (stroke (width 0) (type dash)) + (uuid 64731aba-03d1-4569-afbb-21fe3deadb70) + ) + (polyline (pts (xy 52.07 116.84) (xy 50.8 116.84)) + (stroke (width 0) (type dash)) + (uuid 675c1911-83f3-40b7-ba09-5f8864f5b3b7) + ) + (wire (pts (xy 199.39 35.56) (xy 199.39 38.1)) (stroke (width 0) (type default)) (uuid 6b78d611-1d47-4c74-b35b-38d257eb7548) @@ -1880,14 +1904,38 @@ (stroke (width 0) (type default)) (uuid fdbfadea-83f6-4000-9e96-29a013799f62) ) + (polyline (pts (xy 135.89 83.82) (xy 134.62 83.82)) + (stroke (width 0) (type dash)) + (uuid fe75480d-39c7-4c38-bf63-898da78a1cd1) + ) - (text "I2C1_SCL" (at 123.19 110.49 0) + (text "MT6835\nABI" (at 49.53 121.92 0) + (effects (font (size 1.27 1.27)) (justify right bottom)) + (uuid 130af8fd-1f23-4153-ae21-9e8603efb345) + ) + (text "I2C3_SDA, UART3_RX, STEP" (at 59.69 97.79 0) + (effects (font (size 1.27 1.27)) (justify right bottom)) + (uuid 3a7de6ef-9163-4004-abb5-f8d4ae200ff7) + ) + (text "I2C1_SDA\n" (at 64.77 127 0) + (effects (font (size 1.27 1.27)) (justify right bottom)) + (uuid 6194839e-af43-484f-9c2e-44a21a57d300) + ) + (text "I2C1_SCL" (at 121.92 109.22 0) (effects (font (size 1.27 1.27)) (justify left bottom)) (uuid 7f98c301-0508-4ed3-9c68-b24c6fdb87bf) ) - (text "really acting as UART3" (at 38.1 93.98 0) + (text "MT6835\nSPI" (at 137.16 87.63 0) (effects (font (size 1.27 1.27)) (justify left bottom)) - (uuid f38d1d94-2220-461e-9426-17b708e0e811) + (uuid c0025366-e3fe-4034-bdd2-230672bb325a) + ) + (text "I2C3_SCL, DIR" (at 133.35 92.71 0) + (effects (font (size 1.27 1.27)) (justify left bottom)) + (uuid c9265781-26eb-40b7-bfd7-1eba2ed34d96) + ) + (text "UART3_TX, DIR" (at 45.72 95.25 0) + (effects (font (size 1.27 1.27)) (justify left bottom)) + (uuid f3474d73-ce4d-4945-8662-044e507547c3) ) (label "ADC1_IN12" (at 151.13 76.2 180) (fields_autoplaced) diff --git a/heatsink.jpeg b/heatsink.jpeg new file mode 100644 index 0000000..11521e6 Binary files /dev/null and b/heatsink.jpeg differ diff --git a/lemon-pepper.pdf b/lemon-pepper.pdf index 450dcbc..d5947cb 100644 Binary files a/lemon-pepper.pdf and b/lemon-pepper.pdf differ diff --git a/many.jpeg b/many.jpeg new file mode 100644 index 0000000..f8cd6d8 Binary files /dev/null and b/many.jpeg differ diff --git a/many.png b/many.png deleted file mode 100644 index 65a3403..0000000 Binary files a/many.png and /dev/null differ diff --git a/pinout.png b/pinout.png index 3320e77..3062ef4 100644 Binary files a/pinout.png and b/pinout.png differ