Analoga vindbommen med Auto ställa in (7 / 8 steg)

Steg 7: Ladda motstånd icke-linearitet beräkningar



Bara för att bevisa att matematik kan faktiskt vara roligt ska jag berätta hur jag upptäckte icke-linearitet justering formeln genom diagram.

Inledningsvis jag anges inte för att upptäcka formeln - jag ville bara visualisera icke linearitet skapad av belastning motståndet (även känd som en "dra" resistor). Jag ville försöka isolera kurva och tomt det som ett diagram i Microsoft excel.

För det första, jag ritade den faktiska kurvan, som är totalen motstånd 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 följande 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 verkligen fast detta 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 söt blus 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 kommer redan att kämpa med några av de stora siffrorna produceras, så vi måste hjälpa den längs lite.

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.

Se Steg
Relaterade Ämnen

Min version av The Dunkis UMP 45 med auto återställa pin dra

Hej alla, jag inte har skrivit något nyligen på grund av sommaren grejer. Jag äntligen fick tillbaka till min knex idag och mindes att The Dunkis hade ville ha någon att göra en realistisk lager och bokföra den. Så gjorde jag. Jag ändrade också vissa...

Hur du tar analoga bilder med en CRT-skärm

detta är inte ett skämt! Du kan verkligen ta kristallklara analoga bilder med några gamla CRT-skärm! Det finns inga komplicerade kabeldragning krävs, denna omvandling bokstavligen tar dig 5 minuter! Följ bara avhandlingar eazes instuctables för att g...

Michiels Knex Wii Wheel med Auto-centrering (V1)

också kolla in min andra Instructables:-Min Knex Wii Zapper:-Min Knex slaget Bot:-Min Knex Rubberband Gun med Ammo:-Min Knex Shell utmatning pistol:Detta är min Knex Wii Wheel med Auto-centrering. Detta innebär att när du vrider ratten, det kommer au...

Orange Pi en Analog enheter med MCP3008 via SPI

Här är hur du använder analoga enheter med din Orange Pi en.Dessa enheter är utformade för att arbeta med en Arduino, eftersom den har analoga ingångar men med en MCP3008 analog till digital omvandlare chip, kan vi använda dessa på Pi.För närvarande...

Bil-spänning meter, analog version (med "smart" bakgrundsbelysning)

Ursprungligen jag gjorde 7-segment spänning mätaren, men solen gjorde det svårt att läsa. Tänkte för att göra analog version med smart bakgrundsbelysning; färgen växlar när över eller under spänning situation uppstår. Spänning mätare berättar om det...

Att bli av med auto-dim på en klockradio

en av mina bugbears har varit auto-dim på min klockradio: du vet, det som orsakar displayen för att tona ned när det är mörkt så det inte hålla sovande vaken. Problemet är att min syn är ganska dålig så om jag vaknar i mörkret klockans display är så...

En USB till seriell Adapter för TTL (CP2102) mod till program Arduino Pro Mini som FTDI styrelsen med Auto-reset

Denna USB till seriell TTL styrelsen baserat på CP2102 chip, är lätt tillgängliga på eBay. Och det kan användas för att programmera Arduino Pro Mini och andra som inte har USB ombord. Men det är inte lika bekvämt som FTDI styrelsen säljs av spark kul...

Actobotics 48 tum kanal reglaget med Auto Reverse & Speed Controller

2014 byggde jag den Servocity.com's Actobotics kanal reglaget för användning med intervallfotografering. Den ursprungliga bygget kan hittas via följande länkar:Reglaget byggaMed hjälp av skjutreglagetLägga till redskap reduciton och reläInstrucatable...

16mm Bluetooth + 6/9 DOF gyroskop Wearable styrelsen tala till telefon och programmering med öppen källa redskapen

Du är förmodligen nog av stor volym Arduino validering prototyp och vill du hoppa till nästa steg--bygga en mini/micro storlek riktiga kläder.Dock bränner verktyg som AD att designa din egen PCB kan vara knepigt och iterationer som pengar och tid, es...

Jakobs stege med Auto spole

här är en enkel enkel sa jag enkelt projekt som du kan göra för halloween eller bara cool att ha liggandes i din lab eller butik.Perfekt för experiment och enkla enkla enkla och billiga att göra.Nu gjorde jag provenheten som jag gjorde min plasma skä...

Knex Pocket-pistol med auto-lock trigger (auto-lock tillval)

27 bitar av knex = 1 knex pocket-pistol. Det kanske inte är det mest kraftfulla knex vapnet men det fungerar. Jag hoppas du gillar bygga och använda pistolen:) (min 1st instructable :) x 2) (nästan alla bilder har en anteckning)Steg 1: De delar du be...

Glas Martini nattlampa med Auto ljus känsla

en enkel hacka en ljus sensing LED night light att skapa en suave nattlampaIngredienser:GlasflaskaMartiniglasserveringsbrickakrossat glas (ta en promenad på den vilda sidan och hitta en plats där folk bryter in i bilar ofta)3-6 lysdioder (om du vill...

Pointilist Edge Lit kort med Auto On/Off Switch

Flera månader tillbaka, ville jag skicka ett tackkort till folk på instructables HQ för att jag umgås med dem under Maker Faire. Jag visste att ett köpta kort bara inte skulle göra, så mitt sinne omedelbart vände sig till den kanten lit kort skapad a...

PSEUDO VIOLIN med AUTO plocka

INTRO- gör ett stränginstrument [exempel: ukulele] till en fiol ljud med en enkel liten motor i en dag.Den enhet som beskrivs här är ett plocka kopplad till en liten batteridriven motor och monterad på en Uku av Mistic [se-"Hur man gör en mini-Uku, d...

Spela med knivar - hålla barn ha roligt på en Restaraunt

B.O.R.E.D och hungrig.Restaurang väntar med 4 barn!Chefen kommer ut att säga de backas upp och kommer ut inom kort... vad han menar är blir det ytterligare 30 minuter.Så är här del där vi börjar att leka med knivar.Snälla... de är smör knivar och oft...

Linkit one-Visa alla analoga data med hjälp av mobil WIFI hotspot

Så ser för i mikro-controller projekt vi sensor värdena i LCD och LED-skärmar. Dess lite tråkig och mycket komplicerat att löda ledningarna och kolla. Så med hjälp av länken det en mycket lätt att Visa sensorn värden och resultat i mobil med wifi hot...

Arduino Nano: Enkel SSD1306 I2C OLED Analog Display med Visuino

OLED-displayer är några av de coolaste och mest avancerade moduler som du kan använda i din Arduino projekt. De kommer i liten formfaktorn, och har mycket låg strömförbrukning samtidigt som den levererar ljusa levande färger. Några av de billigaste o...

BlueTooth-länk med auto-detect & ansluter

detta kommer att sprida ett sätt att automatiskt upptäcka och skapa en länk med BlueTooth, detta är ett sätt för en "master" modul att upptäcka en [kända] "slav" modul genom att använda Arduino och BlueSmirf BlueTooth.II används BlueSm...

Återställa en Windows 7-lösenord med en återställa Disk

ibland kan vi vara slarvigt glömt lösenord i Windows 7. Det kan vara svårt om vi inte har ett Windows-lösenord återställa disken. Om förhoppningsvis vi hade återställa förutseende nog att skapa ett lösenord skivan. Det skulle vara en enkel sak. Windo...