The hand crank generator works because of the right hand rule. The hand crank exerts a force on the electrons in the wire perpendicular to the magnetic field lines produced by the magnets. By the right hand rule, this interaction generates a current in the wire perpendicular to both the force and field lines, i.e. down the length of the wire. This current, when forced through the light bulb's filament, generates light.
Saturday, March 6, 2010
Tuesday, February 23, 2010
Solar Panel (Circuits Lab)
The solar panel is not unlike the lemon battery. Instead of an electrochemical reaction involving acidity and conductivity, in the case of a solar panel, we have a photovoltaic reaction (light converted into energy). Everyday solar cells are also known as photovoltaic cells. When light in the form of photos hits an electrically neutral NPN photovoltaic cell, its energy disrupts the "holes" of a P section of the semiconductor enough to cause a flow of electricity.
In Retrospect
Daine and I spent hours and hours making sure our engine was as efficient as possible. As you can see in our engine video, however, it stuggles. In the interest of time, we rushed the final fase of our project - attaching the displacer and balloon-piston to the crankshaft. We ended up using very coarse and slightly rusty steel wire for our attachment, which obviously was not very flexible. The fact that our engine ran anyways I believe is an accomplishment in of itself. One of these days we will pick the project back up again and redo a few things. But I think Daine and I would both agree that we need a bit of a break :)
Lemon Battery (Circuits Lab)
In this demo, a zinc screw and copper penny are inserted into a lemon "battery" and a potential difference is measured via a voltmeter. The opposing chemical nature of zinc and copper immersed in the acidity of the lemon cause an electrochemical reaction, which results in a flow of current through the wires and voltmeter. Zinc is a better conductor than copper, thus the electrons head in the zinc screw's direction, as shown the the picture below. Remember, negatively charged electrons flow out the the negative end of the battery.
Courtesy of http://hilaroad.com/camp/projects/lemon/lemon_battery.html
Connor's Ideal Gas Sim
from visual import *
ball = sphere(pos=(-5.5, 0, 0), radius = 0.5, color=color.cyan)
ball.velocity = vector(25,5,25)
ball2 = sphere(pos=(2, -5.5, 0), radius = 0.5, color=color.red)
ball2.velocity = vector(30,-10,5)
wallR = box(pos=(6,0,0), size=(0.2,12.2,12), color=color.green, opacity = 0.5)
wallL = box(pos=(-6,0,0), size=(0.2,12.2,12), color=color.green, opacity = 0.5)
wallT = box(pos=(0,6,0), size=(12,0.2,12), color=color.green, opacity = 0.5)
wallB = box(pos=(0,-6,0), size=(12,0.2,12), color=color.green, opacity = 0.5)
wallBack = box(pos=(0,0,-6), size=(12,12,0.2), color=color.green, opacity = 0.5)
wallFront = box(pos=(0,0,6), size=(12,12,0.2), color=color.green, opacity = 0.08)
deltat = 0.005
t = 0
vscale = 0.1
varr = arrow(pos=ball.pos, axis=vscale*ball.velocity, color=color.yellow)
varr2 = arrow(pos=ball2.pos, axis=vscale*ball2.velocity, color=color.yellow)
scene.autoscale = False
ball.trail = curve(color=ball.color)
ball2.trail = curve(color=ball2.color)
while t<3e4:
rate(100)
if ball.pos.x+ball.radius > wallR.pos.x or ball.pos.x-ball.radius < wallL.pos.x:
ball.velocity.x = -ball.velocity.x
if ball.pos.y+ball.radius > wallT.pos.y or ball.pos.y-ball.radius < wallB.pos.y:
ball.velocity.y = -ball.velocity.y
if ball.pos.z-ball.radius < wallBack.pos.z or ball.pos.z+ball.radius > wallFront.pos.z:
ball.velocity.z = -ball.velocity.z
if ball2.pos.x+ball2.radius > wallR.pos.x or ball2.pos.x-ball2.radius < wallL.pos.x:
ball2.velocity.x = -ball2.velocity.x
if ball2.pos.y+ball2.radius > wallT.pos.y or ball2.pos.y-ball2.radius < wallB.pos.y:
ball2.velocity.y = -ball2.velocity.y
if ball2.pos.z-ball2.radius < wallBack.pos.z or ball2.pos.z+ball2.radius > wallFront.pos.z:
ball2.velocity.z = -ball2.velocity.z
ball.pos = ball.pos + ball.velocity*deltat
ball.trail.append(pos=ball.pos)
ball2.pos = ball2.pos + ball2.velocity*deltat
ball2.trail.append(pos=ball2.pos)
varr.pos = ball.pos
varr.axis = vscale*ball.velocity
varr2.pos = ball2.pos
varr2.axis = vscale*ball2.velocity
t = t + deltat
ball = sphere(pos=(-5.5, 0, 0), radius = 0.5, color=color.cyan)
ball.velocity = vector(25,5,25)
ball2 = sphere(pos=(2, -5.5, 0), radius = 0.5, color=color.red)
ball2.velocity = vector(30,-10,5)
wallR = box(pos=(6,0,0), size=(0.2,12.2,12), color=color.green, opacity = 0.5)
wallL = box(pos=(-6,0,0), size=(0.2,12.2,12), color=color.green, opacity = 0.5)
wallT = box(pos=(0,6,0), size=(12,0.2,12), color=color.green, opacity = 0.5)
wallB = box(pos=(0,-6,0), size=(12,0.2,12), color=color.green, opacity = 0.5)
wallBack = box(pos=(0,0,-6), size=(12,12,0.2), color=color.green, opacity = 0.5)
wallFront = box(pos=(0,0,6), size=(12,12,0.2), color=color.green, opacity = 0.08)
deltat = 0.005
t = 0
vscale = 0.1
varr = arrow(pos=ball.pos, axis=vscale*ball.velocity, color=color.yellow)
varr2 = arrow(pos=ball2.pos, axis=vscale*ball2.velocity, color=color.yellow)
scene.autoscale = False
ball.trail = curve(color=ball.color)
ball2.trail = curve(color=ball2.color)
while t<3e4:
rate(100)
if ball.pos.x+ball.radius > wallR.pos.x or ball.pos.x-ball.radius < wallL.pos.x:
ball.velocity.x = -ball.velocity.x
if ball.pos.y+ball.radius > wallT.pos.y or ball.pos.y-ball.radius < wallB.pos.y:
ball.velocity.y = -ball.velocity.y
if ball.pos.z-ball.radius < wallBack.pos.z or ball.pos.z+ball.radius > wallFront.pos.z:
ball.velocity.z = -ball.velocity.z
if ball2.pos.x+ball2.radius > wallR.pos.x or ball2.pos.x-ball2.radius < wallL.pos.x:
ball2.velocity.x = -ball2.velocity.x
if ball2.pos.y+ball2.radius > wallT.pos.y or ball2.pos.y-ball2.radius < wallB.pos.y:
ball2.velocity.y = -ball2.velocity.y
if ball2.pos.z-ball2.radius < wallBack.pos.z or ball2.pos.z+ball2.radius > wallFront.pos.z:
ball2.velocity.z = -ball2.velocity.z
ball.pos = ball.pos + ball.velocity*deltat
ball.trail.append(pos=ball.pos)
ball2.pos = ball2.pos + ball2.velocity*deltat
ball2.trail.append(pos=ball2.pos)
varr.pos = ball.pos
varr.axis = vscale*ball.velocity
varr2.pos = ball2.pos
varr2.axis = vscale*ball2.velocity
t = t + deltat
Saturday, February 20, 2010
Wednesday, February 17, 2010
Crankshaft/Flywheel, Crankshaft Supports, and PVC Pipe assembly
Subscribe to:
Posts (Atom)