Cos'è ElectroYou | Login Iscriviti

ElectroYou - la comunità dei professionisti del mondo elettrico

Problema a far funzionare l'MCP4728

Progetti, interfacciamento, discussioni varie su questa piattaforma.

Moderatori: Foto UtenteMassimoB, Foto UtenteWALTERmwp, Foto Utentexyz

0
voti

[31] Re: Problema a far funzionare l'MCP4728

Messaggioda Foto Utentealien75 » 18 ott 2021, 18:17

Ho inserito il codice sopra ma ancora non funziona: rilevo col tester una tensione di 3,27 volt circa in tutti e 4
i canali.
Avatar utente
Foto Utentealien75
18 1 3 7
Stabilizzato
Stabilizzato
 
Messaggi: 425
Iscritto il: 31 lug 2011, 14:08

0
voti

[32] Re: Problema a far funzionare l'MCP4728

Messaggioda Foto UtenteGioArca67 » 18 ott 2021, 21:15

Almeno qualcosa fa...
Un passetto avanti rispetto a prima.
Dal terminale (System.println) cosa leggi?

Dopo l'ultima parentesi graffa dell'if e prima del primo mcp.setChannelValue aggiungi

Codice: Seleziona tutto
Serial.println("MCP4728 chip found");


Poi vediamo cosa dice al terminale.
Avatar utente
Foto UtenteGioArca67
3.026 4 4 9
Master
Master
 
Messaggi: 2924
Iscritto il: 12 mar 2021, 9:36

0
voti

[33] Re: Problema a far funzionare l'MCP4728

Messaggioda Foto UtenteGioArca67 » 18 ott 2021, 21:28

Posta una foto dell'accrocco in modo che si vedano bene le connessioni, se poi fai anche un diagramma sarebbe il massimo
Avatar utente
Foto UtenteGioArca67
3.026 4 4 9
Master
Master
 
Messaggi: 2924
Iscritto il: 12 mar 2021, 9:36

0
voti

[34] Re: Problema a far funzionare l'MCP4728

Messaggioda Foto Utentealien75 » 21 ott 2021, 19:10

Ecco il diagramma dell'accrocco:


Ho inserito il cdice richiesto dopo la graffa dell' if() e dal monitor seriale ottengo il seguente messaggio:
Codice: Seleziona tutto
Adafruit MCP4728 test!
Failed to find MCP4728 chip


Non ricevo il seguente messaggio:
Codice: Seleziona tutto
MCP4728 chip found
Avatar utente
Foto Utentealien75
18 1 3 7
Stabilizzato
Stabilizzato
 
Messaggi: 425
Iscritto il: 31 lug 2011, 14:08

0
voti

[35] Re: Problema a far funzionare l'MCP4728

Messaggioda Foto UtenteGioArca67 » 21 ott 2021, 19:57

Perché hai fatto il pullup a 3,3V?
Prova a togliere quelle 2 resistenze.
Avatar utente
Foto UtenteGioArca67
3.026 4 4 9
Master
Master
 
Messaggi: 2924
Iscritto il: 12 mar 2021, 9:36

0
voti

[36] Re: Problema a far funzionare l'MCP4728

Messaggioda Foto Utentealien75 » 21 ott 2021, 20:56

Ho fatto il pullup a 3,3V perché è consigliato dai datasheet dato che lo YUN lavora con uscite a 3,3V.
Lascio un vuoto al posto delle risistenze?
Avatar utente
Foto Utentealien75
18 1 3 7
Stabilizzato
Stabilizzato
 
Messaggi: 425
Iscritto il: 31 lug 2011, 14:08

2
voti

[37] Re: Problema a far funzionare l'MCP4728

Messaggioda Foto Utentepusillus » 22 ott 2021, 6:34

alien75 ha scritto:Ho fatto il pullup a 3,3V perché è consigliato dai datasheet dato che lo YUN lavora con uscite a 3,3V.

Questo non è corretto. Mi sono guardato le specifiche dello YUN ed ha un microprocessore AR9331 che lavora a 3.3v. C'è anche un ATmega32U4 che lavora a 5v ed è con esso che vengono esposti i pin I/O. Quindi I2C a 5v.

"It is not possible to access the I/O pins of the Atheros AR9331. All I/O lines are tied to the 32U4.

Each of the 20 digital i/o pins on the Yún can be used as an input or output, using pinMode(), digitalWrite(), and digitalRead() functions. They operate at 5 volt. Each pin can provide or receive a maximum of 40 mA and has an internal pull-up resistor (disconnected by default) of 20-50 kOhms. In addition, some pins have specialized functions: Serial: 0 (RX) and 1 (TX). Used to receive (RX) and transmit (TX) TTL serial data using the ATmega32U4 hardware serial capability. Note that on the Yún, the Serial class refers to USB (CDC) communication; for TTL serial on pins 0 and 1, use the Serial1 class..."

Posso suggerirti, prima di vedere se il DAC funziona, di controllate se funziona il dialogo I2C. A tal proposito potresti utilizzare un firmware I2C scanner per Arduino. Anche perché l'MCP4728 ha l'address i2c programmabile e se è stato cambiato quello di default non potrai mai stabilire una comunicazione senza conoscere il giusto address.
Avatar utente
Foto Utentepusillus
3.007 2 6 11
Expert EY
Expert EY
 
Messaggi: 947
Iscritto il: 5 mar 2016, 15:19
Località: Latina

0
voti

[38] Re: Problema a far funzionare l'MCP4728

Messaggioda Foto UtenteGioArca67 » 22 ott 2021, 10:38

Ci sono 8 possibili indirizzi... a partire da 0x60 se non ricordo male
Avatar utente
Foto UtenteGioArca67
3.026 4 4 9
Master
Master
 
Messaggi: 2924
Iscritto il: 12 mar 2021, 9:36

0
voti

[39] Re: Problema a far funzionare l'MCP4728

Messaggioda Foto Utentealien75 » 22 ott 2021, 14:51

Ecco lo schema modificato secondo le indicazioni precedenti:



ed ecco il codice dello scanner I2C:
Codice: Seleziona tutto
#include <Wire.h>

int num=0;

void setup()
{
  Wire.begin();

  Serial.begin(9600);
  Serial.println("\nI2C Scanner");
}


void loop()
{
  byte error, address;
  int nDevices;

  Serial.println("Scanning...");

  nDevices = 0;
  for(address = 1; address < 127; address++ )
  {
    // The i2c_scanner uses the return value of
    // the Write.endTransmisstion to see if
    // a device did acknowledge to the address.
    Wire.beginTransmission(address);
    error = Wire.endTransmission();

    if (error == 0)
    {
      Serial.print("I2C device found at address 0x");
      if (address<16)
        Serial.print("0");
      Serial.print(address,HEX);
      Serial.println("  !");

      nDevices++;
    }
    else if (error==4)
    {
      Serial.print("Unknow error at address 0x");
      if (address<16)
        Serial.print("0");
      Serial.println(address,HEX);
    }   
  }
  if (nDevices == 0)
  {
    Serial.println("No I2C devices found\n");
    Serial.println(num);
    ++num;
  }
  else
    Serial.println("done\n");

  delay(5000);           // wait 5 seconds for next scan
}


Ho fatto 432 scansioni dopodichè mi sono fermato ma non ho rilevato nessuna porta nel MCP4728.
Avatar utente
Foto Utentealien75
18 1 3 7
Stabilizzato
Stabilizzato
 
Messaggi: 425
Iscritto il: 31 lug 2011, 14:08

0
voti

[40] Re: Problema a far funzionare l'MCP4728

Messaggioda Foto Utentepusillus » 22 ott 2021, 15:02

I pullup ci vanno. A meno che la tua schedina non li ha già.
Avatar utente
Foto Utentepusillus
3.007 2 6 11
Expert EY
Expert EY
 
Messaggi: 947
Iscritto il: 5 mar 2016, 15:19
Località: Latina

PrecedenteProssimo

Torna a Arduino

Chi c’è in linea

Visitano il forum: Nessuno e 5 ospiti