<?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=RaymondMui</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=RaymondMui"/>
	<link rel="alternate" type="text/html" href="https://hades.mech.northwestern.edu//index.php/Special:Contributions/RaymondMui"/>
	<updated>2026-04-16T00:38:53Z</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=7722</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=7722"/>
		<updated>2008-03-19T06:19:33Z</updated>

		<summary type="html">&lt;p&gt;RaymondMui: /* 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 axises, and then tracks the emitter with a laser.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br clear=all&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== [[Robot Snake]] ===&lt;br /&gt;
&lt;br /&gt;
The intro for the snake will be added later.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br clear=all&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== [[Programmable Stiffness Joint]] === &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;
A continuously variable tramsission is intended to provide a transition from low to high gear ratios while keeping the engine input running at the max efficient speed. It is achieved by a system of variable radius pulleys and a v-belt.&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;
=== [[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;
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;
=== [[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>RaymondMui</name></author>
	</entry>
	<entry>
		<id>https://hades.mech.northwestern.edu//index.php?title=ME_333_final_projects&amp;diff=7721</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=7721"/>
		<updated>2008-03-19T06:19:22Z</updated>

		<summary type="html">&lt;p&gt;RaymondMui: /* 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 axises, and then tracks the emitter with a laser.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br clear=all&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== [[Robot Snake]] ===&lt;br /&gt;
&lt;br /&gt;
The intro for the snake will be added later.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br clear=all&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== [[Programmable Stiffness Joint]] === &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|thumb200px]]&lt;br /&gt;
&lt;br /&gt;
A continuously variable tramsission is intended to provide a transition from low to high gear ratios while keeping the engine input running at the max efficient speed. It is achieved by a system of variable radius pulleys and a v-belt.&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;
=== [[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;
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;
=== [[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>RaymondMui</name></author>
	</entry>
	<entry>
		<id>https://hades.mech.northwestern.edu//index.php?title=ME_333_final_projects&amp;diff=7720</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=7720"/>
		<updated>2008-03-19T06:18:55Z</updated>

		<summary type="html">&lt;p&gt;RaymondMui: /* 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 axises, and then tracks the emitter with a laser.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br clear=all&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== [[Robot Snake]] ===&lt;br /&gt;
&lt;br /&gt;
The intro for the snake will be added later.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br clear=all&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== [[Programmable Stiffness Joint]] === &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|300px|Completed CVT assembly]]&lt;br /&gt;
&lt;br /&gt;
A continuously variable tramsission is intended to provide a transition from low to high gear ratios while keeping the engine input running at the max efficient speed. It is achieved by a system of variable radius pulleys and a v-belt.&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;
=== [[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;
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;
=== [[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>RaymondMui</name></author>
	</entry>
	<entry>
		<id>https://hades.mech.northwestern.edu//index.php?title=File:CVT_circuit_diagram.jpg&amp;diff=7568</id>
		<title>File:CVT circuit diagram.jpg</title>
		<link rel="alternate" type="text/html" href="https://hades.mech.northwestern.edu//index.php?title=File:CVT_circuit_diagram.jpg&amp;diff=7568"/>
		<updated>2008-03-17T19:59:48Z</updated>

		<summary type="html">&lt;p&gt;RaymondMui: CVT control circuit diagram&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;CVT control circuit diagram&lt;/div&gt;</summary>
		<author><name>RaymondMui</name></author>
	</entry>
	<entry>
		<id>https://hades.mech.northwestern.edu//index.php?title=Continuously_Variable_Transmission&amp;diff=7534</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=7534"/>
		<updated>2008-03-16T05:35:57Z</updated>

		<summary type="html">&lt;p&gt;RaymondMui: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Team members ==&lt;br /&gt;
&lt;br /&gt;
* David Evitt&lt;br /&gt;
* Tyler Miller&lt;br /&gt;
* Raymond Mui&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>RaymondMui</name></author>
	</entry>
	<entry>
		<id>https://hades.mech.northwestern.edu//index.php?title=Continuously_Variable_Transmission&amp;diff=7533</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=7533"/>
		<updated>2008-03-16T05:35:37Z</updated>

		<summary type="html">&lt;p&gt;RaymondMui: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>RaymondMui</name></author>
	</entry>
	<entry>
		<id>https://hades.mech.northwestern.edu//index.php?title=Continuously_Variable_Transmission&amp;diff=7530</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=7530"/>
		<updated>2008-03-16T05:29:44Z</updated>

		<summary type="html">&lt;p&gt;RaymondMui: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Team members ==&lt;br /&gt;
&lt;br /&gt;
* David Evitt&lt;br /&gt;
* Tyler Miller&lt;br /&gt;
* Raymond Mui&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>RaymondMui</name></author>
	</entry>
	<entry>
		<id>https://hades.mech.northwestern.edu//index.php?title=ME_333_final_projects&amp;diff=7529</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=7529"/>
		<updated>2008-03-16T05:29:04Z</updated>

		<summary type="html">&lt;p&gt;RaymondMui: /* Continously 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 axises, and then tracks the emitter with a laser.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br clear=all&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== [[Robot Snake]] ===&lt;br /&gt;
&lt;br /&gt;
The intro for the snake will be added later.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br clear=all&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== [[Learning Oscillator]] ===&lt;br /&gt;
&lt;br /&gt;
[[Image:vibrator.jpg|right|thumb|200px]]&lt;br /&gt;
&lt;br /&gt;
The Learning Oscillator is given a desired acceleration profile for a linear oscillating mass. It then &amp;#039;learns&amp;#039; and adjusts the frequency of its force source so the oscillating mass eventually matches the desired acceleration profile. &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;
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;
A continuously variable tramsission is intended to provide a transition from low to high gear ratios while keeping the engine input running at the max efficient speed. It is achieved by a system of variable radius pulleys and a v-belt.&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;
=== [[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;/div&gt;</summary>
		<author><name>RaymondMui</name></author>
	</entry>
	<entry>
		<id>https://hades.mech.northwestern.edu//index.php?title=File:CVTcontrolcode.c&amp;diff=7504</id>
		<title>File:CVTcontrolcode.c</title>
		<link rel="alternate" type="text/html" href="https://hades.mech.northwestern.edu//index.php?title=File:CVTcontrolcode.c&amp;diff=7504"/>
		<updated>2008-03-16T01:19:21Z</updated>

		<summary type="html">&lt;p&gt;RaymondMui: The CVT control code&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The CVT control code&lt;/div&gt;</summary>
		<author><name>RaymondMui</name></author>
	</entry>
	<entry>
		<id>https://hades.mech.northwestern.edu//index.php?title=File:CVT_circuit.jpg&amp;diff=7500</id>
		<title>File:CVT circuit.jpg</title>
		<link rel="alternate" type="text/html" href="https://hades.mech.northwestern.edu//index.php?title=File:CVT_circuit.jpg&amp;diff=7500"/>
		<updated>2008-03-16T01:13:27Z</updated>

		<summary type="html">&lt;p&gt;RaymondMui: completed circuit.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;completed circuit.&lt;/div&gt;</summary>
		<author><name>RaymondMui</name></author>
	</entry>
	<entry>
		<id>https://hades.mech.northwestern.edu//index.php?title=File:CVT_limit_switches.jpg&amp;diff=7485</id>
		<title>File:CVT limit switches.jpg</title>
		<link rel="alternate" type="text/html" href="https://hades.mech.northwestern.edu//index.php?title=File:CVT_limit_switches.jpg&amp;diff=7485"/>
		<updated>2008-03-15T00:26:23Z</updated>

		<summary type="html">&lt;p&gt;RaymondMui: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>RaymondMui</name></author>
	</entry>
	<entry>
		<id>https://hades.mech.northwestern.edu//index.php?title=File:CVT_setup1.jpg&amp;diff=7480</id>
		<title>File:CVT setup1.jpg</title>
		<link rel="alternate" type="text/html" href="https://hades.mech.northwestern.edu//index.php?title=File:CVT_setup1.jpg&amp;diff=7480"/>
		<updated>2008-03-15T00:08:37Z</updated>

		<summary type="html">&lt;p&gt;RaymondMui: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>RaymondMui</name></author>
	</entry>
	<entry>
		<id>https://hades.mech.northwestern.edu//index.php?title=File:CVT_setup1.jpg.jpg&amp;diff=7478</id>
		<title>File:CVT setup1.jpg.jpg</title>
		<link rel="alternate" type="text/html" href="https://hades.mech.northwestern.edu//index.php?title=File:CVT_setup1.jpg.jpg&amp;diff=7478"/>
		<updated>2008-03-15T00:04:34Z</updated>

		<summary type="html">&lt;p&gt;RaymondMui: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>RaymondMui</name></author>
	</entry>
	<entry>
		<id>https://hades.mech.northwestern.edu//index.php?title=File:CVT_control_circuit.jpg&amp;diff=7468</id>
		<title>File:CVT control circuit.jpg</title>
		<link rel="alternate" type="text/html" href="https://hades.mech.northwestern.edu//index.php?title=File:CVT_control_circuit.jpg&amp;diff=7468"/>
		<updated>2008-03-14T23:35:30Z</updated>

		<summary type="html">&lt;p&gt;RaymondMui: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>RaymondMui</name></author>
	</entry>
	<entry>
		<id>https://hades.mech.northwestern.edu//index.php?title=ME_333_final_projects&amp;diff=7343</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=7343"/>
		<updated>2008-03-13T05:52:05Z</updated>

		<summary type="html">&lt;p&gt;RaymondMui: /* Continously 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 axises, and then tracks the emitter with a laser.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br clear=all&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== [[Project Title 2]] ===&lt;br /&gt;
&lt;br /&gt;
[[Image:Pictopic.jpg|right|thumb|200px]] &lt;br /&gt;
&lt;br /&gt;
Here are a few words describing your project, just a teaser to go with the picture at the side.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br clear=all&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== [[Learning Oscillator]] ===&lt;br /&gt;
&lt;br /&gt;
[[Image:vibrator.jpg|right|thumb|200px]]&lt;br /&gt;
&lt;br /&gt;
The Learning Oscillator is given a desired acceleration profile for a linear oscillating mass. It then &amp;#039;learns&amp;#039; and adjusts the frequency of its force source so the oscillating mass eventually matches the desired acceleration profile. &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;
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;
=== [[Continously Variable Transmission]] ===&lt;br /&gt;
&lt;br /&gt;
A continuously variable tramsission is intended to provide a transition from low to high gear ratios while keeping the engine input running at the max efficient speed. It is achieved by a system of variable radius pulleys and a v-belt.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br clear=all&amp;gt;&lt;/div&gt;</summary>
		<author><name>RaymondMui</name></author>
	</entry>
	<entry>
		<id>https://hades.mech.northwestern.edu//index.php?title=ME_333_final_projects&amp;diff=7325</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=7325"/>
		<updated>2008-03-13T04:48:58Z</updated>

		<summary type="html">&lt;p&gt;RaymondMui: /* ME 333 Final Projects 2008 */&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 is a device that follows a moving infrared light. It continuously detects the position of an infrared emitter in two axises, and then tracks the emitter with a laser.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br clear=all&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== [[Project Title 2]] ===&lt;br /&gt;
&lt;br /&gt;
[[Image:Pictopic.jpg|right|thumb|200px]] &lt;br /&gt;
&lt;br /&gt;
Here are a few words describing your project, just a teaser to go with the picture at the side.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br clear=all&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== [[Learning Oscillator]] ===&lt;br /&gt;
&lt;br /&gt;
[[Image:vibrator.jpg|right|thumb|200px]]&lt;br /&gt;
&lt;br /&gt;
The Learning Oscillator is given a desired acceleration profile for a linear oscillating mass. It then &amp;#039;learns&amp;#039; and adjusts the frequency of its force source so the oscillating mass eventually matches the desired acceleration profile. &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;
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;
=== [[Continously Variable Transmission]] ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br clear=all&amp;gt;&lt;/div&gt;</summary>
		<author><name>RaymondMui</name></author>
	</entry>
	<entry>
		<id>https://hades.mech.northwestern.edu//index.php?title=Stepper_motor_control_with_the_PIC&amp;diff=6271</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=6271"/>
		<updated>2008-02-03T06:05:51Z</updated>

		<summary type="html">&lt;p&gt;RaymondMui: /* Completed Circuit */&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;
== 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;/div&gt;</summary>
		<author><name>RaymondMui</name></author>
	</entry>
	<entry>
		<id>https://hades.mech.northwestern.edu//index.php?title=Stepper_motor_control_with_the_PIC&amp;diff=6270</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=6270"/>
		<updated>2008-02-03T06:05:25Z</updated>

		<summary type="html">&lt;p&gt;RaymondMui: /* Completed Circuit */&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;
== 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]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br clear=all&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Code ==&lt;/div&gt;</summary>
		<author><name>RaymondMui</name></author>
	</entry>
	<entry>
		<id>https://hades.mech.northwestern.edu//index.php?title=Stepper_motor_control_with_the_PIC&amp;diff=6269</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=6269"/>
		<updated>2008-02-03T06:03:58Z</updated>

		<summary type="html">&lt;p&gt;RaymondMui: /* Adjusting The Speed With A Trimpot */&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;
== 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 to the right.&lt;br /&gt;
&lt;br /&gt;
[[Image:circuitfull.jpg|thumb|500px|Completed circuit|right]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br clear=all&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Code ==&lt;/div&gt;</summary>
		<author><name>RaymondMui</name></author>
	</entry>
	<entry>
		<id>https://hades.mech.northwestern.edu//index.php?title=Stepper_motor_control_with_the_PIC&amp;diff=6268</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=6268"/>
		<updated>2008-02-03T06:01:28Z</updated>

		<summary type="html">&lt;p&gt;RaymondMui: /* Completed Circuit */&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;
== 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. For this case, it will serve as a voltage divider, with the wiper connected to the analog input for the PIC. 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 to the right.&lt;br /&gt;
&lt;br /&gt;
[[Image:circuitfull.jpg|thumb|500px|Completed circuit|right]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br clear=all&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Code ==&lt;/div&gt;</summary>
		<author><name>RaymondMui</name></author>
	</entry>
	<entry>
		<id>https://hades.mech.northwestern.edu//index.php?title=Stepper_motor_control_with_the_PIC&amp;diff=6267</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=6267"/>
		<updated>2008-02-03T06:00:21Z</updated>

		<summary type="html">&lt;p&gt;RaymondMui: /* Wiring Up The L293B */&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;
== 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. For this case, it will serve as a voltage divider, with the wiper connected to the analog input for the PIC. 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 to the right. Note the wiring pairs for the stepper.&lt;br /&gt;
&lt;br /&gt;
[[Image:circuitfull.jpg|thumb|500px|Completed circuit|right]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br clear=all&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Code ==&lt;/div&gt;</summary>
		<author><name>RaymondMui</name></author>
	</entry>
	<entry>
		<id>https://hades.mech.northwestern.edu//index.php?title=Stepper_motor_control_with_the_PIC&amp;diff=6266</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=6266"/>
		<updated>2008-02-03T05:56:37Z</updated>

		<summary type="html">&lt;p&gt;RaymondMui: /* Completed Circuit */&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;
== 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. +5V powers the logic supply voltage for pin 16, and +8.6V feeds into the supply voltage 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. For this case, it will serve as a voltage divider, with the wiper connected to the analog input for the PIC. 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 to the right. Note the wiring pairs for the stepper.&lt;br /&gt;
&lt;br /&gt;
[[Image:circuitfull.jpg|thumb|500px|Completed circuit|right]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br clear=all&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Code ==&lt;/div&gt;</summary>
		<author><name>RaymondMui</name></author>
	</entry>
	<entry>
		<id>https://hades.mech.northwestern.edu//index.php?title=Stepper_motor_control_with_the_PIC&amp;diff=6265</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=6265"/>
		<updated>2008-02-03T05:55:30Z</updated>

		<summary type="html">&lt;p&gt;RaymondMui: /* Completed Circuit */&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;
== 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. +5V powers the logic supply voltage for pin 16, and +8.6V feeds into the supply voltage 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. For this case, it will serve as a voltage divider, with the wiper connected to the analog input for the PIC. 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 to the right. &lt;br /&gt;
&lt;br /&gt;
[[Image:circuitfull.jpg|thumb|500px|Completed circuit|right]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br clear=all&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Code ==&lt;/div&gt;</summary>
		<author><name>RaymondMui</name></author>
	</entry>
	<entry>
		<id>https://hades.mech.northwestern.edu//index.php?title=File:Circuitfull.jpg&amp;diff=6264</id>
		<title>File:Circuitfull.jpg</title>
		<link rel="alternate" type="text/html" href="https://hades.mech.northwestern.edu//index.php?title=File:Circuitfull.jpg&amp;diff=6264"/>
		<updated>2008-02-03T05:55:07Z</updated>

		<summary type="html">&lt;p&gt;RaymondMui: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>RaymondMui</name></author>
	</entry>
	<entry>
		<id>https://hades.mech.northwestern.edu//index.php?title=Stepper_motor_control_with_the_PIC&amp;diff=6263</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=6263"/>
		<updated>2008-02-03T05:53:54Z</updated>

		<summary type="html">&lt;p&gt;RaymondMui: /* Completed Circuit */&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;
== 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. +5V powers the logic supply voltage for pin 16, and +8.6V feeds into the supply voltage 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. For this case, it will serve as a voltage divider, with the wiper connected to the analog input for the PIC. 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 to the right. &lt;br /&gt;
&lt;br /&gt;
[[Image:circuitfull.jpg|thumb|300px|Completed circuit|right]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br clear=all&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Code ==&lt;/div&gt;</summary>
		<author><name>RaymondMui</name></author>
	</entry>
	<entry>
		<id>https://hades.mech.northwestern.edu//index.php?title=Stepper_motor_control_with_the_PIC&amp;diff=6262</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=6262"/>
		<updated>2008-02-03T05:53:36Z</updated>

		<summary type="html">&lt;p&gt;RaymondMui: /* Circuit */&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;
== 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. +5V powers the logic supply voltage for pin 16, and +8.6V feeds into the supply voltage 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. For this case, it will serve as a voltage divider, with the wiper connected to the analog input for the PIC. 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 to the right. &lt;br /&gt;
&lt;br /&gt;
[[Image:potentiometer.jpg|thumb|300px|Completed circuit|right]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br clear=all&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Code ==&lt;/div&gt;</summary>
		<author><name>RaymondMui</name></author>
	</entry>
	<entry>
		<id>https://hades.mech.northwestern.edu//index.php?title=Stepper_motor_control_with_the_PIC&amp;diff=6261</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=6261"/>
		<updated>2008-02-03T05:45:59Z</updated>

		<summary type="html">&lt;p&gt;RaymondMui: /* The Stepper Motor */&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;
== 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. +5V powers the logic supply voltage for pin 16, and +8.6V feeds into the supply voltage 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. For this case, it will serve as a voltage divider, with the wiper connected to the analog input for the PIC. 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;
== Code ==&lt;/div&gt;</summary>
		<author><name>RaymondMui</name></author>
	</entry>
	<entry>
		<id>https://hades.mech.northwestern.edu//index.php?title=Stepper_motor_control_with_the_PIC&amp;diff=6260</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=6260"/>
		<updated>2008-02-03T05:43:42Z</updated>

		<summary type="html">&lt;p&gt;RaymondMui: /* Wiring Up The L293B */&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;
== Circuit ==&lt;br /&gt;
&lt;br /&gt;
=== The Stepper Motor ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br clear=all&amp;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. +5V powers the logic supply voltage for pin 16, and +8.6V feeds into the supply voltage 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. For this case, it will serve as a voltage divider, with the wiper connected to the analog input for the PIC. 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;
== Code ==&lt;/div&gt;</summary>
		<author><name>RaymondMui</name></author>
	</entry>
	<entry>
		<id>https://hades.mech.northwestern.edu//index.php?title=Stepper_motor_control_with_the_PIC&amp;diff=6259</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=6259"/>
		<updated>2008-02-03T05:43:31Z</updated>

		<summary type="html">&lt;p&gt;RaymondMui: /* Adjusting The Speed With A Trimpot */&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;
== Circuit ==&lt;br /&gt;
&lt;br /&gt;
=== The Stepper Motor ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br clear=all&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Wiring Up The L293B===&lt;br /&gt;
&lt;br /&gt;
[[Image:l293b.jpg|thumb|500px|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. +5V powers the logic supply voltage for pin 16, and +8.6V feeds into the supply voltage 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. For this case, it will serve as a voltage divider, with the wiper connected to the analog input for the PIC. 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;
== Code ==&lt;/div&gt;</summary>
		<author><name>RaymondMui</name></author>
	</entry>
	<entry>
		<id>https://hades.mech.northwestern.edu//index.php?title=File:Potentiometer.jpg&amp;diff=6258</id>
		<title>File:Potentiometer.jpg</title>
		<link rel="alternate" type="text/html" href="https://hades.mech.northwestern.edu//index.php?title=File:Potentiometer.jpg&amp;diff=6258"/>
		<updated>2008-02-03T05:41:07Z</updated>

		<summary type="html">&lt;p&gt;RaymondMui: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>RaymondMui</name></author>
	</entry>
	<entry>
		<id>https://hades.mech.northwestern.edu//index.php?title=Stepper_motor_control_with_the_PIC&amp;diff=6257</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=6257"/>
		<updated>2008-02-03T05:40:51Z</updated>

		<summary type="html">&lt;p&gt;RaymondMui: /* Circuit */&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;
== Circuit ==&lt;br /&gt;
&lt;br /&gt;
=== The Stepper Motor ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br clear=all&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Wiring Up The L293B===&lt;br /&gt;
&lt;br /&gt;
[[Image:l293b.jpg|thumb|500px|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. +5V powers the logic supply voltage for pin 16, and +8.6V feeds into the supply voltage 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 utilizes a 10k Ohm trimpot to control the speed of the stepper motor along with the direction. For this case, it will be utilized as a voltage divider, with the wiper connected to the analog input for the PIC. Zero voltage and the max +5V will emulate maximum speed for forwards and backwards directions, with the capability of slower intermediate speeds as the potentiometer reaches the halfway mark resulting in +2.5V being read by the analog input.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br clear=all&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Code ==&lt;/div&gt;</summary>
		<author><name>RaymondMui</name></author>
	</entry>
	<entry>
		<id>https://hades.mech.northwestern.edu//index.php?title=Stepper_motor_control_with_the_PIC&amp;diff=6256</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=6256"/>
		<updated>2008-02-03T05:39:33Z</updated>

		<summary type="html">&lt;p&gt;RaymondMui: /* Adjusting The Speed With A Trimpot */&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;
== Circuit ==&lt;br /&gt;
&lt;br /&gt;
=== The Stepper Motor ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br clear=all&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Wiring Up The L293B===&lt;br /&gt;
&lt;br /&gt;
[[Image:l293b.jpg|thumb|500px|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. +5V powers the logic supply voltage for pin 16, and +8.6V feeds into the supply voltage 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;
A convenient method of providing a varying input for the stepper motor is with a trimpot, or potentiometer. This circuit utilizes a 10k Ohm trimpot to control the speed of the stepper motor along with the direction. For this case, it will be utilized as a voltage divider, with the wiper connected to the analog input for the PIC. Zero voltage and the max +5V will emulate maximum speed for forwards and backwards directions, with the capability of slower intermediate speeds as the potentiometer reaches the halfway mark resulting in +2.5V being read by the analog input.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br clear=all&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Code ==&lt;/div&gt;</summary>
		<author><name>RaymondMui</name></author>
	</entry>
	<entry>
		<id>https://hades.mech.northwestern.edu//index.php?title=Stepper_motor_control_with_the_PIC&amp;diff=6255</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=6255"/>
		<updated>2008-02-03T05:32:05Z</updated>

		<summary type="html">&lt;p&gt;RaymondMui: /* Circuit */&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;
== Circuit ==&lt;br /&gt;
&lt;br /&gt;
=== The Stepper Motor ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br clear=all&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Wiring Up The L293B===&lt;br /&gt;
&lt;br /&gt;
[[Image:l293b.jpg|thumb|500px|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. +5V powers the logic supply voltage for pin 16, and +8.6V feeds into the supply voltage 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;
&amp;lt;br clear=all&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Code ==&lt;/div&gt;</summary>
		<author><name>RaymondMui</name></author>
	</entry>
	<entry>
		<id>https://hades.mech.northwestern.edu//index.php?title=Stepper_motor_control_with_the_PIC&amp;diff=6254</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=6254"/>
		<updated>2008-02-03T05:29:30Z</updated>

		<summary type="html">&lt;p&gt;RaymondMui: /* Circuit */&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;
== Circuit ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Image:l293b.jpg|thumb|500px|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. +5V powers the logic supply voltage for pin 16, and +8.6V feeds into the supply voltage 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;
== Code ==&lt;/div&gt;</summary>
		<author><name>RaymondMui</name></author>
	</entry>
	<entry>
		<id>https://hades.mech.northwestern.edu//index.php?title=Stepper_motor_control_with_the_PIC&amp;diff=6253</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=6253"/>
		<updated>2008-02-03T05:20:32Z</updated>

		<summary type="html">&lt;p&gt;RaymondMui: /* Circuit */&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;
== Circuit ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Image:l293b.jpg|thumb|500px|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. Inputs from the PIC coming from channels RD0-RD3 are fed into the chip&amp;#039;s 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.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br clear=all&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Code ==&lt;/div&gt;</summary>
		<author><name>RaymondMui</name></author>
	</entry>
	<entry>
		<id>https://hades.mech.northwestern.edu//index.php?title=Stepper_motor_control_with_the_PIC&amp;diff=6252</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=6252"/>
		<updated>2008-02-03T05:20:04Z</updated>

		<summary type="html">&lt;p&gt;RaymondMui: /* Circuit */&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;
== Circuit ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Image:l293b.jpg|thumb|500px|[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. Inputs from the PIC coming from channels RD0-RD3 are fed into the chip&amp;#039;s 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.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br clear=all&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Code ==&lt;/div&gt;</summary>
		<author><name>RaymondMui</name></author>
	</entry>
	<entry>
		<id>https://hades.mech.northwestern.edu//index.php?title=Stepper_motor_control_with_the_PIC&amp;diff=6251</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=6251"/>
		<updated>2008-02-03T05:19:27Z</updated>

		<summary type="html">&lt;p&gt;RaymondMui: /* Circuit */&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;
== Circuit ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Image:l293b.jpg|thumb|300px|[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. Inputs from the PIC coming from channels RD0-RD3 are fed into the chip&amp;#039;s 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.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br clear=all&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Code ==&lt;/div&gt;</summary>
		<author><name>RaymondMui</name></author>
	</entry>
	<entry>
		<id>https://hades.mech.northwestern.edu//index.php?title=File:L293b.jpg&amp;diff=6250</id>
		<title>File:L293b.jpg</title>
		<link rel="alternate" type="text/html" href="https://hades.mech.northwestern.edu//index.php?title=File:L293b.jpg&amp;diff=6250"/>
		<updated>2008-02-03T05:17:50Z</updated>

		<summary type="html">&lt;p&gt;RaymondMui: Wiring diagram for the DIP16-L293B&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Wiring diagram for the DIP16-L293B&lt;/div&gt;</summary>
		<author><name>RaymondMui</name></author>
	</entry>
	<entry>
		<id>https://hades.mech.northwestern.edu//index.php?title=Stepper_motor_control_with_the_PIC&amp;diff=6249</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=6249"/>
		<updated>2008-02-03T05:16:44Z</updated>

		<summary type="html">&lt;p&gt;RaymondMui: /* Circuit */&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;
== Circuit ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Image:l293b.jpg|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. Inputs from the PIC coming from channels RD0-RD3 are fed into the chip&amp;#039;s 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.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br clear=all&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Code ==&lt;/div&gt;</summary>
		<author><name>RaymondMui</name></author>
	</entry>
</feed>