← Kursens material Kravställning och planering · område 6 Område 6

Område 6 · lektion 29

Kravställning och planering

I bygge 1 till 4 skrev jag vad systemet skulle göra, och du byggde det. Nu skriver du den meningen själv, och den är svårare än den ser ut. Ett krav som inte går att pricka av är inget krav, och ett projekt som inte får plats på sju pass blir inte klart hur bra idén än var. Den här guiden handlar om båda felen.

Mål

Genomgång

Ett krav är något du kan bli underkänd på

Det är hela testet. Ett krav som du omöjligt kan misslyckas med är en önskan, och en önskan hjälper dig inte att veta när du är klar. Jämför de två raderna:

Inte ett kravEtt kravVad skillnaden är
Luckan ska öppnas snabbt. Luckan ska nå fullt öppet läge inom 2 sekunder från att givaren löst ut. Ett tal och en enhet, och en tydlig start- och slutpunkt att mäta mellan.
Hissen ska orka lyfta en last. Hissen ska lyfta 300 g 20 cm utan att varvtalet sjunker mer än hälften. Lasten är angiven, sträckan är angiven, och det finns ett villkor som säger vad "orka" betyder.
Systemet ska vara pålitligt. Systemet ska klara 20 cykler i rad utan att fastna eller behöva startas om. Går att prova på tio minuter, och du vet efteråt om det gick.
Temperaturmätningen ska vara noggrann. Visad temperatur ska ligga inom ±2 °C mot en referenstermometer i intervallet 15–35 °C. Både felet och intervallet är angivna — annars är noggrannheten ett påstående.

Högerkolumnen har en egenskap till som är värd att lägga märke till: varje krav pekar ut en mätning. Det är ingen slump. Kraven du skriver nu är samma lista du bockar av i din dokumentation i slutet av maj, och samma lista jag går igenom på redovisningen.

Vad "komplext system" betyder i kriteriernas mening

Ordet står på ett enda ställe i betygskriterierna, i förmåga F4: på E ska du översiktligt beskriva uppbyggnaden av ett enkelt mekatroniskt system, på A utförligt och nyanserat beskriva uppbyggnaden av ett komplext. Två saker följer av det, och båda missas ofta:

Komplext handlar om beskrivningen, inte om byggtiden F4 är förmågan att beskriva. Ett system kan vara jobbigt att bygga — trettio lödningar, en trasslig mekanik — utan att det finns särskilt mycket att beskriva. Och tvärtom: ett system med få delar kan vara komplext om delarna påverkar varandra. Det är samspelet som är komplexiteten, inte antalet timmar.

Det som gör ett system komplext att beskriva är i praktiken fyra saker:

Vad som ökar komplexitetenEnkelt systemKomplext system
Antalet storheter som samverkar i ett beslut Ljusnivån ensam bestämmer om motorn går. Ljusnivån och tiden sedan förra rörelsen och ändläget bestämmer tillsammans.
Om systemet minns något Utsignalen följer insignalen. Systemet har inget tillstånd. Systemet har lägen — vilande, öppnar, öppet, stänger — och samma insignal betyder olika saker i olika lägen.
Energiomvandlingen En lysdiod eller ett servo som rör sig obelastat. En motor som ska orka en last, med en utväxling som är räknad och en strömbudget som håller.
Vad som händer när något går fel Inget särskilt. Det som händer, händer. Systemet upptäcker att rörelsen inte blev av, går till ett säkert läge och säger ifrån.

Den fjärde raden är den som oftast saknas, och den är billigast att lägga till: en tidsgräns som säger "om ändläget inte nåtts inom 4 sekunder, stanna motorn och tänd en lampa" är tio rader kod och lyfter både systemet och det du har att skriva om det. Mönstret är samma tillståndsmaskin som i tillståndsguiden, med ett läge till.

Kravställ baklänges

Nybörjarordningen är att välja komponenter först och se efteråt vad de klarar. Den ordningen ger ett system som gör ungefär något. Rätt ordning går åt andra hållet, precis som utväxlingsräkningen i område 5:

  1. Vad ska hända i världen? "En lucka på 15 × 20 cm ska öppnas när det blir mörkt."
  2. Vilka tal följer av det? Luckan väger 40 g, gångjärnet sitter 8 cm från tyngdpunkten, alltså behövs ungefär 0,040 · 9,82 · 0,08 ≈ 0,031 N·m plus marginal för friktion.
  3. Vilken aktuator klarar talet? Ett standardservo lämnar omkring 0,15 N·m, alltså räcker det med marginal. En liten likströmsmotor utan växel gör det inte.
  4. Vad krävs runt aktuatorn? Servot drar mer än en pinne får lämna under rörelsen, så matningen ska räknas — se servoguiden.
  5. Vilken givare avgör? En LDR i spänningsdelare, med en tröskel du kalibrerar och ett mellanrum mellan att öppna och att stänga så att luckan inte darrar i skymningen.

Fem steg, och du har både en materiallista och halva dokumentationen skriven innan du rört en enda komponent. Det är därför lektion 30 är ett ritpass och inte ett byggpass.

Tidsplanen: sju pass och två veckor hemma

Det här är den plan jag räknar med, och den du ska ha en egen version av efter lektion 29. Passen är 85 minuter, varav de första 15 går till samråd — alltså 70 minuter effektivt.

PassVad som ska vara klart när passet slutar
Lektion 29 · 15 aprilGodkänd idé, en mening om vad systemet ska göra, och de första fem kraven.
Lektion 30 · 22 aprilBlockschema, kopplingsschema, materiallista och pinnbudget. Inget byggt.
Lektion 31 · 29 aprilVarje delsystem provat för sig: givaren läser, aktuatorn rör sig, mekaniken går runt för hand.
Två veckor hemma. Kristi himmelsfärd den 6 maj. Här ska delarna bli ett system.
Lektion 32 · 13 majHela kedjan hänger ihop och gör något — även om det gör fel saker.
Lektion 33 · 20 majKraven prickade av ett i taget, med mätvärden. De som inte går igenom är kända.
Lektion 34 · 27 majDokumentationen skriven så långt det går. Bara resultatdelen kvar.
Lektion 35 · 3 juniRedovisning. Dokumentationen inlämnad.

Planera för att något går sönder Något kommer att gå sönder, kärva eller inte fungera som det ska. Det är inte otur, det är hur konstruktion fungerar, och det är en av sakerna som bedöms. Lägg din egen sluttid en vecka före min — sikta på att vara klar den 20 maj, inte den 3 juni. Den veckans marginal är skillnaden mellan ett system du hinner mäta på och ett du hinner klistra ihop.

Hur stort får projektet vara?

Sju arbetspass låter mycket och är det inte. Räkna 70 effektiva minuter per pass, alltså drygt åtta timmar lärarledd tid, plus det du gör hemma. En rimlig storlek är ungefär som bygge 4, plus ett tillstånd och ett felfall. Det räcker gott för A — komplexitet kommer av samspel, inte av omfång.

Två tecken på att en idé är för stor: den kräver en komponent du inte har och måste beställa, eller den innehåller ordet "och" mellan två system som båda är hela projekt. Två tecken på att den är för liten: alla tre delarna finns inte, eller du kan beskriva hela systemet i en enda mening utan att nämna ett tillstånd.

I industrin och i vardagen

Industrin: kravspecifikationen är kontraktet

När ett företag beställer en monteringscell av en maskinleverantör är kravspecifikationen det juridiskt bindande dokumentet. Där står tal som cykeltid högst 4,0 sekunder per detalj, positionsnoggrannhet ±0,05 mm, tillgänglighet minst 98 procent över en åttatimmarsvecka och nödstopp ska ha fört alla rörelser till stillestånd inom 0,5 sekunder. Vid leveransen görs ett acceptanstest där varje sådan rad provas i tur och ordning, och maskinen betalas inte förrän raderna går igenom. Ingen diskuterar då vad "snabb nog" betyder — det bestämdes när kravet skrevs, ofta ett år tidigare.

Vardagen: den som köper en robotgräsklippare kravställer också

Samma tänkande, tusen gånger mindre pengar. Tomten är 800 m², den brantaste slänten lutar 25 procent, och det finns en passage mellan huset och häcken som är 60 cm bred. De tre talen avgör vilken maskin som duger, och de kan läsas rakt av mot databladen i butiken. Den som i stället går in och säger "jag vill ha en bra gräsklippare" får den som säljaren tjänar mest på, och upptäcker i juli att den inte klarar slänten. Skillnaden mot industrifallet är beloppet och att ingen skriver under något — men felet är exakt detsamma som i ett slutprojekt utan tal i kravlistan: du märker att kravet saknades först när det inte är uppfyllt.

Prova själv

  1. Skriv tre idéer, inte en. En mening var. Den första idén är sällan den bästa, och du behöver något att jämföra med när jag frågar varför du valde som du gjorde.
  2. Pröva var och en mot de tre delarna. Peka på den mekaniska strukturen, elektrotekniken och styrtekniken i idén. Faller någon del bort är idén inte klar — den är inte nödvändigtvis dålig.
  3. Pröva mot kedjan. Vad mäter systemet? Vilken storhet, med vilken givare? Kan du inte svara är din insignal en knapp, och då är det ett reglage.
  4. Skriv den enda meningen. "Systemet ska …" på en rad, utan "och sedan". Klarar du inte det är projektet två projekt.
  5. Bryt ned meningen i fem till åtta krav med tal och enhet. Skriv efter varje krav hur du tänker mäta att det är uppfyllt. Kan du inte skriva mätningen är kravet fortfarande en önskan.
  6. Räkna baklänges på det tyngsta talet. Vad ska aktuatorn orka, hur fort, mot vilken last? Kontrollera att den aktuator du tänkt använda klarar det med marginal, innan du bestämmer dig.
  7. Lägg din tidsplan i tabellen ovan, med din egen sluttid en vecka före min. Skriv ut vad som ska vara klart efter varje pass.
  8. Fyll i samrådsunderlaget med den idé du valt och den fråga du är mest osäker på. Den frågan är vad vi använder de sista 25 minuterna på lektion 29 till.

Kontrollfrågor

"Fläkten ska starta när det blir för varmt." Varför är det inte ett krav, och hur gör du om det?

Det saknas tal och det saknas mätning: för varmt är inte en temperatur, och starta säger inget om hur fort eller hur länge. En användbar version: "Fläkten ska gå på full effekt inom 3 sekunder efter att den uppmätta temperaturen passerat 28 °C, och stanna först när den sjunkit under 25 °C." Nu finns två trösklar — vilket dessutom löser darrandet vid gränsen — en tidsgräns, och en mätning som visar om kravet är uppfyllt.

Två elever har samma idé: en lucka som öppnas när det blir mörkt. Den ena får A på F4 och den andra E. Vad kan skilja dem åt?

Inte idén — beskrivningen och det som finns att beskriva. E-versionen läser en LDR och skriver till ett servo: en insignal, en utsignal, inget tillstånd, ingen felhantering. A-versionen har lägen (stängd, öppnar, öppen, stänger), en tröskel med mellanrum så att skymningen inte får luckan att fladdra, en tidsgräns som stannar servot om ändläget inte nåtts, och en räknad strömbudget för matningen. Sedan beskriver den eleven varför varje sådant val gjordes och vad alternativet hade kostat. Det är skillnaden mellan att berätta vad systemet gör och att förklara hur det är uppbyggt.

Din idé kräver en komponent du inte har hemma. Vad gör du?

Byter idé, eller byter komponent. En beställning som inte kommit fram den 29 april tar två av sju pass ifrån dig, och det finns ingen tid att ta igen. Fråga i stället vad du kan lösa med det som finns i kitet: nästan varje idé har en variant som går att bygga med en LDR, en NTC, en potentiometer, en HC-SR04, ett servo eller en likströmsmotor med drivkrets. Att välja bort en lösning på grund av en verklig begränsning, och kunna motivera bytet, är något som räknas i F1 och F5 — inte något som drar ned.

Varför lägger jag ritpasset (lektion 30) före byggpassen, när alla hellre vill börja bygga?

Därför att felen som kostar mest är konstruktionsfel, och de blir dyrare ju senare de upptäcks. Ett hål borrat på fel ställe är fem minuters ritande som blev en halv kväll med en ny platta. Schemat är dessutom ett av de bedömda underlagen — F2 handlar om att använda ritningar, och en ritning som gjordes i efterhand som en beskrivning av det du redan byggt är inte en ritning, utan en teckning.

Räcker det med att systemet uppfyller kraven för att få A?

Nej, och det är den vanligaste missuppfattningen om kursen. F1 är bara en av fem förmågor. F3 handlar om dokumentationens grad, F4 om hur du beskriver uppbyggnaden, F2 om ritningar och samarbete, F5 om hur du bedömer din egen förmåga vid samråd. Ett system som gör allt du lovat, beskrivet på en halv sida, ligger på E i F3 och F4 oavsett hur väl det fungerar. Det omvända går inte heller: du kan inte skriva dig till en mekanism som orkar.

Vanliga fel

Vidare

Guiden innehåller ingen ny kod. Behöver du frisk upp tillståndsmaskinen som nämns under komplexitet ligger den i Tillstånd, och mönstret för att göra något efter en viss tid utan att blockera loopen i språkreferensens kapitel om tid.

Nästa sida är Bygge 5 – eget mekatroniskt system, där ramen och kraven på tre nivåer står. Läs den innan du bestämmer dig för idé. När idén är godkänd fortsätter du med Konstruktion och schema, som är lektion 30.

Tillbaka till område 6 eller till kursens material.