Open hongyu4671 opened 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.
sample = measure_one(4, 4);
Now you are measuring a single point in the upper left corner of the matrix.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!
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.
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.
Dear Arminbw,
I have made new main, signal and sensor board (without socket). As you suggested, I have measured some pins.
with code: measure_one(4, 4) I got a 5v from pin5 of Signal_board
with code: measure_one(4, 4) I got a wave from PIN5 of U13 of Sensor_board. After I press the matrix, the Vmin and Vbas decreased, Vpp increased. (Without press, just touch the matrix, the signal can not decrease that much)
with code: measure_one(m, l) the pins, which connect with the matrix, seemed like work well. (The signals have the shift)
with code: measure_one(m, l) when I pressed the matrix, I can only see some black lines. I can not tune the parameters to get the hand shape.
Thanks a lot for your advices!
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:
The signal board is sending a nice 5V square wave to the sensor matrix.
The sensor board is receiving the coupled wave.
The observable changes on PIN5 on UI13 are very small.
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.
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?
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)
.
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.
Code: measure_one(4,4) I can get nearly 1V change from the Pin5 of U13 Before put fist (Pin5 of U13) After put fist (Pin5 of U13)
Code: measure_one(4,4) when I change "halfwave amp" signal from Pin3 of OPAMP-3 (mother board) can get the change as in the following pics
Code: measure_one(4,4) When I put my fist on the glass, I can see some change in the viewer of GUI. When I put my fist on, It seems like more dots came out
The PCB boards seems like works good, is it time to rebuild the matrix on glass?
Btw, its a typo for the (m, l)
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.
Hi Hong, did you make any progress? Can I support you in any way?
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.
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).
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)
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.
Many thanks for your help!
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.
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.
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).
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.
With code measure_one(1,1), after tuning the parameter I can get the screen from black to grey (when my fist touch the wire), when my other hand hold the ground, it can go to white (when my fist touch the wire). with the circuit below:
With code measure_one(1,1), when I changed the circuit to 6 signal lines, 8 sensor lines (circuit below), I can not get the same good result as before.
With code measure_one(k, l), (k=6, l=8), noise came up, and it can not be removed.
Hi Hong, sorry for the long delay. I will try to replicate your setup over the weekend.
I am trying to sum up your last post and comment on it point-by-point:
measure_one(1,1)
shows some promising results. Looking at your photo, I would suggest putting the glass not in-between the wires, but on top of it. Your hand should not touch the wires directly.signalboardWires = 6
and sensorboardWires = 8
you get diagonal black lines. The lines you are seeing are not necessarily noise. Your board´s firmware is sending 6x8 crosspoints to your computer, but wiretouch_monitor_osx.app is still expecting 32x22 crosspoints. To get a correct visualization you would need to change the values in wtmApp.h
and then re-compile the software.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.
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.
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.
Does anyone have the same problem?
Question