Præsentation er lastning. Vent venligst

Præsentation er lastning. Vent venligst

CANSAT & ARDUINO step by step

Lignende præsentationer


Præsentationer af emnet: "CANSAT & ARDUINO step by step"— Præsentationens transcript:

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


Download ppt "CANSAT & ARDUINO step by step"

Lignende præsentationer


Annoncer fra Google