Capteurs analogiques - calculer la non-linéarité introduite par une charge ou un menu déroulant résistance (2 / 2 étapes)

Étape 2: Les maths

En fait, je travaillais à l’époque sur ce projet de girouette analogique, qui est essentiellement un potentiomètre continu avec une petite « zone morte » au nord. Au départ, le projet a été truffé de ces lectures bruyants familiers jusqu'à ce que j’ai regardé de plus près à la résistance.

Tout d’abord, j’ai tracé la courbe de résistance réelle dans Microsoft excel, qui est la résistance totale créée par la combinaison de la girouette et la charge... et je l’ai appelé « Total (R,T) ». Au début, j’ai été déçu car je ne pouvais pas voir toute la courbe du tout, donc, puis j’ai changé les deux axes à log10. Hé hop ! Je peux voir une courbe ! (La courbe bleue sur la gauche sur le schéma ci-dessus).

La résistance totale est donnée par cette formule bien connue :

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

  • où :
  • RT est la résistance totale
  • RW est la résistance de l’essuie-glace
  • RL est la résistance de charge

OK, bien - pas trop compliqué ?

Ensuite, j’ai voulu voir comment ma nouvelle courbe fantaisie regardé côte à côte avec une courbe linéaire tout droit ennuyeuse, comme si les résultats n’étaient pas en fait une courbe du tout, mais une ligne droite. La formule c’est :

RLIN = (R,w * RTMAX) / RWMAX

  • où :
  • RLIN est la résistance linéique hypothétique (la résistance « imaginaire »)
  • RW est la résistance de l’essuie-glace
  • RTMAX est la valeur maximale de la résistance totale
  • RWMAX est la valeur maximale de la résistance de l’essuie-glace

C’est bien beau, mais où allons-nous obtenir la valeur de la résistance totale de ? Je pensais vraiment que cela allait être plus facile que cela, mais alors réalisé que nous avons déjà calculé cette valeur ci-dessus, c’est juste la valeur maximale de RT . Mais juste pour clarifier, voici la formule :

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

  • ainsi, maintenant, si nous substituer à RTMAX on obtient :

RLIN = (RW * RTMAX) / RWMAX = (RW / RWMAX) * (RWMAX * RL) / (RWMAX + R,L) = (RW * RL) / (RWMAX + RL)

Maintenant, nous pouvons tracer notre linéaire « courbe » (en rouge) et voir si elle est sensiblement différente de la courbe sinueuse... et oui... aussi longtemps que nous trichons en utilisant log10, nous pouvons voir la différence. Si nous ouvrons le fichier excel, nous pouvons modifier la valeur de la résistance de charge à quelque chose de petit bêtement et obtenir quelques courbes assez fous produites.

Enfin, j’ai réalisé que nous pourrions ensuite soustraire la courbe non linéaire de la courbe linéaire et obtenir un résultat final : la linéarité non réelle, ou la « différence » entre les résultats linéaires et non linéaires. C’est la courbe joli bleue sur la droite et est donnée par :

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

Cette équation peut être encore réduite, mais l’arduino nano va déjà se battre avec certains des gros chiffres produits (nous travaillons en collaboration avec 16 bit convertisseurs a/n), donc nous avons besoin pour l’aider au long d’un petit peu.

Finalement, la formule se traduite dans le code de l’arduino :

Vous verrez que le code n’est plus « maladroit » que la formule et j’ai eu à diviser par 5 pour réduire la taille de certains des chiffres. Mais ça marche !

Si tout va bien, j’ai maintenant également prouvé non que seulement que les mathématiques peuvent être amusant mais aussi pertinent dans le monde réel ? Mais qu’ont-ils réellement tout ce travail ?

Si l'on se souvient de tout à l’heure, la résistance de la charge minimale recommandée est de 100K, mais si nous réduisons ces ohms nous pouvons faire des lectures nettement plus stable près de la zone morte. J’ai essayé beaucoup de différentes permutations et, à l’aide de la formule ci-dessus pour réduire à néant la non linéarité, j’ai fini par utiliser un super précis (+ - 0,1 %) Résistance 30K et ai toujours bonnes lectures à due Sud, qui, selon notre schéma d’excel, où se produira la plupart non-linéarité.

Articles Liés

ESP8266 ADC - capteurs analogiques

ESP8266 ADC - capteurs analogiques

ESP8266 modules ont la capacité d'effectuer de nombreuses tâches utiles. Broches GPIO peuvent être manipulées, basé sur des signaux numériques à faire toutes sortes de choses utiles.Élargi du firmware tels que les NodeMCU ont fait ces modules très fl
Commande de la Position d’un servomoteur avec un capteur analogique

Commande de la Position d’un servomoteur avec un capteur analogique

Dans ce Instructable, nous allons apprendre comment utiliser un capteur analogique pour contrôler la position d'un actionneur. Dans cet exemple, nous allons utiliser un potentiomètre, mais vous pouvez utiliser n'importe quel capteur analogique. Vous
ESP8266 ADC - capteurs analogiques multiples

ESP8266 ADC - capteurs analogiques multiples

Bien que le ESP8266 -07 et -12 seulement ont une broche d'ADC, cela ne signifie pas que vous êtes limité à un seul capteur analogique par module. Vous pouvez utiliser de nombreuses !Toutefois, afin d'utiliser plusieurs capteurs vous devrez "multiplex
Horloge de portée : capteur analogique horloge et température sur un Oscilloscope

Horloge de portée : capteur analogique horloge et température sur un Oscilloscope

Scopeclock est un matériel facile à utiliser pour rendre votre oscilloscope analogique capable de X-Y de plus utile. En utilisant cet simple à utiliser du matériel, vous pouvez convertir votre oscilloscope analogique dans une horloge de portée. Ce pr
Pi de framboise d’entrée capteur analogique à l’aide d’un MCP3008 : programme câblage/installation/basic

Pi de framboise d’entrée capteur analogique à l’aide d’un MCP3008 : programme câblage/installation/basic

Donc maintenant que nous avons acheté l'ADC MCP3008 permet d'obtenir il marche !Note : Ceci est mon premier additionner instructables donc si quelque chose est mal juste me le dire et si vous aimez mon congé de style un commentaire, aussi je suis des
Connexion d’un capteur analogique de textile à Arduino

Connexion d’un capteur analogique de textile à Arduino

Cette instructable explique comment connecter un capteur analogique à l'Arduino (dans notre cas utilisera un Lilypad).Matériel que vous aurez besoin :-un Lilypad Arduino (www.sparkfun.com)-une planche FTDI (www.sparkfun.com)-un câble USB A à mini B (
Échiquier de marqueterie non linéaire

Échiquier de marqueterie non linéaire

j'ai fait cet échiquier pour ma femme, avant que nous étions mariés, quand j'ai eu encore le temps de faire ce genre de chose !Je l'ai fait parce que mon père à l'époque avait acquis un ancien procédé de marqueterie d'un vieil ami qui père a été un a
Capteur en fonction de la surveillance des catastrophes par des alertes de Twitter !

Capteur en fonction de la surveillance des catastrophes par des alertes de Twitter !

Salut tout le monde !Je suis Geeve George un MAKER fièrement de Inde!J'ai commencé à faire à l'âge de 10 ans et mon zèle pour faire encore continue car je suis fasciné par les possibilités infinies et les possibilités qu'offre la technologie !Chapeau
Comment réparer une imprimante cassée capteur de charnière et la porte (HP Officejet J6488 All-in-One - peut-être utile pour les autres imprimantes trop)

Comment réparer une imprimante cassée capteur de charnière et la porte (HP Officejet J6488 All-in-One - peut-être utile pour les autres imprimantes trop)

Bonjour les inventeurs, il s'agit de mon premier instructable. Espérons que cela s'avère utile pour certaines personnes comme moi, qui a brisé la charnière de porte de leur imprimante hp et rendait morceau de plastique d'aucune utilité.Cela vous guid
Réparer une manette de jeu analogique PSP errant

Réparer une manette de jeu analogique PSP errant

il y a beaucoup d'endroits montrant comment corriger l'errance joysticks analogiques de PSP. La plupart de ces réparations portent sur acheter un joystick de remplacement.   J'ai trouvé à l'aide de certains alcool isopropylique (à friction alcool 90
Facile, non - MessY TShirt blanchiment avec décharge pâte

Facile, non - MessY TShirt blanchiment avec décharge pâte

ajouter photos, motifs et messages à vos vêtements avec décharge coller, une collante goo blanche que les rejets de pigment. Vous pouvez peindre sur, sur l'écran, il appose sur ou utiliser des pochoirs!! Voir mes autres instructables pour en savoir p
Comment faire pour l’humidité et capteur de température (DHT11) à Arduino en passant par DHT11 bibliothèque d’interface.

Comment faire pour l’humidité et capteur de température (DHT11) à Arduino en passant par DHT11 bibliothèque d’interface.

DTH11 comprend capteur de température et l'humidité.Composants matériels requis:-1) DTH11 Humidité et capteur de température2) Arduino UNOFils de raccordement 3)4) Bibliothèque SRDVous pouvez obtenir le capteur DTH11 fiche depuis le lien ci-dessousht
Mise en place d’un anémomètre A100LK sur un Arduino

Mise en place d’un anémomètre A100LK sur un Arduino

Tout le monde pense à installer une éolienne, ou même un troupeau entier d'éoliennes, feraient bien de surveiller le site proposé pour au moins une année entière avant de dépenser un sou de plus sur le matériel. C'est ce que le A100LK est conçu pour.
MSP430 basée Chronulator (à l’aide de la puce de Launchpad)

MSP430 basée Chronulator (à l’aide de la puce de Launchpad)

récemment, j'ai fait des expériences avec des microcontrôleurs. Un projet qui a vraiment attiré mon attention était le Chronulator à http://www.sharebrained.com. Dans le même temps, Texas Instruments a libéré kit de l'expérimentateur, appelé le Launc