Posts with «arduino» label

More musings on circuits course: temperature lab

I’ve decided to do a lot of my musing about the course design on my blog, so that others could contribute to the course design (or at least participate vicariously).  I think that having an open log of our thinking on the course design will be useful to grad students or new faculty who are having to do their own course designs, to show how us old farts do it (whether they wish to copy our methods or avoid using them).

The relevant posts so far are

Changing teaching plans
More on electronics course design
Yet another project idea
Another way to think about course design

I’ve got my son working on Arduino software to act as a data logger, so that students can have an easy-to-use tool that requires no programming, but which is easily modified if they want to do their own programming.  He has Arduino code for alpha testing already, and I think he’ll have a user interface ready for beta testing by the end of the week, but he’ll only have tested it on a Mac—we’ll need to get him access to a Windows machine to do testing there, because there are some operating system dependencies in talking to USB devices like the Arduino from a Python program. He’s been consulting with me on desired specs for the data logger, but doing all the coding himself. It is good practice for him both in interrupt handling and in user-interface design. He’s also having to think about portability for the first time, as the data logger has to run on Windows and Mac OS X (I think that Linux users should have no trouble with the version that works on Mac OS X, but we probably won’t be testing it). He’ll have to write user documentation and installation instructions also. Some of the packages he likes to use (like PyGUI) are enough of a pain to install that he’ll probably provide a stripped-down interface without a GUI for those who want to do minimal installation (Arduino software, Python, and PySerial are only essentials).

The first lab I’ve been thinking about is for temperature measurements. For the small temperature ranges normally needed in biosensor applications, the sensitivity, low thermal mass, and low cost of thermistors make them probably the best approach, and I think that they are what are used in the cheap digital oral thermometers sold in drug stores.  I wonder what techniques the manufacturers use to get medically acceptable calibration for those devices.

I’ve been thinking about the thermistor lab—it seems like we could do that in stages: first just reading resistance with a meter, then adding a series resistor to make a voltage output, then adding a parallel resistor to try to linearize the exponential curve a bit, finally adding larger series resistors and an amplifier to avoid self-heating currents through the thermistor and to allow nearly the full range of the ADC to be used.  This series of lab exercises could be spread out over the quarter, as students learn more about circuits.

For them to calibrate the thermistor, we could use hot and cold water baths, if the thermistor was in a waterproof package. From what I can see, that raises the price of a thermistor with leads from about 25¢ (for something like the NTCLE100E3333JB0 by Vishay BC Components) to $1.55 (for USP10982 from US Sensor) or $3 (for USP10973RA from US Sensor).  [Prices from DigiKey 10-unit price.]

I think that having the students do their own waterproofing is probably not a good idea.  Potting components gets to be a mess, and adding a large blob around the thermistor will slow its response time a lot.  I wonder whether using 5¢ disposable thermometer probe covers would work, or whether they tear too easily.  I probably need to look at some at the drug store, to see whether there is thicker one on the market that the cheap thermistors would fit into.

If waterproofing a cheap thermistor turns out to be too difficult, we need to think about whether to use the more expensive parts or work out some cheap, measurable temperature sources that are not wet.  We could make something like is used in PCR machines, with a couple of blocks of aluminum and a Peltier device, but I don’t think that the price is worth it—better to use the sort-of waterproof probes, a cup of water, and a thermometer.

I’ve noticed that for some applications, people are choosing voltage-output temperature sensors that rely on the thermal
coefficient of a transistor, rather than on a thermistor, like the MCP9700-E/TO from Microchip Technology (25 cents).  They have a fairly linear 10mv/degree C output, but their absolute accuracy is even worse than thermistors. These may be a better choice than thermistors in many applications, but would not provide the same teaching opportunities for a circuits class.

Using a thin-film platinum resistor temperature sensor (RTD) like the US Sensor PPG102C1RD would allow more accurate temperature measurement without calibration. With calibration, RTDs can be the most precise electronic temperature sensors, though I don’t know if the high precision is available in thin-film resistors, or only in the more expensive wire-wound ones. I suspect that repeatability from part to part is higher in the wire-wound RTDs, but that the thermal coefficients are the same, so that calibrating at one temperature should give about equal accuracy either way.

The naturally linear response of RTDs (100Ω at 0°C and 138.5Ω at 100°C in a very straight line) does not lend itself to as much circuit design as thermistors. On second thought, converting the 3850 ppm/°C resistance change into a voltage range readable by the Arduino ADC is not a bad circuit exercise, particularly if self-heating is to be avoided, though it is not as difficult as flattening the highly nonlinear response of a thermistor.  The biggest problem with RTDs is their price: at over $10 for a bare sensor they may be too expensive for class use.

Another possible temperature sensor is a thermocouple, which generates a voltage based on the temperature difference of two electrically connected junctions of dissimilar metals. One article in the engineering toolbox claims that thermocouples are cheap and RTDs expensive, and I think that is true if you are looking for high-temperature devices (like thermocouples for detecting pilot lights in furnaces), but not so true if you are looking for careful measurement in corrosive wet materials (like most biosensing applications). See Choosing and using a temperature sensor for more info comparing RTDs and thermocouples. Thermocouples have relatively low precision and sensitivity, and they measure only the difference in temperature between two points, and so are probably not very interesting for biosensing.

Action plan for testing out a temperature measurement lab:

  • Get some thermistors and some thermometer probe sheaths and see if I can make adequate temporary waterproofing for pennies per student.  I’ll probably have to solder on wires to lengthen the leads.
  • Try calibrating thermistors using a multimeter, cups of hot and cold water, and an accurate thermometer.
  • Try reading the thermistor using a voltage divider and the Arduino ADC.  Plot the temperature and Arduino reading over a wide temperature range (say, as a cup of boiling water cools).
  • Try linearizing the thermistor readings  using a parallel resistor and voltage divider.
  • Try designing an amplifier to read the thermistor with much lower current through it (and so less self-heating).

 

 


Filed under: Uncategorized Tagged: Arduino, bioengineering, circuits, course design, teaching, temperature measurement, thermistor

Tinydino: World’s Smallest Arduino Clone?


Jaanus Kalde has made the Tinydino, an Arduino clone that’s just 7.4 mm square. He used the ATmega88 chip and built the rest of the components around it. According to Jaanus, its features are:

-Auto reset
-UART
-SPI
-4 analog channels
-1 digital i/o
-one LED
-funny readme with BOM

It needs arduino bootloader for atmega88 like ottantotto bootloader, probably it needs some hacking too because the resonator is 8MHz not the Arduino regular 16MHz.

[via Electronics Lab]


MAKE » Arduino 20 Jun 20:00

Another way to think about course design

Continuing the series about designing an applied electronic circuits course for our bioengineering majors (with more project ideas and another project idea), I want to talk about another lab-oriented view of what we want the course to teach—what lab skills they should have by the end of the course. Eventually, I’ll get around to textbook-concept view of the course, but I’m trying to stay away from that for a while, since the course we are trying to replace was faulted for being far too theoretical.  I want to start with the practical goals first, and work out form there what are the most important theory topics and what order they should go in.

Again, this is all very preliminary brainstorming—I have to talk with my co-instructor about what lab skills are feasible to teach in the class, which ones he sees as essential, and which are beyond the scope of the class.  Here is a tentative list of technician-level skills that every engineer should have:

  • Reading voltage, current, and resistance with a multimeter.
  • Using an oscilloscope to view time-varying signals:
    • Matching scope probe to input of scope.
    • Adjusting time-base.
    • Adjusting voltage scale.
    • Using triggering.
    • Reading approximate frequency from display.
    • Measuring time (either pulse width or time between edges on different channels)
  • Using a bench power supply.
  • Using a signal generator to generate sine waves and square waves.  Hmm, only the salinity conductance meter uses an AC signal so far—I may have to think of some other project-like labs that need the signal generator.  Perhaps we should have them do some capacitance measurements with a bridge circuit before building a capacitance touch sensor.
  • Using a microprocessor with A/D conversion to record data from sensors.
  • Handling ICs without frying them through static electricity.
  • Using a breadboard to prototype circuits.
  • Soldering through-hole components to a PC board.  (I think that surface-mount components are beyond the scope of the class, and freeform soldering without a board is too “arty” for an engineering class.)

There are probably a lot more skills to add to this list, which I haven’t thought about yet, and details within these skills that I’ve not thought about.  Luckily, my co-instructor has been teaching beginning students how to use electronic lab equipment for over 15 years, so I’m sure he knows what needs to be covered.

The bigger problem here is motivating students to want to develop these skills quickly—the EE and computer engineering students see the skills as directly related to their chosen profession, but the bioengineers will need to know why anyone would care about resistance, voltage, or current.  Getting a simple biosensor in right from the beginning would probably help.  I wonder if we should start with a thermistor lab for resistance, voltage, and current measurement.  How soon can we cover voltage dividers, so that they can design a resistance-to-voltage converter for interfacing to the ADC on an Arduino? Can we do that in the first lab?

 


Filed under: Uncategorized Tagged: Arduino, bioengineering, circuits, course design, teaching

Parker1 WiFi / 4G Mobile Robot

 

 

 

 

 

 

 

read more

Let's Make Robots 19 Jun 12:22
3g  4g  advertising  arduino  mobile  parker1  robot  wifi  

Sassor wants to let users know just how much electricity their gadgets are wasting (hands-on)

Everyone knows that their game consoles, appliances and HDTVs are energy vampires, and while Energy Star-certified products tell us which gadgets are more green-friendly than others, we still don't know just how much juice they're actually sucking down in a given day. Enter Sassor, a start-up from Japan that's created a system to monitor the electrical consumption of anything plugged into a wall outlet -- from PCs to refrigerators. It tracks power consumption using current sensors clamped onto power cords, which communicate wirelessly via ZigBee with an module (based on an Arduino design) that uploads the info to the cloud.

Through the web portal, users can track energy consumption on a per-device basis in real-time, letting them figure out which gadgets are most responsible for their sky-high utility bill -- and take appropriate steps to correct the problem. Currently, it's aimed solely at businesses, but once Sassor's on its feet, funding-wise, the plan is to also put them in people's homes. The company told us it'll ditch ZigBee in favor of a WiFi solution in such future iterations, and it'll make an SDK and the system APIs available to all so that people can program for the platform and improve it in ways currently not contemplated. Alas, there's neither a timetable nor a price for the consumer version just yet, but you can see some pictures of the hardware's innards below.

Sassor wants to let users know just how much electricity their gadgets are wasting (hands-on) originally appeared on Engadget on Mon, 18 Jun 2012 21:59:00 EST. Please see our terms for use of feeds.

Permalink | Email this | Comments

Motion sprinkler chases away defecating dogs

Don’t want dogs pooping on the front lawn? You could put up a sign, your could chase them away like a crotchety old miser, or you could build a motion detecting sprinkler system. It’s pretty hard to line up for a doody when you’re getting sprayed in the face (or worse) with cold water.

The setup is pretty simple. The bump-in image above shows the view from a webcam. The server monitoring the video is running software that detects motion between one frame and the next. When it sees something in the right position it signals an Arduino to trigger the solenoid which has been holding back the water. Check out the movie after the break which shows [Phil Tucker] tramping across the grass to trigger the  trap.

Sprinkler hacks are always a lot of fun. This variable-range sprinkler is still one of our favorites.


Filed under: home hacks

Putting scores of Arduinos on the Internet with one router

Like many hackers of late, [Rick] has been experimenting with connecting Arduinos to the Internet with a disused WiFi router and an installation of OpenWRT. Unlike his fellow makers, [Rick] thought it would be wasteful to dedicate a single router to one Arduino project, so he used a small, low power wireless module to connect up to 30 Arduinos to the Internet.

Just as in a few recent builds (1, 2), [Rick] found an old Fonera router sitting in a box at his local hackerspace. After installing OpenWRT, [Rick] connected a very small wireless module to the router’s GPIO pins and patched the firmware to put an SPI bus on the router.

Now, whenever [Rick] wants to connect an Arduino project to the Internet, all he needs is a $4 radio module. This radio module connects to the router, and the router handles the networking requirements of up to 30 DIY projects.

If you’re looking to build an Internet-enable sensor network, we honestly can’t think of a better or cheaper way of going about it. Nice job, [Rick].


Filed under: arduino hacks, radio hacks

Yet another project idea

I wrote earlier this week about an applied electronic circuits course for our bioengineering majors  and added some more project ideas in another post.  This weekend, while in southern California for my niece’s wedding, I was given another idea for a project by my sister: a pulse oximeter.

I knew that a pulse oximeter worked by looking at ratios of two different wavelengths of light shining through a finger or earlobe, which have different absorption by oxyhemoglobin and deoxyhemoglobin, but I had never thought about the details.  The first thing that concerned me was how a single ratio of two light intensities could be used—there must be huge variations in how much absorption there is that have nothing to do with oxygenation of hemoglobin.  Rather than puzzle through this on my own, I looked up the Wikipedia article on pulse oximetry.

It turns out that different techniques have been used over the decades.  Some of the early methods used more than two wavelengths of light including some that did not distinguish between the two states of the hemoglobin, in an attempt to quantify the total amount of hemoglobin as well as the ratio of oxy- to deoxy-.  The modern approach, though, is much simpler and more elegant.  The ratio measurements are made repeatedly, and only the fluctuating part of the readings is used.  The arterial blood flow shows a strong pulse signal (at around 0.5–3 Hz), while contaminating signals (hemoglobin in veins, absorption due to tissue other than hemoglobin, fingernail polish, …) are constant. By ignoring the DC signal and using only the fluctuating signal, the oxygen ratios are fairly easily measured.  Note that a pulse is essential to this measurement—continuous flow would not work—hence the name “pulse oximetry”.

There is at least one homebrew pulse oximeter on the web (like this one done by some Polish students and described in Polish, with a Google translation).  As far as I can tell, they used a PWM output from the microprocessor to provide signals alternately to the two LEDs, and to demultiplex the signals from the sensor and do separate analog filtering of the two signals.  It would probably make more sense to reduce the sampling rate to about 100Hz and do all the processing digitally. One thing they did that might be a bit trickier on the Arduino was to adjust the current to the LEDs to keep the DC signal level roughly constant, despite differences in the thickness and opacity of the fingers they were shining the light through.  The Arduino provides PWM outputs, but not real digital-to-analog channels.

They also do not seem to have thought about how to calibrate the device, which could be a problem for our lab also. Since commercial pulse oximeters only cost about $30 these days, we could simply have a couple in the lab for students to compare their results to, making a calibration chart of their reading vs the commercial reading.  (The hard part would be finding variation in oxygenation, since every one in the lab will likely be in the normal range of 95–99% oxygenated.)

The pulse oximeter would be a nice step up from the simple one-channel pulse sensor.  Unfortunately, most of  the design work seems to be on the digital side, rather than the analog side, which may make it a poor fit for the circuits course.


Filed under: Uncategorized Tagged: Arduino, bioengineering, circuits, course design, teaching

An Introduction to the Arduino

If you’re a MAKE regular, you know that we feature a lot of Arduino projects. It’s such a popular and easy to use microcontroller, I don’t think a day goes by without a blog post that mentions Arduino. But what if you’re totally unfamiliar with this popular physical computing platform? Where do you get started? To answer that question, we created this video. So if you have a friend or relative who has been asking “what’s an Arduino?” You can point them here. They’ll get an overview of what it is and what’s possible with it.

And if you’re here because you’re new to Arduino, there’s no better way to learn than fearlessly jumping right in getting started. For that, I recommend Maker Shed’s Getting Started with Arduino Kit, and not because I work for MAKE. A few years ago—before I worked here—I started playing around with an earlier version of this kit and it lead me to a huge breakthrough. As a kid, I tried a few times to teach myself electronics but never got very far. The Getting Started with Arduino Kit is what I wish I had as a kid. When I uploaded the blink sketch and saw that LED flashing, it was a moment of delight. Tinkering with electronics quickly became my hobby and then my livelihood. So if you’re on the fence about trying it out, I implore you to get off that fence and join us delighted Arduino enthusiasts.

Subscribe to How-Tos with Matt Richardson in iTunes, download the m4v video directly, or watch it on YouTube and Vimeo.


ArduSat wants to put Arduino satellite, your experiments into orbit

Short of scoring a spot on the ISS experiment docket, putting your scientific aspirations into orbit can be a bit tricky. Why not try crowdsourcing your way into space? ArduSat's barking up that very tree, asking Kickstarter contributors to help them get a Arduino CubeSat off the ground. Headed by NanoSatisfi, a tech startup operating out of NASA's Ames Research Center, the project hopes to raise enough funds to launch an Arduino bank and a bevy of open-source sensors into orbit. The payoff for backers? Access. Varying levels of contribution are rewarded with personalized space broadcasts, remote access to the space hardware's onboard cameras and even use of the machine's sensors to run experiments of the backer's own design. If all goes well, the team hopes to launch more satellites for the everyman, including a unit dedicated to letting would-be stellar photographers take celestial snapshots. Sure, it's far cry from actually launching yourself into the stars, but would you rather be a tourist, or a scientist? Check out project at the source link below, and mull over that for awhile.

ArduSat wants to put Arduino satellite, your experiments into orbit originally appeared on Engadget on Mon, 18 Jun 2012 04:02:00 EST. Please see our terms for use of feeds.

Permalink | Email this | Comments