Commit 328fd5e7 authored by Zach Fredin's avatar Zach Fredin
Browse files

updates

parent 612c7958
# DRV8436 breakout board
A tiny castellated carrier for the QFN version of TI's [DRV8436](https://www.ti.com/lit/ds/symlink/drv8436.pdf) stepper driver.
![overview](img/overview.jpg)
As used in a circuit:
![example](img/example.jpg)
## v0.1
The first version works, but has a dumb issue. You see, the DRV8436 has an internal voltage regulator which provides a logic-level power source so you only have to send it motor voltage. In an effort to minimize pin count, I decided to use that output to hold the `nSleep` pin high to keep the chip awake. However, the device checks `nSleep` _before_ turning on the regulator, so as-is it doesn't wake up. For this version, the fix I included simply bridges the `nSleep` pin to `M1`, which I do break out as a castellation. `M1` and `M0` are used to configure microstepping; with this modification, the user must hold `M1` high for the device to function, which limits them to 1/4, 1/8, or 1/16 microstepping only. Sorry friends.
![pcb](img/pcb.png)
The board measures 9.5 mm tall and 7.5 mm wide. The four pads on either side are vertically centered and separated by 1.5 mm. The VCC pin is horizontally centered, while the GND and VREF pins are at +/- 1.75 mm. The design includes all of the recommended bypassing capacitors with the exception of a bulk tank cap, so it's a good idea to include a 33 or 47 uF capacitor between VCC and GND. You can supply the board with up to 12 VDC; some of the capacitors are 16 VDC units, so you shouldn't go much higher than that. Here is a sample schematic:
![schematic](img/schematic.png)
J1 connects to the stepper; J2 gets 12 VDC; J3 programs the ATtiny412; U2 is a 5 VDC regulator; C1 is a 33 uF ceramic cap; R1 and R2 are in the 5-20k range and used to set the current limit for the stepper. Again, note that M1 is held high to deal with the issue listed above.
To use the board in a project, you can use the KiCad schematic symbol and footprint file in the `example_project` directory, or you can make your own based on the image above. As always, it's worth reading through the [chip's datasheet](https://www.ti.com/lit/ds/symlink/drv8436.pdf) to understand how it works.
\ No newline at end of file
This diff is collapsed.
#define DIR 3 // PA2
#define STEP 4 // PA3
#define M1 0 // PA6
void setup() {
pinMode(DIR, OUTPUT);
pinMode(STEP, OUTPUT);
pinMode(M1, OUTPUT);
digitalWrite(DIR, HIGH);
digitalWrite(M1, HIGH);
}
int delayus = 10;
int changetimer = 0;
void loop() {
digitalWrite(STEP, HIGH);
delayMicroseconds(delayus);
digitalWrite(STEP, LOW);
delayMicroseconds(delayus);
if (changetimer == 100) {
delayus++;
if (delayus == 100) {
delayus = 10;
}
changetimer = 0;
}
changetimer++;
}
......@@ -48,7 +48,7 @@
inkscape:window-x="72"
inkscape:window-y="27"
inkscape:window-maximized="1"
inkscape:current-layer="layer1">
inkscape:current-layer="layer4">
<sodipodi:guide
position="22876.883,22607.566"
orientation="-1,0"
......@@ -242,7 +242,7 @@
inkscape:groupmode="layer"
id="layer1"
inkscape:label="outline"
style="display:inline"
style="display:none"
transform="translate(3191.8446,10972.263)">
<path
sodipodi:type="star"
......@@ -262,30 +262,39 @@
inkscape:transform-center-x="46.280771"
inkscape:transform-center-y="1121.1522"
transform="scale(104.16667)" />
</g>
<g
inkscape:groupmode="layer"
id="layer4"
inkscape:label="holes"
style="display:none">
<circle
style="fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:98.4252;stroke-linecap:round;stroke-miterlimit:4;stroke-dasharray:none"
style="display:inline;fill:#000000;fill-opacity:1;stroke:none;stroke-width:98.4252;stroke-linecap:round;stroke-miterlimit:4;stroke-dasharray:none"
id="path2956"
cx="9842.5195"
cy="0.00020774391"
r="3149.6064" />
r="3149.6064"
transform="translate(3191.8446,10972.263)" />
<circle
style="fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:98.4252;stroke-linecap:round;stroke-miterlimit:4;stroke-dasharray:none"
style="display:inline;fill:#000000;fill-opacity:1;stroke:none;stroke-width:98.4252;stroke-linecap:round;stroke-miterlimit:4;stroke-dasharray:none"
id="path3167"
cx="1181.1023"
cy="0.00020774391"
r="590.55115" />
r="590.55115"
transform="translate(3191.8446,10972.263)" />
<circle
style="fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:98.4252;stroke-linecap:round;stroke-miterlimit:4;stroke-dasharray:none"
style="display:inline;fill:#000000;fill-opacity:1;stroke:none;stroke-width:98.4252;stroke-linecap:round;stroke-miterlimit:4;stroke-dasharray:none"
id="circle3249"
cx="18503.938"
cy="0.00020774394"
r="590.55115" />
r="590.55115"
transform="translate(3191.8446,10972.263)" />
</g>
<g
inkscape:groupmode="layer"
id="layer2"
inkscape:label="cu"
style="display:none"
style="display:inline"
transform="translate(3191.8446,10972.263)">
<g
id="g1968"
......
img/pcb.png

74.1 KB

Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment