Skip to content
Snippets Groups Projects
Commit b6ddd535 authored by Jake Read's avatar Jake Read
Browse files

migrate closed-loop fab-step out of here

parent 437d197c
No related branches found
No related tags found
No related merge requests found
[Eagle]
Version="09 06 00"
Platform="Windows"
Globals="Globals"
Desktop="Desktop"
[Globals]
AutoSaveProject=1
UsedLibrary="C:/Dropbox/CBA/circuits/eagle/parts/comm.lbr"
UsedLibrary="C:/Dropbox/CBA/circuits/eagle/parts/connector.lbr"
UsedLibrary="C:/Dropbox/CBA/circuits/eagle/parts/dfet.lbr"
UsedLibrary="C:/Dropbox/CBA/circuits/eagle/parts/fablab.lbr"
UsedLibrary="C:/Dropbox/CBA/circuits/eagle/parts/lights.lbr"
UsedLibrary="C:/Dropbox/CBA/circuits/eagle/parts/microcontrollers.lbr"
UsedLibrary="C:/Dropbox/CBA/circuits/eagle/parts/motors.lbr"
UsedLibrary="C:/Dropbox/CBA/circuits/eagle/parts/passives.lbr"
UsedLibrary="C:/Dropbox/CBA/circuits/eagle/parts/power.lbr"
UsedLibrary="C:/Dropbox/CBA/circuits/eagle/parts/raspberrypi_bastelstube_v13.lbr"
UsedLibrary="C:/Dropbox/CBA/circuits/eagle/parts/sensor.lbr"
UsedLibrary="C:/Dropbox/CBA/circuits/eagle/parts/supply1.lbr"
UsedLibrary="C:/Dropbox/CBA/circuits/eagle/parts/tag-connect-2030.lbr"
UsedLibrary="C:/Dropbox/CBA/circuits/eagle/parts/tag-connect-2050.lbr"
UsedLibrary="C:/Dropbox/CBA/circuits/eagle/parts/usbraw.lbr"
UsedLibrary="C:/Dropbox/CBA/circuits/eagle/parts/SparkFun-Eagle-Libraries/SparkFun-Connectors.lbr"
[Win_1]
Type="Library Editor"
Number=2
File="C:/Dropbox/CBA/circuits/eagle/parts/microcontrollers.lbr"
View="-37.8468 -65.4661 54.9684 45.9094"
WireWidths=" 0.0762 0.1016 0.15 0.2 0.2032 0.3048 0.4064 0.508 0.6096 0.8128 1.016 1.27 2.54 0.1524 0.127 0.254"
PadDiameters=" 0.254 0.3048 0.4064 0.6096 0.8128 1.016 1.27 1.4224 1.6764 1.778 1.9304 2.1844 2.54 3.81 6.4516 0"
PadDrills=" 0.2 0.25 0.3 0.35 0.4 0.45 0.5 0.55 0.65 0.7 0.75 0.8 0.85 0.9 1 0.6"
ViaDiameters=" 0.55 0.6 0.65 0.7 0.75 0.8 0.85 0.9 0.95 1 1.05 1.1 1.15 1.2 1.3 0"
ViaDrills=" 0.2 0.25 0.3 0.4 0.45 0.5 0.55 0.6 0.65 0.7 0.75 0.8 0.85 0.9 1 0.35"
HoleDrills=" 0.2 0.25 0.3 0.4 0.45 0.5 0.55 0.6 0.65 0.7 0.75 0.8 0.85 0.9 1 0.35"
TextSizes=" 0.254 0.3048 0.4064 0.6096 0.8128 1.016 1.4224 1.6764 1.9304 2.1844 2.54 3.81 5.08 6.4516 1.778 1.27"
PolygonSpacings=" 0.254 0.3048 0.4064 0.6096 0.8128 1.016 1.4224 1.6764 1.778 1.9304 2.1844 2.54 3.81 5.08 6.4516 1.27"
PolygonIsolates=" 0.254 0.3048 0.4064 0.6096 0.8128 1.016 1.27 1.4224 1.6764 1.778 1.9304 2.1844 2.54 3.81 6.4516 0"
MiterRadiuss=" 0.254 0.3175 0.635 1.27 2.54 1 2 2.5 5 7.5 10 0"
DimensionWidths=" 0 0.127 0.254 0.1 0.26 0.13"
DimensionExtWidths=" 0.127 0.254 0.1 0.13 0.26 0"
DimensionExtLengths=" 1.27 2.54 1 2 3 0"
DimensionExtOffsets=" 1.27 2.54 1 2 3 0"
SmdSizes=" 1.778 0.9144 1.9304 0.9652 2.1844 1.0668 2.54 1.27 3.81 1.9304 5.08 2.54 6.4516 3.2512 1.27 0.635 1.6 0.25 1.6 0.3 1.6 0.35 0.225 1.35 0.21 1.35 5 1 1.35 0.35 1.25 0.35"
WireBend=0
WireBendSet=0
WireCap=1
MiterStyle=1
PadShape=0
ViaShape=1
PolygonPour=0
PolygonRank=0
PolygonThermals=1
PolygonOrphans=0
TextRatio=8
DimensionUnit=1
DimensionPrecision=2
DimensionShowUnit=0
PinDirection=3
PinFunction=0
PinLength=2
PinVisible=3
SwapLevel=0
ArcDirection=0
AddLevel=2
PadsSameType=0
Layer=94
Symbol="ATSAMD21E18A-AF"
[Win_2]
Type="Board Editor"
Number=3
File="fab-step.brd"
View="4.11925 -6.20781 57.2388 46.9658"
WireWidths=" 0.127 0.15 0.2 0.508 0.8128 1.016 1.27 2.54 0.254 0.4064 0.6096 0.0762 0 0.1524 0.2032 0.3048"
PadDiameters=" 0.254 0.3048 0.4064 0.6096 0.8128 1.016 1.27 1.4224 1.6764 1.778 1.9304 2.1844 2.54 3.81 6.4516 0"
PadDrills=" 0.2 0.25 0.3 0.35 0.4 0.45 0.5 0.55 0.65 0.7 0.75 0.8 0.85 0.9 1 0.6"
ViaDiameters=" 0.55 0.6 0.65 0.7 0.75 0.8 0.85 0.9 0.95 1 1.05 1.1 1.15 1.2 1.3 0"
ViaDrills=" 0.25 0.3 0.4 0.45 0.5 0.55 0.6 0.65 0.7 0.75 0.8 0.85 0.9 1 0.35 0.8382"
HoleDrills=" 0.25 0.3 0.4 0.45 0.5 0.55 0.6 0.65 0.7 0.75 0.8 0.85 0.9 1 0.35 3.25"
TextSizes=" 0.254 0.3048 0.4064 0.6096 0.8128 1.27 1.4224 1.6764 1.9304 2.1844 2.54 3.81 5.08 6.4516 1.778 1.016"
PolygonSpacings=" 0.254 0.3048 0.4064 0.6096 0.8128 1.016 1.4224 1.6764 1.778 1.9304 2.1844 2.54 3.81 5.08 6.4516 1.27"
PolygonIsolates=" 0.254 0.3048 0.4064 0.6096 0.8128 1.016 1.27 1.4224 1.6764 1.778 1.9304 2.1844 2.54 3.81 6.4516 0"
MiterRadiuss=" 0.254 0.3175 0.635 1.27 2.54 1 2 2.5 5 7.5 10 0"
DimensionWidths=" 0 0.127 0.254 0.1 0.26 0.13"
DimensionExtWidths=" 0.127 0.254 0.1 0.13 0.26 0"
DimensionExtLengths=" 1.27 2.54 1 2 3 0"
DimensionExtOffsets=" 1.27 2.54 1 2 3 0"
SmdSizes=" 0.3048 0.1524 0.4064 0.2032 0.6096 0.3048 0.8128 0.4064 1.016 0.508 1.27 0.6604 1.4224 0.7112 1.6764 0.8128 1.778 0.9144 1.9304 0.9652 2.1844 1.0668 2.54 1.27 3.81 1.9304 5.08 2.54 6.4516 3.2512 1.27 0.635"
WireBend=1
WireBendSet=0
WireCap=1
MiterStyle=1
PadShape=0
ViaShape=1
PolygonPour=0
PolygonRank=1
PolygonThermals=1
PolygonOrphans=0
TextRatio=8
DimensionUnit=1
DimensionPrecision=2
DimensionShowUnit=0
PinDirection=3
PinFunction=0
PinLength=2
PinVisible=3
SwapLevel=0
ArcDirection=0
AddLevel=2
PadsSameType=0
Layer=21
[Win_3]
Type="Schematic Editor"
Number=1
File="fab-step.sch"
View="35.0399 -95.0566 436.251 208.315"
WireWidths=" 0.0762 0.1016 0.127 0.15 0.2 0.2032 0.254 0.3048 0.4064 0.508 0.6096 0.8128 1.016 1.27 2.54 0.1524"
PadDiameters=" 0.254 0.3048 0.4064 0.6096 0.8128 1.016 1.27 1.4224 1.6764 1.778 1.9304 2.1844 2.54 3.81 6.4516 0"
PadDrills=" 0.2 0.25 0.3 0.35 0.4 0.45 0.5 0.55 0.65 0.7 0.75 0.8 0.85 0.9 1 0.6"
ViaDiameters=" 0.55 0.6 0.65 0.7 0.75 0.8 0.85 0.9 0.95 1 1.05 1.1 1.15 1.2 1.3 0"
ViaDrills=" 0.2 0.25 0.3 0.4 0.45 0.5 0.55 0.6 0.65 0.7 0.75 0.8 0.85 0.9 1 0.35"
HoleDrills=" 0.2 0.25 0.3 0.4 0.45 0.5 0.55 0.6 0.65 0.7 0.75 0.8 0.85 0.9 1 0.35"
TextSizes=" 0.254 0.3048 0.4064 0.6096 0.8128 1.016 1.27 1.4224 1.6764 1.9304 2.1844 2.54 3.81 5.08 6.4516 1.778"
PolygonSpacings=" 0.254 0.3048 0.4064 0.6096 0.8128 1.016 1.4224 1.6764 1.778 1.9304 2.1844 2.54 3.81 5.08 6.4516 1.27"
PolygonIsolates=" 0.254 0.3048 0.4064 0.6096 0.8128 1.016 1.27 1.4224 1.6764 1.778 1.9304 2.1844 2.54 3.81 6.4516 0"
MiterRadiuss=" 0.254 0.3175 0.635 1.27 2.54 1 2 2.5 5 7.5 10 0"
DimensionWidths=" 0 0.127 0.254 0.1 0.26 0.13"
DimensionExtWidths=" 0.127 0.254 0.1 0.13 0.26 0"
DimensionExtLengths=" 1.27 2.54 1 2 3 0"
DimensionExtOffsets=" 1.27 2.54 1 2 3 0"
SmdSizes=" 0.3048 0.1524 0.4064 0.2032 0.6096 0.3048 0.8128 0.4064 1.016 0.508 1.27 0.6604 1.4224 0.7112 1.6764 0.8128 1.778 0.9144 1.9304 0.9652 2.1844 1.0668 2.54 1.27 3.81 1.9304 5.08 2.54 6.4516 3.2512 1.27 0.635"
WireBend=0
WireBendSet=31
WireCap=1
MiterStyle=1
PadShape=0
ViaShape=1
PolygonPour=0
PolygonRank=0
PolygonThermals=1
PolygonOrphans=0
TextRatio=8
DimensionUnit=1
DimensionPrecision=2
DimensionShowUnit=0
PinDirection=3
PinFunction=0
PinLength=2
PinVisible=3
SwapLevel=0
ArcDirection=0
AddLevel=2
PadsSameType=0
Layer=97
Views=" 1: 35.0399 -95.0566 436.251 208.315"
Sheet="1"
[Win_4]
Type="Control Panel"
Number=0
[Desktop]
Screen="3171 2520"
Window="Win_1"
Window="Win_2"
Window="Win_3"
Window="Win_4"
This diff is collapsed.
This diff is collapsed.
File deleted
[Eagle]
Version="09 06 00"
Platform="Windows"
Globals="Globals"
Desktop="Desktop"
[Globals]
AutoSaveProject=1
UsedLibrary="C:/Dropbox/CBA/circuits/eagle/parts/comm.lbr"
UsedLibrary="C:/Dropbox/CBA/circuits/eagle/parts/connector.lbr"
UsedLibrary="C:/Dropbox/CBA/circuits/eagle/parts/dfet.lbr"
UsedLibrary="C:/Dropbox/CBA/circuits/eagle/parts/fablab.lbr"
UsedLibrary="C:/Dropbox/CBA/circuits/eagle/parts/lights.lbr"
UsedLibrary="C:/Dropbox/CBA/circuits/eagle/parts/microcontrollers.lbr"
UsedLibrary="C:/Dropbox/CBA/circuits/eagle/parts/motors.lbr"
UsedLibrary="C:/Dropbox/CBA/circuits/eagle/parts/passives.lbr"
UsedLibrary="C:/Dropbox/CBA/circuits/eagle/parts/power.lbr"
UsedLibrary="C:/Dropbox/CBA/circuits/eagle/parts/raspberrypi_bastelstube_v13.lbr"
UsedLibrary="C:/Dropbox/CBA/circuits/eagle/parts/sensor.lbr"
UsedLibrary="C:/Dropbox/CBA/circuits/eagle/parts/supply1.lbr"
UsedLibrary="C:/Dropbox/CBA/circuits/eagle/parts/tag-connect-2030.lbr"
UsedLibrary="C:/Dropbox/CBA/circuits/eagle/parts/tag-connect-2050.lbr"
UsedLibrary="C:/Dropbox/CBA/circuits/eagle/parts/usbraw.lbr"
UsedLibrary="C:/Dropbox/CBA/circuits/eagle/parts/SparkFun-Eagle-Libraries/SparkFun-Connectors.lbr"
[Win_1]
Type="Schematic Editor"
Number=1
File="fab-step-cl.sch"
View="194.165 4.19798 323.603 83.2251"
WireWidths=" 0.0762 0.1016 0.127 0.15 0.2 0.2032 0.254 0.3048 0.4064 0.508 0.6096 0.8128 1.016 1.27 2.54 0.1524"
PadDiameters=" 0.254 0.3048 0.4064 0.6096 0.8128 1.016 1.27 1.4224 1.6764 1.778 1.9304 2.1844 2.54 3.81 6.4516 0"
PadDrills=" 0.2 0.25 0.3 0.35 0.4 0.45 0.5 0.55 0.65 0.7 0.75 0.8 0.85 0.9 1 0.6"
ViaDiameters=" 0.55 0.6 0.65 0.7 0.75 0.8 0.85 0.9 0.95 1 1.05 1.1 1.15 1.2 1.3 0"
ViaDrills=" 0.2 0.25 0.3 0.4 0.45 0.5 0.55 0.6 0.65 0.7 0.75 0.8 0.85 0.9 1 0.35"
HoleDrills=" 0.2 0.25 0.3 0.4 0.45 0.5 0.55 0.6 0.65 0.7 0.75 0.8 0.85 0.9 1 0.35"
TextSizes=" 0.254 0.3048 0.4064 0.6096 0.8128 1.016 1.27 1.4224 1.6764 1.9304 2.1844 2.54 3.81 5.08 6.4516 1.778"
PolygonSpacings=" 0.254 0.3048 0.4064 0.6096 0.8128 1.016 1.4224 1.6764 1.778 1.9304 2.1844 2.54 3.81 5.08 6.4516 1.27"
PolygonIsolates=" 0.254 0.3048 0.4064 0.6096 0.8128 1.016 1.27 1.4224 1.6764 1.778 1.9304 2.1844 2.54 3.81 6.4516 0"
MiterRadiuss=" 0.254 0.3175 0.635 1.27 2.54 1 2 2.5 5 7.5 10 0"
DimensionWidths=" 0 0.127 0.254 0.1 0.26 0.13"
DimensionExtWidths=" 0.127 0.254 0.1 0.13 0.26 0"
DimensionExtLengths=" 1.27 2.54 1 2 3 0"
DimensionExtOffsets=" 1.27 2.54 1 2 3 0"
SmdSizes=" 0.3048 0.1524 0.4064 0.2032 0.6096 0.3048 0.8128 0.4064 1.016 0.508 1.27 0.6604 1.4224 0.7112 1.6764 0.8128 1.778 0.9144 1.9304 0.9652 2.1844 1.0668 2.54 1.27 3.81 1.9304 5.08 2.54 6.4516 3.2512 1.27 0.635"
WireBend=0
WireBendSet=31
WireCap=1
MiterStyle=1
PadShape=0
ViaShape=1
PolygonPour=0
PolygonRank=0
PolygonThermals=1
PolygonOrphans=0
TextRatio=8
DimensionUnit=1
DimensionPrecision=2
DimensionShowUnit=0
PinDirection=3
PinFunction=0
PinLength=2
PinVisible=3
SwapLevel=0
ArcDirection=0
AddLevel=2
PadsSameType=0
Layer=91
Views=" 1: 194.165 4.19798 323.603 83.2251"
Sheet="1"
[Win_2]
Type="Board Editor"
Number=2
File="fab-step-cl.brd"
View="8.79415 -3.43188 66.1499 56.5246"
WireWidths=" 0.127 0.2 1.016 1.27 2.54 0.15 0.0762 0.8128 0 0.254 0.2032 0.3048 0.4064 0.508 0.6096 0.1524"
PadDiameters=" 0.254 0.3048 0.4064 0.6096 0.8128 1.016 1.27 1.4224 1.6764 1.778 1.9304 2.1844 2.54 3.81 6.4516 0"
PadDrills=" 0.2 0.25 0.3 0.35 0.4 0.45 0.5 0.55 0.65 0.7 0.75 0.8 0.85 0.9 1 0.6"
ViaDiameters=" 0.55 0.6 0.65 0.7 0.75 0.8 0.85 0.9 0.95 1 1.05 1.1 1.15 1.2 1.3 0"
ViaDrills=" 0.25 0.4 0.45 0.5 0.55 0.6 0.65 0.7 0.75 0.8 0.85 0.9 1 0.35 0.8382 0.3"
HoleDrills=" 0.2 0.25 0.3 0.4 0.45 0.5 0.55 0.6 0.65 0.7 0.75 0.8 0.85 0.9 1 0.35"
TextSizes=" 0.254 0.3048 0.4064 0.6096 1.016 1.27 1.6764 1.9304 2.1844 2.54 3.81 5.08 6.4516 1.778 0.8128 1.4224"
PolygonSpacings=" 0.254 0.3048 0.4064 0.6096 0.8128 1.016 1.4224 1.6764 1.778 1.9304 2.1844 2.54 3.81 5.08 6.4516 1.27"
PolygonIsolates=" 0.254 0.3048 0.4064 0.6096 0.8128 1.016 1.27 1.4224 1.6764 1.778 1.9304 2.1844 2.54 3.81 6.4516 0"
MiterRadiuss=" 0.254 0.3175 0.635 1.27 2.54 1 2 2.5 5 7.5 10 0"
DimensionWidths=" 0 0.127 0.254 0.1 0.26 0.13"
DimensionExtWidths=" 0.127 0.254 0.1 0.13 0.26 0"
DimensionExtLengths=" 1.27 2.54 1 2 3 0"
DimensionExtOffsets=" 1.27 2.54 1 2 3 0"
SmdSizes=" 0.3048 0.1524 0.4064 0.2032 0.6096 0.3048 0.8128 0.4064 1.016 0.508 1.27 0.6604 1.4224 0.7112 1.6764 0.8128 1.778 0.9144 1.9304 0.9652 2.1844 1.0668 2.54 1.27 3.81 1.9304 5.08 2.54 6.4516 3.2512 1.27 0.635"
WireBend=3
WireBendSet=0
WireCap=1
MiterStyle=1
PadShape=0
ViaShape=1
PolygonPour=0
PolygonRank=3
PolygonThermals=1
PolygonOrphans=0
TextRatio=8
DimensionUnit=1
DimensionPrecision=2
DimensionShowUnit=0
PinDirection=3
PinFunction=0
PinLength=2
PinVisible=3
SwapLevel=0
ArcDirection=0
AddLevel=2
PadsSameType=0
Layer=47
[Win_3]
Type="Control Panel"
Number=0
[Desktop]
Screen="3171 2520"
Window="Win_1"
Window="Win_2"
Window="Win_3"
This diff is collapsed.
This diff is collapsed.
File deleted
...@@ -36,162 +36,6 @@ Realized today that I had 5v, 24v lines on the plug optimistically configured fo ...@@ -36,162 +36,6 @@ Realized today that I had 5v, 24v lines on the plug optimistically configured fo
![route](images/2021-06-19_routed.png) ![route](images/2021-06-19_routed.png)
![schem](images/2021-06-19_schem.png) ![schem](images/2021-06-19_schem.png)
## 2021 10 19
Thinking about updating this w/ easier / simpler stepper hardware, have this list of new chips to try:
- 296-DRV8434RGERCT-ND (stepper chip)
- DRV8436RGERCT
- 296-40076-1-ND (h-bridge w/ current sense output)
- MAX14871EUE+CT-ND (A4950 a-la-moderne)
## 2021 12 05
I have a few hours today, think I might roll an update for this: I want closed loop control everywhere... and a little better mounting / encoder options.
I think I will do...
- new h-bridge... also wouldn't mind a bump-stall-endstop, but that's a choice
- the *other* rs-485 driver: easier to solder, more in-stock
- samd21, ofc
- ... maybe a thru-hole for stepper shafts, and then connector for various encoder options ? spi, quadrature, etc
- delete the bus button, will use some other wake-up,
- or share that pin w/ the limit
Actually that RS485 chip (ISL3176EIBZ) that *was* in stock two weeks ago is now OOS... so I suppose I am sticking with the chip that I have. It's a shame about this supply chain stuff, will make it hard to share the boards.
So! I think I just need to choose encoder pinouts / connector, and an h-bridge.
### H-Bridge Picking
**DRV8816**
We have the DRV8816, which is a nice part but probably has too many control pins...
![8816](images/2021-12-05_drv8816.png)
I especially like that it delivers amplified current sense output, so that one can run a real current controller externally... four input pins though, and running 2x of these I might even run out of pins.
Though I think I can just tie both EN's to the same pin - well, all four of them, so this is maybe a contender. But means rolling current controllers... simpler circuit (no RC filter -> vrefs) but more complex code.
Ship date is May of 2022, ffs.
**MAX14871**
This one is basically a modern A4950, I think, but it's unclear if the built-in current regulation is really good enough to 'point' - might be more of a
**A4954**
This is basically (?) two A4950's in one chip... yep, haha that's it: it's also out of stock. FFS.
**DRV8841**
A TSSOP, long boy, kinda complex, but probably has all the whistles we want. In stock... only 146 though...
Sheesh, this is a lot - but it might be the one.
![8841](images/2021-12-05_drv8841.png)
It's a decent count of passives, but maybe still smaller overall. I'm going to look for single h-bridges for a minute.
**DRV8801**
Same energy as the DRV8816, slightly different?
### The DRV8841
I am tempted to try this one out... I want to see about pins. I should only need 6: 2 for each h-bridge to set state / dir, and 1 for each vref.
Yeah there's xI0 and xI1, which are current scalars: I can tie them all together and either ^ logic, to set full current all the time, or set them to a digital pin, and use them as en/disable.
Alright then, this might be it, or I'll give it a go at least.
This becomes crowded... thinking about -> 0805s.
- 0805's
- thru-hole jtag bb
- thru-hole bus conn.
Now, I came to this party because I wanted to see better encoder / board mounting to motors. I am still thinking, I guess, that part of this maybe means punching a thru-hole in the circuit so that it can mount more or less to the motor face, then the encoder part can float above...
So I think we assume the existence of an interposer, then this mounts to the interposer with whatever hole pattern I'd like... and I can do a stack / standoff thing for the magnetic encoder, if we go that route.
Moving along... I think I need to find my cable.
For that, I'm tempted to just lay down two sets of solder-on pads... the limit,we want a connector for, but the other stuff... it'll be bundled in here together. A little ribbon-with-soldered-ends makes sense for a prototype thing.
JST-XH seems like a common plug; it's the LiPO balance plug. There are pre-crimped leads available, or even on amazon.
The through hole in the circuit causes all kind of routing trouble, I am thinking perhaps... I need to look at dual-shaft motors to get a sense for how necessary this is.
Many of the rear shafts are quite long, so this would be real nice. Though I won't use it with pulse encoders...
Damn and I can line this encoder pinup straight through with just a liiitle more pinch...
And then the mounting is just another little bit of complicated because of the USB, which I am thinking I might use the vertical mount for...
OK it's more of a monster than I had thought, but it's nearly done.
I think I am going to put it (and myself) to bed for now, I'll probably get at it tomorrow AM, do the ~ 2 hours to finish it off, always good to do fresh eyes anyways.
## 2021 12 06
More or less done w/ this now;
![routed](images/2021-12-06_routed.png)
![schematic](images/2021-12-06_schematic.png)
Sending these to fab, doing orders, then we're off. I leave the actual CAD design of the mount, etc, to myself in the future.
### Quadrature Decoding
Ah - one last thing. Dave pointed out that I should have paid attention to the rate of quadrature signal generation - so I had an ohshit moment for this...
There's a sheet now, basically I wanted to know how long between pulses at certain rates. This is kind of punishing... I can do 1024 PPR @ 1K RPM makes for 5.8us between pulse, if I go to the encoder's full 4096 PPR I get 1.46us: a lot.
So I have ordered this part `LS7366R-S` which is a hardware counter (SPI interface) that I could inter-pose between the encoder, my circuit, etc... and I just noticed that simpleFOC uses interrupts, seems fine. Here's [their doc](https://docs.simplefoc.com/encoder).
For the interrupts - my beef is that I have some i.e. ~ 4us (?) interrupts happening pretty regularely on the UCBus, so adding this additional requirement is troublesome.
I need to know if interrupts can interrupt others - haha - otherwise a 2us QDEC interrupt spacing on top of a 5us comms interrupt will miss a tick.
ARM has the NVIC - nested vector interrupt controller - so long as I put the quadrature interrupts as higher priority, it should be fine. Nice, this project goes back to bed...
## 2022 01 07
Assembling this now,
| part | qty / brd |
| --- | --- |
| 0.1uF | 4 |
| 1uF | 5 |
| 10uF 1206 | 2 |
| 10uF 0805 | 1 |
| LED 0805 | 2 |
| 300mOhm 1206 | 2 |
| 470R | 2 |
| 10k | 2 |
| 1M | 1 |
| RST | 1 |
| VREG | 1 |
| Bulk Cap | 1 |
| RS485 | 2 |
| DRV | 1 |
| D21 | 1 |
| Vertical USB | 1 |
The two sizes of 10uf was a mistake, corrected that now.
VREF... calculation says `I = Vref / (5 * R)` so if I want max I = ~ 2a, VREF 0-3.3, I have ~ `2 = 3.3 / (5 * R)`
10R = 3.3, R = 330mOhm, dang. In the example they spec a 250mOhm sense R.
Well as it turns out I have only 100mOhm sense resistors, so I might just be sending a digikey order in tonight.
I could probably get a hello world with a 100mOhm resistor, that'd do
I = 3.3 / (0.5) -> I = 6.6 -> a lot of amps at full spec, decreasing my effective pointing resolution for current control... clamping it by about 70%. So I should probably do something else with my time!
## 2022 01 10 ## 2022 01 10
Back here but I am not working on the closed-loop version now... need to split these repos... writing code for the actually-fab-abble version. Back here but I am not working on the closed-loop version now... need to split these repos... writing code for the actually-fab-abble version.
...@@ -338,7 +182,3 @@ OK I've diffed all that... need to make a microstep update actually do something ...@@ -338,7 +182,3 @@ OK I've diffed all that... need to make a microstep update actually do something
12520 / 24976 12520 / 24976
Done, for the time being. Probably needs in-mcu guards against large rates. Done, for the time being. Probably needs in-mcu guards against large rates.
## 2022 01 11
Back to assembling the -cl versions here.
\ No newline at end of file
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment