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
-
Mitä tapahtuu moottorin nopeudelle PWM-arvon kasvaessa?
-
Miksi moottoria ei kannata kytkeä suoraan pinniin 0?
-
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
-
Miksi tallennus kannattaa tehdä vain muutosten yhteydessä?
-
Mitä hyötyä aikaleimasta on?
-
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