Cos'è ElectroYou | Login Iscriviti

ElectroYou - la comunità dei professionisti del mondo elettrico

16F84 e I2C ds1307 eccitare due relè ogni 60 secondi

Raccolta di codici sorgenti

Moderatore: Foto UtentePaolino

0
voti

[11] Re: 16F84 e I2C ds1307 eccitare due relè ogni 60 secondi

Messaggioda Foto UtentePaolino » 19 mar 2012, 22:15

Con IOC intendi Interrupt On Change? Non saprei, forse può funzionare. Onestamente avrei svolto un I2C andando in polling sull'input. Mi sembra di capire che il PIC sia il master, pertanto esso stesso sa bene quando si deve passare in modalità INPUT cambiando lo stato TRIS della porta SDA.

Ciao.

Paolo.
"Houston, Tranquillity Base here. The Eagle has landed." - Neil A.Armstrong

-------------------------------------------------------------

PIC Experience - http://www.picexperience.it
Avatar utente
Foto UtentePaolino
32,6k 8 12 13
G.Master EY
G.Master EY
 
Messaggi: 4226
Iscritto il: 20 gen 2006, 11:42
Località: Vigevano (PV)

0
voti

[12] Re: 16F84 e I2C ds1307 eccitare due relè ogni 60 secondi

Messaggioda Foto Utentedjdanielb » 19 mar 2012, 22:21

si ragazzi ci avviacianiamo alla soluzione.

dunque leggendo in giro ho appunto trovato che il 16F84 non gestisce direttamente I2C ( ricordate quando dicevo se andava bene questo chip ? ) bene continuando a cercare mi sono imbattuto nella soluzione che utilizza l'atmega. Il vantaggio sarebbe quello di utilizzare un chip direttamente programmabile con arduino ( non che il mio problema fosse programmare chip visto che ho un galep5 ) ma per il fatto che vi sia un compilatore già integrato. certo per fare questo devo obbligatoriamente usare il chip atmega.

in difinitiva sembra tanto malaccio questa soluzione ? il problema è semmai rivedere le uscite dei transistor poiché quelli sono messi a ponte H io invece li dovrei usare singoli per pilotare i due relè.

come rivedrei lo schema ?

infine cosa significa esattamente gestire con la PIC 16f84 via software l'I2C ? e poi con quale chip non dovrei pormi il problema poiché ci penserebbe lui (a questo punto a livello hardware ? )

grazie mille

Daniele
Avatar utente
Foto Utentedjdanielb
3 4
New entry
New entry
 
Messaggi: 93
Iscritto il: 10 mar 2010, 20:18

1
voti

[13] Re: 16F84 e I2C ds1307 eccitare due relè ogni 60 secondi

Messaggioda Foto Utentesimo85 » 19 mar 2012, 22:25

Paolino ha scritto:Con IOC intendi Interrupt On Change?

Si, io avevo pensato procedendo così:
Avatar utente
Foto Utentesimo85
30,9k 7 12 13
Disattivato su sua richiesta
 
Messaggi: 9927
Iscritto il: 30 ago 2010, 4:59

0
voti

[14] Re: 16F84 e I2C ds1307 eccitare due relè ogni 60 secondi

Messaggioda Foto UtentePaolino » 19 mar 2012, 22:26

djdanielb ha scritto:infine cosa significa esattamente gestire con la PIC 16f84 via software l'I2C ? e poi con quale chip non dovrei pormi il problema poiché ci penserebbe lui (a questo punto a livello hardware ? )


Il PIC16F84 non ha a bordo un modulo SSP in grado di gestire le comunicazioni seriali sincrone. Un PIC diverso, come il (già citato) PIC16F877, ce l'ha. Questo significa che nel primo caso dovrai essere tu a gestire completamente il protocollo, anche a livello fisico, comandando i bit del clock e i bit dei dati in uscita.
Nel secondo caso, non è che il microcontrollore farebbe tutto da sé: dovrai sempre gestire il protocollo a livello più alto, andando a scrivere comunque una buona dose di firmware.

Ciao.

Paolo.
"Houston, Tranquillity Base here. The Eagle has landed." - Neil A.Armstrong

-------------------------------------------------------------

PIC Experience - http://www.picexperience.it
Avatar utente
Foto UtentePaolino
32,6k 8 12 13
G.Master EY
G.Master EY
 
Messaggi: 4226
Iscritto il: 20 gen 2006, 11:42
Località: Vigevano (PV)

1
voti

[15] Re: 16F84 e I2C ds1307 eccitare due relè ogni 60 secondi

Messaggioda Foto UtentePaolino » 19 mar 2012, 22:31

Ah, ok [user]gohan[/user]. Ho capito. Dovrei leggere il datasheet del dispositivo DS1307 più attentamente.
Probabilmente, anziché usare IOC potrebbe essere sufficiente gestire INT0, l'interrupt sull'evento (alto o basso e non la variazione) di RB0.

Ciao.

Paolo.
"Houston, Tranquillity Base here. The Eagle has landed." - Neil A.Armstrong

-------------------------------------------------------------

PIC Experience - http://www.picexperience.it
Avatar utente
Foto UtentePaolino
32,6k 8 12 13
G.Master EY
G.Master EY
 
Messaggi: 4226
Iscritto il: 20 gen 2006, 11:42
Località: Vigevano (PV)

0
voti

[16] Re: 16F84 e I2C ds1307 eccitare due relè ogni 60 secondi

Messaggioda Foto Utentedjdanielb » 19 mar 2012, 22:56

Ora mi sono perso del tutto. L'atmel potrebbe accendere la luce in fondo al tunnel ?
Avatar utente
Foto Utentedjdanielb
3 4
New entry
New entry
 
Messaggi: 93
Iscritto il: 10 mar 2010, 20:18

0
voti

[17] Re: 16F84 e I2C ds1307 eccitare due relè ogni 60 secondi

Messaggioda Foto Utentesimo85 » 20 mar 2012, 0:33

djdanielb ha scritto:L'atmel potrebbe accendere la luce in fondo al tunnel ?

L'Atmel, intesa come azienda, penso di si, ma di quale tunnel stai parlando? ?%
Avatar utente
Foto Utentesimo85
30,9k 7 12 13
Disattivato su sua richiesta
 
Messaggi: 9927
Iscritto il: 30 ago 2010, 4:59

0
voti

[18] Re: 16F84 e I2C ds1307 eccitare due relè ogni 60 secondi

Messaggioda Foto Utentedjdanielb » 20 mar 2012, 1:54

Se guardate qui sopra c'è lo schema a "fumetto" postato da un tipo per modificarsi un classico orologio a lancette con un circuito pilota che sfruttasse uno di quei moduli con tanto di ds1307 già installato. L'idea è di usare una sorta di arduino minimalista. Il tipo ke ha postato quello schema facendo anche le sue righe di programmino. Ora però lui aveva intenzione di pilotare solo un orologio a 1,5 volt io invece ne ho tre a 24 volt per questo la soluzione dei relè. A questo punto posso usare i bc337 come nel mio primo schema pilotato dai piedini 15 e 16 ? Devo mettere anche qui la resistenza tra i piedini dell'integrato e i bc337? E se mettessi un 1n4048 al posto di ognuna delle due resistenze?


Grazie mille daniele
Avatar utente
Foto Utentedjdanielb
3 4
New entry
New entry
 
Messaggi: 93
Iscritto il: 10 mar 2010, 20:18

1
voti

[19] Re: 16F84 e I2C ds1307 eccitare due relè ogni 60 secondi

Messaggioda Foto Utentesimo85 » 20 mar 2012, 2:16

djdanielb ha scritto:Se guardate qui sopra c'è lo schema a "fumetto"

Se fossi in grado di interpretare quello schema vedresti subito che non funziona. Non capisco poi a cosa servono i transistori, che per quanto sembra, sono destinati a morire, ed il modulo in quello schema non c'è.
L'idea è di usare una sorta di arduino minimalista.

:-M
Ma non stavi parlando di PIC16F887 e PIC16F84?
A questo punto posso usare i bc337 come nel mio primo schema pilotato dai piedini 15 e 16 ?

Quello schema non funziona, tantomeno per pilotare un clock. Se vuoi pilotare un clock con un micro non ti serve nessun transistore. Il micro basta ed avanza collegando un PINx all'entrata di clock ed istruzione come
Codice: Seleziona tutto
PINx ^= 1;

all'interno di un ciclo.
E se mettessi un 1n4048 al posto di ognuna delle due resistenze?

Perché vuoi rimpiazzare delle resistenze con dei diodi? Spero che tu volessi fare riferimento agli 1N4148 perché gli 1N4048 mi sembrano un po' troppo, in ogni caso la risposta è no.
Avatar utente
Foto Utentesimo85
30,9k 7 12 13
Disattivato su sua richiesta
 
Messaggi: 9927
Iscritto il: 30 ago 2010, 4:59

0
voti

[20] Re: 16F84 e I2C ds1307 eccitare due relè ogni 60 secondi

Messaggioda Foto Utentedjdanielb » 20 mar 2012, 2:35

Dunque nello schema a fumetto di cui domani posterò il link di colui che lo ha realizzato è mancante il modulo del ds1307 che difatto genera l'orario e che l'atmel si limita ad usare solo per prendersi il riferimento del minuto e lo tramuta ofni minuto in un impulso a polarità invertita. Quel modulo è un perfetto derivato di arduino uno infatti oltre ad avere il minimo indispensabile per funzionare è programmato al suo interno con uno sketch scritto per arduino. Il codice sorgente l'ho postato subito dopo per completezza. A me questo andrebbe bene. Non dovrei sbattermi a scrivere nulla e mi dovrei preoccupare solo di usare il pin 15 e 16 per eccitate due relè. Ora alla luce di questo credo che l'idea di usare una PIC 16f84 o 877 sia superata.

Sbaglio ?

Quello schema comunque perché dite che non funziona ?

Grazie mille Daniele
Avatar utente
Foto Utentedjdanielb
3 4
New entry
New entry
 
Messaggi: 93
Iscritto il: 10 mar 2010, 20:18

PrecedenteProssimo

Torna a Firmware e programmazione

Chi c’è in linea

Visitano il forum: Nessuno e 20 ospiti