HapticSPM / LabVIEW-VIs

The VIs made in LabView that can connect to the Nanonis STM software.
0 stars 0 forks source link

General Notes #8

Open freemanmaxwell opened 3 years ago

freemanmaxwell commented 3 years ago

What is Most Likely Happening

How to fix:

freemanmaxwell commented 3 years ago

Try replacing 'current' VI with signal-get vi.

freemanmaxwell commented 3 years ago

If Setpoint, get rid of it. If current, try signal-get or removing it altogether and finding another source If Z position write, there's not much we can do. If Z position read, there's not much we can do.

freemanmaxwell commented 3 years ago

It turns out that running in parallel loops means that the arm is much more reliable. I suggest doing this regardless if there's a better way to fix it.

freemanmaxwell commented 3 years ago

Current loop time is about 6 ms per loop.

freemanmaxwell commented 3 years ago

When running in parallel loops, a nanonis-loop wait time of: >40 ms makes the arm unusable, 40 ms - 30 ms has some feedback but is the minimum threshold for usability, 30 ms - 0 ms is completely usable.

While I haven't measured the loop time, I suspect (rather, hope) that it is less than 40 ms. Effectively solving this problem.

freemanmaxwell commented 3 years ago

Unfortunately, it seems that doing it this way introduces bouncy feedback. I tried implementing a bandstop butterworth filter at the frequency it bounces, but the behavior became more erratic. It seems that with the right downward pressure on the pen, this feedback goes away. I'd say it's a problem for another day, but its extremely annoying.

freemanmaxwell commented 3 years ago

As of now, there are two parallel loops (not including the sound module).

NANONIS LOOP:

HAPTIC LOOP:

The haptic loop seems to be fine running as fast as possible. The nanonis loop feels like it will be fine running as fast as possible (assuming total loop lag time is <~25 ms).

The question is whether or not one VI is running slowly in the Nanonis version or if they all are. If only one or two are running slowly then an analog solution may be on the table.

freemanmaxwell commented 3 years ago

To speed up the nanonis loop, it may be possible to:

freemanmaxwell commented 3 years ago

When hardness is set to 0.7, even extreme delays (I've tested up to 100 ms) are usable. Hardness above 0.8 seems to cause feedback. Playing with the max force might yield a more usable/harder curve, but while 0.7 isn't ideal, it isn't awful either.