måndag 1 oktober 2018

Så fungerar Arduino mikrokontroller

Hjärnan i en mikrokontroller är processorn. Den utför beräkningar men för att kunna göra det behöver processor flera olika sorters minne.

Det största minne är flashminnet. Här sparas programmet som mikrokontrollern ska köra. Minnet är 32 KB (kilobyte) stort vilket betyder att programmet maximalt kan ha runt 32768 tecken.

När programmet körs behövs ett arbetsminen. Här sparas alla värden och variabler som programmet använder. Det här minnet är 2 KB stort vilket betyder att 2048 tecken kan sparas. Det räcker ofta bra för att spara mätvärden, men det är begränsat om längre texter ska läsas eller behandlas på något sätt. Arbetsminnet töms varje gång Ardionon startas om.

EEPROM-minnet är permanent precis som flashminnet. Här kan sketchen spara värden som behöver användas nästa gång programmet ska köras. Det här minnet är 1 kB stort och innehåller alltså 1024 tecken.

Utöver minnen och processor finns två olika sätt att kommunicera med omvärlden.

Det första är den seriella databussen. Via en databuss skickas många signaler i följd efter varandra. Det finns många olika standarder för databussar och den vanligaste är USB och Ethernet. Vid styrning inom industrin används ofta en databuss som heter CAN.

Arduinos databuss är ofta kopplad till USB. På utvecklingskortet finns då ett speciellt chip som översätter USB-standarden (som är ganska komplicerad) till en enklare signal som används av Arduinon.

Det är via denna databuss programmet skickas till mikrokontrollern när en sketch laddas upp. Databussen kan också användas för att skicka signaler till datorn när programmet körs på Arduinon. Det underlättar felsökningen.

Den andra kommunikationen är via mikrokontrollens in och utsignaler. Läs mer under Analoga och Digitala signaler.
Share:

lördag 1 september 2018

RX och TX på Arduino

De två digitala stiften med nummer 0 och 1 är också märkta RX och TX. Det står för mottagning (recieve på engelska) och sändning (transmitt). Det är de här två stiften är de som används när mikrokontrollen programmeras.

På ett Arduino-kort med USB-anslutning är USB-kontrollen kopplad till RX och TX-stiften. De här två stiften är reserverade för kommunikation och används inte av programmet.
Share:

onsdag 1 augusti 2018

Kristallen på Arduino

Mitt på utvecklingskortet sitter en oval komponent i metall och det är kristallen. Den bestämmer frekvensen med vilken mikrokontrollen gör beräkningar och på så sätt utför det den programmerats för att göra.

https://commons.wikimedia.org/wiki/File:Arduino_crystal-1.jpg
Kristallen på en Arduino Uno R3 har en frekvens på 16 MHz. Det betyder att den kan göra 16 miljoner operationer i sekunden. Andra Arduino-kort har högre och lägre frekvensen. Det är först vid större projekt med många parallella operationer som en högre frekvens har någon praktiskt nytta.

Kristallen är en kvartsoscillator som ger en signal med en mycket konstant frekvens. Kvartsoscillatorer används i olika typer av elektroniska apparater från enkla armbandsur till datorer och navigationssystem. Det finns en mängd olika typer och varianter av kristalloscillatorer på marknaden.

Share:

söndag 1 juli 2018

Arduino historik

Arduino utvecklades för att lära studenter om elektronik och mikrokontroller. Det har genom åren blivit en mycket populär plattform såväl inom utbildning som inom makerrörelsen.

En stor anledning till framgången är enkelheten och att lösningar som utvecklas med Arduino blir mycket robusta. Det beror till stor del på avsaknaden av komplicerade faktorer som operativsystem, drivrutiner och databaser. Det här sätter naturligtvis vissa begränsningar på vad som går att göra, men för enklare uppgifter finns det sällan behov av kraften från exempelvis en Rasberry Pi. Enkelheten gör också att det går att bygga energieffektiva lösningar som enkelt kan drivas med batterier.

2005 började det utvecklas kommersiellt av Massimo Banzi och David Cuartielles. All utveckling sker enligt Creative Commons vilket också öppnat upp marknaden för konkurrerande produkter som också benämns som kloner.


Det är bara namnet Arduino som är skyddat enligt upphovsrätten. Det som skiljer kloner från originalprodukten är ofta kvaliteten på ingående komponenterna på utvecklingskortet.

Trots goda intentioner har det varit lite bråk kring varumärket genom åren och det är därför det idag finns två orginalprodukter, Arduino Uno och Genuino Uno.

En annan anledning till Arduinos framgång är utökningar med tilläggskort, så kallade Shields. Det är utvecklingskort som enkelt kopplas till utvecklingskortet och ger utökad funktionalitet som reläer, servostyrning, WiFi och Ethernet. Idag har det kommit många specialiserade kort som har utökad funktionalitet inkluderar direkt på ett och samma kort.
Share:

fredag 1 juni 2018

Kom igång att programmera Arduino online

Arduino kan programmeras online eller offline.

Arduino Online IDE är en modern web-editor där alla program (som vi fortsättningsvis kallar sketcher) sparas online kopplat till din profil. Det här är det enklaste sättet att komma igång och är den rekommenderade editorn om du har internetuppkoppling.

Ardiono IDE är ett program som installeras på datorn. Det fungerar för Windows, Mac och Linux.

All kod vi skriver här på bloggen finns på vårt konto på Arduino Online. Här är ett exempel på det första enkla programmet Blink som man hittar bland exemplen.


För att komma igång med Ardiuno IDE Online behöver du ett konto och det skaffar du här.

Följ instruktionerna och när du väl registrerat kontot är det bara att logga in.


Introduktion

När du loggar in kan du välja att få en kort introduktion. På bilderna nedanför hittar du de fyra vyerna översatta till svenska.








Share:

tisdag 1 maj 2018

Analoga signaler på Arduino

I nedre högra hörnet finns de analoga anslutningarna och de används, kanske inte helt förvånande, för att läsa av analoga spänningar. Avläsningen sker med en digital-analog omvandlare med tio bitars upplösningen vilket betyder att den analoga signalen internt motsvarar ett heltal mellan 0 och 1023. Det innebär att den analoga signalen har en upplösning motsvarande 0,005 volt.

Arduino Uno R3 - bild från arduino.cc
Det finns inga verkliga analoga utsignaler. Istället går det att använda vissa digitala stift för att simulera en spänning mellan 0 och 5 V genom att stiftet ger pulser som växlar mellan 0 och 1.

Om 0-pulsen är lika lång som 1-pulsen blir den genomsnittliga spänningen 2,5 volt. Genom att variera pulslängderna kan spänningen på det här sättet varieras mellan 0 och 5 volt. De stift som kan användas för att simulera en lägre spänning kallas PWM (Pulse Width Modulation). De är markerade med ~ framför siffran på stiftet.

De analoga stiften kan också användas som digitala in och utsignaler.

Bilden visar utvecklingskortet Arduino Uno R3.
Share:

söndag 1 april 2018

Digitala signaler på Arduino

Bilden visar utvecklingskortet Arduino Uno R3.

I övre högra hörnet finns mikrokontrollens digitala anslutningar. Dessa stift kan användas som insignaler för att läsa ett värde eller som utsignaler för att skicka ett värde.

Det är programmet i mikrokontrollen som styr hur varje stift ska användas. Som standard är signalerna insignaler och om stift ska användas som utsignaler måste det skrivas i programmet.

Insignalen är kopplat i serie med ett kraftigt motstånd vilket betyder att den inte påverkar den signal som mäts i någon nämnvärd omfattning.

Ett stift som inte får en signal kan växla slumpmässigt mellan 0 och 1. Därför brukar stiftet kopplas med ett motstånd på 10K ohm till plus eller minus. Det kallas PULLUP- respektive PULLDOWN. När stiftet får en signal, till exempel genom att en brytare sluts, kommer den signalen att vara mycket starkare än signalen från motståndet.

Alla digitala stift har en inbygg PULLUP-resistor som kan användas. Då definieras stiften som INPUT_PULLUP istället för INPUT. Signalen kommer då alltid att vara 1 förutom när stiften ansluts mot 0 (GND).

Vissa digitala stift kan ge en sk. PMV-signal, men mer om det längre fram.
Share:

Leta i den här bloggen

Använder Blogger.

Sidor

Så fungerar Arduino mikrokontroller

Hjärnan i en mikrokontroller är processorn. Den utför beräkningar men för att kunna göra det behöver processor flera olika sorters minne. ...