• Benvenuti su RaspberryItaly!
Benvenuto ospite! Login Login con Facebook Registrati


Valutazione discussione:
  • 0 voto(i) - 0 media
  • 1
  • 2
  • 3
  • 4
  • 5

[-]
Tags
comunicazione mcp23017 problema i2c e

[Problema] Problema comunicazione i2c e mcp23017
#1
Ciao a tutti, ho un problema che non so come risolvere. In poche parole uso dei chip (mcp23017) per espandere le porte gpio, al momento ne ho 2 collegati. vi elenco i collegamenti:
vcc - 3.3v
gnd - massa
scl e sda - con i connettori specifici del raspberry
pin reset - 3.3v
pin a0/a1/a2 - uno settato tutto a massa 0x20 e uno con un pin a 3.3v e 2 a massa 0x24
Ad un chip sono collegate 2 schede relay da 8 per un totale di 16 relay (quindi un chip è usato solo per quello), l'altro lo uso per ricevere informazioni da interruttori (classici pulsanti, con resistenza di pull-up).
Dopo un po' di utilizzo però perdo il segnale, praticamente non riceve più i dati dai pulsanti e non da l'invio all'accensione dei relay... (quest'ultimi sono alimentati da un trasformatore a 5v esterno con la massa in comune).
All'inizio pensavo ad un problema dello script ma sinceramente dopo test ho visto che continua a girare senza problemi e scrivere sul db anche se i ralay non sono accesi, quindi presumo più un problema di connessione...
Spulciando in rete ho trovato varie cose... però io con elettronica e raspberry non sono così avanti e ho paura di combinare un pasticcio, vi elenco quello che ho trovato:
uno schema di questo diceva di collegare il vcc a 5v invece che a 3.3v (i chip ho visto che fino a 5v lavorano), ho paura per la storia più che dei relay dei pulsanti perché teoricamente lavora poi a 5v invece che a 3.3v, e anche vero che non andrebbero direttamente sul gpio del raspberry ma sul chip (mcp23017)... qui attendo un vostro consiglio.
Un altro schema più semplice è di mettere 2 resistenze da 4,7kohm tra sda e positivo (vcc) e tra scl e positivo (vcc), se non capito male 2 resistenze di pull-up, potrei provare come adesso ma lo schema indicava i 5v in positivo.
Se qualcuno mi può aiutare a capire qual è lo schema giusto mi farebbe un grosso favore... e capire perché perdo il segnale...
P.s.: Dimenticavo per comunicare con il chip mcp23017 uso python e la libreria wiringi
e dopo vari test ho notato che il chip che invece è destinato ad input è ancora funzionante...
se qualcuno mi consiglia anche un'altra libreria più stabile... ben venga.

grazie a tutti.
Buona giornata.
 
Risposta
#2
Non ne so quasi nulla, dovrebbe funzionare tranquillamente tra 1,8V e 5,5v.
Piuttosto, quanto sono lunghi i collegamenti tra chip e gpio? Devono essere corti. Io proverei con le resistenze di pull up.
 
Risposta
#3
Sul reset(18), se non c'è, prova a mettere una resistenza di pull-up di qualche k per limitare la corrente

Mandi

Barbezuan
 
Risposta
#4
Ciao a tutti, grazie per le risposte... pensavo ad una 4700 ohm tra sda --> vcc 3.3v e scl --> vcc 3.3v così sono sicuro che non brucio nulla  Smile .
Per il pin reset pensavo o una 10kohm o sono troppi? i cavi sono corti, sono di lunghezza standard che si trovano su internet... Comunque la notte e una mattina al lavoro portano consiglio... è mi è venuto da pensare, se i relay lavorano con corrente inversa, cioè quando il pin è high (3,3 ~ 5v) rimane spento, portandolo a low (0v) si accende. Ho pensato ma per tenerli spenti tutti e 16 consuma molta corrente... al contrario a quello destinato per gli input che non ne eroga... quindi se faccio all'incontrario??? cioè tutti low (relay attivi, i 5v li prendo a parte), inverto i cavi sul morsetto, così mi basta uno in high per spegnerlo e far funzionare tutto. teoricamente consumerebbe molto meno e forse risolvo il problema che si blocca... voi che dite? può essere? da quel che ho letto in rete il raspberry non ha questa grande potenza di corrente... vale la pena tentare.
Vi farò sapere
Ciao
Marco
 
Risposta
  


Vai al forum:


Navigazione:
Forum con nuovi Post
Forum senza nuovi post
Forum bloccato
Forum Redirect