EEL4924 Design 2 Report (1)

24
EEL4924 Design 2 Final Project Report Team Limbitless (Prosthetic Arm) Alex Blacher Jose Suarez

Transcript of EEL4924 Design 2 Report (1)

Page 1: EEL4924 Design 2 Report (1)

EEL4924Design2

FinalProjectReport

TeamLimbitless(ProstheticArm)

AlexBlacher

JoseSuarez

Page 2: EEL4924 Design 2 Report (1)

Introduction

Ourdesignprojectwasthedesign,fabrication,andimplementationofafully3Dprinted

prostheticarmwiththetargetaudiencebeingchildren.Thisprostheticarmincludestheuseof

aninhousebuiltanddesignedmusclesensor.Thisisbecauseourprostheticarmworksonthe

principles of electromyography. Electromyography, EMG in short, is an electro-diagnostic

medicine technique for evaluating and recording the electrical activity produced bymuscles.

EMGisperformedusinganinstrumentcalledanelectromyograph,toproducearecordcalledan

electromyogram.InourDesign2projecthowever,wehavesuccessfullydesignedandcreated

ourownprintedcircuitboardsforthismusclesensor.

Ourprostheticarmhasaremovable,rechargeablelithium-ionbatterysimilartothosein

moderncellphones.Thisbatteryisreplaceableandcanbeeasilytakenoutandreplacedwitha

fullychargedoneforcontinueduse.Inordertodothis,webuiltanddesignedarechargecircuit

tofabricateaseparatechargerforthebatteries.Thehandhasthesameflexibilityasthereal

thing.Thiswasdonewithcleverlydesignedand3Dprintedjointsusingspecialflexiblefilament

calledNinjaFlex®.Thisfilamentallowsthefingerstobeflexibleenoughtograspordinaryobjects

likewaterbottles,bikehandle,cellphones,etc.

Thesoftwareintelligenceissuchthattheproductseemsnaturalandunobtrusivetouse.

Thegoalwithourdesignprojectwastomaketheproductasseamlesslyintegratedintotheuser’s

lifeaspossible,sortoflikeaplug-and-playinputdeviceonacomputer.Oursoftwarewillallow

foraccurateandinstantaneousmusclereadingforlowlatencyandfastresponsetime.Thiswas

achieved by actively filtering the signals coming from themuscle and filtering out the noise

accompanyingthatsignal.This,mixedwithahighspeed,hightorqueservo,makesourprosthetic

armtheclosestthingtoarealarm.

Page 3: EEL4924 Design 2 Report (1)

ConceptandTechnologyUtilized

WechosetoimplementtheprostheticarmwithElectromyography,orEMG,technology

becauseitisthemoreintuitivemethodofmovingabodypartlikeanarm.Wearealsotargeting

ayoungaudiencemeaningthatforthem,triggeringamusclewouldbeeasierthansaythinking

aboutmovinganarm.ThisleadstoanothertechnologycalledElectroencephalography,orEEG

forshort.EEGwasequallyapossiblemethodofcontrolforourarmbutwefoundittobeless

effectiveintermsofourchosenaudience.

Anotherwayweapproachedthisdesignisbymakingthebatteryexternallyrechargeable.

Sinceouraudienceisayoungone,wewantedourproducttobringcountlesshoursofuseand

didn’twanttolimitthisusebybatterylife.Inmakingthebatteriesexternallyrechargeable,we

can swap batteries with ease and continue using the product easily.We initially speculated

makingthebatteryinternal,andthenhaveitchargethroughamicro-USBcablebutwefigured

thiswouldbeanintrusiveactionthatwouldinterrupttheeaseofuseofthearm.

All-in-allwefirmlybelievethatchoosingEMGoverEEGtechnology,andmanufacturing

ourownsensorforthis,gaveusgreatercontrolovertheexperienceoftheprosthetic.Goingwith

an externally rechargeable battery also further enhanced the experience by having a more

continuoususeoftheproductwithoutsacrificingtheexperience.

ProductDesign

Anyprostheticdevice is generallydoneby sensinga signal thenperforminganaction

basedon this.Theprostheticarm isnodifferent.Thearmwas3-Dprintedand ismadeof4

fundamentalcircuitblocks.Theyarethebatterycircuit,musclesensors,processor,andservos.

Themusclesignalcomesfromthebicepsandtriceps,andwillbeamplifiedandfilteredthrough

themusclesensorPCBcircuit.Thesignalwillthenbereadbythemicroprocessorandcontrola

servo throughPulseWidthModulation (PWM).Asimpleblockdiagramof the4 fundamental

circuitblocksisshownbelow.

Page 4: EEL4924 Design 2 Report (1)

PowerSupply/Charging SensingProcessing ActuatingPowerSupply Ourprojectfeaturesauniquepowersupplyboardthatsuppliespowertoourentire

system.Usinga3.8V,3000mAhLithium-ionbatterycellwecanstepupthevoltageto5Vforuse

withthemusclesensorandtheservomotors.Toup-convertthisvoltageweusedtheboosting

capabilityoftheLT1073MicropowerDC/DCConverter.Inorderforourmusclesensorstowork

properly,wealsoneedtosupplya-5Vrailfortheoperationalamplifiers.Toinvertthisvoltage,

weutilize the ICL7660Awhich isaCMOSVoltageConverter.Figure1below is the schematic

diagramofthedesignthatwasimplemented.Ourpowersupplyboardhastogoseparatefrom

ourmusclesensorboardsbecauseofcertainsafetyhazardsthatcanoccurifbothareonthethe

PCB.Assuchwehavestrictlydesignedthispowerboardseparatelyfromtherestofthecircuits.

TheDC/DCconverteroperatesbystoringenergyasmagneticflux,inaninductorcoreand

thenswitchingthisenergyintotheload.Sinceit isflux,notcharge,that isstored,theoutput

voltage can be higher, lower, or opposite in polarity to the input voltage by choosing an

appropriate switching technology. To operate as an efficient energy transfer element, the

inductor must fulfill three requirements. First, the inductance must be low enough for the

inductortostoreadequateenergyundertheworst-caseconditionofminimuminputvoltageand

switchONtime.Theinductancemustalsobehighenoughsothatmaximumcurrentratingsof

3.8VLi-ionBattery(BoostConverterto5Vandinvertedfor-5V)

MuscleSensor(Amplifies/Filters) Microprocessor Servo

Page 5: EEL4924 Design 2 Report (1)

theLT1073andinductorarenotexceededattheotherworst-caseconditionofmaximuminput

voltageandONtime.Additionally,theinductorcoremustbeabletostoretherequiredflux,i.e.,

it must not saturate. Lastly, the inductor must have sufficiently low DC resistance so that

excessivepowerisnotlostasheatinthewindings.

Figure1:PowerSupplyBoardSchematic

Figure 2: PowerSupplyPCB

Page 6: EEL4924 Design 2 Report (1)

Figure3:DC/DCUp-converter

Immediately after switch turn-off, the SW1 voltage pin starts to rise because current

cannotinstantaneouslystopflowinginL1.WhenthevoltagereachesVOUT+VD,theinductor

current flows throughD1 intoC1, increasingVOUT.Thisaction is repeatedasneededby the

LT1073tokeepVFBattheinternalreferencevoltageof212mV.

Figure 4: Voltage Converter

TheICL7660Acircuitperformsthecompletesupplyvoltageconversionfrompositiveto

negativeforanyinputvoltagebetween+1.5Vand+10V,andprovidesthecomplementaryoutput

voltageof-1.5Vto-10V.Thedeviceoperatesbychargingapumpcapacitortotheinputsupply

voltage and then applying the capacitor across theoutput supply, transferring thenecessary

chargetoanopen-circuitstoragecapacitor.TheICL7660deliversanopen-circuitoutputequalto

thenegativeoftheinputvoltagetowithin0.1%.Capableofproducing20mA.

Page 7: EEL4924 Design 2 Report (1)

BatteryCharger

Figure5:BatteryChargerSchematic

Figure6:BatteryChargerPCB

Ourprojectfeaturesanexternalbatteryrechargecircuitthatwillbeusedtochargethe

rechargeablebatteries that theprostheticarmwilluse.Wedecideduponabattery recharge

circuitthatwillchargeastandardflat-packbatteryliketheonesyouwillfindinacellphone.This

allowsforourdesigntobemorespaceefficientaswellasbecomemoreefficient intermsof

Page 8: EEL4924 Design 2 Report (1)

usabilityanddesign.Wedidmuchresearchinbatterychargingcircuitsanddeterminedthatfor

thecurrentmodelandspecificationsofthebatterythatwehadinmindwewouldwanttogo

witha500mAhchargingrate.

While amaximumcharging currentof 1c is allowed for Li-Ionbatteries, charging at a

slightlyhigherratewaspossible(withacorrespondinglyshorterchargetime).Theimplemented

designinFigure5aboveusesanLM317withtwo2N2222NPNGeneral-PurposeAmplifiers.Q2

isusedtocontroltheflowofcurrentintotheadjustpinoftheLM317.U1andresistorsR2,R3,

andR4areusedtocreateavoltageregulator(whichsetstheterminationvoltage).Whatoccurs

isthat,U1willtrytomaintainaconstantvoltageacrossR3andthevoltagedividercreatedbyR3-

R4areusedtosetthecurrenttotheadjustpintogetthedesiredoutputvoltagevalue.

As the voltage on R6 approaches ~ 0.7V, Q2 will turn on and IQ2 will increase, thus

decreasingthecurrentintheadjustpin.Thistrickstheregulatorintothinkingthattheoutput

voltage is toohigh, so theoutput current is reduced inorder to compensate.As for the LED

portionofthecircuittotheleft.R5isinparallelandisforcedtohavethesame0.7Vdropacross

itasthediode.IfRsdoesnotreceivethecurrentnecessaryfora0.7Vdrop,then0.7Vcannotbe

achievedandthediodenolongerconducts,soQ1isnotproperlybiasedandtheLEDwillturnoff

whendonecharging.

Page 9: EEL4924 Design 2 Report (1)

Microprocessor

Figure7:MicroprocessorBoardSchematic

Figure8:MicroprocessorBoardPCB

The ATtiny85 was decided on for our purpose as it had 4 working ADC channels on

differentpinsthanthe2outputcomparepinsthatwereneededtorunthePWMfortheservos.

This would allow us to sense the differentmuscles andmakes themovements of the hand

withoutwastingtoomuchspacewithalargerprocessor.

Page 10: EEL4924 Design 2 Report (1)

MuscleSensor

Figure9:MuscleSensorSchematic

Figure10:MuscleSensorPCB

Page 11: EEL4924 Design 2 Report (1)

One of the focal points of our project was the muscle sensor, which used

electromyographytodetectthemovementofthetricepandbicepmusclesandthenmovethe

accordingpartofthehand.Whenusingelectromyographytodetectsurfacemuscles,thereare

a few usual blocks to include. These are the pre-amplification, filtering, and then the post-

amplification.Thiswasthesameideaforthedesignofourmusclesensor.Theideaofthedesign

isthatthepre-ampworkstoamplifythesignalfromthearm,whichisintherangeofmicrovolts,

withouthavingtoamplifytoomuchnoise.Thefilteringworkstofilterthehighfrequencyand

lowfrequencynoisefromthesignalwhiletherectificationmakesitsothatapulseonlyregisters

a positive peak and gets rid of the negative one. The amplifier at the end is purely for gain

purposes andworks to take the clean signal and amplify it large enough to be used by the

microprocessor.

Figure11:Closeupofinstrumentationampcircuit

The pre-amplifier was done through the use of an instrumentation amplifier, the

INA114P.This instrumentationampwasaprettysimpleonetoimplement.Theinputswerea

differentialsignalthatwouldcomefromeitherthebiceportricep.Thesignalcominginwasan

ACsignalcenteredon0Vwithamicrovoltamplitude.Thereisaresistor,Rg,whichisusedforthe

gain,which isdefinedinthedatasheet.Thegainforourapplicationaschosentobe200asa

largergainthanthatwouldamplifynoisetoomuchandagainsmallerthanthatwouldcausethe

signal to get buried in the filtering stages. For these purposes, the signal-to-noise ratio was

importantbecauseitneededtobehighenoughtobeabletoaccuratelyfilterthenoise.

Page 12: EEL4924 Design 2 Report (1)

Figure12:CloseupofFiltering/Rectifyingstagesofthemusclesensor

Thefirstpartofthefilteringstageisthehighpassamplifierwhichworkstofilterthelow

frequencynoisefromthecircuit.Thefrequencyofthemusclesisaround50-60Hzsothecutoff

frequenciesweredesignedaroundthis.Becauseof this, thecutoff for thehighpass filterwas

designedtobearound102Hz.Therectifierwasthenextstageinthefilteringpart.Thiswasdone

withasimplehalfwaverectifierwhichwouldget ridof thenegativehalvesof thesinewave

comingfromthearm.Theideaofthisisthattheprocessoronlyseesthepositivepeaksanyways

so getting rid of the negative halves creates a larger average peak, which would help with

processordetection.Thelastpartofthefilteringprocesswasthelowpassfilter.Thefunctionof

thisstageistogetridofhighfrequencynoise.Thecutoffforthisstageshouldusuallybechosen

low,around0-10Hzandforourpracticewaschosentobearound2Hz.Theresultofthesestages

isthatwhenthebiceportricepisflexed,asmallpulsewilloccur(around+20mV),whichwillbe

cleanandhavenonegativehalf.

Figure13:Closeupoffinalamplificationstage

Page 13: EEL4924 Design 2 Report (1)

Thisiswherethelastamplificationstagecomesintothedesign.Forourpractice,itmade

sense to use a regular non-inverting amplifier thatwould have a 50kΩpotentiometer in the

feedbackloopwhichwouldallowustoadjustthegainfrom0-50tofitdifferentneedsgiventhe

sizeoftheperson’smuscle.Thisishowthemusclesensorworksinourpractice.Whenflexed,

themusclesensorcreatesapositivepeakwhichcanthenbedetectedbythemicroprocessoras

amovementbythearm.

Whenactuallycreatingthedesign,afewproblemscameupwhichcreatedamuchlarger

delay thanwhatwas firstexpected.Themainproblemthatwehadto figureoutwas theDC

offsets thatpermeated throughourentiredesign.The first revisionofourPCBhadboth the

power,ground,andsignal traceson thebottomof theboard,whichwereonly separatedby

around7milfromeachotherwhichwethoughtmighthavebeencreatingtheproblemsthatwe

had.Wedecidedtohaveasecondrevisionoftheboardbutthistimerouteallofthepowertraces

ontopoftheboardandthesignaltracesonthebottomoftheboard.Howeverthisdidnotfix

the DC issues thatwewere seeing. These DC issueswere even present on the input to the

instrumentationampfromtheelectrodeswhichwouldcausetheinstrumentationampnotto

workwhenourmusclewasflexed.Wefinallyrealizedthatthisissuewaspresentduetotheway

PCBsaremadewiththelaserprinteroncampus.Theboardswouldberunthroughthemachine

twice, or “double-burned”, which would inject carbon between the traces and create small

resistanceswherethereshouldn’tbeany.Throughheavilyscrapingthetraces,wenoticedthe

DCoffsetsstartedtogoawayfromtheinputtotheinstrumentationamp.

OurnextlargestproblemcameintheformofaDCoffsetthatwouldbepresentonthe

outputofthefinalamplifier.Thiscausedamajorproblemforourapplication,astheprocessor

wouldn’tbeabletodistinguishbetweentheACsignalcausedbythemuscleflexandtheDCoffset

thatwasinherentlypresentontheoutputnode.ThefirstthoughtforthiswastoACcouplethe

outputofthemusclesensortotheprocessor,intheformofputtinga1uFcapacitorfromthe

outputnode to the inputof theprocessor. The resultof thiswas thatwhen the systemwas

powered,theDCvoltageontheoutputofthemusclesensorwouldstarttodecreaseuntilitgot

toaround60-70mVbutwhentheADCwouldtrytoreadthevoltagefromthesensor,theDC

voltagewouldgoalothigher(around500mV–2V)andmaketheprocessorincapableofdoing

Page 14: EEL4924 Design 2 Report (1)

accurate readings. For a while, we couldn’t figure out why the DC was getting through the

capacitor,asitshouldbeblocked.Whatweendedupfiguringoutwasthattheinputimpedance

onthemicroprocessorwasaffectingit.Theinputimpedance,totheADCchannelswouldalter

between1MΩand10MΩastheADCwouldbereadingandswitchingbetweenchannels.This

wouldcausethecapacitortoseedifferentimpedancesasthesensingwentonwhichcausedthe

charginganddischargingthatwewereseeing.Tofixthis,weendedupputtinga1MΩresistor

betweentheoutputnodetogroundsothatthecapacitorcontinuouslysawthatresistanceand

wouldkeepalowDCvalue.ThiscausedtheDCvoltageontheoutputnodetobebetween3-

10mVwhichmadetheprocessoraccuratelyseeeverytimethemusclewasflexedwhiletheAC

voltagewasamplifiedtoaround200-400mV.

Page 15: EEL4924 Design 2 Report (1)

EmbeddedCode

#define F_CPU 1000000 #define Resolution .0098039 #include <avr/io.h> #include <util/delay.h> int VoltageInput; void ADC_Init() ADMUX = 0x86; //1.1V internal voltage w/o cap. ADC3/4 differential. ADCSRA = 0xE7; //Enable ADC, start conversion, auto trigger, prescalar 128 ADCSRB = 0x80; //bipolar differential mode, free running mode (constantly updating ADC) DDRB = 0x03; //pin 2 (ADC3 input); pin 3 (ADC2 input); pin 6 (PB1) output; pin 5 (PB0) output DIDR0 = 0x3C; //disable digital input buffer // initialize PWM void pwm_init() // initialize timer0 in (non-inverting) PWM mode TCCR0A |= (1<<WGM01)|(1<<WGM00)|(1<<COM0A1)|(1<<COM0B1); //Clock Select, select the clock source to be used by Timer/Counter TCCR0B |= (1<<CS01)|(1<<CS00); // pre-scaler (clk/64) to Divide high timer clk freq. to feed to timer. // make sure to make PB0 as output pin //DDRB |= (1<<DDB0)|(1<<DDB1); void read_ADC() VoltageInput = ADC; // read ADC value if( (VoltageInput & 0x200) == 0x200) //if MSB is 1 --> means number is negative VoltageInput = signExtension(VoltageInput); //sign extend the integer to convert to negative number asm("nop"); int signExtension(int value) value += 0xFFFFFC00; //take integer and add 1s to bits 31 through 10. return value; int main(void) ADC_Init(); //initialize pwm_init(); VoltageInput = 0;

Page 16: EEL4924 Design 2 Report (1)

asm("nop"); read_ADC(); if((VoltageInput > -249) && (VoltageInput < 249)) //our first ADC value is 0 OCR0A = 7; //so initially set both servos to min OCR0B = 7; asm("nop"); _delay_ms(1000); while(1) //infinite loop read_ADC(); //read ADC if((VoltageInput > -349) && (VoltageInput < 249)) //if no bicep or tricep is triggered OCR0A = 7; //set servo 1 to min OCR0B = 7; //set servo 2 to min asm("nop"); if ( VoltageInput > 250) //if bicep is triggered asm("nop"); _delay_ms(1000); //delay just in case bicep peak is long enough to trigger twice while(1) //loop to wait until another bicep read_ADC(); //keep reading ADC, checking for another movement if(VoltageInput < -300) // when tricep is triggered asm("nop"); OCR0A = 36; //move servo 1 to max OCR0B = 36; //move servo 2 to max _delay_ms(1000); while(1) read_ADC(); if(VoltageInput < -300) //if tricep is triggered again asm("nop"); OCR0A = 7; //move servo 1 to min OCR0B = 7; //move servo 2 to min _delay_ms(1000); break; //break out of waiting loop asm("nop");

Page 17: EEL4924 Design 2 Report (1)

break; //break out of waiting loop if(VoltageInput > 250) // when bicep is triggered asm("nop"); OCR0A = 35; //move servo 1 to min _delay_ms(1000); while(1) read_ADC(); if(VoltageInput > 250) asm("nop"); OCR0A = 7; _delay_ms(1000); break; //break out of waiting loop asm("nop"); break; read_ADC(); if (VoltageInput < -300) //if a tricep is triggered asm("nop"); _delay_ms(1000); //again delay to prevent tricep movement from triggering twice while(1) //loop until tricep or bicep is triggered again read_ADC(); //keep reading ADC to check for another movement if(VoltageInput < -300) // when tricep is triggered asm("nop"); OCR0B = 36; //move servo 2 to max _delay_ms(1000); while(1) read_ADC(); if(VoltageInput < -300) asm("nop"); OCR0B = 7; //move servo 2 to min _delay_ms(1000); break; //break out of waiting loop asm("nop");

Page 18: EEL4924 Design 2 Report (1)

break; //break out of waiting loop if(VoltageInput > 250) // when bicep is triggered asm("nop"); OCR0A = 36; //move servo 1 to max OCR0B = 36; //move servo 2 to max _delay_ms(1000); while(1) read_ADC(); if(VoltageInput > 250) asm("nop"); OCR0A = 7; //move servo 1 to min OCR0B = 7; //move servo 2 to min _delay_ms(1000); break; //break out of waiting loop asm("nop"); break; asm("nop");

ThecodestartswithinitializingthePWMoutputsandtheADCinputsfortheprocessor.

TheADCneededtobe inbipolardifferentialmodesincethisallowsfortheADCtoreadboth

positiveandnegativevalues.Thedifferentialmodeworksbytakingthedifferencebetweentwo

ADCregistersthatareattachedtoourmusclesensorsandcomingupwithavaluebasedonthat.

Theregisteris10bitsbutthe9thbitofthisisthesignbit.Therestofthe9bitsareusedtoread

the actual value. Our value is then stored in an integer that was call VoltageInput. Because

integersinCarestoredas32bitnumbersandweareonlyreadinga10bitvalue,thesignbit

needstobecheckedfirstandtheintegerneedstobesignextendedifthisnumberisanegative.

Page 19: EEL4924 Design 2 Report (1)

ThisisalldoneintheRead_ADCfunctionofourcode.Thisfunctionchecksthesignbitandmakes

theintegerclosetotheactualoneweareusingfordetection.

Thefirststepofourcodeistosaythatwhenneitherthebiceportricepisbeingdetected,

theservosshouldbeattheirminimumvalues.Thisprotectstheservosfromstallingwhichcreates

ahighcurrentdrawandcanmesswiththepowerboard.Ourarmworksbyfirstdetectingatricep

orbicepmotion.Forexample,whenabicepisdetected,thisputsusinanendlessloopwaiting

foreitheranotherbiceporatriceptobedetected.Whenanotherbicepisdetected,oneservo

movesbysettingtheoutputcompareregisterthismoveshalfofthehand.Togetthatpartofthe

handtomoveback,anotherbicepmotionmustbedone.Whenatricepisdetectedinthisendless

loop,thefullhandcloses.Onlyanothertricepmotionwillmovethehandbacktoitsinitialstate.

Whenwestartoutwithatricepmotion,itworksverymuchthesamewayasthefirstalgorithm.

Thecodewaitsforeitheranothertricep(whichwillmovetheotherhalfofthehand)orabicep

(whichwillmovethefullhand).Thehandwillonlygobacktoitsinitialstateonceasecondbicep

ortricepmotionistriggered.

Thetriggeringofthebiceportricepisdonethroughpeakdetectionofthemusclesensor

signals.TheendlessloopsonlycomeaboutwhentheVoltageInputintegerregistersthesepeaks.

Thiscausesalittlebitofaproblembecausethepeaksofthemusclesfordifferentpeoplearen’t

always thesame.This iswhy thepotentiometer is important in the final stageof themuscle

sensor.Thepotentiometerallows foranadjustablegainso that thecodedoesn’tneed tobe

augmented,onlythefinalstagegainwhichisveryeasilydoable.

Therealsoneededtobeabitofadelaybetweendetectingamusclemovementanddoing

anything incode.TheATtiny85runsat1MHzwhichmeanseveryaction isdone in justa few

microseconds. The peak of themuscle sensor is around 100-200ms though which creates a

problem.Ifthereisnodelay,therecouldbeacircumstancewhereonemusclemovementtriggers

afewdifferentmotionsonthemusclewhichcouldcauseproblemswiththeservo.Wetested

multipledelaysbutendedupdecidingononesecondbetweenmovementsbecauseitaccurately

separateddetectingamusclefromthenextmotionwhilenotcausingadecreaseinfunctionality.

Page 20: EEL4924 Design 2 Report (1)

3D-PrintedMaterials

Figure14:Closeupof3-Dprintedhand

The3-Dprintedhandisexplainedinthebeginningpartofthisreport.Thearmandhand

itselfareregularABSplasticwhilethejointsbetweenthehandareamaterialcalledNinjaFlex™.

Therubberizedinsertsoneachfingerallowforthehandtohavegripsothatitcanpickupcertain

kindsofmaterials.Thestringsineachfingerarefishingwirewhichruntoboththeservoswhich

areattachedontothearm.Whenacertainmotion istriggered,theservomoves,movingthe

correspondingpartofthehand.TheziptiesthatyouseeinFigure14aretoholdtheservosin

place so the arm canmove without anything jiggling around. A fewmore pictures showing

differentanglesofthearmandtheinside(placementoftheelectronics)canbeseenbelow.

Page 21: EEL4924 Design 2 Report (1)

Figure15:Anotherangleofthe3-Dprintedarm

Figure16:Photooftheinsideofthearmtoshowtheplacementofelectronics

Page 22: EEL4924 Design 2 Report (1)

Figure17:Solidworksphotoofthehanddesignandassembly

Page 23: EEL4924 Design 2 Report (1)

BillofMaterialsPart Value Qty. PartNumber PriceProcessor N/A 1 ATTiny85 1.67ProcessorBoardPCB N/A 1 N/A N/A Inductor 82uH 1 AIRD-01-820k 0.65Resistor 100Ω 1 EVU-F2AF30B00 0.28Capacitor 10uF 3 272-1025 1.5Capacitor 100uF 1 272-1026 0.5Diode N/A 1 1N5818 0.1DC/DCConverter N/A 1 LT1073 3.67VoltageConverter N/A 1 ICL7660A 0.66PowerBoardPCB N/A 1 N/A N/A Resistor 1Ω 1 EVU-F2AF30B19 1.5Resistor 47Ω 1 EVU-F2AF30B16 0.25Resistor 470Ω 3 EVU-F2AF30B10 0.42Resistor 1kΩ 2 EVU-F2AF30B14 0.21Resistor 2.2kΩ 1 S22CACT-ND 0.25Capacitor 0.1uF 6 272-1024 1.3NPNTransistor N/A 2 2N2222 0.1Diode N/A 3 1N4001 0.13LED N/A 1 XPEBRD-L1-0000-00601 0.853-TAdj.Regulator N/A 1 LM317 0.15Battery 3.8V 1 3000mAhBattery 8BatteryChrg.PCB N/A 1 N/A N/A 3D-PrintedHand N/A 1 N/A 203D-PrintedCasing N/A 1 N/A 10JewelryString 1Roll H20-1695BS 5Crimps 10 000-SS-CRM7-100BP 2WoodScrews 1.5" 2 N/A 0.5 Capacitor 1uF 1 478-8949-3-ND 0.19Resistor 150kΩ 5 150KQBK-ND 0.1Resistor 100Ω 1 100H-ND 0.1Resistor 150Ω 1 CF18JT150RCT-ND 0.1Resistor 82kΩ 2 82KQBK-ND 0.1Potentiometer 50kΩ 1 3362P-503LF-ND 1.02INA114P N/A 1 INA114AP-ND 10.41TL084CN N/A 1 296-1784-5-ND 0.633.5mminputJack N/A 1 CP-1409-ND 1.16

Page 24: EEL4924 Design 2 Report (1)

Total $84.91

Conclusion

Thearmworksthewayitwasintendedinthepreliminarydesignreport.Therewerea

fewissuesthatweren’texpectedbutneededtobeworkedoutalongtheway.Givenmoretime,

oneofthethingswewould’velikedtoaddontothearmisadigitalpotentiometerintheoutput.

Thiswouldhavemadethefinalstagegaindigitallyadjustablesothatanyusercanusethearm.

Wewould’vehadastartupfunctionwheretheuserwouldflextheirmusclesacertainamountof

timesandthepotentiometerwouldadjustthefinalstagegainsothattheirindividualpeakscould

bedetectedbythemicroprocessor.Thiswould’vemadethearmeasilyadjustabletoanyuser.

Overall,otherthanthe3-Dprinting,theelectronicsinthearmwereallratherinexpensive.

Thereareonlyafewintegratedchipsusedintheentiredesign,nonecostingthatmuch.Thearm

wouldbeabletobeusedinmanydifferentpracticesandapplications,andwithabitmorework

andfinetuning,couldbeacosteffectivesolutionforamputees.