Gas station without pumps

2017 December 18

EKG without amplifier

Filed under: Circuits course,Data acquisition — gasstationwithoutpumps @ 18:24
Tags: , , , ,

I have done a lot of EKG projects on this blog, mostly for the Applied Electronics course, where an EKG amplifier is Lab 12, but some just for fun. Today I decided to see whether one could do an EKG with just the Teensy LC board or just an Analog Discovery 2 USB oscilloscope.

The project was partly inspired by the Digilent post DIY ECG using a Analog Discovery 2 and LabVIEW, which I saw the title for and assumed that they were using just the USB oscilloscope.  It turns out that wasn’t what they meant—it is just a simple 6-op-amp EKG amplifier looked at with the USB oscilloscope.

The setup I tried was about as simple as you can get—I put on three electrodes wired up as Lead I (see earlier post for this configuration), connected the body electrode to ground, and the other two electrodes to the plus and minus leads of channel 1 of the Analog Discovery 2.

The signal I got was quite small (about 1mV) and buried in 60Hz noise:

The raw signal from the oscilloscope, sampling at 1200 Hz, shows some spiking from the pulse, but a lot of noise. The big R spike is only about 3 LSB, so quantization noise is a problem.

I ran the recording through a digital filter to bandpass filter it to 0.1Hz–100Hz and put in a notch from 58Hz to 62Hz. The 100Hz low-pass had the effect of averaging out the noise, producing a signal with much finer resolution than the raw ADC values:

After filtering, the EKG signal is fairly clear. I don’t recommend trying to use only a couple of the lower-order bits of an ADC, but it is surprising how much information can be recovered by the filter.

I also tried using a Teensy LC board running PteroDAQ, using the A10–A11 differential channel. I had to bias my body between 0V and 3.3V, so I used a pair of 120kΩ resistors (one to GND, one to 3.3V) to connect to the body electrode.

Once again the raw signal was not great:

The signal had less noise than the signal to the Analog Discovery 2, but the signal was smaller also, negating the value of the finer steps of the ADC on the Teensy LC.

Once again, digital filtering restored the signal:

The signal-to-noise ratio here looks a little worse than for the Analog Discovery 2, despite the raw signal looking cleaner.

I managed to get a cleaner signal for the Analog Discovery 2 by turning off the surge protector, so that there was no 60Hz current anywhere nearby. The results after filtering were no better (and possibly worse) than from the signal with the 60Hz interference, so I did not bother plotting them for this post.

My conclusion is that it is possible to get EKG signals without adding an amplifier, but you can only see the signal clearly if you do some filtering.  I’ll have to decide whether to recommend to students that they record signals directly from the EKG electrodes to get an idea what their amplifiers have to work with.

2017 June 25

Fidget spinners revisited

Filed under: Uncategorized — gasstationwithoutpumps @ 17:55
Tags: , , ,

In Fidget spinners, I wrote about measuring and modeling the acceleration of two fidget spinners, 5-spoke spinner that cost $6.90 made from plastic and brass and a 3-bladed spinner that cost$8.90 milled out of brass:

The 5-spoked wheel spinner weighs 32.88±0.03g, and the 3-spoke brass spinner weighs 61.14±0.02g.

The previous post looked only at the fidget spinners spinning vertically (that is, with a horizontal axis), but I had noticed in playing with the spinners that they seemed to have different drag in different orientations, so I redid the measurements with the spinners horizontal (that is, with a vertical axis). I had a somewhat harder time spinning the spinners fast with them horizontally mounted, as my makeshift support for the photointerrupter was a bit precarious.

The 5-spoke wheel seemed to run smoothly , but the fit suggests more dry friction and less fluid friction.

The 3-spoke spinner really does not like to spin horizontally.

To visualize the physics better, I tried making acceleration vs. velocity plots for the fitted models:

When holding the wheel horizontally, there seems to be mainly dry friction, almost independent of the speed of the spin.

The 3-spoke spinner has much worse drag at all speeds when held horizontally rather than vertically. The fluid drag seems to be about the same as before, but there is much larger dry friction component (possibly from brass-on-brass contact between the spinner and the axle caps).

As expected from fidgeting with the spinners, the 3-blade spinner has much more drag than the wheel, both horizontally and vertically. The change from mainly wet friction to mainly dry friction for the wheel was unexpected, though.

Update 2017 Jun 25 21:15:  My wife just pointed me to a Wired article: https://www.wired.com/2017/05/the-phyiscs-of-fidget-spinners/ which does a poorer job of the same thing I did. They sampled at a fixed rate, rather than recording time stamps on each rising edge, so they had much poorer time resolution, and they assumed constant acceleration (dry friction), which is only appropriate for low-quality bearings.

2017 June 20

Fidget spinners

Filed under: Uncategorized — gasstationwithoutpumps @ 17:34
Tags: , , ,

I recently bought two fidget spinners from Elecrow:

The 5-spoked wheel spinner weighs 32.88±0.03g, and the 3-spoke brass spinner weighs 61.14±0.02g.

The heavier 3-bladed spinner cost $8.90 and is milled out of brass (though the site claims “pure copper”, the material looks like brass and is slightly magnetic, so I’m sure it is brass).The lighter 5-spoke spinner cost$6.90.

The lighter spinner is easier to get to high speed, spins longer, has more gyroscopic effect, and has a dimple for balancing it on a pencil point, so makes the better fidget spinner in many ways.

I was curious whether I could characterize the fidget spinners electronically. I have a photointerrupter (an aligned LED and photodetector) from Sparkfun with a 1cm gap that the spinners just fit in.

Here is the 3-spoke spinner mounted in the Panavise Jr, with the photointerrupter counting 6 ticks per revolution.

Here is the 5-spoke spinner with the photointerrupter counting 5 ticks per revolution.

I set up PteroDAQ to record a timestamp on every rising edge of the photodetector, which counts 5 uniformly spaced ticks per revolution for the 5-spoke wheel, but 6 ticks (in 3 pair of closely spaced ones) for the 3-bladed spinner. I can then plot the angular position of the spinner as a function of time in gnuplot:

plot '3-spoke-spin-down-ticks.txt' u 1:(\$0/6.)


I tried fitting the spin-down using constant deceleration (a quadratic), using deceleration proportional to velocity (exponential decay), and using a model that has both terms: $v_{0}\tau(1-e^{-t/\tau})+a t^2 /2$.  I expressed position as number of turns (that being simpler to interpret than radians), and so the initial velocity $v_{0}$  is in turns/sec, acceleration $a$ is in turns per second per second, and the decay time $\tau$ is in seconds.  I got terrible fits with the constant deceleration, decent fits until the spinning got slow with the exponential decay, and quite a good fit with the combined model:

The longer spin time for the wheel is partly due to higher initial velocity, but the time constant for the decay is also much longer for the wheel, indicating better bearings.

I’m not quite sure how to interpret the slightly higher contact friction term for the 5-spoke wheel.

2017 April 29

Santa Cruz Mini Maker Faire 2017

Today I spent about 10 hours on the 2017 Santa Cruz Mini Maker Faire.  The hours for the Faire were 10–5, but I spent some time setting up and tearing down afterwards, so I left the house around 8:30 a.m. and had the bike trailer unpacked and everything back in the house by about 6:30 p.m.  I figure that I spent only about 10 hours earlier on setup for this Faire: applying for the Faire, setting out all the displays and testing them at home, preparing new blurbs for my book and blog, making table signs telling people how to use the interactive parts of the display, blogging about the Faire, and doing load-in last night.  That is a lot less than last year, as I was able to reuse a lot of the design from last year.

Here is the table display I ended up with:

The bare corner at the front left was reserved for the students in my freshman design course who were coming to display their muscle-controlled robot arm, but they decided to set up in back (you can see one of the lead students in the background).

I had four interactive displays (from left to right):

• A pair of function generators and an oscilloscope showing Lissajous figures.  I changed this from last year, as I did not use the FG085 function generator this year, but one of the function generators from the Analog Discovery 2.  I still used the Elenco FG500, despite the very low quality of its waveforms, because it has a knob that is easy for kids to turn, and is easy to reset if they mess it up (unlike the jamming buttons on the FG085).  I did not use the second function generator on the Analog Discovery 2, as I did not want kids playing with just a software interface (and a rather complicated one at that).  It might even be worthwhile for me to build a simple audio sine-wave oscillator with a single big knob over the summer, so that I can have something for kids to play with that is fairly robust and that can’t be easily set into a weird state.  I could even do two, just for Lissajous figures, though having one fixed oscillator worked well this time.  I had the Analog Discovery 2 oscilloscope showing on the laptop next to the old Kikusui CRT oscilloscope, showing both the waveforms and the XY plot, so that I could explain to adults what was happening with the Lissajous figures and about the differences between classic oscilloscopes and modern USB-based ones.
A lot of people asked me about the Analog Discovery 2, which I was very enthusiastic about—Digilent should be giving me a commission! (They aren’t, although I’m sure I’m responsible for at least half a dozen sales for them, and a lot more if we go ahead with our plan to use them in place of bench equipment in my class next year.)
• In front of the laptop showing the Lissajous figures, I had a standalone optical pulse monitor using the log-transimpedance amplifier and the TFT LCD display.  Using the log-transimpedance amplifier worked well, as did using a lego brick to block light to the sides and back of the phototransistor.  A lot of people have trouble holding their hands still enough to get good readings (particularly children), so it would be good to have some sort of clip instead of resting a finger over the phototransistor.  I’ve tried making clips in the past, but I’m not good at mechanical design, and I’ve always ended up with either a clamp that is too tight (cutting off circulation and getting no reading) or too loose (falling off).  Ideally, I’d want a pressure between systolic and diastolic pressure, so about 12kPa (90mmHg).  People did like the use of Lego as a support, though—it provided a familiar element in the strange world of electronics.
• To the right of the pulse monitor was a pressure sensor.  I had a mechanical gauge and the electronic sensor both connected to a piece of soft silicone tubing taped to the table top.  Kids pressed on the tubing to get an increase in pressure, visible on the gauge (about 20–60 mmHg) and on graph PteroDAQ was running on the little laptop (which we refer to as the “Barbie” laptop, because of its color and small size).  I explained to kids that the tubing was like the tubing stretched across roads sometimes to count cars, with a pressure sensor that recorded each pulse as wheels compressed the tubing.  (For some of the old-timers, I reminded them of when gas stations used to use a similar system.)
PteroDAQ worked well for this setup, running all day at 20 samples per second without a glitch.  The only problem was occasional display sleep from the laptop, fixable by touching the touch pad.
• At the far right end of the table, I had a phototransistor which kids could shadow with their hands, with the result visible on another channel on PteroDAQ.  This was a last-minute change, as I was getting very unreliable results from the capacitive touch sensor when I tested it out last night.  The capacitive touch sensor worked fine at my house, but in the kindergarten room at Gateway I has a different electrical environment, and it would not work unless I grounded myself. Rather than fuss with the touch sensor, I made a new table sign and put in a light sensor instead.
I might want to experiment this summer with different ways of making touch plates—trying to get one that doesn’t rely on the toucher being grounded.  My initial thought is that if I have two conductors that are not too close together, but which would both be close to a finger if the touch plate is touched, then I may be able to get more reliable sensing.  I could try some wire-and-tape prototypes and maybe make PC boards with different conductor layouts.  (OSH Park‘s pricing scheme would be good for such tiny boards).

I also had my laptop displaying my book; some quarter-page blurbs with URLs for my book, PteroDAQ, and this blog; my 20-LED strobe; my desk lamp; and a PanaVise displaying one of the amplifier prototyping boards.

I’d like to think of a more exciting project for kids to play with next year—perhaps something I could build over the summer.  Readers, any suggestions?

In addition to my display, some of the freshmen from my freshman design seminar class demonstrated their EMG-controlled robot arm (which uses the MeArm kit):

The students built a MeArm from a kit, then programmed a Teensy board to respond to muscle signals amplified by amplifiers designed by other students in the class. The combined project had two channels: one for controlling the forward-backward position of the arm (using the biceps), the other for controlling the gripper (using muscles in the forearm). With practice, people could pick up a light object with the robot arm.

The scheduling of the Mini Maker Faire was not ideal this year, as it conflicted with the Tech Challenge, Santa Cruz County Math contest, the California Invention Convention, and the Gem and Mineral Show, all of which draw from the same audience as the Mini Maker Faire.

The Faire seemed to be reasonably well attended (rather slow for the first hour and half, but picking up considerably in the afternoon).  There was plenty of room for more exhibitors, so I think that organizers need to do a bit more outreach to encourage people to apply.  It would probably help if they were quicker responding to applicants (it took them over three months to respond to my application, and then only after I nudged them).

Some obvious holes in the lineup: The Museum of Art and History did not have a display, but I saw Nina Simons there, and she said that MAH definitely plans to do it next year, but the Abbott Square renovation is taking up all their time this year.   The fashionTEENS fashion show was April 21, just over a week ago, so it would have been good to get some of them to show their fashions again: either on mannequins or as a mini-show on the stage.  It might be good to get some of Santa Cruz’s luthiers or fine woodworkers to show—we have a lot of top-notch ones, and many do show stuff at Open Studios. The only displays from UCSC were mine and the Formula Slug electric race car team.

Of the local fab labs, Cabrillo College Fab Lab and Idea Fab Labs were present, but The Fábrica and the Bike Church were not.  I thought that Cabrillo did a great job of exhibiting, but Idea Fab Labs was a little too static—only the sand table was interactive.

It might be good to have Zun Zun present their Basura Batucada show (entirely on instruments made from recycled materials) and have a booth on making such instruments.  It might be hard to get Zun Zun to volunteer, but they used to be very cheap to hire (I hired them to give a show at my son’s kindergarten class 15 years ago—they were very cheap then, but I don’t know what their prices are now).

One problem my wife noted was the lack of signs on the outside of classrooms, so that people would know what was inside.  The tiny signs that the Faire provided (I think—I didn’t get one) were too small to be of any use.  It may be enough to tell makers to bring a poster-sized sign to mount.  I had my cloth banner behind my table, but a lot of the displays were hard to identify.  Instructions or information mounted on tables would also have been good—again these would have to be provided by the makers.  I did not see people carrying maps this year—they can also be helpful in getting people to find things that were tucked away in odd corners.  Not many people made it back to the second kindergarten room where FabMo and the Lace Museum activities were.

Update 2017 May 1: It turns out that there were some things I missed at the Faire.  The principal of Gateway sent me email:

… we did have 4 of the Fashion Teens exhibit their creations on the stage at 11:30—might be cool to have them put those on mannequins and have a booth next year. Also we had two more UCSC projects—Jim Whitehead and the Generative Art Studio, and Project AWEsome from the School of Engineering. We would LOVE to have more UCSC-related projects …

2017 February 6

Hysteresis oscillator is voltage-dependent

Filed under: Circuits course,Data acquisition — gasstationwithoutpumps @ 20:42
Tags: , , ,

Today in class I did a demo where I tested the dependence of the frequency of my relaxation oscillator board on the power supply voltage.

The demo I did in class had to be debugged on the fly (it turns out that if you configure the power supplies of the Analog Discovery 2 to be low-speed waveform channels, then you can’t set them with the “Supplies” tool, but there is no warning that you can’t when you do the setting), but otherwise went well.

One surprising result (i.e., something else that hadn’t happened when I tested the demo at home on Sunday) was that the frequency appeared to go up instead of down when I touched the capacitive touch sensor.  This I managed to quickly debug by changing my sampling rate to 600Hz, and observing that the 60Hz frequency modulation was extreme at the podium, taking the oscillation frequency from 0Hz to 3MHz on each cycle.  Grounding myself against the laptop removed this interference and produced the smooth expected signal.

Anyway, when I got home I was much too tired to grade the lab reports turned in today (I’ve got a cold that is wiping me out), so after a nap and dinner, I decided to make a clean plot of frequency vs. power-supply voltage for my relaxation oscillator.  I stuck the board into a breadboard, with no touch sensor, so that the capacitance would be fairly stable and not too much 60Hz interference would be picked up.  I powered the board from the Analog Discovery 2 power supply, sweeping the voltage from 0V to 5V (triangle wave, 50mHz, for a 20-second period).

I used the Teensy LC board with PteroDAQ to record both the frequency of the output and the voltage of the power supply.  To protect the Teensy board inputs, I used a 74AC04 inverter with 3.3V power to buffer the output of the hysteresis board, and I used a voltage divider made of two 180kΩ resistors to divide the power-supply voltage in half.

When I recorded a few cycles of the triangle waveform, using 1/60-second counting times for the frequency measurements, I got a clean plot:

At low voltages, the oscillator doesn’t oscillate. The frequency then goes up with voltage, but peaks around 4.2V, then drops again at higher voltages.

I expected the loss of oscillation at low voltage, but I did not expect the oscillator to be so sensitive to power-supply voltage, and I certainly did not expect it to be non-monotone.  I need to heed my class motto (“Try it and see!”) more often.

Sampling at a higher frequency reveals that the hysteresis oscillator is far from holding a steady frequency:

Using 1/600 second counting intervals for the frequency counter reveals substantial modulation of the frequency.

This plot of frequency vs. time shows the pattern of frequency modulation, which varies substantially as the voltage changes, but seems to be repeatable for a given voltage. (One period of the triangle wave is shown.)

Zooming in on a region where the frequency modulation is large, we can see that there are components of both 60Hz and 120Hz.

I could reduce the 60Hz interference a lot by using a larger C and smaller R for the RC time constant. That would make the touch sensor less sensitive (since the change in capacitance due to touching would be the same, but would be a much smaller fraction of the total capacitance). The sensor is currently excessively sensitive, though, so this might be a good idea anyway.

Next Page »

Create a free website or blog at WordPress.com.