Dec 06, 2018 Læg en besked

Design af motorstyringssystem til håndtering af robot

2 system software design

2,1 μC / OS-II arkitektur

μC / OS-II er en bærbar, implanterbar ROM, croppable, preemptive real-time multitasking operativsystemkerne med høj eksekveringseffektivitet, lille fodaftryk, god real-time ydeevne og skalerbarhed. Funktioner, den mindste kerne kan kompileres til 2KB. μC / OS-II er skrevet i C og montagesprog. Det meste af koden er skrevet i C. Kun et par af koden, der er tæt relateret til processoren, er skrevet på samlingssprog. μC / OS-II indeholder kun grundlæggende funktioner som opgaveplanlægning, opgavehåndtering, tidsstyring, hukommelsesstyring, kommunikation mellem opgaver og synkronisering.

Opgaveopgave under 2,2 μC / OS-II system

Efter succes med at overføre μC / OS-II systemet til STM32F107, udføres den μC / OS-II-baserede programmering ved at dele en stor applikation i forholdsvis uafhængige opgaver. Prioriteten for hver opgave er defineret, og μC / OS-II-kernen skemaer og styrer disse opgaver.

Software design ideen er at give motorens hastighed og styring position af styreudstyret gennem seriel port ifølge den faktiske drift af robotten. Motorens hastighed sammenlignes med den indstillede værdi af inkrementgiveren, og reguleringen af lukket kredsløb implementeres af hastigheden PID-algoritmen. Styringens position er hovedsagelig, at absolutværdikoderen strømmer tilbage til den aktuelle position, og styrehjulets hastighed justeres i henhold til kravet til aktionstid. De funktioner, der skal realiseres ved hjælp af motorstyringssoftware til denne håndteringsrobot, er som følger:

◆ Den øvre maskine giver motorens hastighed, styringsvinkel og aktionstid;

◆ Kræver kontinuerlig justering af motorhastighed og god statisk og dynamisk ydeevne. Hastigheden tælles ikke med PI-algoritmen.

◆ Kræver styreapparatet hurtigt at nå den angivne vinkel, og positionsfeedbacken anvendes som justering af gearets angivne hastighed;

◆ Har en vis fejlbeskyttelsesfunktion. Når motoren er blokeret, er strømmen for stor, og styreapparatet berører grænsekontakten, det er nødvendigt at stoppe drevmodulet.

For ovenstående funktioner, der skal implementeres, kan applikationsdesignet opdeles i følgende opgaver:

1 Start opgaven. Initialiser systemet, opret en startmotor tilstand, og fjern derefter selv og start opgaven til at sove.

2 beskyttelsesopgaver for motor og styreudstyr. Det bruges til at reagere på en ekstern afbrydelse, når overstrøm- eller grænsekontakten er aktiveret. Når afbrydelsesstatus er indtastet, sendes semaphore-opgaven. Opgaveprogrammet opdager, at semaforen er gyldig og reagerer på opgaven og stopper udskrivning. Opgaveprioriteten er sat til niveau 0.

3 værtscomputervisninger. Det bruges til den øverste maskine til at styre motoren og styreudstyret, og opgaveprioriteten er sat til niveau 1. Når værtscomputerdataindføringsregistret genereres, vil der blive genereret en afbrydelse, som vil sende den modtagne byte ind i buffer og frigive semaforen for den givne opgave af værtscomputeren; Når semaforen registreres, vil opgaven begynde at køre, og den tilsvarende byte vil blive udført. Oplysningerne analyseres i tilsvarende motorhastighed og styre gearpositionsinformation for at tildele værdier til de tilsvarende variabler.

4 motorhastighedskontrol opgave. Til regulering af motorens lukkede hastighedsregulering er opgaveprioriteten sat til niveau 2.

5 styre gear kontrol opgaver. Det bruges til at styre styret for at nå den angivne position inden for den angivne tid, og opgaveprioriteten er indstillet til niveau 3.

2.3 Start opgaven

I hovedprogrammet skal du først kalde systeminitialiseringsfunktionen OSInit () for at initialisere alle variabler og datastrukturer af μC / OS-II, før du kalder andre opgaver af μC / OS-II. på samme tid etablerer inaktiv opgave OS_TaskIdle (), er denne opgave altid i klar tilstand; kalder funktionen OSTaskCreate () for at etablere opstartsopgaven; ring OSStart (), overfør kontrol til μC / OS-II kernen, start multitasking.

Opstartsopgaven er oprettet i hovedprogrammet, som har tre hovedfunktioner:

1 til systeminitialisering (PWM-udgangsmodul, serieport, ADC-modul, indgangsniveauafbryderfunktion, timer).

2 Fastsæt mængden af signal, der anvendes af systemet.

3 etablere andre opgaver af systemet.

Endelig ringe OSTaskDel (OS_PRIO_SELF) for at slette sig selv og starte opgaven at sove. Hovedprogrammets arbejdsgennemgang er vist i figur 4.

2.4 motorhastighedskontrol opgave

Hver gang inkrementalgiveren genererer en ekstern afbrydelse, udføres opgave-semaforen i afbrydelsestilstanden. Opgaveprogrammet opdager, at semaforen er gyldig og reagerer på opgaven. Opgaven realiserer lukket kredsløbskontrol ved at måle den aktuelle motorhastighed og den givne hastigheds sammenligning. Motorhastighedskontrolopgaveflowet er vist i figur 5.

2,5 styre gear kontrol opgave

Servokontrollen genererer en referenstid ved en timer, sender en semafor hver fast tid, og opgaven udføres en gang. Servostyringsopgaven sammenligner positionen målt af den absolutte encoder med den givne position og justerer servoens hastighed i henhold til den resterende tid. Servostyringsopgaveflowet er vist i figur 6.

3 system elektromekanisk grænseflade

Robotens styring består af en 30: 1 reducer forbundet til DC-motoren. Den absolutte positiongiver er koblet til styreudstyret og sender vinkelsignalet fra styreudstyret til drevets kontrolkort. De to aksler af forhjulet på roboten er forbundet med en transmissionsstang. En af akslerne er forbundet med styreudstyret ved hjælp af et transmissionsbælte, så når gearet drejer, drev transmissionsbæltet transmissionsstangen for at sikre, at de to forhjul kan rotere synkront. Baghjulstrækmotoren er en DC-motor, som er direkte forbundet med inkrementgiveren. Når reduktionsforholdet er reduceret med en 25: 1 reducer, drives baghjulet af den mekaniske differential. Signalerne fra inkrementalgiveren sendes også til drevets kontrolkort. Strukturen af det elektromekaniske system er vist i figur 7.

Konklusion

I dette papir er designet af motorens og servostyringens hardware af håndteringsroboten realiseret. Realtidsoperativsystemet μC / OS-II er med succes indlejret på STM32F107, og motorens hurtige sløjfe-forsøg og styreudstyret er afsluttet. Udnytter egenskaberne ved real-time performance med Cortex-M3-kernekontrolleren og μC / OS-II-systemet, giver den et software- og hardwarefundament til efterfølgende robotbilledoptagelse og navigationssporing. Hvis den eksisterende PI-algoritme forbedres, og motorens hastighed og nuværende dobbelte lukkekredsregulering kan realiseres, vil robotmotorens egenskaber blive bedre, og applikationsudsigten for håndteringsroboten bliver bredere.



Send forespørgsel

whatsapp

teams

E-mail

Undersøgelse