# Gas station without pumps

## 2015 March 30

### First day of S15 circuits class: demo failure

Filed under: Circuits course — gasstationwithoutpumps @ 16:23
Tags: , , , ,

I went into the class with a fairly short to-do list—much shorter than last year’s. I managed to cover the following:

1. Went over syllabus .I showed them the syllabus and managed to go over scheduling of labs, partner work, and online texts, but did not get to some of the boilerplate about cheating and about disability services.  Oh well, it is enough that the boilerplate is on the syllabus.
2. Demoed pressure sensor  with PteroDAQ on KL25Z board. I hooked everything up and it didn’t work. I fixed one problem of a loose wire (using the jeweler’s screwdriver, but it still didn’t work. I did manage to show them PteroDAQ and used gnuplot to show them a pressure trace I had recorded in the BME88A demo last quarter.
3. Reading the book and doing design well before lab.
4. Assigning reading due tomorrow and Thursday.
5. Partners changing every week, so no one gets a free ride for very long and no one has to suffer with a freeloader.

I was thinking that I’d use the chalkboard a lot, so I used the small screen in the classroom (this classroom is ridiculously over-equipped with projectors, even having a project for a screen at the back of the classroom) rather than the big one, which covers most of the chalkboard. But I ended up using the projector to show them parts of the book and to use the document camera to show the KL25Z board and instrumentation amp protoboard, and barely used the chalkboard at all.

The rearrangement of the labs, with soldering on Tuesday, sampling and aliasing on Thursday, and the thermistor labs next week does give me a little leisurely start-up than last year, as I don’t have to get to Ohm’s law and Kirchhoff’s current law until the voltage-divider lecture on Friday.

Overall, I’m fairly happy with how the first day of class went, despite the demo failure.  I’ll debug the demo and show them either in lab tomorrow or in class on Wednesday.  I just hope I haven’t fried the instrumentation amplifier with static—they’re expensive and I don’t know whether I have any spares on hand.

Update 2015-Mar-30 17:58:  When I got home I checked out the board to figure out what might be wrong.  After probing for a while with the voltmeter, I determined that the wire that had come loose from its screw terminal and that I had fixed in class was not the only wire that had come loose.  The one next to it had also come loose.  It still looked ok, but wasn’t making contact.  Opening the screw terminal, reinserting the wire, and tightening it down again fixed the problem.

## 2014 March 31

### First day of S14 circuits class went ok

Filed under: Circuits course — gasstationwithoutpumps @ 21:21
Tags: , , , , , ,

I went into the class with a long to-do list, and managed to cover the following:

1. Issued permission codes for students with missing prereqs to register but I forgot that they’d need permission codes for BME 101L as well—I’ll give those out as soon as I get them. The class is up to 9 students, which is still much less than the 20–40 I had projected. I’m going to have to use the same parts next year, so that the over purchase doesn’t cause budget problems.
2. Went over syllabus .I showed them the syllabus and managed to go over scheduling of labs, partner work, and online texts, but did not get to some of the boilerplate about cheating and about disability services.  Oh well, it is enough that the boilerplate is on the syllabus.
3. Demoed pressure sensor and EKG with PteroDAQ on KL25Z board. I explained that I chose these labs to demo, since they were soldered onto protoboards, and so sturdier than ones built on breadboards. Amazingly, the alpha prototype of PteroDAQ worked fine for the demo. I was even able to illustrate a debugging technique. The EKG seemed to be missing a lot of my heartbeats, so I saved the data to a file, looked at it with gnuplot, and zoomed in, where it became obvious that the problem was that the R pulses on the EKG were shorter than the time between samples. I went back to the PteroDAQ control panel, increased the sampling rate from 20Hz to 120Hz, and took another 30 seconds of samples.  Saving that and viewing it with gnuplot made it clear that the EKG amplifier was working fine, and the PQRST parts of the EKG signal were all quite clear.
4. Ohm’s Law $V=IR$:  The students volunteered this when I asked them the relationship between voltage and current.  Good!
5. Kirchhoff’s Current Law:  Again many had heard of the concept that if charge is not accumulating (steady-state), then the current into a node is the same as the current out of the node. In general, that the sum of all currents into a node is 0.
6. Explained about voltage being a difference between two nodes or across a component, and contrasted that with the current through a component. I implicitly used Kirchhoff’s Voltage Law by introducing the notion of voltage at a node, as the voltage between that node and an arbitrarily chosen node that we call “ground”.
7. I showed them a voltage divider and had them derive the voltage across each resistor (from having the same current), then from there deriving the voltage across the resistors in series (thus deriving the idea that series resistors add). We then solved for I in the Vin equation and plugged it into the equation for Vout, getting the standard voltage-divider formula $V_{out} = V_{in} \frac{R_{down}}{R_{up}+R_{down}}$.
8. I introduced the notion of an NTC thermistor (and listed other temperature sensors: PTC thermistor, RTD, thermocouple, bandgap temperature sensor, giving a brief idea when each would be used). I did not plot the resistance as a function of temperature based on the model , but that would be a good thing to do in the gnuplot lesson on Wednesday.
9. I did explain the notion of sensitivity of a sensor: the derivative of the output with respect to the input, and went over (in a general way, with helpful suggestions from the students) how one would go about maximizing sensitivity of a voltage divider with a thermistor and fixed resistor at a particular operating temperature.  I’ll see in lab tomorrow or during the analysis session on Wednesday whether students got the idea or not.

It was a very content-full class, but I did manage to get in a number of side remarks:

• reading the lab handouts well before lab, since they weren’t fill-in-the-blanks worksheets, but sometimes had design assignments buried in them.
• partners changing every week, so no one gets a free ride for very long and no one has to suffer with a freeloader.
• no failures on lab reports—just REDO, until the end of the quarter, when all un-redone work turns to F.
• need for perfect schematics. Sloppy schematics will trigger an automatic REDO.
• one of the students asked about the circuits-class t-shirt I was wearing, and I explained that I’d created the shirt for last year’s class and that if students were interested we could do another order this year.

Overall, I’m fairly happy with how the first day of class went.

I’m less happy with the rest of the day, though. In the morning my son accompanied me to the lab to help me set up the Windows drivers and to test PteroDAQ on the Windows machines, but the lab staff had changed the system they used for authenticating administrators, so I couldn’t install the drivers. I knocked on their door (no answer) and sent them e-mail through the request system, but it took them about 3 hours to answer (by which time my son had gone home and I was teaching class). After they had reauthorized me, I spent 2 hours installing Windows drivers on the 12 machines in the lab, so that they could talk with the KL25Z boards.  (Windows is a major pain—I really hate having to deal with it.)  I finally got a chance to test PteroDAQ on the Windows machine, and it didn’t work—I tried installing Python3.4 on one of the machines and that changed the nature of the error, but did not fix it. [Did I mention that the students have to be able to use it on Thursday?]

My son will go in with me again tomorrow (he’s on Spring break) and try to get the PteroDAQ function at least to the level that it is at on the Mac, which is minimally functional under Python3, but with a mysterious failure to open the USB serial port under Python2.7.

I also found out that the missing parts that the lab staff forgot to order have just been shipped from Hong Kong, and should be here next week.  Unfortunately, that includes the USB cables that the students will need to connect up the KL25Z boards. [Did I mention that the students have to be able to use it on Thursday?]

Also, the TA union is probably going on strike system-wide Wednesday and Thursday. I don’t have a TA, but there will probably be pickets at the base of campus and city buses won’t cross the picket lines, so there will probably be some students who can’t make it to class or lab. (I never penalize students for honoring picket lines, but it is going to be very difficult to get back on schedule if we fall behind.

On the subject of possibly falling behind—the campus facilities people are promising some long power outages mid-week one or more times during the quarter—they find it better to make everyone else stop working rather than work on weekends themselves, I guess.

I did get the cups and coffee urn for the water baths needed in this weeks lab transported to the lab, but I found out that the staff had not ordered any 22 gauge hookup wire—there was only a small amount of red and black 24 gauge wire in the lab. The soldering irons weren’t in the lab either, but I need them for tomorrow’s lab. With the small class, I can probably get away with only 5 soldering stations, but I don’t even have a working one I can bring in from home.

One of the students in classed asked about the jumper wires I was using to connect to the KL25Z board.  I was using 9″ long female-female jumper cables with double-male pins (something like these from Adafruit though I probably bought them elsewhere).  I have a very cheap set of male-male jumpers, but I rarely use them, because they are incredibly high resistance (on the order of ohms instead of milliohms).  Adafruit has some high-quality male-male jumpers, which may be easier to work with than the female-female ones that I’ve been using. Sparkfun has a mixed pack (half M/M and half F/F), but a set of 100 is is $25. The students are supposed to have double-male header pins in their kits anyway, since the pins are very handy for making oscilloscope probe points on a breadboard. ## 2013 January 7 ### First day of circuits class went ok Filed under: Circuits course,Printed Circuit Boards — gasstationwithoutpumps @ 18:11 Tags: , , , , I went into the class with the following to-do list: 1. Introduce teaching staff 2. Go over syllabus, with the main points here: • Goal is not to make them EEs, but to bring them to electronics hobbyist levels, so they can design stuff that isn’t too tricky and talk with EEs about tricky designs. • Accepted as circuits course for BME, but not as prereq for other EE courses. • Lab centric—theory taught as needed for design labs. • Prelabs to be shown at beginning of Thursday labs. Oops, I forgot to mention this. • Lab demos to be done in Thursday labs. I forgot to mention lab demos also. • Post-lab writeup is major portion of grade (in both courses) due Mondays after labs. We talked quite a bit about the importance of engineering reports and who the audience for them is (not the professors!). • Parts kit to be sold Wednesday. • Free on-line books in place of hard-copy textbooks. • Rotating partners (prelab separately, postlab together or separate). • Academic integrity boilerplate. • Disability accomodations boilerplate. There wasn’t time for this, but I did mention in response to one question about allergies and sensitivities that we could try to work something out. The syllabus does have the needed info about requesting accommodation for disabilities. 3. Demo of pressure sensor and EKG with Arduino data logger code. The EKG board, which I checked over the weekend, refused to work for me in my tests before class, so I waved it around but didn’t demo it. I did demo the pressure sensor board, which worked fine. I used the v1.0.0b4 version of the Data Logger, (available from http://bitbucket.org/abe_k/arduino-data-logger/downloads under “tags”, which is the latest named version. The version currently installed in the labs is v1.0.0b2, I believe, and I have to decide whether to update before Thursday’s lab or not. The b2 version should work well enough, I think, but if students switch Arduinos between different versions without uploading again, they might have problems. I’ve put an improved version of the parts list up on the class web site and told the lab-support staff about it, so that they can start figuring out how much the student lab fee will have to be next year. This year, students are paying$30 for the Arduino and $65.50 for parts and tools, but I doubt that the lab fee will be less than$150 next year.

The board designs for the three PC boards used in the course have also been released (with an appropriate Creative Commons license—non-commercial, since I’ve not paid the Eagle license fee needed for commercial designs).

Finally, I’ve tentatively lined up a biologist to talk about excitable cells and action potentials towards the end of the quarter, before the EKG lab.

In other news, my son told me yesterday that his Christmas present to me (which he had told me he would get me later), was the Data Logger code. He couldn’t have given me a nicer present: it was something I wanted, that he put a lot of thought and effort into, that he made himself, that I couldn’t have bought in a store, and that would have been a lot of trouble to do for myself. OK, so we’re both geeks, seeing a software package for teaching a course as a good present, but it really was.