Monday, January 4, 2016

Electronics: Goals and Ideas

This year, we've added a physics-based elective strand, consisting of Experimental Design, Electronics, and Electrical Engineering.  The electronics course is a prerequisite for the EE course, but you don't have to take both. The experimental design course is a bit of a singleton, which I'll get to in another post, but I'm a month or so into the electronics course, and wanted to share some of the paradigms of the course and see if anyone had any helpful ideas or experience teaching HS electronics to add.
Big Ideas
  • The course is more of a phenomenological look at electronics than a physical ones. That is, we're dealing with it as electronics folks would, rather than as physicists would. We can't get into a lot of heavy Maxwell's equations action, and we're not getting into an extremely precise model of the physics of current flow (Matter and Interactions does a great job with this, but it's not within the goals of the course or the mathematical tools of the prerequisites), and no differential equations to deal with RC, RLC circuits, etc. I want students to have a practical understanding, supported by theory where necessary and possible.
  • There's a big emphasis on assembly, schematics, soldering, etc. I want students to be able to read and use a breadboard, a schematic, clip leads, meters, and to be able to solder.
  • I want to hit the most important devices and concepts - resistors, capacitors, various sensors, etc., and also classic combinations of components (which are applications of these), like voltage dividers, voltage regulators, rectifiers, etc. This is one spot where I'd love a lot of suggestions; my formal electronics training has principally been physical, rather than practical.
  • The primary lens through which I'm going to have the students comparing different classes of devices is the i-V curve. Batteries, resistors, diodes and LEDs, and PV cells are the primary devices that I have on that list. Let me know if there's something that I'm missing. Capacitors will be in there, too, but they don't fit well into this paradigm.
  • I'm using (supplemented by my own stuff) the Make:Electronics book. There's a great deal that I like about it and some things that I don't (particularly on the theoretical end), but it's a good place to start. Students also get the kit for the first set of experiments, too. That's pretty expensive, and I probably can buy the parts and distribute them to them next year for a much smaller cost to them.
The StandardsThese will likely wiggle a bit, but here's where I'm starting with the learning standards for the term. Seeing where we are now, I'm thinking that capacitors will wait until the next term (EE). Let me know if anything's missing, etc.! ...I'll likely split the power and energy stuff out as its own standard, either next year or before the end of this term.


  • Apply the loop and junction rules to battery/resistor circuits, both qualitatively and quantitatively
  • Appropriately use Ohm’s law to describe one or more resistors
  • Analyze series and parallel circuits
  • Determine and apply equivalent resistance
  • Recognize, apply, and analyze iV curves of resistors and batteries
  • Determine the power expended by resistors and connect energy and time
  • Use current as a measurement of rate of charge flow


  • Identify and analyze open and short circuits
  • Use and analyze SPST, SPDT, and DPDT switches
  • Use and analyze relays
  • Analyze circuits containing PNP and NPN transistors


  • Understand relationship amongst voltage across a capacitor, charge stored in it, and its capacitance
  • Qualitatively analyze steady-state capacitor circuits
  • Apply the loop rule to circuits with capacitors
  • Determine and apply equivalent capacitance
  • Calculate energy stored in capacitors

PV Cells

  • Recognize and analyze iV curves of photovoltaic cells
  • Analyze PV cells in circuits

RC Circuits

  • Qualitatively analyze (graphs of) voltage, current, and charge as time goes on
  • Analyze the steady state of an RC circuit
  • Use the loop and junction rules to determine current, voltage, charge at some moment in time
  • Calculate and apply the time constant of simple RC circuits
  • Advanced: use equivalent circuits to determine time constant


  • Differentiate between and apply ideal and realistic diode models
  • Compare diodes with resistors and batteries
  • Recognize and analyze a diode's iV curve
  • Understanding and apply the concepts of threshold and breakdown breakdown voltage



  • Recognize components on schematic:
  • Batteries
  • Switches
  • Capacitors
  • Resistors
  • Potentiometers
  • Diodes
  • LEDs
  • PV cells
  • Junctions
  • Draw schematic, given circuit (clip leads or breadboards)


  • Construct circuit with clip leads, given schematic
  • Recognize components visually
  • Breadboard circuit, given schematic
  • Solder components, with or without perf board


  • Properly and consistently use units
  • Fluently deal with metric prefixes
  • Convert units fluently
  • Check for proper unit cancelation


  • When appropriate, use symbolic algebra (no numbers until the end)
  • Recognize unreasonable answers
  • Reason proportionally
  • Fluently solve equations

The Sky Bike

The Sky Bike at the Franklin Institute (I'm sure also at a lot of other museums) is a great application of energy and stability concepts for AP students!

 When I challenged my students to explain why the bike was stable, I got a lot of "because of the weight underneath," but not much concrete, convincing explanation to justify that intuition. OK; let's back it up a bit. Why - in terms of energy - is a regular bike, when upright and motionless (for simplicity), unstable?

They connected stability (since we had said the word about ten times at this point) to the potential energy graph, and then just needed to do the trig to determine the gravitational potential energy of the Earth/bike/person system and graph it.

The diagram:

The gravitational potential energy (taking h=0 to be the vertical position):
$$U(\theta) = mgh = -mg\dfrac{l}{2}(1-\cos\theta)$$

The graph: 
Why is it unstable? The force exerted on the bike that will act to change the angle is given by $F = -\dfrac{dU}{ds}$, which is another way of saying that the direction of the force is the opposite of the slope of the U graph or... that the system will evolve in the same way that a ball would, if it were rolling on a hill of the same shape as the U graph. Dome shaped? It'll roll downhill, away from the equilibrium point, so the equilibrium is unstable. 

OK, let's add the mass underneath. I arbitrarily decided that it was on a massless pole of the same length as the bike's height, and that its mass was greater than the bike/person mass. This made qualitative analysis easier at the end, but they see how the parameters could be modified once the analysis is done.

The diagram:
The gravitational potential energy (taking h=0 to be each object's vertical position):
$$U(\theta) = mgh = -mg\dfrac{l}{2}(1-\cos\theta) + Mgl(1-\cos\theta)$$

The graph:

The big deal here conceptually is that, when the bike/person goes down, the mass goes up, and it gains more potential energy than the bike/person lost, meaning that we've turned a dome into a bowl, so that we now have a stable equilibrium.

Two interesting asides: if $M = \dfrac{m}{2}$, then $U=0$ for all angles, and the equilibrium is neutral, so the rider could stably sit at whatever angle. Not a super-fun idea, so it's a good time to talk about engineering and designing around such possibilities.

Also, how do we make the ride more stable? What does that mean graphically? It'd mean making the $U$ graph steeper, which we could do by increasing $M$. Note that the masses are intimately related to the "heights" of the domes/bowls:

The connection between forces and potential energy is often a topic that gets short shrift in AP Physics - seen as a small tidbit or something mathematical to be explored, but it's actually a very deep and applicable concept. I've also incorporated some programming exercises on this for students as well. Its use to justify the ball-and-spring model of matter (by approximating the Lenard-Jones potential as a parabola near the equilibrium point) is one of the lynchpins of my want for it in a physics course that uses Matter and Interactions.

Saturday, September 5, 2015

Honors Projects, 2015

I'm quite a bit behind the times, but here is a selection of the independent projects from Honors Physics last year - it was a great crop of creative projects!

  • A project examining the physics of the zipline scene from Divergent: would the cable/device really get red hot?

  • An examination of a unique binary star system: two identical stars orbiting, with a planet in the center. How far away do they need to be so that the planet isn't torn apart? What would the surface gravity be?

  • An examination of the energetics of the world-record trampoline bounce: is that as high as they could've gone?

  • The creation and evaluation of a model describing head impacts: the brain is taken to be an object connected to the skull by springs. Values for parameters are determined and the behavior is simulated via Excel spreadsheet and compared to actual concussion data.

  • Some myth busting here: is this video of a baseball player hitting a ball so that it bounces off of multiple ball returns and back to him real?

  •  Investigation of the physics of a railgun; some parameters determined via Python modeling, once the equations of motion are determined

Thursday, July 2, 2015

Atomic Lattices and Glowscript

I'm finishing up (read: procrastinating finishing up) a final paper in a material science course that I'm taking this summer. The paper is about cuprous oxide ($Cu_2O$) and its possible use in a homemade diode. That process is outlined here.
HP Friedrichs's homemade diode and holder
I am investigating whether what he has described in terms of process and results jibes with the literature's descriptions of fabrication processes, physical properties, and and electrical properties. All of that's interesting, but one neat part was a look at the crystal structure. It's a combination of two crystals: the copper forms a face-centered cubic sublattice and the oxygen forms a body-centered cubic sublattice.

Specifying crystals, I've learned, is a pretty neat vector operation, and one which lends itself to programming pretty well. There's a basic unit which is repeated at each point of a cube. That unit isn't necessarily as many atoms as you might think: for a body-centered cubic lattice, it's a set of points at (relative coordinates) (0,0,0) and a(.5,.5,.5), where a is the lattice constant, which is the edge length of the cube. hen you replicate this two-atoms basis at each of the corners of a cube of side-length a, you get a body-centered cubic lattice (doing it just once gives some extra atoms; the unit cell consists of just those atoms within the unit cube. Doing it infinitely, though, will give an infinite BCC lattice). It's a little harder to picture the FCC lattice, but its basis consists of (0,0,0), a(0,.5,.5), a(.5,0,.5), and a(.5,.5,0). 

So we have a set of atom positions (2 or 4, depending on the lattice) that we want to iterate over all point of the form a(x, y, z), with all coordinates in the integers. That's a perfect setup for VPython/Glowscript. It's easy enough, using some for loops, to iterate over an area of desired dimensions, and then it can all be zoomed and rotated by the user with VPython/Gloscript's native controls. I added a box showing the unit cube for orientation, and.. voila (click image or here to see animation)!

GlowScript 1.1 VPython

scene.background = color.white

def makeLattice(cubic,basis,offset,color,rad):
    # apply basis atoms to each site in cubic lattice
    atoms = []
    for site in cubic:
        for atom in basis:
            atoms.append(sphere(color= color, radius = rad, pos = site+atom+offset))
    return atoms

def makeCellLattice(cubic,basis,offset,color,rad):
    # apply basis atoms to each site in cubic lattice
    atoms = []
    for site in cubic:
        for atom in basis:
            if 0 <= (site+atom+offset).x <= a and 0 <= (site+atom+offset).y <= a and 0 <= (site+atom+offset).z <= a:
                atoms.append(sphere(color= color, radius = rad, pos = site+atom+offset))
    return atoms

def cubeDraw(color):
    # draw lines around the unit (not primitive) cell
    curve(pos = [a*vector(0,0,0),a*vector(1,0,0),a*vector(1,1,0),a*vector(0,1,0),a*vector(0,0,0)], color = color)
    curve(pos = [a*vector(0,0,0),a*vector(0,0,1),a*vector(0,1,1),a*vector(0,1,0),a*vector(0,0,0)], color = color)
    curve(pos = [a*vector(0,0,1),a*vector(1,0,1),a*vector(1,1,1),a*vector(0,1,1),a*vector(0,0,1)], color = color)
    curve(pos = [a*vector(1,0,0),a*vector(1,0,1),a*vector(1,1,1),a*vector(1,1,0),a*vector(1,0,0)], color = color)

a = 1 # lattice constant

# Lattice maker
# basis vectors
bcc = [vector(0,0,0), vector(.5*a,.5*a,.5*a)]
fcc = [vector(0,0,0), vector(0,.5*a,.5*a), vector(.5*a,0,.5*a), vector(.5*a,.5*a,0)]

# Create unit cubic lattice
# horizontal extent (will go from -x to x)
xmin = -1.5
xmax = 1.5
# vertical extent (will go from -y to y)
ymin = -1.5
ymax = 1.5
#in-out extent (will go from -z to z)
zmin = -1.5
zmax = 1.5

cubic = []

for i in arange(xmin,xmax+1,1):
    for j in arange(ymin,ymax+1,1):
        for k in arange(zmin,zmax+1,1):

# Use this to show a single unit cell
#CuAtoms = makeCellLattice(cubic,bcc,vector(0,0,0),,a/15)
#OAtoms = makeCellLattice(cubic,fcc,(sqrt(3)/8)*a*vector(-1,-1,-1),,a/20)

#Use this to show a bigger lattice
CuAtoms = makeLattice(cubic,bcc,vector(0,0,0),,a/15)
OAtoms = makeLattice(cubic,fcc,(sqrt(3)/8)*a*vector(-1,-1,-1),,a/20) = a*vector(.5,.5,-.5)


Saturday, April 25, 2015

Kinematics Graph Checker

Here's an applet for kinematics (mostly CAPM) practice that I put together this fall. Students have the option to choose what information they are given, from these choices:
  • Initial x, v, and a values
  • Position graph, initial x values
  • Velocity graph, initial x and v values
  • Acceleration graph, initial, x, v, and a values
The length of the time interval considered can also be varied. After getting the given information, students can draw their predictions (either sketching the shapes or drawing quantitative graphs), and then press the "Show Solutions" button to reveal the hidden two or three graphs. I finished this one after students were through 1D kinematics this year, so I don't have any info on how effective students find these. Let me know if you like (or don't like) them for your classroom purposes!

Friday, April 10, 2015

What Can You Do With This? feat. Phineas and Ferb

I love the "What Can You Do With This?" variety of problem prompts: give the students a situation, photo, video, sound, or piece of equipment and then ask them: "what can you do with this?" That is, "what questions can you ask of this?"

Students have great ownership of these questions, and must really engage with the modeling process - identifying what principles apply, making and justifying assumptions and approximations, determining what information is available, etc., as well as practicing the process of asking interesting but focused and answerable questions. None of these purposes are served well by "textbook problems," not to mention that the process is more enjoyable and engaging for students when they're such a big part of it.

Here's my most recent - a video prompt that I saw while watching Phineas and Ferb with my son:

The students came up with some great questions, made measurements (including scaling) from the video, and did their analyses. It took about 35 minutes, and here are the three whiteboards from this section:
"What's the stiffness constant of the 'trampoline'"?
"What would his maximum acceleration be as he's caught?"

 "What's the maximum force exerted on him by the trampoline?"
Also explored by this group, but not pictured: "From how high could he fall and not die?"

 "How high does Phineas bounce?"
"How much energy was lost during the bounce?"

Friday, March 13, 2015

Counter-factual Animations and Energy

Soon after my students began energy, I presented them with a set of five YouTube videos that I made with VPython of a race between two identical balls, launched by identical springs that had been compressed identical amounts.
The five simulations present five different ways that the race could play out; one is physically accurate and, while the other four have some sort of logic, their results are not physically correct. The students have some time in groups to determine which they think is correct and, more importantly, what specific issues they have with the others. I'm challenging them to figure out the laws of physics in these four alternate universes, in essence.

After they've worked for a while, they vote, and then we go through the unpopular ones first, with students giving their reasons against them, debating as disagreement crops up.

It usually boils down to two or three, and they hone in on the correct answer pretty reliably in a peer-instruction-esque way. The discussion has been lively and productive, and I like it as a way to focus their attention on the kinds of things that energy conservation does and does not allow in the world in general. It also is a good review of some kinematics concepts, including average velocity and the velocity/displacement relationship.

The YouTube format isn't the best - the size is a bit too small, unless you want to switch back and forth between fullscreen and smaller. Additionally, the suggested videos pop-up at the end is distracting and annoying.

To that end, I coded the simulations into GlowScript instead; students can now deal with them in-browser, repeating or switching at will. It would be neat to have two windows to select different simulations to run against each other simultaneously, and I may add that feature in the future. In the meantime, this will be a big improvement for students over the previous incarnation!