Talk:CNC Torch Table Z Height Control

From Open Source Ecology
Revision as of 02:08, 22 July 2017 by Oliver (talk | contribs)
Jump to navigation Jump to search

Sat Jul 22, 2017

Specific Steps for Signal Improving

1. Software level?

2. Hardware improvement? Ring size?

3. Filtering?

4. Averaging?

5. Calculation vs. observed - are we getting the expected capacitance? What is the current signal to noise ratio?

6. Improving amplitude of capacitance?

7. Better test-rig and -setup

8. Timing-strategies, adding delays between motor-movements and measuring may help against noise


Software

- First place for improvement, e.g. by applying filters for smoothening the signal and timing-related strategies

- hammer out default test-scenario (and test-rig setup)

- Visualization of sample data, e.g. by direct user interface or the host-monitor-tool. With help of the "processing"-IDE one can simulate the effects of any filters etc. based on the sample-data from the running process and have meanwhile a visual introspection. The algorithm-part then can be put modular into the firmware (via the arduino IDE) and tested directly on the board.

- other kinds of signal-processing algorithms and techniques, like frequency distribution (gaussian, variance, chi-square) up to pattern-recognition (ANNs), etc.

- doing something with the registers of the AD7747 chip according to its datasheet. Maybe there are still unused option, e.g. for calibration, or influence sampling-rate, gain etc.

- algorithm in the firmware could still contain bugs to eliminate

- there are some "Adjustment Screws" in the firmware, e.g. width of window for sliding average that can/should be fine-tuned

- i wonder, whether it is possible to make a kind of deal with the AD7747: It seems to be able to measure along a range of up tp 5cm. Could we maybe exchange this towards a smaller range (like 2cm) but with a better resolution ?


Hardware

- Sensor: bigger ring-version

- Better grounding and shielding, has huge influence on signal-quality. I tried to connect the case of the stepper-motor to the shield-potential, but that made the signal much more worse, maybe because GND and SHield-GND are two different potentials

- other kind of shields / EMF-countermeasures, like cages

- add end-stop, implement push-button functionality of the KY-040, for improving the flow and control of the experimental setup. E.G.: A testrun may start with its calibration loop from a manually adjusted home-position and then goes into balancing-loop. But if you start the Serial Monitor from the Arduino IDE, it regularly resets the board and starts again the calibration-loop on a wrong position. Steering this by the jogwheel pushbutton could be helpful in this case. Also Host-monitoring could be replaced by a direct-user-interface (like OLED-display).


Filtering and Averaging

- a pre-averaging is implemented and its range is one of the "Adjustment-Screws". Tested with n=4 or n=10. Problem is, that the measurement consumes time, maybe 100ms or more per sample. So you can not get very high here without slowing the whole tracking down. But maybe this could also be an option: is it possible to slowdown or even stop the torch-movement without negative effects on the cut-quality ?


- a sliding average is implemented and its width is another screw. tested with w=4 and w=10. Bigger value means smoother signal noise is well eliminated. Problem is, that you introduce a delay hereby, because width a window of w=10 it needs in case of a real change longer, until it gains its full wheigt within the calculation for statistical reasons. IOW: bigger window = better signal, smaller window = more immediate reaction, but also on noise-artifacts.

- a border-setting of e.g. 2.4 aF is implemented. If the deviation of the sample is not bigger than 2.4 aF difference from the average, it is considered as noise-artifact and the movement doesnt take place. less (unnecessary) movement means less noise caused by the motor, iow. this eliminates, that the tracking follows the noise (like seen in the first part of the video) and instead can hold its position calm and constant. But oth a big border- or difference-value means also a delayed reaction on real changes of the ground level.

- other methods are possible, preferably working statistically, meaning without additional time-needs e.g. for more samples.


Calculation vs. observed

- important. [todo: add calculations here]

- we also need a measurement that controls the correctness of the positioning while development and characterize typical standard-deviations.