Seaperch (1 / 4 steg)

Steg 1: Steg 1: Detaljer

USNA Seaperch

Sensor Suite

Av: J. Johnson

Ändringar av Seaperch struktur, montering teknik och tråd anslutningar

Öka bredden på seaperch korsar medlemmar från 4,5" till 5,5" att rymma en 5 "x 6" aluminium monteringsplattan och 5 "x 7" x 3", vattentät låda som rymmer en Arduino Uno, Adafruit V2 Motor sköld, en INA219 ström/spänning breakout modul, Arduino Wireless SD Shield, en 9DOF breakout modul och 12V-9800mah Lithium-Ion batteri.

Motorfäste ytan ändrades genom att lämna in de horisontella och vertikala medlemmarna med halvrund fil till en djup och bredd att rymma motorns cirkulär struktur. Ersätt befintliga motorfäste slips – wraps med kvartalet-tjugo - 3 "x 1-3/8" metal gängad U-bultar, bakningen guldpläterade och slutet-kupolmuttrar skönhet att skydda utsatta trådarna i U-bultar och tillämpad shrink-wrap slangar till U-bultar för att minimera rost av deras exponerade ytor.

Skär Ethernet tjudra anslutningen från den Seaperch änden av Ethernet-kabeln till en längd av ungefärligt 18". Ta bort 6" den yttre manteln av kabeln. Infoga den avskurna änden av kabeln till en av Förskruvningar installerat i vattentät hölje. Strippa ½", då vik och ändarna av paret exponera tråd av tenn och ansluta varje par till motsvarande (M) motor anslutningarna av V2 Motor sköld enligt följande:

Orn/Orn-Wht par till vänster/höger-kontakten M1

Blu/Blu-Wht paret till vänster/höger-kontakten på M2

GRN/Grn-Wht paret till vänster/höger-kontakten på M3

BRN/Brn-Wht paret till kontakt för extern batteri laddare

Bifoga en RJ-45-kontakt, med tabell 1 som en guide, till den andra änden av Ethernet-tjuder som klipptes. I detta syfte kommer sedan att anslutas till den ut ombord på sidan av en vatten-tight Ethernet kabelförskruvning installerat i inneslutningen. Detta gör att seaperch kopplas bort från registeransvarige när inte i använda. Skär och använder en Ethernet-kabel, ungefär 6" lång, som har en RJ-45 manliga (Jack)-kontakt i ena änden och ingenting på den andra änden. Ta bort ca 3" av den yttre manteln från skär slutet av denna bit av kabel att exponera tråd parar av kabeln. Band 1/2" från ändarna av varje tråd par-utan för att nick koppar ledaren. Vik och tenn exponerade ändarna på varje ledare. Detta ökar styrka små trådar av Ethernet-kabeln. Anslut RJ-45 av Ethernet-kabeln till Ethernet körteln i styrelsen sida sedan ansluta konserverad ändarna till respektive V2 Shield's Digital insignal stift-hänvisar till följande som en guide.

RJ-45 pin # tråd färg V2 D-I/O pin

1 ORN/WHT D3

2 ORN D2

3 GRN/WHT D5

4 BLU/WHT D7

5 BLU D6

6 GRN D4

7 BRN/WHT + 5V

8 BRN GND

MPX5500 Sensor ledningar

Använda en 6" bit av Ethernet-kabeln med jackan helt bort för att ansluta MPX5500 till motsvarande analoga ingång V2 Motor skålens enligt följande.

(Se MPX-5500 data sheet)

Pin1 - Hack () WHT/ORN wire-Sensor utdata till sköld input (A0)

Pin2 - blå tråd System marken

Pin3 – ORN kabel till + 12V positiva leverera från V2 shield Vref pin

Beskrivning av vattentät kapsling och kretsar

Vattentät inneslutningen (PID 905, SID 95,1) köptes från Adafruit industrier. Mått L 6,75" x b 5.0" X H 3.0" befanns nödvändigt för att rymma alla interna komponenter och kablage. Inneslutningen kräver borrning av tre hål att fästa de olika kablar och slangar via flera vatten-tight Förskruvningar. Ethernet-körteln kräver ett hål på ca ¾" i diameter (exakta. 794"). De andra två, mindre körtlar kräver hål i ca ½" i diameter (exakta. 494").

Ändring av Seaperch Controller

För en befintlig Seaperch blir controller att arbeta med Arduino Uno & Adafruit V2 Motor sköld det nödvändigt att göra flera ändringar av registeransvarige. Obs: Det beslutades att ändra och befintliga controller switchbox snarare än att gå igenom ansträngningen att designa och konstruera en helt ny en. Dessutom, eftersom det är möjligheten som nästa steg i sensorn utveckling kan vara att styra riktningen på Seaperch med hjälp av en gyro eller kompass detta tillvägagångssätt kan bättre lämpa sig mot den riktningen.

Ändringarna som controller är fulländade genom skära flera kretskort löda spår och lägga till flera hoppare ledningar. Dessa ändringar är nödvändiga, sedan den ursprungliga funktionen av registeransvarige, vilket var att förse Seaperch +/-12V motorer för framåt/bakåt och upp/ner riktning kontroll ändras. I stället registeransvarige nu ger + 5v, som representerar en logisk "1" och marken, som representerar en logisk "0" till Arduino att styra riktning av Seaperch via V2 Motor sköld. Obs: de ändringar som följer kan utföras mycket enklare om kretskortet är obebodda dvs en där inga komponenter installeras

För att starta, den extra Brn-Brn/Wht tråd par Ethernet kabel nu kommer att leverera + 5v och jord från Arduino Uno och V2 sköld att källan controller sidan av dess växlar, vilket ger de nödvändiga logiska ingångarna till Arduino Uno via V2 Motor sköld. Först unsolder och ta bort de röda och svarta kablarna till externa batteriet från registeransvarige. Därefter ansluter och löda en jumper tråd från stift 8 (GND) av RJ-45-kontakt - 12V ögla anslutningen märkt (BLK) på handkontrollen under sida. Lägga till en andra hoppare tråd från (BLK) löda pad i fuse holder anslutningen närmast att STBD sidoknappen. Lägga till en tredje jumper tråd över de översta två kontakterna för Port switch-SW2. Denna ändring nu används för att ge ett "grund", köps av Arduino Uno R2/V2 Motor sköld kretsar, till rätt byta kontakter av SW1 (STBD) & SW2 (Port) växlar och (NC) kontakter av SW3/4 & SW5/6 (upp/ned) växlar, som ursprungligen var anslutna till den negativa sidan av extern 12V batteri. Detta nya sammanhang kommer sedan att användas att ge logiska "0" till digitala ingångar D4-D7 till Arduino Uno. Obs: Det är viktigt att ta bort säkring (F1), eftersom det inte längre krävs för skydd och om vänster på plats kommer att orsaka en kort mellan den + 5V och GND. Säkringshållaren användas dock nu att ansluta en LED (L1) genom en 330 ohm nuvarande begränsa motstånd. LAMPAN L1 som kommer att användas som en visuell indikator som registeransvarige tar emot + 5v och jord från Arduino Uno.

Controller kretskort trace skärande ändringar kräver noggrann skärning av flera löda etsade spår av kretskortet. Detta kan åstadkommas med en Xacto kniv eller på motsvarande sätt skära skarpa verktyg så här: skär spår direkt anslutning till (NO) anslutning öljetten SW5/6 på innanlåret av kretskortet. Det är också nödvändigt att skära kretskort löda tracen som ursprungligen var ansluten till den + 12V sidan av säkringen omedelbart mellan C2 och C3 öljetter och omedelbart bredvid STBD etiketten. Nästa, skär spår direkt anslutning till (ingen) anslutning ögla av SW3/4 på den under sidan av kretskortet. Ansluta och Jumper tråd från stift 7 i RJ-45 kontakt till både SW3/4 & SW5/6 circuit board pad märkt (NO) och till den + 12V ögla. Dessa ändringar kan nu + 5V från Arduino Uno skall kopplas till de (nej) kontakterna SW3/4 och SW 5/6 för att användas som "logiska 1" från dessa växlar till den digitala ingångar D2 och D3 för Arduino Uno... Detta eliminerar också behovet av ett externt batteri anslutning till registeransvarige, som 12Vdc krävs för att driva seaperch motorerna tillhandahålls nu av Li-Io batteriet internt inrymt i vattentät låda på seaperch. Växlar SW3/4 och SW5/6 måste nu sina (NC) kontakter ansluten till marken och deras (NO) kontakt kopplad till + 5v för att ge en logisk "0" eller "1" till digitala ingångar D2 & D3 för Arduino Uno. SW1 & SW2 måste nu alla dess växlade kontakter ansluten till jord för att ge logiska "0" till normalt "Pulled-upp" ingångar av D4-D7 för Arduino Uno.

Beskrivning av komponenter, kretsar och anslutningar

Ethernet-körteln är en hona-hona RJ45-kontakt och möjliggör anslutning/urkoppling av Seaperch från registeransvarige som krävs. En av mindre Förskruvningar används för att infoga motor slutet av Ethernet-kabeln som är internt kopplade till V2 motor Shield motordrift utgångar (M1-M3) via headers. V2 Motor skölden har en fjärde motoreffekt (M4)-utgång som är nu en ledig den andra, mindre kabelförskruvning används för att infoga en längd av Tygon eller liknande slangar som sticker ut genom en av de mindre körtlarna och är utsatt för att vattentryck. Den andra änden av slangen ansluts till positivt tryck sidan av internt monterad MPX5500 differentialtryck sensorn. Denna sensor mäter lufttrycket på olika djup och tillförsel en analog signal som är ansluten till analog ingång A0 för Arduino Uno via en V2 Motor sköld header anslutning och kommer att användas som feedback för att styra önskad djupet av Seaperch. V2 Motor skölden är kopplad till Arduino Uno via manliga headers som kräver lödning till V2 sköld. Det är också nödvändigt att löda flera kvinnliga huvudkontakter till V2 för att ansluta olika ingångar och utgångar till/från Uno mikrokontroller. Extrem försiktighet och uppmärksamhet krävs vid lödning headers till V2 skölden, eftersom de är mycket liten, tätt och smälter lätt. En 12V, 9800mah, uppladdningsbart Lithium-Ion batteri med en ON/OFF switch och interna avgifter kretsar nu kommer att inhysas i vattentätt hölje används för att leverera ström till Arduino Uno mikrokontroller, Adafruit v2 Motor sköld och kommer att leverera tillräckligt med ström till enheten Seaperch motorer. V2 Motor sköld ger en för anslutning för in-/ utgångar från/till styrenheten, seaperch, MPX5500 trycksensor och seaperch drivmotorer. V2 sköld anställda en TB6612 MOSFET föraren med 1.2a per kanal och 3A peak nuvarande kapacitet. Detta bör ge tillräcklig kraft för att effektivt drivmotorer seaperch. Dessa PWM, reversibel polaritet utgångar är anslutna till terminaler M1-M4 av skölden, där de vertikala, babord och styrbord motorerna för Seaperch är anslutna. Skölden piggy-backs på Arduino Uno via pin huvudkontakter som tidigare beskrivits. Inspel från den modifierade seaperch controller nu ge logiska ingångar 1 och 0 är (+ 5v = sant GND = false) till Arduino digitala ingångar, D2-D7, att styra motor riktningen. Signalen från trycksensor, som tidigare beskrivits, ger en analog signal till Arduino analoga ingångar, A0 & A1, vilket ger feedback som fungerar tillsammans med vertikala motor signalen för att ställa in och kontrollera djupet av seaperch. De logiska signalerna från switch controller-enhetens babord och styrbord växlar kommer, beroende på deras position/stat, kör varje motor i normal eller omvänd riktning och lita inte på någon feedback. Tabell 2 beskrivs controller växla positioner, resulterande logiska staten och den resulterande åtgärden att vidta:

Tabell 2

SW1-styrbord Position RJ-45 Pin V2 Pin /State åtgärder

Center-Off D4/D5-drog upp gör ingenting

Framåt 3 D4 - 0 M2-CW

Bakåt 6 D5 - 0 M2-CCW

Sw2-Port

Center av D6/D7-drog upp gör ingenting

Framåt 5 D7 - 0 M3-CW

Bakåt 4 D6 - 0 M3-CCW

SW3/SW4

D2 - GND gör ingenting

PÅ 2 D2- + 5V M1-CW

SW5/SW6

AV D3 - GND

OM 1 D3- + 5V M1-CCW

SW3/SW4 & SW5/SW6

ON / ON D2/D3-1 / 1 Läs/lagra tryckgivaren ingång

Remote Control strömkrets

För att minska behovet av att öppna plast höljet för att vända på-/ frånkoppling till inre kretsen en RF-kontrollerade, användes 12v 15amp fjärrkontroll switch. Denna switch tar + 12Vdc på dess ingång (röd-svart par) som kopplas till sin produktion (vit-svart par) när du trycker på knappen "ON" remote sändaren. När du trycker på "OFF" switch av sändaren den + 12Vdc är bort bildar sin produktion.

Programvara:

Arduino Uno mikrokontroller och Adafruit V2 Motor skölden är programmerade med "Skisser" skriven i C/C++-kod. Samtidigt inte extremt komplicerat kod kräver det dock omfattande behandlingen av koden grunderna, översynen av online-tutorials och exempel skisser finns från ett flertal källor. Koden för Arduino och Motor sköld är "Open Source"-vilket betyder att den kan kopieras och användas fritt av licensiering kostnad från Arduino, Adafruit och olika andra webbplatser. För "Nybörjare" typer av icke-programmerare, fördjupad forskning av hur man skriver, kompilera och ladda upp koden är kritiskt importera till nuvarande och framtida framgång för detta projekt. Detta är och kan vara ett mycket tidskrävande arbete. Koden för USNA Seaperch Sensor Suite inkluderas inte i det här dokumentet, men kommer att tillhandahållas i elektronisk form till programdirektör USNA STEM och annan stam personal. Framtida ändringar av koden och elektroniska kretsar kommer att krävas som andra sensorer och/eller elektroniska enheter läggs till i någon ansträngning att förbättra Seaperch prestanda och för att uppnå målet att USNA Seaperch "autonomi".

Reservdelslista

Beskrivning leverantör kostnad

Arduino Uno R2 Microcontroller Amazon $13.28

Arduino Wireless SD sköld Arduino $20.00

Adafruit V2 Motor sköld Adafruit industrier $19.95

MPX5500-005DV tryck Sensor Omega $10,00

RJ-45 vattentät kabel körtel Adafruit industrier $9.95

Liten vattentät kabel körtel Adafruit industrier $1.95

12V 9800mah Li-Po batteri Amazon $26,00

Stora plast hölje Adafruit $34,00

U-bultar, 3 @ $2 .39ea Ace Hardware $7.17

RJ45 Crimp Tool & kontakter Lowes $20.00

RF fjärrkontroll Switch MSD-INC via Ebay $15.60

2 varje FTDI XBEE Adapter Adafruit $40,00

2 varje Series1 XBEE moduler Adafruit $20.00

2 varje FTDI USB-seriella kablar Adafruit $40,00

1NA219 ström/spänning Sensor Adafruit $20.00

9DOF Breakout modul Adafruit $40,00

Total kostnad: $337.90

Leverantör referenser:

ACE Hardware hemsida: http://www/ace.com/index

Adafruit hemsida: http://www.adafruit.com

Amazon webbplats: http://www.amazon.com/ref=ap_frn_logo

Arduino webbplats: http://arduino.cc/

Lowes hemsida: http://www.lowes.com

Omega webbplats: http://www.omega.com/index.html

Seaperch hemsida: http://www.seaperch.org/index

Delar referenser:

http://www.adafruit.com/products/163

http://www.adafruit.com/products/1120

http://www.adafruit.com/products/1018

http://www.adafruit.com/products/1032

http://www.adafruit.com/products/1604

http://www.adafruit.com/Product/1714

http://www.adafruit.com/products/905

http://Arduino.cc/en/main/ArduinoWirelessShield

http://www.adafruit.com/products/70

http://www.adafruit.com/products/126

http://www.adafruit.com/products/128

http://www.Amazon.com/DP/B008QKJNOA/ref=pe_385040_30332190_TE_3p_M3T1_ST1_dp_1

Modifierad Seaperch Controller kopplingsschema

Seaperch struktur ändringar

Controller ovansidan trace nedskärningar

Controller undersidan byglar och spåra nedskärningar

V2 Motor sköld

V2 Motor sköld Schematisk

Arduino Uno R2 1

Vattentät behållare 1

Li-Io batteri, laddare & förlängningskabel

Produktbeskrivning

9800mAh DC 12V Super Lithium-Ion batteripack

Beskrivningar:

Denna uppladdningsbart batteri är en 12V 9800mah Li-ion batteri och den är speciellt utformad för att driva systemet enheten som använder 12V likström.

Specifikationer:

Färg: svart

Kapacitet: 9800mAh.

Typ: DC 12680

Storlek: 115 x 62 x 21 (mm)

Inbyggd på/av switch att spara strömförbrukning

Inspänning: 12.6V

Utspänning: 10,8 ~ 12,6 DC

Livslängd: omsättning tre ≥500 gånger

Paketet inkluderar:

1 x nätadapter

1 x 6800mAh Laddningsbart Lithium-ion batteri

1 x 3' förlängningskabel

RJ-45 körtel 1

RJ-45 körtel 2

RJ-45 körtel 3

INA219 Ström/spänning Sensor 1

9DOF Breakout 1

Arbetar på havet Abborren har sensor suite varit en sann lära sig erfarenhet. I följande punkter jag kommer att försöka förklara några av mina erfarenheter, iakttagelser och slutsatser om att använda en Arduino mikrokontroller, används en Adafruit Motor sköld, en MPX5500 tryckgivare och andra elektronik sensorer till kontroll och kör havet abborre motorer.

Inledningsvis var det beslutat att använda 12 volt, 4500mah Lithium-Ion batteri pack att driva alla de elektroniska kretsarna. Detta batteri typ valdes eftersom det är laddningsbara, lätta och har en liten formfaktor. Men snart efter att lägga till några extra elektronik anordningen blev det nödvändigt att demontera (break apart) batteriet för att komma åt dess inre kretsar och för att ytterligare minska dess höjd så kunde det lättare passa i vatten bevis inneslutningen tillsammans med annan elektronik.

Det beslutades vidare att för att minska behovet av för att öppna skåpet varje gång blev det nödvändigt att slå batteriet på/av, en kommersiellt tillgänglig 12V RF, fjärrkontroll switch inkorporerades. Detta gjorde att systemet är distans strömförande/ta-energized utan att öppna skåpet. För att externt ladda batteriet, utan att öppna skåpet samband I ena änden av BRN/BRN-WHT kabel paret internt batteri och connectorized yttre slutet av par-med hjälp av en AMP SUPERSEAL 1,5 serie vattentät koppling. Laddaren var också modifierade-lägga till den kontakt kompis till produktionen slutet av laddaren.

För visuella effekter, en serie av vita lysdioder har lagts till och drivs av + 5Vdc fram med hjälp av en LM7805 spänningsregulator som tar + 12Vdc på dess indata från batteriet och ger + 5Vdc utdata till lysdioder, via serie 920 ohms motstånd. Lysdioder och motståndet kom från mitt barnbarn kasserade "Mr Moon in my Room" barns ljus som jag hittade i sin garderob.

Efter systemet församling var upptäcktes det att när energigivande systemet om mer än två av havet abborre motorerna var strömförande samtidigt hela systemet skulle "avstängning". I ett försök att fastställa orsaken till avstängning strömförbrukning från batteriet var övervakas och det har konstaterats att belastningen presenteras av varje enskild motor var ca 500ma. Det konstaterades vidare att när mer än en motor var strömförande den tillverkade spänningen av Li-Io batteriet slumpmässigt sjunkit till 4.35vdc alltså, de energigivande på remote switch-orsakar stängt ner. De 4.35 volt tros vara batteriets "fail safe" jämn spänning avsedda att hålla batteriet helt överbord.

Från början var det tänkt att systemet "Stäng" orsakades av en defekt i remote switch. Dock med vissa ytterligare felsökning, jag upptäckte att om jag ersatt en 12V-7.0a / Tim batteri för Li-Io batteriet växeln höll och jag kunde köra alla tre motorer samtidigt.

Genom lite online forskning upptäckte jag att Li-Po batterier anställd flera typer av inre kretsar, en för låg spänning skydd avsett att minska totala utsläpp av batteriet; man för överdriven aktuella dra avsedda att skydda batteriet från över uppvärmning (som en allvarlig brandrisk) och en för över spänning skydd-all avsedd att minska permanenta skador till batteriet.

Genom min forskning anade jag att systemet "avstängning" faktiskt orsakades av en av batteriets kretsar skydd snubbla. Sedan upptäckte jag genom att ersätta större batteri till Li-Io batteriet alla tre av havet Abborren motorer skulle köras när samtidigt strömförande och presenterade en total belastning på ca 1.5amps. För att min bestörtning, min första belastningen beräkning och skäl för att använda ett 4500mah batteri tycktes vara i fel sedan den 1.5a verkade belastning vara att för mycket för batteriet. Fast besluten att valda batteriet borde ha varit tillräckligt, bestämde jag mig att ladda batteriet och försök igen. Under ladda märkte jag en liten gnista på en inre batteripolerna. Efter ytterligare undersökning upptäcktes det att kabeln ansluter slutligt realiteten av den övre de flesta cellen i batteriet till den negativa terminalen av inre de flesta battericell var lös och felaktigt fastlödda. Jag sedan försiktigt åter löda anslutningen, drivs systemet på övervakas belastningsströmmen och engagerade alla tre havet abborre motorer. Systemet blev strömförande och resa inte, för ett tag sedan började snubbla omedelbart när strömförande! Ytterligare undersökning fann att en av cellerna i batteriet hade skurits, förmodligen under demontering av den yttre förpackningen och avger en stickande lukt. På denna punkt ersattes batteriet med ett 9800mah batteri och systemet hölls under belastning.

Ett andra och mer utmanande problem att diagnostisera inträffade någon gång efter jag inledningsvis nedsänkt systemet för att kontrollera tätheten. När nedsänkt, observerade jag omedelbart en läcka som har sitt ursprung på RJ-45 kabel körteln. Det fastställdes vidare att läckan utvecklats kring handkontrollens kabel var troligen på grund av sin asymmetriska form där det anges körteln.

En natt, efter kämpar med kontrollprogrammet Arduino, lämnade jag oavsiktligt systemet ansluten till datorns USB-port. Nästa morgon, när jag återvände till fortsätta mina ansträngningar, Observera jag styrbords motor vrida reglaget (framåt). Förbryllad av denna oväntade erfarenhet började jag felsöka systemet. När du öppnar RJ-45 körteln konstaterades att körteln hade behållit lite vatten internt. Den upptäcktes ytterligare att gemensamma kontakten av växeln styrbords framåt läsa 1,89 volt när växeln inte var engagerad. Eftersom min skiss var avsedd att köra havet Abborren motorer när babord och styrbord växlar ingångar till Arduino var vid 0 volt och stoppa dem när "drog-upp till 5 volt. Vidare bestämdes att the1.89 volt, vara mindre än 5 volt stop staten, att vara på en odefinierad nivå var tillräckligt för att orsaka styrbords motor att köra framåt.

Ytterligare diagnos visade också att havet abborre slutet av styrkabeln, efter att ha varit utsatt till vattnet i RJ-45 kabel körteln, produceras en obetydligt motstånd mellan + 5 volt på pin7 och styrbords framåt pin6 av RJ-45-kontakt och måste ha varit tillräckligt för att orsaka styrbords motor att vända i riktning framåt utan dess växel att vara engagerad. Körteln och kabel slutet byttes och driva rotation stoppas tills befallt. I ett försök att stoppa framtida läckage, placerade jag en liten bit av slangen runt kabeln att göra det mer symmetrisk där det anges körteln och dessutom belagda körtel och kabel där det anges körteln hjälp "Goop" tätningsmedel i ett försök för att ge mer vatten tät integritet av RJ-45 körteln. Jag har också täckt mindre körtlar på deras startpunkter av samma anledning.

Sammanfattningsvis, måste litium-jon (Li-Io) batterier, samtidigt anses lämplig för denna ansökan, noga väljas baserad, inte bara på deras storlek och vikt, men ännu viktigare på deras nuvarande leveranskapacitet. Under min forskning lärde jag mig att det finns flera typer av Li-Po batterier finns tillgängliga på marknaden, vissa med inbyggda skydd vissa som kräver externa kretsar för skydd. Jag lärde mig också som om felaktigt ut de kan explodera och utgör en allvarlig brand. Därför, det är extremt viktigt att inte över batteriet och kanske bör inte lämnas utan uppsikt när du laddar.

Jag har också dragit slutsatsen att snäva integritet i någon anordning att dränkas i vatten är mycket viktigt, särskilt produkter som elektronik och bindväv komponenter. Exponering för vatten, oavsett hur liten kan framkalla problem, som kan vara mycket svårt att lokalisera och diagnosticera.

Slutligen, korrekt programmering mikrokontroller och tillhörande kretsar kan vara ganska utmanande-särskilt för någon med minimal i C ++ programmering erfarenhet. En missriktad snirkliga {} eller en glömd apostrof; kan orsaka en mycket ångest och timmar av ansträngning!

2014

Fortsatt utveckling av Seaperch visat att behovet av att öppna den vattentät behållaren för att komma åt den Arduino USB porten var ett problem. Det inte bara sätta överdriven stress på inre ledningarna, men också visat sig vara problematiskt att vattentäthet i inneslutningen, alltför betona inneslutningens sigill. Efter vissa trodde det beslutades att försöka programmera Arduino trådlöst, blev således minska behovet av att öppna behållaren helst en ny eller ändrad skiss ladda upp nödvändigt. Ett tidigare samtal med en USNA kollega, Joe Bradshaw, initierade idén om Arduino trådlös programmering med hjälp av Xbees. Jag bestämde mig för att detta skulle vara nästa logiska steg att försäkra vatten tät integritet av anläggningen och ytterligare jakten av havet abborre autonomi.

Trådlös programmering är inte en oerhört svår uppgift, har det visat sig vara lite skrämmande! Lyckligtvis, det finns mängder av "How-to" dokumentation tillgänglig på Internet från källor som Ladyada av Adafruit, Inc och många andra äventyrliga utvecklare. Kostnaden, ~ $100,00, av de olika delarna som krävs för att utföra denna uppgift är, för mig, rimlig, men kanske inte till de genomsnittliga hobby. Jag kommer att försöka förklara processen och mina erfarenheter i punkter att följa.

Det första jag kommer att lista de delar som behövs, deras källa av inköp och sedan processen att sätta ihop en PAN (Personal Area Network) med hjälp av två XBEE 802.15.4 serie 1 och tillhörande maskinvara. Jag valde den serie 1 XBEES, som rekommenderas av http://ladyada.net/make/xbee/arduino.html och ytterligare fann i en tutorial på http://www.ladyada.net/learn/avr/setup-win.html förståelse AVR programmering är inte helt nödvändigt, men jag hittade att gå igenom mycket hjälp för att förstå AVR setup och AVRDUDE upp/loader utility används av Arduino för uppladdning skisser, självstudier

Delar som behövs för att skapa en personlig adress nätverk (PAN):

2 varje - XBEE serie 1 802.15.4 moduler köps från Adafruit, Inc. http://www.adafruit.com/products/128

2 varje - XBEE adapter kit köpt från Adafruit, Inc. http://www.adafruit.com/products/126

2 varje - USB FTDI-TTL.232 kabel-TTL232R 3.3V från Adafruit, Inc. http://www.adafruit.com/products/70

Driver Hämta webbplats: http://www.ftdichip.com/Drivers/VCP.htm

1each - Arduino Wireless SD Shield köpt från Arduino http://arduino.cc/en/Main/ArduinoWirelessShield

1 av varje – 2N2222 NPN transistor, 10K resistor, 0.1 microfarad kondensator köpt på Radio Shack

Innan montering pannan fann jag det nödvändigt att hämta och installera flera program, som jag fann mycket hjälpsam till processen. Först är MAXSTREAM X-CTU programvara är mycket användbart för att konfigurera och testa XBEE moduler. Det kan laddas ner från följande länk: http://www.digi.com/support/kbase/kbaseresultdetl?id=2125 även om någon terminal program, som Windows Hyper Terminal räcker, man måste vara bevandrade i användning av kommandon för att konfigurera och testa den XBEE moduler, som faktiskt bara modem. X-CTU är extremt användbara inte bara för att konfigurera XBEES, men det innehåller flera användbara verktyg för testning och övervakning av XBEE Svaren.

För det andra, så som rekommenderas i den ladyada avr tutorial jag listat ovan, jag dataöverföring och installerat den senaste versionen av WinAVR från Sourceforge. Det kan hämtas genom att följa länken i tutorial eller direkt från sourceforge på http://sourceforge.net/projects/winavr och som värdefull insikt i programmering ATMEL AVR mikrokontroller.

Montering av det havet abborre PAN, använder de tidigare beskrivits visade mycket utmanande och krävs många timmar av forskning och utveckling, som i slutändan blev nödvändigt att bygga upp och konfigurera en fungerande modell. En gång fullständig, detta arbete visade sig dock värt i uppladdning ytterligare ändringarna till Arduino havet abborre skiss.

Processen:

Först montera XBEE Adapter kit. SE http://ladyada.net/make/xbee/solder.html

Något som inte visas i instruktionen församling, men krävs för att återställa Arduino när uppladdning kod är som RTS pin-16 av adaptern måste vara ansluten till DI03 pin-17 i XBEE.

Obs: jag min iver att inte överhetta den 74ACH125N linje driver chipet genom lödning det direkt på kortet ombord jag först installera en 14-pin chip socket. GÖR inte detta, eftersom det visade sig vara ett problem och gjorde chipet sitta för högt i styrelsen att rymma modulen XBEE! Lyckligtvis, med hjälp av Norman Tyson av WS & E han kunde de-löd chip uttaget så jag kan löda chip direkt på bordet. När korten monteras, infoga XBEE modulen och infoga det i kortets header-kontakt-ta hand om den XBEE orientering-hint pin1 av XBEE går bredvid den röda ledde på kortet. SE NEDAN

Du är nu redo att konfigurera varje XBEE, en i taget, genom att ansluta adaptern till en dator USB-port via USB FTDI-TTL.232 kabeln som visas nästa.

Det är svårt att se i denna bild, men den första pin (grön kabel) av FTDI-kabeln är ansluten till pin-2 adapter - inte stift 1. När du är ansluten till datorn, Windows "hittade ny maskinvara" meddelande kommer att visas och begära information om drivrutin för nätverkskortet. Windows Enhetshanteraren identifiera FTDI kabeln som en virtuell com-port, körs den förare installera och Visa en ny USB-seriell enhet under portar (COM & LPT). Dubbelklicka på den nya enheten och konfigurera den som en ny COM-port. Jag använde COM10 som var tillgängliga och konfigurerat den med standard inställningar Baud Rate 9600, No-Parity, 8 bitar, en stoppbit. dvs. 9600, N, 8, 1. När du konfigurerar den nya porten, finns det en annan inställning är nödvändigt för att korrekt omställning av Arduino. Under portinställningar, Välj fliken Avancerat och kontrollera "Ange RTS på Stäng".

Nya COM-porten blir nu tillgänglig för X-CTU, som ska kommunicera med XBEE med standardinställningarna, konfigurera och testa varje XBEE.

Jag försöker inte förklara varje steg i XBEE konfigurationen via X-CTU process här, eftersom de är alltför många för att diskutera, en gång upp och kör, med hjälp av X-CTU blir ganska intuitiv. Det finns dock några saker att notera. Först, standard PAN-ID på varje XBEE bör ändras till en ny inställning att inte interagera med andra XBEES som kan finnas i närheten. För det andra, 16-bitars adressen till varje XBEE ska anges till håller med varandra-dvs i sin enklaste form, XBEE direkt ansluten till datorn bör ha sin DH = 0 DL = 1 och MY = 0 och fjärrkontrollen XBEE bör ställas in sin DH = 0 DL = 0 och MY = 1 se http://www.ladyada.net/make/xbee/configure.html

Jag noterade också att det finns en inställning (EE) AES kryptering aktiverar som ska inaktiveras. Dock även när AES inaktiveras vill varje gång X-CTU startas på nytt det envist veta inställningen KY (AES krypteringen nyckel). Jag kommer bara in "0" och som gör det. Att NI nyckeln till ett namn för var och en av dina XBEES som du känner igen är också användbart. Glöm inte att skriva alla inställningsändringar och spara dem till en fil för framtida lastning.

Slutligen, och detta är mycket viktigt! Konfigurera remote XBEE i slutet Arduino, måste den lokala XBEE ansluten till datorn ha AP (API aktiverat) Ställ för att aktivera API aktivera (1). Om inställningen AP är kvar i detta läge, kommer att Arduino kommunicera med den lokala XBEE på datorn slut. Innan du lämnar X-CTU ange inställningen AP inaktiverad (0) och skriv den nya inställningen till den lokala XBEE!!!

När XBEES är korrekt konfigurerade och kommunicerar med varandra är det dags att fästa den avlägsna XBEE en Arduino. Obs: följande ladyada exemplet jag köpt en Atmel 328P Duemilanove Bootloader chip från Adafruit och installerade det på en Arduino Uno. Jag är inte säker på om detta var helt nödvändigt, men i linje med ladyada's anvisning, jag gjorde det. Jag installerade den avlägsna XBEE på en Arduino trådlösa SD sköld och ansluten skölden till modifierade Arduino. Som rekommenderades i ladyada's trådlösa XBEE-Arduino tutorial jag också konstruerat återställa Arduino krets på skölden beskrivs och visas här.

XBEES är ganska svag och har inte den glans att återställa en Arduino på egen hand, så vi behöver tråd det upp till en transistor som kommer att göra tunga lyft av dra raden reset ner. Ganska mycket alla små NPN transistor fungerar alldeles utmärkt här. Placeras en 0.01uF till 0.1uF kondensator i serie med kabeln från XBEE och Anslut den andra sidan att NPN transistor bas. Utsläppare av transistorn ansluts till marken. Sätta ett motstånd runt 10K mellan bas och sändare. Detta kommer att dra ner basen till hålla Arduino från återställa oavsiktligt.

Denna krets använder den XBEE DIO3 signalerar, som var knuten till den XBEE första raden på datorn slut visas tidigare, som reset signal input från XBEE. Nu ansluta allt upp, startar Arduino och ladda upp en skiss. Om allt fungerar bra skiss kommer ladda upp framgångsrikt. Tips: öppna filen/Preferences i Arduino och kolla "Visa mångordig produktionen under uppladdning". Detta kommer att visa upp sekvensen och om framgångsrika visas den uppladdade kod och slutligen visa meddelandet: avrdude gjort. Tack.

OBS:

När Arduino uppladdningar kod skapas två tid stämplat kataloger: en "Bygg något" och "console något" i den aktuella användarens /Username/Local/Temp katalog. Bygga katalogen innehåller en post för vad var laddade och konsolen katalogen innehåller två filer: stderr.txt och stdout.txt, som en stor hjälp för att diagnostisera Arduino upload aktivitet.

En gång den trådlös PAN var upp och tillförlitligt arbetande, jag fortsatte sedan att lägga till flera två andra sensorer till min växt till att omfatta: en "nio grader av frihet" (9DOF breakout) sensor, som är en tre-i-en sensor avsett att lägga till ett gyroskop, en Accelerometer och kompass avsedd att lägga till stabilitet, hastighet, riktning och rulla & pitch kontroll till min planta. 1NA219 sensorn lades i ett försök att diagnostisera en fråga som har visat sig vara ett konsekvent problem med Li-Po batteriet slumpmässiga avstängning under provningen. Vidare forskning visade att dessa typer av batterier har inbyggda kretsar skydd avsett att skydda sig från någon av tre villkor: under spänning, över spänning och ström. Det blev snart uppenbart att ett av dessa villkor måste ha funnits och var orsaken till batteriet avstängning. Detta problem var drivkraften att installera 1NA219 ström/spänning sensorn.

Inledningsvis trodde jag ett över aktuella villkor orsakade problemet. Anställa en nuvarande mätare, kunde jag konstatera massor av ungefärligt 500-700ma per motor och inte mer den 3A totala belastningen när alla tre motorer var strömförande samtidigt. Dessutom om jag manuellt avstannat någon motor observerade jag massor av inte mer än 2A, som inte resa batteriet. Dessa observationer sedan fick mig att tro att en över nuvarande skick inte var orsaken. Sedan batteriets utspänning läste konsekvent inom specifikationerna var det uppenbart att ett barn under spänning villkor var inte orsaken, vilket lämnar bara ett villkor, framkalla en överspänning till batteriet som trolig orsak.

Förstå att motorer kommer att fungera som generatorer när strömmen plötsligt bort eller omvänd, jag då tänkte att tillbaka EMF genereras av motorerna lockades till batteriet och orsakar dess överspänning skyddskrets att engagera. Eftersom detta fenomen är i allmänhet väl vet, finns det vissa elektroniska apparater, sådana kondensatorer, PN junction dioder, zener dioder och filter som kan minska eller eliminera denna effekt när placerade i linje med batteriet lasten eller hela motorn leder.

På förslag av Professor Carl Wick försökte jag först att lägga back-to-back zenerdioder över motor leder. Detta visade sig vara något effektivt, men jag fortfarande upplevde slumpmässiga, mindre batteriet urdrifttagning. Det var den noterade som avstängning kan upprepade orsakas av energigivande någon motor sedan snabbt vända dess riktning. Efter en diskussion med och på rekommendation av Joe Bradshaw lagt jag en PI filter mellan batteri och laddar, igen med minimal framgång. Tillägg av 1NA219 modul och testa koden till min skiss föreskrivs möjligheten att övervaka batterispänningen och laster. Systemet spänningar presenteras alltid enligt specifikationer, men batteriet lasten strömmar nu visade mycket hög momentan belastning strömmar, ibland över 3A. Denna observation sedan ledde mig tillbaka till teorin att överdriven belastningsströmmen orsakade batteriets över nuvarande skyddskrets till resa.

Sedan alla försök att rätta till minimerat detta problem genom extra hårdvara visat minimalt effektiva jag beslutade då att granska min styrprogram och fann att lägga till några förseningar på strategiska platser i hela skissen effektivt batteri avstängning problem.

Vid denna tidpunkt, har jag kommit en fysiskt utrymmesgräns att lägga till några mer hårdvara sensorer. Den nuvarande Arduino skiss, som för närvarande skrivs, endast tillhandahåller för att visa utdata avläsningar från de nya inbyggda sensorerna och ger inte kontroll av anläggningen med hjälp av dessa värden. Detta kräver ytterligare, djupgående forskning att uppnå slutmålet för en helt självständiga havet abborre.

Se Steg
Relaterade Ämnen

Skapa en enkel likström elmotor - Masco G44

Alla grundläggande elmotorer följer samma idé att omvandla elektrisk ström till mekanisk energi. Denna grundläggande bygga en enkel likström (DC) elmotor som alla elmotorer, använda elektricitet, magnetism, rörelsemängdsmoment och tröghet för att rot...

Hur man bygger en Stereo hydrofon (inte färdig)

ett stereo hydrofon system kan användas för att höra ljud kring din nedsänkt ROVsom om du var ombord. Du kommer inte bara att kunna höra vad som händer runt din ROV,men bör kunna höra vilken riktning ett ljud kommer ifrån. För detta system bygger vit...

Bygga en undervattensrobot

Havet abborre är en innovativ undervattensrobot. Bygga en robot är väldigt cool under vatten. Naturligtvis, tar det mycket tid. Men du kan styra det med en fjärrkontroll. Du kan köpa en havet abborre kit, som är tillgänglig online för $155. Bygga en...