Analoga sensorer - beräkna nunnedok infördes genom en belastning eller dra ner Resistor (2 / 2 steg)

Steg 2: Matematik



Jag var faktiskt arbetar på gång på analoga vindbommen projektet, som är i grunden en kontinuerlig potentiometer med en liten "död zon" på north. Projektet var inledningsvis plågas av de välbekanta bullriga avläsningarna tills jag tittade på motståndet närmare.

För det första, jag ritade den faktiska motstånd kurvan i Microsoft excel, som är det totala motståndet skapad av kombinationen av vindbommen och laddar... och jag kallade det "Totalt (RT)". Inledningsvis var jag besviken eftersom jag inte kunde faktiskt se varje kurva alls, så då ändrade jag båda axlarna till log10. Hey presto! Jag kan se en kurva! (Den blå kurvan till vänster i diagrammet ovan).

Det totala motståndet ges av denna välkända formel:

RT = (Rw * R L ) / (Rw + RL)

  • var:
  • RT är det totala motståndet
  • RW är wiper motståndet
  • RL är laddamotståndet

OK, så långt så bra - inte för komplicerat?

Nästa, jag ville se hur min nya tjusiga kurva såg sida vid sida med en tråkig rakt linjär kurva, precis som om resultaten inte var faktiskt en kurva på alla, men en rak linje. Formeln för detta är:

RLIN = (Rw * RTMAX) / RWMAX

  • var:
  • RLIN är hypotetiska linjära motståndet ("imaginära" motståndet)
  • RW är wiper motståndet
  • RTMAX är det maximala värdet av det totala motståndet
  • RWMAX är det maximala värdet av wiper motståndet

Detta är bra, men där kommer vi att få värdet av det totala motståndet från? Jag trodde verkligen det var kommer att bli enklare än så här, men sedan insåg att vi redan har räknat ut detta värde ovan, det är bara det maximala värdet av RT . Men bara för förtydligande, här är formeln:

RTMAX = (RWMAX * R L ) / (RWMAX + RL)

  • så, nu, om vi ersätter ut RTMAX får vi:

RLIN = (RW * RTMAX) / RWMAX = (RW / RWMAX) * (RWMAX * RL) / (RWMAX + RL) = (RW * RL) / (RWMAX + RL)

Nu vi kan rita våra linjär kurva (i rött) och se om det är märkbart skiljer sig från kurviga kurvan... och ja... så länge vi fuska genom att använda log10, kan vi se skillnaden. Om vi öppnar excel-filen, kan vi ändra värdet av belastning motståndet till något dumt litet och få några ganska galet kurvor produceras.

Slutligen, jag insåg att vi kunde sedan subtrahera icke linjära kurvan från linjära kurvan och få ett slutresultat: det faktiska icke-linearitet, eller "skillnaden" mellan linjära och icke linjära resultaten. Detta är ganska blå kurvan till höger och ges av:

RDIFF = RT - RLIN = (RW * RL) / (RW + RL) - (RW * RL) / (RWMAX + RL)

Denna ekvation kan minskas ytterligare, men den arduino nano redan kommer att kämpa med några av de stora siffrorna produceras (vi arbetar med 16-bitars ADCs), så vi måste hjälpa det längs en liten bit.

Så småningom blir formeln översatt till arduino koden:

////////////////////////////////////////////////////////////////////////////////////////////////////////
Icke-linearitet beräkningar:

load2 = laddar / 1000 * maxSensorValue;

Serial.Print ("load2 =");
Serial.println(load2);

långa loadz = load2/5;
lång sensorValuez = sensorValue/5;
lång maxSensorValuez = maxSensorValue/5;

långa en = 5 * ((sensorValuez * loadz) / (sensorValuez + loadz));
långa b = 5 * ((sensorValuez * loadz) / (maxSensorValuez + loadz));

Serial.Print ("a =");
Serial.println(a);
Serial.Print ("b =");
Serial.println(b);
outputValue = sensorValue + a - b.
//////////////////////////////////////////////////////////////////////////////////////////////////////

Här ser du att koden är mer otymplig än formeln och jag har haft att dividera med 5 för att minska storleken på några av siffrorna. Men det fungerar!

Förhoppningsvis, jag har nu också visat inte bara att matematik kan vara roligt men också relevant till den verkliga världen? Men vad allt detta arbete faktiskt uppnå?

Om vi minns från tidigare, rekommenderade minsta lasten motståndet var 100K, men om vi minskar dessa ohm kan vi göra avläsningarna avsevärt stabilare nära döda zonen. Jag försökt massor av olika varianter och med hjälp av formeln ovan för att förneka icke linearitet, slutade jag upp med en super exakt (+ - 0,1%) 30K motstånd och fortfarande har bra avläsningar på due south, som enligt vår excel-diagram är där de flesta nunnedok kommer att inträffa.

Se Steg
Relaterade Ämnen

Beräkna nuvärdet av en AA Obs obligation med en Financial Calculator

IntroduktionI den finansiella världen är ett av de mest grundläggande stegen att förstå obligationer att kunna beräkna deras värde vid varje tidpunkt under förutsättning att du har den finansiella informationen. En obligation är ett räntebärande värd...

Beräkna ljushastigheten genom handdesinfektion!

i detta projekt, vi kommer att använda Snells lag till vår fördel för att beräkna brytningsindex, och därmed rusat av ljust av med hand sanitizer medium.Steg 1: inställningar Inrätta optik kit med ray bord/bänk, laser/ljuskälla och plan-konvex fack....

Hur att beräkna axelns vikter av Standard 2-axlig 4 x 2 klass 6 lastbil

Vill du lägga till lite spänning och äventyr i ditt liv?Få ett deltidsjobb, riggning och köra en Flatbädd lastbil!Så många klass 6 lastbilar (26 000 pund högsta rättsliga vikt) på vägen drivs av dem som har en allmän klass C körkort, och bra färdregi...

Analog sensor input raspberry pi med en MCP3008: ledningar/installera/basic-program

Så nu när vi köpte kan MCP3008 ADC få det igång!Obs: Detta är min första instructables submision så om något är fel bara berätta det. och om du gillar min stil lämna en kommentar, även jag från Nederländerna så min engelska kanske inte perfekt.I dett...

ESP8266 ADC - flera analoga sensorer

Även om ESP8266 -07 och -12 endast har en ADC pin, det betyder inte att du är begränsad till endast en analog sensor per modul. Du kan använda många!Men för att kunna använda flera sensorer kommer att du behöva 'multiplex' sensorer. Multiplexering be...

Kontrollera placeringen av ett ställdon med en Analog Sensor

I detta Instructable lär vi dig att använda en analog sensor styra placeringen av ett ställdon. I det här exemplet kommer vi att använda en potentiometer, men du kan använda någon analog sensor. Du kan använda en ljussensor för att flytta ett ställdo...

Beräkna termisk prestanda av ett system för solvärme

flera personer har skrivit kommentarer om termiska egenskaperna för elementet mottagare och hur den kan förbättras. Här kommer jag att täcka vissa grundläggande termodynamiska principer som leder till mönster som kan visa bättre termisk prestanda. De...

Beräkna motstånd utan beräkning av

Du har tröttnat på kontrollera värdet av motstånd varje gång genom att använda en multimeter eller genom att skriva värdet på motståndet strip.Du skulle inte motstånd värde nästa gång. Så här är det..:)Steg 1: Låt oss göra detDe flesta motstånd har 5...

Mexikanskt... Watt?? Beräkna watt på motorer med förstärkare och Volt avläsningar.

Numera är det lätt att mäta watt till hushållsmaskiner med Kill-A-Watt meter. Dock bor i Mexiko, beställa en över gränsen skulle vara kostnadseffektivt oöverkomliga som fraktkostnader skulle vara högre än kostnaden för mätaren själv, och det är utan...

ESP8266 ADC - analoga sensorer

ESP8266 moduler har kapacitet att utföra många användbara uppgifter. GPIO stift kan manipuleras baserat på digitala signaler att göra alla möjliga praktiska saker.Utökat firmware som NodeMCU har gjort dessa moduler mycket flexibelt och har omvandlat...

Cash Flow kalkylator för att beräkna din portfölj avkastningsgraden

En Cash flow kalkylator har blivit en nödvändighet i dagens liv. Det kommer att underlätta gör en plan för både personlig och affärsekonomi. Denna kalkylator har gjort det lättare för många att förstå kassaflöde listorna. Den insikt som har gått ett...

Beräkna din Miles Per Dollar

Miles Per Gallon. Gamla hederliga.Möt MPD, eller Miles Per Dollar. MPD är mer användbar än MPG för ett par anledningar:1) det ger en realistisk känsla av vad du spenderar.2) det gör det lättare att jämföra kostnaden för fordon som använder olika ener...

Beräkna och rita kilar för en quassi halv sfär eller dome. 2D till 3D-yta

Först måste du veta att dessa instruktioner inte alla exakt. Några kurvor få approximeras av räta linjer, vissa vinklar få approximerade till rät vinkel när de faktiskt inte är. Men i slutändan får du en godtagbar semi sfär.Steg 1: Definiera storleke...

Ansluta en analog sensor textil till Arduino

Detta instructable förklarar hur du ansluter en analog sensor till Arduino (i vårt fall använder en Lilypad).Material du behöver:-en Lilypad Arduino (www.sparkfun.com)-en FTDI stiger ombord (www.sparkfun.com)-en USB A till mini B kabel (www.sparkfun....

Metod för att beräkna kvadratsumman av nummer från 1 till 125, utan att använda penna eller miniräknare.

Detta är en de mest intressanta vedisk matematik teknikerna för att lära. Det är mycket lätt att förstå och minnas. Detta hjälper dig att göra snabba beräkningar som annars är långa.Du behöver bara komma ihåg rutor av nummer från 1 till 25. Excel-fil...

Med Punnett rutor att beräkna fenotypiska sannolikheter

IntroduktionBakgrundPunnett kvadrerar är ett diagram som biologer använder för att bestämma sannolikheten för att en avkomma med en viss egenskap. Att skapa en Punnett torget och använder den för att bestämma egenskaper hos avkomma kallas utför ett k...

Beräkna effektiviteten av din DIY Stormkök etc.

Det finns många exempel på internet där människor visar deras DIY camping spisar av olika slag. Det finns många funktioner för att mäta effektiviteten av - storlek, vikt, design och så vidare. Men i detta instructable jag försöka visa hur man kan ber...

Beräkna ett företags kritiska punkten

För att starta, är den "kritiska punkten" scenen på vilken inkomst från försäljning av en produkt eller tjänst motsvarar investerade kostnaderna för denna produkt. Kort sagt, är det scenen på vilken inkomst motsvarar utgifter, vilket resulterar...

Internationella Ocean rederier – beräkna fraktkostnader

Det är inte okänt att utomeuropeiska sjöfarten är en dyr affär. Så, när du behöver dina varor skeppas över till en annan plats, du kan vara mycket nytta om du kan beräkna kostnaden för hela verksamheten. Det finns många faktorer som påverkar kostnade...