Relay problém

S

sush

Guest
nazdar,

Jsem téměř nový micro-regulátory.I tento malý projekt zapnout & z
Relé 89c51 a Push-tlačítko.Jsem nainstalovány oba switch a relé pro port0.
a také přidána pullup rezistory.Tento systém je v pořádku, ale můj problém je,
kdykoli i zapnutí systému relé zapne a vypnutí pro zlomek z
druhé, jak mohu odstranit tento čas drnčení relé?Snažil jsem se přidáním
condensor na bázi tranzistoru, je drnčení stopd ale když potřebuju, aby se snažily
switch to o systému relé trvá nějaký čas zapnutí.I'm zaslání obou diagram a kód, prosím, pomozte!

každý pomoci by appriciated, děkujeme.

Kód:;************************************************* **************************# Include "8051EQU.INC" zahrnuje předdefinované konstanty

;

;************************************************* *************************; RESETu; reset rutinní. ORG 0H; vyhledat běžné v 00h

AJMP START, skok na START

;

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

;

; Interrupts (nepoužívaný), místo přerušení rutiny ve vhodných

; paměti místa

. ORG 03h; vnější přerušení 0

Reti

. ORG 0BH; časovač 0 přerušit

Reti

. ORG 13H; vnější přerušení 1

Reti

. ORG 1BH, časovač 1 přerušení

Reti

. ORG 23h; sériového portu přeruší

Reti

. ORG 25H; vyhledat začátku zbytku programu

;

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

;

Inicializovat:; zřídit kontrolní registry

;

MOV TCON, # 00h

MOV TMOD, # 00h

MOV PSW, # 00h

MOV IE, # 00h; zakázání přerušení

RET

;

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

;

START:

ACALL Inicializovat

LOOP:

JB P0.1, LOOP

ZDE:

JNB P0.1, tady čekat na KLÍčOVÉ PROPUŠTĚNÍ

CPL P0.2

AJMP LOOP

. END

 
Můžete mít přepínač odskočit problémy ..
Zkuste přidat zpoždění pro obě smyčky:

Loop:
JB P0.1, Objeďte
CALL Zpozdit (≈ 50-100ms)
JB P0.1, Objeďte

Zde:
JNB P0.1, Zde
CALL Zpozdit (≈ 50-100ms)
JNB P0.1, Zde

CPL P0.2
SJMP ObjeďteTaké připojení 100ľF 100 nF kondenzátory obchvatu mezi 5 V a 0V, přidejte 10nF-100nF kondenzátor betwwen P0.1 a GND ..a zkuste to znovu ..Pozdravy,
IanP

PS, pokud potřebujete zpoždění podprogram zde je příklad:

Nejprve nahradit:
MOV TMOD, # 11H; oba měřiče v 16-bit módu
MOV TCON, # 00h; zastavit oba časovače
v Inicializovat ..

;------------------------------------------------- -----------------------
; 0,1 sekund rutinní AT 12 MHz SPPED
; (TR0 (50ms) TR1 (50ms)) x R7 (01) = 0,1 sekund
;------------------------------------------------- -----------------------
Odklad:
MOV R7, # COUNT; zatížení R7 pro smyčce opakovat protizáruky

DLOOP:
MOV TL0, # LOW (padesát), nízkou zátěž pro bytovou 50ms
MOV TH0, # VYSOKÝM (padesát), vysoké zatížení byte
MOV TL1, # LOW (padesát), nízkou zátěž pro bytovou 50ms
MOV TH1, # VYSOKÝM (padesát), vysoké zatížení byte

SETB TR0; start časovače TR0 pro miliekvivalentech 50 sekund
JNB TF0, $, počkejte, až TRO vlajky je nastavena
CLR TR0; zastavit měřič TR0
CLR TF0; jasné TR0 vlajky bit

SETB TR1; start časovače TR0 pro miliekvivalentech 50 sekund
JNB TF1, $, počkejte, až TRO vlajky je nastavena
CLR TR1; zastavit měřič TR0
CLR TR0; jasné TR0 vlajky bit
DJNZ R7, DLOOP; dekrementační a zkontrolujte R7 pro smyčce opakovat

RET

 
Opravdu appritiate úsilí u vzal na odpověď na mou otázku.Za prvé neexistuje žádný problém klíčové debounce.Můj problém je, když i zapnutí systému (micro-controller) relé aktivuje pro druhou a pak vypne, pomůže mi to.

a také jsem se pokusil přidání 100uf 100 nF kondenzátor, i dokonce pokusili doplnit 10uf tantalu
kondenzátor,
což je velmi blízko k 100nf pin 40 89c51 ...... ale žádný z nich zpracovala.

 
Pamatujte však, že o power-on (reset) všechny porty jsou naložené "FFh", co znamená, že relé bude napětím jakmile použije sílu na micro ..
Jako vůbec první pokyn kódu zkuste:

CLR P0.2 ..

Pozdravy,
IanP

 
I
don't zkontrolovat, zda je to softwarový problém.Ale použití tranzistoru BC547 a nemusíte říkat něco o tom, jakou jste použili relé.BC546/BC547/BC548 tranzistory zisk (hfe) jsou závislé na tom, kolik ze současných kapky kolektor na emiter.První, základní odpor musí být nižší 1K nebo méně.Doporučuji změnit tranzistor na BC337 je více stabilní zisk při vysokých proudů (až do 800 mA).<img src="http://www.edaboard.com/images/smiles/icon_arrow.gif" alt="Arrow" border="0" />
 
I dont vědět PIC, v jiných mciros porty jsou na tristate POR.Pokud je pravda, řekl (port je nastaven na 0xff na port) problém lze řešit takto:
- Zbavit se circuitity připojena k P0.2
- Použít BJT PNP tranzistor as - emitor připojen na 5 V
sběratel předávat, základna na P0.2 až 4,7 K. Dalším konce relé připojen k zemi paralelně dioda (katod na zem)
- Změny v softwaru - logický výstup 0 až Přepínací relé na programpokud porty jsou nastaveny na tristate při POR byste měli:
- Řezané 10 kOhm připojen mezi P0.2 a 5 V
- Připojení 10 kOhm na BC547
to základ a druhý konec rezistoru na zem.

Také váš reset prodlení je příliš dlouhá - t ~ 100 ms.Dont vědět, co se doporučuje pro PIC, ale ty by mohly snížit na přijatelnou hodnotu kondenzátoru reset prodlení.

 
je problém s higgh napětí jsou uvedeny v přístavu 8051.it je lepší kompliment ur ven dát logiky.
Zkuste to,
wth Gluck sabu

 
Podívejte se na přílohu.To je perfektní výsledek pro vás.i plně souhlasit s tím, co "Artem" řekl.Právo "Ianp"?
Omlouváme se, ale musíte přihlásit a prohlížet tuto přílohu

 
Ahoj sush:

Kde je vaše oddělovací kondenzátor?

Doufám, že to pomůže.

 
Díky Pont de Pedra za odpověď.Zkoušel jsem to.malé hodnoty kondenzátoru nebyly pomohl a pokud i na vyšší hodnoty tam přijde zpoždění při zapnutí / vypnutí relé.

 
I znamenalo 100nF (například) mezi vozovkou a Vcc poblíž uControler kolíků.
To je (v DIL balíček) pin 20 (-) a pin 40 ( ), nejsou v Výstupy.

Regardds.

 

Welcome to EDABoard.com

Sponsor

Back
Top