university of victoria - electrical engineering of victoria department of electrical and computer...

21
UNIVERSITY OF VICTORIA Department of Electrical and Computer Engineering ELEC499/CENG499 Progress Report 2 Project #15: DABS (Dynamically Adjustable Bicycle Suspension) February 18, 2011 Prepared for: Dr. Michael McGuire Team Members: Kenyon Campbell [email protected] Thayer Fox [email protected] Paul Green* [email protected] Phil Laird [email protected] *Primary Contact Member

Upload: dotuyen

Post on 21-Jun-2018

214 views

Category:

Documents


0 download

TRANSCRIPT

UNIVERSITYOFVICTORIA

DepartmentofElectricalandComputerEngineering

ELEC499/CENG499

ProgressReport2

Project#15:

DABS

(DynamicallyAdjustableBicycleSuspension) 

 

 

February 18, 2011 

 

Prepared for: 

Dr. Michael McGuire 

 

Team Members: 

Kenyon Campbell [email protected] 

Thayer Fox [email protected] 

Paul Green* [email protected] 

Phil Laird [email protected] 

*Primary Contact Member 

 

 

 

 

 

 

2

Summary

 

This report outlines the progress we have made since our initial progress report.  It provides a more 

detailed explanation of various sub systems, as well as our design decisions regarding parts choice and 

system function. As of now, our team has made good progress, adhering to our anticipated deadlines 

and goals.  We have received all of our major components and work has begun assembling our first 

prototype. Additionally, several tests have been conducted to ensure that critical components, such as 

the stepper motor, associated driver chips and the accelerometer will perform as expected in our 

finished project.  To date, some major hurdles in our project have already been overcome; OLED 

initialization and control is operational and mounts for most of the sensors have been devised.  This 

document will also provide a more detailed task assignment to ensure we continue to meet deadlines. 

 

 

 

3

CircuitDesignandImplementation 

The electronics of the DABS system can be broken into four distinct categories: user interface and 

processing unit, sensors, actuation system and power supply.  

 

The microprocessor selected for this project is the Microchip PIC24HJ128GP504.  This 16‐bit controller 

was chosen for its large array of digital and analog I/O, its support of the PMP (Parallel Master Port) 

protocol for communication with our display, its low power consumption and its large memory.  The 

processor is responsible for interpretation of the analog sensors values, evaluation of the data and 

control of the variable position actuators.   

 

User interface for DABS consists of a colour organic light emitting diode (OLED) display and a 5‐way 

navigation joystick.  The OLED screen was chosen for its ease of viewing in sunlight and its low power 

usage.  Unlike a traditional LCD, no backlight is required for the OLED, resulting in significant power 

savings.  To allow user control of the system, a five‐way tactile joystick was selected.  This joystick is 

similar to the style commonly used in many cellphones and other consumer electronics.  It has proved to 

be a very efficient input device to navigate multi‐layer vertical and horizontal menus. 

 

The DABS system is heavily reliant upon external sensors.  One such sensor is the accelerometer.  This 

device provides the most vital information.  Extraction of both vertical and for‐aft acceleration 

information was vital, while ignoring the lateral acceleration.  This requirement was satisfied by 

incorporating a two‐axis accelerometer mounted on the plane of the bike.  The ADXL278 dual axis 

accelerometer has an operating voltage of 3.6‐5V and detects acceleration of +/‐ 35G on both axis.  

 

The other critical sensor needed for the DABS system was a position sensor.  This was needed to 

determine the position of the shock at any time.  A main design requirement was that there could be no 

contact between the upper and lower shock sections.  The MP1 Magneto‐Pot from Spectra Symbol is a 

contactless linear sensor that satisfies our design requirements. The sensor used in the system has a 

150mm operating range, easily accommodating the full range of the shock.  The mounting and operation 

of the sensor is discussed in the mechanical design section of this report.  

 

There we

considera

our micro

provide th

second sig

 

 

Figure 1: P

 

 

As of writ

the device

connectio

motor dri

(Figure 1)

and the st

 

 

 

re few device

ations involve

ocontroller.  In

he logic outpu

gnal for moto

Prototyped syst

ing, we have 

e datasheets 

ons were corr

ver chips.  Af

.  This prototy

tepper driver

es on the mar

d using a sim

nstead, we de

ut to drive th

or direction.  T

tem including a

completed th

and applicati

rect.  Schemat

fter reviewing

ype impleme

rs.  

rket that were

ple H‐Bridge 

ecided on the

e motors coil

This drastical

accelerometer

he first revisio

on notes was

tic symbols w

g our design, w

nted the circ

e suitable cho

driver chip, b

e Allegro Micr

s, while only

ly reduced th

OLED screen, m

on of our syst

s done, to ens

were created f

we construct

uitry for the m

oices for our s

but this would

rosystems A3

needing a ste

he number of 

microcontrolle

tem circuit sc

sure the nece

for the OLED 

ted our first b

micro‐contro

stepper drive

d have used t

3967SLBTR‐T, 

ep input for m

f microcontro

er and stepper d

chematic.  Ca

essary suppor

module and 

breadboarded

ller, accelero

er control.  Ini

too many pin

which would

motor speed 

oller pins requ

driver. 

refully readin

rt circuitry an

the stepper 

d prototype 

ometer, the O

4

itial 

s on 

and a 

uired. 

 

ng of 

nd 

OLED 

5

MechanicalDesign 

The physical mounting and mechanical design of the DABS system was a problem that the team 

encountered early on.  The sensor and motors needed to be mounted to the fork cleanly, as well as be 

protected from the rough conditions encountered while mountain biking.  Secure housings and 

mounting brackets were crucial.  

 

The position sensor is housed inside of a protective ⅛” acrylic tube attached to the lower fork leg. A 

nylon bushing is located at the top of this tube and guides the magnetic marker along the track of the 

position sensor.  The magnetic marker is attached to a long stainless steel rod, fixed to the upper fork 

crown by a clamp.  The accelerometer housing is designed to provide a secure and rigid contact with the 

fork.  In order to achieve this, the accelerometer is mounted directly on an aluminum plate, bolted to 

the disc brake tabs found on the lower left fork leg.  The accelerometer and associated wiring will be 

placed inside of a plastic housing filled with potting compound. 

 

Selection of the stepper motors were based on measurements taken to determine the torque needed to 

rotate the compression and damping knobs on the fork.  Several measurements were taken, to 

determine approximately 75 mNm are needed to rotate the adjustment knobs axially.  Motors were 

chosen that would provide at least 1.5 times the needed torque.  The Soyo Unipolar Stepper Motors 

provide 250 mNm of torque.  Unipolar motors were chosen because the torque is held constant over a 

wider speed range versus that of a bipolar motor.  The compression damping motor shaft will attach to 

the adjustment knob via a 12mm hex socket while the rebound damping will adjust via a 3mm hex key.  

The motors are held static to the fork via custom brackets mounted to the fork.  

Testing 

Testing ha

accelerom

Our meth

measured

values fro

observe t

 

Figure 2: A

 

Figure 3: A

 

gandEva

as played a la

meter output 

od of testing 

d the correspo

om the device

he accelerom

Accelerometer i

Accelerometer o

aluation

rge part in th

for both posi

is as follows.

onding voltag

e’s datasheet 

meter’s transie

in a static posi

output during 

he developme

ition and imp

.  We position

ges on the X a

of ½ the supp

ent output (F

tion with X and

a sharp impac

ent of DABS.  

act measurem

ned the accel

and Y outputs

ply voltage.  S

Figure 3).   

d Y horizontal.

t. 

Currently, we

ments and ar

erometer in t

s (Figure 2).  T

Several hard i

e have tested

re satisfied wi

the default or

These matche

impacts were

d the 

ith the results

rientation an

ed the given 

e simulated, t

6

s.  

to 

7

Stepper drivers were tested in conjunction with the motors.  A function generator was used to simulate 

the drive signal that would be provided by the microcontroller.  We noted as expected, that the torque 

of the motor was inversely proportional to its speed.  We were able to adjust the smoothness of the 

motor by carefully tuning the voltage on the driver’s REF pin.  An optimal balance between torque and 

step coarseness can be obtained.  We have begun the assembly of an apparatus to support the dampers 

and motors for testing. This will make it easier to test the effectiveness of our drive before the final 

mounting system has been constructed. 

 

The ADC and the OLED were tested together.  Data was read in from the accelerometer, and depending 

on the orientation of the accelerometer, the OLED would change its display colour. 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

8

ControlAlgorithm 

The functionality of the system has been designed to detect and adapt to the most common riding 

scenarios.  Table 1 classifies each riding scenario by the output from the position and accelerometer 

data.  Additionally, the table outlines the adjustments to the compression and rebound damping.  The 

data from each sensor will be monitored and when a specific riding scenario is detected, the system will 

enter that mode of operation.  This table forms the basis for the functionality of our system and allows 

for future expansion as more use cases are defined.  

  

Riding 

Scenario 

Position 

Output 

Accelerometer Output Compression 

Adjustment 

Rebound 

Adjustment 

Notes

General  

Riding 

Normal 

(sag point) 

‐ Any incline

‐ Mostly vertical component 

Defined in 

Setup 

Defined in 

Setup 

Drop Off  Full Extension  ‐ Nose down

‐ Close to weightless  

Increase w/ 

time to a limit 

Increase w/ 

time to a limit 

Uphill  Above Sag 

Point  

(Close to Full) 

‐ Nose up >3%

‐ Increased horizontal 

component  

Fully Closed 

(Locked Out)   

N/A 

Only want to activate when 

a sustained grade is 

encountered 

Downhill  Below Sag 

Point 

‐ Nose down < ‐3%

‐ Increased horizontal 

component  

Decrease Increase 

Smooth Road  Normal 

(Very little 

variation) 

‐ Any incline

‐ Very little variation 

Fully Closed 

(Locked Out)   

N/A 

Only want to activate when 

a smooth road encountered 

for a sustained amount of 

time 

Bump/Rut  Quick Change   ‐ Any incline

‐ Large Spikes 

Decrease Increase 

Washboard  Repetitive 

Quick Changes 

‐ Any incline

‐ Large Spikes 

Decrease Decrease  Want to detect very rough, 

sustained terrain 

Table 1: Riding Scenarios  

 

9

The default mode will be the general riding scenario.  Settings for this mode will be defined during 

setup.  Several predefined settings will be available to allow the user to select the style of ride that they 

are expecting.  Table 2 outlines the predefined general riding settings that will be available to the user.  

There will also be a full manual mode, which will allow the user to precisely define the compression and 

rebound damping settings that they want to use for general riding.  Specific values will be assigned once 

development has completed and testing can be done on the system to determine appropriate values.  

 

Riding Style  Compression Damping Rebound Damping

Cross Country  High Low  

Downhill  Low Mid 

All Mountain  Mid Mid 

Road Ride  Full (Lockout) Low 

Race  High Low 

Custom  User Defined User Defined 

Table 2: Default Riding Settings 

 

 

System 

The firmw

motors an

 

1. In

p

2. In

m

3. A

sh

4. Lo

5. U

6. H

7. G

 

Currently 

tested.  T

function t

mFirmwar

ware is respon

nd updating t

nitialize all the

ort, the SPI b

nitialize the b

motor chips, th

nalyze data in

hock’s compr

og data to the

pdate the GU

andle user in

o back to ste

the accelero

he focus of p

to writing the

re

nsible for coll

he OLED scre

e chip periph

us, and gener

oard, includin

he OLED scre

ncoming from

ression and re

e Micro SD ca

UI. 

put via the 5‐

p 3 

meter, linear

rogramming t

e control algo

ecting all the

een when nec

erals includin

ral purpose in

ng the accele

en and the SD

m position sen

ebound. 

ard. 

‐button joyst

r magneto pot

the firmware

rithms and de

Figure 3:

 data from th

cessary.  The b

ng, the analog

nput/output.

rometer, the 

D card. 

nsor and both

ick. 

t and the OLE

e has now shif

eveloping a u

 System Over

he external se

basic flow of 

gue to digital 

magneto‐pot

h axes of the 

ED screen are

fted from get

user interface

rview 

ensors, actuat

the program

converter, th

tentiometer, 

acceleromete

e functional a

tting the perip

e. 

ting the stepp

 is as follows:

he parallel ma

the stepper 

er and adjust

nd have been

pherals to 

 

10

per 

aster 

 the 

11

WebsiteWe have completed the backbone of our website and will continue to add more information as progress 

on our project is made.  The current website can be found at: http://www.engr.uvic.ca/~tfox/. 

 

Our project management and task tracking can be viewed on our team’s code tracking website: 

http://code.google.com/p/elektroshok/. 

 

12

ChallengesandResolutions 

Progress has been steady with only a few unexpected challenges arising.  The following is a summary of 

these and their resolutions: 

 

1. We had incorrectly assumed that the micro‐controller could handle higher voltages on its analog 

input for the A/D converter by using an external reference.  On this assumption we were 

confident that a 5V rated accelerometer would be compatible. In‐order solve this issue we 

determined that we could operate the accelerometer at a lower voltage.  This would be supplied 

by the 5V supply and regulated with a 3.6V Zener diode.  This modification in conjunction with 

the micro‐controller’s maximum tolerance for the input, as well as knowing that at full 

deflection the accelerometer would output Vcc‐.25V, is acceptable as it will be within the micro‐

controller’s range. 

 

2. A small issue which plagued us during the first attempt at programming the micro‐controller 

was communication between the microcontroller and the ICD (In Circuit Debugger).  We were 

unable to connect to the device and were receiving a voltage level error in the debugging 

window.  The chip also heated up dramatically.  Unfortunately, the silkscreen printed on the off‐

brand ICD was not correct.  After following the traces on the board, we changed the wiring and 

the chip programed successfully. 

 

3. While selecting the stepper motors the feasibility of using gears to achieve the needed torque 

was explored. It was determined that we were limited by the space available and that 

implementing gears would introduce more problems, as well as create vulnerabilities within the 

system. With this knowledge, we decided to go with a slightly larger stepper motor instead of a 

geared system. This way the durability of the system is not affected and we are guaranteed to 

achieve the torque needed to rotate the adjusters.   

 

4. There were issues in bringing up the OLED.  After reading the timing diagrams for writing to the 

OLED and configuring the writing algorithms accordingly, data was not being successfully written 

to the OLED.  Large delays were required for writes to be successful.  This issue is currently 

under investigation as the large delays are unacceptable in the final system. 

13

TaskAssignment

An updated task chart is attached at the end of this report. 

 

 

 

14

UpdatedProjectMilestoneTimelineJanuary 21st  Progress Report #1 

‐ All major system components spec’d and ordered 

Completed 

‐ Microprocessor development board up and running 

Completed 

January 28th  ‐ Initial circuit design Completed Ongoing 

February 4th  ‐ Initial firmware completed (support for all peripherals) 

Completed Ongoing 

‐ Initial hardware layout and circuit bread‐boarding 

Completed 

February 16th  Midterm Review Meeting 

February 18th  Progress Report #2 

‐ Coding of control algorithms In Progress 

‐ Mechanical mounting Not Yet Competed   

‐ PCB layouts In Progress   

February 23th  Mechanical mounting 

February 25th  ‐ Completed control algorithm On track 

‐ Ready for testing On track 

‐ Mechanical mounting of actuators and sensors On track

March 18th  ‐ Working prototype 

‐ Completed poster 

March 25th  Poster Presentation 

‐ Completed final report 

‐ Completed website 

March 31st  Final Report submitted 

Project URL submitted 

ID Task Mode

Resource Names

Task Name Start Finish % Complete

1 Kenyon Riding Scenarios Sat 1/1/11 Thu 3/24/11 62%

2 Kenyon Fork Selection Sat 1/1/11 Wed 1/19/11 100%

3 Kenyon Mechanical Design Mon 2/21/1 Mon 2/21/11 0%

4 Kenyon Accelerometer Fri 1/14/11 Wed 2/2/11 90%

5 Kenyon Position Sensor Fri 1/14/11 Wed 2/2/11 90%

6 Kenyon Compression Motor Fri 1/21/11 Wed 2/9/11 80%

7 Kenyon Rebound Motor Fri 1/21/11 Wed 2/9/11 80%

8 Kenyon Head Unit Housing Sat 2/5/11 Wed 2/23/11 50%

9 Kenyon Acceleration Math Analysis Thu 2/10/11Tue 3/1/11 15%

10 Kenyon Position Math Analysis Thu 2/10/11Tue 3/1/11 75%

11 Collaborative Component Selection Tue 12/14/1 Tue 12/14/10 100%

12 Collaborative Control Algorithm Tue 2/15/11 Tue 3/1/11 40%

13 Thayer Website Construction Fri 1/7/11 Mon 1/10/11 100%

14 Thayer Initial acquisition and function test of ICD2

Mon 1/3/11 Mon 1/3/11 100%

15 Thayer Expense Tracking Sun 1/9/11 Thu 3/24/11 50%

16 Thayer PIC Breakout Board Sun 1/9/11 Mon 1/17/11 100%

17 Thayer Initial SMT Mounting Tue 2/1/11 Mon 2/28/11 100%

18 Thayer Mounting Bracket for Steppers Fri 2/25/11 Fri 2/25/11 0%

19 Thayer Website Content Mon 2/7/11 Tue 3/15/11 25%

20 Thayer User Interface Thu 2/24/11Tue 3/15/11 0%

21 Thayer Spec and Source OLED Mon 1/10/1 Mon 1/24/11 100%

22 Thayer Spec Better Switch Tue 2/1/11 Fri 2/11/11 100%

23 Thayer DigiKey Order #1 Mon 1/17/1 Mon 1/24/11 100%

24 Thayer DigiKey Order #2 Mon 2/21/1 Mon 2/28/11 0%

25 Phil Get NM101 to work Sun 1/2/11 Fri 1/7/11 17%

26 Phil Micro‐Controller Selection Mon 1/10/1 Mon 1/17/11 100%

27 Phil Motor Code Tue 1/11/11 Tue 3/15/11 50%

28 Phil Accelerometer Code Tue 1/11/11 Tue 3/15/11 40%

29 Phil OLED Code Tue 1/11/11 Tue 3/15/11 20%

30 Phil Code to Support Lock Out Mon 2/14/1 Tue 3/15/11 0%

31 Phil Code to Support Large Drop Mon 2/14/1 Tue 3/15/11 0%

32 Phil  SD Card Code Fri 12/24/10Fri 2/25/11 0%

33 Phil ADC Code Tue 1/11/11 Tue 3/15/11 0%

34 Phil PMP code Tue 1/11/11 Tue 3/15/11 0%

35 Phil SPI Code Tue 1/11/11 Tue 3/15/11 0%

36 Phil Integrate Microchip Fat 16 library Fri 12/24/10

Fri 2/25/11 0%

37 Phil Code to support 5B joystick Fri 12/24/10Fri 2/25/11 0%

Kenyon

Kenyon

Kenyon

Kenyon

Kenyon

Kenyon

Kenyon

Kenyon

Kenyon

Kenyon

12/14

Collaborative

Thayer

Thayer

Thayer

Thayer

Thayer

Thayer

Thayer

Thayer

Thayer

Thayer

Thayer

Thayer

Phil

Phil

Phil

Phil

Phil

Phil

Phil

Phil

Phil

Phil

Phil

Phil

Phil

T F S S M T W T F S S M T W T F28, '10 Dec 19, '10 Jan 9, '11 Jan 30, '11 Feb 20, '11 Mar 13, '11 Apr 3, '

Task

Split

Milestone

Summary

Project Summary

External Tasks

External Milestone

Inactive Task

Inactive Milestone

Inactive Summary

Manual Task

Duration‐only

Manual Summary Rollup

Manual Summary

Start‐only

Finish‐only

Deadline

Progress

Page 1

Project: ganttDate: Mon 2/21/11

ID Task Mode

Resource Names

Task Name Start Finish % Complete

38 Phil Code to log accelerometer data onto SD

Tue 1/11/11 Tue 3/15/11 0%

39 Phil Code to log linear pot data onto SD Tue 1/11/11 Tue 3/15/11 0%

40 Phil Code to write a single image to the OLED

Fri 12/24/10

Fri 2/25/11 0%

41 Phil Figure out how to use DAM to go from SD to OLED while using minimum CPU cycles

Tue 1/11/11 Tue 3/15/11 0%

42 Phil Chip support code to generate correct timer values based on clock speed

Tue 1/11/11 Tue 3/15/11 0%

43 Paul Component Selection Mon 1/10/1 Mon 1/17/11 100%

44 Paul Add tasks from Google Docs Mon 1/10/1 Mon 1/17/11 100%

45 Paul Circuit Schematic Wed 1/19/1 Fri 2/18/11 90%

46 Paul PCB Layout Tue 2/1/11 Mon 2/28/11 0%

47 Paul Power Supply Thu 1/13/11Wed 3/2/11 50%

48 Paul Breadboard Circuit Tue 2/1/11 Tue 2/15/11 75%

49 Paul stepper zeroing Tue 2/1/11 Thu 2/3/11 20%

50 Paul Wiring and connectors for position sensor.

Thu 2/3/11 Fri 3/4/11 0%

51 Paul Wiring and connectors for acceleromWed 2/2/11 Fri 2/4/11 0%

52 Paul Breadboard the accelerometer Fri 1/21/11 Wed 2/2/11 100%

53 Paul slider bushing Mon 2/21/1 Thu 2/24/11 0%

54 Paul battery Pack Mon 2/28/1 Tue 3/8/11 0%

55 Paul Test Apparatus for Damper actuatio Mon 2/21/1 Fri 2/25/11 50%

56 Paul SD reader breadboard Mon 2/21/1 Fri 2/25/11 0%

57 Paul Increase Stepper Speed Fri 2/11/11 Mon 2/28/11 50%

58 Paul Proto‐Board Version of System Mon 2/28/1 Wed 3/9/11 0%

Phil

Phil

Phil

Phil

Phil

Paul

Paul

Paul

Paul

Paul

Paul

Paul

Paul

Paul

Paul

Paul

Paul

Paul

Paul

Paul

Paul

T F S S M T W T F S S M T W T F28, '10 Dec 19, '10 Jan 9, '11 Jan 30, '11 Feb 20, '11 Mar 13, '11 Apr 3, '

Task

Split

Milestone

Summary

Project Summary

External Tasks

External Milestone

Inactive Task

Inactive Milestone

Inactive Summary

Manual Task

Duration‐only

Manual Summary Rollup

Manual Summary

Start‐only

Finish‐only

Deadline

Progress

Page 2

Project: ganttDate: Mon 2/21/11

1

1

2

2

3

3

4

4

D D

C C

B B

A A

Title

Number RevisionSize

A4

Date: 21/02/2011 Sheet ofFile: C:\Documents and Settings\..\Accelerometer_Module.SchDocDrawn By:

VDD31

Yout 2

COM 3

ST4 NC 5

Xout6

VDD7

VDD2 8U1

ADXL278

0.1F

C1Cap

12345

P1

Header 5

1K

R1

Res1

D1

D ZenerPIC101

PIC102COC1 PID101 PID102

COD1PIP101

PIP102

PIP103

PIP104

PIP105

COP1

PIR101 PIR102COR1PIU101

PIU102

PIU103

PIU104 PIU105

PIU106

PIU107

PIU108

COU1

PIC101PID101

PIP103PIU103

PIC102PID102 PIR101

PIU101

PIU107

PIU108 PIP101

PIU106

PIP102PIR102

PIP104

PIU102 PIP105

PIU104 PIU105

1

1

2

2

3

3

4

4

D D

C C

B B

A A

Title

Number RevisionSize

A4

Date: 21/02/2011 Sheet ofFile: C:\Documents and Settings\..\Driver.SchDocDrawn By:

REF1

RC22

/SLEEP3

OUT2B4

LOAD SUPPY25

GND6

GND7

SENSE28

OUT2A9

STEP10

DIR11

MS112 MS2 13LOGIC SUPPLY 14

/ENABLE 15OUT1A 16SENSE1 17

GNG 18GND 19

LOAD SUPPLY1 20OUT1B 21/RESET 22RC1 23PFD 24U2

A3967

GND

GND

3.3V

12V12V

0.75RSENSE1Res1

OUT1BCOMP

OUT2BCOMP

OUT1ACOMPOUT2ACOMPSTEPCOMPDIRCOMP

/SLEEPCOMP

/ENABLECOMP

10K

R5RPot

5.1K

R9Res1

3.3V

10K

R2Res1

3.3V

20K

R7Res1680pF

C2Cap

20K

R8Res1 680pF

C3Cap

0.75RSENSE2Res1

10K

R16

Res1

3.3V

10KR18

Res1

10K

R3Res1

10K

R4Res1

10K

R17Res1

GND

3.3V

REF1

RC22

/SLEEP3

OUT2B4

LOAD SUPPY25

GND6

GND7

SENSE28

OUT2A9

STEP10

DIR11

MS112 MS2 13LOGIC SUPPLY 14

/ENABLE 15OUT1A 16SENSE1 17

GNG 18GND 19

LOAD SUPPLY1 20OUT1B 21/RESET 22RC1 23PFD 24U3

A3967

GND

GND

3.3V

12V12V

0.75RSENSE3Res1

OUT1BREB

OUT2BREB

OUT1AREBOUT2AREBSTEPREBDIRREB

/SLEEPREB

/ENABLEREB

10K

R12RPot

5.1K

R15Res1

3.3V

10K

R6Res1

3.3V

20K

R13Res1680pF

C4Cap

20K

R14Res1 680pF

C5Cap

0.75RSENSE4

Res1

10K

R19

Res1

3.3V

10KR21

Res1

10K

R10Res1

10K

R11Res1

10K

R20Res1

GND

3.3V

BLKGRNREDBLU

P2

Compression

OUT1ACOMPOUT1BCOMPOUT2ACOMPOUT2BCOMP

BLKGRNREDBLU

P3

Rebound

OUT1AREBOUT1BREBOUT2AREBOUT2BREB

PIC201

PIC202COC2

PIC301

PIC302 COC3

PIC401

PIC402COC4

PIC501

PIC502 COC5

PIP201

PIP202

PIP203

PIP204

COP2

PIP301

PIP302

PIP303

PIP304

COP3

PIR201

PIR202COR2

PIR301

PIR302

COR3PIR401

PIR402

COR4

PIR501

PIR502PIR503

COR5

PIR601

PIR602COR6

PIR701

PIR702COR7

PIR801

PIR802COR8

PIR901

PIR902COR9PIR1001

PIR1002

COR10PIR1101

PIR1102

COR11

PIR1201

PIR1202PIR1203

COR12

PIR1301

PIR1302COR13

PIR1401

PIR1402COR14

PIR1501

PIR1502COR15

PIR1601PIR1602COR16

PIR1701

PIR1702

COR17

PIR1801PIR1802

COR18

PIR1901PIR1902COR19

PIR2001

PIR2002

COR20

PIR2101PIR2102

COR21

PIRSENSE101PIRSENSE102

CORSENSE1PIRSENSE201PIRSENSE202

CORSENSE2

PIRSENSE301PIRSENSE302

CORSENSE3

PIRSENSE401PIRSENSE402

CORSENSE4

PIU201

PIU202

PIU203

PIU204

PIU205

PIU206

PIU207

PIU208

PIU209

PIU2010

PIU2011

PIU2012 PIU2013

PIU2014

PIU2015

PIU2016

PIU2017

PIU2018

PIU2019

PIU2020

PIU2021

PIU2022

PIU2023

PIU2024

COU2

PIU301

PIU302

PIU303

PIU304

PIU305

PIU306

PIU307

PIU308

PIU309

PIU3010

PIU3011

PIU3012 PIU3013

PIU3014

PIU3015

PIU3016

PIU3017

PIU3018

PIU3019

PIU3020

PIU3021

PIU3022

PIU3023

PIU3024

COU3

PIR202

PIR301 PIR401PIR502

PIR602

PIR1001 PIR1101

PIR1202

PIR1602 PIR1801

PIR1902 PIR2101

PIU2014

PIU3014

PIU205

PIU2020

PIU305

PIU3020

PIC201 PIC301

PIC401 PIC501

PIR701 PIR801

PIR901

PIR1301 PIR1401

PIR1501

PIR1702

PIR2002

PIRSENSE102 PIRSENSE201

PIRSENSE302 PIRSENSE401

PIU206

PIU207 PIU2018

PIU2019

PIU306

PIU307 PIU3018

PIU3019

PIC202 PIR702 PIU202 PIC302PIR802PIU2023

PIC402 PIR1302 PIU302 PIC502PIR1402PIU3023

PIP201

PIU2016

POOUT1ACOMPPIP202

PIU2021

POOUT1BCOMPPIP203

PIU209

POOUT2ACOMPPIP204

PIU204

POOUT2BCOMP

PIR201

PIU203

PO0SLEEPCOMP

PIR302PIU2024

PIR402

PIU2022PIR501

PIR902

PIR503 PIU201 PIR601

PIU303

PO0SLEEPREB

PIR1002PIU3024 PIR1102

PIU3022PIR1201

PIR1502

PIR1203 PIU301

PIR1601PIU2012

PIR1701

PIU2015

PO0ENABLECOMPPIR1802PIU2013

PIR1901PIU3012

PIR2001

PIU3015

PO0ENABLEREBPIR2102PIU3013

PIRSENSE101 PIU208 PIRSENSE202PIU2017

PIRSENSE301 PIU308 PIRSENSE402PIU3017

PIU2010POSTEPCOMPPIU2011PODIRCOMP

PIP304

PIU304

POOUT2BREB

PIP303

PIU309POOUT2AREBPIU3010POSTEPREBPIU3011PODIRREB

PIP301

PIU3016POOUT1AREB

PIP302

PIU3021POOUT1BREB

PO0ENABLECOMP

PO0ENABLEREB

PO0SLEEPCOMP

PO0SLEEPREB

PODIRCOMP

PODIRREB

POOUT1ACOMP

POOUT1AREB

POOUT1BCOMP

POOUT1BREB

POOUT2ACOMP

POOUT2AREB

POOUT2BCOMP

POOUT2BREB

POSTEPCOMP

POSTEPREB

1

1

2

2

3

3

4

4

D D

C C

B B

A A

Title

Number RevisionSize

A4

Date: 21/02/2011 Sheet ofFile: C:\Documents and Settings\..\Elektroshok_01.SchDocDrawn By:

AN0/VREF+/CN2/RA0 19

AN1/VREF-/CN3/RA1 20

AN10/RTCC/RP14/CN12/PMWR/RB14 14AN11/RP13/CN13/PMRD/RB13 11AN12/RP12/CN14/PMD0/RB12 10

AN4/C1IN-/RP2/CN6/RB2 23

AN5/C1IN+/RP3/CN7/RB3 24

AN6/RP16/CN8/RC025

AN7/RP17/CN9/RC126

AN8/CVREF/RP18/PMA2/CN10/RC227

AN9/RP15/CN11/PMCS1/RB15 15

AVDD17

AVSS16

INT0/RP7/CN23/PMD5/RB7 43

MCLR18

OSC1/CLKI/CN30/RA2 30

OSC2/CLKO/CN29/RA3 31

PGEC1/AN3/C2IN+/RP1/CN5/RB1 22

PGEC2/RP11/CN15/PMD1/RB11 9

PGEC3/ASCL1/RP6/CN24/PMD6/RB6 42

PGED1/AN2/C2IN-/RP0/CN4/RB0 21

PGED2/EMCD2/RP10/CN16/PMD2/RB10 8

PGED3/ASDA1/RP5/CN27/PMD7/RB5 41

RP19/CN28/PMBE/RC336

RP20/CN25/PMA4/RC437

RP21/CN26/PMA3/RC538

RP22/CN18/PMA1/RC62

RP23/CN17/PMA0/RC73

RP24/CN20/PMA5/RC84

RP25/CN19/PMA6/RC95

SCL1/RP8/CN22/PMD4/RB8 44

SDA1/RP9/CN21/PMD3/RB9 1

SOSCI/RP4/CN1/RB4 33

SOSCO/T1CK/CN0/RA4 34

TCK/PMA7/RA7 13

TDI/PMA9/RA9 35TDO/PMA8/RA8 32

TMS/PMA10/RA10 12

VCAP/VDDCORE7

VDD28

VDD40

VSS6

VSS29

VSS39

U4

PIC24HJ128GP504-I/PT

123

P7

Position Sensor

123

456

P6

Nav Switch

10uF tant

C7Cap

0.1uF

C8Cap

470

R24Res1

10K

R22

Res1S1

SW-PB

GND

3.3V

GND

3.3V

PMPD3PMPD4

PMPD2PMPD1PMPD0PMPRDPMPWRPMCS1

PMPD5PMPD6PMPD7

PMPA0

RESET OLED

Yin

Xin

SELECTLEFT

UPRIGHTDOWN

LEFTSELECTUP

RIGHT

DOWN

Wipper

VCC

GND

10k

R26Res1

10k

R25Res1

10k

R27Res1

10k

R28Res1

10k

R29Res1

MCLR1

VDD2

GND3

PGD4

PGC5

P5

ICD2

RESET OLEDPMCS1

PMPD7PMPD6PMPD5PMPD4PMPD3PMPD2PMPD1PMPD0

GND

5V

PMPRDPMPWR

PMPA0

3.3V

GND0.1uF

C9Cap

12345

P8

Accelerometer

GND

5V

STYin

Xin

STEPREB

DIRREB

/SLEEPCOMP

/SLEEPREB

3.3V

GND

12345678910111213141516

P4

Header 16

0.1uF

C6

CapW2

Jumper

10K

R23Res1

W1Jumper

3.3V

Wipper

STEPCOMP

DIRCOMP

BATSTAT

SDI

SDOSCK

GND

Vin VoutGND

VR1

R-783.3-0.5

Vin VoutGND

VR2

R-785.0-0.5

Vin VoutGND

VR3

REG12V

3.3V 5V 12V

10uF

C12Cap

10uFC10

Cap10uFC11

Cap

1Battery

PI101

PI102CO1

PIC601 PIC602

COC6

PIC701

PIC702COC7

PIC801

PIC802COC8

PIC901

PIC902COC9

PIC1001

PIC1002

COC10 PIC1101

PIC1102

COC11

PIC1201

PIC1202COC12

PIP401

PIP402

PIP403

PIP404

PIP405

PIP406

PIP407

PIP408

PIP409

PIP4010

PIP4011

PIP4012

PIP4013

PIP4014

PIP4015

PIP4016

COP4

PIP501

PIP502

PIP503

PIP504

PIP505

COP5

PIP601

PIP602

PIP603

PIP604

PIP605

PIP606

COP6

PIP701

PIP702

PIP703

COP7

PIP801

PIP802

PIP803

PIP804

PIP805

COP8

PIR2201

PIR2202COR22

PIR2301

PIR2302COR23

PIR2401

PIR2402

COR24

PIR2501

PIR2502COR25

PIR2601

PIR2602COR26

PIR2701

PIR2702COR27

PIR2801

PIR2802COR28

PIR2901

PIR2902COR29

PIS101 PIS102

COS1

PIU401

PIU402

PIU403

PIU404

PIU405

PIU406

PIU407

PIU408

PIU409

PIU4010

PIU4011

PIU4012

PIU4013

PIU4014

PIU4015

PIU4016

PIU4017

PIU4018 PIU4019

PIU4020

PIU4021

PIU4022

PIU4023

PIU4024

PIU4025

PIU4026

PIU4027

PIU4028

PIU4029

PIU4030

PIU4031

PIU4032

PIU4033

PIU4034

PIU4035

PIU4036

PIU4037

PIU4038

PIU4039

PIU4040

PIU4041

PIU4042

PIU4043

PIU4044

COU4

PIVR101

PIVR102

PIVR103

COVR1

PIVR201

PIVR202

PIVR203

COVR2

PIVR301

PIVR302

PIVR303

COVR3

PIW101

PIW102

COW1

PIW201 PIW202

COW2

PIC802 PIC901

PIP502

PIR2202 PIR2302

PIR2501 PIR2601 PIR2701 PIR2801 PIR2901

PIU4017

PIU4028

PIU4040

PIVR103

PIP4015

PIP802

PIVR203 PIVR303

PI102

PIC601

PIC701 PIC801 PIC902

PIC1002 PIC1102PIC1201

PIP4016

PIP503

PIP601

PIP703

PIP803

PIS101

PIU406

PIU4016

PIU4029

PIU4039

PIVR102 PIVR202 PIVR302

PI101PIC1001 PIC1101PIC1202 PIVR101 PIVR201 PIVR301

PIC602

PIR2201

PIR2401

PIS102

PIC702

PIU407

PIP401

PIU4012

PORESET OLEDPIP402

PIU4015

POPMCS1PIP403

PIU403

POPMPA0PIP404

PIU4011

POPMPRDPIP405

PIU4014

POPMPWRPIP406

PIP407

PIU4041

POPMPD7PIP408

PIU4042

POPMPD6PIP409

PIU4043

POPMPD5PIP4010

PIU4044

POPMPD4PIP4011

PIU401

POPMPD3PIP4012

PIU408

POPMPD2PIP4013

PIU409

POPMPD1PIP4014

PIU4010

POPMPD0PIP501

PIR2301PIW101

PIP504PIU4021

PIP602

PIR2602

PIU4037

POSELECTPIP603

PIR2502

PIU4036

POLEFT

PIP604

PIR2702

PIU4038

POUPPIP605

PIR2802

PIU4035

PORIGHTPIP606

PIR2902

PIU4034

PODOWN

PIP701

PIU4024

POWipper

PIP505

PIP801

PIU4022

POXin

PIP804

PIU4023

POYinPIP805POST

PIR2402PIW201

PIU402POSDI

PIU404POSDOPIU405POSCK

PIU4013

PIU4018PIW102 PIU4019

PIU4020

PIU4025POBATSTATPIU4026PO0SLEEPCOMPPIU4027POSTEPCOMP

PIU4030PODIRCOMPPIU4031PO0SLEEPREB

PIU4032POSTEPREB

PIU4033PODIRREB

PIW202

PIP702

PO0SLEEPCOMP

PO0SLEEPREB

POBATSTAT

PODIRCOMP

PODIRREB

PODOWN

POLEFT

POPMCS1

POPMPA0POPMPD0POPMPD1POPMPD2POPMPD3POPMPD4POPMPD5POPMPD6POPMPD7

POPMPRDPOPMPWR

PORESET OLEDPORIGHT

POSCK

POSDI

POSDO

POSELECT

POST

POSTEPCOMP

POSTEPREB

POUP

POWIPPER

POXIN

POYIN

1

1

2

2

3

3

4

4

D D

C C

B B

A A

Title

Number RevisionSize

A4

Date: 21/02/2011 Sheet ofFile: C:\Documents and Settings\..\OLED Display.SchDocDrawn By:

RES1

CS2

DC3

RD4

RW5

VSL6

D7

7

D6

8

D5

9

D4

10

D3

11

D2

12

D1

13

D0

14

+5V 15

GND 16

Cannot open file C:\Users\Fox\Desktop\tubez.bmp

*1

OLED

RESET OLED

PMCS1

PMPD

7

PMPD

6

PMPD

5

PMPD

4

PMPD

3

PMPD

2

PMPD

1

PMPD

0

GND

5V

PMPRD

PMPWR

PMPA0

PI0101

PI0102

PI0103

PI0104

PI0105

PI0106

PI0107 PI0108 PI0109 PI01010 PI01011 PI01012 PI01013 PI01014

PI01015

PI01016

CO01

PI01015

PI01016

PI0101PORESET OLED

PI0102POPMCS1

PI0103POPMPA0

PI0104POPMPRD

PI0105POPMPWR

PI0106

PI0107

POPMPD7PI0108

POPMPD6PI0109

POPMPD5PI01010

POPMPD4PI01011

POPMPD3PI01012

POPMPD2PI01013

POPMPD1PI01014

POPMPD0

POPMCS1

POPMPA0

POPMPD0POPMPD1POPMPD2POPMPD3POPMPD4POPMPD5POPMPD6POPMPD7

POPMPRD

POPMPWR

PORESET OLED

1

1

2

2

3

3

4

4

D D

C C

B B

A A

Title

Number RevisionSize

A4

Date: 21/02/2011 Sheet ofFile: C:\Documents and Settings\..\SD Card.SchDocDrawn By:

123456789101112

P9

Header 12HGND

ACTIVITY1LED110K

R31Res1

10K

R32Res1

10K

R33Res1

10K

R34Res1

10K

R35Res1

180

R30

Res1

3.3V

0.1uF

C13Cap Pol1

GND/CSSDO

SCK

SDI

CDWD

PIACTIVITY101PIACTIVITY102

COACTIVITY1

PIC1301PIC1302

COC13

PIP901

PIP902

PIP903

PIP904

PIP905

PIP906

PIP907

PIP908

PIP909

PIP9010

PIP9011

PIP9012

COP9

PIR3001PIR3002COR30

PIR3101

PIR3102COR31

PIR3201

PIR3202COR32

PIR3301

PIR3302COR33

PIR3401

PIR3402COR34

PIR3501

PIR3502COR35

PIC1301

PIP904

PIR3002

PIR3102 PIR3202 PIR3302 PIR3402 PIR3502PIC1302

PIP903

PIP906

PIP9012

PIACTIVITY101PIR3001

PIACTIVITY102PIP901PO0CSPIP902POSDO

PIP905POSCK

PIP907

PIR3101

POSDIPIP908

PIR3501

PIP909

PIR3401

PIP9010POCDPIP9011

PIR3201 PIR3301

POWD

PO0CS

POCD

POSCK

POSDI

POSDO

POWD