digix Postat Iunie 14, 2017 Partajează Postat Iunie 14, 2017 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); } Citează Link spre comentariu
UDAR Postat Iunie 14, 2017 Partajează Postat Iunie 14, 2017 În DS scrie că Gain error poate ajunge până la 5LSB. Citează Link spre comentariu
digix Postat Iunie 14, 2017 Autor Partajează Postat Iunie 14, 2017 Am mai multe ADC, o sa le incerc sa vedem daca asta este explicatia. Citează Link spre comentariu
red93 Postat Iunie 14, 2017 Partajează Postat Iunie 14, 2017 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. Citează Link spre comentariu
digix Postat Iunie 15, 2017 Autor Partajează Postat Iunie 15, 2017 Am testat 4 bucati toate arata 4091. Citează Link spre comentariu
Liviu M Postat Iunie 15, 2017 Partajează Postat Iunie 15, 2017 Ai incercat si cu un clock mai lent, ca sa fii sigur ca nu e de acolo? Citează Link spre comentariu
nico_2010 Postat Iunie 15, 2017 Partajează Postat Iunie 15, 2017 Dar tensiunea de referinta ai masurat-o? Montajul este realizat pe breadboard? Citează Link spre comentariu
digix Postat Iunie 15, 2017 Autor Partajează Postat Iunie 15, 2017 Am incercat cu clock intre 0.1-1.6MHz si rezutatul este acelasi. Am masurat referinta si este ok, da este pe breadboard si aici chiar am ceva suspiciuni desi este un Wish de caliate cred ca trebuie incercat si pe un cablaj. Citează Link spre comentariu
nico_2010 Postat Iunie 15, 2017 Partajează Postat Iunie 15, 2017 Lucrul pe breadboard poate induce ciudatenii: contacte imperfecte (rezistenta diferita de zero), ring, continuitate precara (sau chiar intreruperi) pe acelasi sir de pini (mai ales pe barele de alimentare) Citează Link spre comentariu
Liviu M Postat Iunie 15, 2017 Partajează Postat Iunie 15, 2017 Nodemcu asta e cu ESP8266? Wifi-ul e activat? LE Am citit codul, nu pare activat. Citează Link spre comentariu
digix Postat Iunie 15, 2017 Autor Partajează Postat Iunie 15, 2017 Da este esp8266 dar nu vad ce legatura ar fi intre WiFi si ce citesc eu pe SPI. Folosesc nodemcu cand fac teste pentru ca are port usb,face autoreset dupa upload, mi-e mai comod dar in final softul ajunge pe un esp8266-07. Citează Link spre comentariu
Liviu M Postat Iunie 15, 2017 Partajează Postat Iunie 15, 2017 Wifi-ul consuma mult, ma gandeam la un eventual offset pe masa. Mi s-a intamplat sa vad diverse mase laund-o la plimbare din cauze de consum. LE Dar ai dreptate, sunt la capatul gresit al montajului. Nu folosesti ADC-ul din ESP. Citează Link spre comentariu
digix Postat Iunie 15, 2017 Autor Partajează Postat Iunie 15, 2017 Am mutat partea de referinta 2.5V pe alta zona din breadboard si am un 4095 curat si constant. Concluzia este ca in cazul ADC-urilor testele trebuie facute pe cablaj lipit. Va multumesc pentru sfaturi ! Citează Link spre comentariu
digix Postat Iunie 22, 2017 Autor Partajează Postat Iunie 22, 2017 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 ? Citează Link spre comentariu
nico_2010 Postat Iunie 23, 2017 Partajează Postat Iunie 23, 2017 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 Citează Link spre comentariu
Postări Recomandate
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ă.