Industriële fabricage
Industrieel internet der dingen | Industriële materialen | Onderhoud en reparatie van apparatuur | Industriële programmering |
home  MfgRobots >> Industriële fabricage >  >> Manufacturing Technology >> Productieproces

Arduino aangedreven weerballon datalogger

Componenten en benodigdheden

Maxim Integrated DS18B20 Programmeerbare resolutie 1-draads digitale thermometer
× 2
DHT22-temperatuursensor
× 1
SparkFun Triple Axis Accelerometer Breakout - ADXL335
× 1
Mannelijke kop 36 Positie 1 rij - lang (0,1")
× 2
Arduino Mega 2560
× 1
5050 SMD LED
× 1
Weerstand 4.75k ohm
× 2
Weerstand 100 ohm
× 3
Weerstand 10k ohm
× 1
Flash-geheugenkaart, MicroSD-kaart
× 1
Micro SD-kaartmodule
× 1

Benodigde gereedschappen en machines

Soldeerbout (algemeen)
Soldeerdraad, loodvrij

Apps en online services

Arduino IDE

Over dit project

Hallo iedereen!! Je vraagt ​​je waarschijnlijk af, wacht, kun je een Arduino de ruimte in sturen? Bijna. Met behulp van een weerballon kun je een Arduino, camera, lookbrood of iets anders naar een derde van de ruimte sturen! Ook al is het een derde van de weg naar de ruimte, bijna 99% van de atmosfeer is niet aanwezig, dus we noemen het 'de rand van de ruimte'. Deze handleiding is superlang, maar tenzij je dit project alleen maar aan het bekijken bent, moet je alles tot pad 1 lezen. Laten we in ieder geval eens kijken hoe je dit kunt doen.

Er zijn drie paden die je kunt volgen op basis van wat je wilt en je vaardigheidsniveau. Alle drie de paden vereisen wat soldeervaardigheden vanwege de ongelooflijke winden in de stratosfeer. Elk pad is hoe dan ook niet beter dan het andere, het is gewoon gebaseerd op waar je in geïnteresseerd bent. Laten we ze snel overlopen.

Pad 1:Een eenvoudige datalogger maken met behulp van een proto-bord, verschillende sensoren, met weinig soldeervaardigheden.

Pad 2:Een vooraf ontworpen PCB-schild (printplaat) gebruiken voor een schoon, geweldig uitziend bord, door ons ontworpen en getest.

Pad 3:Maak je eigen PCB in een programma. Deze gids zal niet diep ingaan op het ontwerpen en maken van uw eigen PCB, maar het zal enkele richtlijnen voor u bespreken om over na te denken. Ik zal ervoor zorgen dat ik een geweldige gids voor je koppel waar je van kunt leren.

We zullen elk pad een beetje meer bespreken, maar hier zijn enkele tips om je te helpen kiezen:

Pad 1 is het gemakkelijkst en biedt enige flexibiliteit. Je kunt de sensoren, het bord en de functies op je bord kiezen. Je hebt wat soldeervaardigheden nodig om ervoor te zorgen dat alles tijdens de vlucht bij elkaar blijft.

Pad 2 zal het meest beperkend zijn, wat betekent dat je een gespecificeerde set sensoren moet gebruiken, een specifiek Arduino-bord, maar je zult een echt schoon ogende PCB hebben, je hoeft je geen zorgen te maken over solderen of coderen, en het is een goede beginnen te leren over PCB's. We zullen het Gerber-bestand, de exportinstellingen en de code voor u bekijken. PCB's zijn niet erg duur, en het kan ervan afhangen waar je ze vandaan haalt. We hebben 5 van deze PCB's voor $ 2, maar deze prijs kan verschillen afhankelijk van waar je hem koopt.

Pad 3 zal het moeilijkst zijn en vereist veel vaardigheden. Je moet weten (of leren) hoe je je eigen PCB of Arduino PCB-schild kunt maken, weten hoe je het hele ding moet coderen en het bord moet solderen. Als je weet hoe je al deze dingen moet doen, zou je dit project waarschijnlijk zelf kunnen doen, maar er zijn enkele zeer belangrijke beperkingen en details waarbij deze gids je kan helpen.

Oke!! Geweldig! Je had moeten kiezen welk pad je nu wilt gaan! Maar voordat we er meteen in springen, zijn er zeer belangrijke regels die je in gedachten moet houden. Zorg ervoor dat u deze regels leest, want het verzenden van dingen in een weerballon kan beperkt zijn op basis van waar u woont. Deze gids gaat niet in op het kiezen van de juiste ballon, het bouwen van de laadruimte en het vullen van de ballon, maar er zijn VEEL handleidingen over hoe u dit moet doen, dus ik zal ze voor u koppelen. Ik zal de beperkingen voor je Arduino-datalogger doornemen en een link achterlaten voor verdere FAA-beperkingen (als je in de VS woont). Hier zijn dingen die u in gedachten moet houden:

1. Uw laadruimte mag geen signalen van mobiele telefoons hebben. Als je om wat voor reden dan ook een mobiele telefoon aan boord hebt, moet deze in vliegtuigmodus staan.

2. Als u GPS gebruikt om uw ballon te vinden, moet u een HAM-radiolicentie verkrijgen (waarvoor tests en een vergoeding vereist zijn).

3. Als de gewicht-tot-maatverhouding van uw lading meer dan 3,0 ounces/vierkante inch is, moet het totale gewicht van de lading minder dan 4 pond zijn.

4. Elk individueel laadvermogen/pakket moet minder dan 6 pond zijn.

5. En als u twee ladingen heeft, moet het totale gewicht van de lading minder zijn dan 12 pond.

Dit is een link naar de volledige richtlijnen van de FAA voor inwoners van de VS.

Pad 1 - Protobord!

Voordat u begint met ontwerpen, zijn er een aantal overwegingen waarmee u rekening moet houden. Ten eerste, wat je daar wilt. In het meegeleverde schema heb je een eenvoudige temperatuur- en vochtigheidssensor, een barometrische sensor, een IMU en een SD-kaartmodule. Voor de meeste projecten zou dit voldoende moeten zijn, maar als je je laadruimte met je Arduino wilt vinden, wil je een GPS-module toevoegen. Er zijn verschillende herstelopties:

1. SPOT GPS-module. Deze hebben hun voor- en nadelen. Deze zijn heel gemakkelijk te gebruiken, hebben een onbeperkt bereik (ze gebruiken satellieten om coördinaten naar je telefoon te sturen), hebben een geweldige batterijduur en zijn gemakkelijk te verkrijgen. Ze zijn echter duur, werken niet ondersteboven en het signaal kan worden geblokkeerd door dikke voorwerpen.

Dit is de methode die we hebben gebruikt, maar we hebben een cardanische ophanging ontworpen en in 3D geprint om hem rechtop te houden. We raden de SPOT 3 Satellite Messenger (Amazon) aan, maar het is helemaal aan jou, zolang je dit onderzoekt en de voordelen voor de verschillende typen ziet.

2. APRS-radio. Dit zal het meest betrouwbaar zijn en je kunt er veel mee doen. Je kunt een module op een Arduino aansluiten en de radio gegevens, coördinaten, enz. terug laten sturen. Hierdoor kun je ook nauwkeurige hoogtemetingen krijgen.

Deze staat helaas niet in het aansluitschema dus je zult moeten leren deze zelf aan te sluiten. Verder moet je een HAM-radiolicentie hebben, die je nodig hebt om een ​​test af te leggen, en een kleine vergoeding betalen. Deze licentie is super handig, dus het kan de moeite waard zijn. (V.S. - beperkingen kunnen verschillen afhankelijk van waar je woont).

3. Mobiele telefoon. Deze methode moet je echt niet gebruiken. Je moet niet alleen een manier bedenken om je telefoon na de vlucht uit de vliegtuigmodus te krijgen, de mobiele telefoon zelf zal waarschijnlijk duurder zijn dan een gewone SPOT. De reden dat dit op de lijst staat, is omdat veel mensen mobiele telefoons gebruiken als back-up, maar het is echt niet iets dat je zou moeten gebruiken.

Nu je hebt besloten hoe je je nuttige lading terugkrijgt, wil je bespreken hoe de vlucht eruit gaat zien. Als u bijvoorbeeld wilt dat uw Arduino de parachute op afstand inzet, moet u manieren zoeken om dat te doen. Je moet ook bespreken welke sensoren je gaat gebruiken (de temperatuur kan dalen tot -40C (-40F), dus daar moet je rekening mee houden.

Je zult ook willen nadenken over hoe je de Arduino van stroom wilt voorzien. Koude temperaturen verminderen de prestaties van veel batterijen, dus misschien wilt u een grote voeding, samen met een behuizing zoals een piepschuimdoos om het gezellig te houden, terwijl u ook onder de gewichtslimiet blijft.

Ik raad je aan een soort checklist te maken op basis van wat je wilt, type gegevens dat je wilt krijgen, of je een camera aan boord hebt en wat je van plan bent aan boord te hebben. Het kan ook een goed idee zijn om de payload bay te maken en vervolgens uw datalogger te ontwerpen op basis van de payload. Er zijn veel dingen om over na te denken en zeker te zijn voordat u daadwerkelijk gaat ontwerpen, dus zorg ervoor dat u heel lang en zorgvuldig de tijd neemt om alles door te nemen.

Oké, hier is het schema en het bedradingsschema voor de sensoren als je onze route volgt:

De Mega is super overkill voor deze sensoren, maar wil je ook onze code gebruiken, dan zul je de Mega moeten gebruiken. Als je van plan bent om zoiets als een Nano te gebruiken, verander dan de pin-outs van de MicroSD-kaartmodule naar de SPI-pinnen van je bord.

Hier is een onderdelenlijst:

SparkFun ADXL337

Headerpins

Micro SD-kaartmodule

DHT22 Vochtigheidssensor

DS18B20 Temperatuursensor

Protobord

Arduino Mega

Je kunt nog een DS18B20 toevoegen om interne temperaturen te lezen en sensoren toevoegen die je wilt, maar als je de verstrekte code wilt gebruiken, gebruik dan het bedradingsschema hierboven.

//DHT22 Setup#include "DHT.h"#define DHTPIN 2#define DHTTYPE DHT22DHT dht(DHTPIN, DHTTYPE);//SD Card Setup#include #include File sdcard_file;int CS_pin =10;//DS18B20 Temperatuursensor#include #include#define ONE_WIRE_BUS 3OneWire oneWire(ONE_WIRE_BUS);DallasTemperature sensoren(&oneWire);int scale =3; // 3 (±3g) voor ADXL337, 200 (±200g) voor ADXL377boolean micro_is_5V =true; // Stel in op true bij gebruik van een 5V-microcontroller zoals de Arduino Uno, false bij gebruik van een 3.3V-microcontroller, dit beïnvloedt de interpretatie van de sensordatavoid setup() {Serial.begin(9600);sensors.begin(); dht.begin(); pinMode (CS_pin, OUTPUT);// CS-pin declareren als uitvoerpin if (SD.begin()){ Serial.print ("SD-kaart gevonden!"); } else { Serial.print("Fout bij vinden SD-kaart"); opbrengst; } sdcard_file =SD.open("data.csv", FILE_WRITE); if (sdcard_file) {//Als het bestand wordt gevonden} else { Serial.print ("fout bij initialiseren van SD-kaart"); }sdcard_file.print("DS18B20");sdcard_file.print(",");sdcard_file.print("DHT22 Temp");sdcard_file.print(",");sdcard_file.print("Hum");sdcard_file.print (",");sdcard_file.print("H.InX");sdcard_file.print(",");sdcard_file.print("rawX");sdcard_file.print(",");sdcard_file.print("rawY ");sdcard_file.print(",");sdcard_file.print("rawZ");sdcard_file.print(",");sdcard_file.print("scaledX");sdcard_file.print(",");sdcard_file. print("scaledY");sdcard_file.print(",");sdcard_file.print("scaledZ");sdcard_file.print(",");sdcard_file.println(" ");}void loop() {vertraging( 222);//Versnellingsmeter int rawX =analogRead (A0); int rawY =analoog lezen (A1); int rawZ =analoog lezen (A2); float scaledX, scaledY, scaledZ; if (micro_is_5V) // schalingsgegevens als de spanning 5V is (het is) {scaledX =mapf (rawX, 0, 675, -scale, scale); scaledY =mapf(rawY, 0, 675, -scale, scale); scaledZ =mapf(rawZ, 0, 675, -scale, scale); } else // schalingsgegevens als de spanning 3,3 V is {scaledX =mapf (rawX, 0, 1023, -scale, scale); scaledY =mapf(rawY, 0, 1023, -scale, scale); scaledZ =mapf(rawZ, 0, 1023, -scale, scale); }//DS18B20 Tempsensors.requestTemperatures();int etemp=sensors.getTempCByIndex(0);//DS18B20 Vochtigheidssensor float h =dht.readHumidity(); float t =dht.readTemperature(); float f =dht.readTemperature(true); // Controleer of het lezen is mislukt en sluit vroeg af voor DHT als (isnan(h) || isnan(t) || isnan(f)) { return; } // Bereken warmte-index in Fahrenheit (de standaard) float hif =dht.computeHeatIndex (f, h); // Bereken warmte-index in Celsius (isFahreheit =false) float hic =dht.computeHeatIndex (t, h, false); sdcard_file.print(etemp); sdcard_file.print(","); sdcard_file.print(t); sdcard_file.print(","); sdcard_file.print(h); sdcard_file.print(","); sdcard_file.print(hic); sdcard_file.print(","); sdcard_file.print(rawX); sdcard_file.print(","); sdcard_file.print(rawY); sdcard_file.print(","); sdcard_file.print(rawZ); sdcard_file.print(","); sdcard_file.print(scaledX); sdcard_file.print(","); sdcard_file.print(geschaaldY); sdcard_file.print(","); sdcard_file.print(scaledZ); sdcard_file.print(","); sdcard_file.print(" "); sdcard_file.println(" ");sdcard_file.close();delay(223);}float mapf(float x, float in_min, float in_max, float out_min, float out_max){ return (x - in_min) * (out_max - out_min ) / (in_max - in_min) + out_min;}  

Als er problemen zijn, controleer dan de bedrading en gebruik de code voor elke afzonderlijke sensor om het probleem te isoleren. Zorg ervoor dat uw SD- of MicroSD-kaart is geformatteerd naar FAT16 of FAT32 en 16 GB of minder is.

Het zou ook een goed idee zijn om LED's aan te sluiten om statusindicaties van uw datalogger weer te geven. U wilt de ballon echt niet opsturen terwijl de datalogger niet actief is, dus zorg ervoor dat u alles driemaal controleert.

Bovendien, als u problemen blijft houden met de SD-kaartmodule, probeer dan de stroombron te veranderen. Na veel testen ontdekten we dat sommige modules erg gevoelig zijn voor de stroom, dus zoek een betrouwbare stroombron.

Daar ga je! Uw datalogger is klaar. Het moet temperatuur-, vochtigheids- en versnellingsmetergegevens lezen en op een SD-kaart loggen. Als u een hoogtemeting wilt, moet u GPS gebruiken. 90% van de op een barometrische sensor gebaseerde hoogtemeters werken niet hoger dan 30, 000 ft. Als uw ballon deze drempel overschrijdt (waarschijnlijk wel), kunt u geen barometer gebruiken. Als je de rest van de weg een geweldige gids wilt, bekijk dan deze gids en neem gerust contact met ons op via deze website als je ENIGE vragen hebt. We zijn hier geen professionals in, maar we zijn bereid om zo goed mogelijk te helpen.

Reageer hieronder of neem contact met ons op als er problemen zijn, en als je dit deel van de gids leuk vond, bekijk dan ons YouTube-kanaal, laat een reactie achter en respecteer hieronder, en we raden aan om de andere paden te bekijken, voor inspiratie en coole ideeën!

Pad 2 - Vooraf ontworpen PCB

Dus! U bent van plan een voorontworpen printplaat te gebruiken. Met deze vooraf ontworpen PCB kunt u interne temperatuur-, externe temperatuur-, vochtigheids- en accelerometermetingen krijgen. Je hebt soldeervaardigheden nodig, en deze componenten:

5050 SMD-LED

SparkFun ADXL337

Veel header-pinnen

Micro SD-kaartmodule

DHT22 Vochtigheidssensor

2X DS18B20 Temperatuursensor

Arduino Mega

De Eclipse-printplaat

Het Gerber-bestand voor de PCB bevindt zich in deze GitHub-repository. Als u de PCB/het schema wilt bewerken, ga dan naar deze webpagina en vul de details in van wat u nodig heeft. Zoals bestandstype, welk bestand je wilt, vragen, enz. We zullen bespreken hoe dit PCB/Arduino-schild werkt, hoe je er een correct kunt bestellen bij een PCB-service (voor slechts $ 2) en hoe je het jouwe correct kunt monteren.

Gelukkig hebben we deze PCB op onze vlucht gebruikt, dus we hebben veel getest en hebben na de vlucht verbeteringen voor je aangebracht, maar laten we er in ieder geval op ingaan.

Hier zijn ook enkele video's van de montage en details van de PCB.

Oké, laten we beginnen met het downloaden van het Gerber-bestand. Ga naar de GitHub-repository, download het ZIP-bestand en kopieer en plak het Gerber Eclipse-bestand. Het is belangrijk dat u het ZIP-bestand voor de gerber gecomprimeerd houdt, omdat de online service ze als ZIP's gebruikt.

Nu je het hebt verplaatst, is het tijd om een ​​PCB te vinden. Zoek in een zoekmachine PCB-service op. Er zijn er veel om uit te kiezen, en veel van hen hebben hun voor- en nadelen. Voor een lagere prijs kunt u overwegen een aantal Chinese productiebedrijven te overwegen, zoals JLC PCB. Als u bereid bent wat meer te betalen, wilt u misschien enkele in de VS gevestigde bedrijven zien. De service waarvan u koopt, doet er NIET toe. Ze geven je allemaal een PCB van echt hoge kwaliteit voor een geweldige prijs, dus het is helemaal aan jou.

Nu je een dienst hebt gekozen, upload je het gezipte gerber-bestand en kies je deze instellingen:

  • Laat de lagen en afmetingen met rust
  • Enkele print
  • 1,6 mm dikte
  • Elke gewenste kleur (groen wordt doorgaans sneller geproduceerd)
  • HASL(met lood) voor de oppervlakteafwerking. Mogelijk moet u dit wijzigen als u loodvrij soldeer gebruikt
  • 1oz kopergewicht
  • Geen gouden vingers en bevestiging van productiebestand
  • Volledige test voor Flying Probe Test
  • Geen gekartelde gaten
  • Elke gewenste hoeveelheid!

De meeste van deze instellingen zijn al ingesteld, dus u hoeft alleen maar van kleur te veranderen. Ga je gang en bestel, en je PCB begint met de productie! Dit is misschien ook een goed moment om de hierboven genoemde sensoren te bestellen.

Nu is het tijd om de printplaat te monteren. Aangezien we sensoren gebruiken met breakout-kaarten, en aangezien deze PCB als een schild zal fungeren, zal dit heel eenvoudig zijn. Hieronder vindt u een soldeergids voor u.

Soldeer ook alle header-pinnen aan de zijkanten van de PCB. Deze passen precies op een Arduino Mega en doen alle bedrading voor je.

Het is belangrijk om te weten hoe deze printplaat werkt, zodat je weet hoe je dingen kunt repareren als er iets kapot gaat. Binnenin de PCB lopen zeer kleine draden van 0,35 mm die er doorheen lopen. Deze draden lopen van elke sensor naar bepaalde header-pinnen in de PCB, die vervolgens verbinding maken met de Arduino. Dit zorgt voor een schone build en is sterker en betrouwbaarder dan traditionele protoboards en breadboards. Dit is een heel kort overzicht, maar als je meer wilt weten, is hier een geweldige video over hoe PCB's werken.

Ja! De print is gesoldeerd, plaats deze op de Arduino Mega en steek hem in de computer. Open de Arduino IDE en open de 1.6-code die is meegeleverd met de GitHub-repository waar je je PCB-bestanden vandaan hebt.

Formatteer uw microSD-kaart naar FAT16 of FAT32. De microSD-kaartmodule moet 16 GB of minder zijn, anders werkt het niet. Zelfs een microSD-camera van 2 GB zal meer dan genoeg opslagruimte bieden voor een vlucht van twee uur.

Steek nu de SD-kaart in de module en upload de 1.6-code. Binnen de seriële monitor zou u een succesbericht moeten krijgen dat de SD-kaart werkte, en de datalogging zou onmiddellijk moeten beginnen.

Wacht tien seconden, haal de SD-kaart eruit en plaats deze in een computer. Er zou een.csv-bestand moeten zijn met al uw gegevens!

Hier is de code voor het geval de GitHub-repository niet werkt.

//DHT22 Setup#include "DHT.h"#define DHTPIN 2#define DHTTYPE DHT22DHT dht(DHTPIN, DHTTYPE);//SD Card Setup#include #include File sdcard_file;int CS_pin =10;//DS18B20 Temperatuursensor#include #include#define ONE_WIRE_BUS 3OneWire oneWire(ONE_WIRE_BUS);DallasTemperature sensoren(&oneWire);//MPL3115#A2 #include Adafruit_MPL3115A2 baro =Adafruit_MPL3115A2();int scale =3;boolean micro_is_5V =true;//LEDint Blue =7;int Red =6;int Green =5;void setup() {pinMode(23, INGANG); // detecteert of een schakelaar is ingeschakeld om het schrijven naar de SD-kaart te stoppen en de datasensors op te slaan.begin();pinMode(Blauw, OUTPUT);pinMode(Rood, OUTPUT);pinMode(Groen, OUTPUT);digitalWrite(Groen, HIGH ); dht.begin(); pinMode (CS_pin, OUTPUT); // CS-pin declareren als uitvoerpin if (SD.begin ()) {digitalWrite (Groen, LAAG); digitalWrite (Groen, HOOG); digitalWrite (Groen, LAAG); digitalWrite (Groen, HOOG); digitalWrite (Groen, LAAG); digitalWrite (Groen, HOOG); } else { digitalWrite(Groen, LAAG); digitalWrite (Rood, HOOG); vertraging (5000); opbrengst; } sdcard_file =SD.open("data.csv", FILE_WRITE); if (sdcard_file) {//Als het bestand wordt gevonden digitalWrite (Rood, LOW); digitalWrite (Blauw, LAAG); digitalWrite (Groen, HOOG); } else { digitalWrite(Groen, LAAG); digitalWrite (Rood, HOOG); vertraging (1000); digitalWrite (Rood, LAAG); digitalWrite (Blauw, HOOG); vertraging (1000); digitalWrite (Groen, LAAG); digitalWrite (Rood, HOOG); vertraging (1000); digitalWrite (Rood, LAAG); digitalWrite (Blauw, HOOG); vertraging (1000); digitalWrite (Rood, HOOG); digitalWrite (Blauw, LAAG); }sdcard_file.print(",");sdcard_file.print("DS18B20");sdcard_file.print(",");sdcard_file.print("DHT22 Temp");sdcard_file.print(",");sdcard_file.print ("Hum");sdcard_file.print(",");sdcard_file.print("H.InX");sdcard_file.print(",");sdcard_file.print("Int. Temp");sdcard_file.print( ",");sdcard_file.print("Pres. Pasc.");sdcard_file.print(",");sdcard_file.print("alt.");sdcard_file.print(",");sdcard_file.print(" rawX");sdcard_file.print(",");sdcard_file.print("rawY");sdcard_file.print(",");sdcard_file.print("rawZ");sdcard_file.print(",");sdcard_file .print("scaledX");sdcard_file.print(",");sdcard_file.print("scaledY");sdcard_file.print(",");sdcard_file.print("scaledZ");}void loop() { delay(222);digitalWrite(Groen, LOW);digitalWrite(Blauw, HIGH);if(! baro.begin()) {}float pascals =baro.getPressure();float altm =baro.getAltitude();float tempC =baro.getTemperature();//Versnellingsmeter int rawX =analogRead(A0); int rawY =analoog lezen (A1); int rawZ =analoog lezen (A2); float scaledX, scaledY, scaledZ; if (micro_is_5V) // schalingsgegevens als de spanning 5V is (het is) {scaledX =mapf (rawX, 0, 675, -scale, scale); scaledY =mapf(rawY, 0, 675, -scale, scale); scaledZ =mapf(rawZ, 0, 675, -scale, scale); } else // schalingsgegevens als de spanning 3,3 V is {scaledX =mapf (rawX, 0, 1023, -scale, scale); scaledY =mapf(rawY, 0, 1023, -scale, scale); scaledZ =mapf(rawZ, 0, 1023, -scale, scale); }//DS18B20 Tempsensors.requestTemperatures();//DS18B20 Vochtigheidssensor float h =dht.readHumidity(); float t =dht.readTemperature(); float f =dht.readTemperature(true); // Controleer of het lezen is mislukt en sluit vroeg af voor DHT als (isnan(h) || isnan(t) || isnan(f)) { return; } // Bereken warmte-index in Fahrenheit (de standaard) float hif =dht.computeHeatIndex (f, h); // Bereken warmte-index in Celsius (isFahreheit =false) float hic =dht.computeHeatIndex (t, h, false); sdcard_file.println(sensors.getTempCByIndex(0)); sdcard_file.print(","); sdcard_file.print(t); sdcard_file.print(","); sdcard_file.print(h); sdcard_file.print(","); sdcard_file.print(hic); sdcard_file.print(","); sdcard_file.print(tempC); sdcard_file.print(","); sdcard_file.print(pascal); sdcard_file.print(","); sdcard_file.print(altm); sdcard_file.print(","); sdcard_file.print(rawX); sdcard_file.print(","); sdcard_file.print(rawY); sdcard_file.print(","); sdcard_file.print(rawZ); sdcard_file.print(","); sdcard_file.print(scaledX); sdcard_file.print(","); sdcard_file.print(geschaaldY); sdcard_file.print(","); sdcard_file.print(scaledZ); sdcard_file.print(",");delay(223);sdcard_file.close();}float mapf(float x, float in_min, float in_max, float out_min, float out_max){ return (x - in_min) * (out_max - out_min) / (in_max - in_min) + out_min;} 

Daar ga je! Uw datalogger is klaar. Het moet temperatuur-, vochtigheids- en versnellingsmetergegevens lezen en op een SD-kaart loggen. Als u een hoogtemeting wilt, moet u GPS gebruiken. 90% van de op een barometrische sensor gebaseerde hoogtemeters werken niet hoger dan 30, 000 ft. Als uw ballon deze drempel overschrijdt (waarschijnlijk wel), kunt u geen barometer gebruiken. Als je de rest van de weg een geweldige gids wilt, bekijk dan deze gids en neem gerust contact met ons op via deze website. Als je ENIGE vragen hebt of als je een betere PCB wilt maken op basis van ons ontwerp. We zijn hier geen professionals in, maar we zijn bereid om zo goed mogelijk te helpen.

Reageer hieronder of neem contact met ons op als er problemen zijn, en als je dit deel van de gids leuk vond, bekijk dan ons YouTube-kanaal, laat een reactie achter en respecteer hieronder, en we raden aan om de andere paden te bekijken, voor inspiratie en coole ideeën!

Pad 3 - Je eigen PCB maken

Nu zal deze gids u NIET laten zien hoe u uw eigen PCB kunt maken. Dus voordat je verder gaat, moet je weten hoe je een PCB maakt, of leren hoe. Dit deel gaat alleen over enkele basisrichtlijnen die u kunt doornemen om ervoor te zorgen dat u geen wetten overtreedt. De geposte richtlijnen zijn voor de VS!

Eerst moet je brainstormen en opschrijven wat je uit deze vlucht wilt halen.

Hier zijn enkele dingen die bij een standaardvlucht horen:

  • Temperatuur
  • Vochtigheid
  • Hoogte
  • Luchtkwaliteit
  • Straling
  • GPS

Je kunt alles opnemen wat je wilt, maar zorg ervoor dat je alles overziet. De temperatuursensor moet kunnen lezen tot -50C (-58F), en zo nauwkeurig mogelijk zijn. Temperatuurmeting zal onnauwkeurig zijn bij zeer hoge temperaturen als gevolg van zonnestraling van de zon, dus het lijkt een beetje warmer dan het is!

U zult ook willen nadenken over hoe u dit ding kunt herstellen. Hier is een kort overzicht van uw opties. Misschien wil je hier meer over onderzoeken.

SPOT GPS-module. Deze hebben hun voor- en nadelen. Deze zijn heel gemakkelijk te gebruiken, hebben een onbeperkt bereik (ze gebruiken satellieten om coördinaten naar je telefoon te sturen), hebben een geweldige batterijduur en zijn gemakkelijk te verkrijgen. Ze zijn echter duur, werken niet ondersteboven en het signaal kan worden geblokkeerd door dikke voorwerpen.

Dit is de methode die we hebben gebruikt, maar we hebben een cardanische ophanging ontworpen en in 3D geprint om hem rechtop te houden. We raden de SPOT 3 Satellite Messenger (Amazon) aan, maar het is helemaal aan jou, zolang je dit onderzoekt en de voordelen voor de verschillende typen ziet.

2. APRS-radio. Dit zal het meest betrouwbaar zijn en je kunt er veel mee doen. Je kunt een module op een Arduino aansluiten en de radio gegevens, coördinaten, enz. terug laten sturen. Hierdoor kun je ook nauwkeurige hoogtemetingen krijgen.

Je moet een HAM-radiolicentie hebben, die je nodig hebt om een ​​test te doen, en een kleine vergoeding betalen. Deze licentie is super handig, dus het kan de moeite waard zijn. (V.S. - beperkingen kunnen verschillen afhankelijk van waar je woont).

3. Mobiele telefoon. Deze methode moet je echt niet gebruiken. Je moet niet alleen een manier bedenken om je telefoon na de vlucht uit de vliegtuigmodus te krijgen, de mobiele telefoon zelf zal waarschijnlijk duurder zijn dan een gewone SPOT. De reden dat dit op de lijst staat, is omdat veel mensen mobiele telefoons gebruiken als back-up, maar het is echt niet iets dat je zou moeten gebruiken.

Dit is een instructable die u kan helpen bij uw ontwerp. Er zijn veel beperkingen en dingen waarmee u rekening moet houden, dus neem de tijd!

Een andere ontwerpoverweging is het gewicht. Zoals vermeld in de inleiding van deze handleiding, moet uw laadvermogen lager zijn dan 12 lbs, 6 lbs of 4 lbs, afhankelijk van het type payload. U kunt ook geen barometer gebruiken voor hoogtemetingen, aangezien de meeste van hen niet verder gaan dan 30.000 ft.

De laatste overweging is macht. De temperaturen gaan super laag worden in de stratosfeer. Batterijen gaan het begeven, je Arduino heeft ook een zeer grote kans om te falen. U zult hiervoor een oplossing moeten vinden. De beste strategie is waarschijnlijk om uw datalogger in een piepschuimdoos te steken. Hierdoor blijft de temperatuur binnen zo hoog als de kamertemperatuur. Je kunt ook zonnepanelen of handwarmers overwegen.

Oke! Je hebt overal over nagedacht, dubbel gecheckt welke sensoren je wilt en alles opgeschreven. Het is tijd om het schema en de PCB te maken. Voor het schema en de print kun je een PCB-afscherming maken zoals voorheen, of een volledige printplaat. Ik laat je beslissen (aangezien je hier enige ervaring voor moet hebben).

Controleer na het bouwen van je PCB/schild ALLES om te zien of het werkt en zorg ervoor dat je de richtlijnen volgt.

Daar ga je! Uw datalogger is klaar. Het moet temperatuur-, vochtigheids- en versnellingsmetergegevens lezen en op een SD-kaart loggen. Als u een hoogtemeting wilt, moet u GPS gebruiken. 90% van de op een barometrische sensor gebaseerde hoogtemeters werken niet hoger dan 30, 000 ft. Als uw ballon deze drempel overschrijdt (waarschijnlijk wel), kunt u geen barometer gebruiken. Als je de rest van de weg een geweldige gids wilt, bekijk dan deze gids en neem gerust contact met ons op via deze website als je ENIGE vragen hebt. We zijn hier geen professionals in, maar we zijn bereid om zo goed mogelijk te helpen.

Reageer hieronder of neem contact met ons op als er problemen zijn, en als je dit deel van de gids leuk vond, bekijk dan ons YouTube-kanaal, laat een reactie achter en respecteer hieronder, en we raden aan om de andere paden te bekijken, voor inspiratie en coole ideeën!

Conclusie

Weerballonnen zijn een heel coole en eenvoudige manier om dingen naar de stratosfeer te sturen. Je kunt camera's (in ons geval een 360-camera) naar grote hoogten sturen, geweldige beelden en gegevens krijgen, zonder al te veel voorschriften. Maar één ding!

LEES DIT!!

Zorg ervoor dat u alle regels volgt, en voeg een radardeflector toe en dien een NOTAM (kennisgeving aan piloten) in voor uw vlucht. Het is heel goed mogelijk dat uw ballonlading een vliegtuig raakt en u wilt GEEN schade aanrichten of levens riskeren. Doe er alles aan om de kans op schade te verkleinen, zorg dat alles sterk is zodat je niets laat vallen. De FAA heeft hier niet veel beperkingen op. Zorg er alsjeblieft voor dat ze niet alles moeten beperken en het voor anderen verpesten door simpelweg de regels te volgen.

Hoe dan ook, ik hoop oprecht dat deze gids heeft geholpen, en we vinden het leuk om dergelijke gidsen te maken. If you want to support our club, please consider subscribing to our YouTube channel, and be sure to comment or contact us if you have any problems or questions!

Happy Arduinoing! (is that even a term?)

NM Rocketry Reviews

Aangepaste onderdelen en behuizingen

This is the .stl for the gimbal we made for the Spot Personal Tracker to keep it upright during the flight.stl file for the gimbal we used to keep the SPOT Personal Tracker Upright

Schema's

For Path 1 For reference
GitHub Repository for PCB files and Code
Use this to download Gerber file for predesigned PCB and the code for it.https://github.com/nmrocketryreviews/HADLdatalogger

Productieproces

  1. Arduino digitale dobbelstenen
  2. Multitemperatuursensor
  3. Arduino-gamecontroller
  4. MotionSense
  5. 3D-printer brandveiligheid
  6. Pixel Chaser-game
  7. IoT-meter met Arduino, Yaler en IFTTT
  8. Arduino afstotende elektromagnetische levitatie
  9. Enkele LED Matrix Arduino Flip Clock
  10. $10 draagbaar Arduino-weerstation (AWS)
  11. CoroFence - Thermische Detector🖖