8. toukokuuta 2026

PWM-arvon muuttaminen ja tiedon tallentaminen sekä sama etänä radioyhteyden avulla

 

Harjoitustyö: Sähkömoottorin ohjaaminen ja ohjauksen tallentaminen

Tavoite

Tässä harjoituksessa opetellaan:

  • PWM-ohjaus

  • transistorin käyttö moottorin ohjaamisessa

  • tapahtumien tallentaminen lokiin

  • radioyhteyden käyttö kahden micro:bitin välillä

Työssä käytetään kahta BBC micro:bit -mikrokontrolleria.


OSA 1 – Moottorin ohjaaminen PWM-signaalilla

Tarvittavat osat

  • micro:bit

  • DC-moottori

  • NPN-transistori

  • (kantavastus (esim. 1 kΩ) )

  • johdot

  • paristokotelo


Kytkentä

Transistorin kytkentä

  • pinni 0 → vastuksen kautta transistorin B (base)

  • transistorin C (collector) → 3V

  • transistorin E (emitter) → moottori

  • moottorin toinen pää → GND


Tehtävä 1

Tee ohjelma, jossa:

  • A-näppäin kasvattaa PWM-arvoa, mikä siis tarkoittaa analogista kirjoittamista pinniin nolla

  • B-näppäin pienentää PWM-arvoa

  • PWM-arvo näytetään näytöllä

PWM-arvo voi olla välillä:

0–1023

Pohdinta

  1. Mitä tapahtuu moottorin nopeudelle PWM-arvon kasvaessa?

  2. Miksi moottoria ei kannata kytkeä suoraan pinniin 0?

  3. Onko pinni 0 oikeasti analoginen ulostulo?


OSA 2 – Ohjauksen tallentaminen lokiin

Tavoite

Tallennetaan käyttäjän tekemät muutokset.


Tehtävä 2

Tee ohjelmaan seuraavat ominaisuudet:

Tallennuksen käynnistys

  • A+B käynnistää tallennuksen

  • A+B lopettaa tallennuksen


Mittauksen ilmaisu

Kun tallennus on käynnissä:

  • näytöllä näkyy esimerkiksi:

REC

tai

  • yksi LED vilkkuu jatkuvasti

Kun tallennus ei ole käynnissä:

  • näyttö sammuu tai näyttää PWM-arvon normaalisti


Lokiin tallennettavat tiedot

Kun käyttäjä:

  • painaa A tai B

  • ja PWM-arvo muuttuu

tallennetaan:

  • aika (running time)

  • PWM-arvo

Esimerkki:

1250 ms → 300
2480 ms → 500
4100 ms → 700

Pohdinta

  1. Miksi tallennus kannattaa tehdä vain muutosten yhteydessä?

  2. Mitä hyötyä aikaleimasta on?

  3. Kuvaako PWM-arvo suoraan sähkövirtaa?


OSA 3 – Etäohjaus radioyhteydellä

Tavoite

Toinen micro:bit ohjaa moottoria radioyhteyden avulla.


Lähetin-micro:bit

Tee ohjelma, jossa:

  • A kasvattaa PWM-arvoa

  • B pienentää PWM-arvoa

  • PWM-arvo lähetetään radiolla


Vastaanotin-micro:bit

Tee ohjelma, jossa:

  • vastaanotetaan PWM-arvo

  • moottoria ohjataan vastaanotetulla arvolla


Lisätehtävä

Tallennetaan myös radio-ohjauksen tapahtumat lokiin:

  • aika

  • vastaanotettu PWM-arvo


Lopputehtävä

Piirrä kuvaaja:

  • x-akseli = aika

  • y-akseli = PWM-arvo

Pohtikaa:

  • miten käyttäjä ohjasi moottoria?

  • näkyykö kiihdytyksiä tai hidastuksia?

  • onko ohjaus tasaista vai nykivää?


Mitä työssä opittiin?

Työssä harjoiteltiin:

  • PWM-ohjausta

  • transistorin käyttöä

  • tapahtumapohjaista mittausta

  • lokitietojen keräämistä

  • radioyhteyttä

  • datan analysointia

Lisäksi opittiin, että:

  • micro:bitin “analoginen ulostulo” perustuu PWM-signaaliin

  • PWM ei ole oikea analoginen jännite

  • moottorin nopeutta voidaan säätää digitaalisella signaalilla