<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://hades.mech.northwestern.edu//api.php?action=feedcontributions&amp;feedformat=atom&amp;user=DavidEvitt</id>
	<title>Mech - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="https://hades.mech.northwestern.edu//api.php?action=feedcontributions&amp;feedformat=atom&amp;user=DavidEvitt"/>
	<link rel="alternate" type="text/html" href="https://hades.mech.northwestern.edu//index.php/Special:Contributions/DavidEvitt"/>
	<updated>2026-04-06T13:22:28Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.35.9</generator>
	<entry>
		<id>https://hades.mech.northwestern.edu//index.php?title=ME_333_final_projects&amp;diff=8674</id>
		<title>ME 333 final projects</title>
		<link rel="alternate" type="text/html" href="https://hades.mech.northwestern.edu//index.php?title=ME_333_final_projects&amp;diff=8674"/>
		<updated>2008-03-21T13:59:08Z</updated>

		<summary type="html">&lt;p&gt;DavidEvitt: /* Continuously Variable Transmission */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;#039;&amp;#039;&amp;#039;[[ME 333 end of course schedule]]&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
== ME 333 Final Projects 2008 ==&lt;br /&gt;
&lt;br /&gt;
=== [[IR Tracker]] ===&lt;br /&gt;
&lt;br /&gt;
[[Image:IR_Tracker_Main.jpg|right|thumb|200px]]&lt;br /&gt;
&lt;br /&gt;
The IR Tracker (aka &amp;quot;Spot&amp;quot;) is a device that follows a moving infrared light. It continuously detects the position of an infrared emitter in two axes, and then tracks the emitter with a laser. [http://depot.northwestern.edu/mht363/public_html/IR%20Track/Mar%2019%20IR%20tracker.mp4 See Spot Run.]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br clear=all&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== [[Robot Snake]] ===&lt;br /&gt;
[[Image:HLSSnakeMain.jpg|right|thumb|200px]]&lt;br /&gt;
&lt;br /&gt;
This remote control robotic snake uses servo motors with a traveling sine wave motion profile to mimic serpentine motion.  The robotic snake is capable of moving forward, left, right and in reverse.   &lt;br /&gt;
[http://www.youtube.com/watch?v=r_GOOFLnI6w Video of the robot snake]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br clear=all&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== [[Programmable Stiffness Joint]] === &lt;br /&gt;
&lt;br /&gt;
[[Image:SteelToePic2.jpg|thumb|200px|The &amp;#039;Steel Toe&amp;#039; programmable stiffness joint|right]]&lt;br /&gt;
&lt;br /&gt;
The Programmable Stiffness Joint varies rotational stiffness as desired by the user.  It is the first step in modeling the mechanical impedance of the human ankle joint (both stiffness and damping) for the purpose of determining the respective breakdown of the two properties over the gait cycle.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br clear=all&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== [[Magnetic based sample purification]] ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br clear=all&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== [[Continuously Variable Transmission]] ===&lt;br /&gt;
&lt;br /&gt;
[[image:CVT_system.JPG|thumb|200px]]&lt;br /&gt;
&lt;br /&gt;
This prototype is a proof of concept model of a variable ratio transmission to be implemented in the 2008-2009 Formula SAE competition vehicle.  The gear ratio is determined by the distances between the pulley halves which are controllable electronically.  &lt;br /&gt;
&lt;br /&gt;
&amp;lt;br clear=all&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== [[Granular Flow Rotating Sphere]] ===&lt;br /&gt;
[[Image:Team-21-main-picture.JPG|right|thumb|200px]]&lt;br /&gt;
This device will be used to study the granular flow of particles within a rotating sphere. The sphere is filled with grains of varying size and then rotated about two different axes according to a series of position and angular velocity inputs.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br clear=all&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== [[Vibratory Clock]] ===&lt;br /&gt;
&lt;br /&gt;
[[Image:Vibratory_Clock.jpg|right|thumb|Vibratory Clock|200px]]&lt;br /&gt;
&lt;br /&gt;
The Vibratory Clock allows a small object to act as an hour &amp;quot;hand&amp;quot; on a horizontal circular platform that is actuated from underneath by three speakers.  The object slides around the circular platform, impelled by friction forces due to the vibration.  [http://www.youtube.com/watch?v=KhgTNCfdwZw Check it out!]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br clear=all&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== [[WiiMouse]] ===&lt;br /&gt;
&lt;br /&gt;
[[Image:HPIM1027.jpg|right|thumb|200px]]&lt;br /&gt;
&lt;br /&gt;
The WiiMouse is a handheld remote that can be used to move a cursor on a windows-based PC, via accelerometer input captured through device movement.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br clear=all&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== [[Intelligent Oscillation Controller]] ===&lt;br /&gt;
&lt;br /&gt;
[[image:ME333_learning_oscillator.jpg|thumb|200px]]&lt;br /&gt;
&lt;br /&gt;
This device &amp;quot;learns&amp;quot; a forcing function that is applied to a spring and mass system to match an arbitrary, periodic acceleration profile.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br clear=all&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== [[Baseball]] ===&lt;br /&gt;
&lt;br /&gt;
[[Image:Baseball_Playfield.jpg|Sweet Baseball Game|right|thumb|200px]]&lt;br /&gt;
&lt;br /&gt;
An interactive baseball game inspired by pinball, featuring pitching, batting, light up bases and a scoreboard to keep track of the game.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br clear=all&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== [[Ball Balancing Challenge]] ===&lt;br /&gt;
&lt;br /&gt;
[[Image:Ballbalancechallenge.JPG|right|thumb|200px]]&lt;br /&gt;
&lt;br /&gt;
An interactive game involving ball balancing on a touchscreen with touchscreen feedback and joystick action. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;br clear=all&amp;gt;&lt;/div&gt;</summary>
		<author><name>DavidEvitt</name></author>
	</entry>
	<entry>
		<id>https://hades.mech.northwestern.edu//index.php?title=Continuously_Variable_Transmission&amp;diff=8673</id>
		<title>Continuously Variable Transmission</title>
		<link rel="alternate" type="text/html" href="https://hades.mech.northwestern.edu//index.php?title=Continuously_Variable_Transmission&amp;diff=8673"/>
		<updated>2008-03-21T13:02:55Z</updated>

		<summary type="html">&lt;p&gt;DavidEvitt: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[image: CVT_system.JPG|450px|right]]&lt;br /&gt;
&lt;br /&gt;
== Team members ==&lt;br /&gt;
[[image: Evitt-Miller-Mui.JPG|thumb|200px|Evitt-Miller-Mui]]&lt;br /&gt;
&lt;br /&gt;
* David Evitt: Mechanical Engineering, Class of 2009&lt;br /&gt;
* Tyler Miller: Electrical Engineering, Class of 2009&lt;br /&gt;
* Raymond Mui: Mechanical Engineering, Class of 2008&lt;br /&gt;
&amp;lt;br clear=all&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Overview ==&lt;br /&gt;
[[image: CVT_Ratio.JPG|thumb|200px| Low-High Ratio]]&lt;br /&gt;
&lt;br /&gt;
The goal of this project was to create an electronically controlled, belt-driven, continuously variable transmission (CVT).  &lt;br /&gt;
&lt;br /&gt;
A CVT is a type of transmission that can smoothly transition between gear ratios.  This can be achieved in a variety of ways.  We chose to use movable conical pulley halves and a v-belt, similar to the CVTs commonly found on snowmobiles.  The conical faces of the pulley halves create a valley that the belt rides in.  The belt wedges as far down in the valley as possible, so the distance between the pulleys controls what radius the belt rides at.  As the pulley halves move together it forces the belt out of the valley to run at a larger radius, if the pulley halves move further apart the belt will fall down the valley to run at a smaller radius.  Two sets of pulley halves work together and move simultaneously to form the transmission.  One pulley moves to control the gear ratio, the other pulley adjusts to maintain belt tension.  For example if the input pulley halves begin far apart and the output pulley halves begin close together the transmission is in low gear.  As the input pulley halves move together, the output pulley halves move apart to maintain constant belt tension, as illustrated in the figure.  This motion is a smooth shift from low to high gear, as shown in the [http://www.youtube.com/watch?v=M9bJ_b61E-4 video].&lt;br /&gt;
&lt;br /&gt;
A variable ratio transmission has a variety of applications.  With a fixed gear ratio, the output speed is a constant multiple of the input speed.  This means that as the output speed increases the input speed must also increase.  In a vehicle application this means that the engine speed changes greatly as the vehicle accelerates.  If the gear ratio is variable the input can remain at constant speed as the output speed increases.  In vehicle terms, the engine speed can be held constant while the vehicle accelerates.  This is helpful because the engine can always operate at peak power for maximum acceleration, or at maximum efficiency.  The Formula SAE team is working toward implementing a CVT on their next competition vehicle to take advantage of this property.  This proof of concept prototype is the first step towards that goal.  &lt;br /&gt;
&lt;br /&gt;
More about CVTs can be found in the [[Continuously_Variable_Transmission#Further_Reading|further reading section]].  &lt;br /&gt;
&lt;br /&gt;
This wiki page documents the mechanical and electrical systems, the code, and our reflections on the project.&lt;br /&gt;
&amp;lt;br clear=all&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Mechanical Design ==&lt;br /&gt;
&lt;br /&gt;
=== System Operation ===&lt;br /&gt;
[[image:CVT_Overview.jpg|thumb|200px|CVT assembly]]&lt;br /&gt;
[[image:CVT_Moveable_Pulley.jpg|thumb|200px|Movable pulley detail]]&lt;br /&gt;
&lt;br /&gt;
Our CVT shown to the right was constructed in the Ford Building machine shop. It consists of two pulley assemblies.  Each pulley assembly has one half fixed to the shaft, the other half is able to translate along the shaft, but is prevented from rotating by the torque transfer plate, which is fixed to the shaft.  The movable pulley slides on bushings and rolls on the torque transfer plate bearings so it is free to move, even under load.  The position of the movable pulley is determined by the pulley actuator, which is controlled by the lead screw.  Three Pittman GM8224 motors actuate the system.  One spins the input shaft, the other two control the lead screws setting pulley position.  &lt;br /&gt;
&amp;lt;br clear=all&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Pulley Control ===&lt;br /&gt;
[[image:CVT_Underside.jpg|thumb|200px|Pulley Control]]&lt;br /&gt;
[[image:CVT_Limit_Switch.jpg|thumb|200px|Limit Switch]]&lt;br /&gt;
&lt;br /&gt;
The input and output pulleys serve different functions which are reflected in the control hardware.  The input pulley sets the gear ratio, the output pulley maintains belt tension.  The input pulley actuation system is rigid, enforcing the pulley position commanded by the controller.  The output actuation system has compliance built in with springs, allowing flexibility to maintain a near constant belt tension.  &lt;br /&gt;
&lt;br /&gt;
The control motors turn a lead screw that pushes a drive nut.  That drive nut slides the actuator frame along the guide shafts, which adjusts the pulley actuator, controlling pulley position.  The wide actuator frame is necessary to resist the moment from the cantilever pulley actuator and not bind.  In the case of the output actuator, the drive plate floats in the actuator frame on springs.  As the gear ratio changes the output lead screw control motor turns in the proper direction compressing the springs, which in turn applies belt tension, until the limit switch is depressed at which point the lead screw stops.  As the input pulley continues to shift the springs keep adjusting the position of the output pulley until the limit switch opens again.  The lead screw then moves until the switch is again closed.  The net result is that the output control screw moves in small steps and the spring force keeps even belt tension.  &lt;br /&gt;
&amp;lt;br clear=all&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Flex Coupling ===&lt;br /&gt;
[[image:CVT_Flex_Coupling.jpg|thumb|200px|Flex Coupling]]&lt;br /&gt;
&lt;br /&gt;
Simple flex couplings to connect the motor and control shafts were developed for this prototype.  They consist of flexible tubing pressed over matching pins as seen in the figure at right and have the following benefits:&lt;br /&gt;
* Significant misalignment in any direction can be accommodated.&lt;br /&gt;
* The stiffness of the joint can be adjusted with the number of pin pairs and tubing properties.&lt;br /&gt;
* They provide overload protection.  At a certain torque the tubing segments will rip or pop of the pins to break free.  &lt;br /&gt;
&lt;br /&gt;
The design can readily be adapted to other applications and may be useful for other student projects as a low cost option.  &lt;br /&gt;
&lt;br /&gt;
=== Mechanical Part List ===&lt;br /&gt;
&amp;lt;table border=1&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Part&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Part No.&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Qty&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Vendor&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Price (Total)&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;Pittman 24V DC motor&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;GM8224&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;3&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Lab&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;-&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;Shoulder Screw&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;91259A535&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;8&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;[http://www.mcmaster.com McMaster]&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;$6.56&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;1/4&amp;quot; bearing&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;60355K33&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;8&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;[http://www.mcmaster.com McMaster]&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;$39.84&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;3/8&amp;quot; bearing&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;60355K35&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;4&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;[http://www.mcmaster.com McMaster]&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;$20.68&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;3/4&amp;quot; bearing&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;60355K38&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;4&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;[http://www.mcmaster.com McMaster]&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;$33.40&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;Thrust bearing&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;6655K22&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;2&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;[http://www.mcmaster.com McMaster]&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;$10.96&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;SAE 841 1/2&amp;quot; bushing&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;6391K212&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;10&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;[http://www.mcmaster.com McMaster]&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;$6.50&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;SAE 814 3/4&amp;quot; bushing 1&amp;quot; long&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;6391K259&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;2&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;[http://www.mcmaster.com McMaster]&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;$2.98&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;SAE 814 3/4&amp;quot; bushing 2&amp;quot; long&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;6391K269&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;2&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;[http://www.mcmaster.com McMaster]&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;$8.40&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;1/2&amp;quot; steel drive shaft&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;1346K17&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;4&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;[http://www.mcmaster.com McMaster]&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;$25.84&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;3/4&amp;quot; steel drive shaft&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;1346K31&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;4&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;[http://www.mcmaster.com McMaster]&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;$19.12&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;spring&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;9620K57&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;4&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;[http://www.mcmaster.com McMaster]&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;$17.68&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;1/2&amp;quot;-10 Acme threaded rod&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;98935A823&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;1&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;[http://www.mcmaster.com McMaster]&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;$7.12&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;Bronze 1/2&amp;quot;-10 Acme nut&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;1343K134&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;2&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;[http://www.mcmaster.com McMaster]&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;$72.24&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;Misc. fasteners and stock&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;-&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;-&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Shop&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;-&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&amp;lt;br clear=all&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Electrical and Control System==&lt;br /&gt;
&lt;br /&gt;
=== Control System Overview ===&lt;br /&gt;
&lt;br /&gt;
The control system for this prototype was intended to operate as follows.  A potentiometer sends a 0-5V signal to the A to D converter on the PIC.  Zero V corresponds to low gear, five V corresponds to high gear.  The input voltage is scaled to correspond to the desired encoder counts of the input control motor.  As the pot is swept from low to high the input pulley shifts from low gear position to high gear position.  The output pulley is given a direction to turn, based on the shift direction.  Belt tension is maintained by the limit switches as explained [[Continuously_Variable_Transmission#Pulley_Control|above]].&lt;br /&gt;
&amp;lt;br clear=all&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Circuit ===&lt;br /&gt;
[[image:CVT_circuit_diagram.jpg|thumb|200px|Circuit Diagram]]&lt;br /&gt;
[[image:CVT_circuit.jpg|thumb|200px|Completed Circuit]]&lt;br /&gt;
&lt;br /&gt;
Refer to the circuit diagram at right for details of the electrical system.  &lt;br /&gt;
&lt;br /&gt;
To control the two Pittman motors, we used the two PIC PWM outputs going through the SN74HC04N inverter chip to the L298N H-bridge chip, one for each motor.  To keep track of the input pulley encoder counts we used [[Quadrature decoding in hardware, or just counters|quadrature decoding]] with the LS7183 decoder chip going to the PIC clock inputs. &lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;Warning&amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039; there was a problem with either the wiring diagram or the actual physical circuit that fried a bunch of components and ultimately prevented us from using implementing the planned control strategy in the time available.  Use with caution and verify on your own.&lt;br /&gt;
&lt;br /&gt;
=== Electrical Part List ===&lt;br /&gt;
&amp;lt;table border=1&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Part&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Part No.&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Qty&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Vendor&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;PIC and board&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;-&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;1&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Lab&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;H-bridge&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;L298N&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;2&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Lab&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;Inverter&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;SN74HC04N&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;1&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Lab&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;Quadrature decoder&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;LS7183&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;1&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Lab&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;5V power supply&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;-&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;1&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Lab&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;24V power supply&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;-&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;1&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Lab&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&amp;lt;br clear=all&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Programming ===&lt;br /&gt;
&lt;br /&gt;
The PIC reads an input voltage reading from the potentiometer from pin RA0. This value is compared to the upper and lower bounds governing the pulley&amp;#039;s widths to determine whether the pulley needs to move farther or closer together. We then use quadrature decoding to keep track of the counts, thereby tracking the number of rotations. With the 10:1 gear ratio (10 revolutions per 1 in of travel), we also know how far it has moved. We modified the quadrature hardware [http://peshkin.mech.northwestern.edu/pic/code/QuadratureHard/  code ] available from the example code page to perform this task. &lt;br /&gt;
&lt;br /&gt;
The code for the entire setup can be found here.  &amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;Note&amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039; due to the electrical problem described [[Continuously_Variable_Transmission#Circuit|above]] the code is untested.&lt;br /&gt;
* [[media:CVTcontrolcode.c|CVTcontrolcode.c]]&lt;br /&gt;
&amp;lt;br clear=all&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Results and Reflections ==&lt;br /&gt;
&lt;br /&gt;
Despite the trouble with the electrical system we were still able to learn a great deal from this prototype.  &lt;br /&gt;
&lt;br /&gt;
To demonstrate the system, we implemented manual control of pulley position using switches. The demonstration showed that the system functions well mechanically but has opportunities for improvement.  Even with the wide support of the pulley actuator frame the clamping force on the belt was low.  As the lead screw forced the pulley halves together the actuator frame started to cock on the guide shafts and bind, limiting what belt tension could be achieved.  In the next iteration it is essential that the pulley actuation be concentric to the input/output shafts which will enable much higher belt clamping forces to be generated which is necessary for transmitting power.  In the future much more time will be scheduled for debugging the electrical system to ensure there is enough time to develop and fine tune the program.&lt;br /&gt;
&amp;lt;br clear=all&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Further Reading ==&lt;br /&gt;
&lt;br /&gt;
More details regarding the operation of a CVT, along with various forms of CVTs&lt;br /&gt;
* http://auto.howstuffworks.com/cvt.htm&lt;br /&gt;
* http://cars.about.com/od/thingsyouneedtoknow/a/CVT.htm&lt;br /&gt;
&amp;lt;br clear=all&amp;gt;&lt;/div&gt;</summary>
		<author><name>DavidEvitt</name></author>
	</entry>
	<entry>
		<id>https://hades.mech.northwestern.edu//index.php?title=Continuously_Variable_Transmission&amp;diff=8672</id>
		<title>Continuously Variable Transmission</title>
		<link rel="alternate" type="text/html" href="https://hades.mech.northwestern.edu//index.php?title=Continuously_Variable_Transmission&amp;diff=8672"/>
		<updated>2008-03-21T12:57:06Z</updated>

		<summary type="html">&lt;p&gt;DavidEvitt: /* Results */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[image: CVT_system.JPG|450px|right]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Team members ==&lt;br /&gt;
&lt;br /&gt;
[[image: Evitt-Miller-Mui.JPG|thumb|200px|Evitt-Miller-Mui]]&lt;br /&gt;
&lt;br /&gt;
* David Evitt: Mechanical Engineering, Class of 2009&lt;br /&gt;
* Tyler Miller: Electrical Engineering, Class of 2009&lt;br /&gt;
* Raymond Mui: Mechanical Engineering, Class of 2008&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br clear=all&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Overview ==&lt;br /&gt;
&lt;br /&gt;
[[image: CVT_Ratio.JPG|thumb|200px| Low-High Ratio]]&lt;br /&gt;
&lt;br /&gt;
The goal of this project was to create an electronically controlled, belt-driven, continuously variable transmission (CVT).  &lt;br /&gt;
&lt;br /&gt;
A CVT is a type of transmission that can smoothly transition between gear ratios.  This can be achieved in a variety of ways.  We chose to use movable conical pulley halves and a v-belt, similar to the CVTs commonly found on snowmobiles.  The conical faces of the pulley halves create a valley that the belt rides in.  The belt wedges as far down in the valley as possible, so the distance between the pulleys controls what radius the belt rides at.  As the pulley halves move together it forces the belt out of the valley to run at a larger radius, if the pulley halves move further apart the belt will fall down the valley to run at a smaller radius.  Two sets of pulley halves work together and move simultaneously to form the transmission.  One pulley moves to control the gear ratio, the other pulley adjusts to maintain belt tension.  For example if the input pulley halves begin far apart and the output pulley halves begin close together the transmission is in low gear.  As the input pulley halves move together, the output pulley halves move apart to maintain constant belt tension, as illustrated in the figure.  This motion is a smooth shift from low to high gear, as shown in the [http://www.youtube.com/watch?v=M9bJ_b61E-4 video].&lt;br /&gt;
&lt;br /&gt;
A variable ratio transmission is a useful device.  With a fixed gear ratio, the output speed is a constant multiple of the input speed.  This means that as the output speed increases the input speed must also increase.  In a vehicle application this means that the engine speed changes greatly as the vehicle accelerates.  If the gear ratio is variable the input can remain at constant speed as the output speed increases.  In vehicle terms, the engine speed can be held constant while the vehicle accelerates.  This is helpful because the engine can always operate at peak power for maximum acceleration, or at maximum efficiency.  The Formula SAE team is working toward implementing a CVT on their next competition vehicle to take advantage of this property.  This proof of concept prototype is the first step towards that goal.  &lt;br /&gt;
&lt;br /&gt;
More about CVTs can be found in the [[Continuously_Variable_Transmission#Further_Reading|further reading section]].  &lt;br /&gt;
&lt;br /&gt;
This wiki page documents the mechanical and electrical systems, the code, and our reflections on the project.&lt;br /&gt;
&lt;br /&gt;
== Mechanical Design ==&lt;br /&gt;
&lt;br /&gt;
=== System Operation ===&lt;br /&gt;
&lt;br /&gt;
[[image:CVT_Overview.jpg|thumb|200px|CVT assembly]]&lt;br /&gt;
[[image:CVT_Moveable_Pulley.jpg|thumb|200px|Movable pulley detail]]&lt;br /&gt;
&lt;br /&gt;
Our CVT shown to the right was constructed in the Ford Building machine shop. It consists of two pulley assemblies.  Each pulley assembly has one half fixed to the shaft, the other half is able to translate along the shaft, but is prevented from rotating by the torque transfer plate, which is fixed to the shaft.  The movable pulley slides on bushings and rolls on the torque transfer plate bearings so it is free to move, even under load.  The position of the movable pulley is determined by the pulley actuator, which is controlled by the lead screw.  Three Pittman GM8224 motors actuate the system.  One spins the input shaft, the other two control the lead screws setting pulley position.  &lt;br /&gt;
&lt;br /&gt;
&amp;lt;br clear=all&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Pulley Control ===&lt;br /&gt;
&lt;br /&gt;
[[image:CVT_Underside.jpg|thumb|200px|Pulley Control]]&lt;br /&gt;
[[image:CVT_Limit_Switch.jpg|thumb|200px|Limit Switch]]&lt;br /&gt;
&lt;br /&gt;
The input and output pulleys serve different functions which are reflected in the control hardware.  The input pulley sets the gear ratio, the output pulley maintains belt tension.  The input pulley actuation system is rigid, enforcing the pulley position commanded by the controller.  The output actuation system has compliance built in with springs, allowing flexibility to maintain a near constant belt tension.  &lt;br /&gt;
&lt;br /&gt;
The control motors turn a lead screw that pushes a drive nut.  That drive nut slides the actuator frame along the guide shafts, which adjusts the pulley actuator, controlling pulley position.  The wide actuator frame is necessary to resist the moment from the cantilever pulley actuator and not bind.  In the case of the output actuator, the drive plate floats in the actuator frame on springs.  As the gear ratio changes the output lead screw control motor turns in the proper direction compressing the springs, which in turn applies belt tension, until the limit switch is depressed at which point the lead screw stops.  As the input pulley continues to shift the springs keep adjusting the position of the output pulley until the limit switch opens again.  The lead screw then moves until the switch is again closed.  The net result is that the output control screw moves in small steps and the spring force keeps even belt tension.  &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br clear=all&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Flex Coupling ===&lt;br /&gt;
&lt;br /&gt;
[[image:CVT_Flex_Coupling.jpg|thumb|200px|Flex Coupling]]&lt;br /&gt;
&lt;br /&gt;
Simple flex couplings to connect the motor and control shafts were developed for this prototype.  They consist of flexible tubing pressed over matching pins as seen in the figure at right and have the following benefits:&lt;br /&gt;
* Significant misalignment in any direction can be accommodated.&lt;br /&gt;
* The stiffness of the joint can be adjusted with the number of pin pairs and tubing properties.&lt;br /&gt;
* They provide overload protection.  At a certain torque the tubing segments will rip or pop of the pins to break free.  &lt;br /&gt;
&lt;br /&gt;
The design can readily be adapted to other applications and may be useful for other student projects as a low cost option.  &lt;br /&gt;
&lt;br /&gt;
&amp;lt;br clear=all&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Mechanical Part List ===&lt;br /&gt;
&amp;lt;table border=1&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Part&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Part No.&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Qty&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Vendor&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Price (Total)&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;Pittman 24V DC motor&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;GM8224&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;3&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Lab&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;-&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;Shoulder Screw&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;91259A535&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;8&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;[http://www.mcmaster.com McMaster]&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;$6.56&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;1/4&amp;quot; bearing&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;60355K33&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;8&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;[http://www.mcmaster.com McMaster]&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;$39.84&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;3/8&amp;quot; bearing&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;60355K35&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;4&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;[http://www.mcmaster.com McMaster]&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;$20.68&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;3/4&amp;quot; bearing&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;60355K38&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;4&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;[http://www.mcmaster.com McMaster]&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;$33.40&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;Thrust bearing&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;6655K22&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;2&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;[http://www.mcmaster.com McMaster]&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;$10.96&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;SAE 841 1/2&amp;quot; bushing&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;6391K212&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;10&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;[http://www.mcmaster.com McMaster]&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;$6.50&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;SAE 814 3/4&amp;quot; bushing 1&amp;quot; long&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;6391K259&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;2&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;[http://www.mcmaster.com McMaster]&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;$2.98&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;SAE 814 3/4&amp;quot; bushing 2&amp;quot; long&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;6391K269&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;2&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;[http://www.mcmaster.com McMaster]&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;$8.40&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;1/2&amp;quot; steel drive shaft&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;1346K17&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;4&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;[http://www.mcmaster.com McMaster]&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;$25.84&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;3/4&amp;quot; steel drive shaft&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;1346K31&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;4&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;[http://www.mcmaster.com McMaster]&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;$19.12&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;spring&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;9620K57&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;4&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;[http://www.mcmaster.com McMaster]&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;$17.68&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;1/2&amp;quot;-10 Acme threaded rod&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;98935A823&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;1&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;[http://www.mcmaster.com McMaster]&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;$7.12&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;Bronze 1/2&amp;quot;-10 Acme nut&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;1343K134&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;2&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;[http://www.mcmaster.com McMaster]&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;$72.24&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;Misc. fasteners and stock&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;-&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;-&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Shop&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;-&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Electrical and Control System==&lt;br /&gt;
&lt;br /&gt;
=== Control System Overview ===&lt;br /&gt;
&lt;br /&gt;
The control system for this prototype was intended to operate as follows.  A potentiometer sends a 0-5V signal to the A to D converter on the PIC.  Zero V corresponds to low gear, five V corresponds to high gear.  The input voltage is scaled to correspond to the desired encoder counts of the input control motor.  As the pot is swept from low to high the input pulley shifts from low gear position to high gear position.  The output pulley is given a direction to turn, based on the shift direction.  Belt tension is maintained by the limit switches as explained [[Continuously_Variable_Transmission#Pulley_Control|above]].&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br clear=all&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Circuit ===&lt;br /&gt;
&lt;br /&gt;
[[image:CVT_circuit_diagram.jpg|thumb|200px|Circuit Diagram]]&lt;br /&gt;
[[image:CVT_circuit.jpg|thumb|200px|Completed Circuit]]&lt;br /&gt;
&lt;br /&gt;
Refer to the circuit diagram at right for details of the electrical system.  &lt;br /&gt;
&lt;br /&gt;
To control the two Pittman motors, we used the two PIC PWM outputs going through the SN74HC04N inverter chip to the L298N H-bridge chip, one for each motor.  To keep track of the input pulley encoder counts we used [[Quadrature decoding in hardware, or just counters|quadrature decoding]] with the LS7183 decoder chip going to the PIC clock inputs. &lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;Warning&amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039; there was a problem with either the wiring diagram or the actual physical circuit that fried a bunch of components and ultimately prevented us from using implementing the planned control strategy in the time available.  Use with caution and verify on your own.&lt;br /&gt;
&lt;br /&gt;
=== Electrical Part List ===&lt;br /&gt;
&amp;lt;table border=1&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Part&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Part No.&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Qty&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Vendor&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;PIC and board&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;-&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;1&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Lab&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;H-bridge&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;L298N&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;2&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Lab&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;Inverter&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;SN74HC04N&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;1&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Lab&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;Quadrature decoder&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;LS7183&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;1&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Lab&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;5V power supply&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;-&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;1&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Lab&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;24V power supply&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;-&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;1&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Lab&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br clear=all&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Programming ===&lt;br /&gt;
&lt;br /&gt;
The PIC reads an input voltage reading from the potentiometer from pin RA0. This value is compared to the upper and lower bounds governing the pulley&amp;#039;s widths to determine whether the pulley needs to move farther or closer together. We then use quadrature decoding to keep track of the counts, thereby tracking the number of rotations. With the 10:1 gear ratio (10 revolutions per 1 in of travel), we also know how far it has moved. We modified the quadrature hardware [http://peshkin.mech.northwestern.edu/pic/code/QuadratureHard/  code ] available from the example code page to perform this task. &lt;br /&gt;
&lt;br /&gt;
The code for the entire setup can be found here.  &amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;Note&amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039; due to the electrical problem described [[Continuously_Variable_Transmission#Circuit|above]] the code is untested.&lt;br /&gt;
* [[media:CVTcontrolcode.c|CVTcontrolcode.c]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br clear=all&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Results and Reflections ==&lt;br /&gt;
&lt;br /&gt;
Despite the trouble with the electrical system we were still able to learn a great deal from this prototype.  &lt;br /&gt;
&lt;br /&gt;
To demonstrate the system, we implemented manual control of pulley position using switches. The demonstration showed that the system functions well mechanically but has opportunities for improvement.  Even with the wide support of the pulley actuator frame the clamping force on the belt was low.  As the lead screw forced the pulley halves together the actuator frame started to cock on the guide shafts and bind, limiting what belt tension could be achieved.  In the next iteration it is essential that the pulley actuation be concentric to the input/output shafts which will enable much higher belt clamping forces to be generated which is necessary for transmitting power.  In the future much more time will be scheduled for debugging the electrical system to ensure there is enough time to develop and fine tune the program.&lt;br /&gt;
&lt;br /&gt;
== Further Reading ==&lt;br /&gt;
&lt;br /&gt;
More details regarding the operation of a CVT, along with various forms of CVTs&lt;br /&gt;
* http://auto.howstuffworks.com/cvt.htm&lt;br /&gt;
* http://cars.about.com/od/thingsyouneedtoknow/a/CVT.htm&lt;/div&gt;</summary>
		<author><name>DavidEvitt</name></author>
	</entry>
	<entry>
		<id>https://hades.mech.northwestern.edu//index.php?title=Continuously_Variable_Transmission&amp;diff=8671</id>
		<title>Continuously Variable Transmission</title>
		<link rel="alternate" type="text/html" href="https://hades.mech.northwestern.edu//index.php?title=Continuously_Variable_Transmission&amp;diff=8671"/>
		<updated>2008-03-21T12:14:55Z</updated>

		<summary type="html">&lt;p&gt;DavidEvitt: /* Electrical Part List */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[image: CVT_system.JPG|450px|right]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Team members ==&lt;br /&gt;
&lt;br /&gt;
[[image: Evitt-Miller-Mui.JPG|thumb|200px|Evitt-Miller-Mui]]&lt;br /&gt;
&lt;br /&gt;
* David Evitt: Mechanical Engineering, Class of 2009&lt;br /&gt;
* Tyler Miller: Electrical Engineering, Class of 2009&lt;br /&gt;
* Raymond Mui: Mechanical Engineering, Class of 2008&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br clear=all&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Overview ==&lt;br /&gt;
&lt;br /&gt;
[[image: CVT_Ratio.JPG|thumb|200px| Low-High Ratio]]&lt;br /&gt;
&lt;br /&gt;
The goal of this project was to create an electronically controlled, belt-driven, continuously variable transmission (CVT).  &lt;br /&gt;
&lt;br /&gt;
A CVT is a type of transmission that can smoothly transition between gear ratios.  This can be achieved in a variety of ways.  We chose to use movable conical pulley halves and a v-belt, similar to the CVTs commonly found on snowmobiles.  The conical faces of the pulley halves create a valley that the belt rides in.  The belt wedges as far down in the valley as possible, so the distance between the pulleys controls what radius the belt rides at.  As the pulley halves move together it forces the belt out of the valley to run at a larger radius, if the pulley halves move further apart the belt will fall down the valley to run at a smaller radius.  Two sets of pulley halves work together and move simultaneously to form the transmission.  One pulley moves to control the gear ratio, the other pulley adjusts to maintain belt tension.  For example if the input pulley halves begin far apart and the output pulley halves begin close together the transmission is in low gear.  As the input pulley halves move together, the output pulley halves move apart to maintain constant belt tension, as illustrated in the figure.  This motion is a smooth shift from low to high gear, as shown in the [http://www.youtube.com/watch?v=M9bJ_b61E-4 video].&lt;br /&gt;
&lt;br /&gt;
A variable ratio transmission is a useful device.  With a fixed gear ratio, the output speed is a constant multiple of the input speed.  This means that as the output speed increases the input speed must also increase.  In a vehicle application this means that the engine speed changes greatly as the vehicle accelerates.  If the gear ratio is variable the input can remain at constant speed as the output speed increases.  In vehicle terms, the engine speed can be held constant while the vehicle accelerates.  This is helpful because the engine can always operate at peak power for maximum acceleration, or at maximum efficiency.  The Formula SAE team is working toward implementing a CVT on their next competition vehicle to take advantage of this property.  This proof of concept prototype is the first step towards that goal.  &lt;br /&gt;
&lt;br /&gt;
More about CVTs can be found in the [[Continuously_Variable_Transmission#Further_Reading|further reading section]].  &lt;br /&gt;
&lt;br /&gt;
This wiki page documents the mechanical and electrical systems, the code, and our reflections on the project.&lt;br /&gt;
&lt;br /&gt;
== Mechanical Design ==&lt;br /&gt;
&lt;br /&gt;
=== System Operation ===&lt;br /&gt;
&lt;br /&gt;
[[image:CVT_Overview.jpg|thumb|200px|CVT assembly]]&lt;br /&gt;
[[image:CVT_Moveable_Pulley.jpg|thumb|200px|Movable pulley detail]]&lt;br /&gt;
&lt;br /&gt;
Our CVT shown to the right was constructed in the Ford Building machine shop. It consists of two pulley assemblies.  Each pulley assembly has one half fixed to the shaft, the other half is able to translate along the shaft, but is prevented from rotating by the torque transfer plate, which is fixed to the shaft.  The movable pulley slides on bushings and rolls on the torque transfer plate bearings so it is free to move, even under load.  The position of the movable pulley is determined by the pulley actuator, which is controlled by the lead screw.  Three Pittman GM8224 motors actuate the system.  One spins the input shaft, the other two control the lead screws setting pulley position.  &lt;br /&gt;
&lt;br /&gt;
&amp;lt;br clear=all&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Pulley Control ===&lt;br /&gt;
&lt;br /&gt;
[[image:CVT_Underside.jpg|thumb|200px|Pulley Control]]&lt;br /&gt;
[[image:CVT_Limit_Switch.jpg|thumb|200px|Limit Switch]]&lt;br /&gt;
&lt;br /&gt;
The input and output pulleys serve different functions which are reflected in the control hardware.  The input pulley sets the gear ratio, the output pulley maintains belt tension.  The input pulley actuation system is rigid, enforcing the pulley position commanded by the controller.  The output actuation system has compliance built in with springs, allowing flexibility to maintain a near constant belt tension.  &lt;br /&gt;
&lt;br /&gt;
The control motors turn a lead screw that pushes a drive nut.  That drive nut slides the actuator frame along the guide shafts, which adjusts the pulley actuator, controlling pulley position.  The wide actuator frame is necessary to resist the moment from the cantilever pulley actuator and not bind.  In the case of the output actuator, the drive plate floats in the actuator frame on springs.  As the gear ratio changes the output lead screw control motor turns in the proper direction compressing the springs, which in turn applies belt tension, until the limit switch is depressed at which point the lead screw stops.  As the input pulley continues to shift the springs keep adjusting the position of the output pulley until the limit switch opens again.  The lead screw then moves until the switch is again closed.  The net result is that the output control screw moves in small steps and the spring force keeps even belt tension.  &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br clear=all&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Flex Coupling ===&lt;br /&gt;
&lt;br /&gt;
[[image:CVT_Flex_Coupling.jpg|thumb|200px|Flex Coupling]]&lt;br /&gt;
&lt;br /&gt;
Simple flex couplings to connect the motor and control shafts were developed for this prototype.  They consist of flexible tubing pressed over matching pins as seen in the figure at right and have the following benefits:&lt;br /&gt;
* Significant misalignment in any direction can be accommodated.&lt;br /&gt;
* The stiffness of the joint can be adjusted with the number of pin pairs and tubing properties.&lt;br /&gt;
* They provide overload protection.  At a certain torque the tubing segments will rip or pop of the pins to break free.  &lt;br /&gt;
&lt;br /&gt;
The design can readily be adapted to other applications and may be useful for other student projects as a low cost option.  &lt;br /&gt;
&lt;br /&gt;
&amp;lt;br clear=all&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Mechanical Part List ===&lt;br /&gt;
&amp;lt;table border=1&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Part&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Part No.&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Qty&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Vendor&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Price (Total)&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;Pittman 24V DC motor&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;GM8224&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;3&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Lab&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;-&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;Shoulder Screw&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;91259A535&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;8&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;[http://www.mcmaster.com McMaster]&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;$6.56&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;1/4&amp;quot; bearing&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;60355K33&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;8&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;[http://www.mcmaster.com McMaster]&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;$39.84&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;3/8&amp;quot; bearing&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;60355K35&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;4&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;[http://www.mcmaster.com McMaster]&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;$20.68&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;3/4&amp;quot; bearing&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;60355K38&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;4&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;[http://www.mcmaster.com McMaster]&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;$33.40&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;Thrust bearing&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;6655K22&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;2&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;[http://www.mcmaster.com McMaster]&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;$10.96&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;SAE 841 1/2&amp;quot; bushing&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;6391K212&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;10&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;[http://www.mcmaster.com McMaster]&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;$6.50&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;SAE 814 3/4&amp;quot; bushing 1&amp;quot; long&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;6391K259&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;2&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;[http://www.mcmaster.com McMaster]&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;$2.98&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;SAE 814 3/4&amp;quot; bushing 2&amp;quot; long&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;6391K269&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;2&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;[http://www.mcmaster.com McMaster]&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;$8.40&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;1/2&amp;quot; steel drive shaft&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;1346K17&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;4&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;[http://www.mcmaster.com McMaster]&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;$25.84&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;3/4&amp;quot; steel drive shaft&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;1346K31&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;4&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;[http://www.mcmaster.com McMaster]&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;$19.12&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;spring&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;9620K57&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;4&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;[http://www.mcmaster.com McMaster]&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;$17.68&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;1/2&amp;quot;-10 Acme threaded rod&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;98935A823&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;1&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;[http://www.mcmaster.com McMaster]&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;$7.12&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;Bronze 1/2&amp;quot;-10 Acme nut&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;1343K134&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;2&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;[http://www.mcmaster.com McMaster]&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;$72.24&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;Misc. fasteners and stock&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;-&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;-&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Shop&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;-&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Electrical and Control System==&lt;br /&gt;
&lt;br /&gt;
=== Control System Overview ===&lt;br /&gt;
&lt;br /&gt;
The control system for this prototype was intended to operate as follows.  A potentiometer sends a 0-5V signal to the A to D converter on the PIC.  Zero V corresponds to low gear, five V corresponds to high gear.  The input voltage is scaled to correspond to the desired encoder counts of the input control motor.  As the pot is swept from low to high the input pulley shifts from low gear position to high gear position.  The output pulley is given a direction to turn, based on the shift direction.  Belt tension is maintained by the limit switches as explained [[Continuously_Variable_Transmission#Pulley_Control|above]].&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br clear=all&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Circuit ===&lt;br /&gt;
&lt;br /&gt;
[[image:CVT_circuit_diagram.jpg|thumb|200px|Circuit Diagram]]&lt;br /&gt;
[[image:CVT_circuit.jpg|thumb|200px|Completed Circuit]]&lt;br /&gt;
&lt;br /&gt;
Refer to the circuit diagram at right for details of the electrical system.  &lt;br /&gt;
&lt;br /&gt;
To control the two Pittman motors, we used the two PIC PWM outputs going through the SN74HC04N inverter chip to the L298N H-bridge chip, one for each motor.  To keep track of the input pulley encoder counts we used [[Quadrature decoding in hardware, or just counters|quadrature decoding]] with the LS7183 decoder chip going to the PIC clock inputs. &lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;Warning&amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039; there was a problem with either the wiring diagram or the actual physical circuit that fried a bunch of components and ultimately prevented us from using implementing the planned control strategy in the time available.  Use with caution and verify on your own.&lt;br /&gt;
&lt;br /&gt;
=== Electrical Part List ===&lt;br /&gt;
&amp;lt;table border=1&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Part&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Part No.&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Qty&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Vendor&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;PIC and board&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;-&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;1&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Lab&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;H-bridge&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;L298N&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;2&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Lab&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;Inverter&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;SN74HC04N&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;1&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Lab&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;Quadrature decoder&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;LS7183&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;1&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Lab&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;5V power supply&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;-&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;1&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Lab&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;24V power supply&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;-&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;1&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Lab&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br clear=all&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Programming ===&lt;br /&gt;
&lt;br /&gt;
The PIC reads an input voltage reading from the potentiometer from pin RA0. This value is compared to the upper and lower bounds governing the pulley&amp;#039;s widths to determine whether the pulley needs to move farther or closer together. We then use quadrature decoding to keep track of the counts, thereby tracking the number of rotations. With the 10:1 gear ratio (10 revolutions per 1 in of travel), we also know how far it has moved. We modified the quadrature hardware [http://peshkin.mech.northwestern.edu/pic/code/QuadratureHard/  code ] available from the example code page to perform this task. &lt;br /&gt;
&lt;br /&gt;
The code for the entire setup can be found here.  &amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;Note&amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039; due to the electrical problem described [[Continuously_Variable_Transmission#Circuit|above]] the code is untested.&lt;br /&gt;
* [[media:CVTcontrolcode.c|CVTcontrolcode.c]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br clear=all&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Results ==&lt;br /&gt;
&lt;br /&gt;
Unfortunately, due to technical errors and circuit component failure (namely frying three PICs along with other melted components), we were not able to implement the PIC control for the two pulleys. To demonstrate the apparatus, we implemented manual control of the two Pittmans using switches to control the pulley widths. The demonstration showed that the system functions well mechanically. Manual control illustrated the need for feedback control for this system, as the transitions from low to high gear required a nonlinear shift in the pulley radii.&lt;br /&gt;
&lt;br /&gt;
With further work on the circuits and controls, we hope to get the CVT working as intended with PIC control.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Further Reading ==&lt;br /&gt;
&lt;br /&gt;
More details regarding the operation of a CVT, along with various forms of CVTs&lt;br /&gt;
* http://auto.howstuffworks.com/cvt.htm&lt;br /&gt;
* http://cars.about.com/od/thingsyouneedtoknow/a/CVT.htm&lt;/div&gt;</summary>
		<author><name>DavidEvitt</name></author>
	</entry>
	<entry>
		<id>https://hades.mech.northwestern.edu//index.php?title=Continuously_Variable_Transmission&amp;diff=8670</id>
		<title>Continuously Variable Transmission</title>
		<link rel="alternate" type="text/html" href="https://hades.mech.northwestern.edu//index.php?title=Continuously_Variable_Transmission&amp;diff=8670"/>
		<updated>2008-03-21T12:04:56Z</updated>

		<summary type="html">&lt;p&gt;DavidEvitt: /* Part List */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[image: CVT_system.JPG|450px|right]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Team members ==&lt;br /&gt;
&lt;br /&gt;
[[image: Evitt-Miller-Mui.JPG|thumb|200px|Evitt-Miller-Mui]]&lt;br /&gt;
&lt;br /&gt;
* David Evitt: Mechanical Engineering, Class of 2009&lt;br /&gt;
* Tyler Miller: Electrical Engineering, Class of 2009&lt;br /&gt;
* Raymond Mui: Mechanical Engineering, Class of 2008&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br clear=all&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Overview ==&lt;br /&gt;
&lt;br /&gt;
[[image: CVT_Ratio.JPG|thumb|200px| Low-High Ratio]]&lt;br /&gt;
&lt;br /&gt;
The goal of this project was to create an electronically controlled, belt-driven, continuously variable transmission (CVT).  &lt;br /&gt;
&lt;br /&gt;
A CVT is a type of transmission that can smoothly transition between gear ratios.  This can be achieved in a variety of ways.  We chose to use movable conical pulley halves and a v-belt, similar to the CVTs commonly found on snowmobiles.  The conical faces of the pulley halves create a valley that the belt rides in.  The belt wedges as far down in the valley as possible, so the distance between the pulleys controls what radius the belt rides at.  As the pulley halves move together it forces the belt out of the valley to run at a larger radius, if the pulley halves move further apart the belt will fall down the valley to run at a smaller radius.  Two sets of pulley halves work together and move simultaneously to form the transmission.  One pulley moves to control the gear ratio, the other pulley adjusts to maintain belt tension.  For example if the input pulley halves begin far apart and the output pulley halves begin close together the transmission is in low gear.  As the input pulley halves move together, the output pulley halves move apart to maintain constant belt tension, as illustrated in the figure.  This motion is a smooth shift from low to high gear, as shown in the [http://www.youtube.com/watch?v=M9bJ_b61E-4 video].&lt;br /&gt;
&lt;br /&gt;
A variable ratio transmission is a useful device.  With a fixed gear ratio, the output speed is a constant multiple of the input speed.  This means that as the output speed increases the input speed must also increase.  In a vehicle application this means that the engine speed changes greatly as the vehicle accelerates.  If the gear ratio is variable the input can remain at constant speed as the output speed increases.  In vehicle terms, the engine speed can be held constant while the vehicle accelerates.  This is helpful because the engine can always operate at peak power for maximum acceleration, or at maximum efficiency.  The Formula SAE team is working toward implementing a CVT on their next competition vehicle to take advantage of this property.  This proof of concept prototype is the first step towards that goal.  &lt;br /&gt;
&lt;br /&gt;
More about CVTs can be found in the [[Continuously_Variable_Transmission#Further_Reading|further reading section]].  &lt;br /&gt;
&lt;br /&gt;
This wiki page documents the mechanical and electrical systems, the code, and our reflections on the project.&lt;br /&gt;
&lt;br /&gt;
== Mechanical Design ==&lt;br /&gt;
&lt;br /&gt;
=== System Operation ===&lt;br /&gt;
&lt;br /&gt;
[[image:CVT_Overview.jpg|thumb|200px|CVT assembly]]&lt;br /&gt;
[[image:CVT_Moveable_Pulley.jpg|thumb|200px|Movable pulley detail]]&lt;br /&gt;
&lt;br /&gt;
Our CVT shown to the right was constructed in the Ford Building machine shop. It consists of two pulley assemblies.  Each pulley assembly has one half fixed to the shaft, the other half is able to translate along the shaft, but is prevented from rotating by the torque transfer plate, which is fixed to the shaft.  The movable pulley slides on bushings and rolls on the torque transfer plate bearings so it is free to move, even under load.  The position of the movable pulley is determined by the pulley actuator, which is controlled by the lead screw.  Three Pittman GM8224 motors actuate the system.  One spins the input shaft, the other two control the lead screws setting pulley position.  &lt;br /&gt;
&lt;br /&gt;
&amp;lt;br clear=all&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Pulley Control ===&lt;br /&gt;
&lt;br /&gt;
[[image:CVT_Underside.jpg|thumb|200px|Pulley Control]]&lt;br /&gt;
[[image:CVT_Limit_Switch.jpg|thumb|200px|Limit Switch]]&lt;br /&gt;
&lt;br /&gt;
The input and output pulleys serve different functions which are reflected in the control hardware.  The input pulley sets the gear ratio, the output pulley maintains belt tension.  The input pulley actuation system is rigid, enforcing the pulley position commanded by the controller.  The output actuation system has compliance built in with springs, allowing flexibility to maintain a near constant belt tension.  &lt;br /&gt;
&lt;br /&gt;
The control motors turn a lead screw that pushes a drive nut.  That drive nut slides the actuator frame along the guide shafts, which adjusts the pulley actuator, controlling pulley position.  The wide actuator frame is necessary to resist the moment from the cantilever pulley actuator and not bind.  In the case of the output actuator, the drive plate floats in the actuator frame on springs.  As the gear ratio changes the output lead screw control motor turns in the proper direction compressing the springs, which in turn applies belt tension, until the limit switch is depressed at which point the lead screw stops.  As the input pulley continues to shift the springs keep adjusting the position of the output pulley until the limit switch opens again.  The lead screw then moves until the switch is again closed.  The net result is that the output control screw moves in small steps and the spring force keeps even belt tension.  &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br clear=all&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Flex Coupling ===&lt;br /&gt;
&lt;br /&gt;
[[image:CVT_Flex_Coupling.jpg|thumb|200px|Flex Coupling]]&lt;br /&gt;
&lt;br /&gt;
Simple flex couplings to connect the motor and control shafts were developed for this prototype.  They consist of flexible tubing pressed over matching pins as seen in the figure at right and have the following benefits:&lt;br /&gt;
* Significant misalignment in any direction can be accommodated.&lt;br /&gt;
* The stiffness of the joint can be adjusted with the number of pin pairs and tubing properties.&lt;br /&gt;
* They provide overload protection.  At a certain torque the tubing segments will rip or pop of the pins to break free.  &lt;br /&gt;
&lt;br /&gt;
The design can readily be adapted to other applications and may be useful for other student projects as a low cost option.  &lt;br /&gt;
&lt;br /&gt;
&amp;lt;br clear=all&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Mechanical Part List ===&lt;br /&gt;
&amp;lt;table border=1&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Part&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Part No.&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Qty&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Vendor&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Price (Total)&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;Pittman 24V DC motor&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;GM8224&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;3&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Lab&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;-&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;Shoulder Screw&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;91259A535&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;8&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;[http://www.mcmaster.com McMaster]&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;$6.56&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;1/4&amp;quot; bearing&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;60355K33&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;8&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;[http://www.mcmaster.com McMaster]&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;$39.84&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;3/8&amp;quot; bearing&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;60355K35&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;4&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;[http://www.mcmaster.com McMaster]&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;$20.68&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;3/4&amp;quot; bearing&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;60355K38&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;4&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;[http://www.mcmaster.com McMaster]&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;$33.40&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;Thrust bearing&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;6655K22&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;2&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;[http://www.mcmaster.com McMaster]&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;$10.96&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;SAE 841 1/2&amp;quot; bushing&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;6391K212&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;10&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;[http://www.mcmaster.com McMaster]&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;$6.50&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;SAE 814 3/4&amp;quot; bushing 1&amp;quot; long&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;6391K259&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;2&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;[http://www.mcmaster.com McMaster]&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;$2.98&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;SAE 814 3/4&amp;quot; bushing 2&amp;quot; long&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;6391K269&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;2&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;[http://www.mcmaster.com McMaster]&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;$8.40&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;1/2&amp;quot; steel drive shaft&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;1346K17&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;4&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;[http://www.mcmaster.com McMaster]&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;$25.84&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;3/4&amp;quot; steel drive shaft&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;1346K31&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;4&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;[http://www.mcmaster.com McMaster]&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;$19.12&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;spring&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;9620K57&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;4&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;[http://www.mcmaster.com McMaster]&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;$17.68&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;1/2&amp;quot;-10 Acme threaded rod&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;98935A823&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;1&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;[http://www.mcmaster.com McMaster]&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;$7.12&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;Bronze 1/2&amp;quot;-10 Acme nut&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;1343K134&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;2&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;[http://www.mcmaster.com McMaster]&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;$72.24&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;Misc. fasteners and stock&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;-&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;-&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Shop&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;-&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Electrical and Control System==&lt;br /&gt;
&lt;br /&gt;
=== Control System Overview ===&lt;br /&gt;
&lt;br /&gt;
The control system for this prototype was intended to operate as follows.  A potentiometer sends a 0-5V signal to the A to D converter on the PIC.  Zero V corresponds to low gear, five V corresponds to high gear.  The input voltage is scaled to correspond to the desired encoder counts of the input control motor.  As the pot is swept from low to high the input pulley shifts from low gear position to high gear position.  The output pulley is given a direction to turn, based on the shift direction.  Belt tension is maintained by the limit switches as explained [[Continuously_Variable_Transmission#Pulley_Control|above]].&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br clear=all&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Circuit ===&lt;br /&gt;
&lt;br /&gt;
[[image:CVT_circuit_diagram.jpg|thumb|200px|Circuit Diagram]]&lt;br /&gt;
[[image:CVT_circuit.jpg|thumb|200px|Completed Circuit]]&lt;br /&gt;
&lt;br /&gt;
Refer to the circuit diagram at right for details of the electrical system.  &lt;br /&gt;
&lt;br /&gt;
To control the two Pittman motors, we used the two PIC PWM outputs going through the SN74HC04N inverter chip to the L298N H-bridge chip, one for each motor.  To keep track of the input pulley encoder counts we used [[Quadrature decoding in hardware, or just counters|quadrature decoding]] with the LS7183 decoder chip going to the PIC clock inputs. &lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;Warning&amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039; there was a problem with either the wiring diagram or the actual physical circuit that fried a bunch of components and ultimately prevented us from using implementing the planned control strategy in the time available.  Use with caution and verify on your own.&lt;br /&gt;
&lt;br /&gt;
=== Electrical Part List ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br clear=all&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Programming ===&lt;br /&gt;
&lt;br /&gt;
The PIC reads an input voltage reading from the potentiometer from pin RA0. This value is compared to the upper and lower bounds governing the pulley&amp;#039;s widths to determine whether the pulley needs to move farther or closer together. We then use quadrature decoding to keep track of the counts, thereby tracking the number of rotations. With the 10:1 gear ratio (10 revolutions per 1 in of travel), we also know how far it has moved. We modified the quadrature hardware [http://peshkin.mech.northwestern.edu/pic/code/QuadratureHard/  code ] available from the example code page to perform this task. &lt;br /&gt;
&lt;br /&gt;
The code for the entire setup can be found here.  &amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;Note&amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039; due to the electrical problem described [[Continuously_Variable_Transmission#Circuit|above]] the code is untested.&lt;br /&gt;
* [[media:CVTcontrolcode.c|CVTcontrolcode.c]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br clear=all&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Results ==&lt;br /&gt;
&lt;br /&gt;
Unfortunately, due to technical errors and circuit component failure (namely frying three PICs along with other melted components), we were not able to implement the PIC control for the two pulleys. To demonstrate the apparatus, we implemented manual control of the two Pittmans using switches to control the pulley widths. The demonstration showed that the system functions well mechanically. Manual control illustrated the need for feedback control for this system, as the transitions from low to high gear required a nonlinear shift in the pulley radii.&lt;br /&gt;
&lt;br /&gt;
With further work on the circuits and controls, we hope to get the CVT working as intended with PIC control.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Further Reading ==&lt;br /&gt;
&lt;br /&gt;
More details regarding the operation of a CVT, along with various forms of CVTs&lt;br /&gt;
* http://auto.howstuffworks.com/cvt.htm&lt;br /&gt;
* http://cars.about.com/od/thingsyouneedtoknow/a/CVT.htm&lt;/div&gt;</summary>
		<author><name>DavidEvitt</name></author>
	</entry>
	<entry>
		<id>https://hades.mech.northwestern.edu//index.php?title=Continuously_Variable_Transmission&amp;diff=8669</id>
		<title>Continuously Variable Transmission</title>
		<link rel="alternate" type="text/html" href="https://hades.mech.northwestern.edu//index.php?title=Continuously_Variable_Transmission&amp;diff=8669"/>
		<updated>2008-03-21T12:04:21Z</updated>

		<summary type="html">&lt;p&gt;DavidEvitt: /* Electrical Components for the CVT */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[image: CVT_system.JPG|450px|right]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Team members ==&lt;br /&gt;
&lt;br /&gt;
[[image: Evitt-Miller-Mui.JPG|thumb|200px|Evitt-Miller-Mui]]&lt;br /&gt;
&lt;br /&gt;
* David Evitt: Mechanical Engineering, Class of 2009&lt;br /&gt;
* Tyler Miller: Electrical Engineering, Class of 2009&lt;br /&gt;
* Raymond Mui: Mechanical Engineering, Class of 2008&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br clear=all&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Overview ==&lt;br /&gt;
&lt;br /&gt;
[[image: CVT_Ratio.JPG|thumb|200px| Low-High Ratio]]&lt;br /&gt;
&lt;br /&gt;
The goal of this project was to create an electronically controlled, belt-driven, continuously variable transmission (CVT).  &lt;br /&gt;
&lt;br /&gt;
A CVT is a type of transmission that can smoothly transition between gear ratios.  This can be achieved in a variety of ways.  We chose to use movable conical pulley halves and a v-belt, similar to the CVTs commonly found on snowmobiles.  The conical faces of the pulley halves create a valley that the belt rides in.  The belt wedges as far down in the valley as possible, so the distance between the pulleys controls what radius the belt rides at.  As the pulley halves move together it forces the belt out of the valley to run at a larger radius, if the pulley halves move further apart the belt will fall down the valley to run at a smaller radius.  Two sets of pulley halves work together and move simultaneously to form the transmission.  One pulley moves to control the gear ratio, the other pulley adjusts to maintain belt tension.  For example if the input pulley halves begin far apart and the output pulley halves begin close together the transmission is in low gear.  As the input pulley halves move together, the output pulley halves move apart to maintain constant belt tension, as illustrated in the figure.  This motion is a smooth shift from low to high gear, as shown in the [http://www.youtube.com/watch?v=M9bJ_b61E-4 video].&lt;br /&gt;
&lt;br /&gt;
A variable ratio transmission is a useful device.  With a fixed gear ratio, the output speed is a constant multiple of the input speed.  This means that as the output speed increases the input speed must also increase.  In a vehicle application this means that the engine speed changes greatly as the vehicle accelerates.  If the gear ratio is variable the input can remain at constant speed as the output speed increases.  In vehicle terms, the engine speed can be held constant while the vehicle accelerates.  This is helpful because the engine can always operate at peak power for maximum acceleration, or at maximum efficiency.  The Formula SAE team is working toward implementing a CVT on their next competition vehicle to take advantage of this property.  This proof of concept prototype is the first step towards that goal.  &lt;br /&gt;
&lt;br /&gt;
More about CVTs can be found in the [[Continuously_Variable_Transmission#Further_Reading|further reading section]].  &lt;br /&gt;
&lt;br /&gt;
This wiki page documents the mechanical and electrical systems, the code, and our reflections on the project.&lt;br /&gt;
&lt;br /&gt;
== Mechanical Design ==&lt;br /&gt;
&lt;br /&gt;
=== System Operation ===&lt;br /&gt;
&lt;br /&gt;
[[image:CVT_Overview.jpg|thumb|200px|CVT assembly]]&lt;br /&gt;
[[image:CVT_Moveable_Pulley.jpg|thumb|200px|Movable pulley detail]]&lt;br /&gt;
&lt;br /&gt;
Our CVT shown to the right was constructed in the Ford Building machine shop. It consists of two pulley assemblies.  Each pulley assembly has one half fixed to the shaft, the other half is able to translate along the shaft, but is prevented from rotating by the torque transfer plate, which is fixed to the shaft.  The movable pulley slides on bushings and rolls on the torque transfer plate bearings so it is free to move, even under load.  The position of the movable pulley is determined by the pulley actuator, which is controlled by the lead screw.  Three Pittman GM8224 motors actuate the system.  One spins the input shaft, the other two control the lead screws setting pulley position.  &lt;br /&gt;
&lt;br /&gt;
&amp;lt;br clear=all&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Pulley Control ===&lt;br /&gt;
&lt;br /&gt;
[[image:CVT_Underside.jpg|thumb|200px|Pulley Control]]&lt;br /&gt;
[[image:CVT_Limit_Switch.jpg|thumb|200px|Limit Switch]]&lt;br /&gt;
&lt;br /&gt;
The input and output pulleys serve different functions which are reflected in the control hardware.  The input pulley sets the gear ratio, the output pulley maintains belt tension.  The input pulley actuation system is rigid, enforcing the pulley position commanded by the controller.  The output actuation system has compliance built in with springs, allowing flexibility to maintain a near constant belt tension.  &lt;br /&gt;
&lt;br /&gt;
The control motors turn a lead screw that pushes a drive nut.  That drive nut slides the actuator frame along the guide shafts, which adjusts the pulley actuator, controlling pulley position.  The wide actuator frame is necessary to resist the moment from the cantilever pulley actuator and not bind.  In the case of the output actuator, the drive plate floats in the actuator frame on springs.  As the gear ratio changes the output lead screw control motor turns in the proper direction compressing the springs, which in turn applies belt tension, until the limit switch is depressed at which point the lead screw stops.  As the input pulley continues to shift the springs keep adjusting the position of the output pulley until the limit switch opens again.  The lead screw then moves until the switch is again closed.  The net result is that the output control screw moves in small steps and the spring force keeps even belt tension.  &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br clear=all&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Flex Coupling ===&lt;br /&gt;
&lt;br /&gt;
[[image:CVT_Flex_Coupling.jpg|thumb|200px|Flex Coupling]]&lt;br /&gt;
&lt;br /&gt;
Simple flex couplings to connect the motor and control shafts were developed for this prototype.  They consist of flexible tubing pressed over matching pins as seen in the figure at right and have the following benefits:&lt;br /&gt;
* Significant misalignment in any direction can be accommodated.&lt;br /&gt;
* The stiffness of the joint can be adjusted with the number of pin pairs and tubing properties.&lt;br /&gt;
* They provide overload protection.  At a certain torque the tubing segments will rip or pop of the pins to break free.  &lt;br /&gt;
&lt;br /&gt;
The design can readily be adapted to other applications and may be useful for other student projects as a low cost option.  &lt;br /&gt;
&lt;br /&gt;
&amp;lt;br clear=all&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Part List ===&lt;br /&gt;
&amp;lt;table border=1&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Part&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Part No.&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Qty&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Vendor&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Price (Total)&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;Pittman 24V DC motor&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;GM8224&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;3&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Lab&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;-&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;Shoulder Screw&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;91259A535&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;8&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;[http://www.mcmaster.com McMaster]&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;$6.56&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;1/4&amp;quot; bearing&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;60355K33&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;8&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;[http://www.mcmaster.com McMaster]&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;$39.84&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;3/8&amp;quot; bearing&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;60355K35&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;4&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;[http://www.mcmaster.com McMaster]&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;$20.68&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;3/4&amp;quot; bearing&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;60355K38&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;4&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;[http://www.mcmaster.com McMaster]&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;$33.40&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;Thrust bearing&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;6655K22&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;2&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;[http://www.mcmaster.com McMaster]&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;$10.96&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;SAE 841 1/2&amp;quot; bushing&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;6391K212&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;10&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;[http://www.mcmaster.com McMaster]&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;$6.50&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;SAE 814 3/4&amp;quot; bushing 1&amp;quot; long&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;6391K259&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;2&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;[http://www.mcmaster.com McMaster]&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;$2.98&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;SAE 814 3/4&amp;quot; bushing 2&amp;quot; long&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;6391K269&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;2&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;[http://www.mcmaster.com McMaster]&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;$8.40&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;1/2&amp;quot; steel drive shaft&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;1346K17&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;4&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;[http://www.mcmaster.com McMaster]&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;$25.84&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;3/4&amp;quot; steel drive shaft&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;1346K31&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;4&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;[http://www.mcmaster.com McMaster]&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;$19.12&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;spring&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;9620K57&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;4&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;[http://www.mcmaster.com McMaster]&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;$17.68&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;1/2&amp;quot;-10 Acme threaded rod&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;98935A823&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;1&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;[http://www.mcmaster.com McMaster]&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;$7.12&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;Bronze 1/2&amp;quot;-10 Acme nut&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;1343K134&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;2&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;[http://www.mcmaster.com McMaster]&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;$72.24&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;Misc. fasteners and stock&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;-&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;-&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Shop&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;-&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Electrical and Control System==&lt;br /&gt;
&lt;br /&gt;
=== Control System Overview ===&lt;br /&gt;
&lt;br /&gt;
The control system for this prototype was intended to operate as follows.  A potentiometer sends a 0-5V signal to the A to D converter on the PIC.  Zero V corresponds to low gear, five V corresponds to high gear.  The input voltage is scaled to correspond to the desired encoder counts of the input control motor.  As the pot is swept from low to high the input pulley shifts from low gear position to high gear position.  The output pulley is given a direction to turn, based on the shift direction.  Belt tension is maintained by the limit switches as explained [[Continuously_Variable_Transmission#Pulley_Control|above]].&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br clear=all&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Circuit ===&lt;br /&gt;
&lt;br /&gt;
[[image:CVT_circuit_diagram.jpg|thumb|200px|Circuit Diagram]]&lt;br /&gt;
[[image:CVT_circuit.jpg|thumb|200px|Completed Circuit]]&lt;br /&gt;
&lt;br /&gt;
Refer to the circuit diagram at right for details of the electrical system.  &lt;br /&gt;
&lt;br /&gt;
To control the two Pittman motors, we used the two PIC PWM outputs going through the SN74HC04N inverter chip to the L298N H-bridge chip, one for each motor.  To keep track of the input pulley encoder counts we used [[Quadrature decoding in hardware, or just counters|quadrature decoding]] with the LS7183 decoder chip going to the PIC clock inputs. &lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;Warning&amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039; there was a problem with either the wiring diagram or the actual physical circuit that fried a bunch of components and ultimately prevented us from using implementing the planned control strategy in the time available.  Use with caution and verify on your own.&lt;br /&gt;
&lt;br /&gt;
=== Electrical Part List ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br clear=all&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Programming ===&lt;br /&gt;
&lt;br /&gt;
The PIC reads an input voltage reading from the potentiometer from pin RA0. This value is compared to the upper and lower bounds governing the pulley&amp;#039;s widths to determine whether the pulley needs to move farther or closer together. We then use quadrature decoding to keep track of the counts, thereby tracking the number of rotations. With the 10:1 gear ratio (10 revolutions per 1 in of travel), we also know how far it has moved. We modified the quadrature hardware [http://peshkin.mech.northwestern.edu/pic/code/QuadratureHard/  code ] available from the example code page to perform this task. &lt;br /&gt;
&lt;br /&gt;
The code for the entire setup can be found here.  &amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;Note&amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039; due to the electrical problem described [[Continuously_Variable_Transmission#Circuit|above]] the code is untested.&lt;br /&gt;
* [[media:CVTcontrolcode.c|CVTcontrolcode.c]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br clear=all&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Results ==&lt;br /&gt;
&lt;br /&gt;
Unfortunately, due to technical errors and circuit component failure (namely frying three PICs along with other melted components), we were not able to implement the PIC control for the two pulleys. To demonstrate the apparatus, we implemented manual control of the two Pittmans using switches to control the pulley widths. The demonstration showed that the system functions well mechanically. Manual control illustrated the need for feedback control for this system, as the transitions from low to high gear required a nonlinear shift in the pulley radii.&lt;br /&gt;
&lt;br /&gt;
With further work on the circuits and controls, we hope to get the CVT working as intended with PIC control.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Further Reading ==&lt;br /&gt;
&lt;br /&gt;
More details regarding the operation of a CVT, along with various forms of CVTs&lt;br /&gt;
* http://auto.howstuffworks.com/cvt.htm&lt;br /&gt;
* http://cars.about.com/od/thingsyouneedtoknow/a/CVT.htm&lt;/div&gt;</summary>
		<author><name>DavidEvitt</name></author>
	</entry>
	<entry>
		<id>https://hades.mech.northwestern.edu//index.php?title=Continuously_Variable_Transmission&amp;diff=8668</id>
		<title>Continuously Variable Transmission</title>
		<link rel="alternate" type="text/html" href="https://hades.mech.northwestern.edu//index.php?title=Continuously_Variable_Transmission&amp;diff=8668"/>
		<updated>2008-03-21T11:19:26Z</updated>

		<summary type="html">&lt;p&gt;DavidEvitt: /* Part List */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[image: CVT_system.JPG|450px|right]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Team members ==&lt;br /&gt;
&lt;br /&gt;
[[image: Evitt-Miller-Mui.JPG|thumb|200px|Evitt-Miller-Mui]]&lt;br /&gt;
&lt;br /&gt;
* David Evitt: Mechanical Engineering, Class of 2009&lt;br /&gt;
* Tyler Miller: Electrical Engineering, Class of 2009&lt;br /&gt;
* Raymond Mui: Mechanical Engineering, Class of 2008&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br clear=all&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Overview ==&lt;br /&gt;
&lt;br /&gt;
[[image: CVT_Ratio.JPG|thumb|200px| Low-High Ratio]]&lt;br /&gt;
&lt;br /&gt;
The goal of this project was to create an electronically controlled, belt-driven, continuously variable transmission (CVT).  &lt;br /&gt;
&lt;br /&gt;
A CVT is a type of transmission that can smoothly transition between gear ratios.  This can be achieved in a variety of ways.  We chose to use movable conical pulley halves and a v-belt, similar to the CVTs commonly found on snowmobiles.  The conical faces of the pulley halves create a valley that the belt rides in.  The belt wedges as far down in the valley as possible, so the distance between the pulleys controls what radius the belt rides at.  As the pulley halves move together it forces the belt out of the valley to run at a larger radius, if the pulley halves move further apart the belt will fall down the valley to run at a smaller radius.  Two sets of pulley halves work together and move simultaneously to form the transmission.  One pulley moves to control the gear ratio, the other pulley adjusts to maintain belt tension.  For example if the input pulley halves begin far apart and the output pulley halves begin close together the transmission is in low gear.  As the input pulley halves move together, the output pulley halves move apart to maintain constant belt tension, as illustrated in the figure.  This motion is a smooth shift from low to high gear, as shown in the [http://www.youtube.com/watch?v=M9bJ_b61E-4 video].&lt;br /&gt;
&lt;br /&gt;
A variable ratio transmission is a useful device.  With a fixed gear ratio, the output speed is a constant multiple of the input speed.  This means that as the output speed increases the input speed must also increase.  In a vehicle application this means that the engine speed changes greatly as the vehicle accelerates.  If the gear ratio is variable the input can remain at constant speed as the output speed increases.  In vehicle terms, the engine speed can be held constant while the vehicle accelerates.  This is helpful because the engine can always operate at peak power for maximum acceleration, or at maximum efficiency.  The Formula SAE team is working toward implementing a CVT on their next competition vehicle to take advantage of this property.  This proof of concept prototype is the first step towards that goal.  &lt;br /&gt;
&lt;br /&gt;
More about CVTs can be found in the [[Continuously_Variable_Transmission#Further_Reading|further reading section]].  &lt;br /&gt;
&lt;br /&gt;
This wiki page documents the mechanical and electrical systems, the code, and our reflections on the project.&lt;br /&gt;
&lt;br /&gt;
== Mechanical Design ==&lt;br /&gt;
&lt;br /&gt;
=== System Operation ===&lt;br /&gt;
&lt;br /&gt;
[[image:CVT_Overview.jpg|thumb|200px|CVT assembly]]&lt;br /&gt;
[[image:CVT_Moveable_Pulley.jpg|thumb|200px|Movable pulley detail]]&lt;br /&gt;
&lt;br /&gt;
Our CVT shown to the right was constructed in the Ford Building machine shop. It consists of two pulley assemblies.  Each pulley assembly has one half fixed to the shaft, the other half is able to translate along the shaft, but is prevented from rotating by the torque transfer plate, which is fixed to the shaft.  The movable pulley slides on bushings and rolls on the torque transfer plate bearings so it is free to move, even under load.  The position of the movable pulley is determined by the pulley actuator, which is controlled by the lead screw.  Three Pittman GM8224 motors actuate the system.  One spins the input shaft, the other two control the lead screws setting pulley position.  &lt;br /&gt;
&lt;br /&gt;
&amp;lt;br clear=all&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Pulley Control ===&lt;br /&gt;
&lt;br /&gt;
[[image:CVT_Underside.jpg|thumb|200px|Pulley Control]]&lt;br /&gt;
[[image:CVT_Limit_Switch.jpg|thumb|200px|Limit Switch]]&lt;br /&gt;
&lt;br /&gt;
The input and output pulleys serve different functions which are reflected in the control hardware.  The input pulley sets the gear ratio, the output pulley maintains belt tension.  The input pulley actuation system is rigid, enforcing the pulley position commanded by the controller.  The output actuation system has compliance built in with springs, allowing flexibility to maintain a near constant belt tension.  &lt;br /&gt;
&lt;br /&gt;
The control motors turn a lead screw that pushes a drive nut.  That drive nut slides the actuator frame along the guide shafts, which adjusts the pulley actuator, controlling pulley position.  The wide actuator frame is necessary to resist the moment from the cantilever pulley actuator and not bind.  In the case of the output actuator, the drive plate floats in the actuator frame on springs.  As the gear ratio changes the output lead screw control motor turns in the proper direction compressing the springs, which in turn applies belt tension, until the limit switch is depressed at which point the lead screw stops.  As the input pulley continues to shift the springs keep adjusting the position of the output pulley until the limit switch opens again.  The lead screw then moves until the switch is again closed.  The net result is that the output control screw moves in small steps and the spring force keeps even belt tension.  &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br clear=all&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Flex Coupling ===&lt;br /&gt;
&lt;br /&gt;
[[image:CVT_Flex_Coupling.jpg|thumb|200px|Flex Coupling]]&lt;br /&gt;
&lt;br /&gt;
Simple flex couplings to connect the motor and control shafts were developed for this prototype.  They consist of flexible tubing pressed over matching pins as seen in the figure at right and have the following benefits:&lt;br /&gt;
* Significant misalignment in any direction can be accommodated.&lt;br /&gt;
* The stiffness of the joint can be adjusted with the number of pin pairs and tubing properties.&lt;br /&gt;
* They provide overload protection.  At a certain torque the tubing segments will rip or pop of the pins to break free.  &lt;br /&gt;
&lt;br /&gt;
The design can readily be adapted to other applications and may be useful for other student projects as a low cost option.  &lt;br /&gt;
&lt;br /&gt;
&amp;lt;br clear=all&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Part List ===&lt;br /&gt;
&amp;lt;table border=1&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Part&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Part No.&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Qty&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Vendor&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Price (Total)&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;Pittman 24V DC motor&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;GM8224&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;3&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Lab&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;-&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;Shoulder Screw&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;91259A535&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;8&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;[http://www.mcmaster.com McMaster]&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;$6.56&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;1/4&amp;quot; bearing&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;60355K33&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;8&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;[http://www.mcmaster.com McMaster]&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;$39.84&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;3/8&amp;quot; bearing&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;60355K35&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;4&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;[http://www.mcmaster.com McMaster]&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;$20.68&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;3/4&amp;quot; bearing&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;60355K38&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;4&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;[http://www.mcmaster.com McMaster]&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;$33.40&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;Thrust bearing&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;6655K22&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;2&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;[http://www.mcmaster.com McMaster]&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;$10.96&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;SAE 841 1/2&amp;quot; bushing&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;6391K212&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;10&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;[http://www.mcmaster.com McMaster]&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;$6.50&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;SAE 814 3/4&amp;quot; bushing 1&amp;quot; long&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;6391K259&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;2&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;[http://www.mcmaster.com McMaster]&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;$2.98&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;SAE 814 3/4&amp;quot; bushing 2&amp;quot; long&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;6391K269&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;2&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;[http://www.mcmaster.com McMaster]&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;$8.40&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;1/2&amp;quot; steel drive shaft&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;1346K17&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;4&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;[http://www.mcmaster.com McMaster]&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;$25.84&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;3/4&amp;quot; steel drive shaft&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;1346K31&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;4&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;[http://www.mcmaster.com McMaster]&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;$19.12&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;spring&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;9620K57&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;4&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;[http://www.mcmaster.com McMaster]&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;$17.68&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;1/2&amp;quot;-10 Acme threaded rod&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;98935A823&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;1&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;[http://www.mcmaster.com McMaster]&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;$7.12&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;Bronze 1/2&amp;quot;-10 Acme nut&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;1343K134&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;2&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;[http://www.mcmaster.com McMaster]&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;$72.24&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;Misc. fasteners and stock&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;-&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;-&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Shop&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;-&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Electrical Components for the CVT==&lt;br /&gt;
&lt;br /&gt;
=== Circuits ===&lt;br /&gt;
&lt;br /&gt;
To control the two Pittman motors, we used [[Quadrature decoding in hardware, or just counters|quadrature decoding]] to keep track of the counts. We used LS7183 chips found in the Mechatronics lab instead of LS7083s. &lt;br /&gt;
&lt;br /&gt;
[[image:CVT_circuit_diagram.jpg|thumb|200px|Circuit diagram]]&lt;br /&gt;
A schematic of the circuit is presented to the right.&lt;br /&gt;
&amp;lt;br clear=all&amp;gt;&lt;br /&gt;
[[image:CVT_circuit.jpg|thumb|200px|completed circuit]]&lt;br /&gt;
&lt;br /&gt;
The completed circuit setup can be viewed on the right.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br clear=all&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Programming ===&lt;br /&gt;
&lt;br /&gt;
The PIC reads an input voltage reading from the potentiometer from pin RA0. This value is compared to the upper and lower bounds governing the pulley&amp;#039;s widths to determine whether the pulley needs to move farther or closer together. We then use quadrature decoding to keep track of the counts, thereby tracking the number of rotations. With the 10:1 gear ratio (10 revolutions per 1 in of travel), we also know how far it has moved. We modified the quadrature hardware [http://peshkin.mech.northwestern.edu/pic/code/QuadratureHard/  code ] available from the example code page to perform this task. &lt;br /&gt;
&lt;br /&gt;
The code for the entire setup can be found here.  &lt;br /&gt;
* [[media:CVTcontrolcode.c|CVTcontrolcode.c]]&lt;br /&gt;
&lt;br /&gt;
== Results ==&lt;br /&gt;
&lt;br /&gt;
Unfortunately, due to technical errors and circuit component failure (namely frying three PICs along with other melted components), we were not able to implement the PIC control for the two pulleys. To demonstrate the apparatus, we implemented manual control of the two Pittmans using switches to control the pulley widths. The demonstration showed that the system functions well mechanically. Manual control illustrated the need for feedback control for this system, as the transitions from low to high gear required a nonlinear shift in the pulley radii.&lt;br /&gt;
&lt;br /&gt;
With further work on the circuits and controls, we hope to get the CVT working as intended with PIC control.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Further Reading ==&lt;br /&gt;
&lt;br /&gt;
More details regarding the operation of a CVT, along with various forms of CVTs&lt;br /&gt;
* http://auto.howstuffworks.com/cvt.htm&lt;br /&gt;
* http://cars.about.com/od/thingsyouneedtoknow/a/CVT.htm&lt;/div&gt;</summary>
		<author><name>DavidEvitt</name></author>
	</entry>
	<entry>
		<id>https://hades.mech.northwestern.edu//index.php?title=Continuously_Variable_Transmission&amp;diff=8667</id>
		<title>Continuously Variable Transmission</title>
		<link rel="alternate" type="text/html" href="https://hades.mech.northwestern.edu//index.php?title=Continuously_Variable_Transmission&amp;diff=8667"/>
		<updated>2008-03-21T11:12:17Z</updated>

		<summary type="html">&lt;p&gt;DavidEvitt: /* Mechanical Design */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[image: CVT_system.JPG|450px|right]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Team members ==&lt;br /&gt;
&lt;br /&gt;
[[image: Evitt-Miller-Mui.JPG|thumb|200px|Evitt-Miller-Mui]]&lt;br /&gt;
&lt;br /&gt;
* David Evitt: Mechanical Engineering, Class of 2009&lt;br /&gt;
* Tyler Miller: Electrical Engineering, Class of 2009&lt;br /&gt;
* Raymond Mui: Mechanical Engineering, Class of 2008&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br clear=all&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Overview ==&lt;br /&gt;
&lt;br /&gt;
[[image: CVT_Ratio.JPG|thumb|200px| Low-High Ratio]]&lt;br /&gt;
&lt;br /&gt;
The goal of this project was to create an electronically controlled, belt-driven, continuously variable transmission (CVT).  &lt;br /&gt;
&lt;br /&gt;
A CVT is a type of transmission that can smoothly transition between gear ratios.  This can be achieved in a variety of ways.  We chose to use movable conical pulley halves and a v-belt, similar to the CVTs commonly found on snowmobiles.  The conical faces of the pulley halves create a valley that the belt rides in.  The belt wedges as far down in the valley as possible, so the distance between the pulleys controls what radius the belt rides at.  As the pulley halves move together it forces the belt out of the valley to run at a larger radius, if the pulley halves move further apart the belt will fall down the valley to run at a smaller radius.  Two sets of pulley halves work together and move simultaneously to form the transmission.  One pulley moves to control the gear ratio, the other pulley adjusts to maintain belt tension.  For example if the input pulley halves begin far apart and the output pulley halves begin close together the transmission is in low gear.  As the input pulley halves move together, the output pulley halves move apart to maintain constant belt tension, as illustrated in the figure.  This motion is a smooth shift from low to high gear, as shown in the [http://www.youtube.com/watch?v=M9bJ_b61E-4 video].&lt;br /&gt;
&lt;br /&gt;
A variable ratio transmission is a useful device.  With a fixed gear ratio, the output speed is a constant multiple of the input speed.  This means that as the output speed increases the input speed must also increase.  In a vehicle application this means that the engine speed changes greatly as the vehicle accelerates.  If the gear ratio is variable the input can remain at constant speed as the output speed increases.  In vehicle terms, the engine speed can be held constant while the vehicle accelerates.  This is helpful because the engine can always operate at peak power for maximum acceleration, or at maximum efficiency.  The Formula SAE team is working toward implementing a CVT on their next competition vehicle to take advantage of this property.  This proof of concept prototype is the first step towards that goal.  &lt;br /&gt;
&lt;br /&gt;
More about CVTs can be found in the [[Continuously_Variable_Transmission#Further_Reading|further reading section]].  &lt;br /&gt;
&lt;br /&gt;
This wiki page documents the mechanical and electrical systems, the code, and our reflections on the project.&lt;br /&gt;
&lt;br /&gt;
== Mechanical Design ==&lt;br /&gt;
&lt;br /&gt;
=== System Operation ===&lt;br /&gt;
&lt;br /&gt;
[[image:CVT_Overview.jpg|thumb|200px|CVT assembly]]&lt;br /&gt;
[[image:CVT_Moveable_Pulley.jpg|thumb|200px|Movable pulley detail]]&lt;br /&gt;
&lt;br /&gt;
Our CVT shown to the right was constructed in the Ford Building machine shop. It consists of two pulley assemblies.  Each pulley assembly has one half fixed to the shaft, the other half is able to translate along the shaft, but is prevented from rotating by the torque transfer plate, which is fixed to the shaft.  The movable pulley slides on bushings and rolls on the torque transfer plate bearings so it is free to move, even under load.  The position of the movable pulley is determined by the pulley actuator, which is controlled by the lead screw.  Three Pittman GM8224 motors actuate the system.  One spins the input shaft, the other two control the lead screws setting pulley position.  &lt;br /&gt;
&lt;br /&gt;
&amp;lt;br clear=all&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Pulley Control ===&lt;br /&gt;
&lt;br /&gt;
[[image:CVT_Underside.jpg|thumb|200px|Pulley Control]]&lt;br /&gt;
[[image:CVT_Limit_Switch.jpg|thumb|200px|Limit Switch]]&lt;br /&gt;
&lt;br /&gt;
The input and output pulleys serve different functions which are reflected in the control hardware.  The input pulley sets the gear ratio, the output pulley maintains belt tension.  The input pulley actuation system is rigid, enforcing the pulley position commanded by the controller.  The output actuation system has compliance built in with springs, allowing flexibility to maintain a near constant belt tension.  &lt;br /&gt;
&lt;br /&gt;
The control motors turn a lead screw that pushes a drive nut.  That drive nut slides the actuator frame along the guide shafts, which adjusts the pulley actuator, controlling pulley position.  The wide actuator frame is necessary to resist the moment from the cantilever pulley actuator and not bind.  In the case of the output actuator, the drive plate floats in the actuator frame on springs.  As the gear ratio changes the output lead screw control motor turns in the proper direction compressing the springs, which in turn applies belt tension, until the limit switch is depressed at which point the lead screw stops.  As the input pulley continues to shift the springs keep adjusting the position of the output pulley until the limit switch opens again.  The lead screw then moves until the switch is again closed.  The net result is that the output control screw moves in small steps and the spring force keeps even belt tension.  &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br clear=all&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Flex Coupling ===&lt;br /&gt;
&lt;br /&gt;
[[image:CVT_Flex_Coupling.jpg|thumb|200px|Flex Coupling]]&lt;br /&gt;
&lt;br /&gt;
Simple flex couplings to connect the motor and control shafts were developed for this prototype.  They consist of flexible tubing pressed over matching pins as seen in the figure at right and have the following benefits:&lt;br /&gt;
* Significant misalignment in any direction can be accommodated.&lt;br /&gt;
* The stiffness of the joint can be adjusted with the number of pin pairs and tubing properties.&lt;br /&gt;
* They provide overload protection.  At a certain torque the tubing segments will rip or pop of the pins to break free.  &lt;br /&gt;
&lt;br /&gt;
The design can readily be adapted to other applications and may be useful for other student projects as a low cost option.  &lt;br /&gt;
&lt;br /&gt;
&amp;lt;br clear=all&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Part List ===&lt;br /&gt;
&amp;lt;table border=1&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Part&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Part No.&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Qty&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Vendor&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Price (Total)&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;Pittman 24V DC motor&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;GM8224&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;3&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Lab&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;-&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;Shoulder Screw&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;91259A535&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;8&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;[http://www.mcmaster.com McMaster]&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;$6.56&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;1/4&amp;quot; bearing&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;60355K33&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;8&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;[http://www.mcmaster.com McMaster]&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;$39.84&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;3/8&amp;quot; bearing&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;60355K35&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;4&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;[http://www.mcmaster.com McMaster]&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;$20.68&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;3/4&amp;quot; bearing&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;60355K38&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;4&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;[http://www.mcmaster.com McMaster]&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;$33.40&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;Thrust bearing&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;6655K22&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;2&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;[http://www.mcmaster.com McMaster]&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;$10.96&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;SAE 841 1/2&amp;quot; bushing&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;6391K212&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;10&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;[http://www.mcmaster.com McMaster]&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;$6.50&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;SAE 814 3/4&amp;quot; bushing 1&amp;quot; long&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;6391K259&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;2&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;[http://www.mcmaster.com McMaster]&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;$2.98&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;SAE 814 3/4&amp;quot; bushing 2&amp;quot; long&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;6391K269&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;2&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;[http://www.mcmaster.com McMaster]&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;$8.40&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;1/2&amp;quot; steel drive shaft&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;1346K17&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;4&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;[http://www.mcmaster.com McMaster]&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;$25.84&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;3/4&amp;quot; steel drive shaft&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;1346K31&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;4&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;[http://www.mcmaster.com McMaster]&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;$19.12&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;spring&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;9620K57&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;4&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;[http://www.mcmaster.com McMaster]&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;$17.68&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;1/2&amp;quot;-10 Acme threaded rod&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;98935A823&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;1&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;[http://www.mcmaster.com McMaster]&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;$7.12&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;Bronze 1/2&amp;quot;-10 Acme nut&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;1343K134&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;2&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;[http://www.mcmaster.com McMaster]&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;$72.24&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;Mis. fasteners and stock&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;-&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;-&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;shop&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;-&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Electrical Components for the CVT==&lt;br /&gt;
&lt;br /&gt;
=== Circuits ===&lt;br /&gt;
&lt;br /&gt;
To control the two Pittman motors, we used [[Quadrature decoding in hardware, or just counters|quadrature decoding]] to keep track of the counts. We used LS7183 chips found in the Mechatronics lab instead of LS7083s. &lt;br /&gt;
&lt;br /&gt;
[[image:CVT_circuit_diagram.jpg|thumb|200px|Circuit diagram]]&lt;br /&gt;
A schematic of the circuit is presented to the right.&lt;br /&gt;
&amp;lt;br clear=all&amp;gt;&lt;br /&gt;
[[image:CVT_circuit.jpg|thumb|200px|completed circuit]]&lt;br /&gt;
&lt;br /&gt;
The completed circuit setup can be viewed on the right.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br clear=all&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Programming ===&lt;br /&gt;
&lt;br /&gt;
The PIC reads an input voltage reading from the potentiometer from pin RA0. This value is compared to the upper and lower bounds governing the pulley&amp;#039;s widths to determine whether the pulley needs to move farther or closer together. We then use quadrature decoding to keep track of the counts, thereby tracking the number of rotations. With the 10:1 gear ratio (10 revolutions per 1 in of travel), we also know how far it has moved. We modified the quadrature hardware [http://peshkin.mech.northwestern.edu/pic/code/QuadratureHard/  code ] available from the example code page to perform this task. &lt;br /&gt;
&lt;br /&gt;
The code for the entire setup can be found here.  &lt;br /&gt;
* [[media:CVTcontrolcode.c|CVTcontrolcode.c]]&lt;br /&gt;
&lt;br /&gt;
== Results ==&lt;br /&gt;
&lt;br /&gt;
Unfortunately, due to technical errors and circuit component failure (namely frying three PICs along with other melted components), we were not able to implement the PIC control for the two pulleys. To demonstrate the apparatus, we implemented manual control of the two Pittmans using switches to control the pulley widths. The demonstration showed that the system functions well mechanically. Manual control illustrated the need for feedback control for this system, as the transitions from low to high gear required a nonlinear shift in the pulley radii.&lt;br /&gt;
&lt;br /&gt;
With further work on the circuits and controls, we hope to get the CVT working as intended with PIC control.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Further Reading ==&lt;br /&gt;
&lt;br /&gt;
More details regarding the operation of a CVT, along with various forms of CVTs&lt;br /&gt;
* http://auto.howstuffworks.com/cvt.htm&lt;br /&gt;
* http://cars.about.com/od/thingsyouneedtoknow/a/CVT.htm&lt;/div&gt;</summary>
		<author><name>DavidEvitt</name></author>
	</entry>
	<entry>
		<id>https://hades.mech.northwestern.edu//index.php?title=Continuously_Variable_Transmission&amp;diff=8628</id>
		<title>Continuously Variable Transmission</title>
		<link rel="alternate" type="text/html" href="https://hades.mech.northwestern.edu//index.php?title=Continuously_Variable_Transmission&amp;diff=8628"/>
		<updated>2008-03-21T08:05:02Z</updated>

		<summary type="html">&lt;p&gt;DavidEvitt: /* Circuits */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[image: CVT_system.JPG|450px|right]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Team members ==&lt;br /&gt;
&lt;br /&gt;
[[image: Evitt-Miller-Mui.JPG|thumb|200px|Evitt-Miller-Mui]]&lt;br /&gt;
&lt;br /&gt;
* David Evitt: Mechanical Engineering, Class of 2009&lt;br /&gt;
* Tyler Miller: Electrical Engineering, Class of 2009&lt;br /&gt;
* Raymond Mui: Mechanical Engineering, Class of 2008&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br clear=all&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Overview ==&lt;br /&gt;
&lt;br /&gt;
[[image: CVT_Ratio.JPG|thumb|200px| Low-High Ratio]]&lt;br /&gt;
&lt;br /&gt;
The goal of this project was to create an electronically controlled, belt-driven, continuously variable transmission (CVT).  &lt;br /&gt;
&lt;br /&gt;
A CVT is a type of transmission that can smoothly transition between gear ratios.  This can be achieved in a variety of ways.  We chose to use movable conical pulley halves and a v-belt, similar to the CVTs commonly found on snowmobiles.  The conical faces of the pulley halves create a valley that the belt rides in.  The belt wedges as far down in the valley as possible, so the distance between the pulleys controls what radius the belt rides at.  As the pulley halves move together it forces the belt out of the valley to run at a larger radius, if the pulley halves move further apart the belt will fall down the valley to run at a smaller radius.  Two sets of pulley halves work together and move simultaneously to form the transmission.  One pulley moves to control the gear ratio, the other pulley adjusts to maintain belt tension.  For example if the input pulley halves begin far apart and the output pulley halves begin close together the transmission is in low gear.  As the input pulley halves move together, the output pulley halves move apart to maintain constant belt tension, as illustrated in the figure.  This motion is a smooth shift from low to high gear, as shown in the [http://www.youtube.com/watch?v=M9bJ_b61E-4 video].&lt;br /&gt;
&lt;br /&gt;
A variable ratio transmission is a useful device.  With a fixed gear ratio, the output speed is a constant multiple of the input speed.  This means that as the output speed increases the input speed must also increase.  In a vehicle application this means that the engine speed changes greatly as the vehicle accelerates.  If the gear ratio is variable the input can remain at constant speed as the output speed increases.  In vehicle terms, the engine speed can be held constant while the vehicle accelerates.  This is helpful because the engine can always operate at peak power for maximum acceleration, or at maximum efficiency.  The Formula SAE team is working toward implementing a CVT on their next competition vehicle to take advantage of this property.  This proof of concept prototype is the first step towards that goal.  &lt;br /&gt;
&lt;br /&gt;
More about CVTs can be found in the [[Continuously_Variable_Transmission#Further_Reading|further reading section]].  &lt;br /&gt;
&lt;br /&gt;
This wiki page documents the mechanical and electrical systems, the code, and our reflections on the project.&lt;br /&gt;
&lt;br /&gt;
== Mechanical Design ==&lt;br /&gt;
&lt;br /&gt;
=== System Operation ===&lt;br /&gt;
&lt;br /&gt;
[[image:CVT_Overview.jpg|thumb|200px|CVT assembly]]&lt;br /&gt;
[[image:CVT_Moveable_Pulley.jpg|thumb|200px|Movable pulley detail]]&lt;br /&gt;
&lt;br /&gt;
Our CVT shown to the right was constructed in the Ford Building machine shop using various available methods. It consists of two pulleys with a movable half keyed to the shaft controlled by a movable support. This support is constrained by three shafts: a main driver shaft moving the support with a lead screw, and two as guides to restrict movement as the first shaft positions the pulley. &lt;br /&gt;
&lt;br /&gt;
We used three Pittman GM8224 motors to control the apparatus. Two motors function to drive the lead screw for each of the two pulleys. These connect to the shafts by two flexible connector hoses to allow a bit of play. We used the third Pittman running at the full 24 volts to simulate the constant speed input running at max efficiency.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br clear=all&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Pulley Control ===&lt;br /&gt;
&lt;br /&gt;
[[image:CVT_Underside.jpg|thumb|200px|Pulley Control]]&lt;br /&gt;
[[image:CVT_Limit_Switch.jpg|thumb|200px|Limit Switch]]&lt;br /&gt;
&lt;br /&gt;
To simulate the gear change, we have a dial hooked onto a potentiometer as the user interface. The changing resistance controls the gear ratio from low to high. The PIC code then reads the voltage and spins the two motors controlling the lead screws to change the gear ratio accordingly. As the lead screws move, they drive the pulley half along at a controlled rate, adjusting the pulley width. As the distance between halves decreases, the radius increases. The converse is true. &lt;br /&gt;
&lt;br /&gt;
For each revolution of the Pittman motor, the lead screw will advance the pulley half by a tenth of an inch forward. The pulley width will only vary by 1 inch from switching from low to high radius. As the pulley half decreases, the radius will change from 0.866 in to 2.44 in. The driver pulley will tighten the v-belt as it increases the radius, so the driven pulley will have to react accordingly.&lt;br /&gt;
&lt;br /&gt;
Two limit switches rest on the second pulley provide a means of controlling the movement of the driven pulley. &lt;br /&gt;
&lt;br /&gt;
Our second pulley half uses another Pittman motor with the same lead screw setup to adjust the width. However, to assist in moving the halves, we implemented springs to push the pulley halves together to assist maintaining belt tension. A metal fork resting on the moving support for the pulley half triggers the switches if the pulley moves too far. The triggered switches send a signal to either pin RD0 or RD1 of the PIC. As it triggers, the PIC stops the driven pulley half from moving further. The springs on the guide shafts of the driven pulley then correct the pulley width as needed until the fork no longer triggers either switch.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br clear=all&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Flex Coupling ===&lt;br /&gt;
&lt;br /&gt;
[[image:CVT_Flex_Coupling.jpg|thumb|200px|Flex Coupling]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br clear=all&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Part List ===&lt;br /&gt;
&lt;br /&gt;
== Electrical Components for the CVT==&lt;br /&gt;
&lt;br /&gt;
=== Circuits ===&lt;br /&gt;
&lt;br /&gt;
To control the two Pittman motors, we used [[Quadrature decoding in hardware, or just counters|quadrature decoding]] to keep track of the counts. We used LS7183 chips found in the Mechatronics lab instead of LS7083s. &lt;br /&gt;
&lt;br /&gt;
[[image:CVT_circuit_diagram.jpg|thumb|200px|Circuit diagram]]&lt;br /&gt;
A schematic of the circuit is presented to the right.&lt;br /&gt;
&amp;lt;br clear=all&amp;gt;&lt;br /&gt;
[[image:CVT_circuit.jpg|thumb|200px|completed circuit]]&lt;br /&gt;
&lt;br /&gt;
The completed circuit setup can be viewed on the right.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br clear=all&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Programming ===&lt;br /&gt;
&lt;br /&gt;
The PIC reads an input voltage reading from the potentiometer from pin RA0. This value is compared to the upper and lower bounds governing the pulley&amp;#039;s widths to determine whether the pulley needs to move farther or closer together. We then use quadrature decoding to keep track of the counts, thereby tracking the number of rotations. With the 10:1 gear ratio (10 revolutions per 1 in of travel), we also know how far it has moved. We modified the quadrature hardware [http://peshkin.mech.northwestern.edu/pic/code/QuadratureHard/  code ] available from the example code page to perform this task. &lt;br /&gt;
&lt;br /&gt;
The code for the entire setup can be found here.  &lt;br /&gt;
* [[media:CVTcontrolcode.c|CVTcontrolcode.c]]&lt;br /&gt;
&lt;br /&gt;
== Results ==&lt;br /&gt;
&lt;br /&gt;
Unfortunately, due to technical errors and circuit component failure (namely frying three PICs along with other melted components), we were not able to implement the PIC control for the two pulleys. To demonstrate the apparatus, we implemented manual control of the two Pittmans using switches to control the pulley widths. The demonstration showed that the system functions well mechanically. Manual control illustrated the need for feedback control for this system, as the transitions from low to high gear required a nonlinear shift in the pulley radii.&lt;br /&gt;
&lt;br /&gt;
With further work on the circuits and controls, we hope to get the CVT working as intended with PIC control.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Further Reading ==&lt;br /&gt;
&lt;br /&gt;
More details regarding the operation of a CVT, along with various forms of CVTs&lt;br /&gt;
* http://auto.howstuffworks.com/cvt.htm&lt;br /&gt;
* http://cars.about.com/od/thingsyouneedtoknow/a/CVT.htm&lt;/div&gt;</summary>
		<author><name>DavidEvitt</name></author>
	</entry>
	<entry>
		<id>https://hades.mech.northwestern.edu//index.php?title=Continuously_Variable_Transmission&amp;diff=8617</id>
		<title>Continuously Variable Transmission</title>
		<link rel="alternate" type="text/html" href="https://hades.mech.northwestern.edu//index.php?title=Continuously_Variable_Transmission&amp;diff=8617"/>
		<updated>2008-03-21T07:56:22Z</updated>

		<summary type="html">&lt;p&gt;DavidEvitt: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[image: CVT_system.JPG|450px|right]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Team members ==&lt;br /&gt;
&lt;br /&gt;
[[image: Evitt-Miller-Mui.JPG|thumb|200px|Evitt-Miller-Mui]]&lt;br /&gt;
&lt;br /&gt;
* David Evitt: Mechanical Engineering, Class of 2009&lt;br /&gt;
* Tyler Miller: Electrical Engineering, Class of 2009&lt;br /&gt;
* Raymond Mui: Mechanical Engineering, Class of 2008&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br clear=all&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Overview ==&lt;br /&gt;
&lt;br /&gt;
[[image: CVT_Ratio.JPG|thumb|200px| Low-High Ratio]]&lt;br /&gt;
&lt;br /&gt;
The goal of this project was to create an electronically controlled, belt-driven, continuously variable transmission (CVT).  &lt;br /&gt;
&lt;br /&gt;
A CVT is a type of transmission that can smoothly transition between gear ratios.  This can be achieved in a variety of ways.  We chose to use movable conical pulley halves and a v-belt, similar to the CVTs commonly found on snowmobiles.  The conical faces of the pulley halves create a valley that the belt rides in.  The belt wedges as far down in the valley as possible, so the distance between the pulleys controls what radius the belt rides at.  As the pulley halves move together it forces the belt out of the valley to run at a larger radius, if the pulley halves move further apart the belt will fall down the valley to run at a smaller radius.  Two sets of pulley halves work together and move simultaneously to form the transmission.  One pulley moves to control the gear ratio, the other pulley adjusts to maintain belt tension.  For example if the input pulley halves begin far apart and the output pulley halves begin close together the transmission is in low gear.  As the input pulley halves move together, the output pulley halves move apart to maintain constant belt tension, as illustrated in the figure.  This motion is a smooth shift from low to high gear, as shown in the [http://www.youtube.com/watch?v=M9bJ_b61E-4 video].&lt;br /&gt;
&lt;br /&gt;
A variable ratio transmission is a useful device.  With a fixed gear ratio, the output speed is a constant multiple of the input speed.  This means that as the output speed increases the input speed must also increase.  In a vehicle application this means that the engine speed changes greatly as the vehicle accelerates.  If the gear ratio is variable the input can remain at constant speed as the output speed increases.  In vehicle terms, the engine speed can be held constant while the vehicle accelerates.  This is helpful because the engine can always operate at peak power for maximum acceleration, or at maximum efficiency.  The Formula SAE team is working toward implementing a CVT on their next competition vehicle to take advantage of this property.  This proof of concept prototype is the first step towards that goal.  &lt;br /&gt;
&lt;br /&gt;
More about CVTs can be found in the [[Continuously_Variable_Transmission#Further_Reading|further reading section]].  &lt;br /&gt;
&lt;br /&gt;
This wiki page documents the mechanical and electrical systems, the code, and our reflections on the project.&lt;br /&gt;
&lt;br /&gt;
== Mechanical Design ==&lt;br /&gt;
&lt;br /&gt;
=== System Operation ===&lt;br /&gt;
&lt;br /&gt;
[[image:CVT_Overview.jpg|thumb|200px|CVT assembly]]&lt;br /&gt;
[[image:CVT_Moveable_Pulley.jpg|thumb|200px|Movable pulley detail]]&lt;br /&gt;
&lt;br /&gt;
Our CVT shown to the right was constructed in the Ford Building machine shop using various available methods. It consists of two pulleys with a movable half keyed to the shaft controlled by a movable support. This support is constrained by three shafts: a main driver shaft moving the support with a lead screw, and two as guides to restrict movement as the first shaft positions the pulley. &lt;br /&gt;
&lt;br /&gt;
We used three Pittman GM8224 motors to control the apparatus. Two motors function to drive the lead screw for each of the two pulleys. These connect to the shafts by two flexible connector hoses to allow a bit of play. We used the third Pittman running at the full 24 volts to simulate the constant speed input running at max efficiency.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br clear=all&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Pulley Control ===&lt;br /&gt;
&lt;br /&gt;
[[image:CVT_Underside.jpg|thumb|200px|Pulley Control]]&lt;br /&gt;
[[image:CVT_Limit_Switch.jpg|thumb|200px|Limit Switch]]&lt;br /&gt;
&lt;br /&gt;
To simulate the gear change, we have a dial hooked onto a potentiometer as the user interface. The changing resistance controls the gear ratio from low to high. The PIC code then reads the voltage and spins the two motors controlling the lead screws to change the gear ratio accordingly. As the lead screws move, they drive the pulley half along at a controlled rate, adjusting the pulley width. As the distance between halves decreases, the radius increases. The converse is true. &lt;br /&gt;
&lt;br /&gt;
For each revolution of the Pittman motor, the lead screw will advance the pulley half by a tenth of an inch forward. The pulley width will only vary by 1 inch from switching from low to high radius. As the pulley half decreases, the radius will change from 0.866 in to 2.44 in. The driver pulley will tighten the v-belt as it increases the radius, so the driven pulley will have to react accordingly.&lt;br /&gt;
&lt;br /&gt;
Two limit switches rest on the second pulley provide a means of controlling the movement of the driven pulley. &lt;br /&gt;
&lt;br /&gt;
Our second pulley half uses another Pittman motor with the same lead screw setup to adjust the width. However, to assist in moving the halves, we implemented springs to push the pulley halves together to assist maintaining belt tension. A metal fork resting on the moving support for the pulley half triggers the switches if the pulley moves too far. The triggered switches send a signal to either pin RD0 or RD1 of the PIC. As it triggers, the PIC stops the driven pulley half from moving further. The springs on the guide shafts of the driven pulley then correct the pulley width as needed until the fork no longer triggers either switch.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br clear=all&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Flex Coupling ===&lt;br /&gt;
&lt;br /&gt;
[[image:CVT_Flex_Coupling.jpg|thumb|200px|Flex Coupling]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br clear=all&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Part List ===&lt;br /&gt;
&lt;br /&gt;
== Electrical Components for the CVT==&lt;br /&gt;
&lt;br /&gt;
=== Circuits ===&lt;br /&gt;
&lt;br /&gt;
To control the two Pittman motors, we used [http://hades.mech.northwestern.edu/wiki/index.php/Quadrature_decoding_in_hardware%2C_or_just_counters quadrature decoding] to keep track of the counts. We used LS7183 chips found in the Mechatronics lab instead of LS7083s. &lt;br /&gt;
&lt;br /&gt;
[[image:CVT_circuit_diagram.jpg|thumb|200px|Circuit diagram]]&lt;br /&gt;
A schematic of the circuit is presented to the right.&lt;br /&gt;
&amp;lt;br clear=all&amp;gt;&lt;br /&gt;
[[image:CVT_circuit.jpg|thumb|200px|completed circuit]]&lt;br /&gt;
&lt;br /&gt;
The completed circuit setup can be viewed on the right.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br clear=all&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Programming ===&lt;br /&gt;
&lt;br /&gt;
The PIC reads an input voltage reading from the potentiometer from pin RA0. This value is compared to the upper and lower bounds governing the pulley&amp;#039;s widths to determine whether the pulley needs to move farther or closer together. We then use quadrature decoding to keep track of the counts, thereby tracking the number of rotations. With the 10:1 gear ratio (10 revolutions per 1 in of travel), we also know how far it has moved. We modified the quadrature hardware [http://peshkin.mech.northwestern.edu/pic/code/QuadratureHard/  code ] available from the example code page to perform this task. &lt;br /&gt;
&lt;br /&gt;
The code for the entire setup can be found here.  &lt;br /&gt;
* [[media:CVTcontrolcode.c|CVTcontrolcode.c]]&lt;br /&gt;
&lt;br /&gt;
== Results ==&lt;br /&gt;
&lt;br /&gt;
Unfortunately, due to technical errors and circuit component failure (namely frying three PICs along with other melted components), we were not able to implement the PIC control for the two pulleys. To demonstrate the apparatus, we implemented manual control of the two Pittmans using switches to control the pulley widths. The demonstration showed that the system functions well mechanically. Manual control illustrated the need for feedback control for this system, as the transitions from low to high gear required a nonlinear shift in the pulley radii.&lt;br /&gt;
&lt;br /&gt;
With further work on the circuits and controls, we hope to get the CVT working as intended with PIC control.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Further Reading ==&lt;br /&gt;
&lt;br /&gt;
More details regarding the operation of a CVT, along with various forms of CVTs&lt;br /&gt;
* http://auto.howstuffworks.com/cvt.htm&lt;br /&gt;
* http://cars.about.com/od/thingsyouneedtoknow/a/CVT.htm&lt;/div&gt;</summary>
		<author><name>DavidEvitt</name></author>
	</entry>
	<entry>
		<id>https://hades.mech.northwestern.edu//index.php?title=Continuously_Variable_Transmission&amp;diff=8616</id>
		<title>Continuously Variable Transmission</title>
		<link rel="alternate" type="text/html" href="https://hades.mech.northwestern.edu//index.php?title=Continuously_Variable_Transmission&amp;diff=8616"/>
		<updated>2008-03-21T07:54:51Z</updated>

		<summary type="html">&lt;p&gt;DavidEvitt: /* Team members */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[image: CVT_system.JPG|500px|right]]&lt;br /&gt;
&lt;br /&gt;
== Team members ==&lt;br /&gt;
&lt;br /&gt;
[[image: Evitt-Miller-Mui.JPG|thumb|200px|Evitt-Miller-Mui]]&lt;br /&gt;
&lt;br /&gt;
* David Evitt: Mechanical Engineering, Class of 2009&lt;br /&gt;
* Tyler Miller: Electrical Engineering, Class of 2009&lt;br /&gt;
* Raymond Mui: Mechanical Engineering, Class of 2008&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br clear=all&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Overview ==&lt;br /&gt;
&lt;br /&gt;
[[image: CVT_Ratio.JPG|thumb|200px| Low-High Ratio]]&lt;br /&gt;
&lt;br /&gt;
The goal of this project was to create an electronically controlled, belt-driven, continuously variable transmission (CVT).  &lt;br /&gt;
&lt;br /&gt;
A CVT is a type of transmission that can smoothly transition between gear ratios.  This can be achieved in a variety of ways.  We chose to use movable conical pulley halves and a v-belt, similar to the CVTs commonly found on snowmobiles.  The conical faces of the pulley halves create a valley that the belt rides in.  The belt wedges as far down in the valley as possible, so the distance between the pulleys controls what radius the belt rides at.  As the pulley halves move together it forces the belt out of the valley to run at a larger radius, if the pulley halves move further apart the belt will fall down the valley to run at a smaller radius.  Two sets of pulley halves work together and move simultaneously to form the transmission.  One pulley moves to control the gear ratio, the other pulley adjusts to maintain belt tension.  For example if the input pulley halves begin far apart and the output pulley halves begin close together the transmission is in low gear.  As the input pulley halves move together, the output pulley halves move apart to maintain constant belt tension, as illustrated in the figure.  This motion is a smooth shift from low to high gear, as shown in the [http://www.youtube.com/watch?v=M9bJ_b61E-4 video].&lt;br /&gt;
&lt;br /&gt;
A variable ratio transmission is a useful device.  With a fixed gear ratio, the output speed is a constant multiple of the input speed.  This means that as the output speed increases the input speed must also increase.  In a vehicle application this means that the engine speed changes greatly as the vehicle accelerates.  If the gear ratio is variable the input can remain at constant speed as the output speed increases.  In vehicle terms, the engine speed can be held constant while the vehicle accelerates.  This is helpful because the engine can always operate at peak power for maximum acceleration, or at maximum efficiency.  The Formula SAE team is working toward implementing a CVT on their next competition vehicle to take advantage of this property.  This proof of concept prototype is the first step towards that goal.  &lt;br /&gt;
&lt;br /&gt;
More about CVTs can be found in the [[Continuously_Variable_Transmission#Further_Reading|further reading section]].  &lt;br /&gt;
&lt;br /&gt;
This wiki page documents the mechanical and electrical systems, the code, and our reflections on the project.&lt;br /&gt;
&lt;br /&gt;
== Mechanical Design ==&lt;br /&gt;
&lt;br /&gt;
=== System Operation ===&lt;br /&gt;
&lt;br /&gt;
[[image:CVT_Overview.jpg|thumb|200px|CVT assembly]]&lt;br /&gt;
[[image:CVT_Moveable_Pulley.jpg|thumb|200px|Movable pulley detail]]&lt;br /&gt;
&lt;br /&gt;
Our CVT shown to the right was constructed in the Ford Building machine shop using various available methods. It consists of two pulleys with a movable half keyed to the shaft controlled by a movable support. This support is constrained by three shafts: a main driver shaft moving the support with a lead screw, and two as guides to restrict movement as the first shaft positions the pulley. &lt;br /&gt;
&lt;br /&gt;
We used three Pittman GM8224 motors to control the apparatus. Two motors function to drive the lead screw for each of the two pulleys. These connect to the shafts by two flexible connector hoses to allow a bit of play. We used the third Pittman running at the full 24 volts to simulate the constant speed input running at max efficiency.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br clear=all&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Pulley Control ===&lt;br /&gt;
&lt;br /&gt;
[[image:CVT_Underside.jpg|thumb|200px|Pulley Control]]&lt;br /&gt;
[[image:CVT_Limit_Switch.jpg|thumb|200px|Limit Switch]]&lt;br /&gt;
&lt;br /&gt;
To simulate the gear change, we have a dial hooked onto a potentiometer as the user interface. The changing resistance controls the gear ratio from low to high. The PIC code then reads the voltage and spins the two motors controlling the lead screws to change the gear ratio accordingly. As the lead screws move, they drive the pulley half along at a controlled rate, adjusting the pulley width. As the distance between halves decreases, the radius increases. The converse is true. &lt;br /&gt;
&lt;br /&gt;
For each revolution of the Pittman motor, the lead screw will advance the pulley half by a tenth of an inch forward. The pulley width will only vary by 1 inch from switching from low to high radius. As the pulley half decreases, the radius will change from 0.866 in to 2.44 in. The driver pulley will tighten the v-belt as it increases the radius, so the driven pulley will have to react accordingly.&lt;br /&gt;
&lt;br /&gt;
Two limit switches rest on the second pulley provide a means of controlling the movement of the driven pulley. &lt;br /&gt;
&lt;br /&gt;
Our second pulley half uses another Pittman motor with the same lead screw setup to adjust the width. However, to assist in moving the halves, we implemented springs to push the pulley halves together to assist maintaining belt tension. A metal fork resting on the moving support for the pulley half triggers the switches if the pulley moves too far. The triggered switches send a signal to either pin RD0 or RD1 of the PIC. As it triggers, the PIC stops the driven pulley half from moving further. The springs on the guide shafts of the driven pulley then correct the pulley width as needed until the fork no longer triggers either switch.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br clear=all&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Flex Coupling ===&lt;br /&gt;
&lt;br /&gt;
[[image:CVT_Flex_Coupling.jpg|thumb|200px|Flex Coupling]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br clear=all&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Part List ===&lt;br /&gt;
&lt;br /&gt;
== Electrical Components for the CVT==&lt;br /&gt;
&lt;br /&gt;
=== Circuits ===&lt;br /&gt;
&lt;br /&gt;
To control the two Pittman motors, we used [http://hades.mech.northwestern.edu/wiki/index.php/Quadrature_decoding_in_hardware%2C_or_just_counters quadrature decoding] to keep track of the counts. We used LS7183 chips found in the Mechatronics lab instead of LS7083s. &lt;br /&gt;
&lt;br /&gt;
[[image:CVT_circuit_diagram.jpg|thumb|200px|Circuit diagram]]&lt;br /&gt;
A schematic of the circuit is presented to the right.&lt;br /&gt;
&amp;lt;br clear=all&amp;gt;&lt;br /&gt;
[[image:CVT_circuit.jpg|thumb|200px|completed circuit]]&lt;br /&gt;
&lt;br /&gt;
The completed circuit setup can be viewed on the right.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br clear=all&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Programming ===&lt;br /&gt;
&lt;br /&gt;
The PIC reads an input voltage reading from the potentiometer from pin RA0. This value is compared to the upper and lower bounds governing the pulley&amp;#039;s widths to determine whether the pulley needs to move farther or closer together. We then use quadrature decoding to keep track of the counts, thereby tracking the number of rotations. With the 10:1 gear ratio (10 revolutions per 1 in of travel), we also know how far it has moved. We modified the quadrature hardware [http://peshkin.mech.northwestern.edu/pic/code/QuadratureHard/  code ] available from the example code page to perform this task. &lt;br /&gt;
&lt;br /&gt;
The code for the entire setup can be found here.  &lt;br /&gt;
* [[media:CVTcontrolcode.c|CVTcontrolcode.c]]&lt;br /&gt;
&lt;br /&gt;
== Results ==&lt;br /&gt;
&lt;br /&gt;
Unfortunately, due to technical errors and circuit component failure (namely frying three PICs along with other melted components), we were not able to implement the PIC control for the two pulleys. To demonstrate the apparatus, we implemented manual control of the two Pittmans using switches to control the pulley widths. The demonstration showed that the system functions well mechanically. Manual control illustrated the need for feedback control for this system, as the transitions from low to high gear required a nonlinear shift in the pulley radii.&lt;br /&gt;
&lt;br /&gt;
With further work on the circuits and controls, we hope to get the CVT working as intended with PIC control.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Further Reading ==&lt;br /&gt;
&lt;br /&gt;
More details regarding the operation of a CVT, along with various forms of CVTs&lt;br /&gt;
* http://auto.howstuffworks.com/cvt.htm&lt;br /&gt;
* http://cars.about.com/od/thingsyouneedtoknow/a/CVT.htm&lt;/div&gt;</summary>
		<author><name>DavidEvitt</name></author>
	</entry>
	<entry>
		<id>https://hades.mech.northwestern.edu//index.php?title=Continuously_Variable_Transmission&amp;diff=8614</id>
		<title>Continuously Variable Transmission</title>
		<link rel="alternate" type="text/html" href="https://hades.mech.northwestern.edu//index.php?title=Continuously_Variable_Transmission&amp;diff=8614"/>
		<updated>2008-03-21T07:53:21Z</updated>

		<summary type="html">&lt;p&gt;DavidEvitt: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[image: CVT_system.JPG|500px|right]]&lt;br /&gt;
&lt;br /&gt;
== Team members ==&lt;br /&gt;
&lt;br /&gt;
[[image: Evitt-Miller-Mui.JPG|Evitt-Miller-Mui]]&lt;br /&gt;
&lt;br /&gt;
* David Evitt: Mechanical Engineering, Class of 2009&lt;br /&gt;
* Tyler Miller: Electrical Engineering, Class of 2009&lt;br /&gt;
* Raymond Mui: Mechanical Engineering, Class of 2008&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br clear=all&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Overview ==&lt;br /&gt;
&lt;br /&gt;
[[image: CVT_Ratio.JPG|thumb|200px| Low-High Ratio]]&lt;br /&gt;
&lt;br /&gt;
The goal of this project was to create an electronically controlled, belt-driven, continuously variable transmission (CVT).  &lt;br /&gt;
&lt;br /&gt;
A CVT is a type of transmission that can smoothly transition between gear ratios.  This can be achieved in a variety of ways.  We chose to use movable conical pulley halves and a v-belt, similar to the CVTs commonly found on snowmobiles.  The conical faces of the pulley halves create a valley that the belt rides in.  The belt wedges as far down in the valley as possible, so the distance between the pulleys controls what radius the belt rides at.  As the pulley halves move together it forces the belt out of the valley to run at a larger radius, if the pulley halves move further apart the belt will fall down the valley to run at a smaller radius.  Two sets of pulley halves work together and move simultaneously to form the transmission.  One pulley moves to control the gear ratio, the other pulley adjusts to maintain belt tension.  For example if the input pulley halves begin far apart and the output pulley halves begin close together the transmission is in low gear.  As the input pulley halves move together, the output pulley halves move apart to maintain constant belt tension, as illustrated in the figure.  This motion is a smooth shift from low to high gear, as shown in the [http://www.youtube.com/watch?v=M9bJ_b61E-4 video].&lt;br /&gt;
&lt;br /&gt;
A variable ratio transmission is a useful device.  With a fixed gear ratio, the output speed is a constant multiple of the input speed.  This means that as the output speed increases the input speed must also increase.  In a vehicle application this means that the engine speed changes greatly as the vehicle accelerates.  If the gear ratio is variable the input can remain at constant speed as the output speed increases.  In vehicle terms, the engine speed can be held constant while the vehicle accelerates.  This is helpful because the engine can always operate at peak power for maximum acceleration, or at maximum efficiency.  The Formula SAE team is working toward implementing a CVT on their next competition vehicle to take advantage of this property.  This proof of concept prototype is the first step towards that goal.  &lt;br /&gt;
&lt;br /&gt;
More about CVTs can be found in the [[Continuously_Variable_Transmission#Further_Reading|further reading section]].  &lt;br /&gt;
&lt;br /&gt;
This wiki page documents the mechanical and electrical systems, the code, and our reflections on the project.&lt;br /&gt;
&lt;br /&gt;
== Mechanical Design ==&lt;br /&gt;
&lt;br /&gt;
=== System Operation ===&lt;br /&gt;
&lt;br /&gt;
[[image:CVT_Overview.jpg|thumb|200px|CVT assembly]]&lt;br /&gt;
[[image:CVT_Moveable_Pulley.jpg|thumb|200px|Movable pulley detail]]&lt;br /&gt;
&lt;br /&gt;
Our CVT shown to the right was constructed in the Ford Building machine shop using various available methods. It consists of two pulleys with a movable half keyed to the shaft controlled by a movable support. This support is constrained by three shafts: a main driver shaft moving the support with a lead screw, and two as guides to restrict movement as the first shaft positions the pulley. &lt;br /&gt;
&lt;br /&gt;
We used three Pittman GM8224 motors to control the apparatus. Two motors function to drive the lead screw for each of the two pulleys. These connect to the shafts by two flexible connector hoses to allow a bit of play. We used the third Pittman running at the full 24 volts to simulate the constant speed input running at max efficiency.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br clear=all&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Pulley Control ===&lt;br /&gt;
&lt;br /&gt;
[[image:CVT_Underside.jpg|thumb|200px|Pulley Control]]&lt;br /&gt;
[[image:CVT_Limit_Switch.jpg|thumb|200px|Limit Switch]]&lt;br /&gt;
&lt;br /&gt;
To simulate the gear change, we have a dial hooked onto a potentiometer as the user interface. The changing resistance controls the gear ratio from low to high. The PIC code then reads the voltage and spins the two motors controlling the lead screws to change the gear ratio accordingly. As the lead screws move, they drive the pulley half along at a controlled rate, adjusting the pulley width. As the distance between halves decreases, the radius increases. The converse is true. &lt;br /&gt;
&lt;br /&gt;
For each revolution of the Pittman motor, the lead screw will advance the pulley half by a tenth of an inch forward. The pulley width will only vary by 1 inch from switching from low to high radius. As the pulley half decreases, the radius will change from 0.866 in to 2.44 in. The driver pulley will tighten the v-belt as it increases the radius, so the driven pulley will have to react accordingly.&lt;br /&gt;
&lt;br /&gt;
Two limit switches rest on the second pulley provide a means of controlling the movement of the driven pulley. &lt;br /&gt;
&lt;br /&gt;
Our second pulley half uses another Pittman motor with the same lead screw setup to adjust the width. However, to assist in moving the halves, we implemented springs to push the pulley halves together to assist maintaining belt tension. A metal fork resting on the moving support for the pulley half triggers the switches if the pulley moves too far. The triggered switches send a signal to either pin RD0 or RD1 of the PIC. As it triggers, the PIC stops the driven pulley half from moving further. The springs on the guide shafts of the driven pulley then correct the pulley width as needed until the fork no longer triggers either switch.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br clear=all&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Flex Coupling ===&lt;br /&gt;
&lt;br /&gt;
[[image:CVT_Flex_Coupling.jpg|thumb|200px|Flex Coupling]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br clear=all&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Part List ===&lt;br /&gt;
&lt;br /&gt;
== Electrical Components for the CVT==&lt;br /&gt;
&lt;br /&gt;
=== Circuits ===&lt;br /&gt;
&lt;br /&gt;
To control the two Pittman motors, we used [http://hades.mech.northwestern.edu/wiki/index.php/Quadrature_decoding_in_hardware%2C_or_just_counters quadrature decoding] to keep track of the counts. We used LS7183 chips found in the Mechatronics lab instead of LS7083s. &lt;br /&gt;
&lt;br /&gt;
[[image:CVT_circuit_diagram.jpg|thumb|200px|Circuit diagram]]&lt;br /&gt;
A schematic of the circuit is presented to the right.&lt;br /&gt;
&amp;lt;br clear=all&amp;gt;&lt;br /&gt;
[[image:CVT_circuit.jpg|thumb|200px|completed circuit]]&lt;br /&gt;
&lt;br /&gt;
The completed circuit setup can be viewed on the right.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br clear=all&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Programming ===&lt;br /&gt;
&lt;br /&gt;
The PIC reads an input voltage reading from the potentiometer from pin RA0. This value is compared to the upper and lower bounds governing the pulley&amp;#039;s widths to determine whether the pulley needs to move farther or closer together. We then use quadrature decoding to keep track of the counts, thereby tracking the number of rotations. With the 10:1 gear ratio (10 revolutions per 1 in of travel), we also know how far it has moved. We modified the quadrature hardware [http://peshkin.mech.northwestern.edu/pic/code/QuadratureHard/  code ] available from the example code page to perform this task. &lt;br /&gt;
&lt;br /&gt;
The code for the entire setup can be found here.  &lt;br /&gt;
* [[media:CVTcontrolcode.c|CVTcontrolcode.c]]&lt;br /&gt;
&lt;br /&gt;
== Results ==&lt;br /&gt;
&lt;br /&gt;
Unfortunately, due to technical errors and circuit component failure (namely frying three PICs along with other melted components), we were not able to implement the PIC control for the two pulleys. To demonstrate the apparatus, we implemented manual control of the two Pittmans using switches to control the pulley widths. The demonstration showed that the system functions well mechanically. Manual control illustrated the need for feedback control for this system, as the transitions from low to high gear required a nonlinear shift in the pulley radii.&lt;br /&gt;
&lt;br /&gt;
With further work on the circuits and controls, we hope to get the CVT working as intended with PIC control.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Further Reading ==&lt;br /&gt;
&lt;br /&gt;
More details regarding the operation of a CVT, along with various forms of CVTs&lt;br /&gt;
* http://auto.howstuffworks.com/cvt.htm&lt;br /&gt;
* http://cars.about.com/od/thingsyouneedtoknow/a/CVT.htm&lt;/div&gt;</summary>
		<author><name>DavidEvitt</name></author>
	</entry>
	<entry>
		<id>https://hades.mech.northwestern.edu//index.php?title=File:CVT_Flex_Coupling.jpg&amp;diff=8608</id>
		<title>File:CVT Flex Coupling.jpg</title>
		<link rel="alternate" type="text/html" href="https://hades.mech.northwestern.edu//index.php?title=File:CVT_Flex_Coupling.jpg&amp;diff=8608"/>
		<updated>2008-03-21T07:46:26Z</updated>

		<summary type="html">&lt;p&gt;DavidEvitt: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>DavidEvitt</name></author>
	</entry>
	<entry>
		<id>https://hades.mech.northwestern.edu//index.php?title=File:CVT_Limit_Switch.jpg&amp;diff=8607</id>
		<title>File:CVT Limit Switch.jpg</title>
		<link rel="alternate" type="text/html" href="https://hades.mech.northwestern.edu//index.php?title=File:CVT_Limit_Switch.jpg&amp;diff=8607"/>
		<updated>2008-03-21T07:45:34Z</updated>

		<summary type="html">&lt;p&gt;DavidEvitt: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>DavidEvitt</name></author>
	</entry>
	<entry>
		<id>https://hades.mech.northwestern.edu//index.php?title=File:CVT_Underside.jpg&amp;diff=8606</id>
		<title>File:CVT Underside.jpg</title>
		<link rel="alternate" type="text/html" href="https://hades.mech.northwestern.edu//index.php?title=File:CVT_Underside.jpg&amp;diff=8606"/>
		<updated>2008-03-21T07:44:50Z</updated>

		<summary type="html">&lt;p&gt;DavidEvitt: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>DavidEvitt</name></author>
	</entry>
	<entry>
		<id>https://hades.mech.northwestern.edu//index.php?title=File:CVT_Moveable_Pulley.jpg&amp;diff=8605</id>
		<title>File:CVT Moveable Pulley.jpg</title>
		<link rel="alternate" type="text/html" href="https://hades.mech.northwestern.edu//index.php?title=File:CVT_Moveable_Pulley.jpg&amp;diff=8605"/>
		<updated>2008-03-21T07:43:49Z</updated>

		<summary type="html">&lt;p&gt;DavidEvitt: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>DavidEvitt</name></author>
	</entry>
	<entry>
		<id>https://hades.mech.northwestern.edu//index.php?title=Continuously_Variable_Transmission&amp;diff=8604</id>
		<title>Continuously Variable Transmission</title>
		<link rel="alternate" type="text/html" href="https://hades.mech.northwestern.edu//index.php?title=Continuously_Variable_Transmission&amp;diff=8604"/>
		<updated>2008-03-21T07:43:32Z</updated>

		<summary type="html">&lt;p&gt;DavidEvitt: /* Mechanical Design */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[image: CVT_system.JPG|thumb|200px| Continuously Variable Transmission]]&lt;br /&gt;
&lt;br /&gt;
== Team members ==&lt;br /&gt;
&lt;br /&gt;
[[image: Evitt-Miller-Mui.JPG|thumb|200px| Evitt-Miller-Mui]]&lt;br /&gt;
&lt;br /&gt;
* David Evitt: Mechanical Engineering, Class of 2009&lt;br /&gt;
* Tyler Miller: Electrical Engineering, Class of 2009&lt;br /&gt;
* Raymond Mui: Mechanical Engineering, Class of 2008&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br clear=all&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Overview ==&lt;br /&gt;
&lt;br /&gt;
[[image: CVT_Ratio.JPG|thumb|200px| Low-High Ratio]]&lt;br /&gt;
&lt;br /&gt;
The goal of this project was to create an electronically controlled, belt-driven, continuously variable transmission (CVT).  &lt;br /&gt;
&lt;br /&gt;
A CVT is a type of transmission that can smoothly transition between gear ratios.  This can be achieved in a variety of ways.  We chose to use movable conical pulley halves and a v-belt, similar to the CVTs commonly found on snowmobiles.  The conical faces of the pulley halves create a valley that the belt rides in.  The belt wedges as far down in the valley as possible, so the distance between the pulleys controls what radius the belt rides at.  As the pulley halves move together it forces the belt out of the valley to run at a larger radius, if the pulley halves move further apart the belt will fall down the valley to run at a smaller radius.  Two sets of pulley halves work together and move simultaneously to form the transmission.  One pulley moves to control the gear ratio, the other pulley adjusts to maintain belt tension.  For example if the input pulley halves begin far apart and the output pulley halves begin close together the transmission is in low gear.  As the input pulley halves move together, the output pulley halves move apart to maintain constant belt tension, as illustrated in the figure.  This motion is a smooth shift from low to high gear, as shown in the [http://www.youtube.com/watch?v=M9bJ_b61E-4 video].&lt;br /&gt;
&lt;br /&gt;
A variable ratio transmission is a useful device.  With a fixed gear ratio, the output speed is a constant multiple of the input speed.  This means that as the output speed increases the input speed must also increase.  In a vehicle application this means that the engine speed changes greatly as the vehicle accelerates.  If the gear ratio is variable the input can remain at constant speed as the output speed increases.  In vehicle terms, the engine speed can be held constant while the vehicle accelerates.  This is helpful because the engine can always operate at peak power for maximum acceleration, or at maximum efficiency.  The Formula SAE team is working toward implementing a CVT on their next competition vehicle to take advantage of this property.  This proof of concept prototype is the first step towards that goal.  &lt;br /&gt;
&lt;br /&gt;
More about CVTs can be found in the [[Continuously_Variable_Transmission#Further_Reading|further reading section]].  &lt;br /&gt;
&lt;br /&gt;
This wiki page documents the mechanical and electrical systems, the code, and our reflections on the project.&lt;br /&gt;
&lt;br /&gt;
== Mechanical Design ==&lt;br /&gt;
&lt;br /&gt;
=== System Operation ===&lt;br /&gt;
&lt;br /&gt;
[[image:CVT_Overview.jpg|thumb|200px|CVT assembly]]&lt;br /&gt;
[[image:CVT_Moveable_Pulley.jpg|thumb|200px|Movable pulley detail]]&lt;br /&gt;
&lt;br /&gt;
Our CVT shown to the right was constructed in the Ford Building machine shop using various available methods. It consists of two pulleys with a movable half keyed to the shaft controlled by a movable support. This support is constrained by three shafts: a main driver shaft moving the support with a lead screw, and two as guides to restrict movement as the first shaft positions the pulley. &lt;br /&gt;
&lt;br /&gt;
We used three Pittman GM8224 motors to control the apparatus. Two motors function to drive the lead screw for each of the two pulleys. These connect to the shafts by two flexible connector hoses to allow a bit of play. We used the third Pittman running at the full 24 volts to simulate the constant speed input running at max efficiency.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br clear=all&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Pulley Control ===&lt;br /&gt;
&lt;br /&gt;
[[image:CVT_Underside.jpg|thumb|200px|Pulley Control]]&lt;br /&gt;
[[image:CVT_Limit_Switch.jpg|thumb|200px|Limit Switch]]&lt;br /&gt;
&lt;br /&gt;
To simulate the gear change, we have a dial hooked onto a potentiometer as the user interface. The changing resistance controls the gear ratio from low to high. The PIC code then reads the voltage and spins the two motors controlling the lead screws to change the gear ratio accordingly. As the lead screws move, they drive the pulley half along at a controlled rate, adjusting the pulley width. As the distance between halves decreases, the radius increases. The converse is true. &lt;br /&gt;
&lt;br /&gt;
For each revolution of the Pittman motor, the lead screw will advance the pulley half by a tenth of an inch forward. The pulley width will only vary by 1 inch from switching from low to high radius. As the pulley half decreases, the radius will change from 0.866 in to 2.44 in. The driver pulley will tighten the v-belt as it increases the radius, so the driven pulley will have to react accordingly.&lt;br /&gt;
&lt;br /&gt;
Two limit switches rest on the second pulley provide a means of controlling the movement of the driven pulley. &lt;br /&gt;
&lt;br /&gt;
Our second pulley half uses another Pittman motor with the same lead screw setup to adjust the width. However, to assist in moving the halves, we implemented springs to push the pulley halves together to assist maintaining belt tension. A metal fork resting on the moving support for the pulley half triggers the switches if the pulley moves too far. The triggered switches send a signal to either pin RD0 or RD1 of the PIC. As it triggers, the PIC stops the driven pulley half from moving further. The springs on the guide shafts of the driven pulley then correct the pulley width as needed until the fork no longer triggers either switch.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br clear=all&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Flex Coupling ===&lt;br /&gt;
&lt;br /&gt;
[[image:CVT_Flex_Coupling.jpg|thumb|200px|Flex Coupling]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br clear=all&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Part List ===&lt;br /&gt;
&lt;br /&gt;
== Electrical Components for the CVT==&lt;br /&gt;
&lt;br /&gt;
=== Circuits ===&lt;br /&gt;
&lt;br /&gt;
To control the two Pittman motors, we used [http://hades.mech.northwestern.edu/wiki/index.php/Quadrature_decoding_in_hardware%2C_or_just_counters quadrature decoding] to keep track of the counts. We used LS7183 chips found in the Mechatronics lab instead of LS7083s. &lt;br /&gt;
&lt;br /&gt;
[[image:CVT_circuit_diagram.jpg|thumb|200px|Circuit diagram]]&lt;br /&gt;
A schematic of the circuit is presented to the right.&lt;br /&gt;
&amp;lt;br clear=all&amp;gt;&lt;br /&gt;
[[image:CVT_circuit.jpg|thumb|200px|completed circuit]]&lt;br /&gt;
&lt;br /&gt;
The completed circuit setup can be viewed on the right.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br clear=all&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Programming ===&lt;br /&gt;
&lt;br /&gt;
The PIC reads an input voltage reading from the potentiometer from pin RA0. This value is compared to the upper and lower bounds governing the pulley&amp;#039;s widths to determine whether the pulley needs to move farther or closer together. We then use quadrature decoding to keep track of the counts, thereby tracking the number of rotations. With the 10:1 gear ratio (10 revolutions per 1 in of travel), we also know how far it has moved. We modified the quadrature hardware [http://peshkin.mech.northwestern.edu/pic/code/QuadratureHard/  code ] available from the example code page to perform this task. &lt;br /&gt;
&lt;br /&gt;
The code for the entire setup can be found here.  &lt;br /&gt;
* [[media:CVTcontrolcode.c|CVTcontrolcode.c]]&lt;br /&gt;
&lt;br /&gt;
== Results ==&lt;br /&gt;
&lt;br /&gt;
Unfortunately, due to technical errors and circuit component failure (namely frying three PICs along with other melted components), we were not able to implement the PIC control for the two pulleys. To demonstrate the apparatus, we implemented manual control of the two Pittmans using switches to control the pulley widths. The demonstration showed that the system functions well mechanically. Manual control illustrated the need for feedback control for this system, as the transitions from low to high gear required a nonlinear shift in the pulley radii.&lt;br /&gt;
&lt;br /&gt;
With further work on the circuits and controls, we hope to get the CVT working as intended with PIC control.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Further Reading ==&lt;br /&gt;
&lt;br /&gt;
More details regarding the operation of a CVT, along with various forms of CVTs&lt;br /&gt;
* http://auto.howstuffworks.com/cvt.htm&lt;br /&gt;
* http://cars.about.com/od/thingsyouneedtoknow/a/CVT.htm&lt;/div&gt;</summary>
		<author><name>DavidEvitt</name></author>
	</entry>
	<entry>
		<id>https://hades.mech.northwestern.edu//index.php?title=File:CVT_Overview.jpg&amp;diff=8570</id>
		<title>File:CVT Overview.jpg</title>
		<link rel="alternate" type="text/html" href="https://hades.mech.northwestern.edu//index.php?title=File:CVT_Overview.jpg&amp;diff=8570"/>
		<updated>2008-03-21T06:14:24Z</updated>

		<summary type="html">&lt;p&gt;DavidEvitt: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>DavidEvitt</name></author>
	</entry>
	<entry>
		<id>https://hades.mech.northwestern.edu//index.php?title=Continuously_Variable_Transmission&amp;diff=8569</id>
		<title>Continuously Variable Transmission</title>
		<link rel="alternate" type="text/html" href="https://hades.mech.northwestern.edu//index.php?title=Continuously_Variable_Transmission&amp;diff=8569"/>
		<updated>2008-03-21T06:13:48Z</updated>

		<summary type="html">&lt;p&gt;DavidEvitt: /* Setup */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[image: CVT_system.JPG|thumb|200px| Continuously Variable Transmission]]&lt;br /&gt;
&lt;br /&gt;
== Team members ==&lt;br /&gt;
&lt;br /&gt;
[[image: Evitt-Miller-Mui.JPG|thumb|200px| Evitt-Miller-Mui]]&lt;br /&gt;
&lt;br /&gt;
* David Evitt: Mechanical Engineering, Class of 2009&lt;br /&gt;
* Tyler Miller: Electrical Engineering, Class of 2009&lt;br /&gt;
* Raymond Mui: Mechanical Engineering, Class of 2008&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br clear=all&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Overview ==&lt;br /&gt;
&lt;br /&gt;
[[image: CVT_Ratio.JPG|thumb|200px| Low-High Ratio]]&lt;br /&gt;
&lt;br /&gt;
The goal of this project was to create an electronically controlled, belt-driven, continuously variable transmission (CVT).  &lt;br /&gt;
&lt;br /&gt;
A CVT is a type of transmission that can smoothly transition between gear ratios.  This can be achieved in a variety of ways.  We chose to use movable conical pulley halves and a v-belt, similar to the CVTs commonly found on snowmobiles.  The conical faces of the pulley halves create a valley that the belt rides in.  The belt wedges as far down in the valley as possible, so the distance between the pulleys controls what radius the belt rides at.  As the pulley halves move together it forces the belt out of the valley to run at a larger radius, if the pulley halves move further apart the belt will fall down the valley to run at a smaller radius.  Two sets of pulley halves work together and move simultaneously to form the transmission.  One pulley moves to control the gear ratio, the other pulley adjusts to maintain belt tension.  For example if the input pulley halves begin far apart and the output pulley halves begin close together the transmission is in low gear.  As the input pulley halves move together, the output pulley halves move apart to maintain constant belt tension, as illustrated in the figure.  This motion is a smooth shift from low to high gear, as shown in the [http://www.youtube.com/watch?v=M9bJ_b61E-4 video].&lt;br /&gt;
&lt;br /&gt;
A variable ratio transmission is a useful device.  With a fixed gear ratio, the output speed is a constant multiple of the input speed.  This means that as the output speed increases the input speed must also increase.  In a vehicle application this means that the engine speed changes greatly as the vehicle accelerates.  If the gear ratio is variable the input can remain at constant speed as the output speed increases.  In vehicle terms, the engine speed can be held constant while the vehicle accelerates.  This is helpful because the engine can always operate at peak power for maximum acceleration, or at maximum efficiency.  The Formula SAE team is working toward implementing a CVT on their next competition vehicle to take advantage of this property.  This proof of concept prototype is the first step towards that goal.  &lt;br /&gt;
&lt;br /&gt;
More about CVTs can be found in the [[Continuously_Variable_Transmission#Further_Reading|further reading section]].  &lt;br /&gt;
&lt;br /&gt;
This wiki page documents the mechanical and electrical systems, the code, and our reflections on the project.&lt;br /&gt;
&lt;br /&gt;
== Mechanical Design ==&lt;br /&gt;
&lt;br /&gt;
[[image:CVT_Overview.jpg|thumb|200px|CVT assembly]]&lt;br /&gt;
&lt;br /&gt;
Our CVT shown to the right was constructed in the Ford Building machine shop using various available methods. It consists of two pulleys with a movable half keyed to the shaft controlled by a movable support. This support is constrained by three shafts: a main driver shaft moving the support with a lead screw, and two as guides to restrict movement as the first shaft positions the pulley. &lt;br /&gt;
&lt;br /&gt;
We used three Pittman GM8224 motors to control the apparatus. Two motors function to drive the lead screw for each of the two pulleys. These connect to the shafts by two flexible connector hoses to allow a bit of play. We used the third Pittman running at the full 24 volts to simulate the constant speed input running at max efficiency.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br clear=all&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Controlling the gear ratio ===&lt;br /&gt;
&lt;br /&gt;
To simulate the gear change, we have a dial hooked onto a potentiometer as the user interface. The changing resistance controls the gear ratio from low to high. The PIC code then reads the voltage and spins the two motors controlling the lead screws to change the gear ratio accordingly. As the lead screws move, they drive the pulley half along at a controlled rate, adjusting the pulley width. As the distance between halves decreases, the radius increases. The converse is true. &lt;br /&gt;
&lt;br /&gt;
For each revolution of the Pittman motor, the lead screw will advance the pulley half by a tenth of an inch forward. The pulley width will only vary by 1 inch from switching from low to high radius. As the pulley half decreases, the radius will change from 0.866 in to 2.44 in. The driver pulley will tighten the v-belt as it increases the radius, so the driven pulley will have to react accordingly.&lt;br /&gt;
&lt;br /&gt;
=== Controlling the driven pulley ===&lt;br /&gt;
&lt;br /&gt;
[[image:CVT_limit_switches.jpg|thumb|200px|Limit switches on driven pulley]]&lt;br /&gt;
&lt;br /&gt;
Two limit switches rest on the second pulley provide a means of controlling the movement of the driven pulley. &lt;br /&gt;
&lt;br /&gt;
Our second pulley half uses another Pittman motor with the same lead screw setup to adjust the width. However, to assist in moving the halves, we implemented springs to push the pulley halves together to assist maintaining belt tension. A metal fork resting on the moving support for the pulley half triggers the switches if the pulley moves too far. The triggered switches send a signal to either pin RD0 or RD1 of the PIC. As it triggers, the PIC stops the driven pulley half from moving further. The springs on the guide shafts of the driven pulley then correct the pulley width as needed until the fork no longer triggers either switch.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br clear=all&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Electrical Components for the CVT==&lt;br /&gt;
&lt;br /&gt;
=== Circuits ===&lt;br /&gt;
&lt;br /&gt;
To control the two Pittman motors, we used [http://hades.mech.northwestern.edu/wiki/index.php/Quadrature_decoding_in_hardware%2C_or_just_counters quadrature decoding] to keep track of the counts. We used LS7183 chips found in the Mechatronics lab instead of LS7083s. &lt;br /&gt;
&lt;br /&gt;
[[image:CVT_circuit_diagram.jpg|thumb|200px|Circuit diagram]]&lt;br /&gt;
A schematic of the circuit is presented to the right.&lt;br /&gt;
&amp;lt;br clear=all&amp;gt;&lt;br /&gt;
[[image:CVT_circuit.jpg|thumb|200px|completed circuit]]&lt;br /&gt;
&lt;br /&gt;
The completed circuit setup can be viewed on the right.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br clear=all&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Programming ===&lt;br /&gt;
&lt;br /&gt;
The PIC reads an input voltage reading from the potentiometer from pin RA0. This value is compared to the upper and lower bounds governing the pulley&amp;#039;s widths to determine whether the pulley needs to move farther or closer together. We then use quadrature decoding to keep track of the counts, thereby tracking the number of rotations. With the 10:1 gear ratio (10 revolutions per 1 in of travel), we also know how far it has moved. We modified the quadrature hardware [http://peshkin.mech.northwestern.edu/pic/code/QuadratureHard/  code ] available from the example code page to perform this task. &lt;br /&gt;
&lt;br /&gt;
The code for the entire setup can be found here.  &lt;br /&gt;
* [[media:CVTcontrolcode.c|CVTcontrolcode.c]]&lt;br /&gt;
&lt;br /&gt;
== Results ==&lt;br /&gt;
&lt;br /&gt;
Unfortunately, due to technical errors and circuit component failure (namely frying three PICs along with other melted components), we were not able to implement the PIC control for the two pulleys. To demonstrate the apparatus, we implemented manual control of the two Pittmans using switches to control the pulley widths. The demonstration showed that the system functions well mechanically. Manual control illustrated the need for feedback control for this system, as the transitions from low to high gear required a nonlinear shift in the pulley radii.&lt;br /&gt;
&lt;br /&gt;
With further work on the circuits and controls, we hope to get the CVT working as intended with PIC control.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Further Reading ==&lt;br /&gt;
&lt;br /&gt;
More details regarding the operation of a CVT, along with various forms of CVTs&lt;br /&gt;
* http://auto.howstuffworks.com/cvt.htm&lt;br /&gt;
* http://cars.about.com/od/thingsyouneedtoknow/a/CVT.htm&lt;/div&gt;</summary>
		<author><name>DavidEvitt</name></author>
	</entry>
	<entry>
		<id>https://hades.mech.northwestern.edu//index.php?title=Continuously_Variable_Transmission&amp;diff=8561</id>
		<title>Continuously Variable Transmission</title>
		<link rel="alternate" type="text/html" href="https://hades.mech.northwestern.edu//index.php?title=Continuously_Variable_Transmission&amp;diff=8561"/>
		<updated>2008-03-21T05:59:00Z</updated>

		<summary type="html">&lt;p&gt;DavidEvitt: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[image: CVT_system.JPG|thumb|200px| Continuously Variable Transmission]]&lt;br /&gt;
&lt;br /&gt;
== Team members ==&lt;br /&gt;
&lt;br /&gt;
[[image: Evitt-Miller-Mui.JPG|thumb|200px| Evitt-Miller-Mui]]&lt;br /&gt;
&lt;br /&gt;
* David Evitt: Mechanical Engineering, Class of 2009&lt;br /&gt;
* Tyler Miller: Electrical Engineering, Class of 2009&lt;br /&gt;
* Raymond Mui: Mechanical Engineering, Class of 2008&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br clear=all&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Overview ==&lt;br /&gt;
&lt;br /&gt;
[[image: CVT_Ratio.JPG|thumb|200px| Low-High Ratio]]&lt;br /&gt;
&lt;br /&gt;
The goal of this project was to create an electronically controlled, belt-driven, continuously variable transmission (CVT).  &lt;br /&gt;
&lt;br /&gt;
A CVT is a type of transmission that can smoothly transition between gear ratios.  This can be achieved in a variety of ways.  We chose to use movable conical pulley halves and a v-belt, similar to the CVTs commonly found on snowmobiles.  The conical faces of the pulley halves create a valley that the belt rides in.  The belt wedges as far down in the valley as possible, so the distance between the pulleys controls what radius the belt rides at.  As the pulley halves move together it forces the belt out of the valley to run at a larger radius, if the pulley halves move further apart the belt will fall down the valley to run at a smaller radius.  Two sets of pulley halves work together and move simultaneously to form the transmission.  One pulley moves to control the gear ratio, the other pulley adjusts to maintain belt tension.  For example if the input pulley halves begin far apart and the output pulley halves begin close together the transmission is in low gear.  As the input pulley halves move together, the output pulley halves move apart to maintain constant belt tension, as illustrated in the figure.  This motion is a smooth shift from low to high gear, as shown in the [http://www.youtube.com/watch?v=M9bJ_b61E-4 video].&lt;br /&gt;
&lt;br /&gt;
A variable ratio transmission is a useful device.  With a fixed gear ratio, the output speed is a constant multiple of the input speed.  This means that as the output speed increases the input speed must also increase.  In a vehicle application this means that the engine speed changes greatly as the vehicle accelerates.  If the gear ratio is variable the input can remain at constant speed as the output speed increases.  In vehicle terms, the engine speed can be held constant while the vehicle accelerates.  This is helpful because the engine can always operate at peak power for maximum acceleration, or at maximum efficiency.  The Formula SAE team is working toward implementing a CVT on their next competition vehicle to take advantage of this property.  This proof of concept prototype is the first step towards that goal.  &lt;br /&gt;
&lt;br /&gt;
More about CVTs can be found in the [[Continuously_Variable_Transmission#Further_Reading|further reading section]].  &lt;br /&gt;
&lt;br /&gt;
This wiki page documents the mechanical and electrical systems, the code, and our reflections on the project.&lt;br /&gt;
&lt;br /&gt;
== Setup ==&lt;br /&gt;
&lt;br /&gt;
[[image:CVT_setup1.jpg|thumb|200px|Completed CVT assembly]]&lt;br /&gt;
&lt;br /&gt;
Our CVT shown to the right was constructed in the Ford Building machine shop using various available methods. It consists of two pulleys with a movable half keyed to the shaft controlled by a movable support. This support is constrained by three shafts: a main driver shaft moving the support with a lead screw, and two as guides to restrict movement as the first shaft positions the pulley. &lt;br /&gt;
&lt;br /&gt;
We used three Pittman GM8224 motors to control the apparatus. Two motors function to drive the lead screw for each of the two pulleys. These connect to the shafts by two flexible connector hoses to allow a bit of play. We used the third Pittman running at the full 24 volts to simulate the constant speed input running at max efficiency.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br clear=all&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Controlling the gear ratio ===&lt;br /&gt;
&lt;br /&gt;
To simulate the gear change, we have a dial hooked onto a potentiometer as the user interface. The changing resistance controls the gear ratio from low to high. The PIC code then reads the voltage and spins the two motors controlling the lead screws to change the gear ratio accordingly. As the lead screws move, they drive the pulley half along at a controlled rate, adjusting the pulley width. As the distance between halves decreases, the radius increases. The converse is true. &lt;br /&gt;
&lt;br /&gt;
For each revolution of the Pittman motor, the lead screw will advance the pulley half by a tenth of an inch forward. The pulley width will only vary by 1 inch from switching from low to high radius. As the pulley half decreases, the radius will change from 0.866 in to 2.44 in. The driver pulley will tighten the v-belt as it increases the radius, so the driven pulley will have to react accordingly.&lt;br /&gt;
&lt;br /&gt;
=== Controlling the driven pulley ===&lt;br /&gt;
&lt;br /&gt;
[[image:CVT_limit_switches.jpg|thumb|200px|Limit switches on driven pulley]]&lt;br /&gt;
&lt;br /&gt;
Two limit switches rest on the second pulley provide a means of controlling the movement of the driven pulley. &lt;br /&gt;
&lt;br /&gt;
Our second pulley half uses another Pittman motor with the same lead screw setup to adjust the width. However, to assist in moving the halves, we implemented springs to push the pulley halves together to assist maintaining belt tension. A metal fork resting on the moving support for the pulley half triggers the switches if the pulley moves too far. The triggered switches send a signal to either pin RD0 or RD1 of the PIC. As it triggers, the PIC stops the driven pulley half from moving further. The springs on the guide shafts of the driven pulley then correct the pulley width as needed until the fork no longer triggers either switch.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br clear=all&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Electrical Components for the CVT==&lt;br /&gt;
&lt;br /&gt;
=== Circuits ===&lt;br /&gt;
&lt;br /&gt;
To control the two Pittman motors, we used [http://hades.mech.northwestern.edu/wiki/index.php/Quadrature_decoding_in_hardware%2C_or_just_counters quadrature decoding] to keep track of the counts. We used LS7183 chips found in the Mechatronics lab instead of LS7083s. &lt;br /&gt;
&lt;br /&gt;
[[image:CVT_circuit_diagram.jpg|thumb|200px|Circuit diagram]]&lt;br /&gt;
A schematic of the circuit is presented to the right.&lt;br /&gt;
&amp;lt;br clear=all&amp;gt;&lt;br /&gt;
[[image:CVT_circuit.jpg|thumb|200px|completed circuit]]&lt;br /&gt;
&lt;br /&gt;
The completed circuit setup can be viewed on the right.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br clear=all&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Programming ===&lt;br /&gt;
&lt;br /&gt;
The PIC reads an input voltage reading from the potentiometer from pin RA0. This value is compared to the upper and lower bounds governing the pulley&amp;#039;s widths to determine whether the pulley needs to move farther or closer together. We then use quadrature decoding to keep track of the counts, thereby tracking the number of rotations. With the 10:1 gear ratio (10 revolutions per 1 in of travel), we also know how far it has moved. We modified the quadrature hardware [http://peshkin.mech.northwestern.edu/pic/code/QuadratureHard/  code ] available from the example code page to perform this task. &lt;br /&gt;
&lt;br /&gt;
The code for the entire setup can be found here.  &lt;br /&gt;
* [[media:CVTcontrolcode.c|CVTcontrolcode.c]]&lt;br /&gt;
&lt;br /&gt;
== Results ==&lt;br /&gt;
&lt;br /&gt;
Unfortunately, due to technical errors and circuit component failure (namely frying three PICs along with other melted components), we were not able to implement the PIC control for the two pulleys. To demonstrate the apparatus, we implemented manual control of the two Pittmans using switches to control the pulley widths. The demonstration showed that the system functions well mechanically. Manual control illustrated the need for feedback control for this system, as the transitions from low to high gear required a nonlinear shift in the pulley radii.&lt;br /&gt;
&lt;br /&gt;
With further work on the circuits and controls, we hope to get the CVT working as intended with PIC control.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Further Reading ==&lt;br /&gt;
&lt;br /&gt;
More details regarding the operation of a CVT, along with various forms of CVTs&lt;br /&gt;
* http://auto.howstuffworks.com/cvt.htm&lt;br /&gt;
* http://cars.about.com/od/thingsyouneedtoknow/a/CVT.htm&lt;/div&gt;</summary>
		<author><name>DavidEvitt</name></author>
	</entry>
	<entry>
		<id>https://hades.mech.northwestern.edu//index.php?title=Continuously_Variable_Transmission&amp;diff=8558</id>
		<title>Continuously Variable Transmission</title>
		<link rel="alternate" type="text/html" href="https://hades.mech.northwestern.edu//index.php?title=Continuously_Variable_Transmission&amp;diff=8558"/>
		<updated>2008-03-21T05:57:17Z</updated>

		<summary type="html">&lt;p&gt;DavidEvitt: /* Overview */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[image: CVT_system.JPG|thumb|200px| Continuously Variable Transmission]]&lt;br /&gt;
&lt;br /&gt;
== Team members ==&lt;br /&gt;
&lt;br /&gt;
[[image: Evitt-Miller-Mui.JPG|thumb|200px| Evitt-Miller-Mui]]&lt;br /&gt;
&lt;br /&gt;
* David Evitt: Mechanical Engineering, Class of 2009&lt;br /&gt;
* Tyler Miller: Electrical Engineering, Class of 2009&lt;br /&gt;
* Raymond Mui: Mechanical Engineering, Class of 2008&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br clear=all&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Overview ==&lt;br /&gt;
&lt;br /&gt;
[[image: CVT_Ratio.JPG|thumb|200px| Low-High Ratio]]&lt;br /&gt;
&lt;br /&gt;
The goal of this project was to create an electronically controlled, belt-driven, continuously variable transmission (CVT).  &lt;br /&gt;
&lt;br /&gt;
A CVT is a type of transmission that can smoothly transition between gear ratios.  This can be achieved in a variety of ways.  We chose to use movable conical pulley halves and a v-belt, similar to the CVTs commonly found on snowmobiles.  The conical faces of the pulley halves create a valley that the belt rides in.  The belt wedges as far down in the valley as possible, so the distance between the pulleys controls what radius the belt rides at.  As the pulley halves move together it forces the belt out of the valley to run at a larger radius, if the pulley halves move further apart the belt will fall down the valley to run at a smaller radius.  Two sets of pulley halves work together and move simultaneously to form the transmission.  One pulley moves to control the gear ratio, the other pulley adjusts to maintain belt tension.  For example if the input pulley halves begin far apart and the output pulley halves begin close together the transmission is in low gear.  As the input pulley halves move together, the output pulley halves move apart to maintain constant belt tension, as illustrated in the figure.  This motion is a smooth shift from low to high gear, as shown in the [http://www.youtube.com/watch?v=M9bJ_b61E-4 video].&lt;br /&gt;
&lt;br /&gt;
A variable ratio transmission is a useful device.  With a fixed gear ratio, the output speed is a constant multiple of the input speed.  This means that as the output speed increases the input speed must also increase.  In a vehicle application this means that the engine speed changes greatly as the vehicle accelerates.  If the gear ratio is variable the input can remain at constant speed as the output speed increases.  In vehicle terms, the engine speed can be held constant while the vehicle accelerates.  This is helpful because the engine can always operate at peak power for maximum acceleration, or at maximum efficiency.  The Formula SAE team is working toward implementing a CVT on their next competition vehicle to take advantage of this property.  This proof of concept prototype is the first step towards that goal.  &lt;br /&gt;
&lt;br /&gt;
More about CVTs can be found in the [[Continuously_Variable_Transmission#Further_Reading|further reading section]].  &lt;br /&gt;
&lt;br /&gt;
This wiki page documents the mechanical and electrical systems, the code, and our reflections on the project.&lt;br /&gt;
&lt;br /&gt;
== Setup ==&lt;br /&gt;
&lt;br /&gt;
[[image:CVT_setup1.jpg|thumb|300px|Completed CVT assembly]]&lt;br /&gt;
&lt;br /&gt;
Our CVT shown to the right was constructed in the Ford Building machine shop using various available methods. It consists of two pulleys with a movable half keyed to the shaft controlled by a movable support. This support is constrained by three shafts: a main driver shaft moving the support with a lead screw, and two as guides to restrict movement as the first shaft positions the pulley. &lt;br /&gt;
&lt;br /&gt;
We used three Pittman GM8224 motors to control the apparatus. Two motors function to drive the lead screw for each of the two pulleys. These connect to the shafts by two flexible connector hoses to allow a bit of play. We used the third Pittman running at the full 24 volts to simulate the constant speed input running at max efficiency.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br clear=all&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Controlling the gear ratio ===&lt;br /&gt;
&lt;br /&gt;
To simulate the gear change, we have a dial hooked onto a potentiometer as the user interface. The changing resistance controls the gear ratio from low to high. The PIC code then reads the voltage and spins the two motors controlling the lead screws to change the gear ratio accordingly. As the lead screws move, they drive the pulley half along at a controlled rate, adjusting the pulley width. As the distance between halves decreases, the radius increases. The converse is true. &lt;br /&gt;
&lt;br /&gt;
For each revolution of the Pittman motor, the lead screw will advance the pulley half by a tenth of an inch forward. The pulley width will only vary by 1 inch from switching from low to high radius. As the pulley half decreases, the radius will change from 0.866 in to 2.44 in. The driver pulley will tighten the v-belt as it increases the radius, so the driven pulley will have to react accordingly.&lt;br /&gt;
&lt;br /&gt;
=== Controlling the driven pulley ===&lt;br /&gt;
&lt;br /&gt;
[[image:CVT_limit_switches.jpg|thumb|300px|Limit switches on driven pulley]]&lt;br /&gt;
&lt;br /&gt;
Two limit switches rest on the second pulley provide a means of controlling the movement of the driven pulley. &lt;br /&gt;
&lt;br /&gt;
Our second pulley half uses another Pittman motor with the same lead screw setup to adjust the width. However, to assist in moving the halves, we implemented springs to push the pulley halves together to assist maintaining belt tension. A metal fork resting on the moving support for the pulley half triggers the switches if the pulley moves too far. The triggered switches send a signal to either pin RD0 or RD1 of the PIC. As it triggers, the PIC stops the driven pulley half from moving further. The springs on the guide shafts of the driven pulley then correct the pulley width as needed until the fork no longer triggers either switch.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br clear=all&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Electrical Components for the CVT==&lt;br /&gt;
&lt;br /&gt;
=== Circuits ===&lt;br /&gt;
&lt;br /&gt;
To control the two Pittman motors, we used [http://hades.mech.northwestern.edu/wiki/index.php/Quadrature_decoding_in_hardware%2C_or_just_counters quadrature decoding] to keep track of the counts. We used LS7183 chips found in the Mechatronics lab instead of LS7083s. &lt;br /&gt;
&lt;br /&gt;
[[image:CVT_circuit_diagram.jpg|thumb|400px|Circuit diagram]]&lt;br /&gt;
A schematic of the circuit is presented to the right.&lt;br /&gt;
&amp;lt;br clear=all&amp;gt;&lt;br /&gt;
[[image:CVT_circuit.jpg|thumb|400px|completed circuit]]&lt;br /&gt;
&lt;br /&gt;
The completed circuit setup can be viewed on the right.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br clear=all&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Programming ===&lt;br /&gt;
&lt;br /&gt;
The PIC reads an input voltage reading from the potentiometer from pin RA0. This value is compared to the upper and lower bounds governing the pulley&amp;#039;s widths to determine whether the pulley needs to move farther or closer together. We then use quadrature decoding to keep track of the counts, thereby tracking the number of rotations. With the 10:1 gear ratio (10 revolutions per 1 in of travel), we also know how far it has moved. We modified the quadrature hardware [http://peshkin.mech.northwestern.edu/pic/code/QuadratureHard/  code ] available from the example code page to perform this task. &lt;br /&gt;
&lt;br /&gt;
The code for the entire setup can be found here.  &lt;br /&gt;
* [[media:CVTcontrolcode.c|CVTcontrolcode.c]]&lt;br /&gt;
&lt;br /&gt;
== Results ==&lt;br /&gt;
&lt;br /&gt;
Unfortunately, due to technical errors and circuit component failure (namely frying three PICs along with other melted components), we were not able to implement the PIC control for the two pulleys. To demonstrate the apparatus, we implemented manual control of the two Pittmans using switches to control the pulley widths. The demonstration showed that the system functions well mechanically. Manual control illustrated the need for feedback control for this system, as the transitions from low to high gear required a nonlinear shift in the pulley radii.&lt;br /&gt;
&lt;br /&gt;
With further work on the circuits and controls, we hope to get the CVT working as intended with PIC control.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Further Reading ==&lt;br /&gt;
&lt;br /&gt;
More details regarding the operation of a CVT, along with various forms of CVTs&lt;br /&gt;
* http://auto.howstuffworks.com/cvt.htm&lt;br /&gt;
* http://cars.about.com/od/thingsyouneedtoknow/a/CVT.htm&lt;/div&gt;</summary>
		<author><name>DavidEvitt</name></author>
	</entry>
	<entry>
		<id>https://hades.mech.northwestern.edu//index.php?title=Continuously_Variable_Transmission&amp;diff=8505</id>
		<title>Continuously Variable Transmission</title>
		<link rel="alternate" type="text/html" href="https://hades.mech.northwestern.edu//index.php?title=Continuously_Variable_Transmission&amp;diff=8505"/>
		<updated>2008-03-21T04:11:35Z</updated>

		<summary type="html">&lt;p&gt;DavidEvitt: /* Overview */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[image: CVT_system.JPG|thumb|200px| Continuously Variable Transmission]]&lt;br /&gt;
&lt;br /&gt;
== Team members ==&lt;br /&gt;
&lt;br /&gt;
[[image: Evitt-Miller-Mui.JPG|thumb|200px| Evitt-Miller-Mui]]&lt;br /&gt;
&lt;br /&gt;
* David Evitt: Mechanical Engineering, Class of 2009&lt;br /&gt;
* Tyler Miller: Electrical Engineering, Class of 2009&lt;br /&gt;
* Raymond Mui: Mechanical Engineering, Class of 2008&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br clear=all&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Overview ==&lt;br /&gt;
&lt;br /&gt;
[[image: CVT_Ratio.JPG|thumb|200px| Low-High Ratio]]&lt;br /&gt;
&lt;br /&gt;
The goal of this project was to create an electronically controlled, belt-driven, continuously variable transmission (CVT).  &lt;br /&gt;
&lt;br /&gt;
A CVT is a type of transmission that can smoothly transition between gear ratios.  This can be achieved in a variety of ways.  We chose to use movable conical pulley halves and a v-belt, similar to the CVTs commonly found on snowmobiles.  The conical faces of the pulley halves create a valley that the belt rides in.  The belt wedges as far down in the valley as possible, so the distance between the pulleys controls what radius the belt rides at.  As the pulley halves move together it forces the belt out of the valley to run at a larger radius, if the pulley halves move further apart the belt will fall down the valley to run at a smaller radius.  Two sets of pulley halves work together and move simultaneously to form the transmission.  One pulley moves to control the gear ratio, the other pulley adjusts to maintain belt tension.  For example if the input pulley halves begin far apart and the output pulley halves begin close together the transmission is in low gear.  As the input pulley halves move together, the output pulley halves move apart to maintain constant belt tension, as illustrated in the figure.  This motion is a smooth shift from low to high gear, as shown in the video.&lt;br /&gt;
&lt;br /&gt;
A variable ratio transmission is a useful device.  With a fixed gear ratio, the output speed is a constant multiple of the input speed.  This means that as the output speed increases the input speed must also increase.  In a vehicle application this means that the engine speed changes greatly as the vehicle accelerates.  If the gear ratio is variable the input can remain at constant speed as the output speed increases.  In vehicle terms, the engine speed can be held constant while the vehicle accelerates.  This is helpful because the engine can always operate at peak power for maximum acceleration, or at maximum efficiency.  The Formula SAE team is working toward implementing a CVT on their next competition vehicle to take advantage of this property.  This proof of concept prototype is the first step towards that goal.  &lt;br /&gt;
&lt;br /&gt;
More about CVTs can be found in the [[Continuously_Variable_Transmission#Further_Reading|further reading section]].  &lt;br /&gt;
&lt;br /&gt;
This wiki page documents the mechanical and electrical systems, the code, and our reflections on the project.&lt;br /&gt;
&lt;br /&gt;
== Setup ==&lt;br /&gt;
&lt;br /&gt;
[[image:CVT_setup1.jpg|thumb|300px|Completed CVT assembly]]&lt;br /&gt;
&lt;br /&gt;
Our CVT shown to the right was constructed in the Ford Building machine shop using various available methods. It consists of two pulleys with a movable half keyed to the shaft controlled by a movable support. This support is constrained by three shafts: a main driver shaft moving the support with a lead screw, and two as guides to restrict movement as the first shaft positions the pulley. &lt;br /&gt;
&lt;br /&gt;
We used three Pittman GM8224 motors to control the apparatus. Two motors function to drive the lead screw for each of the two pulleys. These connect to the shafts by two flexible connector hoses to allow a bit of play. We used the third Pittman running at the full 24 volts to simulate the constant speed input running at max efficiency.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br clear=all&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Controlling the gear ratio ===&lt;br /&gt;
&lt;br /&gt;
To simulate the gear change, we have a dial hooked onto a potentiometer as the user interface. The changing resistance controls the gear ratio from low to high. The PIC code then reads the voltage and spins the two motors controlling the lead screws to change the gear ratio accordingly. As the lead screws move, they drive the pulley half along at a controlled rate, adjusting the pulley width. As the distance between halves decreases, the radius increases. The converse is true. &lt;br /&gt;
&lt;br /&gt;
For each revolution of the Pittman motor, the lead screw will advance the pulley half by a tenth of an inch forward. The pulley width will only vary by 1 inch from switching from low to high radius. As the pulley half decreases, the radius will change from 0.866 in to 2.44 in. The driver pulley will tighten the v-belt as it increases the radius, so the driven pulley will have to react accordingly.&lt;br /&gt;
&lt;br /&gt;
=== Controlling the driven pulley ===&lt;br /&gt;
&lt;br /&gt;
[[image:CVT_limit_switches.jpg|thumb|300px|Limit switches on driven pulley]]&lt;br /&gt;
&lt;br /&gt;
Two limit switches rest on the second pulley provide a means of controlling the movement of the driven pulley. &lt;br /&gt;
&lt;br /&gt;
Our second pulley half uses another Pittman motor with the same lead screw setup to adjust the width. However, to assist in moving the halves, we implemented springs to push the pulley halves together to assist maintaining belt tension. A metal fork resting on the moving support for the pulley half triggers the switches if the pulley moves too far. The triggered switches send a signal to either pin RD0 or RD1 of the PIC. As it triggers, the PIC stops the driven pulley half from moving further. The springs on the guide shafts of the driven pulley then correct the pulley width as needed until the fork no longer triggers either switch.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br clear=all&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Electrical Components for the CVT==&lt;br /&gt;
&lt;br /&gt;
=== Circuits ===&lt;br /&gt;
&lt;br /&gt;
To control the two Pittman motors, we used [http://hades.mech.northwestern.edu/wiki/index.php/Quadrature_decoding_in_hardware%2C_or_just_counters quadrature decoding] to keep track of the counts. We used LS7183 chips found in the Mechatronics lab instead of LS7083s. &lt;br /&gt;
&lt;br /&gt;
[[image:CVT_circuit_diagram.jpg|thumb|400px|Circuit diagram]]&lt;br /&gt;
A schematic of the circuit is presented to the right.&lt;br /&gt;
&amp;lt;br clear=all&amp;gt;&lt;br /&gt;
[[image:CVT_circuit.jpg|thumb|400px|completed circuit]]&lt;br /&gt;
&lt;br /&gt;
The completed circuit setup can be viewed on the right.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br clear=all&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Programming ===&lt;br /&gt;
&lt;br /&gt;
The PIC reads an input voltage reading from the potentiometer from pin RA0. This value is compared to the upper and lower bounds governing the pulley&amp;#039;s widths to determine whether the pulley needs to move farther or closer together. We then use quadrature decoding to keep track of the counts, thereby tracking the number of rotations. With the 10:1 gear ratio (10 revolutions per 1 in of travel), we also know how far it has moved. We modified the quadrature hardware [http://peshkin.mech.northwestern.edu/pic/code/QuadratureHard/  code ] available from the example code page to perform this task. &lt;br /&gt;
&lt;br /&gt;
The code for the entire setup can be found here.  &lt;br /&gt;
* [[media:CVTcontrolcode.c|CVTcontrolcode.c]]&lt;br /&gt;
&lt;br /&gt;
== Results ==&lt;br /&gt;
&lt;br /&gt;
Unfortunately, due to technical errors and circuit component failure (namely frying three PICs along with other melted components), we were not able to implement the PIC control for the two pulleys. To demonstrate the apparatus, we implemented manual control of the two Pittmans using switches to control the pulley widths. The demonstration showed that the system functions well mechanically. Manual control illustrated the need for feedback control for this system, as the transitions from low to high gear required a nonlinear shift in the pulley radii.&lt;br /&gt;
&lt;br /&gt;
With further work on the circuits and controls, we hope to get the CVT working as intended with PIC control.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Further Reading ==&lt;br /&gt;
&lt;br /&gt;
More details regarding the operation of a CVT, along with various forms of CVTs&lt;br /&gt;
* http://auto.howstuffworks.com/cvt.htm&lt;br /&gt;
* http://cars.about.com/od/thingsyouneedtoknow/a/CVT.htm&lt;/div&gt;</summary>
		<author><name>DavidEvitt</name></author>
	</entry>
	<entry>
		<id>https://hades.mech.northwestern.edu//index.php?title=File:CVT_Ratio.JPG&amp;diff=8502</id>
		<title>File:CVT Ratio.JPG</title>
		<link rel="alternate" type="text/html" href="https://hades.mech.northwestern.edu//index.php?title=File:CVT_Ratio.JPG&amp;diff=8502"/>
		<updated>2008-03-21T04:07:00Z</updated>

		<summary type="html">&lt;p&gt;DavidEvitt: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>DavidEvitt</name></author>
	</entry>
	<entry>
		<id>https://hades.mech.northwestern.edu//index.php?title=Continuously_Variable_Transmission&amp;diff=8501</id>
		<title>Continuously Variable Transmission</title>
		<link rel="alternate" type="text/html" href="https://hades.mech.northwestern.edu//index.php?title=Continuously_Variable_Transmission&amp;diff=8501"/>
		<updated>2008-03-21T04:04:07Z</updated>

		<summary type="html">&lt;p&gt;DavidEvitt: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[image: CVT_system.JPG|thumb|200px| Continuously Variable Transmission]]&lt;br /&gt;
&lt;br /&gt;
== Team members ==&lt;br /&gt;
&lt;br /&gt;
[[image: Evitt-Miller-Mui.JPG|thumb|200px| Evitt-Miller-Mui]]&lt;br /&gt;
&lt;br /&gt;
* David Evitt: Mechanical Engineering, Class of 2009&lt;br /&gt;
* Tyler Miller: Electrical Engineering, Class of 2009&lt;br /&gt;
* Raymond Mui: Mechanical Engineering, Class of 2008&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br clear=all&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Overview ==&lt;br /&gt;
&lt;br /&gt;
[[image: CVT_Ratio.JPG|thumb|200px| Low-High Ratio]]&lt;br /&gt;
&lt;br /&gt;
The goal of this project was to create an electronically controlled, belt-driven, continuously variable transmission (CVT).  &lt;br /&gt;
&lt;br /&gt;
A CVT is a type of transmission that can smoothly transition between gear ratios.  This can be achieved in a variety of ways.  We chose to use movable conical pulley halves and a v-belt, similar to the CVTs commonly found on snowmobiles.  The conical faces of the pulley halves create a valley that the belt rides in.  The belt wedges as far down in the valley as possible, so the distance between the pulleys controls what radius the belt rides at.  As the pulley halves move together it forces the belt out of the valley to run at a larger radius, if the pulley halves move further apart the belt will fall down the valley to run at a smaller radius.  Two sets of pulley halves work together and move simultaneously to form the transmission.  One pulley moves to control the gear ratio, the other pulley adjusts to maintain belt tension.  For example if the input pulley halves begin far apart and the output pulley halves begin close together the transmission is in low gear.  As the input pulley halves move together, the output pulley halves move apart to maintain constant belt tension, as illustrated in the figure.  This motion is a smooth shift from low to high gear, as shown in the video.&lt;br /&gt;
&lt;br /&gt;
A variable ratio transmission is a useful device.  With a fixed gear ratio, the output speed is a constant multiple of the input speed.  This means that as the output speed increases the input speed must also increase.  In a vehicle application this means that the engine speed changes greatly as the vehicle accelerates.  If the gear ratio is variable the input can remain at constant speed as the output speed increases.  In vehicle terms, the engine speed can be held constant while the vehicle accelerates.  This is helpful because the engine can always operate at peak power for maximum acceleration, or at maximum efficiency.  The Formula SAE team is working toward implementing a CVT on their next competition vehicle to take advantage of this property.  This proof of concept prototype is the first step towards that goal.  &lt;br /&gt;
&lt;br /&gt;
More about CVTs can be found in the further reading section.  &lt;br /&gt;
&lt;br /&gt;
This wiki page documents the mechanical and electrical systems, the code, and our reflections on the project.&lt;br /&gt;
&lt;br /&gt;
== Setup ==&lt;br /&gt;
&lt;br /&gt;
[[image:CVT_setup1.jpg|thumb|300px|Completed CVT assembly]]&lt;br /&gt;
&lt;br /&gt;
Our CVT shown to the right was constructed in the Ford Building machine shop using various available methods. It consists of two pulleys with a movable half keyed to the shaft controlled by a movable support. This support is constrained by three shafts: a main driver shaft moving the support with a lead screw, and two as guides to restrict movement as the first shaft positions the pulley. &lt;br /&gt;
&lt;br /&gt;
We used three Pittman GM8224 motors to control the apparatus. Two motors function to drive the lead screw for each of the two pulleys. These connect to the shafts by two flexible connector hoses to allow a bit of play. We used the third Pittman running at the full 24 volts to simulate the constant speed input running at max efficiency.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br clear=all&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Controlling the gear ratio ===&lt;br /&gt;
&lt;br /&gt;
To simulate the gear change, we have a dial hooked onto a potentiometer as the user interface. The changing resistance controls the gear ratio from low to high. The PIC code then reads the voltage and spins the two motors controlling the lead screws to change the gear ratio accordingly. As the lead screws move, they drive the pulley half along at a controlled rate, adjusting the pulley width. As the distance between halves decreases, the radius increases. The converse is true. &lt;br /&gt;
&lt;br /&gt;
For each revolution of the Pittman motor, the lead screw will advance the pulley half by a tenth of an inch forward. The pulley width will only vary by 1 inch from switching from low to high radius. As the pulley half decreases, the radius will change from 0.866 in to 2.44 in. The driver pulley will tighten the v-belt as it increases the radius, so the driven pulley will have to react accordingly.&lt;br /&gt;
&lt;br /&gt;
=== Controlling the driven pulley ===&lt;br /&gt;
&lt;br /&gt;
[[image:CVT_limit_switches.jpg|thumb|300px|Limit switches on driven pulley]]&lt;br /&gt;
&lt;br /&gt;
Two limit switches rest on the second pulley provide a means of controlling the movement of the driven pulley. &lt;br /&gt;
&lt;br /&gt;
Our second pulley half uses another Pittman motor with the same lead screw setup to adjust the width. However, to assist in moving the halves, we implemented springs to push the pulley halves together to assist maintaining belt tension. A metal fork resting on the moving support for the pulley half triggers the switches if the pulley moves too far. The triggered switches send a signal to either pin RD0 or RD1 of the PIC. As it triggers, the PIC stops the driven pulley half from moving further. The springs on the guide shafts of the driven pulley then correct the pulley width as needed until the fork no longer triggers either switch.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br clear=all&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Electrical Components for the CVT==&lt;br /&gt;
&lt;br /&gt;
=== Circuits ===&lt;br /&gt;
&lt;br /&gt;
To control the two Pittman motors, we used [http://hades.mech.northwestern.edu/wiki/index.php/Quadrature_decoding_in_hardware%2C_or_just_counters quadrature decoding] to keep track of the counts. We used LS7183 chips found in the Mechatronics lab instead of LS7083s. &lt;br /&gt;
&lt;br /&gt;
[[image:CVT_circuit_diagram.jpg|thumb|400px|Circuit diagram]]&lt;br /&gt;
A schematic of the circuit is presented to the right.&lt;br /&gt;
&amp;lt;br clear=all&amp;gt;&lt;br /&gt;
[[image:CVT_circuit.jpg|thumb|400px|completed circuit]]&lt;br /&gt;
&lt;br /&gt;
The completed circuit setup can be viewed on the right.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br clear=all&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Programming ===&lt;br /&gt;
&lt;br /&gt;
The PIC reads an input voltage reading from the potentiometer from pin RA0. This value is compared to the upper and lower bounds governing the pulley&amp;#039;s widths to determine whether the pulley needs to move farther or closer together. We then use quadrature decoding to keep track of the counts, thereby tracking the number of rotations. With the 10:1 gear ratio (10 revolutions per 1 in of travel), we also know how far it has moved. We modified the quadrature hardware [http://peshkin.mech.northwestern.edu/pic/code/QuadratureHard/  code ] available from the example code page to perform this task. &lt;br /&gt;
&lt;br /&gt;
The code for the entire setup can be found here.  &lt;br /&gt;
* [[media:CVTcontrolcode.c|CVTcontrolcode.c]]&lt;br /&gt;
&lt;br /&gt;
== Results ==&lt;br /&gt;
&lt;br /&gt;
Unfortunately, due to technical errors and circuit component failure (namely frying three PICs along with other melted components), we were not able to implement the PIC control for the two pulleys. To demonstrate the apparatus, we implemented manual control of the two Pittmans using switches to control the pulley widths. The demonstration showed that the system functions well mechanically. Manual control illustrated the need for feedback control for this system, as the transitions from low to high gear required a nonlinear shift in the pulley radii.&lt;br /&gt;
&lt;br /&gt;
With further work on the circuits and controls, we hope to get the CVT working as intended with PIC control.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Further Reading ==&lt;br /&gt;
&lt;br /&gt;
More details regarding the operation of a CVT, along with various forms of CVTs&lt;br /&gt;
* http://auto.howstuffworks.com/cvt.htm&lt;br /&gt;
* http://cars.about.com/od/thingsyouneedtoknow/a/CVT.htm&lt;/div&gt;</summary>
		<author><name>DavidEvitt</name></author>
	</entry>
	<entry>
		<id>https://hades.mech.northwestern.edu//index.php?title=Continuously_Variable_Transmission&amp;diff=8477</id>
		<title>Continuously Variable Transmission</title>
		<link rel="alternate" type="text/html" href="https://hades.mech.northwestern.edu//index.php?title=Continuously_Variable_Transmission&amp;diff=8477"/>
		<updated>2008-03-21T03:03:07Z</updated>

		<summary type="html">&lt;p&gt;DavidEvitt: /* Overview */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[image: CVT_system.JPG|thumb|200px| Continuously Variable Transmission]]&lt;br /&gt;
&lt;br /&gt;
== Team members ==&lt;br /&gt;
&lt;br /&gt;
[[image: Evitt-Miller-Mui.JPG|thumb|200px| Evitt-Miller-Mui]]&lt;br /&gt;
&lt;br /&gt;
* David Evitt: Mechanical Engineering, Class of 2009&lt;br /&gt;
* Tyler Miller: Electrical Engineering, Class of 2009&lt;br /&gt;
* Raymond Mui: Mechanical Engineering, Class of 2008&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br clear=all&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Overview ==&lt;br /&gt;
The goal of this project was to create an electronically controlled, belt-driven, continuously variable transmission (CVT).  &lt;br /&gt;
&lt;br /&gt;
A CVT is a type of transmission that can smoothly transition between gear ratios.  This can be achieved in a variety of ways.  We chose to use movable conical pulley halves and a v-belt, similar to the CVTs commonly found on snowmobiles.  The conical faces of the pulley halves create a valley that the belt rides in.  The belt wedges as far down in the valley as possible, so the distance between the pulleys controls what radius the belt rides at.  As the pulley halves move together it forces the belt out of the valley to run at a larger radius, if the pulley halves move further apart the belt will fall down the valley to run at a smaller radius.  Two sets of pulley halves work together and move simultaneously to form the transmission.  One pulley moves to control the gear ratio, the other pulley adjusts to maintain belt tension.  For example if the input pulley halves begin far apart and the output pulley halves begin close together the transmission is in low gear.  As the input pulley halves move together, the output pulley halves move apart to maintain constant belt tension, as illustrated in the figure.  This motion is a smooth shift from low to high gear, as shown in the video.&lt;br /&gt;
&lt;br /&gt;
A variable ratio transmission is a useful device.  With a fixed gear ratio, the output speed is a constant multiple of the input speed.  This means that as the output speed increases the input speed must also increase.  In a vehicle application this means that the engine speed changes greatly as the vehicle accelerates.  If the gear ratio is variable the input can remain at constant speed as the output speed increases.  In vehicle terms, the engine speed can be held constant while the vehicle accelerates.  This is helpful because the engine can always operate at peak power for maximum acceleration, or at maximum efficiency.  The Formula SAE team is working toward implementing a CVT on their next competition vehicle to take advantage of this property.  This proof of concept prototype is the first step towards that goal.  &lt;br /&gt;
&lt;br /&gt;
More about CVTs can be found in the further reading section.  &lt;br /&gt;
&lt;br /&gt;
This wiki page documents the mechanical and electrical systems, the code, and our reflections on the project.&lt;br /&gt;
&lt;br /&gt;
== Setup ==&lt;br /&gt;
&lt;br /&gt;
[[image:CVT_setup1.jpg|thumb|300px|Completed CVT assembly]]&lt;br /&gt;
&lt;br /&gt;
Our CVT shown to the right was constructed in the Ford Building machine shop using various available methods. It consists of two pulleys with a movable half keyed to the shaft controlled by a movable support. This support is constrained by three shafts: a main driver shaft moving the support with a lead screw, and two as guides to restrict movement as the first shaft positions the pulley. &lt;br /&gt;
&lt;br /&gt;
We used three Pittman GM8224 motors to control the apparatus. Two motors function to drive the lead screw for each of the two pulleys. These connect to the shafts by two flexible connector hoses to allow a bit of play. We used the third Pittman running at the full 24 volts to simulate the constant speed input running at max efficiency.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br clear=all&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Controlling the gear ratio ===&lt;br /&gt;
&lt;br /&gt;
To simulate the gear change, we have a dial hooked onto a potentiometer as the user interface. The changing resistance controls the gear ratio from low to high. The PIC code then reads the voltage and spins the two motors controlling the lead screws to change the gear ratio accordingly. As the lead screws move, they drive the pulley half along at a controlled rate, adjusting the pulley width. As the distance between halves decreases, the radius increases. The converse is true. &lt;br /&gt;
&lt;br /&gt;
For each revolution of the Pittman motor, the lead screw will advance the pulley half by a tenth of an inch forward. The pulley width will only vary by 1 inch from switching from low to high radius. As the pulley half decreases, the radius will change from 0.866 in to 2.44 in. The driver pulley will tighten the v-belt as it increases the radius, so the driven pulley will have to react accordingly.&lt;br /&gt;
&lt;br /&gt;
=== Controlling the driven pulley ===&lt;br /&gt;
&lt;br /&gt;
[[image:CVT_limit_switches.jpg|thumb|300px|Limit switches on driven pulley]]&lt;br /&gt;
&lt;br /&gt;
Two limit switches rest on the second pulley provide a means of controlling the movement of the driven pulley. &lt;br /&gt;
&lt;br /&gt;
Our second pulley half uses another Pittman motor with the same lead screw setup to adjust the width. However, to assist in moving the halves, we implemented springs to push the pulley halves together to assist maintaining belt tension. A metal fork resting on the moving support for the pulley half triggers the switches if the pulley moves too far. The triggered switches send a signal to either pin RD0 or RD1 of the PIC. As it triggers, the PIC stops the driven pulley half from moving further. The springs on the guide shafts of the driven pulley then correct the pulley width as needed until the fork no longer triggers either switch.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br clear=all&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Electrical Components for the CVT==&lt;br /&gt;
&lt;br /&gt;
=== Circuits ===&lt;br /&gt;
&lt;br /&gt;
To control the two Pittman motors, we used [http://hades.mech.northwestern.edu/wiki/index.php/Quadrature_decoding_in_hardware%2C_or_just_counters quadrature decoding] to keep track of the counts. We used LS7183 chips found in the Mechatronics lab instead of LS7083s. &lt;br /&gt;
&lt;br /&gt;
[[image:CVT_circuit_diagram.jpg|thumb|400px|Circuit diagram]]&lt;br /&gt;
A schematic of the circuit is presented to the right.&lt;br /&gt;
&amp;lt;br clear=all&amp;gt;&lt;br /&gt;
[[image:CVT_circuit.jpg|thumb|400px|completed circuit]]&lt;br /&gt;
&lt;br /&gt;
The completed circuit setup can be viewed on the right.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br clear=all&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Programming ===&lt;br /&gt;
&lt;br /&gt;
The PIC reads an input voltage reading from the potentiometer from pin RA0. This value is compared to the upper and lower bounds governing the pulley&amp;#039;s widths to determine whether the pulley needs to move farther or closer together. We then use quadrature decoding to keep track of the counts, thereby tracking the number of rotations. With the 10:1 gear ratio (10 revolutions per 1 in of travel), we also know how far it has moved. We modified the quadrature hardware [http://peshkin.mech.northwestern.edu/pic/code/QuadratureHard/  code ] available from the example code page to perform this task. &lt;br /&gt;
&lt;br /&gt;
The code for the entire setup can be found here.  &lt;br /&gt;
* [[media:CVTcontrolcode.c|CVTcontrolcode.c]]&lt;br /&gt;
&lt;br /&gt;
== Results ==&lt;br /&gt;
&lt;br /&gt;
Unfortunately, due to technical errors and circuit component failure (namely frying three PICs along with other melted components), we were not able to implement the PIC control for the two pulleys. To demonstrate the apparatus, we implemented manual control of the two Pittmans using switches to control the pulley widths. The demonstration showed that the system functions well mechanically. Manual control illustrated the need for feedback control for this system, as the transitions from low to high gear required a nonlinear shift in the pulley radii.&lt;br /&gt;
&lt;br /&gt;
With further work on the circuits and controls, we hope to get the CVT working as intended with PIC control.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Further Reading ==&lt;br /&gt;
&lt;br /&gt;
More details regarding the operation of a CVT, along with various forms of CVTs&lt;br /&gt;
* http://auto.howstuffworks.com/cvt.htm&lt;br /&gt;
* http://cars.about.com/od/thingsyouneedtoknow/a/CVT.htm&lt;/div&gt;</summary>
		<author><name>DavidEvitt</name></author>
	</entry>
	<entry>
		<id>https://hades.mech.northwestern.edu//index.php?title=Continuously_Variable_Transmission&amp;diff=8374</id>
		<title>Continuously Variable Transmission</title>
		<link rel="alternate" type="text/html" href="https://hades.mech.northwestern.edu//index.php?title=Continuously_Variable_Transmission&amp;diff=8374"/>
		<updated>2008-03-20T22:45:24Z</updated>

		<summary type="html">&lt;p&gt;DavidEvitt: /* Team members */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[image: CVT_system.JPG|thumb|200px| Continuously Variable Transmission]]&lt;br /&gt;
&lt;br /&gt;
== Team members ==&lt;br /&gt;
&lt;br /&gt;
[[image: Evitt-Miller-Mui.JPG|thumb|200px| Evitt-Miller-Mui]]&lt;br /&gt;
&lt;br /&gt;
* David Evitt: Mechanical Engineering, Class of 2009&lt;br /&gt;
* Tyler Miller: Electrical Engineering, Class of 2009&lt;br /&gt;
* Raymond Mui: Mechanical Engineering, Class of 2008&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br clear=all&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Overview ==&lt;br /&gt;
&lt;br /&gt;
This project intends to control a continuously variable transmission using C programming with a PIC. &lt;br /&gt;
&lt;br /&gt;
A continuously variable transmission is a type of automatic transmission with an infinite number of gear ratios between the input from the engine to the output at the wheels. It achieves this using a system of two variable diameter pulleys, linked together with a v-belt. Each pulley comes in two halves with conical sections facing each other that can move apart, changing where the belt rests on depending on how close the halves are. Changing the width of the driver and driven pulley allows for a smooth transition from low to high gear.&lt;br /&gt;
&lt;br /&gt;
As the driver pulley increases its radius to up the gear ratio, the driven pulley must adjust accordingly, decreasing the radius to maintain belt tension. This is usually controlled by a microprocessor and a variety of sensors. We will be controlling ours by limit switches and a PIC. Exact details can be found later.&lt;br /&gt;
&lt;br /&gt;
The purpose of a CVT is to allow an engine, or in this case, a motor, to maintain running at max efficiency. So, as the vehicle cycles through various speeds, the input will be always running at the optimum RPM. At low gear, it provides enough torque to accelerate the output shaft, then progresses to providing maximum speed at high gear. All of this is done smoothly, without any jerky motion.&lt;br /&gt;
&lt;br /&gt;
== Setup ==&lt;br /&gt;
&lt;br /&gt;
[[image:CVT_setup1.jpg|thumb|300px|Completed CVT assembly]]&lt;br /&gt;
&lt;br /&gt;
Our CVT shown to the right was constructed in the Ford Building machine shop using various available methods. It consists of two pulleys with a movable half keyed to the shaft controlled by a movable support. This support is constrained by three shafts: a main driver shaft moving the support with a lead screw, and two as guides to restrict movement as the first shaft positions the pulley. &lt;br /&gt;
&lt;br /&gt;
We used three Pittman GM8224 motors to control the apparatus. Two motors function to drive the lead screw for each of the two pulleys. These connect to the shafts by two flexible connector hoses to allow a bit of play. We used the third Pittman running at the full 24 volts to simulate the constant speed input running at max efficiency.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br clear=all&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Controlling the gear ratio ===&lt;br /&gt;
&lt;br /&gt;
To simulate the gear change, we have a dial hooked onto a potentiometer as the user interface. The changing resistance controls the gear ratio from low to high. The PIC code then reads the voltage and spins the two motors controlling the lead screws to change the gear ratio accordingly. As the lead screws move, they drive the pulley half along at a controlled rate, adjusting the pulley width. As the distance between halves decreases, the radius increases. The converse is true. &lt;br /&gt;
&lt;br /&gt;
For each revolution of the Pittman motor, the lead screw will advance the pulley half by a tenth of an inch forward. The pulley width will only vary by 1 inch from switching from low to high radius. As the pulley half decreases, the radius will change from 0.866 in to 2.44 in. The driver pulley will tighten the v-belt as it increases the radius, so the driven pulley will have to react accordingly.&lt;br /&gt;
&lt;br /&gt;
=== Controlling the driven pulley ===&lt;br /&gt;
&lt;br /&gt;
[[image:CVT_limit_switches.jpg|thumb|300px|Limit switches on driven pulley]]&lt;br /&gt;
&lt;br /&gt;
Two limit switches rest on the second pulley provide a means of controlling the movement of the driven pulley. &lt;br /&gt;
&lt;br /&gt;
Our second pulley half uses another Pittman motor with the same lead screw setup to adjust the width. However, to assist in moving the halves, we implemented springs to push the pulley halves together to assist maintaining belt tension. A metal fork resting on the moving support for the pulley half triggers the switches if the pulley moves too far. The triggered switches send a signal to either pin RD0 or RD1 of the PIC. As it triggers, the PIC stops the driven pulley half from moving further. The springs on the guide shafts of the driven pulley then correct the pulley width as needed until the fork no longer triggers either switch.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br clear=all&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Electrical Components for the CVT==&lt;br /&gt;
&lt;br /&gt;
=== Circuits ===&lt;br /&gt;
&lt;br /&gt;
To control the two Pittman motors, we used [http://hades.mech.northwestern.edu/wiki/index.php/Quadrature_decoding_in_hardware%2C_or_just_counters quadrature decoding] to keep track of the counts. We used LS7183 chips found in the Mechatronics lab instead of LS7083s. &lt;br /&gt;
&lt;br /&gt;
[[image:CVT_circuit_diagram.jpg|thumb|400px|Circuit diagram]]&lt;br /&gt;
A schematic of the circuit is presented to the right.&lt;br /&gt;
&amp;lt;br clear=all&amp;gt;&lt;br /&gt;
[[image:CVT_circuit.jpg|thumb|400px|completed circuit]]&lt;br /&gt;
&lt;br /&gt;
The completed circuit setup can be viewed on the right.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br clear=all&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Programming ===&lt;br /&gt;
&lt;br /&gt;
The PIC reads an input voltage reading from the potentiometer from pin RA0. This value is compared to the upper and lower bounds governing the pulley&amp;#039;s widths to determine whether the pulley needs to move farther or closer together. We then use quadrature decoding to keep track of the counts, thereby tracking the number of rotations. With the 10:1 gear ratio (10 revolutions per 1 in of travel), we also know how far it has moved. We modified the quadrature hardware [http://peshkin.mech.northwestern.edu/pic/code/QuadratureHard/  code ] available from the example code page to perform this task. &lt;br /&gt;
&lt;br /&gt;
The code for the entire setup can be found here.  &lt;br /&gt;
* [[media:CVTcontrolcode.c|CVTcontrolcode.c]]&lt;br /&gt;
&lt;br /&gt;
== Results ==&lt;br /&gt;
&lt;br /&gt;
Unfortunately, due to technical errors and circuit component failure (namely frying three PICs along with other melted components), we were not able to implement the PIC control for the two pulleys. To demonstrate the apparatus, we implemented manual control of the two Pittmans using switches to control the pulley widths. The demonstration showed that the system functions well mechanically. Manual control illustrated the need for feedback control for this system, as the transitions from low to high gear required a nonlinear shift in the pulley radii.&lt;br /&gt;
&lt;br /&gt;
With further work on the circuits and controls, we hope to get the CVT working as intended with PIC control.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Further Reading ==&lt;br /&gt;
&lt;br /&gt;
More details regarding the operation of a CVT, along with various forms of CVTs&lt;br /&gt;
* http://auto.howstuffworks.com/cvt.htm&lt;br /&gt;
* http://cars.about.com/od/thingsyouneedtoknow/a/CVT.htm&lt;/div&gt;</summary>
		<author><name>DavidEvitt</name></author>
	</entry>
	<entry>
		<id>https://hades.mech.northwestern.edu//index.php?title=File:CVT_system.JPG&amp;diff=8372</id>
		<title>File:CVT system.JPG</title>
		<link rel="alternate" type="text/html" href="https://hades.mech.northwestern.edu//index.php?title=File:CVT_system.JPG&amp;diff=8372"/>
		<updated>2008-03-20T22:44:30Z</updated>

		<summary type="html">&lt;p&gt;DavidEvitt: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>DavidEvitt</name></author>
	</entry>
	<entry>
		<id>https://hades.mech.northwestern.edu//index.php?title=Continuously_Variable_Transmission&amp;diff=8369</id>
		<title>Continuously Variable Transmission</title>
		<link rel="alternate" type="text/html" href="https://hades.mech.northwestern.edu//index.php?title=Continuously_Variable_Transmission&amp;diff=8369"/>
		<updated>2008-03-20T22:44:16Z</updated>

		<summary type="html">&lt;p&gt;DavidEvitt: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[image: CVT_system.JPG|thumb|200px| Continuously Variable Transmission]]&lt;br /&gt;
&lt;br /&gt;
== Team members ==&lt;br /&gt;
&lt;br /&gt;
[[image: Evitt-Miller-Mui.JPG|thumb|200px| Evitt-Miller-Mui]]&lt;br /&gt;
&lt;br /&gt;
* David Evitt: Mechanical Engineering, Class of 2008&lt;br /&gt;
* Tyler Miller: Electrical Engineering, Class of 2009&lt;br /&gt;
* Raymond Mui: Mechanical Engineering, Class of 2008&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br clear=all&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Overview ==&lt;br /&gt;
&lt;br /&gt;
This project intends to control a continuously variable transmission using C programming with a PIC. &lt;br /&gt;
&lt;br /&gt;
A continuously variable transmission is a type of automatic transmission with an infinite number of gear ratios between the input from the engine to the output at the wheels. It achieves this using a system of two variable diameter pulleys, linked together with a v-belt. Each pulley comes in two halves with conical sections facing each other that can move apart, changing where the belt rests on depending on how close the halves are. Changing the width of the driver and driven pulley allows for a smooth transition from low to high gear.&lt;br /&gt;
&lt;br /&gt;
As the driver pulley increases its radius to up the gear ratio, the driven pulley must adjust accordingly, decreasing the radius to maintain belt tension. This is usually controlled by a microprocessor and a variety of sensors. We will be controlling ours by limit switches and a PIC. Exact details can be found later.&lt;br /&gt;
&lt;br /&gt;
The purpose of a CVT is to allow an engine, or in this case, a motor, to maintain running at max efficiency. So, as the vehicle cycles through various speeds, the input will be always running at the optimum RPM. At low gear, it provides enough torque to accelerate the output shaft, then progresses to providing maximum speed at high gear. All of this is done smoothly, without any jerky motion.&lt;br /&gt;
&lt;br /&gt;
== Setup ==&lt;br /&gt;
&lt;br /&gt;
[[image:CVT_setup1.jpg|thumb|300px|Completed CVT assembly]]&lt;br /&gt;
&lt;br /&gt;
Our CVT shown to the right was constructed in the Ford Building machine shop using various available methods. It consists of two pulleys with a movable half keyed to the shaft controlled by a movable support. This support is constrained by three shafts: a main driver shaft moving the support with a lead screw, and two as guides to restrict movement as the first shaft positions the pulley. &lt;br /&gt;
&lt;br /&gt;
We used three Pittman GM8224 motors to control the apparatus. Two motors function to drive the lead screw for each of the two pulleys. These connect to the shafts by two flexible connector hoses to allow a bit of play. We used the third Pittman running at the full 24 volts to simulate the constant speed input running at max efficiency.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br clear=all&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Controlling the gear ratio ===&lt;br /&gt;
&lt;br /&gt;
To simulate the gear change, we have a dial hooked onto a potentiometer as the user interface. The changing resistance controls the gear ratio from low to high. The PIC code then reads the voltage and spins the two motors controlling the lead screws to change the gear ratio accordingly. As the lead screws move, they drive the pulley half along at a controlled rate, adjusting the pulley width. As the distance between halves decreases, the radius increases. The converse is true. &lt;br /&gt;
&lt;br /&gt;
For each revolution of the Pittman motor, the lead screw will advance the pulley half by a tenth of an inch forward. The pulley width will only vary by 1 inch from switching from low to high radius. As the pulley half decreases, the radius will change from 0.866 in to 2.44 in. The driver pulley will tighten the v-belt as it increases the radius, so the driven pulley will have to react accordingly.&lt;br /&gt;
&lt;br /&gt;
=== Controlling the driven pulley ===&lt;br /&gt;
&lt;br /&gt;
[[image:CVT_limit_switches.jpg|thumb|300px|Limit switches on driven pulley]]&lt;br /&gt;
&lt;br /&gt;
Two limit switches rest on the second pulley provide a means of controlling the movement of the driven pulley. &lt;br /&gt;
&lt;br /&gt;
Our second pulley half uses another Pittman motor with the same lead screw setup to adjust the width. However, to assist in moving the halves, we implemented springs to push the pulley halves together to assist maintaining belt tension. A metal fork resting on the moving support for the pulley half triggers the switches if the pulley moves too far. The triggered switches send a signal to either pin RD0 or RD1 of the PIC. As it triggers, the PIC stops the driven pulley half from moving further. The springs on the guide shafts of the driven pulley then correct the pulley width as needed until the fork no longer triggers either switch.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br clear=all&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Electrical Components for the CVT==&lt;br /&gt;
&lt;br /&gt;
=== Circuits ===&lt;br /&gt;
&lt;br /&gt;
To control the two Pittman motors, we used [http://hades.mech.northwestern.edu/wiki/index.php/Quadrature_decoding_in_hardware%2C_or_just_counters quadrature decoding] to keep track of the counts. We used LS7183 chips found in the Mechatronics lab instead of LS7083s. &lt;br /&gt;
&lt;br /&gt;
[[image:CVT_circuit_diagram.jpg|thumb|400px|Circuit diagram]]&lt;br /&gt;
A schematic of the circuit is presented to the right.&lt;br /&gt;
&amp;lt;br clear=all&amp;gt;&lt;br /&gt;
[[image:CVT_circuit.jpg|thumb|400px|completed circuit]]&lt;br /&gt;
&lt;br /&gt;
The completed circuit setup can be viewed on the right.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br clear=all&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Programming ===&lt;br /&gt;
&lt;br /&gt;
The PIC reads an input voltage reading from the potentiometer from pin RA0. This value is compared to the upper and lower bounds governing the pulley&amp;#039;s widths to determine whether the pulley needs to move farther or closer together. We then use quadrature decoding to keep track of the counts, thereby tracking the number of rotations. With the 10:1 gear ratio (10 revolutions per 1 in of travel), we also know how far it has moved. We modified the quadrature hardware [http://peshkin.mech.northwestern.edu/pic/code/QuadratureHard/  code ] available from the example code page to perform this task. &lt;br /&gt;
&lt;br /&gt;
The code for the entire setup can be found here.  &lt;br /&gt;
* [[media:CVTcontrolcode.c|CVTcontrolcode.c]]&lt;br /&gt;
&lt;br /&gt;
== Results ==&lt;br /&gt;
&lt;br /&gt;
Unfortunately, due to technical errors and circuit component failure (namely frying three PICs along with other melted components), we were not able to implement the PIC control for the two pulleys. To demonstrate the apparatus, we implemented manual control of the two Pittmans using switches to control the pulley widths. The demonstration showed that the system functions well mechanically. Manual control illustrated the need for feedback control for this system, as the transitions from low to high gear required a nonlinear shift in the pulley radii.&lt;br /&gt;
&lt;br /&gt;
With further work on the circuits and controls, we hope to get the CVT working as intended with PIC control.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Further Reading ==&lt;br /&gt;
&lt;br /&gt;
More details regarding the operation of a CVT, along with various forms of CVTs&lt;br /&gt;
* http://auto.howstuffworks.com/cvt.htm&lt;br /&gt;
* http://cars.about.com/od/thingsyouneedtoknow/a/CVT.htm&lt;/div&gt;</summary>
		<author><name>DavidEvitt</name></author>
	</entry>
	<entry>
		<id>https://hades.mech.northwestern.edu//index.php?title=Continuously_Variable_Transmission&amp;diff=8364</id>
		<title>Continuously Variable Transmission</title>
		<link rel="alternate" type="text/html" href="https://hades.mech.northwestern.edu//index.php?title=Continuously_Variable_Transmission&amp;diff=8364"/>
		<updated>2008-03-20T22:34:44Z</updated>

		<summary type="html">&lt;p&gt;DavidEvitt: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[image: CVT 011.JPG|thumb|200px| Continuously Variable Transmission]]&lt;br /&gt;
&lt;br /&gt;
== Team members ==&lt;br /&gt;
&lt;br /&gt;
[[image: Evitt-Miller-Mui.JPG|thumb|200px| Evitt-Miller-Mui]]&lt;br /&gt;
&lt;br /&gt;
* David Evitt: Mechanical Engineering, Class of 2008&lt;br /&gt;
* Tyler Miller: Electrical Engineering, Class of 2009&lt;br /&gt;
* Raymond Mui: Mechanical Engineering, Class of 2008&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br clear=all&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Overview ==&lt;br /&gt;
&lt;br /&gt;
This project intends to control a continuously variable transmission using C programming with a PIC. &lt;br /&gt;
&lt;br /&gt;
A continuously variable transmission is a type of automatic transmission with an infinite number of gear ratios between the input from the engine to the output at the wheels. It achieves this using a system of two variable diameter pulleys, linked together with a v-belt. Each pulley comes in two halves with conical sections facing each other that can move apart, changing where the belt rests on depending on how close the halves are. Changing the width of the driver and driven pulley allows for a smooth transition from low to high gear.&lt;br /&gt;
&lt;br /&gt;
As the driver pulley increases its radius to up the gear ratio, the driven pulley must adjust accordingly, decreasing the radius to maintain belt tension. This is usually controlled by a microprocessor and a variety of sensors. We will be controlling ours by limit switches and a PIC. Exact details can be found later.&lt;br /&gt;
&lt;br /&gt;
The purpose of a CVT is to allow an engine, or in this case, a motor, to maintain running at max efficiency. So, as the vehicle cycles through various speeds, the input will be always running at the optimum RPM. At low gear, it provides enough torque to accelerate the output shaft, then progresses to providing maximum speed at high gear. All of this is done smoothly, without any jerky motion.&lt;br /&gt;
&lt;br /&gt;
== Setup ==&lt;br /&gt;
&lt;br /&gt;
[[image:CVT_setup1.jpg|thumb|300px|Completed CVT assembly]]&lt;br /&gt;
&lt;br /&gt;
Our CVT shown to the right was constructed in the Ford Building machine shop using various available methods. It consists of two pulleys with a movable half keyed to the shaft controlled by a movable support. This support is constrained by three shafts: a main driver shaft moving the support with a lead screw, and two as guides to restrict movement as the first shaft positions the pulley. &lt;br /&gt;
&lt;br /&gt;
We used three Pittman GM8224 motors to control the apparatus. Two motors function to drive the lead screw for each of the two pulleys. These connect to the shafts by two flexible connector hoses to allow a bit of play. We used the third Pittman running at the full 24 volts to simulate the constant speed input running at max efficiency.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br clear=all&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Controlling the gear ratio ===&lt;br /&gt;
&lt;br /&gt;
To simulate the gear change, we have a dial hooked onto a potentiometer as the user interface. The changing resistance controls the gear ratio from low to high. The PIC code then reads the voltage and spins the two motors controlling the lead screws to change the gear ratio accordingly. As the lead screws move, they drive the pulley half along at a controlled rate, adjusting the pulley width. As the distance between halves decreases, the radius increases. The converse is true. &lt;br /&gt;
&lt;br /&gt;
For each revolution of the Pittman motor, the lead screw will advance the pulley half by a tenth of an inch forward. The pulley width will only vary by 1 inch from switching from low to high radius. As the pulley half decreases, the radius will change from 0.866 in to 2.44 in. The driver pulley will tighten the v-belt as it increases the radius, so the driven pulley will have to react accordingly.&lt;br /&gt;
&lt;br /&gt;
=== Controlling the driven pulley ===&lt;br /&gt;
&lt;br /&gt;
[[image:CVT_limit_switches.jpg|thumb|300px|Limit switches on driven pulley]]&lt;br /&gt;
&lt;br /&gt;
Two limit switches rest on the second pulley provide a means of controlling the movement of the driven pulley. &lt;br /&gt;
&lt;br /&gt;
Our second pulley half uses another Pittman motor with the same lead screw setup to adjust the width. However, to assist in moving the halves, we implemented springs to push the pulley halves together to assist maintaining belt tension. A metal fork resting on the moving support for the pulley half triggers the switches if the pulley moves too far. The triggered switches send a signal to either pin RD0 or RD1 of the PIC. As it triggers, the PIC stops the driven pulley half from moving further. The springs on the guide shafts of the driven pulley then correct the pulley width as needed until the fork no longer triggers either switch.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br clear=all&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Electrical Components for the CVT==&lt;br /&gt;
&lt;br /&gt;
=== Circuits ===&lt;br /&gt;
&lt;br /&gt;
To control the two Pittman motors, we used [http://hades.mech.northwestern.edu/wiki/index.php/Quadrature_decoding_in_hardware%2C_or_just_counters quadrature decoding] to keep track of the counts. We used LS7183 chips found in the Mechatronics lab instead of LS7083s. &lt;br /&gt;
&lt;br /&gt;
[[image:CVT_circuit_diagram.jpg|thumb|400px|Circuit diagram]]&lt;br /&gt;
A schematic of the circuit is presented to the right.&lt;br /&gt;
&amp;lt;br clear=all&amp;gt;&lt;br /&gt;
[[image:CVT_circuit.jpg|thumb|400px|completed circuit]]&lt;br /&gt;
&lt;br /&gt;
The completed circuit setup can be viewed on the right.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br clear=all&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Programming ===&lt;br /&gt;
&lt;br /&gt;
The PIC reads an input voltage reading from the potentiometer from pin RA0. This value is compared to the upper and lower bounds governing the pulley&amp;#039;s widths to determine whether the pulley needs to move farther or closer together. We then use quadrature decoding to keep track of the counts, thereby tracking the number of rotations. With the 10:1 gear ratio (10 revolutions per 1 in of travel), we also know how far it has moved. We modified the quadrature hardware [http://peshkin.mech.northwestern.edu/pic/code/QuadratureHard/  code ] available from the example code page to perform this task. &lt;br /&gt;
&lt;br /&gt;
The code for the entire setup can be found here.  &lt;br /&gt;
* [[media:CVTcontrolcode.c|CVTcontrolcode.c]]&lt;br /&gt;
&lt;br /&gt;
== Results ==&lt;br /&gt;
&lt;br /&gt;
Unfortunately, due to technical errors and circuit component failure (namely frying three PICs along with other melted components), we were not able to implement the PIC control for the two pulleys. To demonstrate the apparatus, we implemented manual control of the two Pittmans using switches to control the pulley widths. The demonstration showed that the system functions well mechanically. Manual control illustrated the need for feedback control for this system, as the transitions from low to high gear required a nonlinear shift in the pulley radii.&lt;br /&gt;
&lt;br /&gt;
With further work on the circuits and controls, we hope to get the CVT working as intended with PIC control.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Further Reading ==&lt;br /&gt;
&lt;br /&gt;
More details regarding the operation of a CVT, along with various forms of CVTs&lt;br /&gt;
* http://auto.howstuffworks.com/cvt.htm&lt;br /&gt;
* http://cars.about.com/od/thingsyouneedtoknow/a/CVT.htm&lt;/div&gt;</summary>
		<author><name>DavidEvitt</name></author>
	</entry>
	<entry>
		<id>https://hades.mech.northwestern.edu//index.php?title=Continuously_Variable_Transmission&amp;diff=8361</id>
		<title>Continuously Variable Transmission</title>
		<link rel="alternate" type="text/html" href="https://hades.mech.northwestern.edu//index.php?title=Continuously_Variable_Transmission&amp;diff=8361"/>
		<updated>2008-03-20T22:28:35Z</updated>

		<summary type="html">&lt;p&gt;DavidEvitt: /* Team members */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Team members ==&lt;br /&gt;
&lt;br /&gt;
[[image: Evitt-Miller-Mui.JPG|thumb|200px| Evitt-Miller-Mui]]&lt;br /&gt;
&lt;br /&gt;
* David Evitt: Mechanical Engineering, Class of 2008&lt;br /&gt;
* Tyler Miller: Electrical Engineering, Class of 2009&lt;br /&gt;
* Raymond Mui: Mechanical Engineering, Class of 2008&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br clear=all&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Overview ==&lt;br /&gt;
&lt;br /&gt;
This project intends to control a continuously variable transmission using C programming with a PIC. &lt;br /&gt;
&lt;br /&gt;
A continuously variable transmission is a type of automatic transmission with an infinite number of gear ratios between the input from the engine to the output at the wheels. It achieves this using a system of two variable diameter pulleys, linked together with a v-belt. Each pulley comes in two halves with conical sections facing each other that can move apart, changing where the belt rests on depending on how close the halves are. Changing the width of the driver and driven pulley allows for a smooth transition from low to high gear.&lt;br /&gt;
&lt;br /&gt;
As the driver pulley increases its radius to up the gear ratio, the driven pulley must adjust accordingly, decreasing the radius to maintain belt tension. This is usually controlled by a microprocessor and a variety of sensors. We will be controlling ours by limit switches and a PIC. Exact details can be found later.&lt;br /&gt;
&lt;br /&gt;
The purpose of a CVT is to allow an engine, or in this case, a motor, to maintain running at max efficiency. So, as the vehicle cycles through various speeds, the input will be always running at the optimum RPM. At low gear, it provides enough torque to accelerate the output shaft, then progresses to providing maximum speed at high gear. All of this is done smoothly, without any jerky motion.&lt;br /&gt;
&lt;br /&gt;
== Setup ==&lt;br /&gt;
&lt;br /&gt;
[[image:CVT_setup1.jpg|thumb|300px|Completed CVT assembly]]&lt;br /&gt;
&lt;br /&gt;
Our CVT shown to the right was constructed in the Ford Building machine shop using various available methods. It consists of two pulleys with a movable half keyed to the shaft controlled by a movable support. This support is constrained by three shafts: a main driver shaft moving the support with a lead screw, and two as guides to restrict movement as the first shaft positions the pulley. &lt;br /&gt;
&lt;br /&gt;
We used three Pittman GM8224 motors to control the apparatus. Two motors function to drive the lead screw for each of the two pulleys. These connect to the shafts by two flexible connector hoses to allow a bit of play. We used the third Pittman running at the full 24 volts to simulate the constant speed input running at max efficiency.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br clear=all&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Controlling the gear ratio ===&lt;br /&gt;
&lt;br /&gt;
To simulate the gear change, we have a dial hooked onto a potentiometer as the user interface. The changing resistance controls the gear ratio from low to high. The PIC code then reads the voltage and spins the two motors controlling the lead screws to change the gear ratio accordingly. As the lead screws move, they drive the pulley half along at a controlled rate, adjusting the pulley width. As the distance between halves decreases, the radius increases. The converse is true. &lt;br /&gt;
&lt;br /&gt;
For each revolution of the Pittman motor, the lead screw will advance the pulley half by a tenth of an inch forward. The pulley width will only vary by 1 inch from switching from low to high radius. As the pulley half decreases, the radius will change from 0.866 in to 2.44 in. The driver pulley will tighten the v-belt as it increases the radius, so the driven pulley will have to react accordingly.&lt;br /&gt;
&lt;br /&gt;
=== Controlling the driven pulley ===&lt;br /&gt;
&lt;br /&gt;
[[image:CVT_limit_switches.jpg|thumb|300px|Limit switches on driven pulley]]&lt;br /&gt;
&lt;br /&gt;
Two limit switches rest on the second pulley provide a means of controlling the movement of the driven pulley. &lt;br /&gt;
&lt;br /&gt;
Our second pulley half uses another Pittman motor with the same lead screw setup to adjust the width. However, to assist in moving the halves, we implemented springs to push the pulley halves together to assist maintaining belt tension. A metal fork resting on the moving support for the pulley half triggers the switches if the pulley moves too far. The triggered switches send a signal to either pin RD0 or RD1 of the PIC. As it triggers, the PIC stops the driven pulley half from moving further. The springs on the guide shafts of the driven pulley then correct the pulley width as needed until the fork no longer triggers either switch.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br clear=all&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Electrical Components for the CVT==&lt;br /&gt;
&lt;br /&gt;
=== Circuits ===&lt;br /&gt;
&lt;br /&gt;
To control the two Pittman motors, we used [http://hades.mech.northwestern.edu/wiki/index.php/Quadrature_decoding_in_hardware%2C_or_just_counters quadrature decoding] to keep track of the counts. We used LS7183 chips found in the Mechatronics lab instead of LS7083s. &lt;br /&gt;
&lt;br /&gt;
[[image:CVT_circuit_diagram.jpg|thumb|400px|Circuit diagram]]&lt;br /&gt;
A schematic of the circuit is presented to the right.&lt;br /&gt;
&amp;lt;br clear=all&amp;gt;&lt;br /&gt;
[[image:CVT_circuit.jpg|thumb|400px|completed circuit]]&lt;br /&gt;
&lt;br /&gt;
The completed circuit setup can be viewed on the right.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br clear=all&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Programming ===&lt;br /&gt;
&lt;br /&gt;
The PIC reads an input voltage reading from the potentiometer from pin RA0. This value is compared to the upper and lower bounds governing the pulley&amp;#039;s widths to determine whether the pulley needs to move farther or closer together. We then use quadrature decoding to keep track of the counts, thereby tracking the number of rotations. With the 10:1 gear ratio (10 revolutions per 1 in of travel), we also know how far it has moved. We modified the quadrature hardware [http://peshkin.mech.northwestern.edu/pic/code/QuadratureHard/  code ] available from the example code page to perform this task. &lt;br /&gt;
&lt;br /&gt;
The code for the entire setup can be found here.  &lt;br /&gt;
* [[media:CVTcontrolcode.c|CVTcontrolcode.c]]&lt;br /&gt;
&lt;br /&gt;
== Results ==&lt;br /&gt;
&lt;br /&gt;
Unfortunately, due to technical errors and circuit component failure (namely frying three PICs along with other melted components), we were not able to implement the PIC control for the two pulleys. To demonstrate the apparatus, we implemented manual control of the two Pittmans using switches to control the pulley widths. The demonstration showed that the system functions well mechanically. Manual control illustrated the need for feedback control for this system, as the transitions from low to high gear required a nonlinear shift in the pulley radii.&lt;br /&gt;
&lt;br /&gt;
With further work on the circuits and controls, we hope to get the CVT working as intended with PIC control.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Further Reading ==&lt;br /&gt;
&lt;br /&gt;
More details regarding the operation of a CVT, along with various forms of CVTs&lt;br /&gt;
* http://auto.howstuffworks.com/cvt.htm&lt;br /&gt;
* http://cars.about.com/od/thingsyouneedtoknow/a/CVT.htm&lt;/div&gt;</summary>
		<author><name>DavidEvitt</name></author>
	</entry>
	<entry>
		<id>https://hades.mech.northwestern.edu//index.php?title=Continuously_Variable_Transmission&amp;diff=8359</id>
		<title>Continuously Variable Transmission</title>
		<link rel="alternate" type="text/html" href="https://hades.mech.northwestern.edu//index.php?title=Continuously_Variable_Transmission&amp;diff=8359"/>
		<updated>2008-03-20T22:27:34Z</updated>

		<summary type="html">&lt;p&gt;DavidEvitt: /* Team members */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Team members ==&lt;br /&gt;
&lt;br /&gt;
[[image: Evitt-Miller-Mui.JPG|thumb|200px| Evitt-Miller-Mui]]&lt;br /&gt;
&lt;br /&gt;
* David Evitt: Mechanical Engineering, Class of 2008&lt;br /&gt;
* Tyler Miller: Electrical Engineering, Class of 2009&lt;br /&gt;
* Raymond Mui: Mechanical Engineering, Class of 2008&lt;br /&gt;
&lt;br /&gt;
== Overview ==&lt;br /&gt;
&lt;br /&gt;
This project intends to control a continuously variable transmission using C programming with a PIC. &lt;br /&gt;
&lt;br /&gt;
A continuously variable transmission is a type of automatic transmission with an infinite number of gear ratios between the input from the engine to the output at the wheels. It achieves this using a system of two variable diameter pulleys, linked together with a v-belt. Each pulley comes in two halves with conical sections facing each other that can move apart, changing where the belt rests on depending on how close the halves are. Changing the width of the driver and driven pulley allows for a smooth transition from low to high gear.&lt;br /&gt;
&lt;br /&gt;
As the driver pulley increases its radius to up the gear ratio, the driven pulley must adjust accordingly, decreasing the radius to maintain belt tension. This is usually controlled by a microprocessor and a variety of sensors. We will be controlling ours by limit switches and a PIC. Exact details can be found later.&lt;br /&gt;
&lt;br /&gt;
The purpose of a CVT is to allow an engine, or in this case, a motor, to maintain running at max efficiency. So, as the vehicle cycles through various speeds, the input will be always running at the optimum RPM. At low gear, it provides enough torque to accelerate the output shaft, then progresses to providing maximum speed at high gear. All of this is done smoothly, without any jerky motion.&lt;br /&gt;
&lt;br /&gt;
== Setup ==&lt;br /&gt;
&lt;br /&gt;
[[image:CVT_setup1.jpg|thumb|300px|Completed CVT assembly]]&lt;br /&gt;
&lt;br /&gt;
Our CVT shown to the right was constructed in the Ford Building machine shop using various available methods. It consists of two pulleys with a movable half keyed to the shaft controlled by a movable support. This support is constrained by three shafts: a main driver shaft moving the support with a lead screw, and two as guides to restrict movement as the first shaft positions the pulley. &lt;br /&gt;
&lt;br /&gt;
We used three Pittman GM8224 motors to control the apparatus. Two motors function to drive the lead screw for each of the two pulleys. These connect to the shafts by two flexible connector hoses to allow a bit of play. We used the third Pittman running at the full 24 volts to simulate the constant speed input running at max efficiency.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br clear=all&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Controlling the gear ratio ===&lt;br /&gt;
&lt;br /&gt;
To simulate the gear change, we have a dial hooked onto a potentiometer as the user interface. The changing resistance controls the gear ratio from low to high. The PIC code then reads the voltage and spins the two motors controlling the lead screws to change the gear ratio accordingly. As the lead screws move, they drive the pulley half along at a controlled rate, adjusting the pulley width. As the distance between halves decreases, the radius increases. The converse is true. &lt;br /&gt;
&lt;br /&gt;
For each revolution of the Pittman motor, the lead screw will advance the pulley half by a tenth of an inch forward. The pulley width will only vary by 1 inch from switching from low to high radius. As the pulley half decreases, the radius will change from 0.866 in to 2.44 in. The driver pulley will tighten the v-belt as it increases the radius, so the driven pulley will have to react accordingly.&lt;br /&gt;
&lt;br /&gt;
=== Controlling the driven pulley ===&lt;br /&gt;
&lt;br /&gt;
[[image:CVT_limit_switches.jpg|thumb|300px|Limit switches on driven pulley]]&lt;br /&gt;
&lt;br /&gt;
Two limit switches rest on the second pulley provide a means of controlling the movement of the driven pulley. &lt;br /&gt;
&lt;br /&gt;
Our second pulley half uses another Pittman motor with the same lead screw setup to adjust the width. However, to assist in moving the halves, we implemented springs to push the pulley halves together to assist maintaining belt tension. A metal fork resting on the moving support for the pulley half triggers the switches if the pulley moves too far. The triggered switches send a signal to either pin RD0 or RD1 of the PIC. As it triggers, the PIC stops the driven pulley half from moving further. The springs on the guide shafts of the driven pulley then correct the pulley width as needed until the fork no longer triggers either switch.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br clear=all&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Electrical Components for the CVT==&lt;br /&gt;
&lt;br /&gt;
=== Circuits ===&lt;br /&gt;
&lt;br /&gt;
To control the two Pittman motors, we used [http://hades.mech.northwestern.edu/wiki/index.php/Quadrature_decoding_in_hardware%2C_or_just_counters quadrature decoding] to keep track of the counts. We used LS7183 chips found in the Mechatronics lab instead of LS7083s. &lt;br /&gt;
&lt;br /&gt;
[[image:CVT_circuit_diagram.jpg|thumb|400px|Circuit diagram]]&lt;br /&gt;
A schematic of the circuit is presented to the right.&lt;br /&gt;
&amp;lt;br clear=all&amp;gt;&lt;br /&gt;
[[image:CVT_circuit.jpg|thumb|400px|completed circuit]]&lt;br /&gt;
&lt;br /&gt;
The completed circuit setup can be viewed on the right.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br clear=all&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Programming ===&lt;br /&gt;
&lt;br /&gt;
The PIC reads an input voltage reading from the potentiometer from pin RA0. This value is compared to the upper and lower bounds governing the pulley&amp;#039;s widths to determine whether the pulley needs to move farther or closer together. We then use quadrature decoding to keep track of the counts, thereby tracking the number of rotations. With the 10:1 gear ratio (10 revolutions per 1 in of travel), we also know how far it has moved. We modified the quadrature hardware [http://peshkin.mech.northwestern.edu/pic/code/QuadratureHard/  code ] available from the example code page to perform this task. &lt;br /&gt;
&lt;br /&gt;
The code for the entire setup can be found here.  &lt;br /&gt;
* [[media:CVTcontrolcode.c|CVTcontrolcode.c]]&lt;br /&gt;
&lt;br /&gt;
== Results ==&lt;br /&gt;
&lt;br /&gt;
Unfortunately, due to technical errors and circuit component failure (namely frying three PICs along with other melted components), we were not able to implement the PIC control for the two pulleys. To demonstrate the apparatus, we implemented manual control of the two Pittmans using switches to control the pulley widths. The demonstration showed that the system functions well mechanically. Manual control illustrated the need for feedback control for this system, as the transitions from low to high gear required a nonlinear shift in the pulley radii.&lt;br /&gt;
&lt;br /&gt;
With further work on the circuits and controls, we hope to get the CVT working as intended with PIC control.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Further Reading ==&lt;br /&gt;
&lt;br /&gt;
More details regarding the operation of a CVT, along with various forms of CVTs&lt;br /&gt;
* http://auto.howstuffworks.com/cvt.htm&lt;br /&gt;
* http://cars.about.com/od/thingsyouneedtoknow/a/CVT.htm&lt;/div&gt;</summary>
		<author><name>DavidEvitt</name></author>
	</entry>
	<entry>
		<id>https://hades.mech.northwestern.edu//index.php?title=File:Evitt-Miller-Mui.JPG&amp;diff=8358</id>
		<title>File:Evitt-Miller-Mui.JPG</title>
		<link rel="alternate" type="text/html" href="https://hades.mech.northwestern.edu//index.php?title=File:Evitt-Miller-Mui.JPG&amp;diff=8358"/>
		<updated>2008-03-20T22:23:54Z</updated>

		<summary type="html">&lt;p&gt;DavidEvitt: David Evitt, Tyler Miller, Raymond Mui&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;David Evitt, Tyler Miller, Raymond Mui&lt;/div&gt;</summary>
		<author><name>DavidEvitt</name></author>
	</entry>
	<entry>
		<id>https://hades.mech.northwestern.edu//index.php?title=ME_333_final_projects&amp;diff=8352</id>
		<title>ME 333 final projects</title>
		<link rel="alternate" type="text/html" href="https://hades.mech.northwestern.edu//index.php?title=ME_333_final_projects&amp;diff=8352"/>
		<updated>2008-03-20T22:17:21Z</updated>

		<summary type="html">&lt;p&gt;DavidEvitt: /* Continuously Variable Transmission */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;#039;&amp;#039;&amp;#039;[[ME 333 end of course schedule]]&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
== ME 333 Final Projects 2008 ==&lt;br /&gt;
&lt;br /&gt;
=== [[IR Tracker]] ===&lt;br /&gt;
&lt;br /&gt;
[[Image:IR_Tracker_Main.jpg|right|thumb|200px]]&lt;br /&gt;
&lt;br /&gt;
The IR Tracker (aka &amp;quot;Spot&amp;quot;) is a device that follows a moving infrared light. It continuously detects the position of an infrared emitter in two axes, and then tracks the emitter with a laser. [http://depot.northwestern.edu/mht363/public_html/IR%20Track/Mar%2019%20IR%20tracker.mp4 See Spot Run.]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br clear=all&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== [[Robot Snake]] ===&lt;br /&gt;
[[Image:HLSSnakeMain.jpg|right|thumb|200px]]&lt;br /&gt;
&lt;br /&gt;
This remote control robotic snake uses servo motors with a traveling sine wave motion profile to mimic serpentine motion.  The robotic snake is capable of moving forward, left, right and in reverse.   &lt;br /&gt;
&lt;br /&gt;
&amp;lt;br clear=all&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== [[Programmable Stiffness Joint]] === &lt;br /&gt;
&lt;br /&gt;
[[Image:SteelToePic2.jpg|thumb|200px|The &amp;#039;Steel Toe&amp;#039; programmable stiffness joint|right]]&lt;br /&gt;
&lt;br /&gt;
The Programmable Stiffness Joint varies rotational stiffness as desired by the user.  It is the first step in modeling the mechanical impedance of the human ankle joint (both stiffness and damping) for the purpose of determining the respective breakdown of the two properties over the gait cycle.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br clear=all&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== [[Magnetic based sample purification]] ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br clear=all&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== [[Continuously Variable Transmission]] ===&lt;br /&gt;
&lt;br /&gt;
[[image:CVT_setup1.jpg|thumb|200px]]&lt;br /&gt;
&lt;br /&gt;
This prototype is a proof of concept model of a variable ratio transmission to be implemented in the 2008-2009 Formula SAE competition vehicle.  The gear ratio is determined by the distances between the pulley halves which are controllable electronically.  &lt;br /&gt;
&lt;br /&gt;
&amp;lt;br clear=all&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== [[Granular Flow Rotating Sphere]] ===&lt;br /&gt;
&lt;br /&gt;
This device will be used to study the granular flow of particles within a rotating sphere. The sphere is filled with grains of varying size and then rotated about two different axes according to a series of position and angular velocity inputs.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br clear=all&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== [[Vibratory Clock]] ===&lt;br /&gt;
&lt;br /&gt;
[[Image:Vibratory_Clock.jpg|right|thumb|Vibratory Clock|200px]]&lt;br /&gt;
&lt;br /&gt;
The Vibratory Clock allows a small object to act as an hour &amp;quot;hand&amp;quot; on a horizontal circular platform that is actuated from underneath by three speakers.  The object slides around the circular platform, impelled by friction forces due to the vibration.  [http://www.youtube.com/watch?v=KhgTNCfdwZw Check it out!]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br clear=all&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== [[WiiMouse]] ===&lt;br /&gt;
&lt;br /&gt;
[[Image:HPIM1027.jpg|right|thumb|200px]]&lt;br /&gt;
&lt;br /&gt;
The WiiMouse is a handheld remote that can be used to move a cursor on a windows-based PC, via accelerometer input captured through device movement.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br clear=all&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== [[Intelligent Oscillation Controller]] ===&lt;br /&gt;
&lt;br /&gt;
[[image:ME333_learning_oscillator.jpg|thumb|200px]]&lt;br /&gt;
&lt;br /&gt;
This device &amp;quot;learns&amp;quot; a forcing function that is applied to a spring and mass system to match an arbitrary, periodic acceleration profile.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br clear=all&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== [[Baseball]] ===&lt;br /&gt;
&lt;br /&gt;
[[Image:Baseball_Playfield.jpg|right|thumb|200px]]&lt;br /&gt;
&lt;br /&gt;
An interactive baseball game inspired by pinball, featuring pitching, batting, light up bases and a scoreboard to keep track of the game.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br clear=all&amp;gt;&lt;/div&gt;</summary>
		<author><name>DavidEvitt</name></author>
	</entry>
	<entry>
		<id>https://hades.mech.northwestern.edu//index.php?title=ME_333_final_projects&amp;diff=8345</id>
		<title>ME 333 final projects</title>
		<link rel="alternate" type="text/html" href="https://hades.mech.northwestern.edu//index.php?title=ME_333_final_projects&amp;diff=8345"/>
		<updated>2008-03-20T22:10:11Z</updated>

		<summary type="html">&lt;p&gt;DavidEvitt: /* Continuously Variable Transmission */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;#039;&amp;#039;&amp;#039;[[ME 333 end of course schedule]]&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
== ME 333 Final Projects 2008 ==&lt;br /&gt;
&lt;br /&gt;
=== [[IR Tracker]] ===&lt;br /&gt;
&lt;br /&gt;
[[Image:IR_Tracker_Main.jpg|right|thumb|200px]]&lt;br /&gt;
&lt;br /&gt;
The IR Tracker (aka &amp;quot;Spot&amp;quot;) is a device that follows a moving infrared light. It continuously detects the position of an infrared emitter in two axes, and then tracks the emitter with a laser. [http://depot.northwestern.edu/mht363/public_html/IR%20Track/Mar%2019%20IR%20tracker.mp4 See Spot Run.]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br clear=all&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== [[Robot Snake]] ===&lt;br /&gt;
[[Image:HLSSnakeMain.jpg|right|thumb|200px]]&lt;br /&gt;
&lt;br /&gt;
This remote control robotic snake uses servo motors with a traveling sine wave motion profile to mimic serpentine motion.  The robotic snake is capable of moving forward, left, right and in reverse.   &lt;br /&gt;
&lt;br /&gt;
&amp;lt;br clear=all&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== [[Programmable Stiffness Joint]] === &lt;br /&gt;
&lt;br /&gt;
[[Image:SteelToePic2.jpg|thumb|200px|The &amp;#039;Steel Toe&amp;#039; programmable stiffness joint|right]]&lt;br /&gt;
&lt;br /&gt;
The Programmable Stiffness Joint varies rotational stiffness as desired by the user.  It is the first step in modeling the mechanical impedance of the human ankle joint (both stiffness and damping) for the purpose of determining the respective breakdown of the two properties over the gait cycle.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br clear=all&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== [[Magnetic based sample purification]] ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br clear=all&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== [[Continuously Variable Transmission]] ===&lt;br /&gt;
&lt;br /&gt;
[[image:CVT_setup1.jpg|thumb|200px]]&lt;br /&gt;
&lt;br /&gt;
This prototype is a proof of concept model of a variable ratio transmission to be implemented in the 2008-2009 Formula SAE competition vehicle.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br clear=all&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== [[Granular Flow Rotating Sphere]] ===&lt;br /&gt;
&lt;br /&gt;
This device will be used to study the granular flow of particles within a rotating sphere. The sphere is filled with grains of varying size and then rotated about two different axes according to a series of position and angular velocity inputs.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br clear=all&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== [[Vibratory Clock]] ===&lt;br /&gt;
&lt;br /&gt;
[[Image:Vibratory_Clock.jpg|right|thumb|Vibratory Clock|200px]]&lt;br /&gt;
&lt;br /&gt;
The Vibratory Clock allows a small object to act as an hour &amp;quot;hand&amp;quot; on a horizontal circular platform that is actuated from underneath by three speakers.  The object slides around the circular platform, impelled by friction forces due to the vibration.  [http://www.youtube.com/watch?v=KhgTNCfdwZw Check it out!]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br clear=all&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== [[WiiMouse]] ===&lt;br /&gt;
&lt;br /&gt;
[[Image:HPIM1027.jpg|right|thumb|200px]]&lt;br /&gt;
&lt;br /&gt;
The WiiMouse is a handheld remote that can be used to move a cursor on a windows-based PC, via accelerometer input captured through device movement.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br clear=all&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== [[Intelligent Oscillation Controller]] ===&lt;br /&gt;
&lt;br /&gt;
[[image:ME333_learning_oscillator.jpg|thumb|200px]]&lt;br /&gt;
&lt;br /&gt;
This device &amp;quot;learns&amp;quot; a forcing function that is applied to a spring and mass system to match an arbitrary, periodic acceleration profile.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br clear=all&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== [[Baseball]] ===&lt;br /&gt;
&lt;br /&gt;
[[Image:Baseball_Playfield.jpg|right|thumb|200px]]&lt;br /&gt;
&lt;br /&gt;
An interactive baseball game inspired by pinball, featuring pitching, batting, light up bases and a scoreboard to keep track of the game.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br clear=all&amp;gt;&lt;/div&gt;</summary>
		<author><name>DavidEvitt</name></author>
	</entry>
	<entry>
		<id>https://hades.mech.northwestern.edu//index.php?title=File:Main.c&amp;diff=7004</id>
		<title>File:Main.c</title>
		<link rel="alternate" type="text/html" href="https://hades.mech.northwestern.edu//index.php?title=File:Main.c&amp;diff=7004"/>
		<updated>2008-02-19T20:41:39Z</updated>

		<summary type="html">&lt;p&gt;DavidEvitt: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>DavidEvitt</name></author>
	</entry>
	<entry>
		<id>https://hades.mech.northwestern.edu//index.php?title=Stepper_motor_control_with_the_PIC&amp;diff=7003</id>
		<title>Stepper motor control with the PIC</title>
		<link rel="alternate" type="text/html" href="https://hades.mech.northwestern.edu//index.php?title=Stepper_motor_control_with_the_PIC&amp;diff=7003"/>
		<updated>2008-02-19T20:40:46Z</updated>

		<summary type="html">&lt;p&gt;DavidEvitt: /* Code */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Original Assignment ==&lt;br /&gt;
&lt;br /&gt;
The project is to use an interrupt to achieve stepper motor control along arbitrary motion profiles (e.g., mathematical functions of time, including constant velocity profiles).  For example, if your interrupt is at 1 ms, you can compare your step count at the current time to the desired step count at the current time and step the motor forward, backward, or not at all, as appropriate.  A simpler variant of this is constant speed control:  the main program sets the speed, and the interrupt determines whether or not to step the motor at each interrupt time.  Your documentation must provide evidence that the interrupt service routine always completes in less time than the time between interrupts (e.g., you can use the oscilloscope and look at a pin going high at the beginning of the ISR and low at the end).&lt;br /&gt;
&lt;br /&gt;
Also, stepper motors tend to have relatively low torque, but are capable of high speeds.  To improve the torque, we can add a gearhead or other transmission element.  It is convenient to have the motor and gearhead in a single package, so if you see a relatively inexpensive stepper motor + gearhead combination in an appropriate size, let us know!&lt;br /&gt;
&lt;br /&gt;
== Overview ==&lt;br /&gt;
&lt;br /&gt;
Stepper motors are particularly useful devices because they can generate precise movement open loop.  There is lots of information about stepper motors on the web and the wiki.  Refer to the further reading section below as a place to get started.  &lt;br /&gt;
&lt;br /&gt;
This page provides explanation of the circuitry and example code for driving the [[Actuators Available in the Mechatronics Lab#Stepper_Motors|Jameco 163395 8.4V bipolar stepper motor]] available in the mechatronics lab.  The rated motor voltage is 8.4 volts but the motor should be able to handle up to 12V.  When operating at higher voltages be mindful of the possibility of overheating.  In this example, we used 8.6V.  The motor is connected to a L293B H-bridge chip controlled by the logic outputs from the PIC.  The PIC reads the voltage from a potentiometer connected to an analog input and converts it to a desired speed and number of interrupt service routine (ISR) calls until stepping.  The ISR drives the logic outputs controlling the H-bridge and motor.&lt;br /&gt;
&lt;br /&gt;
This stepper motor contains two windings, each of which has a set of two wires that allow for polarity control.  One winding is operated by the blue and red wires, while the other is controlled by the yellow and white wires.&lt;br /&gt;
&lt;br /&gt;
The ISR completes in about 2.5 us.  Which means that the motor can be commanded to step extremely quickly.  However, the rotor can only keep up with the signal for a limited range, and can move one full step every ~1.2 ms.  With a mass attached to the output shaft the maximum speed will decrease.&lt;br /&gt;
&lt;br /&gt;
== Circuit ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Wiring Up The L293B===&lt;br /&gt;
&lt;br /&gt;
[[Image:l293b.jpg|thumb|400px|Wiring diagram for the L293B|right]]&lt;br /&gt;
&lt;br /&gt;
A DIP16-L293B quad push pull driver is used to control the two windings for the bipolar stepper motor. The provided battery pack for your Mechatronics Lab Kit with the 5V regulator connects into pin 16, the logic supply voltage. A +8.6V voltage from the available power supply handled the necessary voltage to power the motor itself, and feeds into pin 8.&lt;br /&gt;
&lt;br /&gt;
The PIC&amp;#039;s output channels RD0-RD3 wire directly into the L293B&amp;#039;s four inputs. The blue and red wires pertaining to one set of windings connect to pins 3 and 5 of the L293B, and the white and yellow wires for the other half go to pins 11 and 14. The remaining pins 4,5,12 and 13 all connect to a common ground. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
A spec sheet for the L293B can be found here. [http://www.datasheetcatalog.com/datasheets_pdf/L/2/9/3/L293B.shtml]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br clear=all&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Adjusting The Speed With A Trimpot ===&lt;br /&gt;
&lt;br /&gt;
[[Image:potentiometer.jpg|thumb|300px|Potentiometer for manual speed and direction control|right]]&lt;br /&gt;
&lt;br /&gt;
A convenient method of providing a varying input for the stepper motor is with a trimpot, or potentiometer. This circuit utilized a 10k Ohm trimpot to control the speed of the stepper motor along with the direction. The middle wiper connected to pin AN0 of the PIC for analog readouts to help determine what desired speeds and direction are needed. Zero voltage and the max +5V will emulate maximum speed for forwards and backwards directions, with the capability of slower intermediate speeds. The +2.5V threshold will switch the direction for the motor. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;br clear=all&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Completed Circuit ===&lt;br /&gt;
&lt;br /&gt;
The resultant circuit should look like the image below.&lt;br /&gt;
&lt;br /&gt;
[[Image:circuitfull.jpg|thumb|600px|Completed circuit|center]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br clear=all&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Code ==&lt;br /&gt;
&lt;br /&gt;
* [[media:main.c|stepper_control.c]] - Code can be found here.&lt;br /&gt;
&lt;br /&gt;
==Further Reading==&lt;br /&gt;
&lt;br /&gt;
===Wiki Pages===&lt;br /&gt;
* [[Stepper Motor Theory]]&lt;br /&gt;
* [[Stepper Motor Circuits]]&lt;br /&gt;
* [[Unipolar Stepper Motor Driver Circuit]]&lt;br /&gt;
&lt;br /&gt;
===Microchip Application Notes===&lt;br /&gt;
&lt;br /&gt;
* [[media:00907a.pdf|Stepping Motors Fundamentals]] [http://www.microchip.com/stellent/idcplg?IdcService=SS_GET_PAGE&amp;amp;nodeId=1824&amp;amp;appnote=en012151  -Microchip Document Description]&lt;br /&gt;
* [[media:00822a.pdf|Stepper Motor Microstepping with PIC18C452]] [http://www.microchip.com/stellent/idcplg?IdcService=SS_GET_PAGE&amp;amp;nodeId=1824&amp;amp;appnote=en011997  -Microchip Document Description]&lt;/div&gt;</summary>
		<author><name>DavidEvitt</name></author>
	</entry>
	<entry>
		<id>https://hades.mech.northwestern.edu//index.php?title=Stepper_motor_control_with_the_PIC&amp;diff=7002</id>
		<title>Stepper motor control with the PIC</title>
		<link rel="alternate" type="text/html" href="https://hades.mech.northwestern.edu//index.php?title=Stepper_motor_control_with_the_PIC&amp;diff=7002"/>
		<updated>2008-02-19T20:39:54Z</updated>

		<summary type="html">&lt;p&gt;DavidEvitt: /* Overview */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Original Assignment ==&lt;br /&gt;
&lt;br /&gt;
The project is to use an interrupt to achieve stepper motor control along arbitrary motion profiles (e.g., mathematical functions of time, including constant velocity profiles).  For example, if your interrupt is at 1 ms, you can compare your step count at the current time to the desired step count at the current time and step the motor forward, backward, or not at all, as appropriate.  A simpler variant of this is constant speed control:  the main program sets the speed, and the interrupt determines whether or not to step the motor at each interrupt time.  Your documentation must provide evidence that the interrupt service routine always completes in less time than the time between interrupts (e.g., you can use the oscilloscope and look at a pin going high at the beginning of the ISR and low at the end).&lt;br /&gt;
&lt;br /&gt;
Also, stepper motors tend to have relatively low torque, but are capable of high speeds.  To improve the torque, we can add a gearhead or other transmission element.  It is convenient to have the motor and gearhead in a single package, so if you see a relatively inexpensive stepper motor + gearhead combination in an appropriate size, let us know!&lt;br /&gt;
&lt;br /&gt;
== Overview ==&lt;br /&gt;
&lt;br /&gt;
Stepper motors are particularly useful devices because they can generate precise movement open loop.  There is lots of information about stepper motors on the web and the wiki.  Refer to the further reading section below as a place to get started.  &lt;br /&gt;
&lt;br /&gt;
This page provides explanation of the circuitry and example code for driving the [[Actuators Available in the Mechatronics Lab#Stepper_Motors|Jameco 163395 8.4V bipolar stepper motor]] available in the mechatronics lab.  The rated motor voltage is 8.4 volts but the motor should be able to handle up to 12V.  When operating at higher voltages be mindful of the possibility of overheating.  In this example, we used 8.6V.  The motor is connected to a L293B H-bridge chip controlled by the logic outputs from the PIC.  The PIC reads the voltage from a potentiometer connected to an analog input and converts it to a desired speed and number of interrupt service routine (ISR) calls until stepping.  The ISR drives the logic outputs controlling the H-bridge and motor.&lt;br /&gt;
&lt;br /&gt;
This stepper motor contains two windings, each of which has a set of two wires that allow for polarity control.  One winding is operated by the blue and red wires, while the other is controlled by the yellow and white wires.&lt;br /&gt;
&lt;br /&gt;
The ISR completes in about 2.5 us.  Which means that the motor can be commanded to step extremely quickly.  However, the rotor can only keep up with the signal for a limited range, and can move one full step every ~1.2 ms.  With a mass attached to the output shaft the maximum speed will decrease.&lt;br /&gt;
&lt;br /&gt;
== Circuit ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Wiring Up The L293B===&lt;br /&gt;
&lt;br /&gt;
[[Image:l293b.jpg|thumb|400px|Wiring diagram for the L293B|right]]&lt;br /&gt;
&lt;br /&gt;
A DIP16-L293B quad push pull driver is used to control the two windings for the bipolar stepper motor. The provided battery pack for your Mechatronics Lab Kit with the 5V regulator connects into pin 16, the logic supply voltage. A +8.6V voltage from the available power supply handled the necessary voltage to power the motor itself, and feeds into pin 8.&lt;br /&gt;
&lt;br /&gt;
The PIC&amp;#039;s output channels RD0-RD3 wire directly into the L293B&amp;#039;s four inputs. The blue and red wires pertaining to one set of windings connect to pins 3 and 5 of the L293B, and the white and yellow wires for the other half go to pins 11 and 14. The remaining pins 4,5,12 and 13 all connect to a common ground. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
A spec sheet for the L293B can be found here. [http://www.datasheetcatalog.com/datasheets_pdf/L/2/9/3/L293B.shtml]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br clear=all&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Adjusting The Speed With A Trimpot ===&lt;br /&gt;
&lt;br /&gt;
[[Image:potentiometer.jpg|thumb|300px|Potentiometer for manual speed and direction control|right]]&lt;br /&gt;
&lt;br /&gt;
A convenient method of providing a varying input for the stepper motor is with a trimpot, or potentiometer. This circuit utilized a 10k Ohm trimpot to control the speed of the stepper motor along with the direction. The middle wiper connected to pin AN0 of the PIC for analog readouts to help determine what desired speeds and direction are needed. Zero voltage and the max +5V will emulate maximum speed for forwards and backwards directions, with the capability of slower intermediate speeds. The +2.5V threshold will switch the direction for the motor. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;br clear=all&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Completed Circuit ===&lt;br /&gt;
&lt;br /&gt;
The resultant circuit should look like the image below.&lt;br /&gt;
&lt;br /&gt;
[[Image:circuitfull.jpg|thumb|600px|Completed circuit|center]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br clear=all&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Code ==&lt;br /&gt;
&lt;br /&gt;
* [[media:stepper_control.c|stepper_control.c]] - Code can be found here.&lt;br /&gt;
&lt;br /&gt;
==Further Reading==&lt;br /&gt;
&lt;br /&gt;
===Wiki Pages===&lt;br /&gt;
* [[Stepper Motor Theory]]&lt;br /&gt;
* [[Stepper Motor Circuits]]&lt;br /&gt;
* [[Unipolar Stepper Motor Driver Circuit]]&lt;br /&gt;
&lt;br /&gt;
===Microchip Application Notes===&lt;br /&gt;
&lt;br /&gt;
* [[media:00907a.pdf|Stepping Motors Fundamentals]] [http://www.microchip.com/stellent/idcplg?IdcService=SS_GET_PAGE&amp;amp;nodeId=1824&amp;amp;appnote=en012151  -Microchip Document Description]&lt;br /&gt;
* [[media:00822a.pdf|Stepper Motor Microstepping with PIC18C452]] [http://www.microchip.com/stellent/idcplg?IdcService=SS_GET_PAGE&amp;amp;nodeId=1824&amp;amp;appnote=en011997  -Microchip Document Description]&lt;/div&gt;</summary>
		<author><name>DavidEvitt</name></author>
	</entry>
	<entry>
		<id>https://hades.mech.northwestern.edu//index.php?title=Stepper_motor_control_with_the_PIC&amp;diff=7001</id>
		<title>Stepper motor control with the PIC</title>
		<link rel="alternate" type="text/html" href="https://hades.mech.northwestern.edu//index.php?title=Stepper_motor_control_with_the_PIC&amp;diff=7001"/>
		<updated>2008-02-19T20:36:34Z</updated>

		<summary type="html">&lt;p&gt;DavidEvitt: /* Overview */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Original Assignment ==&lt;br /&gt;
&lt;br /&gt;
The project is to use an interrupt to achieve stepper motor control along arbitrary motion profiles (e.g., mathematical functions of time, including constant velocity profiles).  For example, if your interrupt is at 1 ms, you can compare your step count at the current time to the desired step count at the current time and step the motor forward, backward, or not at all, as appropriate.  A simpler variant of this is constant speed control:  the main program sets the speed, and the interrupt determines whether or not to step the motor at each interrupt time.  Your documentation must provide evidence that the interrupt service routine always completes in less time than the time between interrupts (e.g., you can use the oscilloscope and look at a pin going high at the beginning of the ISR and low at the end).&lt;br /&gt;
&lt;br /&gt;
Also, stepper motors tend to have relatively low torque, but are capable of high speeds.  To improve the torque, we can add a gearhead or other transmission element.  It is convenient to have the motor and gearhead in a single package, so if you see a relatively inexpensive stepper motor + gearhead combination in an appropriate size, let us know!&lt;br /&gt;
&lt;br /&gt;
== Overview ==&lt;br /&gt;
&lt;br /&gt;
Stepper motors are particularly useful devices because they can generate precise movement open loop.  There is lots of information about stepper motors on the web and the wiki.  Refer to the further reading section below as a place to get started.  &lt;br /&gt;
&lt;br /&gt;
This page provides explanation of the circuitry and example code for driving the [[Actuators Available in the Mechatronics Lab#Stepper_Motors|Jameco 163395 8.4V bipolar stepper motor]] available in the mechatronics lab.  The motor is connected to a L293B H-bridge chip controlled by the logic outputs from the PIC.  The PIC reads the voltage from a potentiometer connected to an analog input and converts it to a desired speed and number of interrupt service routine (ISR) calls until stepping.  The ISR drives the logic outputs controlling the H-bridge and motor.&lt;br /&gt;
&lt;br /&gt;
This stepper motor contains two windings, each of which has a set of two wires that allow for polarity control.  One winding is operated by the blue and red wires, while the other is controlled by the yellow and white wires.&lt;br /&gt;
&lt;br /&gt;
The ISR completes in about 2.5 us.  Which means that the motor can be commanded to step extremely quickly.  However, the rotor can only keep up with the signal for a limited range, and can move one full step every ~1.2 ms.  With a mass attached to the output shaft the maximum speed will decrease.&lt;br /&gt;
&lt;br /&gt;
== Circuit ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Wiring Up The L293B===&lt;br /&gt;
&lt;br /&gt;
[[Image:l293b.jpg|thumb|400px|Wiring diagram for the L293B|right]]&lt;br /&gt;
&lt;br /&gt;
A DIP16-L293B quad push pull driver is used to control the two windings for the bipolar stepper motor. The provided battery pack for your Mechatronics Lab Kit with the 5V regulator connects into pin 16, the logic supply voltage. A +8.6V voltage from the available power supply handled the necessary voltage to power the motor itself, and feeds into pin 8.&lt;br /&gt;
&lt;br /&gt;
The PIC&amp;#039;s output channels RD0-RD3 wire directly into the L293B&amp;#039;s four inputs. The blue and red wires pertaining to one set of windings connect to pins 3 and 5 of the L293B, and the white and yellow wires for the other half go to pins 11 and 14. The remaining pins 4,5,12 and 13 all connect to a common ground. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
A spec sheet for the L293B can be found here. [http://www.datasheetcatalog.com/datasheets_pdf/L/2/9/3/L293B.shtml]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br clear=all&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Adjusting The Speed With A Trimpot ===&lt;br /&gt;
&lt;br /&gt;
[[Image:potentiometer.jpg|thumb|300px|Potentiometer for manual speed and direction control|right]]&lt;br /&gt;
&lt;br /&gt;
A convenient method of providing a varying input for the stepper motor is with a trimpot, or potentiometer. This circuit utilized a 10k Ohm trimpot to control the speed of the stepper motor along with the direction. The middle wiper connected to pin AN0 of the PIC for analog readouts to help determine what desired speeds and direction are needed. Zero voltage and the max +5V will emulate maximum speed for forwards and backwards directions, with the capability of slower intermediate speeds. The +2.5V threshold will switch the direction for the motor. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;br clear=all&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Completed Circuit ===&lt;br /&gt;
&lt;br /&gt;
The resultant circuit should look like the image below.&lt;br /&gt;
&lt;br /&gt;
[[Image:circuitfull.jpg|thumb|600px|Completed circuit|center]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br clear=all&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Code ==&lt;br /&gt;
&lt;br /&gt;
* [[media:stepper_control.c|stepper_control.c]] - Code can be found here.&lt;br /&gt;
&lt;br /&gt;
==Further Reading==&lt;br /&gt;
&lt;br /&gt;
===Wiki Pages===&lt;br /&gt;
* [[Stepper Motor Theory]]&lt;br /&gt;
* [[Stepper Motor Circuits]]&lt;br /&gt;
* [[Unipolar Stepper Motor Driver Circuit]]&lt;br /&gt;
&lt;br /&gt;
===Microchip Application Notes===&lt;br /&gt;
&lt;br /&gt;
* [[media:00907a.pdf|Stepping Motors Fundamentals]] [http://www.microchip.com/stellent/idcplg?IdcService=SS_GET_PAGE&amp;amp;nodeId=1824&amp;amp;appnote=en012151  -Microchip Document Description]&lt;br /&gt;
* [[media:00822a.pdf|Stepper Motor Microstepping with PIC18C452]] [http://www.microchip.com/stellent/idcplg?IdcService=SS_GET_PAGE&amp;amp;nodeId=1824&amp;amp;appnote=en011997  -Microchip Document Description]&lt;/div&gt;</summary>
		<author><name>DavidEvitt</name></author>
	</entry>
	<entry>
		<id>https://hades.mech.northwestern.edu//index.php?title=Stepper_motor_control_with_the_PIC&amp;diff=7000</id>
		<title>Stepper motor control with the PIC</title>
		<link rel="alternate" type="text/html" href="https://hades.mech.northwestern.edu//index.php?title=Stepper_motor_control_with_the_PIC&amp;diff=7000"/>
		<updated>2008-02-19T20:13:36Z</updated>

		<summary type="html">&lt;p&gt;DavidEvitt: /* Overview */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Original Assignment ==&lt;br /&gt;
&lt;br /&gt;
The project is to use an interrupt to achieve stepper motor control along arbitrary motion profiles (e.g., mathematical functions of time, including constant velocity profiles).  For example, if your interrupt is at 1 ms, you can compare your step count at the current time to the desired step count at the current time and step the motor forward, backward, or not at all, as appropriate.  A simpler variant of this is constant speed control:  the main program sets the speed, and the interrupt determines whether or not to step the motor at each interrupt time.  Your documentation must provide evidence that the interrupt service routine always completes in less time than the time between interrupts (e.g., you can use the oscilloscope and look at a pin going high at the beginning of the ISR and low at the end).&lt;br /&gt;
&lt;br /&gt;
Also, stepper motors tend to have relatively low torque, but are capable of high speeds.  To improve the torque, we can add a gearhead or other transmission element.  It is convenient to have the motor and gearhead in a single package, so if you see a relatively inexpensive stepper motor + gearhead combination in an appropriate size, let us know!&lt;br /&gt;
&lt;br /&gt;
== Overview ==&lt;br /&gt;
&lt;br /&gt;
Stepper motors are particularly useful devices because they can generate precise movement open loop.  There is lots of information about stepper motors on the web and the wiki.  Refer to the further reading section below as a place to get started.  &lt;br /&gt;
&lt;br /&gt;
This page provides explanation of the circuitry and example code for driving the [[Actuators Available in the Mechatronics Lab#Stepper_Motors|Jameco 163395 8.4V bipolar stepper motor]] available in the mechatronics lab.  The motor is connected to a L293B H-bridge chip controlled by the logic outputs from the PIC.  The PIC reads the voltage from a potentiometer connected to an analog input and converts it to a desired speed and number of interrupt service routine (ISR) calls until stepping.  The ISR drives the logic outputs controlling the H-bridge and motor.&lt;br /&gt;
&lt;br /&gt;
This stepper motor contains two windings, each of which has a set of two wires that allow for polarity control.  One winding is operated by the blue and red wires, while the other is controlled by the yellow and white wires.&lt;br /&gt;
&lt;br /&gt;
The ISR completes in about 2.5 us.  Which means that the motor can be commanded to step extremely quickly.  However, the rotor can only keep up with the signal for a limited range, and can move one full step every ~1.2 ms.&lt;br /&gt;
&lt;br /&gt;
== Circuit ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Wiring Up The L293B===&lt;br /&gt;
&lt;br /&gt;
[[Image:l293b.jpg|thumb|400px|Wiring diagram for the L293B|right]]&lt;br /&gt;
&lt;br /&gt;
A DIP16-L293B quad push pull driver is used to control the two windings for the bipolar stepper motor. The provided battery pack for your Mechatronics Lab Kit with the 5V regulator connects into pin 16, the logic supply voltage. A +8.6V voltage from the available power supply handled the necessary voltage to power the motor itself, and feeds into pin 8.&lt;br /&gt;
&lt;br /&gt;
The PIC&amp;#039;s output channels RD0-RD3 wire directly into the L293B&amp;#039;s four inputs. The blue and red wires pertaining to one set of windings connect to pins 3 and 5 of the L293B, and the white and yellow wires for the other half go to pins 11 and 14. The remaining pins 4,5,12 and 13 all connect to a common ground. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
A spec sheet for the L293B can be found here. [http://www.datasheetcatalog.com/datasheets_pdf/L/2/9/3/L293B.shtml]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br clear=all&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Adjusting The Speed With A Trimpot ===&lt;br /&gt;
&lt;br /&gt;
[[Image:potentiometer.jpg|thumb|300px|Potentiometer for manual speed and direction control|right]]&lt;br /&gt;
&lt;br /&gt;
A convenient method of providing a varying input for the stepper motor is with a trimpot, or potentiometer. This circuit utilized a 10k Ohm trimpot to control the speed of the stepper motor along with the direction. The middle wiper connected to pin AN0 of the PIC for analog readouts to help determine what desired speeds and direction are needed. Zero voltage and the max +5V will emulate maximum speed for forwards and backwards directions, with the capability of slower intermediate speeds. The +2.5V threshold will switch the direction for the motor. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;br clear=all&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Completed Circuit ===&lt;br /&gt;
&lt;br /&gt;
The resultant circuit should look like the image below.&lt;br /&gt;
&lt;br /&gt;
[[Image:circuitfull.jpg|thumb|600px|Completed circuit|center]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br clear=all&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Code ==&lt;br /&gt;
&lt;br /&gt;
* [[media:stepper_control.c|stepper_control.c]] - Code can be found here.&lt;br /&gt;
&lt;br /&gt;
==Further Reading==&lt;br /&gt;
&lt;br /&gt;
===Wiki Pages===&lt;br /&gt;
* [[Stepper Motor Theory]]&lt;br /&gt;
* [[Stepper Motor Circuits]]&lt;br /&gt;
* [[Unipolar Stepper Motor Driver Circuit]]&lt;br /&gt;
&lt;br /&gt;
===Microchip Application Notes===&lt;br /&gt;
&lt;br /&gt;
* [[media:00907a.pdf|Stepping Motors Fundamentals]] [http://www.microchip.com/stellent/idcplg?IdcService=SS_GET_PAGE&amp;amp;nodeId=1824&amp;amp;appnote=en012151  -Microchip Document Description]&lt;br /&gt;
* [[media:00822a.pdf|Stepper Motor Microstepping with PIC18C452]] [http://www.microchip.com/stellent/idcplg?IdcService=SS_GET_PAGE&amp;amp;nodeId=1824&amp;amp;appnote=en011997  -Microchip Document Description]&lt;/div&gt;</summary>
		<author><name>DavidEvitt</name></author>
	</entry>
	<entry>
		<id>https://hades.mech.northwestern.edu//index.php?title=Stepper_motor_control_with_the_PIC&amp;diff=6999</id>
		<title>Stepper motor control with the PIC</title>
		<link rel="alternate" type="text/html" href="https://hades.mech.northwestern.edu//index.php?title=Stepper_motor_control_with_the_PIC&amp;diff=6999"/>
		<updated>2008-02-19T20:12:47Z</updated>

		<summary type="html">&lt;p&gt;DavidEvitt: /* Overview */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Original Assignment ==&lt;br /&gt;
&lt;br /&gt;
The project is to use an interrupt to achieve stepper motor control along arbitrary motion profiles (e.g., mathematical functions of time, including constant velocity profiles).  For example, if your interrupt is at 1 ms, you can compare your step count at the current time to the desired step count at the current time and step the motor forward, backward, or not at all, as appropriate.  A simpler variant of this is constant speed control:  the main program sets the speed, and the interrupt determines whether or not to step the motor at each interrupt time.  Your documentation must provide evidence that the interrupt service routine always completes in less time than the time between interrupts (e.g., you can use the oscilloscope and look at a pin going high at the beginning of the ISR and low at the end).&lt;br /&gt;
&lt;br /&gt;
Also, stepper motors tend to have relatively low torque, but are capable of high speeds.  To improve the torque, we can add a gearhead or other transmission element.  It is convenient to have the motor and gearhead in a single package, so if you see a relatively inexpensive stepper motor + gearhead combination in an appropriate size, let us know!&lt;br /&gt;
&lt;br /&gt;
== Overview ==&lt;br /&gt;
&lt;br /&gt;
Stepper motors are particularly useful devices because they can generate precise movement open loop.  There is lots of information about stepper motors on the web and the wiki.  Refer to the further reading section below as a place to get started.  &lt;br /&gt;
&lt;br /&gt;
This page provides explanation of the circuitry and example code for driving the [[Actuators Available in the Mechatronics Lab|Jameco 163395 8.4V bipolar stepper motor]] available in the mechatronics lab.  The motor is connected to a L293B H-bridge chip controlled by the logic outputs from the PIC.  The PIC reads the voltage from a potentiometer connected to an analog input and converts it to a desired speed and number of interrupt service routine (ISR) calls until stepping.  The ISR drives the logic outputs controlling the H-bridge and motor.&lt;br /&gt;
&lt;br /&gt;
This stepper motor contains two windings, each of which has a set of two wires that allow for polarity control.  One winding is operated by the blue and red wires, while the other is controlled by the yellow and white wires.&lt;br /&gt;
&lt;br /&gt;
The ISR completes in about 2.5 us.  Which means that the motor can be commanded to step extremely quickly.  However, the rotor can only keep up with the signal for a limited range, and can move one full step every ~1.2 ms.&lt;br /&gt;
&lt;br /&gt;
== Circuit ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Wiring Up The L293B===&lt;br /&gt;
&lt;br /&gt;
[[Image:l293b.jpg|thumb|400px|Wiring diagram for the L293B|right]]&lt;br /&gt;
&lt;br /&gt;
A DIP16-L293B quad push pull driver is used to control the two windings for the bipolar stepper motor. The provided battery pack for your Mechatronics Lab Kit with the 5V regulator connects into pin 16, the logic supply voltage. A +8.6V voltage from the available power supply handled the necessary voltage to power the motor itself, and feeds into pin 8.&lt;br /&gt;
&lt;br /&gt;
The PIC&amp;#039;s output channels RD0-RD3 wire directly into the L293B&amp;#039;s four inputs. The blue and red wires pertaining to one set of windings connect to pins 3 and 5 of the L293B, and the white and yellow wires for the other half go to pins 11 and 14. The remaining pins 4,5,12 and 13 all connect to a common ground. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
A spec sheet for the L293B can be found here. [http://www.datasheetcatalog.com/datasheets_pdf/L/2/9/3/L293B.shtml]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br clear=all&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Adjusting The Speed With A Trimpot ===&lt;br /&gt;
&lt;br /&gt;
[[Image:potentiometer.jpg|thumb|300px|Potentiometer for manual speed and direction control|right]]&lt;br /&gt;
&lt;br /&gt;
A convenient method of providing a varying input for the stepper motor is with a trimpot, or potentiometer. This circuit utilized a 10k Ohm trimpot to control the speed of the stepper motor along with the direction. The middle wiper connected to pin AN0 of the PIC for analog readouts to help determine what desired speeds and direction are needed. Zero voltage and the max +5V will emulate maximum speed for forwards and backwards directions, with the capability of slower intermediate speeds. The +2.5V threshold will switch the direction for the motor. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;br clear=all&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Completed Circuit ===&lt;br /&gt;
&lt;br /&gt;
The resultant circuit should look like the image below.&lt;br /&gt;
&lt;br /&gt;
[[Image:circuitfull.jpg|thumb|600px|Completed circuit|center]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br clear=all&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Code ==&lt;br /&gt;
&lt;br /&gt;
* [[media:stepper_control.c|stepper_control.c]] - Code can be found here.&lt;br /&gt;
&lt;br /&gt;
==Further Reading==&lt;br /&gt;
&lt;br /&gt;
===Wiki Pages===&lt;br /&gt;
* [[Stepper Motor Theory]]&lt;br /&gt;
* [[Stepper Motor Circuits]]&lt;br /&gt;
* [[Unipolar Stepper Motor Driver Circuit]]&lt;br /&gt;
&lt;br /&gt;
===Microchip Application Notes===&lt;br /&gt;
&lt;br /&gt;
* [[media:00907a.pdf|Stepping Motors Fundamentals]] [http://www.microchip.com/stellent/idcplg?IdcService=SS_GET_PAGE&amp;amp;nodeId=1824&amp;amp;appnote=en012151  -Microchip Document Description]&lt;br /&gt;
* [[media:00822a.pdf|Stepper Motor Microstepping with PIC18C452]] [http://www.microchip.com/stellent/idcplg?IdcService=SS_GET_PAGE&amp;amp;nodeId=1824&amp;amp;appnote=en011997  -Microchip Document Description]&lt;/div&gt;</summary>
		<author><name>DavidEvitt</name></author>
	</entry>
	<entry>
		<id>https://hades.mech.northwestern.edu//index.php?title=Stepper_motor_control_with_the_PIC&amp;diff=6762</id>
		<title>Stepper motor control with the PIC</title>
		<link rel="alternate" type="text/html" href="https://hades.mech.northwestern.edu//index.php?title=Stepper_motor_control_with_the_PIC&amp;diff=6762"/>
		<updated>2008-02-06T18:45:45Z</updated>

		<summary type="html">&lt;p&gt;DavidEvitt: /* Code */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Original Assignment ==&lt;br /&gt;
&lt;br /&gt;
The project is to use an interrupt to achieve stepper motor control along arbitrary motion profiles (e.g., mathematical functions of time, including constant velocity profiles).  For example, if your interrupt is at 1 ms, you can compare your desired step count at the current time to the desired step count at the current time and step the motor forward, backward, or not at all, as appropriate.  A simpler variant of this is constant speed control:  the main program sets the speed, and the interrupt determines whether or not to step the motor at each interrupt time.  Your documentation must provide evidence that the interrupt service routine always completes in less time than the time between interrupts (e.g., you can use the oscilloscope and look at a pin going high at the beginning of the ISR and low at the end).&lt;br /&gt;
&lt;br /&gt;
Also, stepper motors tend to have relatively low torque, but are capable of high speeds.  To improve the torque, we can add a gearhead or other transmission element.  It is convenient to have the motor and gearhead in a single package, so if you see a relatively inexpensive stepper motor + gearhead combination in an appropriate size, let us know!&lt;br /&gt;
&lt;br /&gt;
== Overview ==&lt;br /&gt;
&lt;br /&gt;
Stepper motors are particularly useful devices because they can generate precise movement open loop.  There is lots of information about stepper motors on the web and the wiki.  Refer to the further reading section below as a place to get started.  &lt;br /&gt;
&lt;br /&gt;
This page provides explanation of the circuitry and example code for driving the [[Actuators Available in the Mechatronics Lab|Jameco 163395 8.4V bipolar stepper motor]] available in the mechatronics lab.  The motor is connected to a L293B H-bridge chip controlled by the logic outputs from the PIC.  The PIC reads the voltage from a potentiometer connected to an analogue input and converts it to a desired speed and number of interrupt service routine (ISR) calls until stepping.  The ISR drives the logic outputs controlling the H-bridge and motor.&lt;br /&gt;
&lt;br /&gt;
The ISR completes in about 2.5 us.  Which means that the motor can be commanded to step extremely quickly.  However, the rotor can only keep up with the signal for a limited range, and can move one full step every ~1.2 ms.&lt;br /&gt;
&lt;br /&gt;
== Circuit ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Wiring Up The L293B===&lt;br /&gt;
&lt;br /&gt;
[[Image:l293b.jpg|thumb|400px|Wiring diagram for the L293B|right]]&lt;br /&gt;
&lt;br /&gt;
A DIP16-L293B quad push pull driver is used to control the two windings for the bipolar stepper motor. The provided battery pack for your Mechatronics Lab Kit with the 5V regulator connects into pin 16, the logic supply voltage. A +8.6V voltage from the available power supply handled the necessary voltage to power the motor itself, and feeds into pin 8.&lt;br /&gt;
&lt;br /&gt;
The PIC&amp;#039;s output channels RD0-RD3 wire directly into the L293B&amp;#039;s four inputs. The blue and red wires pertaining to one set of windings connect to pins 3 and 5 of the L293B, and the white and yellow wires for the other half go to pins 11 and 14. The remaining pins 4,5,12 and 13 all connect to a common ground. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
A spec sheet for the L293B can be found here. [http://www.datasheetcatalog.com/datasheets_pdf/L/2/9/3/L293B.shtml]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br clear=all&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Adjusting The Speed With A Trimpot ===&lt;br /&gt;
&lt;br /&gt;
[[Image:potentiometer.jpg|thumb|300px|Potentiometer for manual speed and direction control|right]]&lt;br /&gt;
&lt;br /&gt;
A convenient method of providing a varying input for the stepper motor is with a trimpot, or potentiometer. This circuit utilized a 10k Ohm trimpot to control the speed of the stepper motor along with the direction. The middle wiper connected to pin AN0 of the PIC for analog readouts to help determine what desired speeds and direction are needed. Zero voltage and the max +5V will emulate maximum speed for forwards and backwards directions, with the capability of slower intermediate speeds. The +2.5V threshold will switch the direction for the motor. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;br clear=all&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Completed Circuit ===&lt;br /&gt;
&lt;br /&gt;
The resultant circuit should look like the image below.&lt;br /&gt;
&lt;br /&gt;
[[Image:circuitfull.jpg|thumb|600px|Completed circuit|center]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br clear=all&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Code ==&lt;br /&gt;
&lt;br /&gt;
* [[media:stepper_control.c|stepper_control.c]] - Code can be found here.&lt;br /&gt;
&lt;br /&gt;
==Further Reading==&lt;br /&gt;
&lt;br /&gt;
===Wiki Pages===&lt;br /&gt;
* [[Stepper Motor Theory]]&lt;br /&gt;
* [[Stepper Motor Circuits]]&lt;br /&gt;
* [[Unipolar Stepper Motor Driver Circuit]]&lt;br /&gt;
&lt;br /&gt;
===Microchip Application Notes===&lt;br /&gt;
&lt;br /&gt;
* [[media:00907a.pdf|Stepping Motors Fundamentals]] [http://www.microchip.com/stellent/idcplg?IdcService=SS_GET_PAGE&amp;amp;nodeId=1824&amp;amp;appnote=en012151  -Microchip Document Description]&lt;br /&gt;
* [[media:00822a.pdf|Stepper Motor Microstepping with PIC18C452]] [http://www.microchip.com/stellent/idcplg?IdcService=SS_GET_PAGE&amp;amp;nodeId=1824&amp;amp;appnote=en011997  -Microchip Document Description]&lt;/div&gt;</summary>
		<author><name>DavidEvitt</name></author>
	</entry>
	<entry>
		<id>https://hades.mech.northwestern.edu//index.php?title=File:Stepper_control.c&amp;diff=6761</id>
		<title>File:Stepper control.c</title>
		<link rel="alternate" type="text/html" href="https://hades.mech.northwestern.edu//index.php?title=File:Stepper_control.c&amp;diff=6761"/>
		<updated>2008-02-06T18:45:31Z</updated>

		<summary type="html">&lt;p&gt;DavidEvitt: Code to control bipolar stepper motor&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Code to control bipolar stepper motor&lt;/div&gt;</summary>
		<author><name>DavidEvitt</name></author>
	</entry>
	<entry>
		<id>https://hades.mech.northwestern.edu//index.php?title=Stepper_motor_control_with_the_PIC&amp;diff=6758</id>
		<title>Stepper motor control with the PIC</title>
		<link rel="alternate" type="text/html" href="https://hades.mech.northwestern.edu//index.php?title=Stepper_motor_control_with_the_PIC&amp;diff=6758"/>
		<updated>2008-02-06T18:42:42Z</updated>

		<summary type="html">&lt;p&gt;DavidEvitt: /* Overview */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Original Assignment ==&lt;br /&gt;
&lt;br /&gt;
The project is to use an interrupt to achieve stepper motor control along arbitrary motion profiles (e.g., mathematical functions of time, including constant velocity profiles).  For example, if your interrupt is at 1 ms, you can compare your desired step count at the current time to the desired step count at the current time and step the motor forward, backward, or not at all, as appropriate.  A simpler variant of this is constant speed control:  the main program sets the speed, and the interrupt determines whether or not to step the motor at each interrupt time.  Your documentation must provide evidence that the interrupt service routine always completes in less time than the time between interrupts (e.g., you can use the oscilloscope and look at a pin going high at the beginning of the ISR and low at the end).&lt;br /&gt;
&lt;br /&gt;
Also, stepper motors tend to have relatively low torque, but are capable of high speeds.  To improve the torque, we can add a gearhead or other transmission element.  It is convenient to have the motor and gearhead in a single package, so if you see a relatively inexpensive stepper motor + gearhead combination in an appropriate size, let us know!&lt;br /&gt;
&lt;br /&gt;
== Overview ==&lt;br /&gt;
&lt;br /&gt;
Stepper motors are particularly useful devices because they can generate precise movement open loop.  There is lots of information about stepper motors on the web and the wiki.  Refer to the further reading section below as a place to get started.  &lt;br /&gt;
&lt;br /&gt;
This page provides explanation of the circuitry and example code for driving the [[Actuators Available in the Mechatronics Lab|Jameco 163395 8.4V bipolar stepper motor]] available in the mechatronics lab.  The motor is connected to a L293B H-bridge chip controlled by the logic outputs from the PIC.  The PIC reads the voltage from a potentiometer connected to an analogue input and converts it to a desired speed and number of interrupt service routine (ISR) calls until stepping.  The ISR drives the logic outputs controlling the H-bridge and motor.&lt;br /&gt;
&lt;br /&gt;
The ISR completes in about 2.5 us.  Which means that the motor can be commanded to step extremely quickly.  However, the rotor can only keep up with the signal for a limited range, and can move one full step every ~1.2 ms.&lt;br /&gt;
&lt;br /&gt;
== Circuit ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Wiring Up The L293B===&lt;br /&gt;
&lt;br /&gt;
[[Image:l293b.jpg|thumb|400px|Wiring diagram for the L293B|right]]&lt;br /&gt;
&lt;br /&gt;
A DIP16-L293B quad push pull driver is used to control the two windings for the bipolar stepper motor. The provided battery pack for your Mechatronics Lab Kit with the 5V regulator connects into pin 16, the logic supply voltage. A +8.6V voltage from the available power supply handled the necessary voltage to power the motor itself, and feeds into pin 8.&lt;br /&gt;
&lt;br /&gt;
The PIC&amp;#039;s output channels RD0-RD3 wire directly into the L293B&amp;#039;s four inputs. The blue and red wires pertaining to one set of windings connect to pins 3 and 5 of the L293B, and the white and yellow wires for the other half go to pins 11 and 14. The remaining pins 4,5,12 and 13 all connect to a common ground. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
A spec sheet for the L293B can be found here. [http://www.datasheetcatalog.com/datasheets_pdf/L/2/9/3/L293B.shtml]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br clear=all&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Adjusting The Speed With A Trimpot ===&lt;br /&gt;
&lt;br /&gt;
[[Image:potentiometer.jpg|thumb|300px|Potentiometer for manual speed and direction control|right]]&lt;br /&gt;
&lt;br /&gt;
A convenient method of providing a varying input for the stepper motor is with a trimpot, or potentiometer. This circuit utilized a 10k Ohm trimpot to control the speed of the stepper motor along with the direction. The middle wiper connected to pin AN0 of the PIC for analog readouts to help determine what desired speeds and direction are needed. Zero voltage and the max +5V will emulate maximum speed for forwards and backwards directions, with the capability of slower intermediate speeds. The +2.5V threshold will switch the direction for the motor. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;br clear=all&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Completed Circuit ===&lt;br /&gt;
&lt;br /&gt;
The resultant circuit should look like the image below.&lt;br /&gt;
&lt;br /&gt;
[[Image:circuitfull.jpg|thumb|600px|Completed circuit|center]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br clear=all&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Code ==&lt;br /&gt;
&lt;br /&gt;
* [[media:stepperM.c|stepperM.c]] - Code can be found here.&lt;br /&gt;
&lt;br /&gt;
==Further Reading==&lt;br /&gt;
&lt;br /&gt;
===Wiki Pages===&lt;br /&gt;
* [[Stepper Motor Theory]]&lt;br /&gt;
* [[Stepper Motor Circuits]]&lt;br /&gt;
* [[Unipolar Stepper Motor Driver Circuit]]&lt;br /&gt;
&lt;br /&gt;
===Microchip Application Notes===&lt;br /&gt;
&lt;br /&gt;
* [[media:00907a.pdf|Stepping Motors Fundamentals]] [http://www.microchip.com/stellent/idcplg?IdcService=SS_GET_PAGE&amp;amp;nodeId=1824&amp;amp;appnote=en012151  -Microchip Document Description]&lt;br /&gt;
* [[media:00822a.pdf|Stepper Motor Microstepping with PIC18C452]] [http://www.microchip.com/stellent/idcplg?IdcService=SS_GET_PAGE&amp;amp;nodeId=1824&amp;amp;appnote=en011997  -Microchip Document Description]&lt;/div&gt;</summary>
		<author><name>DavidEvitt</name></author>
	</entry>
	<entry>
		<id>https://hades.mech.northwestern.edu//index.php?title=Stepper_motor_control_with_the_PIC&amp;diff=6751</id>
		<title>Stepper motor control with the PIC</title>
		<link rel="alternate" type="text/html" href="https://hades.mech.northwestern.edu//index.php?title=Stepper_motor_control_with_the_PIC&amp;diff=6751"/>
		<updated>2008-02-06T18:38:55Z</updated>

		<summary type="html">&lt;p&gt;DavidEvitt: /* Overview */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Original Assignment ==&lt;br /&gt;
&lt;br /&gt;
The project is to use an interrupt to achieve stepper motor control along arbitrary motion profiles (e.g., mathematical functions of time, including constant velocity profiles).  For example, if your interrupt is at 1 ms, you can compare your desired step count at the current time to the desired step count at the current time and step the motor forward, backward, or not at all, as appropriate.  A simpler variant of this is constant speed control:  the main program sets the speed, and the interrupt determines whether or not to step the motor at each interrupt time.  Your documentation must provide evidence that the interrupt service routine always completes in less time than the time between interrupts (e.g., you can use the oscilloscope and look at a pin going high at the beginning of the ISR and low at the end).&lt;br /&gt;
&lt;br /&gt;
Also, stepper motors tend to have relatively low torque, but are capable of high speeds.  To improve the torque, we can add a gearhead or other transmission element.  It is convenient to have the motor and gearhead in a single package, so if you see a relatively inexpensive stepper motor + gearhead combination in an appropriate size, let us know!&lt;br /&gt;
&lt;br /&gt;
== Overview ==&lt;br /&gt;
&lt;br /&gt;
Stepper motors are particularly useful devices because they can generate precise movement open loop.  There is lots of information about stepper motors on the web and the wiki.  Refer to the further reading section below as a place to get started.  &lt;br /&gt;
&lt;br /&gt;
This page provides explanation of the circuitry and example code for driving the [[Actuators Available in the Mechatronics Lab|Jameco 163395 8.4V bipolar stepper motor]] available in the mechatronics lab.  The motor is connected to a L293B H-bridge chip controlled by the logic outputs from the PIC.  The PIC reads the voltage from a potentiometer connected to an analogue input and converts it to a desired speed and direction.  The speed and direction control an interrupt service routine driving the logic outputs controlling the H-bridge and motor.&lt;br /&gt;
&lt;br /&gt;
The ISR completes in about 2.5 us.  Which means that the motor can be commanded to step extremely quickly.  However, the rotor can only keep up with the signal for a limited range, and can move one full step every ~1.2 ms.&lt;br /&gt;
&lt;br /&gt;
== Circuit ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Wiring Up The L293B===&lt;br /&gt;
&lt;br /&gt;
[[Image:l293b.jpg|thumb|400px|Wiring diagram for the L293B|right]]&lt;br /&gt;
&lt;br /&gt;
A DIP16-L293B quad push pull driver is used to control the two windings for the bipolar stepper motor. The provided battery pack for your Mechatronics Lab Kit with the 5V regulator connects into pin 16, the logic supply voltage. A +8.6V voltage from the available power supply handled the necessary voltage to power the motor itself, and feeds into pin 8.&lt;br /&gt;
&lt;br /&gt;
The PIC&amp;#039;s output channels RD0-RD3 wire directly into the L293B&amp;#039;s four inputs. The blue and red wires pertaining to one set of windings connect to pins 3 and 5 of the L293B, and the white and yellow wires for the other half go to pins 11 and 14. The remaining pins 4,5,12 and 13 all connect to a common ground. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
A spec sheet for the L293B can be found here. [http://www.datasheetcatalog.com/datasheets_pdf/L/2/9/3/L293B.shtml]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br clear=all&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Adjusting The Speed With A Trimpot ===&lt;br /&gt;
&lt;br /&gt;
[[Image:potentiometer.jpg|thumb|300px|Potentiometer for manual speed and direction control|right]]&lt;br /&gt;
&lt;br /&gt;
A convenient method of providing a varying input for the stepper motor is with a trimpot, or potentiometer. This circuit utilized a 10k Ohm trimpot to control the speed of the stepper motor along with the direction. The middle wiper connected to pin AN0 of the PIC for analog readouts to help determine what desired speeds and direction are needed. Zero voltage and the max +5V will emulate maximum speed for forwards and backwards directions, with the capability of slower intermediate speeds. The +2.5V threshold will switch the direction for the motor. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;br clear=all&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Completed Circuit ===&lt;br /&gt;
&lt;br /&gt;
The resultant circuit should look like the image below.&lt;br /&gt;
&lt;br /&gt;
[[Image:circuitfull.jpg|thumb|600px|Completed circuit|center]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br clear=all&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Code ==&lt;br /&gt;
&lt;br /&gt;
* [[media:stepperM.c|stepperM.c]] - Code can be found here.&lt;br /&gt;
&lt;br /&gt;
==Further Reading==&lt;br /&gt;
&lt;br /&gt;
===Wiki Pages===&lt;br /&gt;
* [[Stepper Motor Theory]]&lt;br /&gt;
* [[Stepper Motor Circuits]]&lt;br /&gt;
* [[Unipolar Stepper Motor Driver Circuit]]&lt;br /&gt;
&lt;br /&gt;
===Microchip Application Notes===&lt;br /&gt;
&lt;br /&gt;
* [[media:00907a.pdf|Stepping Motors Fundamentals]] [http://www.microchip.com/stellent/idcplg?IdcService=SS_GET_PAGE&amp;amp;nodeId=1824&amp;amp;appnote=en012151  -Microchip Document Description]&lt;br /&gt;
* [[media:00822a.pdf|Stepper Motor Microstepping with PIC18C452]] [http://www.microchip.com/stellent/idcplg?IdcService=SS_GET_PAGE&amp;amp;nodeId=1824&amp;amp;appnote=en011997  -Microchip Document Description]&lt;/div&gt;</summary>
		<author><name>DavidEvitt</name></author>
	</entry>
	<entry>
		<id>https://hades.mech.northwestern.edu//index.php?title=Stepper_motor_control_with_the_PIC&amp;diff=6514</id>
		<title>Stepper motor control with the PIC</title>
		<link rel="alternate" type="text/html" href="https://hades.mech.northwestern.edu//index.php?title=Stepper_motor_control_with_the_PIC&amp;diff=6514"/>
		<updated>2008-02-05T20:11:11Z</updated>

		<summary type="html">&lt;p&gt;DavidEvitt: /* Overview */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Original Assignment ==&lt;br /&gt;
&lt;br /&gt;
The project is to use an interrupt to achieve stepper motor control along arbitrary motion profiles (e.g., mathematical functions of time, including constant velocity profiles).  For example, if your interrupt is at 1 ms, you can compare your desired step count at the current time to the desired step count at the current time and step the motor forward, backward, or not at all, as appropriate.  A simpler variant of this is constant speed control:  the main program sets the speed, and the interrupt determines whether or not to step the motor at each interrupt time.  Your documentation must provide evidence that the interrupt service routine always completes in less time than the time between interrupts (e.g., you can use the oscilloscope and look at a pin going high at the beginning of the ISR and low at the end).&lt;br /&gt;
&lt;br /&gt;
Also, stepper motors tend to have relatively low torque, but are capable of high speeds.  To improve the torque, we can add a gearhead or other transmission element.  It is convenient to have the motor and gearhead in a single package, so if you see a relatively inexpensive stepper motor + gearhead combination in an appropriate size, let us know!&lt;br /&gt;
&lt;br /&gt;
== Overview ==&lt;br /&gt;
&lt;br /&gt;
Stepper motors are particularly useful devices because they can generate precise movement open loop.  There is lots of information about stepper motors on the web and the wiki.  Refer to the further reading section below as a place to get started.  &lt;br /&gt;
&lt;br /&gt;
This page provides explanation of the circuitry and example code for driving the [[Actuators Available in the Mechatronics Lab|Jameco 163395 8.4V bipolar stepper motor]] available in the mechatronics lab.  The motor is connected to a L293B H-bridge chip controlled by the logic outputs from the PIC.  The PIC reads the voltage from a potentiometer connected to an analogue input and converts it to a desired speed and direction.  The speed and direction control an interrupt service routine driving the logic outputs controlling the H-bridge and motor.&lt;br /&gt;
&lt;br /&gt;
The ISR completes in less than 750 micro seconds.  Which means that the motor can step every milli second.&lt;br /&gt;
&lt;br /&gt;
== Circuit ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Wiring Up The L293B===&lt;br /&gt;
&lt;br /&gt;
[[Image:l293b.jpg|thumb|400px|Wiring diagram for the L293B|right]]&lt;br /&gt;
&lt;br /&gt;
A DIP16-L293B quad push pull driver is used to control the two windings for the bipolar stepper motor. The provided battery pack for your Mechatronics Lab Kit with the 5V regulator connects into pin 16, the logic supply voltage. A +8.6V voltage from the available power supply handled the necessary voltage to power the motor itself, and feeds into pin 8.&lt;br /&gt;
&lt;br /&gt;
The PIC&amp;#039;s output channels RD0-RD3 wire directly into the L293B&amp;#039;s four inputs. The blue and red wires pertaining to one set of windings connect to pins 3 and 5 of the L293B, and the white and yellow wires for the other half go to pins 11 and 14. The remaining pins 4,5,12 and 13 all connect to a common ground. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
A spec sheet for the L293B can be found here. [http://www.datasheetcatalog.com/datasheets_pdf/L/2/9/3/L293B.shtml]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br clear=all&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Adjusting The Speed With A Trimpot ===&lt;br /&gt;
&lt;br /&gt;
[[Image:potentiometer.jpg|thumb|300px|Potentiometer for manual speed and direction control|right]]&lt;br /&gt;
&lt;br /&gt;
A convenient method of providing a varying input for the stepper motor is with a trimpot, or potentiometer. This circuit utilized a 10k Ohm trimpot to control the speed of the stepper motor along with the direction. The middle wiper connected to pin AN0 of the PIC for analog readouts to help determine what desired speeds and direction are needed. Zero voltage and the max +5V will emulate maximum speed for forwards and backwards directions, with the capability of slower intermediate speeds. The +2.5V threshold will switch the direction for the motor. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;br clear=all&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Completed Circuit ===&lt;br /&gt;
&lt;br /&gt;
The resultant circuit should look like the image below.&lt;br /&gt;
&lt;br /&gt;
[[Image:circuitfull.jpg|thumb|600px|Completed circuit|center]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br clear=all&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Code ==&lt;br /&gt;
&lt;br /&gt;
* [[media:stepperM.c|stepperM.c]] - Code can be found here.&lt;br /&gt;
&lt;br /&gt;
==Further Reading==&lt;br /&gt;
&lt;br /&gt;
===Wiki Pages===&lt;br /&gt;
* [[Stepper Motor Theory]]&lt;br /&gt;
* [[Stepper Motor Circuits]]&lt;br /&gt;
* [[Unipolar Stepper Motor Driver Circuit]]&lt;br /&gt;
&lt;br /&gt;
===Microchip Application Notes===&lt;br /&gt;
&lt;br /&gt;
* [[media:00907a.pdf|Stepping Motors Fundamentals]] [http://www.microchip.com/stellent/idcplg?IdcService=SS_GET_PAGE&amp;amp;nodeId=1824&amp;amp;appnote=en012151  -Microchip Document Description]&lt;br /&gt;
* [[media:00822a.pdf|Stepper Motor Microstepping with PIC18C452]] [http://www.microchip.com/stellent/idcplg?IdcService=SS_GET_PAGE&amp;amp;nodeId=1824&amp;amp;appnote=en011997  -Microchip Document Description]&lt;/div&gt;</summary>
		<author><name>DavidEvitt</name></author>
	</entry>
	<entry>
		<id>https://hades.mech.northwestern.edu//index.php?title=Stepper_motor_control_with_the_PIC&amp;diff=6435</id>
		<title>Stepper motor control with the PIC</title>
		<link rel="alternate" type="text/html" href="https://hades.mech.northwestern.edu//index.php?title=Stepper_motor_control_with_the_PIC&amp;diff=6435"/>
		<updated>2008-02-05T05:55:42Z</updated>

		<summary type="html">&lt;p&gt;DavidEvitt: /* Microchip Application Notes */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Original Assignment ==&lt;br /&gt;
&lt;br /&gt;
The project is to use an interrupt to achieve stepper motor control along arbitrary motion profiles (e.g., mathematical functions of time, including constant velocity profiles).  For example, if your interrupt is at 1 ms, you can compare your desired step count at the current time to the desired step count at the current time and step the motor forward, backward, or not at all, as appropriate.  A simpler variant of this is constant speed control:  the main program sets the speed, and the interrupt determines whether or not to step the motor at each interrupt time.  Your documentation must provide evidence that the interrupt service routine always completes in less time than the time between interrupts (e.g., you can use the oscilloscope and look at a pin going high at the beginning of the ISR and low at the end).&lt;br /&gt;
&lt;br /&gt;
Also, stepper motors tend to have relatively low torque, but are capable of high speeds.  To improve the torque, we can add a gearhead or other transmission element.  It is convenient to have the motor and gearhead in a single package, so if you see a relatively inexpensive stepper motor + gearhead combination in an appropriate size, let us know!&lt;br /&gt;
&lt;br /&gt;
== Overview ==&lt;br /&gt;
&lt;br /&gt;
Stepper motors are particularly useful devices because they can generate precise movement open loop.  There is lots of information about stepper motors on the web and the wiki.  Refer to the further reading section below as a place to get started.  &lt;br /&gt;
&lt;br /&gt;
This page provides explanation of the circuitry and example code for driving the [[Actuators Available in the Mechatronics Lab|Jameco 163395 8.4V bipolar stepper motor]] available in the mechatronics lab.  The motor is connected to a L293B H-bridge chip controlled by the logic outputs from the PIC.  The PIC reads the voltage from a potentiometer connected to an analogue input and converts it to a desired speed and direction.  The speed and direction control an interrupt service routine driving the logic outputs controlling the H-bridge and motor.&lt;br /&gt;
&lt;br /&gt;
== Circuit ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Wiring Up The L293B===&lt;br /&gt;
&lt;br /&gt;
[[Image:l293b.jpg|thumb|400px|Wiring diagram for the L293B|right]]&lt;br /&gt;
&lt;br /&gt;
A DIP16-L293B quad push pull driver is used to control the two windings for the bipolar stepper motor. The provided battery pack for your Mechatronics Lab Kit with the 5V regulator connects into pin 16, the logic supply voltage. A +8.6V voltage from the available power supply handled the necessary voltage to power the motor itself, and feeds into pin 8.&lt;br /&gt;
&lt;br /&gt;
The PIC&amp;#039;s output channels RD0-RD3 wire directly into the L293B&amp;#039;s four inputs. The blue and red wires pertaining to one set of windings connect to pins 3 and 5 of the L293B, and the white and yellow wires for the other half go to pins 11 and 14. The remaining pins 4,5,12 and 13 all connect to a common ground. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
A spec sheet for the L293B can be found here. [http://www.datasheetcatalog.com/datasheets_pdf/L/2/9/3/L293B.shtml]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br clear=all&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Adjusting The Speed With A Trimpot ===&lt;br /&gt;
&lt;br /&gt;
[[Image:potentiometer.jpg|thumb|300px|Potentiometer for manual speed and direction control|right]]&lt;br /&gt;
&lt;br /&gt;
A convenient method of providing a varying input for the stepper motor is with a trimpot, or potentiometer. This circuit utilized a 10k Ohm trimpot to control the speed of the stepper motor along with the direction. The middle wiper connected to pin AN0 of the PIC for analog readouts to help determine what desired speeds and direction are needed. Zero voltage and the max +5V will emulate maximum speed for forwards and backwards directions, with the capability of slower intermediate speeds. The +2.5V threshold will switch the direction for the motor. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;br clear=all&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Completed Circuit ===&lt;br /&gt;
&lt;br /&gt;
The resultant circuit should look like the image below.&lt;br /&gt;
&lt;br /&gt;
[[Image:circuitfull.jpg|thumb|600px|Completed circuit|center]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br clear=all&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Code ==&lt;br /&gt;
&lt;br /&gt;
* [[media:stepperM.c|stepperM.c]] - Code can be found here.&lt;br /&gt;
&lt;br /&gt;
==Further Reading==&lt;br /&gt;
&lt;br /&gt;
===Wiki Pages===&lt;br /&gt;
* [[Stepper Motor Theory]]&lt;br /&gt;
* [[Stepper Motor Circuits]]&lt;br /&gt;
* [[Unipolar Stepper Motor Driver Circuit]]&lt;br /&gt;
&lt;br /&gt;
===Microchip Application Notes===&lt;br /&gt;
&lt;br /&gt;
* [[media:00907a.pdf|Stepping Motors Fundamentals]] [http://www.microchip.com/stellent/idcplg?IdcService=SS_GET_PAGE&amp;amp;nodeId=1824&amp;amp;appnote=en012151  -Microchip Document Description]&lt;br /&gt;
* [[media:00822a.pdf|Stepper Motor Microstepping with PIC18C452]] [http://www.microchip.com/stellent/idcplg?IdcService=SS_GET_PAGE&amp;amp;nodeId=1824&amp;amp;appnote=en011997  -Microchip Document Description]&lt;/div&gt;</summary>
		<author><name>DavidEvitt</name></author>
	</entry>
	<entry>
		<id>https://hades.mech.northwestern.edu//index.php?title=Stepper_motor_control_with_the_PIC&amp;diff=6434</id>
		<title>Stepper motor control with the PIC</title>
		<link rel="alternate" type="text/html" href="https://hades.mech.northwestern.edu//index.php?title=Stepper_motor_control_with_the_PIC&amp;diff=6434"/>
		<updated>2008-02-05T05:51:26Z</updated>

		<summary type="html">&lt;p&gt;DavidEvitt: /* Microchip Application Notes */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Original Assignment ==&lt;br /&gt;
&lt;br /&gt;
The project is to use an interrupt to achieve stepper motor control along arbitrary motion profiles (e.g., mathematical functions of time, including constant velocity profiles).  For example, if your interrupt is at 1 ms, you can compare your desired step count at the current time to the desired step count at the current time and step the motor forward, backward, or not at all, as appropriate.  A simpler variant of this is constant speed control:  the main program sets the speed, and the interrupt determines whether or not to step the motor at each interrupt time.  Your documentation must provide evidence that the interrupt service routine always completes in less time than the time between interrupts (e.g., you can use the oscilloscope and look at a pin going high at the beginning of the ISR and low at the end).&lt;br /&gt;
&lt;br /&gt;
Also, stepper motors tend to have relatively low torque, but are capable of high speeds.  To improve the torque, we can add a gearhead or other transmission element.  It is convenient to have the motor and gearhead in a single package, so if you see a relatively inexpensive stepper motor + gearhead combination in an appropriate size, let us know!&lt;br /&gt;
&lt;br /&gt;
== Overview ==&lt;br /&gt;
&lt;br /&gt;
Stepper motors are particularly useful devices because they can generate precise movement open loop.  There is lots of information about stepper motors on the web and the wiki.  Refer to the further reading section below as a place to get started.  &lt;br /&gt;
&lt;br /&gt;
This page provides explanation of the circuitry and example code for driving the [[Actuators Available in the Mechatronics Lab|Jameco 163395 8.4V bipolar stepper motor]] available in the mechatronics lab.  The motor is connected to a L293B H-bridge chip controlled by the logic outputs from the PIC.  The PIC reads the voltage from a potentiometer connected to an analogue input and converts it to a desired speed and direction.  The speed and direction control an interrupt service routine driving the logic outputs controlling the H-bridge and motor.&lt;br /&gt;
&lt;br /&gt;
== Circuit ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Wiring Up The L293B===&lt;br /&gt;
&lt;br /&gt;
[[Image:l293b.jpg|thumb|400px|Wiring diagram for the L293B|right]]&lt;br /&gt;
&lt;br /&gt;
A DIP16-L293B quad push pull driver is used to control the two windings for the bipolar stepper motor. The provided battery pack for your Mechatronics Lab Kit with the 5V regulator connects into pin 16, the logic supply voltage. A +8.6V voltage from the available power supply handled the necessary voltage to power the motor itself, and feeds into pin 8.&lt;br /&gt;
&lt;br /&gt;
The PIC&amp;#039;s output channels RD0-RD3 wire directly into the L293B&amp;#039;s four inputs. The blue and red wires pertaining to one set of windings connect to pins 3 and 5 of the L293B, and the white and yellow wires for the other half go to pins 11 and 14. The remaining pins 4,5,12 and 13 all connect to a common ground. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
A spec sheet for the L293B can be found here. [http://www.datasheetcatalog.com/datasheets_pdf/L/2/9/3/L293B.shtml]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br clear=all&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Adjusting The Speed With A Trimpot ===&lt;br /&gt;
&lt;br /&gt;
[[Image:potentiometer.jpg|thumb|300px|Potentiometer for manual speed and direction control|right]]&lt;br /&gt;
&lt;br /&gt;
A convenient method of providing a varying input for the stepper motor is with a trimpot, or potentiometer. This circuit utilized a 10k Ohm trimpot to control the speed of the stepper motor along with the direction. The middle wiper connected to pin AN0 of the PIC for analog readouts to help determine what desired speeds and direction are needed. Zero voltage and the max +5V will emulate maximum speed for forwards and backwards directions, with the capability of slower intermediate speeds. The +2.5V threshold will switch the direction for the motor. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;br clear=all&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Completed Circuit ===&lt;br /&gt;
&lt;br /&gt;
The resultant circuit should look like the image below.&lt;br /&gt;
&lt;br /&gt;
[[Image:circuitfull.jpg|thumb|600px|Completed circuit|center]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br clear=all&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Code ==&lt;br /&gt;
&lt;br /&gt;
* [[media:stepperM.c|stepperM.c]] - Code can be found here.&lt;br /&gt;
&lt;br /&gt;
==Further Reading==&lt;br /&gt;
&lt;br /&gt;
===Wiki Pages===&lt;br /&gt;
* [[Stepper Motor Theory]]&lt;br /&gt;
* [[Stepper Motor Circuits]]&lt;br /&gt;
* [[Unipolar Stepper Motor Driver Circuit]]&lt;br /&gt;
&lt;br /&gt;
===Microchip Application Notes===&lt;br /&gt;
&lt;br /&gt;
* [[media:00907a.pdf|Stepping Motors Fundamentals]] [http://www.microchip.com/stellent/idcplg?IdcService=SS_GET_PAGE&amp;amp;nodeId=1824&amp;amp;appnote=en012151] =&amp;gt; Microchip Description&lt;br /&gt;
* [[media:00822a.pdf|Stepper Motor Microstepping with PIC18C452]] [http://www.microchip.com/stellent/idcplg?IdcService=SS_GET_PAGE&amp;amp;nodeId=1824&amp;amp;appnote=en011997] =&amp;gt; Microchip Description&lt;/div&gt;</summary>
		<author><name>DavidEvitt</name></author>
	</entry>
	<entry>
		<id>https://hades.mech.northwestern.edu//index.php?title=File:00822a.pdf&amp;diff=6433</id>
		<title>File:00822a.pdf</title>
		<link rel="alternate" type="text/html" href="https://hades.mech.northwestern.edu//index.php?title=File:00822a.pdf&amp;diff=6433"/>
		<updated>2008-02-05T05:51:04Z</updated>

		<summary type="html">&lt;p&gt;DavidEvitt: Microchip Application Note AN822 Stepper Motor Microstepping with PIC18C452&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Microchip Application Note AN822 Stepper Motor Microstepping with PIC18C452&lt;/div&gt;</summary>
		<author><name>DavidEvitt</name></author>
	</entry>
	<entry>
		<id>https://hades.mech.northwestern.edu//index.php?title=File:00907a.pdf&amp;diff=6432</id>
		<title>File:00907a.pdf</title>
		<link rel="alternate" type="text/html" href="https://hades.mech.northwestern.edu//index.php?title=File:00907a.pdf&amp;diff=6432"/>
		<updated>2008-02-05T05:48:41Z</updated>

		<summary type="html">&lt;p&gt;DavidEvitt: Microchip Application Note AN907 Stepping Motors Fundamentals&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Microchip Application Note AN907 Stepping Motors Fundamentals&lt;/div&gt;</summary>
		<author><name>DavidEvitt</name></author>
	</entry>
	<entry>
		<id>https://hades.mech.northwestern.edu//index.php?title=Stepper_motor_control_with_the_PIC&amp;diff=6431</id>
		<title>Stepper motor control with the PIC</title>
		<link rel="alternate" type="text/html" href="https://hades.mech.northwestern.edu//index.php?title=Stepper_motor_control_with_the_PIC&amp;diff=6431"/>
		<updated>2008-02-05T05:38:20Z</updated>

		<summary type="html">&lt;p&gt;DavidEvitt: /* Overview */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Original Assignment ==&lt;br /&gt;
&lt;br /&gt;
The project is to use an interrupt to achieve stepper motor control along arbitrary motion profiles (e.g., mathematical functions of time, including constant velocity profiles).  For example, if your interrupt is at 1 ms, you can compare your desired step count at the current time to the desired step count at the current time and step the motor forward, backward, or not at all, as appropriate.  A simpler variant of this is constant speed control:  the main program sets the speed, and the interrupt determines whether or not to step the motor at each interrupt time.  Your documentation must provide evidence that the interrupt service routine always completes in less time than the time between interrupts (e.g., you can use the oscilloscope and look at a pin going high at the beginning of the ISR and low at the end).&lt;br /&gt;
&lt;br /&gt;
Also, stepper motors tend to have relatively low torque, but are capable of high speeds.  To improve the torque, we can add a gearhead or other transmission element.  It is convenient to have the motor and gearhead in a single package, so if you see a relatively inexpensive stepper motor + gearhead combination in an appropriate size, let us know!&lt;br /&gt;
&lt;br /&gt;
== Overview ==&lt;br /&gt;
&lt;br /&gt;
Stepper motors are particularly useful devices because they can generate precise movement open loop.  There is lots of information about stepper motors on the web and the wiki.  Refer to the further reading section below as a place to get started.  &lt;br /&gt;
&lt;br /&gt;
This page provides explanation of the circuitry and example code for driving the [[Actuators Available in the Mechatronics Lab|Jameco 163395 8.4V bipolar stepper motor]] available in the mechatronics lab.  The motor is connected to a L293B H-bridge chip controlled by the logic outputs from the PIC.  The PIC reads the voltage from a potentiometer connected to an analogue input and converts it to a desired speed and direction.  The speed and direction control an interrupt service routine driving the logic outputs controlling the H-bridge and motor.&lt;br /&gt;
&lt;br /&gt;
== Circuit ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Wiring Up The L293B===&lt;br /&gt;
&lt;br /&gt;
[[Image:l293b.jpg|thumb|400px|Wiring diagram for the L293B|right]]&lt;br /&gt;
&lt;br /&gt;
A DIP16-L293B quad push pull driver is used to control the two windings for the bipolar stepper motor. The provided battery pack for your Mechatronics Lab Kit with the 5V regulator connects into pin 16, the logic supply voltage. A +8.6V voltage from the available power supply handled the necessary voltage to power the motor itself, and feeds into pin 8.&lt;br /&gt;
&lt;br /&gt;
The PIC&amp;#039;s output channels RD0-RD3 wire directly into the L293B&amp;#039;s four inputs. The blue and red wires pertaining to one set of windings connect to pins 3 and 5 of the L293B, and the white and yellow wires for the other half go to pins 11 and 14. The remaining pins 4,5,12 and 13 all connect to a common ground. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
A spec sheet for the L293B can be found here. [http://www.datasheetcatalog.com/datasheets_pdf/L/2/9/3/L293B.shtml]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br clear=all&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Adjusting The Speed With A Trimpot ===&lt;br /&gt;
&lt;br /&gt;
[[Image:potentiometer.jpg|thumb|300px|Potentiometer for manual speed and direction control|right]]&lt;br /&gt;
&lt;br /&gt;
A convenient method of providing a varying input for the stepper motor is with a trimpot, or potentiometer. This circuit utilized a 10k Ohm trimpot to control the speed of the stepper motor along with the direction. The middle wiper connected to pin AN0 of the PIC for analog readouts to help determine what desired speeds and direction are needed. Zero voltage and the max +5V will emulate maximum speed for forwards and backwards directions, with the capability of slower intermediate speeds. The +2.5V threshold will switch the direction for the motor. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;br clear=all&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Completed Circuit ===&lt;br /&gt;
&lt;br /&gt;
The resultant circuit should look like the image below.&lt;br /&gt;
&lt;br /&gt;
[[Image:circuitfull.jpg|thumb|600px|Completed circuit|center]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br clear=all&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Code ==&lt;br /&gt;
&lt;br /&gt;
* [[media:stepperM.c|stepperM.c]] - Code can be found here.&lt;br /&gt;
&lt;br /&gt;
==Further Reading==&lt;br /&gt;
&lt;br /&gt;
===Wiki Pages===&lt;br /&gt;
* [[Stepper Motor Theory]]&lt;br /&gt;
* [[Stepper Motor Circuits]]&lt;br /&gt;
* [[Unipolar Stepper Motor Driver Circuit]]&lt;br /&gt;
&lt;br /&gt;
===Microchip Application Notes===&lt;/div&gt;</summary>
		<author><name>DavidEvitt</name></author>
	</entry>
</feed>