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

Hoe de massa van de aarde te meten met Arduino

Componenten en benodigdheden

Arduino UNO
× 1
USB-A naar B-kabel
× 1
560 ohm weerstand
× 4
Weerstand 100 ohm
× 2
piëzo-elektrische sensor
× 4
IR-zender (algemeen)
× 1
IR-ontvanger (algemeen)
× 1
Draaipotentiometer (algemeen)
× 1
opamp UA741C
× 1
Broodplank (algemeen)
× 1
1.2 meter lange draden
× 1
PCB voor algemeen gebruik
× 1
tape
× 1
kartonnen vel
× 1

Apps en online services

Arduino IDE

Over dit project

Inleiding

Op een mooie dag woog ik mezelf op een weegschaal. Plotseling kwam er een gedachte bij me op:'Hoeveel zou de massa van de aarde zijn?' Laat dat apart 'Hoe kunnen we het zelfs meten?' Er is geen dergelijke weegschaal waarop de aarde kan worden geplaatst. Er moet een indirecte manier zijn om de massa van de aarde te meten. Hier presenteer ik de implementatie van zo'n indirecte methode om de massa van de aarde te meten.

Stap 1:De indirecte methode

Aan het begin van de negentiende eeuw gebruikten wetenschappers de tweede wet van Newton en de wet van de universele zwaartekracht van Newton om de massa van de aarde te meten. Deze vergelijkingen zijn respectievelijk F =ma en F=(GmM)/(r^2) (m=massa van het object, a=versnelling, G=Gravitatieconstante, M=massa van de aarde, r=straal van de aarde) . Als we g, d.w.z. versnelling als gevolg van de zwaartekracht, vervangen door de 'a' versnellingsterm en deze twee vergelijkingen combineren, krijgen we.

mg =GmM/r^2

Deze vergelijking kan worden opgelost voor M d.w.z. de massa van de aarde.

M =(gr^2)/G.

We nemen aan dat we de waarde van G en r kennen. We zullen g d.w.z. versnelling door zwaartekracht vinden met behulp van een klein experiment, waarbij arduino en een paar sensoren betrokken zijn. Ten slotte zullen we alle dingen samenvoegen om de waarde van M te vinden.

kijk naar de bijgevoegde afbeelding voor de juiste wiskundige uitdrukkingen.

Laten we beginnen met het experiment.

Stap 2:Overzicht van het experiment

(heb even geduld voor een beetje wiskunde hier zal arduino snel beginnen)

Om de versnelling als gevolg van de zwaartekracht te bepalen, moeten we iets weten dat 'vrije val' wordt genoemd, het is een beweging waarbij een lichaam/object naar beneden beweegt naar de aarde, alleen onder invloed van de zwaartekracht. Nu zijn er maar weinig wetenschappelijke termen die deze vrije val kenmerken. Dit zijn beginsnelheid, eindsnelheid, afgelegde afstand, vluchttijd en versnelling.

  • Initiële snelheid - snelheid van het vrij vallende lichaam aan het begin van de vrije val of het begin van het experiment.
  • Eindsnelheid - snelheid van het vrij vallende lichaam aan het einde van de vrije val of het einde van het experiment.
  • Afgelegde afstand - afstand afgelegd door het vrij vallende lichaam tijdens vrije val.
  • Tijd van de vlucht - tijd die nodig is om de afgelegde afstand onder vrije val af te leggen.
  • Versnelling - de snelheid waarmee het lichaam in een vrije val verandert in snelheid. Het is gelijk aan versnelling door zwaartekracht.

Nu is er een van de Newton-vergelijkingen die gaat als -

Afgelegde afstand =(beginsnelheid * vliegtijd) + (versnelling * (vliegtijd)^2)/2

Er zijn 4 variabelen in bovenstaande vergelijking, waaronder een van onze interesses, namelijk 'versnelling', van deze 4 variabelen als we er 3 weten, kunnen we de 4e resterende onbekende variabele berekenen.

We kunnen er 2 repareren  

  • Afgelegde afstand =1 meter (we laten ons object vallen vanaf 1 meter hoogte)
  • beginsnelheid =0 m/s (we beginnen ons experiment vanuit rust)

We blijven achter met 2 onbekende variabelen, dit is waar Arduino van pas komt en ons helpt bij het vinden van de vluchttijd. Om de vluchttijd nauwkeurig te bepalen, hebben we twee tijdstempels nodig:1. begin van de vlucht en 2. einde van de vlucht.

We zullen aangepaste circuits maken om deze twee tijdstempels te bepalen in stap 4, ik beschrijf het circuit om de tijdstempel te vinden voor het begin van de vlucht en in stap 5 het einde van de vlucht.

Met behulp van arduino en een paar sensoren zullen we de vluchttijd berekenen, waardoor er slechts één onbekende overblijft in de bovenstaande vergelijking, d.w.z. versnelling als gevolg van de zwaartekracht (bingoooo!!!).

Laten we onze vaste variabele waarden in de bovengenoemde vergelijking plaatsen om de vergelijking verder te vereenvoudigen.

1 =(g * (vluchttijd)^2)/2

Dus,

g =2 / (vluchttijd)^2

Details van het experiment volgen in stap 7. 

Raadpleeg bij twijfel de bijgevoegde afbeelding.

Stap 3:Dingen die we nodig hebben

Hier is de lijst met dingen die we nodig hebben voor experimenten om versnelling als gevolg van zwaartekracht te meten.

  • Elk Arduino-bord, bij voorkeur uno/duomilanve (geen specifieke reden alleen dat ik dit bord voor dit experiment heb gebruikt)
  • USB-kabel om Arduino op pc aan te sluiten
  • 560 Ohm weerstanden (4 in hoeveelheid), 100 Ohm weerstanden (2 in hoeveelheid)
  • piëzo-elektrische sensor (4 stuks)
  • Eén paar IR Tx (IR LED) en Rx (fotodiode)
  • Eén potentiometer
  • Eén opamp (zoals UA741C)
  • Eén breadboard
  • Drie draden van 1,2 meter lang
  • kleine 5cmx5cm PCB voor algemene doeleinden voor het samenstellen van IR-circuits
  • Tape
  • Kartonnen vel

Bekijk in geval van twijfel de bijgevoegde afbeeldingen.

Stap 4:Schema 1:Het IR-circuit

Dit circuit zal worden gebruikt om de starttijd van de vrije val te timen voor een object dat wordt gebruikt om 'g' te meten. Hier zijn de belangrijke punten over de bijgevoegde fritzing schematische afbeelding.

  • IR-LED wordt gebruikt in voorwaartse bias, die in deze toepassing als gewone LED fungeert, d.w.z. de IR-ontvanger-fotodiode verlicht.
  • Fotodiode wordt in omgekeerde richting gebruikt.
  • Uitgang van de kruising van kathode en weerstand is verbonden met een van de ingangsaansluitingen van de opamp.
  • Andere ingangsaansluiting van opamp is verbonden met een potentiometer die de drempelspanning bepaalt.
  • Uitgang van opamp gaat naar het Arduino-bord.

Raadpleeg de video (tijd =5m 16s) in geval van twijfel.

Stap 5:Schema 2:De piëzo-elektrische schakeling

Dit circuit zal worden gebruikt om de eindtijd van de vrije val te bepalen voor een object dat wordt gebruikt om 'g' te meten. Hier zijn de belangrijke punten over de bijgevoegde fritzing schematische afbeelding.

  • 4 piëzo-elektrische sensoren zijn aangesloten zoals weergegeven in het schema.
  • De weerstanden van 4 560 ohm zijn parallel geschakeld met de piëzo-elektrische sensoren om de spanningspiek te verminderen die wordt gegenereerd door de piëzo-elektrische sensor wanneer een vrij vallend voorwerp het oppervlak raakt.
  • Negatieve aansluiting van piëzo-elektrische sensoren is verbonden met circuitaarde.
  • Positieve aansluiting van piëzo-elektrische sensor is verbonden met analoge ingangspinnen.

Raadpleeg bij twijfel de bijgevoegde video (tijd =9m 2 sec).

Stap 6:dingen samenbrengen

Volg deze instructies om dingen in elkaar te zetten.

  • Gebruik karton om een ​​dakachtige structuur te maken en plak het op ongeveer 1,1 meter aan de muur.
  • Bevestig de IR-module naar beneden gericht op het kartonnen dak.
  • Sluit de uitgang van de opamp aan op pin nr. 4 van Arduino met behulp van een van de 1,2 m lange draden.
  • Verbind Vcc en GND van arduino naar IR-module met behulp van de rest van de 1,2 m lange draden.
  • Zorg ervoor dat de draden stevig aan de muur zijn bevestigd, de IR-module aan het kartonnen dak, de piëzo-elektrische module aan de grond net onder de IR-module.

Kijk in geval van twijfel naar de bijgevoegde afbeelding, deze is correct gemarkeerd om de montage te vergemakkelijken.

Stap 7:Details van het experiment

Met alle dingen op zijn plaats (behalve Arduino-code, besproken in stap 8), laten we de procedure van dit experiment doorlopen.

  • Plak een kleine dunne projectie bovenop het object dat voor de vrije val is gebruikt, zoals weergegeven in de afbeelding genummerd als 1.
  • Voordat we ons object verlaten om een ​​vrije val voort te zetten, houdt u het op de markering van 1 meter, zodat de projectie aan de bovenkant het licht van IR naar de fotodiode blokkeert. Zoals weergegeven in de afbeelding genummerd als 2.
  • verlaat het object zonder enige kracht uit te oefenen om het vrij te laten vallen op de piëzo-elektrische landingszone.
  • Terwijl het naar beneden valt, is er geen obstructie in het pad van IR TX en RX, wat ons het signaal geeft over het zojuist verlaten object in termen van starttijd van vrije val.
  • Terwijl het object de landingszone raakt, genereren piëzo-elektrische sensoren een gecontroleerde spanningspiek die de aankomst van het object op de hoogte stelt van de eindtijd van de vrije val.
  • Als we de eindtijd aftrekken van de starttijd, krijgen we de vliegtijd die we zullen gebruiken om de versnelling als gevolg van de zwaartekracht te berekenen, zoals we in stap 2 hebben besproken.

Stap 8:Arduino-code

Ik voeg de Arduino-code voor dit experiment toe. Code is heel eenvoudig. Raadpleeg in geval van twijfel de video waarin ik de code in detail uitleg (tijd in video =13 minuten en 35 seconden).

Stap 9:Laten we het experiment doen

De volgende dingen moeten in acht worden genomen voordat u dit experiment uitvoert.

  • Drempel van de piëzo-elektrische sensor moet correct worden ingesteld in de Arduino-code.
  • Plaats het piëzo-elektrische paneel net onder de IR-module.
  • Zorg ervoor dat je het object vanaf 1 meter laat vallen zonder enige kracht van buitenaf toe te passen.

Hier doe ik dit experiment op tijdstempel 17 minuten in de bijgevoegde video. We zullen de massa van de aarde berekenen met behulp van de resultaten, d.w.z. de vluchttijd verkregen uit dit experiment.

Stap 10:Resultaten en massa van de aarde

Na dit experiment 3 keer te hebben herhaald, kreeg ik de volgende resultaten in termen van vliegtijd.

  • 443 ms
  • 443 ms
  • 464 ms

Laten we het gemiddelde nemen.

Gemiddelde vluchttijd =450 ms

Als we deze waarde in de vergelijking vervangen om versnelling als gevolg van de zwaartekracht te verkrijgen, krijgen we een versnelling van ongeveer 9,8755 m/s2. Zoals te zien op de bijgevoegde afbeelding.

Als we tenslotte deze waarde van 'g' vervangen om de massa van de aarde te krijgen, krijgen we dat het ongeveer 6,0066 x 1024 kg is, zoals je kunt zien in de bijgevoegde afbeelding.

De werkelijke massa van de aarde volgens Google is 5,972 x 1024 kg. Ik denk dat we dichtbij kwamen.

Bedankt voor je tijd. Raadpleeg bij twijfel de video of plaats deze in de reacties. Ik help je graag verder.


Code

  • Arduino-code
Arduino-codeArduino
eenvoudige Arduino-code
const int sensorPin1 =A0;const int sensorPin2 =A1;const int sensorPin3 =A2;const int sensorPin4 =A3;const int photoPin =4;const int ledPin =13;const int drempel =110;char stringToPrint [100];int startTime,endTime;int val1,val2,val3,val4;void setup() {Serial.begin(115200); // plaats hier uw setup-code om een ​​keer uit te voeren:pinMode(ledPin,OUTPUT); pinMode(sensorPin1,INPUT); pinMode (sensorPin2, INPUT); pinMode (sensorPin3, INPUT); pinMode(sensorPin4,INPUT); pinMode(photoPin,INPUT);}void loop() {// plaats hier je hoofdcode, om herhaaldelijk uit te voeren:int start =digitalRead(photoPin); startTime =millis(); if (start ==HOOG) digitalWrite (ledPin, HOOG); while(start ==LAAG) {digitalWrite(ledPin,LOW); val1 =analoog lezen (sensorPin1); val2 =analoog lezen (sensorPin2); val3 =analoog lezen (sensorPin3); val4 =analoog lezen (sensorPin4); //sprintf(stringToPrint,"%d,%d,%d,%d",val1,val2,val3,val4); //Serial.println(stringToPrint); if((val1>=drempel) || (val2>=drempel) || (val3>=drempel) || (val4>=drempel)) { endTime =millis(); sprintf(stringToPrint,"%d ms",endTime - startTime); Serial.println(stringToPrint); digitalWrite (ledPin, HOOG); vertraging (1000); digitalWrite (ledPin, LAAG); begin =HOOG; } }}

Schema's

fritzing-schema voor IR-circuits:hardwareafbeelding fritzing-schema hardwareafbeelding

Productieproces

  1. Hoe de luchtkwaliteit op OpenSensors te meten
  2. Licht dimmen met PWM met drukknop
  3. ULTRASONE LEVITATION-machine die ARDUINO gebruikt
  4. Frequentie- en werkcyclusmeting met Arduino
  5. Vind mij
  6. Sonar met arduino en weergave op verwerkings-IDE
  7. Autoteller met Arduino + Processing + PHP
  8. De draagbare MAX30100-polssensor gebruiken met Arduino
  9. De YL-39 + YL-69 bodemvochtigheidssensor gebruiken met Arduino
  10. Een website maken die Arduino communiceert met PHP
  11. Hoe meet ik de digitale volwassenheid van mijn bedrijf?