Sari la conținut
ELFORUM - Forumul electronistilor

ADC MCP3201 citit cu nodemcu (esp8266)


digix

Postări Recomandate

Daca conectez IN+ la 3.3V si IN- la GND am in consola seriala valori intre 4092-4095.

 

Am vrut ceva mai stabil si am folosit o referinta de 2.5V (MCP1525) citirea devine stabila dar este 4091 in loc de 4095 cand

IN+ este conectat la Vref si IN- la GND.

 

Din datasheet MCP3201 lucreaza la frecvente intre 0.8-1.6MHz in functie de tensiunea de alimentare (2.7-5V)

Unde gresesc ?

 

Codul utilizat:

 

 

#include <SPI.h>
const int chipSelectPinADC = 15;
unsigned int result = 0;
byte inByte = 0;
void setup()
{
Serial.begin(9600);
SPI.begin();
SPI.setBitOrder(MSBFIRST);
//SPI.setClockDivider(SPI_CLOCK_DIV8);
SPI.setFrequency(800000);
pinMode(chipSelectPinADC, OUTPUT);
digitalWrite(chipSelectPinADC, HIGH);
}
void loop()
{
digitalWrite(chipSelectPinADC, LOW);
result = SPI.transfer(0x00);
result = result << 8;
inByte = SPI.transfer(0x00);
result = result | inByte;
digitalWrite(chipSelectPinADC, HIGH);
result = result >> 1;
result = result & 0b0000111111111111;
Serial.println(result);
delay(1000);
}

 

 

 

Link spre comentariu
  • Răspunsuri 36
  • Creat
  • Ultimul Răspuns

Top autori în acest subiect

Top autori în acest subiect

Imagini postate

De câte ori am lucrat cu SPI-ul problemele au venit din setarea modului corect de funcționare. MCP-ul functionează în modul 0,0 și 1,1 (din datasheet). Modul se referă la polaritatea clock-ului si faza pe care se citesc datele. Vezi să nu fie de aici. O altă posibilitate este să nu ai SPI-ul configurat corect sau conectat corect.

Link spre comentariu

Revin cu intrebari despre protectia intrarii la supratensiune.

 

Am pe intrare un divizor de tensiune format din R1=30K 0.1% si R2=10K 0.1% asta imi permite o plaja de intrare 0-10V.

Am pus un condensator 0.1uF pe intrarea ADC si am citiri fara flucuatii pentru o tensiune de intrare constanta.

Din volt in volt am comparat rezutatele cu citirile de pe un voltmetru de caliatate si diferentele sunt minore, la a 3-a zecimala.

 

Referinta mea este de 2.5V si ma gandesc sa pun un zener de 2.5V pe intrare.

M-am documentat un pic si condensatorul trebuie sa fie cu pierderi cat mai mici.

 

Ce tip de condensator ar fi cel mai potrivit ?

Cat de mult influenteaza prezenta unui zener functionarea corecta a ADC ?

Exista o alta metoda nu prea sofisticata de protectie ?

Link spre comentariu

Un condensator de tip "poliester metalizat" sau "multistrat" este foarte potrivit pentru aplicatia ta, cu conditia de a avea o tensiune de functionare mult mai mare decat tensiunea maxima prezenta la bornele sale. Povestea cu condensatorul cu pierderi cat mai mici se pune doar in cazul in care semnalul aplicat la intrare este semnal alternativ.

Pentru a doua intrebare (si cred ca si pentru a treia): http://www.avrfreaks.net/forum/using-zener-diode-adc-input-protection

Link spre comentariu

Alătură-te conversației

Poți posta acum și să te înregistrezi mai târziu. Dacă ai un cont, autentifică-te acum pentru a posta cu contul tău.
Notă: Postarea ta va necesita aprobare moderator înainte de a fi vizibilă.

Vizitator
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Răspunde la acest subiect...

×   Alipit ca text avansat.   Restituie formatare

  Doar 75 emoji sunt permise.

×   Linkul tău a fost încorporat automat.   Afișează ca link în schimb

×   Conținutul tău precedent a fost resetat.   Curăță editor

×   Nu poți lipi imagini direct. Încarcă sau inserează imagini din URL.




×
×
  • Creează nouă...

Informații Importante

Am plasat cookie-uri pe dispozitivul tău pentru a îmbunătății navigarea pe acest site. Poți modifica setările cookie, altfel considerăm că ești de acord să continui.Termeni de Utilizare si Ghidări