Go Down

Topic: Misuratore Ampere / Volt / Continuità per pista Slot (Read 18176 times) previous topic - next topic

Maurotec

Quote
I display funzionano su breadboard e non funzionano invece sul PCB.

Se collego display nuovi mi succede la stessa cosa.
Ok, allora su breadbord prova a scollegare un pin alla volta, quando diventa bianco lo ricolleghi e provi con gli altri.

Ci deve essere qualcosa nel PCB o nei cavetti. 

Ciao.

ricki158

Su breadboard non ho ancora avuto il tempo di provare.
Comunque ho cambiato la piattina fissata al connettore a pressione con due cavi 5 poli schermati, schermatura al GND dei display ma non cambia nulla, i display rimangono bianchi. Ho provato con questo software minimale.

Code: [Select]

#include <SPI.h>
#include <Adafruit_GFX.h>
#include <Adafruit_ST7735.h>

#define cs2 8
#define dc2 9
#define rst2 7

Adafruit_ST7735 disp2(cs2, dc2, rst2);

void print_Header_Footer(Adafruit_ST7735 *disp) {
  disp->initR(INITR_BLACKTAB);
  disp->fillScreen(ST7735_BLACK);
  disp->setTextColor(ST7735_WHITE);
  disp->setTextSize(1);
  disp->setCursor(47, 0);
  disp->println("GOSLOT");
  disp->setCursor(8, 150);
  disp->println("vMAX 22 v aMAX 50 A");
}

void setup() {

  pinMode(cs2, OUTPUT);
  pinMode(dc2, OUTPUT);
  pinMode(rst2, OUTPUT);

  print_Header_Footer(&disp2);

}

void loop() {}

Maurotec

Due sono le cose, o sono guasti i display o è guasto arduino. Oppure peggio sono guasti sia display che arduino. Ad esempio se fosse guasta la ISP di arduino? Un display lo puoi anche provare con la SPI software, mi pare cambi il costruttore da richiamare che permette di passare come argomento i pin.

Ciao.

ricki158

Sono quasi certo che sia Arduino sia i display siano ok. Per togliermi ogni dubbio devo provare tutto su breadboard ma attualmente non ho molto tempo per fare queste prove. Ma le avevo già fatte, per questo sono così sicuro.

ricki158

Con un Arduino sulla breadboard ho sistemato le resistenze ed ho fatto i collegamenti con i cavi che ho cambiato (la parte finale è un connettore a 10 pin, sui quali ho saldato i contatti dei due cavi da 6 poli (di cui 5 usati) con la calza che ho messo a GND lato display).
Avendo i due display già montati sul pannello di alluminio ho usato questo collegamento mentre per l'alimentazione ho usato un'alimentazione esterna a 5 v, le masse non le ho messe in comune. Ho fatto partire un semplice script per provare un display è quel display mi ha risposto con la "neve", come nei vecchi televisori ai quali non arrivava il segnale.
A questo punto avendo visto che una comunicazione c'era anche se non era corretta (probabilmente per il discorso masse) ho voluto provare l'alimentazione con lo stesso Arduino. Ho collegato tutto ma il display è rimasto bianco, idem l'altro montato sul pannellino. Ho poi usato altri due display che avevo di scorta nuovi e anche loro sono rimasti bianchi, sia usando i cavi schermati che usando collegamenti sulla breadboard.

Mi sembra strano che 4 display che prima funzionavano alla stessa maniera adesso si siano "bruciati". Che cosa sto sbagliando?

ricki158

I display funzionano ancora nonostante l'aver collegato due masse differenti.

Ho provato i partitori ed ho notato che quando non alimento la scheda, le resistenze sono saldate correttamente (da GND a Vin vedo la somma delle due resistenze, poi mettendomi su Vout mi metto con l'altro puntale su Vin e GND per vedere i valori delle singole resistenze) e vedo i valori corretti mentre se alimento la scheda così non succede solo per la resistenza che va a GND da Vout del MOSI. In questo caso sembra come se la resistenza non fosse stata montata.

Così ho controllato tutte le tensioni in uscita dai partitori: tutte le tensioni dei vari RST, CS, DC sono a 3.17 v (in uscita da Arduino ho 4.93 v), la tensione in uscita da MOSI è di 4.93 v (in entrata ho 4.93 v) e la tensione in uscita da CLCK è 0.15 v (in entrata ho 0.17 v).

Ho provato a ri stagnare le resistenze ma non è cambiato nulla.

Che cosa dovrei fare?

Maurotec

Quote
la tensione in uscita da MOSI è di 4.93 v (in entrata ho 4.93 v)
aiiii, dovrebbe essere attorno a 3.3V siamo lontani, questo assieme a SCK sono i canali di comunicazione da arduino verso il display.

Quote
e la tensione in uscita da CLCK è 0.15 v (in entrata ho 0.17 v).
Voglio capire se misuri con il tester la tensione di clock fornita da arduino o se hai fornito al partitore 4.93 e misurato in uscita.

Comunque li hai fatti funzionare su breadboard, sono sani?

A questo punto ti servono due circuito level shifter che puoi fare con 4 bjt NPN e un paio di resistenze, così da evitare i partitori resistivi.

Ora devo andare.

Ciao.

ricki158

Si so, il clock e la comunicazione MCU -> slave devono essere a 3.3 v esattamente come i pin di controllo di reset, cs e dc.

Io con Arduino fornisco 4.93 v e volevo abbassare a 3.3 v con un partitore 1k2 / 2k2.

All'inizio usavo delle resistenze da 1k, senza fare un partitore, però mi sono accorto che dal nulla i display perdevano la sincronia e rimanevano bianchi. Oltretutto ad un certo punto con questa configurazione i display mi rimanevano sempre bianchi, temevo di averli bruciati ma provandoli sulla breadboard non era così. La tensione in uscita dalla resistenza (tra i pin dei display e GND) era di 3.8 v, Arduino in uscita mi dava circa 5 v.

Così prima ho provato su breadboard diverse soluzioni, per esempio partitori di tensione con 1k / 1k8 oppure 1k / 1k5 e funzionavano. Così ho fatto una piccola basetta per sistemare al posto delle 6 resistenze a foro passante 6 partitori (12 resistenze) SMD, siccome non volevo farmi rifare dalla Cina tutta la scheda (con il senno di poi, con tutto il tempo perso, avrei potuto farmela rifare).
Tutte queste configurazioni mi davano circa 3.2 - 3.1 v e funzionavano su breaboard.
Nonostante i collegamenti giusti, i display continuavano a rimanere bianchi.

A questo punto sono tornato alla soluzione della semplice resistenza da 1k2 (siccome ho visto che tutti per questi display usano solo la resistenza per limitare la corrente) in SMD ma i display rimanevano bianchi. Oltre a questo, anziché usare la piattina a 10 cavi ho usato due cavi schermati, uno per display, saldati direttamente sul connettore e non bloccati a pressione come la piattina. Ma la situazione non è cambiata.
Le tensioni in questo caso erano le medesime in uscita da Arduino, 4.93 v in uscita da Arduino, 4.93 v tra i pin dei display e GND.

Ho provato i display su un'altra applicazione con Arduino dove uso lo stesso display (non su breadboard per evitare di rifare tutti i collegamenti) e i display non erano bruciati.

Adesso sto provando sulla basetta i partitori di tensione con resistenze in SMD 1k2 / 2k2 ma, a vuoto, le resistenze sono corrette e collegate correttamente, sotto tensione tutte le resistenze sono ok tranne il MOSI, dove ho il problema con la resistenza 2k2 che sembra non esserci (quindi non ho il partitore ed è giusto che mi arrivi al display 4.93 v, stessa tensione di uscita di Arduino).
Tutte le altre tensioni invece sembrano ok.

Mi sembra strano che a vuoto la resistenza c'è, mentre sotto carico non misuro nessuna resistenza.

Standardoil

Il concetto di misurare una resistenza sotto carico...
È assurdo

Non è nemmeno sbagliato
È avulso da ogni logica
Prima legge di Nelson (che sono io): Se vuoi il mio aiuto dimostrami almeno che hai letto il nostro "aiutateCi ad aiutarVi"

Non bado a studenti, che copino altrove

Tu hai problema-Io ti domando-Tu non mi rispondi: vuol dire che non ti serve più

Maurotec

Quote
ok tranne il MOSI, dove ho il problema con la resistenza 2k2 che sembra non esserci
Saldata male? solo da un lato.

Ciao.

ricki158

#295
Jun 16, 2019, 07:54 pm Last Edit: Jun 16, 2019, 08:04 pm by ricki158
Saldata male? solo da un lato.

Ciao.
Mi sembra di no. Non mi spiegherei sennò perché misurando tra GND e Vout trovo 2k2 di resistenza e misurando tra GND e Vin trovo 3k3 / 3k4. (Cioè le resistenze sono saldate e non sono bruciate)

Ho poi ripassato più volte la saldatura sia con un saldatore a punta fine per SMD, sia con l'aria calda. Il risultato è il medesimo.

Il concetto di misurare una resistenza sotto carico...
È assurdo

Non è nemmeno sbagliato
È avulso da ogni logica
Il punto non è "mi aspetto di leggere il valore della resistenza", il punto è che volevo cercare di capire come mai il partitore si comporta come se la resistenza non fosse collegata. Tutto qui.
Se tra Vout e GND misuro 4.93 v che è lo stesso valore di Vin, significa che la resistenza fra Vout e GND è aperta in qualche modo. Cosa che non mi succede invece con gli altri partitori.

Standardoil

sicuro sicuro di avere le masse in comune?
perchè quello che descrivi è semplicemnte impossibile
da qualche parte hai un errore
o hai sbagliato a misurare, o hai sbagliato a collegare
controlla la continuità tra il meno del partirore e la massa comune
comunque in prova la cosa si risolve facile facile, fai un partitore "al volo" con due resistenze normali, a cavallo sul cavo di connessione
Prima legge di Nelson (che sono io): Se vuoi il mio aiuto dimostrami almeno che hai letto il nostro "aiutateCi ad aiutarVi"

Non bado a studenti, che copino altrove

Tu hai problema-Io ti domando-Tu non mi rispondi: vuol dire che non ti serve più

Sulimarco

Quote
Se tra Vout e GND misuro 4.93 v che è lo stesso valore di Vin, significa che la resistenza fra Vout e GND è aperta in qualche modo. Cosa che non mi succede invece con gli altri partitori.
Se il partitore e' collegato correttamente significa che la tensione arriva dai display.
Prova a scollegare il filo di MOSI da Vout ai display, e misura la tensione su Vout.

Ciao
Marco

Standardoil

Ma si può vedere lo schema di sta roba?
In un formato semplice, e solo la parte che interessa, non tutto, sole connessione mcu display e alimentazioni
Prima legge di Nelson (che sono io): Se vuoi il mio aiuto dimostrami almeno che hai letto il nostro "aiutateCi ad aiutarVi"

Non bado a studenti, che copino altrove

Tu hai problema-Io ti domando-Tu non mi rispondi: vuol dire che non ti serve più

ricki158

sicuro sicuro di avere le masse in comune?
...
controlla la continuità tra il meno del partirore e la massa comune
Si, le masse in comune le ho. Ho provato la continuità ed è ok.

Ho provato poi la continuità tra GND e Vout e tra GND e Vin.

Per i partitori che io ritengo funzionino, tra GND e Vout ho un valore di continuità di 1800, mentre tra GND e Vin ho un valore di 800.

Per il clock e il MOSI invece, tra GND e Vout ho un valore di 800 e tra GND e Vin non ho nessun valore.

Go Up