Relay vấn đề

S

sush

Guest
chào,

Tôi gần như mới cho vi điều khiển.Tôi thực hiện dự án này nhỏ để bật và tắt một
tiếp sức bằng cách sử dụng 89c51, và Push-button.Tôi đã cài đặt cả hai chuyển đổi và tiếp sức trên port0.
và cũng có thể thêm vào điện trở pullup.Hệ thống đang hoạt động tốt, nhưng, vấn đề của tôi là,
bất cứ khi nào tôi chuyển đổi trên hệ thống chuyển tiếp các thiết bị chuyển mạch và tắt cho một phần của một
thứ hai, làm thế nào tôi có thể loại bỏ thời gian này, một trong chattering của relay?tôi đã cố gắng thêm một
condensor tại cơ sở của bóng bán dẫn, các chattering stopd nhưng khi tôi cần phải đẩy
việc chuyển sang trên hệ thống tiếp sức những mất một thời gian để chuyển về.Tôi gửi cả sơ đồ và mã, xin vui lòng giúp đỡ!

giúp đỡ tất cả sẽ được appriciated, Thanks.

Mã số:;************************************************* **************************# INCLUDE "8051EQU.INC"; bao gồm xác định trước hằng

;

;************************************************* *************************; RESET; đặt lại thói quenORG 0giờ; xác định vị trí. Thường lệ tại 00H

AJMP START; jump to START

;

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

;

; Ngắt (không được sử dụng); gián đoạn công việc tại địa điểm thích hợp

; nhớ địa điểm

ORG 03h; bên ngoài. Ngắt 0

RETI

ORG 0BH; timer 0 interrupt.

RETI

ORG 13H; bên ngoài. Gián đoạn 1

RETI

ORG 1BH; 1 giờ gián đoạn.

RETI

ORG 23giờ; nối tiếp. Cảng ngắt

RETI

ORG 25H.; Xác định vị trí bắt đầu của phần còn lại của chương trình

;

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

;

Khởi tạo:; thiết lập kiểm soát đăng ký

;

MOV TCON, # 00H

MOV TMOD, # 00H

MOV PSW, # 00H

MOV IE, # 00H; ngắt vô hiệu hóa

RET

;

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

;

START:

ACALL khởi tạo

LOOP:

JB P0.1, LOOP

HERE:

JNB P0.1, HERE; WAIT FOR KEY RELEASE

CPL P0.2

AJMP LOOP

. END

 
Bạn có thể chuyển sang các vấn đề bị trả ..
Cố gắng thêm sự chậm trễ cho cả hai vòng:

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

Ở đây:
JNB P0.1, đây
CALL Delay (≈ 50-100ms)
JNB P0.1, đây

CPL P0.2
SJMP LoopNgoài ra, kết nối 100ľF tụ 100 nF giữa đường vòng 5 V và 0V, thêm 10nF-100nF P0.1 betwwen tụ và GND ..và thử lại ..Kính trọng,
IanP

PS, nếu bạn cần một chương trình con DELAY ở đây là một ví dụ:

Thứ nhất thay thế:
MOV TMOD, # 11giờ; cả hai bộ tính giờ ở chế độ 16-bit
MOV TCON, # 00H; dừng cả timers
trong khởi tạo ..

;------------------------------------------------- -----------------------
; 0,1 THỨ HAI TRÌ HOÃN việc tốt 12 MHz SPPED
; (TR0 (50ms) TR1 (50ms)) x R7 (01) = 0,1 lần thứ hai chậm trễ
;------------------------------------------------- -----------------------
DELAY:
MOV R7, # COUNT; tải R7 cho truy cập lặp lại vòng lặp

DLOOP:
MOV TL0, # LOW (năm mươi); tải byte thấp cho 50ms
MOV TH0, # HIGH (năm mươi); tải byte cao
MOV TL1, # LOW (năm mươi); tải byte thấp cho 50ms
MOV TH1, # HIGH (năm mươi); tải byte cao

SETB TR0; bắt đầu hẹn giờ TR0 cho giây 50 milli
JNB TF0, $; đợi cho đến khi cờ TRO được thiết lập
CLR TR0; dừng TR0 timer
CLR TF0; rõ ràng TR0 cờ bit

SETB TR1; bắt đầu hẹn giờ TR0 cho giây 50 milli
JNB TF1, $; đợi cho đến khi cờ TRO được thiết lập
CLR TR1; dừng TR0 timer
CLR TR0; rõ ràng TR0 cờ bit
DJNZ R7, DLOOP; giảm và R7 kiểm tra lặp lại vòng lặp

RET

 
Tôi thực sự appritiate các u đã nỗ lực để trả lời cho câu hỏi của tôi.Trước hết không có vấn đề debounce phím.Vấn đề của tôi là, khi tôi chuyển đổi trên hệ thống (vi điều khiển) các relay kích hoạt cho một thứ hai và sau đó sẽ tắt, giúp tôi cho điều đó.

và tôi cũng đã cố gắng thêm một tụ 100uf 100 nF, tôi thậm chí đã cố gắng thêm 10uf tantali
tụ điện, một 100nf rất gần với pin 40 của 89c51 ...... nhưng không ai trong số họ làm việc ra ngoài.

 
Ghi nhớ rằng trên power-on (reset) tất cả các cổng được nạp với "FFh" những gì có nghĩa là tiếp sức sẽ được energized ngay khi bạn áp dụng quyền lực để các vi ..
Khi chỉ lệnh đầu tiên của mã của bạn thử:

CLR P0.2 ..

Kính trọng,
IanP

 
Tôi không kiểm tra xem nó là một vấn đề phần mềm.Nhưng, bạn sử dụng một transistor BC547, và bạn không nói bất cứ điều gì về loại relay bạn sử dụng.Đạt BC546/BC547/BC548 bóng bán dẫn (hfe) là người phụ thuộc của bao nhiêu giọt hiện tại từ bộ thu để emiter.Đầu tiên, cơ sở phải có điện trở 1K thấp hơn hoặc ít hơn.Tôi đề nghị thay đổi các bóng bán dẫn đến một BC337 là ổn định hơn là được ở dòng cao (lên tới 800mA).<img src="http://www.edaboard.com/images/smiles/icon_arrow.gif" alt="Arrow" border="0" />
 
Tôi không biết PIC, mciros khác tại các cảng là tristate tại POR.Nếu nói là đúng (cổng được thiết lập để 0xFF tại Port) có thể giải quyết vấn đề như:
- Loại bỏ circuitity kết nối với P0.2
- Sử dụng PNP BJT transistor như - emitter kết nối với 5 V
để tiếp thu, căn cứ vào P0.2 qua 4,7 K. Một kết thúc tiếp nối với mặt đất với diode song song (katod xuống đất)
- Thay đổi trong phần mềm như là - 0 lượng hợp lý để chuyển tiếp ON trong chương trìnhnếu các cổng được thiết lập để tristate tại POR bạn nên:
- Cắt giảm 10 kOhm kết nối giữa P0.2 và 5 V
- 10 kOhm kết nối với cơ sở BC547 và đầu kia của điện trở xuống mặt đất.

Ngoài ra, sự chậm trễ đặt lại của bạn quá dài - t ~ 100 msec.Dont biết những gì được khuyến khích cho PIC nhưng bạn có thể làm giảm giá trị tụ điện để thiết lập lại sự chậm trễ chấp nhận được.

 
nó là vấn đề với điện áp higgh xuất hiện tại cảng 8051.it là tốt hơn để ur khen logic đặt ra.
thử nó,
wth Gluck sabu

 
Kiểm tra các tập tin đính kèm.Đây là kết quả hoàn hảo cho bạn.i hoàn toàn đồng ý với Artem "" những gì nói.Phải "Ianp"???
Xin lỗi, nhưng bạn cần phải đăng nhập để xem tập tin đính kèm này

 
Hi sush:

Trường hợp của bạn là tụ điện tách?

Hope this helps.

 
Thanks Pont de Pedra để trả lời.tôi đã cố gắng đó.giá trị tụ điện nhỏ đã không giúp và nếu tôi sử dụng có giá trị cao hơn đến một sự chậm trễ trong chuyển đổi on / off của relay.

 
Tôi có nghĩa là một 100nF (ví dụ) giữa mặt đất và đóng VCC để các chân uControler.
Đó là (trong DIL gói) pin 20 (-) và pin 40 ( ), không phải ở các chân đầu ra.

Regardds.

 

Welcome to EDABoard.com

Sponsor

Back
Top