Download præsentationen
Præsentation er lastning. Vent venligst
1
CANSAT & ARDUINO step by step
Jens Dalsgaard Nielsen SATLAB Aalborg Universitet Danmark Jens Dalsgaard Nielsen, SATLAB, AAU
2
Arduino CANSAT - MÅL At måle ved hjælp af sensor
temperatur, tryk, acceleration, CO2, lys,... At sende målte data til jord At gemme målte data ombord i CANSAT (backup) Jens Dalsgaard Nielsen, SATLAB, AAU
3
CANSAT & ARDUINO CAN SAT HW dåse :-) Ramme/skelet Indmad
Arduino micro controller Sensorer (aktuatorer) Radiolink til jord Onboard Storage (SD kort) Faldskærm Strømforsyning: 9V batteri Jens Dalsgaard Nielsen, SATLAB, AAU
4
SW & HW Jens Dalsgaard Nielsen, SATLAB, AAU
5
CANSAT & ARDUINO CANSAT SW Bruger skrevet program i sproget C/C++
minimalversion på mindre end 10 linier kode Jordstation Serielt standard program teraterm(windows), arduino konsol, ... et program der kan sende og modtage karakterer på en seriel port (rs232, usb-rs232) Jens Dalsgaard Nielsen, SATLAB, AAU
6
Det første problem - Installation
Arduino SW specielt for windows xp/vista/7 – special attention der skal installeres drivere til det specifikke Arduino board: uno, mega,... Følg instrukser Jens Dalsgaard Nielsen, SATLAB, AAU
7
Er det muligt ? Gjorde det i lørdags på XP og windows 7 for Arduino Uno – så JA :-) Er det svært ? NEJ ? men læs vejledning først. Et check: W7 uden drivere blinker TX lysdioden IKKE når arduino sender data over serielle forbindelse Jens Dalsgaard Nielsen, SATLAB, AAU
8
Andre operativsystemer ?
Linux – ingen installation af ekstra drivere MAC – ingen installation af ekstra drivere Jens Dalsgaard Nielsen, SATLAB, AAU
9
Jord segment Windows : teraterm – gratis Linux: minicom gratis
MAC : lignende terminal Jens Dalsgaard Nielsen, SATLAB, AAU
10
mere om dette senere Jens Dalsgaard Nielsen, SATLAB, AAU
11
Arduino programstruktur Læs sensor fortolke læsning sende data hjem
Jens Dalsgaard Nielsen, SATLAB, AAU
12
Arduino programstruktur
Jens Dalsgaard Nielsen, SATLAB, AAU
13
Kørbart eksempel Jens Dalsgaard Nielsen, SATLAB, AAU
14
Eksempel her er jeg (med 1 sekund mellem linierne)
Jens Dalsgaard Nielsen, SATLAB, AAU
15
Sensor – temperatur - LM35
Lineær: 10 mV/grad Celcius fra +2 til +150 gr Celcius analogRead(kanal) Jens Dalsgaard Nielsen, SATLAB, AAU
16
analog måling: Arduino har 6 analoge kanaler der kan måle spænding i området 0-5V. Temperatur analogRead(5) Jens Dalsgaard Nielsen, SATLAB, AAU
17
Gemning af værdier heltal (int) [-32768 ... 0 ... 32767]
kommatal (float) - 1*10^ *10^38 ca Arduino måler spænding i heltal 0V ~= i måletal 5V ~= 1023 så man skal selv regne om ! Jens Dalsgaard Nielsen, SATLAB, AAU
18
Første måling Jens Dalsgaard Nielsen, SATLAB, AAU
19
Første måling - II Indendøre : 20 grader 20 * 10mV = 200 mV = 0.2V
Vi måler: 40 hvorfor ? Jens Dalsgaard Nielsen, SATLAB, AAU
20
Første måling - II Indendøre : 20 grader 20 * 10mV = 200mV Vi måler 40
hvorfor ? fordi (0.2V/5V)*1023 = 40 altså ingen Volt Jens Dalsgaard Nielsen, SATLAB, AAU
21
Ingeniør/SI enheder 1 tælletal svarer til 5/1023 V
ok ???? - ledende spørgsmål .... Jens Dalsgaard Nielsen, SATLAB, AAU
22
Ingeniør/SI enheder NOPE – vi arbejder jo i heltal
20 grader – tælletal 40 5*40=/1023 = 200/1023 = 0 !!! (der rundes ned) Jens Dalsgaard Nielsen, SATLAB, AAU
23
Løsning 1 send tælletal (40) lav selv omregning “hjemme på PC”
Jens Dalsgaard Nielsen, SATLAB, AAU
24
Løsning 2 - kommatal “tvinges” over og regne i kommatal
Jens Dalsgaard Nielsen, SATLAB, AAU
25
Tryk og højde 1 atm std 101.325kPa Aalborg 120909 16:30 101.5 kPa
I 400 m ca 95 kPa Jens Dalsgaard Nielsen, SATLAB, AAU
26
Tryk sensor – mpx 4115 0m ~= 4.4V 400m ~= 3.9V 0.5V/400m eller
0.005V/4m ( 1 tælletal) Jens Dalsgaard Nielsen, SATLAB, AAU
27
Accelerometer Jens Dalsgaard Nielsen, SATLAB, AAU
28
Storage, radio osv osv intet specielt !
Alt der skrives med Serial.print(ln) skrives også til radio sdkort så ... Jens Dalsgaard Nielsen, SATLAB, AAU
29
Jens Dalsgaard Nielsen, SATLAB, AAU
30
Digitale input/output
Der er digital input og output: høj/sand ~= 5V lav/falsk ~= 0V Kan benyttes til kontakter mm Jens Dalsgaard Nielsen, SATLAB, AAU
31
Jens Dalsgaard Nielsen, SATLAB, AAU
32
Jens Dalsgaard Nielsen, SATLAB, AAU
33
digitalt input Problem: hvad nu hvis der intet er tilslutte digitale indgang ? Så svæver den == ikke pålidelig Arduino kan “forbinde” digitale udgang med intern modstand til 5V. Ingen tilslutning på indgang så måles der høj(5V) pinMode(pin, INPUT); // set pin to input digitalWrite(pin, HIGH); // turn on pullupresistor(20kohm) Jens Dalsgaard Nielsen, SATLAB, AAU
34
Analog output 0-255 i tælletal
frekvens ca 490 Hz dvs ca 2 msec pr periode Jens Dalsgaard Nielsen, SATLAB, AAU
35
Jens Dalsgaard Nielsen, SATLAB, AAU
36
setup – simpel output Jens Dalsgaard Nielsen, SATLAB, AAU
37
Rigtig måling Jens Dalsgaard Nielsen, SATLAB, AAU
38
øvelse1 mål spænding på analog 3 skriv ud
sæt analog 3 med ledning fra hhv 3.3V og 5V Jens Dalsgaard Nielsen, SATLAB, AAU
39
next step – modular coding
Formål: at kunne forberede et forsøg Ide: At man – i forvejen – kan lave noget funktionalitet. Metode: arduino projekt en “skjult” fil Jens Dalsgaard Nielsen, SATLAB, AAU
40
Jens Dalsgaard Nielsen, SATLAB, AAU
41
Jens Dalsgaard Nielsen, SATLAB, AAU
42
Funktioner - modularisering
Det talte sprog ;-) setup loop maal sendData SovLIdt gåTilTop Jens Dalsgaard Nielsen, SATLAB, AAU
43
Jens Dalsgaard Nielsen, SATLAB, AAU
44
Jens Dalsgaard Nielsen, SATLAB, AAU
45
til tasterne Jens Dalsgaard Nielsen, SATLAB, AAU
46
Kalibrering ikke kun programmering
Jens Dalsgaard Nielsen, SATLAB, AAU
Lignende præsentationer
© 2024 SlidePlayer.dk Inc.
All rights reserved.