diff --git a/README.md b/README.md index 232d5a503f97e55591cbdeac3a6e266d015a3a65..e6a2736322c8124cc58b549ae8eb2e28f1dfa46a 100644 --- a/README.md +++ b/README.md @@ -11,6 +11,12 @@ These are stepper drivers! They run: The hardware is set up to run on the 'UCBus', a synchronous embedded protocol that establishes a bus clock *and* data lines on one RS485/UART Phy. Details are not documented anywhere ATM, but it w o r k s. +## Closed Loop + +Circuits have a land for an AS5147P encoder, with which they can run closed-loop stepper control: + + + ## Melted Version V02 I revisioned this recently to skip the module and just build the whole circuit on one board. Schematic is identical to V01, but now is much smaller (can fit on a NEMA14 size motor) and all components are SMT on one side, i.e. the AS5047P is on the same side as the H-Bridges, Micro etc. diff --git a/controller/client/clStepClient.js b/controller/client/clStepClient.js index 6517171a9962233a48ae85a22474163b175478a2..9b2b74790815a743e37e593a1bcdb4e70a6fd2bc 100644 --- a/controller/client/clStepClient.js +++ b/controller/client/clStepClient.js @@ -198,7 +198,7 @@ pidSetBtn.onClick(() => { let angleRandoBtn = new Button(10, 400, 94, 14, 'targ') angleRandoBtn.onClick(() => { - let targ = Math.random() * 200 - 100 + let targ = Math.random() * 360 vm.setTarget(targ).then(() => { angleRandoBtn.good(`${targ.toFixed(3)}`, 250) }).catch((err) => { @@ -219,7 +219,7 @@ angleWrapBtn.onClick(() => { // units per revolution -let uprVal = new TextInput(10, 460, 100, 20, '40') +let uprVal = new TextInput(10, 460, 100, 20, '59.6929') let uprBtn = new Button(10, 490, 94, 14, 'upr') uprBtn.onClick(() => { diff --git a/log/2021-02-25_cl-step-perf.mp4 b/log/2021-02-25_cl-step-perf.mp4 new file mode 100644 index 0000000000000000000000000000000000000000..3a2c6baa544f4f5d21026fb6feab425ceab21316 Binary files /dev/null and b/log/2021-02-25_cl-step-perf.mp4 differ diff --git a/log/cl-step-control-log.md b/log/cl-step-control-log.md index 8de71e11a38cc220fb38330b9e7dda4fa68b604a..4e282641a8913b19d9e04405e8dc4a4fc8d856b6 100644 --- a/log/cl-step-control-log.md +++ b/log/cl-step-control-log.md @@ -1405,4 +1405,10 @@ OK, all seems sound now. So tomorrow would be about setting this up in a 'real s - match vm api, - build clank-stretch - put it on the bus, check if all commands can still op. through the bus: this is higher bandwidth, check for drops etc, maybe you have to fix those now -- configure to grab positions from the bus, you'll be mixing closed- and open-loop motors not irregularely. \ No newline at end of file +- configure to grab positions from the bus, you'll be mixing closed- and open-loop motors not irregularely. + +## 2021 02 25 + +FWIW I made a demo of this today, and it looks pretty good: + + \ No newline at end of file