arminbw / wiretouch

an open multi-touch tracker based on mutual capacitance sensing
http://www.arminbwagner.com/wiretouch
GNU General Public License v3.0
48 stars 9 forks source link

Can't get image from the Wiretouch Monitor #4

Open hongyu4671 opened 5 years ago

hongyu4671 commented 5 years ago

Hi guys,

I have followed the Wiretouch project description step by step. When the circuit (v1_30) and the sensor plate are finished, I have changed all parameters, unfortunately still can not get any image. When I change the “HALFWAVE AMP” in WireTouch Monitor 0.24, nothing changed (see in attachment "Screen Recording"). The parameters look like worked well.

OSX Version: 10.14.3 Xcode Version: 9.2 (I used OPA2350EA/250 for main-board, sensor-board and signal-board).

Circuit

Does anyone have the same problem?

Question

arminbw commented 5 years ago

Hi Hong,

Your build looks great! Let’s hope we can get it going soon.

I’ve had a look at the video you sent me and the images look a bit too uniform to me. Also, the halfwave amp doesn't seem to do much at all. But before we go into that, please try the following:

If you still get nothing, you will need an oscilloscope to narrow down the problem.

hongyu4671 commented 5 years ago

Dear Armin,

thanks for your reply.

After I set the sample delay to 1, output amp to 1 and frequency to 640kHz, I try to increase the halfwave amp to get some dots. Only when I set gamma to 16.00, then I can get some grey dots. But I can't get the hand shape by turning the output amp(video in attachment).

As you said, I set sample = measure_one(4, 4), at first, I can get a 5v wave from pin7 in signal board (picture in attachment). I felt there have some open circuit in the signal board (I use a socket to connect the ICs), after I presse the Multiplexer in signal board then I can't get any thing.

I will make new main and signal board. If I get something new, I will update this issue.

Thanks a lot for your advices!

Screen Recording 2019-03-20 at 11 13 16 5V_Wave

arminbw commented 5 years ago

I am not sure if I understood you correctly. When you remove the multiplexer from your signal board, you can measure a 5V wave at P7 (compare attachment)?

If that is the case, I would suggest to check if p7 (and something else) is somehow shorted to the ground plane – because p7 shouldn't be connected to anything if the multiplexer is missing.

Screenshot 2019-03-30 at 18 54 37

If you didn't solder the ICs yet, you might want to build your signal board on the bread board. This is what I did, to reduce prototyping costs.

hongyu4671 commented 5 years ago

Dear Arminbw,

I have made new main, signal and sensor board (without socket). As you suggested, I have measured some pins.

Thanks a lot for your advices!

arminbw commented 5 years ago

OK, let me try to sum this up: You rebuild all boards and you get different results now. So there was something wrong with the old ones. I suspect there was a short on the signal board, but we don't know for sure.

The measurement you made with measure_one(4,4) on the new setup tells us the following:

Please note: you shoudn't press. We are not measuring contact or pressure, but proximity by altering the electrical field.

I covered my sensor matrix with a 1.5mm thick glass plate, which I took out of a picture frame. At the beginning I used plastic foils, but glass worked best. Please try that or something similar and see if you can still see small changes on PIN5 of U13 on the sensor board when you put your fist on the upper left corner of the matrix (measure_one(4,4)). The difference can be very subtle, but it should be still noticeable on the oscilloscope. The image I attached shows what I get at 132kHz and at ca. 750kHz.

measurements

You see, the amplitude changes just a little bit. But If you see less of a difference, you might want to try other cover materials. Also try using different wires for your sensor matrix. Don't rebuild the whole matrix. Just build a single cross point for testing purposes.

If you get something similar, you should be able to measure the same signals where the sensor board connects with the mother board - on P4. Now follow the trace on the mother board. Measure PIN3 of OPAMP-3 while pulling up the "halfwave amp" in the GUI. How does it look like? Can you still spot a difference when you put your fist on the glass?

arminbw commented 5 years ago

As a side note: I think it’s a typo, but if you want to measure the whole matrix, change the firmware code back to measure_one(k, l) not measure_one(m, l).

hongyu4671 commented 5 years ago

I have changed the cover material to 1.5mm glass. As you suggested, I use two Dupont Line to make the cross. Now I can get some big change of the signal.

The PCB boards seems like works good, is it time to rebuild the matrix on glass?

Btw, its a typo for the (m, l)

arminbw commented 5 years ago

Image 1 and 2 look pretty good!

Regarding image 3 and 4, where you measure Pin3 of OPAMP-3: Did you reduce the frequency (269kHz?) here to get better measurements? If not, something might be wrong here. Please check. And can you still see a difference in the wave when you lift and lower your fist? I you can see a difference on the oscilloscope, increase the halfwave amp. Try to "cut away" the not relevant part of the wave. Compare figure 2 (E and F) in the paper.

Please don’t rebuild the matrix until we get a clear visual difference on the screen while measuring a single crosspoint. I am not speaking of some dots. The whole screen should turn from black to white while you lower your fist on the crosspoint. If you only get a grey screen, either the output amp and/or the halfwave amp are set too high. Or something else is still wrong and needs to get fixed.

Also, please reduce the sample delay while debugging.

arminbw commented 5 years ago

Hi Hong, did you make any progress? Can I support you in any way?

hongyu4671 commented 5 years ago

Dear Armin,

these days I have to solve other project problem, next month I will check the circuit.

And one more question, I want to use the circuit and the software for a thin films structure (bottom and top electrode: 50nm gold, insolation layer: 100nm Al2O3). Is it possible to use the circuit and software for the thin film device?

Best regards, Yu Hong 在 2019年5月26日 +0200 17:04,Armin notifications@github.com,写道:

Hi Hong, did you make any progress? Can I support you in any way? — You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub, or mute the thread.

hongyu4671 commented 5 years ago

Hi Arminbw,

I have tried follow the steps, which you showed in your Youtube video, I can get a better result as below (Gif 1). (Test One single cross) (Halfwave amp: 246, Output amp: 4, Sample delay: 1, Frequency: 356kHz)

At the beginning of the video, first 2 times, the other hand, which not upon the cross point, touched the laptop metal cover, which should connect with ground.

The last 2 times, the other hand didn’t touch anything (the result in the software was not that clear). Gif1

Here have a strange thing, when I connect oscilloscope with the PIN3 of OPAMP-3 and connect the probe ground with ground from the mainboard, the result seems better. And the other hand, which not upon the cross, did not touch anything. And the signal from PIN3 of OPAMP-3 have the change from 25mV (before I put fist) to 18mV (after I put fist) Gif2

dso_06_20_01_34_21 dso_06_20_01_35_04

And I have a question here, the white or grey dots are the noise of the circuit, aren't they? We should change the Halfwave amp to get a pure dark screen, right? But when I change it below 246, the screen goes to dark, when I put my fist on top, nothing changes. When I change it beyond 247, the screen goes completely white.

When I increase the Signal Frequency to 640, the result even better. It changes from grey to full white. Gif3

Many thanks for your help!

hongyu4671 commented 5 years ago

And one more thing, I turn off oscilloscope, remove the connection from Pin3 of OPAMP-3, but still connect the ground pin from mainboard with the oscilloscope's ground, the result are good as below. Gif4

hongyu4671 commented 5 years ago

Hi Arminbw,

If I didn't misunderstand the code, _measure_one(k, l)_, when we change the k, the signal from signal board should change.

When we use _measure_one(0, 0), the signal should come from Pin 1 of signal board, measure_one(1, 0)_, signal should from Pin 2, right?

But when I change the code, the signal doesn't have any change, It comes always from Pin 7 and Pin 23, which should get with code _measure_one(6, l) and measure_one(22,l)_

All the signals are same like bellow. dso_06_20_20_09_58

arminbw commented 5 years ago

Hi Hong,

a change from 25mV to 18mV seems pretty good to me. The video you posted (where you are using 640kHz) looks good too, but the screen should be black when your hand is raised, not grey.

Try to reduce the halfwave amp a bit while lifting your hand. Turn it lower than 247. The screen should be black. Then try to increase the output amp a little bit (higher than 1). When the screen turns grey, reduce the output amp a bit again, so the screen is black again. Then lower your hand and see if you can turn the screen white. It can be a bit tricky to get the full range/sensitivity.

Regarding your other question: Yes, grounding the oscilloscope while making measurements helps. The motherboard has an extra pin to support that. Just be careful not to short anything. And yes, grounding the board and making measurements can alter the results a bit. Grounding your laptop (connecting it with a different power supply or cable) might also change the results. Unfortunately there are lots of variables.

Regarding your last post: Yes, measure_one(0,0) should only send the signal to Pin 1. If you see the wave at Pin 7 and/or Pin 23, something is wrong. Maybe the software isn't running – or maybe the multiplexer isn't working correctly. You could test this with the oscilloscope. The following image shows what mux1 should do when you set sample = measure_one(1, 0).

mux1_measure_1_0
hongyu4671 commented 5 years ago

Hi arminbw,

I have tested the 2 MUX in signal board, the signal looks good. I think last time, I forgot to run the software.

arminbw commented 4 years ago

Hi Hong, sorry for the long delay. I will try to replicate your setup over the weekend.

arminbw commented 4 years ago

I am trying to sum up your last post and comment on it point-by-point:

An easier way to quickly check if your small 6x8 build is working, is to set your firmware code back to 32x22 crosspoints. The screen should turn all white with a little black rectangle inside.

small_build_breadboard small_build_monitor

I tried to replicate your setup (see pictures above). I can track some movement in the black area, but there is a lot of noise bleeding in. I would suggest to increase the distance of the wires (e.g. 1cm x 1cm squares) and to try different wire gauges. I’m sorry that I can’t give you better advise at the moment than to basically ”play with all parameters”. Debugging hardware prototypes remotely is …not easy.