Relay problema

S

sush

Guest
salve,

Sono quasi nuovo a micro-controller.Ho fatto questo piccolo progetto per accendere
e fuori di un
relè utilizzando 89c51, e pulsante.Ho installato sia su switch e relè port0.
e ha inoltre aggiunto pullup resistenze.Il sistema sta funzionando bene, ma, il mio problema è,
ogni volta che i accendere il sistema, il relè si accende e si spegne per una frazione di
secondo, come posso eliminare questo tempo uno dei relè chiacchiere?Ho cercato di aggiungere una
condensatore alla base del transistor, la stopd chiacchiere, ma quando ho bisogno di spingere
il passaggio al sistema sul relè prende un po 'di tempo per accenderlo.Sono entrambi diagramma e l'invio di codice, please help!

ogni aiuto sarebbe appriciated, Grazie.

Codice:;************************************************* **************************# Include "8051EQU.INC"; includono costanti predefinite

;

;************************************************* *************************; RESET; reset di routine. ORG 0H; individuare routine a 00H

INIZIO AJMP; salti al INIZIO

;

;************************************************* *************************

;

; Interrupt (non utilizzato); luogo a interrompere routine del caso

; locazioni di memoria

. ORG 03H; esterni interrompere 0

RETI

. ORG 0BH; interrompere il timer 0

RETI

. ORG 13H; interrompere esterni 1

RETI

. ORG 1BH; interrompere il timer 1

RETI

. ORG 23H; porta seriale interrompere

RETI
. ORG 25H; individuare inizio del resto del programma

;

;************************************************* *************************

;

INIZIALIZZA:; istituito registri di controllo

;

TCON MOV, # 00H

MOV TMOD, # 00H

MOV PSW, # 00H

IE MOV, # 00H; disabilitare gli interrupt

RET

;

;************************************************* *************************;************************************************* *************************

;

INIZIO:

ACALL INIZIALIZZA

LOOP:

JB P0.1, LOOP

QUI:

JNB P0.1, QUI; WAIT CHIAVE PER RILASCIO

CPL P0.2

AJMP LOOP

. FINE

 
Potrebbe avere problemi di rimbalzo passare ..
Prova ad aggiungere ritardi sia loop:

Loop:
JB P0.1, Loop
CALL Delay (≈ 50-100ms)
JB P0.1, Loop

Qui:
JNB P0.1, Qui
CALL Delay (≈ 50-100ms)
JNB P0.1, Qui

CPL P0.2
SJMP LoopInoltre, collegare 100ľF
100 nF condensatori di bypass tra 5 V e 0V, aggiungere 10nF-100nF condensatori betwwen P0.1 e GND ..e riprova ..Saluti,
IanP

PS, se hai bisogno di una subroutine DELAY ecco un esempio:

In primo luogo sostituire:
MOV TMOD, # 11H; timer sia in modalità a 16 bit
TCON MOV, # 00H; fermata sia timer
in INIZIALIZZA ..

;------------------------------------------------- -----------------------
; 0,1 SECONDA ROUTINE RITARDO A 12 MHz SPPED
; (Tr0 (50ms) TR1 (50ms)) x R7 (01) = 0,1 secondi
;------------------------------------------------- -----------------------
DELAY:
MOV R7, # CONTE; carico R7 per ripetere loop counter

DLOOP:
MOV TL0, # BASSA (cinquanta); byte basso carico per 50ms
MOV TH0, # ALTA (cinquanta); carico elevato byte
MOV TL1, # BASSA (cinquanta); byte basso carico per 50ms
MOV TH1, # ALTA (cinquanta); carico elevato byte

SETB tr0; inizio tr0 timer per 50 millisecondi
JNB TF0, $; attendere TRO flag è impostato
CLR tr0; fermata timer tr0
CLR TF0; chiaro tr0 bandiera bit

SETB TR1; inizio tr0 timer per 50 millisecondi
JNB TF1, $; attendere TRO flag è impostato
CLR TR1; fermata timer tr0
CLR tr0; chiaro tr0 bandiera bit
DJNZ R7, DLOOP; decremento e controllare R7 per ripetere il ciclo

RET

 
I really appritiate e ha preso l'impegno a rispondere alla mia domanda.Prima di tutto non c'è nessun problema di debounce chiave.il mio problema è, quando i accendere il sistema di (micro-controller) il relè si attiva per un secondo e poi si spegne, help me per questo.

e ho provato anche l'aggiunta di un 100uf
100 nF condensatore, ho anche tentato di aggiungere 10uf tantalio
condensatore, un 100nF molto vicino al pin 40 della 89c51 ...... ma nessuno di loro ha lavorato fuori.

 
Tenete a mente che il power-on (reset) tutti i porti sono caricate con "FFH" che cosa significa che il relè è eccitato non appena si applica il potere di micro ..
Come la prima istruzione del vostro codice di prova:

CLR P0.2 ..

Saluti,
IanP

 
Non verificare se si tratta di un problema software.Ma, si utilizza un transistor BC547, e non si dice nulla sul tipo di relè che hai usato.BC546/BC547/BC548 transistor guadagno (HFE) sono a carico di quanta corrente scende da collettore per emiter.In primo luogo, base di resistenza deve essere inferiore 1K o meno.Raccomando che cambiano il transistor BC337 a una più stabile è il guadagno alle alte correnti (fino a 800mA).<img src="http://www.edaboard.com/images/smiles/icon_arrow.gif" alt="Arrow" border="0" />
 
I dont know PIC, in altri porti sono mciros Tristate al POR.Se ha detto è vero (porto sono fissati a 0xff porto) problema può essere risolto in quanto:
- Scartare circuitity collegato al P0.2
- Utilizzo come transistor PNP BJT - emettitore collegato a 5 V
collettore a relè, di base a 4,7 K. P0.2 attraverso
Un'altra fine del relè collegato a terra con diodo in parallelo (katod a terra)
- Cambiamenti nel software - uscita logica 0 per passare in programma relè ONse le porte sono impostate a Tristate al POR si dovrebbe:
- Taglio 10 kOhm connesso tra P0.2 e 5 V
- Connessione a 10 kOhm BC547
di base e le altre fine di resistenza a terra.

Inoltre, il ritardo di reset è troppo lunga - t ~ 100 msec.Non sa che cosa è raccomandato per PIC, ma si potrebbero diminuire condensatore valore accettabile a ripristinare immediatamente.

 
è il problema con la tensione che appare higgh presso il porto di 8051.it è meglio mettere i complimenti ur logica.
provare,
wth Gluck sabu

 
Controllare il fissaggio.Questo è il risultato perfetto per voi.Sono pienamente d'accordo a ciò che "artem" ha detto.Destra "Ianp"?
Siamo spiacenti, ma è necessario il login per visualizzare questo attaccamento

 
Hi sush:

Dove è il tuo disaccoppiamento condensatore?

Hope this helps.

 
Pont de Pedra Grazie per la risposta.che ho cercato.valore piccolo condensatore non ha aiutato e se utilizzare i valori più elevati si tratta di un ritardo nella interruttore on / off del relè.

 
Voglio dire uno 100nF (per esempio) tra terra e Vcc vicino al uControler pin.
Questo è (nel pacchetto DIL) pin 20 (-) e il pin 40 ( ), non è in uscita il pin.

Regardds.

 

Welcome to EDABoard.com

Sponsor

Back
Top