Løsningsmuligheder


Nedenunder følger en beskrivelse af nogle af de løsningsmuligheder der er til de forskellige områder.
 

Strømforsyning

Det kan vælges enten at anvende et batteri der forsyner hele robotten eller separate batterier til motorer og elektronik. Den første mulighed kæver dog at batterispændingen ligger noget over de 5V der er nødvendige for elektronikken samt at man benytter en god spændingsregulator, da pulsmodulationen af motorerne vil skabe nogle kraftige spring i batterispændingen. Det er præcis det problem som en løsning med separate batterier løser. Ulempen er selvfølgelig at man skal skabe plads til to batterier og hele tiden holde dem begge opladte.

Vi har valgt at anvende et 9V6/1250mA NiMH batteri til at forsyne Madam Skrald II med strøm. Batteriet forsyner både motorer, stregbelysning og elektronik. Det vil dog ikke være specielt vanskeligt at skifte til et system med separate batterier hvis det skulle vise sig nødvendigt, da vores strømforsyning er mangegrenet med mange forskellige regulatorer. Et ekstra batteri vil i så fald kunne forbindes til indgangen af de regulatorer der forsyner elektronikken.

Strømforsyningen er bygget således at det kan lade sig gører at forsyne bilen fra en ekstern strømfosyning.
 

Stregdetektor

For at måle reflektiviteten af underlaget må man oplyse det selv, men da baggrundslyset svinger vildt henover banen bliver man nødt til at lukke det ude. Det kan gøres på flere måder: Mekanisk afskærmning, drukning af baggrundslyset i meget kraftigt lys, moduleret lys med højpasfiltrering eller, som vi har valgt at gøre, at anvende styret sampling. Det vil sige at vi lader en mikrocontroller styre aftastningen af fotodioderne, selv tænde og slukke for lyset og regne på forskellen digitalt.
 

Motordriver

Madam Skrald I anvendte H-bro kredsen L293 som motordriver, L293 har den ulempe at dens egetforbrug er temmelig stort samt at dens udgangsstrøm er begrænset til 1A.

Vi har valgt at opbygge motordriveren til Madam Skrald II omkring MOSFET's og med analoge switche. Vi valgte at opbygge kredsløbet så det er muligt at køre både frem og tilbage samt mulighed for både friløb (ved ikke at drive motoren overhovedet) og EMK-bremse (ved at kortslutte motoren). Motoren styres med anti-fase pulsvidde modulation.
 

Servodriver

Da vi købte bilen fulgte der en servo med til at styrer forhjulene, der var dog ingen feedback til servoen, så det var enten ligeud eller fuldt drej. Vi har givet servoen en encoder, et lille lineært potentiometer, og bygget et lille analogt kredsløb op omkring en NE544. Dermed kan vi nu styre forhjulene med en ret fin opløsning, der er dog en del slør.
 

Encodere

Encoderen til servoen består blot af et lille fint glide potentiometer, der følger med forhjulene.

For at kunne bestemme robotens hastighed samt tilbagelagt afstand, er det nødvendigt med en encoder på minimum et af hjulene. Encoderen valgte vi at bygge omkring en reflektiv sensor, der tæller antallet af hvide streger på et af hjulene. Dens opløsning er ca. 1 puls pr. cm. Den kan ikke registrere retning, kun hastighed.
 

Processor

Madam Skrald I anvendte en PIC16F84 som processor. Det må siges at være i underkanten til dette projekt.

Vi har denne gang haft en del ideer til hvordan vi vil lave vores processor system. Vi blev hurtigt interesserede i en microcontroller fra Hitachi (H8/3337) og en helt ny PIC (PIC16F877) fra MicroChip. Vores oprindelige ide var således at anvende Hitachi'en til at aflæse sensorene, bestemme "kursen" og lægge planer. Det grove arbejde med at kontrollere hastigheden og drejningsvinklen kunne PIC'en så sørge for ud fra instrukser fra Hitachi'en ved at pulsbreddemodulere motoren ud fra signaler fra hjulencoderne og styre servo-motoren ud fra signaler fra dens feedback-kredsløb. Med andre ord ville PIC'ens opgave være at lave closed-loop kontrol af de fysiske systemer i robotten, så den kører ligeud og med samme hastighed uanset hvordan underlaget opfører sig.

Hele den historie endte med at to Hitachi'er døde for os, sandsynligvis på grund af statisk elektricitet. Dermed blev PIC16F877 udnævnt til hovedprocessor, hvilket den har klaret udmærket når man ser bort fra hvor langsom den er at programmere og at dens compilers arrayhåndtering ikke er videre fantastisk. Disse to problemer vil vi prøve at løse, evt. med en anden processor. Sensoren har så en egen processor, en PIC16F84 med A/D til at klare det meste af det hårde arbejde med at holde bilen på sporet.
 

Software

Madam Skrald II vil blive baseret på interruptrutiner, så softwaren bliver så effektiv som mulig. Softwaren vil blive opbygget så en main-rutine vil kalde forskellige rutiner der så hver for sig vil tage sig af opgaver som "følg linien", "kør 30 cm lige frem" og lignende. Hver instruktion vil få tilknyttet nogle afslutningsbetingelser, så madammen kan udføre opgaver som "følg linien indtil næste port passeres". Main-rutinen vil kalde de andre rutiner i den rækkefølge der er behov for dem for at komme igennem Robocup-banen. Vi regner med at indbygge en vis form for brugerkontrol for at gøre det nemmere at debugge robotten.
 

Mekanik

Madam Skrald II er opbygget omkring en radiostyretbil (Wild Mac) købt i BR-legetøj. Dette giver en betydelig mere stabil byggeplatform, end når man f.eks. anvender LEGO eller selv opbygger noget som vi gjorde med Madam Skrald I.

Med hensyn til motorerne anvender vi på Madam Skrald II en enkelt drivmotor til fremdrift og en servo til at dreje forhjulene. På denne måde kan det ikke lade sig gøre at vende "på en tallerken", men vi regner med at få nemmere ved at følge stregen end ved differentielt drev med to drivmotorer, som både anvendes til at give fremdrift og til at dreje.

Sidst opdateret den 7. marts 2001

Valid HTML 4.01! Valid CSS!