Buongiorno a tutti.
Sto realizzando una centralina con Microcontrollore PIC 16F877A in grado di pilotarmi delle elettrovalvole dell'acqua (come una centralina di irrigazione). Ho utilizzato tutta la PORT-A e PORT-E come uscite per queste valvole, collegandole al PIC mediante interfaccia a rele (di cui posto lo schema).
Le uscite sono in logica invertita ( uscita PIC=0 volt --> Relè = eccitato).
Il problema è che quando piloto la valvola collegata al piedino RA3 (RA3=0 volt), dopo qualche secondo, la tensione sul piedino RA4 comincia a calare, ed inevitabilmente il relè comincia ad eccitarsi.
So che RA4 è una uscita open-drain, quindi ho previsto una resistenza di pull-up su questa uscita.
La scheda su cui è alloggiato il uC è connessa alla scheda relè mediante connettori molex con fili saldati lunghi 10/15cm.
Nello schema allegato, EV7 è il punto in cui si collega il connettore molex al uC
Qualcuno è in grado di darmi qualche dritta indicandomi dove possa essere il problema ?
Mille grazie
Interfaccia Rele microcontrollore PIC
Moderatori:
carloc,
g.schgor,
BrunoValente,
IsidoroKZ
6 messaggi
• Pagina 1 di 1
0
voti
- Allegati
-
- sch_rele.png (34.83 KiB) Osservato 4597 volte
-

overflow86
0 2 - Messaggi: 4
- Iscritto il: 13 mar 2012, 23:27
1
voti
Hai provato ad utilizzare la PortB invece della PortA? Hai disabilitato i comparatori CMCON = 0x07 ?
Penso che gia' conosca il datasheet di riferimento http://ww1.microchip.com/downloads/en/d ... 39582b.pdf
Se ridisegnassi lo schema in Fidocad e fossi piu' preciso sul bit della porta (PA3, PA4 ?) forse sarebbe piu' semplice aiutarti. Che IDE usi? Quarzo esterno, e se si a quanti MHz? Puoi disegnare lo schema completo con il microcontrollore? Alimentazione a quanto e da dove arriva?
p.s. anche vedere il codice non sarebbe una brutta idea
Penso che gia' conosca il datasheet di riferimento http://ww1.microchip.com/downloads/en/d ... 39582b.pdf
Se ridisegnassi lo schema in Fidocad e fossi piu' preciso sul bit della porta (PA3, PA4 ?) forse sarebbe piu' semplice aiutarti. Che IDE usi? Quarzo esterno, e se si a quanti MHz? Puoi disegnare lo schema completo con il microcontrollore? Alimentazione a quanto e da dove arriva?
p.s. anche vedere il codice non sarebbe una brutta idea

-

rusty
4.075 2 9 11 - Utente disattivato per decisione dell'amministrazione proprietaria del sito
- Messaggi: 1578
- Iscritto il: 25 gen 2009, 13:10
0
voti
Grazie mille per l'interesse.
Allora,
il uC utilizza un quarzo esterno a 4Mhz
Ho previsto una scheda separata che genera alimentazione 5Vdc e 24Vdc da un trasformatore 230/24/12 (con secondari 24 V e 12V indipendenti). Il 24Vdc lo utilizzo solamente per comandare i rele.
In allegato trovi tutti gli schemi delle varie schedine.
Purtroppo non ho la possibilità di provare sulla PORT-B in quanto ho già realizzato lo stampato, e la PORT-B è utilizzata per il DB del display LCD.
quando comando EV3 (cioè RA3=0), l'uscita RA4 (che deve essere a 5V) mi si abbassa a 4,8V e anche meno, e il BJT va in conduzione e mi eccita il rele.
Ieri, facendo delle prove, ho scollegato la scheda ad interfaccia a rele, ma la tensione si abbassa lo stesso a 4,8V. Puo' essere che la resistenza di pull-up su RA4,indispensabile in quanto open-drain, nel mio caso non vada bene a 10KOhm?
Nel software ho disabilitato sia i comparatori CMCON, sia la possibilità di utilizzare la PORT-A come analogica ADCON1=0x06.
MPLAB 8.50
Sotto trovi il listato relativo alla config. hardware. Il programma è lunghissimo, non mi sembra il caso di postarlo tutto.
Grazie nuovamente.
Allora,
Quarzo esterno, e se si a quanti MHz?
il uC utilizza un quarzo esterno a 4Mhz
Alimentazione a quanto e da dove arriva?
Ho previsto una scheda separata che genera alimentazione 5Vdc e 24Vdc da un trasformatore 230/24/12 (con secondari 24 V e 12V indipendenti). Il 24Vdc lo utilizzo solamente per comandare i rele.
In allegato trovi tutti gli schemi delle varie schedine.
Hai provato ad utilizzare la PortB invece della PortA?
Purtroppo non ho la possibilità di provare sulla PORT-B in quanto ho già realizzato lo stampato, e la PORT-B è utilizzata per il DB del display LCD.
e fossi piu' preciso sul bit della porta (PA3, PA4 ?) forse sarebbe piu' semplice aiutarti.
quando comando EV3 (cioè RA3=0), l'uscita RA4 (che deve essere a 5V) mi si abbassa a 4,8V e anche meno, e il BJT va in conduzione e mi eccita il rele.
Ieri, facendo delle prove, ho scollegato la scheda ad interfaccia a rele, ma la tensione si abbassa lo stesso a 4,8V. Puo' essere che la resistenza di pull-up su RA4,indispensabile in quanto open-drain, nel mio caso non vada bene a 10KOhm?
Hai disabilitato i comparatori CMCON = 0x07 ?
Nel software ho disabilitato sia i comparatori CMCON, sia la possibilità di utilizzare la PORT-A come analogica ADCON1=0x06.
Che IDE usi?
MPLAB 8.50
Sotto trovi il listato relativo alla config. hardware. Il programma è lunghissimo, non mi sembra il caso di postarlo tutto.
- Codice: Seleziona tutto
;*************************************************************************************
inizializza_hw_pic
;Inizializza le porte del PIC
BANKSEL OPTION_REG
bsf OPTION_REG,7 ;RBPU Disabilito resistenze di pull-up interne sulla portaB
BANKSEL ADCON1
movlw 0x06
movwf ADCON1 ;La portA è definita come digitale e non come analogica
movlw 0x07
movwf CMCON
;*************************
BANKSEL TRISA ;*
movlw b'00000000' ;* --> Uscite per Elettrovalvole
movwf TRISA ;*
;*************************
BANKSEL TRISB ;*
movlw b'01111111' ;* --> Ingressi
movwf TRISB ;*
;*************************
BANKSEL TRISC ;*
movlw b'00000000' ;* --> BUS I2C e Controllo per LCD
movwf TRISC ;*
;*************************
BANKSEL TRISD ;*
movlw b'00000000' ;* --> DB per display LCD
movwf TRISD ;*
;*************************
BANKSEL TRISE ;*
movlw b'00000000' ;* --> Uscite per Elettrovalvole
movwf TRISE ;*
;*************************
BANK0
return
;*************************************************************************************
Grazie nuovamente.
Ultima modifica di
simo85 il 11 ott 2012, 17:45, modificato 1 volta in totale.
Motivazione: inserita immagine in linea. Gli schemi si fanno con FIDOCAD.
Motivazione: inserita immagine in linea. Gli schemi si fanno con FIDOCAD.
-

overflow86
0 2 - Messaggi: 4
- Iscritto il: 13 mar 2012, 23:27
1
voti
Ho visto un po' tutto, praticamente l'interfaccia per le elettrovalvole è sempre la stessa replicata per ogni valvola. Il problema si presenta SOLO su RA4 e SOLO SE agisci su RA3? Agendo su altri pin della portA si abbassa la tensione a 4.8 e si attiva il rele' della EV4?
In ogni caso, puoi provare a far salire un pochino la soglia dell'ingresso alla base del BJT della EV3, portando la resistenza R45 a 22k o 47k, ed inoltre "forzare" un po' piu' ai 5V l'uscita RA4 portando la resistenza di pull-up R99 a 1k.
Prova con queste modifiche e dimmi come va la commutazione.
In ogni caso, puoi provare a far salire un pochino la soglia dell'ingresso alla base del BJT della EV3, portando la resistenza R45 a 22k o 47k, ed inoltre "forzare" un po' piu' ai 5V l'uscita RA4 portando la resistenza di pull-up R99 a 1k.
Prova con queste modifiche e dimmi come va la commutazione.
-

rusty
4.075 2 9 11 - Utente disattivato per decisione dell'amministrazione proprietaria del sito
- Messaggi: 1578
- Iscritto il: 25 gen 2009, 13:10
0
voti
rusty ha scritto:Il problema si presenta SOLO su RA4 e SOLO SE agisci su RA3? Agendo su altri pin della portA si abbassa la tensione a 4.8 e si attiva il rele' della EV4?
Si, il problema si presenta solo su RA4 agendo su RA3.
rusty ha scritto:In ogni caso, puoi provare a far salire un pochino la soglia dell'ingresso alla base del BJT della EV3, portando la resistenza R45 a 22k o 47k
Cosa vuol dire "far salire un pochino la soglia dell'ingresso alla base del BJT" ?
Comunque aumentando la resistenza di base, non avrei piu' a corrente sufficiente su Ic (Ic=Ib*hFE) per pilotare il fotoaccoppiatore
rusty ha scritto:ed inoltre "forzare" un po' piu' ai 5 V l'uscita RA4 portando la resistenza di pull-up R99 a 1k.
Ho provato a sostituire la R99 con una da 1kohm ed effettivamente la tensione rimane stabile.
Ora faccio una serie di prove per vedere se la situazione rimane stabile.
Come si può calcolare il valore di questa resistenza ?
Mille grazie ancora.
-

overflow86
0 2 - Messaggi: 4
- Iscritto il: 13 mar 2012, 23:27
6 messaggi
• Pagina 1 di 1
Chi c’è in linea
Visitano il forum: Nessuno e 45 ospiti

Elettrotecnica e non solo (admin)
Un gatto tra gli elettroni (IsidoroKZ)
Esperienza e simulazioni (g.schgor)
Moleskine di un idraulico (RenzoDF)
Il Blog di ElectroYou (webmaster)
Idee microcontrollate (TardoFreak)
PICcoli grandi PICMicro (Paolino)
Il blog elettrico di carloc (carloc)
DirtEYblooog (dirtydeeds)
Di tutto... un po' (jordan20)
AK47 (lillo)
Esperienze elettroniche (marco438)
Telecomunicazioni musicali (clavicordo)
Automazione ed Elettronica (gustavo)
Direttive per la sicurezza (ErnestoCappelletti)
EYnfo dall'Alaska (mir)
Apriamo il quadro! (attilio)
H7-25 (asdf)
Passione Elettrica (massimob)
Elettroni a spasso (guidob)
Bloguerra (guerra)