Chống Rung Cho Nút Bấm (Push Button) - Dien Tu Viet Nam

  • Đăng ký hoặc đăng nhập
    • Logging in... Ghi Nhớ? Ðăng Nhập Forgot password or user name? hoặc Đăng ký
    • Log in with Facebook
  • Nếu đây là lần đầu tiên đến với Điện Tử Việt Nam, bạn có thể đọc phần Hỏi đáp bằng cách nhấn vào liên kết. Có thể bạn cần đăng kí trước khi có thể gửi bài . Để bắt đầu xem bài viết, chọn diễn đàn bạn muốn thăm dưới đây.
Thông báo Collapse No announcement yet. Chống rung cho nút bấm (Push Button) Collapse X Collapse
  • Bài viết
  • Hoạt động gần đây
  • Tìm kiếm
  • Trang of 2
  • Lọc
  • Giờ All Time hôm nay Last Week Last Month
  • Show All Discussions only Photos only Videos only Links only Polls only Events only
Filtered by: Clear All new posts Trước 1 2 template Next
  • noisepic noisepic Thành viên chính thức
    • Tham gia: Jul 2005
    • Bài viết: 113
    • Share
    • Tweet
    #1

    Chống rung cho nút bấm (Push Button)

    30-08-2005, 12:02 Khi làm việc với nút bấm phải đề phòng hiện tượng rung. Cái này thì ai cũng biết. Hình vẽ Để chống rung có thể giải quyết bằng phần mềm..sử dụng trễ thời gian. Nhưng bộ nhớ VDK có hạn nên trong các ứng dụng lớn thì ta phải tiết kiệm bộ nhớ cho VDK của mình. Có thể dùng con IC chống rung MC14490 có 6 lối vào nút bấm và 6 lối ra tương ứng. Nguyên lý hoạt động của nó bằng cách phát hiện nút được bấm và giữ trạng thái đó trong một khoảng thời gian mà hiện tượng rung vẫn xảy ra.Ta có thể điều chỉnh thời gian này bằng tụ điện lắp ngoài. Thay đổi giá trị tụ điện.. tương ứng với thay đổi thời gian trễ. Con IC này hay thiệt! Xem chi tiết hơn .. http://www.onsemi.com/pub/Collateral/MC14490-D.PDF Đây có phải là cách dùng dao bầu cắt tiết muỗi không nhỉ? Attached Files
    • Click image for larger version    Name:	chongrung.jpg  Views:	10231  Size:	39.1 KB  ID:	1402713
    Learn more... Tags: None
  • TuxHero TuxHero Thành viên chính thức
    • Tham gia: Jul 2005
    • Bài viết: 73
    • Share
    • Tweet
    #2 20-09-2005, 20:54 Tui thấy tốt hơn hết là chống rung bằng phần cứng. Ngoài IC trên có thể làm một mạch 2 IC NAND để chống run cực tốt Sống và làm việc theo gương Bác Hồ vĩ đại

    Comment

    Gửi bài viết Huỷ bỏ
  • noisepic noisepic Thành viên chính thức
    • Tham gia: Jul 2005
    • Bài viết: 113
    • Share
    • Tweet
    #3 28-09-2005, 20:01 Bác Tux hero nói rõ thêm một chút..về cách chống rung dùng 2 con NAND đi! Xin lỗi các bác nếu câu hỏi này của em "gà" quá! Learn more...

    Comment

    Gửi bài viết Huỷ bỏ
  • DTTD DTTD Thành viên mới
    • Tham gia: Oct 2005
    • Bài viết: 15
    • Share
    • Tweet
    #4 18-10-2005, 09:48 Dùng mạch đa hài đơn ổn. Học thầy không tày học bạn.

    Comment

    Gửi bài viết Huỷ bỏ
  • queduong queduong Moderator
    • Tham gia: Jul 2005
    • Bài viết: 6781
    • Share
    • Tweet
    #5 21-10-2005, 14:53 Dùng chổng rung: Phần cứng ( sao không thử dùng luôn flip flop cho nó được việc ). Nên dùng bằng phần mềm : nếu bạn dùng trễ để kiểm tra ---> kiểm tra nhiều vòng thì chống rung tốt nhưng tốn bộ nhớ. Nên dùng vòng lặp có ngắt ---> thoát khỏi chương trình kiểm tra để giữ trạng thái. Lấy ví dụ điển hình : Thiết kế chức năng Flip Flop trên vi điều khiển khi ấn một nút ( hoặc nối chân xuống mass) thì sẽ xuất ra một đầu tương ứng. +++ giải quyết : như vậy nếu dùng trễ để kiểm tra : vòng trễ kiểm tra ngắn bạn sẽ gặp phải hiện tượng đầu ra sẽ có xung nhấp nháy theo thời gian trễ, nếu vòng kiểm tra nhiều sẽ ít bị hiện tượng hơn nhưng cũng không thể bằng con Flip flop nguyên bản được. Tôi có đề xuất là sau khi thời gian bấm và nhả thay vì ta bắt mức ta sẽ bắt sườn của nó có được không ??? tuy nó khó hơn nhung chắc là tốt hơn bắt mức. --- Một ví dụ cơ bản : ( rất sơ sài nhưng đủ minh chứng cho việc bắt mức ). Ai có phương pháp bắt sườn tốt hơn xin cho ý kiến. // Flip-Flop Fullduplex chanel. #include<reg51.h> #define LED P1 sbit up=P3^2; sbit down=P3^3; /*Digits: 1:0xF9, 2:0xA4; 3:0xB0, 4:0x99, 5:0x92, 6:0x82, 7:0xF8, 8:0x80, 9:0x90, 0:0xC0 clear:0xFF*/ char digits[]={0xc0, 0xf9, 0xa4, 0xb0, 0x99, 0x92, 0x82, 0xf8, 0x80, 0x90}; char i; void delay(unsigned char n) { unsigned char j; for(j=0;j<n;j++) { TMOD=0x01; TL0=0x3C; TH0=0xAF; TR0=1; while(!TF0); TR0=0; TF0=0; }} void tang() { if(up==0) {LED=digits[i++];} delay(10); if(i>9) {i=0;} } void giam() { if(down==0) {LED=digits[i]-1;} delay(10); if(i<0) {i=9;} } main() { i=0; LED=digits[i]; while(1) { tang(); giam(); }} Module RF chuyên dụng điều khiển, truyền dữ liệu, thiết kế đề tài, dự án điện tử - chuyển giao công nghệ... ĐT: 0904964977 - email: dientuqueduong@yahoo.com
    • 2 yêu thích

    Comment

    Gửi bài viết Huỷ bỏ
  • hvh hvh Thành viên chính thức
    • Tham gia: Nov 2005
    • Bài viết: 34
    • Share
    • Tweet
    #6 21-11-2005, 17:40 chống rung bằng phần mềm hơn nhiều chứ, chẳng phải lắp thêm cái gì sất lại còn có thể phân biệt nút bấm nháy hay là nút bị giữ nữa : để làm nhiều lệnh trên 1 nút duy nhất Tôi quét phím trong Interrupt (dùng timer) như sau ví dụ chu kỳ ngắt là 50 ms void INT_timer0(void) ...... { if(!button) // bấm nút , button là 1 bít ứng với 1 cổng vào nào đó vd P1^0 { t_push ++; // tăng biến đếm } if((pushed ^ button) && !button && t_push <15) // bam nut và nhả ngay { // lam cái gì đó khi nút bị bấm rồi nhả ngay t_push=0; } if( t_push > 15 ) // giu nut quá 15 x 50 ms = 750 ms { t_push = 0; // xoa biến đếm // làm cái gì đó khi nut bị giữ quá 750 ms } pushed = button; // quet trang tai nut bam, luu vào biến pushed // tiếp tục }
    • 2 yêu thích

    Comment

    Gửi bài viết Huỷ bỏ
  • XXX XXX Thành viên mới
    • Tham gia: Nov 2005
    • Bài viết: 2
    • Share
    • Tweet
    #7 24-11-2005, 21:09 cách chống rung bằng phần mền và dùng ngắt là cách rất hay vì không chiếm toàn bộ thời lượng của vxl mà lại khá dễ và tiết kiệm.các bạn thử nghiên cứu kỹ xem

    Comment

    Gửi bài viết Huỷ bỏ
  • tact tact Thành viên mới
    • Tham gia: Sep 2005
    • Bài viết: 25
    • Share
    • Tweet
    #8 28-11-2005, 14:16 Nguyên văn bởi XXX cách chống rung bằng phần mền và dùng ngắt là cách rất hay vì không chiếm toàn bộ thời lượng của vxl mà lại khá dễ và tiết kiệm.các bạn thử nghiên cứu kỹ xem Các bác làm phím nghe có vẻ mệt nhỉ nếu bác Quế Dương quét phím & chống rung như thế thì sẽ quét ổn định theo khoảng thời gian(dùng Timer) Nếu dùng chống rung bằng phần cứng thì quá vất vả, tốn tiền, thiết kế mạch phức tạp Các bác hãy tự thiết kế lấy 1 cái phím mà ấn 1 phím, nó sinh ra 1 ngắt ngoài khi ngắt ngoài thực hiện => (phím ấn ) trễ (chống rung), button=(đọc cổng) các bác thấy đơn giản không ? " Con người nhờ có ước mơ mà trở nên vĩ đại" -----------------------------------------------

    Comment

    Gửi bài viết Huỷ bỏ
  • quynh quynh Thành viên tích cực
    • Tham gia: Sep 2005
    • Bài viết: 118
    • Share
    • Tweet
    #9 08-12-2005, 14:31 Lúc đầu mới tập tành về VDK,làm 1 cái công tắc để điều khiển sáng tắt cho 1 con led,khi ấn lần đầu led sáng, ấn lần thứ hai led tắt,loay hoay mãi cũng không được. Cũng biết là phải chống rung cho công tắc,nhưng chuyển thành phần mềm thì không đúng.Thực ra chỉ như thế này thôi. ............ led=tắt; if (công tắc = ấn) { delay(200); led=!led;//đổi trạng thái của led:sáng->tắt, tắt->sáng. while(công tắc chưa được thả ra) delay(20);//sau khi công tắc được khống ấn nữa, trễ 1 khoảng thời gian } Lúc ấn công tắc, hoặc lúc công tắc được nhả ra,đây là khoảng thời gian quá độ chuyển trạng thái mức logic của chân được nối với công tắc đó,chúng ta phải tạo ra 1 khoảng thời gian trễ(Ơ vd trên là 20ms) để xác lập hoàn toàn mức logic. Trong vd trên khi công tắc ấn và được giữ thì VDK không làm được việc gì khác, tuy nhiên khi ta soạn thảo 1 văn bản và ấn và giữ phím A chẳng hạn, 1 loạt chữ A sẽ xuất hiện. Cách này khác với cách chúng ta làm ở trên.Vậy người ta làm việc đó như thế nào?. Các bạn thử nghĩ xem nhé. Thế giới quả là rộng lớn, và có rất nhiều việc phải làm.

    Comment

    Gửi bài viết Huỷ bỏ
  • tam1234 tam1234 Thành viên tích cực
    • Tham gia: Jul 2005
    • Bài viết: 233
    • Share
    • Tweet
    #10 24-12-2005, 11:05 Re bác thử cách này xem: Đọc khoãng 10 lần coi thử phát hiện bao nhiêu lần phím nhấn nếu khoãng 6-7 lần thì có thể OK rồi. Có thể thay đổi các con số cho phù hợp với thực tế.

    Comment

    Gửi bài viết Huỷ bỏ
  • cuteolenpho cuteolenpho Thành viên chính thức
    • Tham gia: Oct 2005
    • Bài viết: 96
    • Share
    • Tweet
    #11 24-12-2005, 12:14 Nguyên văn bởi qmk Rốt cục cũng chưa ai đưa ra cách quét phím hay cả. Các bác chịu khó đọc sách thêm chứ. Các bác bàn gì ghê vậy.Nếu chỉ muốn chống rung thôi thì chỉ cần làm vài vòng lặp là OK rồi (ko dùng Timer,ngắt gì thêm cho mệt). Sách Vi điều khiển 8051 của Tống Văn On có chương trình mẫu mà chả ai chịu đọc hết.

    Comment

    Gửi bài viết Huỷ bỏ
  • quynh quynh Thành viên tích cực
    • Tham gia: Sep 2005
    • Bài viết: 118
    • Share
    • Tweet
    #12 24-12-2005, 13:12 Nguyên văn bởi cuteolenpho Sách Vi điều khiển 8051 của Tống Văn On có chương trình mẫu mà chả ai chịu đọc hết. Làm gì có. Chỉ có thuật toán thôi. Thế giới quả là rộng lớn, và có rất nhiều việc phải làm.

    Comment

    Gửi bài viết Huỷ bỏ
  • cuteolenpho cuteolenpho Thành viên chính thức
    • Tham gia: Oct 2005
    • Bài viết: 96
    • Share
    • Tweet
    #13 24-12-2005, 22:51 Nguyên văn bởi quynh Làm gì có. Chỉ có thuật toán thôi. Có đấy bạn, nếu tớ nhớ ko nhầm thì nó nằm trong phần giao tiếp ma trận phím Hex. Xem đoạn chương trình IN_HEX,đoạn này thực hiện việc chống nảy cả việc nhấn và nhả phím luôn( tớ đã xài nhiều loại chống nảy phím như dùng : timer, cổng NAND ,... nhưng thích nhất loại này,nếu giao tiếp phím đơn thì chỉ dùng kiểu này thôi).

    Comment

    Gửi bài viết Huỷ bỏ
  • minh_luandt minh_luandt Thành viên mới
    • Tham gia: Feb 2008
    • Bài viết: 6
    • Share
    • Tweet
    #14 05-04-2009, 08:32 Code chống nảy phím nè while(1) { value2 = porta & 1; if(value1 == 1 && value2 == 0) { save = save + 1; } value1 = value2; if(save % 2 == 1) { portb = 0xff; delay_ms(n); portb = 0; delay_ms(n); } } |

    Comment

    Gửi bài viết Huỷ bỏ
  • acdn90 acdn90 Thành viên mới
    • Tham gia: Aug 2010
    • Bài viết: 13
    • Share
    • Tweet
    #15 02-03-2011, 21:48 Nhờ các pro giải thích dùm em mạch chống dội này ak. Em không hiểu cho lắm. Thanks! http://cB0.upanh.com/19.573.26422239.e9q0/untitled.png

    Comment

    Gửi bài viết Huỷ bỏ
Trước 1 2 template Next Về tác giả Collapse noisepic Tìm hiểu thêm về noisepic Bài viết mới nhất Collapse
  • thetung Trả lời cho Hỏi cách điều chế xung bởi thetung Bạn cho qua cái Tờ ri gơ Sờ mít ấy ......
    • Channel: Kỹ thuật điện tử tương tự
    16-12-2024, 11:26
  • nguyendinhvan Trả lời cho Hỏi cách điều chế xung bởi nguyendinhvan Có gì mà khó ? Răn cưa vuông đây ...
    • Channel: Kỹ thuật điện tử tương tự
    15-12-2024, 23:36
  • ndp62 Trả lời cho hỏi về tụ điện bởi ndp62 Chữ " VENT" không phải là tên hãng sx tụ đâu ,vó thế là 1 ký hiệu liên quan tụ lowesr ?
    • Channel: Điện thanh
    15-12-2024, 18:24
  • bqviet Trả lời cho Thắc mắc về nguồn tổ ong 12v bởi bqviet Trừ trường hợp công suất (rất) thấp, hầu như tất cả các loại nguồn xung thông thường đều có tụ nhỏ 1 - 10nF nối giữa sơ cấp và thứ cấp, để thoát nhiễu và để chống hiện tượng tương tự tĩnh điện. Vụ này đã thảo luận vài...
    • Channel: Điện tử dành cho người mới bắt đầu
    14-12-2024, 22:02
  • namlangnho Trả lời cho Thắc mắc về nguồn tổ ong 12v bởi namlangnho E thử 3 cái nguồn nó đều giống nhau. Nên e làm tiếp địa luôn.
    • Channel: Điện tử dành cho người mới bắt đầu
    14-12-2024, 19:58
  • mèomướp Trả lời cho Thắc mắc về nguồn tổ ong 12v bởi mèomướp Dạ chú sắm con át chống giật và thay nguồn tổ ong khác cho an toàn ạ. Đa phần nguồn xung đều xả nhiễu của bên thứ cấp về điện lưới qua 1 con tụ nên cảm giác tê sẽ khó xác định rõ ràng là do rò điện hay là nó vốn vậy...
    • Channel: Điện tử dành cho người mới bắt đầu
    14-12-2024, 18:51
  • namlangnho Thắc mắc về nguồn tổ ong 12v bởi namlangnho Xin chào mọi người. E có sử dụng 1 cục nguồn tổ ong 12v-30A chạy đèn led xe trà sữa. Mà thợ thi công bị rò điện nên điện rò ra khung xe. E dùng đồng hồ đo điện ở khung xe và cả output thì thấy có dòng điện xoay chiều hơn 100v. Nên chạm...
    • Channel: Điện tử dành cho người mới bắt đầu
    14-12-2024, 00:12
  • Manh.n.tr Hỏi cách điều chế xung bởi Manh.n.tr Các bác cho em hỏi cách điều chế xung răng cưa sang xung vuông với ạ. Em đang thấy khó ạ...
    • Channel: Kỹ thuật điện tử tương tự
    13-12-2024, 20:46
  • Hatruong1309 Trả lời cho hỏi về thiết kế mạch tuần tự trên proteus bởi Hatruong1309
    • Channel: Hỗ trợ học tập
    12-12-2024, 00:33
  • Hatruong1309 hỏi về thiết kế mạch tuần tự trên proteus bởi Hatruong1309 Cho e hỏi là phần chân X thì nối cái j thì mạch mới chạy được ạ và kiểm tra đúng sai kiểu j ạ Đề bài thiết kế mạch dãy đồng bộ nhận biết dãy tín hiệu vào ở dạng nhị phân được đưa liên tiếp ở đầu vào X và được đồng... 1 Photo
    • Channel: Hỗ trợ học tập
    12-12-2024, 00:33
Xem toàn bộ Copyright © 2000-2024 Dientuvietnam.net. Founded by BinhAnh. Developed by R&P. All rights reserved. Forum software powered by vBulletin® Copyright © 2024 vBulletin Solutions, Inc. All rights reserved. Múi giờ GMT+7. Trang này được tạo vào lúc 23:44. Đang tải... Ðồng ý Không OK OK Huỷ bỏ X

Từ khóa » Chống Nhiễu Nút Nhấn Arduino