Orologio con TM1637

Buongiorno a tutti
ho realizzato un orologio con Arduino Iot33 e display a led TM1637 seguendo il video del mitico Paolo Aliverti.
E fin qui tutto bene, l’orologio funziona benissimo, non richiede pulsanti di aggiustamento né batteria tampone in quanto via wi-fi riceve l’ora esatta dalla rete e si ripristina in caso di mancata alimentazione.
L’inghippo dal quale non riesco ad uscire è il segnale in multiplexer preso dal TM1637 con il quale devo alimentare un display di strisce led tipiche a 12 Volt assorbimento di circa 0,1 Ampere per segmento totale con tutti i segmenti accesi (7x4=28) siamo per eccesso a 3 Ampere. L’alimentazione è separata da quella di 3,3 Volt di arduino con alimentatore da 12v e massa in comune. Ne ho provate di tutte (transistor di ogni tipo, fotoaccoppiatori e quant’altro), ho anche fritto un Iot33 per un ritorno di 12 Volt, ma non ne esco.
Qualche gentile anima mi può dare un consiglio?
Grazie

Uno schema elettrico di quanto hai realizzato fino ad ora, sarebbe l'ideale per ragionare su qualcosa di concreto.

1 Like

Grazie per la risposta,
allego foto del tutto sperando di non essere troppo invasivo



Il display fatto con le strisce da descrizione è a catodo comune, mentre il TM richiede un display ad anodo comune.
Riepilogando per il TM1637:
ABCDEFGH sono anodi posti in comune con gli altri 3 digit.
K1÷K4 sono catodi.

Mentre nel display con le strisce:
ABCDEFGH sono catodi in comune con gli altri 3 digit.
A1÷A4 sono anodi.

Ciao.

I display ad anodo comune hanno gli anodi di tutti i segmenti di ogni cifra collegati insieme. Più cifre hanno i catodi dei segmenti con lo stesso nome parallelati, mentre gli anodi vengono pilotati separatamente per fare la scansione.
https://www.ne555.it/guida-arduino-display-7-segmenti/

Risulta anche a te quanto ho scritto?
Se si, bene.
Stavo pensando di usare 293d per i 4 anodi e potrà comandarli in PWM.
Mentre per i catodi A÷H un ULN2803/04.

Poi c'è da capire che tensione esce dal TM sui 14 pin (A÷H anodi e G1÷G6 i catodi).

Ciao.

Ma per trasformare un catodo comune in un anodo comune non basta collegare alle uscite di catodo un pnp di potenza a open collector e alle uscite di anodo un corrispondente npn?

Le uscite di segmento erano anodi e adesso catodi e viceversa

Tra l'altro il viceversa vale anche tra anodo comune e catodo comune

Buongiorno, grazie per l'interessamento.
Maurotec il display in foto è ad anodo comune esattamente come le uscite del TM1637.
Nello schema ho disegnato dei led, la pista rossa è l'anodo (non ho segnato il +). Comunque le prove le ho fatte con una basetta a led, vedi foto, e funziona.
Le strisce sono normali strip da 10 cm l'una complete di resistenze e non ci sono componenti attivi.

Quindi il tuo problema è il booster di corrente per i catodi
E lo stesso per gli anodi (a 12 volt)?

Infatti anche io non capisco dalle immagini.. ma c'è un driver per pilotare questi led?

Non ho controllato il datasheet, ma 100mA per segmento mi sembrano troppo per il povero TM1637

grazie per le risposte.
Salvorhardin hai centrato il problema.
appena mi arriva un TM1637 nuovo (l'altro l'ho fritto insieme al Iot33) vi faccio vedere i led del prototipo funzionante. A quanto pare ce la fa a pilotarli!
Maurotec la tensione che esce dal TM1637 si aggira sui 0.8 volt ma essendo un treno di onde quadre col multimetro non ho misure esatte, lo provo con l'oscilloscopio e ti dirò.
Buona giornata

Se lo trovi in inglese posta il link, perché per adesso ho solo tradotto parzialmente il datasheet dal cinese all'inglese.

Due traduzioni fatte al volo:

* GRID1÷GRID6  10÷15 Bit output, P tube open drain output
* SG1÷SG8        2÷9  Segment output (also used as key scan)
, N tube open drain output.

Quindi il display con le strisce è compatibile poiché 1,2,3,4 sono anodi, e A÷H sono catodi.
Per i catodi ULN2803/4 dovrebbe andare bene.
Per i 4 anodi avevo pensato di usare il 293D che però non è open drain.

Nota che SG1÷SG8 c'è un treno di impulsi usato per la lettura dei pulsanti.
Questo treno è alla fine del multiplex cioè dopo che SG6 da high diventa low.

Ancora non ho capito gli 8 livelli di luminosità come sono attuati, presumo che su GR1÷GR6 ci sia un generatore di corrente costante configurabile con 8 livelli.

Ciao.

Questo lo avevi trovato: TM1637_V2.4_EN.pdf (648.9 KB) ???

Guglielmo

No con il multimetro non capisce nulla, serve l'oscilloscopio per misurare che tensione c'è tra GND e GR1. Ci potrebbe essere un impulso di ampiezza minima (livello 1) di circa 1.8V e poi open drain e quindi serve un pull-down. Se è così allora su SG1÷SG8 ci sono impulsi GND e open drain e qui servono 8 pull-up.

PS: tutte ipotesi da verificare.

Ciao.

Massimo 50mA per i segmenti, 200mA per gli anodi comuni.

No, senno non mi sarei messo a tradurlo.
Comunque sto chip mi piace sempre meno.
Mi pare di capire che sui segmenti VO = 0.3V e poi open drain. Se SG1 lo collego all'ingresso di ULN2804 con pull-up l'output di ULN risulta invertita per cui mi serve un invertitore.

Ciao.

Io leggo 200mA sink current
Dice google:
Lavandino di corrente 200mA

Magari in italiano
Assorbimento massimo da piedini low 200mA
Se assorbono sono catodi (elettrodo negativo)
Se è più degli anodi è perche sono raggruppati (comuni)
E quindi i display sono a catodo comune

Edit

A causa di una mia pessima interpretazione di una vecchia versione del datasheet le cose che ho scritto qui sono farlocche

SG1~SG8 Output (segment) 2-9 Segment Output (also keyboard scan) and N-channel open drain output:
catodi degli 8 segmenti verso massa.

GRID6~GRID1 Output (bit) 10-15 Bit output and P-channel open drain output:
anodi di 8 cifre verso +V.

1、 Limit parameter (Ta = 25℃, Vss = 0 V)
LED and SEG drive sink current IO1 50 mA
LED and GRID drive source current IO2 200 mA

3、Electrical character (Ta = -40 - +85℃, VDD = 4.5 - 5.5 V, Vss = 0 V)
SEG drive sink (CATODI) current IOL1 20 30 50 mA SEG1~SEG8.
GRID drive source (ANODI) current: Ioh1 80 120 180 mA GRID1~GRID6

Quindi 15mA da ciascun catodo a massa, a cui corrispondono 175mA sull'anodo di un display che indichi '8' (7 segmenti illuminati).

Fino a qui ringrazio tutti per l'impegno.
Per ora sono fermo a non capirci una mazza.
Se riesco a metterlo insieme va in giardino per vedere le ore a grande distanza.
Vi inviterò per una grigliata.

1 Like

Lasciamo stare

Mi sono accorto che sulla mia copia del data sheet c'è pure scritto "n-tubes" invece che "n-channel"

Deve essere una versione molto pre-print
E anche pre giri di bozza