Alle fag › Innebygde systemer og måleteknikk

Innebygde systemer og måleteknikk: gratis øving, teori og oppgaver

Datamaskiner og mikrokontrollere lagrer og regner med alt som binære tall (0-er og 1-ere). For å lese og skrive kode effektivt bruker ingeniører også heksadesimale tall som en kompakt stenografi for binærtall, og de må vite hvordan negative tall representeres i et fast antall biter. Digital logikk – porter som AND, OR, NOT og XOR – er byggesteinene alle disse operasjonene til slutt bygges av, både i maskinvare og i uttrykk i C-kode.

3 deler56 oppgaver9 begreper forklartPrøveeksamenGratis
Start å øve gratis →

Innhold

  1. Tallsystemer og digital logikk
  2. Mikrokontrollere
  3. Måleteknikk

1. Tallsystemer og digital logikk

Hva handler det om?

Datamaskiner og mikrokontrollere lagrer og regner med alt som binære tall (0-er og 1-ere). For å lese og skrive kode effektivt bruker ingeniører også heksadesimale tall som en kompakt stenografi for binærtall, og de må vite hvordan negative tall representeres i et fast antall biter. Digital logikk – porter som AND, OR, NOT og XOR – er byggesteinene alle disse operasjonene til slutt bygges av, både i maskinvare og i uttrykk i C-kode.

Begreper og formler

Slik løser du oppgavene

  1. Konvertering mellom grunntall: gang hvert siffer med grunntallets potens og summer (til desimalt), eller trekk fra størst mulig potens gjentatte ganger (fra desimalt).
  2. Toerkomplement, negativt tall til bitmønster: regn 2n−∣x∣2^n - |x| og skriv det som et usignert binært/heksadesimalt tall.
  3. Toerkomplement, bitmønster til tall: hvis øverste bit er 1, trekk 2n2^n fra den usignerte verdien.
  4. Bitvise operatorer: skriv ut hvert tall i binær og regn bit for bit.
  5. Logiske porter: sett opp en sannhetstabell hvis du er usikker, eller husk regelen for hver port.

Eksempel

Hva er −5-5 skrevet som 8-bits toerkomplement, i heksadesimalt?

  1. Usignert bitmønster: 28−5=256−5=2512^8 - 5 = 256 - 5 = 251.
  2. 251251 i heksadesimalt: 251=15⋅16+11=FB251 = 15\cdot16 + 11 = \mathrm{FB}.

Svar: 0xFB.

Vanlige feil

Et nn-bits usignert tall dekker 00 til 2n−12^n-1; et nn-bits signert (toerkomplement) tall dekker −2n−1-2^{n-1} til 2n−1−12^{n-1}-1, og et negativt tall −x-x er bitmønsteret til 2n−x2^n-x.

Begreper i denne delen

Øv på tallsystemer og digital logikk i appen →

2. Mikrokontrollere

Hva handler det om?

En mikrokontroller er en liten datamaskin på én brikke: prosessor, minne og inn/ut-pinner (GPIO) samlet, laget for å styre og lese av omgivelsene i sanntid. Den kobles til sensorer og aktuatorer via digitale og analoge grensesnitt, holder styr på tid med timere, og reagerer raskt på hendelser med avbrudd. Å forstå klokkefrekvens, kommunikasjonsprotokoller og minnetyper er nødvendig for både å skrive fungerende kode og å anslå om den rekker jobben i tide.

Begreper og formler

Slik løser du oppgavene

  1. Identifiser hva slags størrelse du skal finne: spenning/duty cycle, tidsintervall, eller byte-/bitrate.
  2. For PWM: bruk Vgj=D⋅VhøyV_{gj}=D\cdot V_{høy}, eller finn DD fra pulslengde delt på periode.
  3. For timing: regn ut tid per klokkesykel (1/f1/f) og gang med antall sykler eller instruksjoner.
  4. For kommunikasjon: tell bit per overført enhet (UART har start-/stoppbit, SPI og I²C har det normalt ikke) og del klokkefrekvensen på det tallet.
  5. Sjekk om svaret er realistisk: mikrosekunder for enkeltinstruksjoner, millisekunder for typiske timerperioder.

Eksempel

Et program med 200 instruksjoner, hver på 4 klokkesykler, kjører på en mikrokontroller med klokkefrekvens 8 MHz. Hvor lang tid tar programmet?

  1. Totalt antall sykler: 200⋅4=800200\cdot4=800.
  2. Tid per sykel: 1/(8⋅106)=0,1251/(8\cdot10^6) = 0{,}125 µs.
  3. Total tid: 800⋅0,125=100800\cdot0{,}125 = 100 µs.

Svar: 100 µs.

Vanlige feil

Instruksjonstid == sykler delt på klokkefrekvens. Kommunikasjonshastighet == klokkefrekvens delt på antall bit per overført enhet (husk start-/stoppbit for UART, ikke for SPI/I²C).

Begreper i denne delen

Øv på mikrokontrollere i appen →

3. Måleteknikk

Hva handler det om?

Måleteknikk handler om å gå fra en fysisk størrelse (temperatur, kraft, lys, bevegelse) til et pålitelig digitalt tall en mikrokontroller kan bruke. Underveis må du velge riktig sensor, forsterke/kondisjonere signalet, sample det med riktig frekvens og filtrere mot støy og aliasing – og du må vite hvor mye du kan stole på resultatet (nøyaktighet, presisjon, oppløsning).

Begreper og formler

Slik løser du oppgavene

  1. Avgjør hvilket begrep oppgaven handler om: sampling/aliasing, sensor/bro, eller ADC-oppløsning.
  2. Sampling: sjekk om fs>2fmaksf_s>2f_{maks}. Hvis ikke, finn alias-frekvensen ved å folde ff om fs/2f_s/2.
  3. Anti-aliasing-filter: sett ff og fcf_c inn i dB-formelen, eller finn fcf_c fra ønsket dempning.
  4. RTD: sett temperaturen inn i R(T)=R0+αR0TR(T)=R_0+\alpha R_0 T.
  5. Strekklapp/bro: bruk ΔR=GF⋅ε⋅R\Delta R = GF\cdot\varepsilon\cdot R direkte, eller regn ut broens differansespenning fra ΔR\Delta R.

Eksempel

En PT100-sensor har R0=100R_0=100 Ω og α≈0,385\alpha\approx 0{,}385 Ω/°C. Hvor stor motstand har den ved 80 °C?

  1. Sett inn i formelen: R=R0+αR0⋅T=100+0,385⋅80R = R_0 + \alpha R_0\cdot T = 100 + 0{,}385\cdot80.
  2. R=100+30,8=130,8R = 100 + 30{,}8 = 130{,}8 Ω.

Svar: 130,8 Ω.

Vanlige feil

Sample alltid raskere enn 2fmaks2f_{maks}, og filtrer bort alt over fs/2f_s/2 *før* sampling – aliasing kan ikke fjernes etterpå. Presis er ikke det samme som nøyaktig.

Begreper i denne delen

Øv på måleteknikk i appen →

Eksempeloppgaver med løsning

Her er noen av oppgavene i innebygde systemer og måleteknikk. I appen får regneoppgavene nye tall hver gang, så du kan øve til det sitter – og ta en prøveeksamen med karakter før eksamen.

Tallsystemer og digital logikk: Hva er 0x1F i titallssystemet?

Svar: 31

1⋅16+15=311\cdot16 + 15 = 31.

Mikrokontrollere: Et PWM-signal på 5 V har 25 % duty cycle. Hva er gjennomsnittsspenningen?

Svar: 1,25 V

0,25⋅5=1,250{,}25\cdot 5 = 1{,}25 V.

Måleteknikk: Nyquist-kriteriet sier at samplingsfrekvensen må være …

Svar: større enn 2 ganger den høyeste frekvensen i signalet

Ellers får du aliasing.

Tallsystemer og digital logikk: Hva er binærtallet 1010 i titallssystemet?

Svar: 10

8+2=108 + 2 = 10.

Øv på alle oppgavene →

Passer for disse emnene

Innholdet dekker pensum som går igjen i ingeniørutdanningene, blant annet: