Hur man bygger en själv navigera roboten (5 / 7 steg)

Steg 5: Detaljer av programvara: fart kontroll och andra grundläggande funktioner



Programmet är full avbrott driven . Vid start, efter initiering, fylls i i en mycket enkel main-loop, agerar som en tillståndsdator. I main-loopen, kontrolleras flaggor aktiveras av yttre händelser, och skriver in det i relativ tillstånd enligt deras värden.

Eftersom det är en typ av ett mycket enkelt kooperativ har "realtidsoperativsystem ," varje rutin som avrättades i kortast möjliga tid, att frigöra systemet att ta hand om de mycket täta avbrott.
Det finns ingen "vänta tills" och inga förseningar i koden. Närhelst möjligt avbrott används, i synnerhet för långsam operationer som sändning eller mottagning av teckensträngar. UART kommunikation tar advantege av DMA funktionerna i dsPIC33F att spara CPU-tid gör alla "smutsig" jobb i hårdvara.

Kringutrustning används på dsPIC33FJ128MC802:
-QEIs att beräkna rest sökvägen.
-Input Capture (IC) till beräkna fart.
-A/D omvandlare läsa motoriska strömmen.
-Förbättrad PWMs att köra motorerna.
-UARTs att kommunicera med omvärlden

QEI moduler används att veta hur mycket hjulen har rest och i vilken riktning. Detta värde är algebraiskt ackumuleras i en variabel varje 1ms och skickas till handledare funktioner på begäran. Efter värdet skickas, återställs variablerna.

Hastigheten mäts vid varje kodare puls som beskrivs nedan. Varje 1ms beräknas genomsnittlig hastighet som genomsnittet av prover, utför PID algoritm och korrigerar varvtal följaktligen till dess resultat, ändra PWM arbetscykel. För en detaljerad beskrivning av C30 PID bibliotekstillämpning, se exempel mikrochip kod: CE019 - med proportionell integrerad derivat (PID) kontrollanter i Closed-loop system. http://WW1.microchip.com/downloads/en/DeviceDoc/CE019_PID.zip

Detta lager kontrollerar timeout och checksum fel, såväl som paket konsekvens (korrekt huvud, rätt längd). Om allt är ok gör det Parser rutin (fjärde lager ) att avkoda meddelandet och verkställa de åtgärder som krävs. Denna rutin sätter lämpliga fel flagga om meddelande koden fick inte är känd.

TMR1 genererar en 1000 Hz tidsinställning klocka - hjärtslag av programmet. På varje TMR1 avbrott, inre timers uppdateras, watchdog rensas och en flagga är inställd för att aktivera funktionen som frågar efter värdet rest utrymme. Varje 10 MS "All_Parameters_Ask" funktion (hastighet, position, nuvarande) är aktiverat.

Se Steg
Relaterade Ämnen

Hur man bygger en Lego Mindstorms NXT hexapod robot?

Denna gång (i min allra första instructable någonsin) jag kommer att visa dig hur man bygger en hexapod robot med hjälp av Lego Mindstorms NXT.Njut och lämna en kommentar!Steg 1: Vad behöver du Behöver du:-Lego Mindstorms NXT kit-några extra Lego gea...

DIY: Hur man bygger en WiFi Robot Spybot

vi kommer att visa dig hur man bygger en wifi robot / spybot från grunden. Det är en mycket rättfram projekt och kan lätt hanteras av en mellanliggande robot builder. För att slutföra roboten, tar det ett par timmar.Video av komplett robot kör:http:/...

Hur man bygger en kraftfull robot!

Hej! Är du redo att bygga en stark, snabb och tålig robot? Det är mycket enklare än du tror, det är bara en kombination av att bygga ett redskap tåg och skruva i hjul, barer och andra delar!Steg 1: Samla delar: grundläggande delar(4) chassi skenor(1)...

Hur man bygger en robotarm

Uppdatera: https://www.youtube.com/watch?v=BILiuqRmLRIvill bygga registeransvarige gå till härvideon är:http://www.youtube.com/watch?v=N9z7OQLlhrEhttp://www.youtube.com/watch?v=jozshuI246o&feature=youtu.behttp://www.youtube.com/watch?v=onQIzR5C8qkhtt...

Hur man bygger den perfekta Zombie Survival Kit...

Så du vill lära dig hur man bygger en utmärkt zombie survival kit, och ärligt talat din bästa insats skulle vara att läsa zombie survival guide av max brooks. Men om du saknar tid, pengar eller är bara lata ska jag rakt på sak och ge dig en snabb, lä...

Hur man bygger en klocka som projekten tid på väggen

detta Instructable visar dig hur man bygger en projektor klocka. Den här enheten kan du projekttid på väggen. Baserat på en liten LCD väckarklocka (inte för liten, istället, du inte kommer kunna projicera det och att arbeta på det), detta är ett bra...

Hur man bygger en Stark industri Iron-Man bågreaktorn... Mycket mycket låg kostnad...

Hur man bygger en Stark industri Iron-Man bågreaktorn... Mycket mycket låg kostnad bågreaktorn somde flesta kan göra mycket lätt.nu har jag en vinyl cutter och jag har användningen av en kompisar cnc router men det här handlar om en bygga somalla kan...

Hur man bygger stjärnor avfyra

Star brand eller indiska brand är som namnet antyder är det en traditionell brand design används främst av indierna av vilda västern. Denna typ av brand är bränsle effektiv och bäst för överlevnad och primitiva situationer. Bränsle för elden kan vara...

Hur man bygger en Walk-In dusch (del 2: Wedi vägginstallation)

Detta är en episk tutorial...Jag lovar att du får lära dig hur man bygger en duschkabin i 1 timme eller mindre.Det är en allvarlig garanti men jag står bakom den.Varför?Vi gjorde det medvetet steg för steg så att någon kunde följa med.Tätskikt är vad...

Hur man bygger ett wingbone Turkiet samtal

detta instructable kommer att vara en beskrivning av hur man bygger ett wingbone Turkiet samtal. Denna uppmaning är lätt att bygga, men svårt att bemästra. Ringer i ett Turkiet med en ring som du gjort själv av ett annat Turkiet är dock en mycket giv...

Hur man bygger en stationär kretsloppsodling system för inomhus trädgårdsskötsel.

Kretsloppsodling system: hur man bygger en stationär kretsloppsodling system för inomhus trädgårdsskötsel. Kretsloppsodling guide.När dagarna blir kortare och nätterna bli kallare, kan vi inte längre förneka att hösten är på väg och vintern är runt h...

Hur man bygger ditt eget Cajon Box trumman med justerbar snara

i detta instructable jag kommer att visa dig hur man bygger din egna Cajon box trumman. Vi gjorde 2 Cajon trummor för under 50$, så ca 25$ en bit. Jag kommer att ange detta instructable i musikaliska instrument tävlingen, så snälla rösta!Steg 1: Saml...

Hur man bygger en ballistisk kniv [lätt väg]

Hej, detta är min första tutorial och idag ville jag visa dig hur man bygger en arbetande ballistiska kniv.För detta projekt behöver du några saker:-En Scooter styre, med den knapp som du trycker på och han kommer upp igen, eller någon tube med knapp...

Hur man bygger en T.E.A. Laser

A te Laser är kväve Laser som är verksam vid standard tryck och temperatur. I själva verket använder många normal luft som är över 75% N2. Normal luft har en egenskap som kallas super radiance. Detta innebär att luften kan producera en laser strålar...

Hur man bygger en slida

detta instructable är en tag-along till min första, "Hur man bygger en kniv." Jag hade vissa begäranden för detta efter att jag postat att första en, så här är det--mycket förr än jag trodde, alltför.Så, vill du göra en slida? Kanske har du en f...

Hur man bygger en ljussabel i Word 2010

Hur man bygger en ljussabel i Word 2010.Steg 1: Steg 1Öppna Word 2010Steg 2: Steg 2Gå till infoga och klicka på formerSteg 3: Steg 3Bygga din fästetSteg 4: Steg 4 Lägga till en kniv med en rundad rektangel. Gör insidan vit och de utanför oavsett färg...

Hur man bygger en blöja spruta

om du tyg-diapering din wee en, du ganska van att bli kallad en Lom. Om du planerar att bygga din egen blöja spruta, kan du lägga till minst en ytterligare person folk som tror att du är galen, VVS associate(s) på din lokala hem förbättring butik.Det...

Hur man bygger en tillfällig vedeldad Pizza tegelugn med billiga, lätt att hitta material

om du gillar DIY projekt (och pizza projekt), kolla in min sida, mikesenese.com/DOIT och följ mig påDenna pizzaugn är nästan lika enkelt att bygga som stapla block, men skapar en mycket effektiv trä vedeldad ugn med ett välvt tak som kan nå 800-900 g...

Hur man bygger en vatten Thrusted raket

Hur till bygga en vatten Thrusted raket - titta på fler roliga filmer här detta är en tutorial video som visar hur man bygger en vatten och tryck thrusted raket. Det är mycket enkelt att lägga i träda, och använder material som du kan hitta i ditt hu...