PIC Vietnam

Go Back   PIC Vietnam > Microchip PIC > Cơ bản về vi điều khiển và PIC

Tài trợ cho PIC Vietnam
Trang chủ Đăng Kí Hỏi/Ðáp Thành Viên Lịch Bài Trong Ngày Vi điều khiển

Cơ bản về vi điều khiển và PIC Những bài hướng dẫn cơ bản nhất để làm quen với vi điều khiển PIC

Trả lời
 
Ðiều Chỉnh Xếp Bài
Old 01-06-2007, 03:09 AM   #1
minhquan1910
Nhập môn đệ tử
 
Tham gia ngày: May 2007
Bài gửi: 9
:
Xin cho hỏi về vấn đề chống nhiễu cho Pic

hiện tại mình có ráp 1 mạch sau ( hình đính kèm ) .
Sơ này là dùng pic để điều khiển relay . đóng mở nguồn cho 1 motor 220v AC .

. tại cặp chân nguồn 5 v cấp cho pic và relay có mắc 1 tụ 2200 uF , 1 tụ 104 p . ( mình khôg vẽ ở đây )

.phần lập trình :

- mờ máy . chờ 1s . cấp mức 1 tại chân portb.0 - đóng relay . cho con pic đếm từ 00 đến 255 . mỗi mức đếm chờ 0,5 s .
- đến 255 . chân portb.0 là 0 - mở relay . chờ 2s
- chương trình cứ tiếp tục như vậy .

vấn đề phát sinh mà mình cần hỏi là : khi đóng relay . hoàn toàn không vấn đề gì , motor 220v AC vẫn quay bình thường . đến khi relay mở ( motor ngưng quay ) thì Pic lại bị reset lại . mình nghĩ không biết có phải do motor hay không . mặc dù motor ở cách xa con pic đến 3 m . lại có thêm 1 bức tường ngăn giữa . chỉ có pic và relay nằm gần nhau thôi .

bạn nào có thể giúp mình vấn đề này được không ? xin cảm ơn nhiều . có cách nào chống nhiễu được hiện tượng này không ? ngoại trừ cách bọc kim con pic ?
Hình Kèm Theo
File Type: gif untitled.GIF (26.8 KB, 177 lần tải)
minhquan1910 vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 01-06-2007, 04:27 AM   #2
namqn
Trưởng lão PIC bang
 
Tham gia ngày: Feb 2006
Nơi Cư Ngụ: Tp. HCM, Việt Nam
Bài gửi: 3,025
:
Send a message via Yahoo to namqn
Trích:
Nguyên văn bởi minhquan1910 View Post
hiện tại mình có ráp 1 mạch sau ( hình đính kèm ) .
Sơ này là dùng pic để điều khiển relay . đóng mở nguồn cho 1 motor 220v AC .

. tại cặp chân nguồn 5 v cấp cho pic và relay có mắc 1 tụ 2200 uF , 1 tụ 104 p . ( mình khôg vẽ ở đây )

.phần lập trình :

- mờ máy . chờ 1s . cấp mức 1 tại chân portb.0 - đóng relay . cho con pic đếm từ 00 đến 255 . mỗi mức đếm chờ 0,5 s .
- đến 255 . chân portb.0 là 0 - mở relay . chờ 2s
- chương trình cứ tiếp tục như vậy .

vấn đề phát sinh mà mình cần hỏi là : khi đóng relay . hoàn toàn không vấn đề gì , motor 220v AC vẫn quay bình thường . đến khi relay mở ( motor ngưng quay ) thì Pic lại bị reset lại . mình nghĩ không biết có phải do motor hay không . mặc dù motor ở cách xa con pic đến 3 m . lại có thêm 1 bức tường ngăn giữa . chỉ có pic và relay nằm gần nhau thôi .

bạn nào có thể giúp mình vấn đề này được không ? xin cảm ơn nhiều . có cách nào chống nhiễu được hiện tượng này không ? ngoại trừ cách bọc kim con pic ?
Bạn đã thử bọc kim cho PIC chưa, cách làm đó có giải quyết được vấn đề không?

Hai đầu cuộn dây của relay bạn chỉ mắc một tụ 10 uF thì không đủ, mà tụ đó là loại gì, điện giải hay tantalum?

Tiếp điểm của relay khi đóng ngắt sẽ phát sinh tia lửa điện, nó sẽ cảm ứng vào cuộn dây relay của bạn. Bạn nên tìm cách cách ly nguồn của PIC và nguồn cho cuộn dây của relay.

Thân,
__________________
Biển học mênh mông, sức người có hạn.

Đang gặp vấn đề cần được giúp đỡ? Hãy dành ra vài phút đọc luồng sau:
http://www.picvietnam.com/forum/showthread.php?t=1263
namqn vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 01-06-2007, 07:00 AM   #3
Mecha
Trưởng lão PIC bang
 
Mecha's Avatar
 
Tham gia ngày: Dec 2005
Bài gửi: 315
:
Thực hiện nối đất đúng quy tắc cũng giúp giảm nhiễu rất tốt. Mình lấy ví dụ PLC. Thông thường sẽ phải có tủ điện không thì cũng phải cái hộp. Nối chân đất thật của PLC với tủ điện, sau đó nối đất tủ điện.
__________________
Sống là động nhưng lòng luôn bất động,
Sống là thương nhưng lòng chẳng vấn vương,
Sống yên vui danh lợi vẫn coi thường,
Tâm bất biến giữa dòng đời vạn biến.


Chú ý: đề nghị các thành viên đọc luồng dưới đây trước khi post bài:
http://www.picvietnam.com/forum//showthread.php?t=1263
Mecha vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 01-06-2007, 10:34 AM   #4
An Hiep
Đệ tử 1 túi
 
An Hiep's Avatar
 
Tham gia ngày: May 2007
Bài gửi: 15
:
Theo tôi nghĩ, có thể khi chuyển sang trạng thái mở Rơ le thì điện áp xoay chiều bị cảm ứng sang cuộn dây gây ra lượng điện áp một chiều gây sốc điện đầu vào qua chân Colector của Transistor về chân của PIC (điện áp âm). Vì vậy bạn thử thay Q1 bằng 1 Relay loại nhỏ.
An Hiep vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 01-06-2007, 10:39 AM   #5
An Hiep
Đệ tử 1 túi
 
An Hiep's Avatar
 
Tham gia ngày: May 2007
Bài gửi: 15
:
Bạn thử với sơ đồ này lại xem
File Kèm Theo
File Type: pdf Tra loi.pdf (9.4 KB, 610 lần tải)
An Hiep vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 01-06-2007, 12:42 PM   #6
minhquan1910
Nhập môn đệ tử
 
Tham gia ngày: May 2007
Bài gửi: 9
:
Red face

mình thì chưa thử cách bọc kim con Pic . vì mình nghĩ thi công mạch sẽ phức tạp hơn . hiện tại thì đang tìm cách cách ly nguồn của Pic và Relay như anh Namqn nói . nếu không thì chắc phải làm theo cách của anh AN HIEP thôi , thêm 1 Relay nữa thử xem sao . ( chắc chắn lại phát sinh thêm chi phí mạch rồi ) .

Cuối cùng thử kết hợp cả bọc kim và thêm relay . mà còn không được nữa thì chắc từ bỏ luôn quá . hic hic

rất cảm ơn các anh đã quan tâm chia sẽ kinh nghiệm . nếu làm được em sẽ báo lên để các bạn sau này có vào còn biết cách chống nhiễu cho VĐK . thanks !
minhquan1910 vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 01-06-2007, 01:21 PM   #7
hanspkt
Đệ tử 3 túi
 
Tham gia ngày: Aug 2006
Bài gửi: 55
:
Bạn không cần phải bọc kim đâu, mình cũng bị trường hợp giống bạn, thậm chí nặng hơn, vì mình điều khiển động cơ DC 24V (robotcon ấy mà) mình đã thử mọi cách nhưng chỉ giảm bớt thôi. Cho tới giờ mình cũng chưa tìm ra được nguyên nhân chính gây ra hiện tương reset cho VDK.
hanspkt vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 01-06-2007, 05:52 PM   #8
tdm
Đệ tử 7 túi
 
Tham gia ngày: May 2005
Bài gửi: 258
:
Trích:
Nguyên văn bởi minhquan1910 View Post
hiện tại mình có ráp 1 mạch sau ( hình đính kèm ) .
Sơ này là dùng pic để điều khiển relay . đóng mở nguồn cho 1 motor 220v AC .

. tại cặp chân nguồn 5 v cấp cho pic và relay có mắc 1 tụ 2200 uF , 1 tụ 104 p . ( mình khôg vẽ ở đây )

.phần lập trình :

- mờ máy . chờ 1s . cấp mức 1 tại chân portb.0 - đóng relay . cho con pic đếm từ 00 đến 255 . mỗi mức đếm chờ 0,5 s .
- đến 255 . chân portb.0 là 0 - mở relay . chờ 2s
- chương trình cứ tiếp tục như vậy .

vấn đề phát sinh mà mình cần hỏi là : khi đóng relay . hoàn toàn không vấn đề gì , motor 220v AC vẫn quay bình thường . đến khi relay mở ( motor ngưng quay ) thì Pic lại bị reset lại . mình nghĩ không biết có phải do motor hay không . mặc dù motor ở cách xa con pic đến 3 m . lại có thêm 1 bức tường ngăn giữa . chỉ có pic và relay nằm gần nhau thôi .

bạn nào có thể giúp mình vấn đề này được không ? xin cảm ơn nhiều . có cách nào chống nhiễu được hiện tượng này không ? ngoại trừ cách bọc kim con pic ?
***************************************
bạn dùng con un2803 để đóng mở relay.chân 10 nối lên 5v.
tdm vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 03-06-2007, 10:02 AM   #9
hanhluckyly
Đệ tử 4 túi
 
hanhluckyly's Avatar
 
Tham gia ngày: Mar 2006
Bài gửi: 83
:
Chào bạn

Theo mình nghĩ là do bạn chưa cách ly nguồn của vi xử lý và nguồn của Rơle 2 cái này không được nối chung mass với nhau. Mình đã từng dùng PIC16F877 kich cho máy hàn nhưng không bị sao cả
hanhluckyly vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 05-06-2007, 03:26 AM   #10
minhquan1910
Nhập môn đệ tử
 
Tham gia ngày: May 2007
Bài gửi: 9
:
Đến giờ thì mình vẫn chưa tìm ra cách chống nhiễu . Pic vẫn bị Reset hoài . Mặc dù đã bọc kim , thêm 1 relay như bạn Hiệp nói . Việc cách ly nguồn giữa Pic và VDK thì mình cũng có nghĩ tới . Nhưng toàn bộ mạch được cấp 1 nguồn ổn định 5 v . bây giờ phải làm sao để cách ly ?

mình có ý tưởng như thế này không biết có được không ? chân VDK mình cho qua 1 diot , rồi mới qua transistor . theo hình sau :

PORTB.0 ------[ ]-----------|>|------(B) TRANSISTOR
------------điện trở 1k------diot 1N4148

Không biết như vậy có tránh được sự sốc điện áp âm như bạn HIỆP nói không nhỉ ? các anh xem giúp em nhé .
minhquan1910 vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 05-06-2007, 03:27 PM   #11
An Hiep
Đệ tử 1 túi
 
An Hiep's Avatar
 
Tham gia ngày: May 2007
Bài gửi: 15
:
Bạn hãy thử thay Q1 bằng 1 con 4N35 xem, việc ghép tín hiệu theo cách quang học có thể giải quyết được các bài toán chống nhiễu như của bạn. Chúc bạn thành công!

--------------------------------------------------------------------
An Hiệp
An Hiep vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 05-06-2007, 04:44 PM   #12
nkh
Đệ tử 1 túi
 
Tham gia ngày: May 2007
Bài gửi: 15
:
Bạn nên làm lại mạch khác đi. Trong mạch mới bạn nên dùng con OPTO TLP521 để cách ly tín hiệu điều khiển và rơle, thêm nữa bạn hãy lắp tụ nguồn lên khoảng 1000uF cùng với cuộn cảm 400uH nữa thì càng tốt. Tôi tin sẽ không bị Reset nữa đâu.
Chúc bạn thành công.
nkh vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 06-06-2007, 08:45 PM   #13
namqn
Trưởng lão PIC bang
 
Tham gia ngày: Feb 2006
Nơi Cư Ngụ: Tp. HCM, Việt Nam
Bài gửi: 3,025
:
Send a message via Yahoo to namqn
Trích:
Nguyên văn bởi minhquan1910 View Post
Đến giờ thì mình vẫn chưa tìm ra cách chống nhiễu . Pic vẫn bị Reset hoài . Mặc dù đã bọc kim , thêm 1 relay như bạn Hiệp nói . Việc cách ly nguồn giữa Pic và VDK thì mình cũng có nghĩ tới . Nhưng toàn bộ mạch được cấp 1 nguồn ổn định 5 v . bây giờ phải làm sao để cách ly ?

mình có ý tưởng như thế này không biết có được không ? chân VDK mình cho qua 1 diot , rồi mới qua transistor . theo hình sau :

PORTB.0 ------[ ]-----------|>|------(B) TRANSISTOR
------------điện trở 1k------diot 1N4148

Không biết như vậy có tránh được sự sốc điện áp âm như bạn HIỆP nói không nhỉ ? các anh xem giúp em nhé .
Như tôi đã giải thích, khi tiếp điểm relay ngắt ra, sẽ có tia lửa điện phát sinh giữa 2 cực của tiếp điểm. Cuộn dây của relay chính là một antenna lý tưởng cho việc cảm ứng từ trường biến thiên nhanh do tia lửa điện tạo ra. Điện áp cảm ứng giữa hai đầu cuộn dây có thể khá lớn, và nó có khả năng đi theo đường cấp nguồn của cuộn dây để đến các chân Vdd của PIC, tại đây thông thường bạn phải có các tụ lọc nhiễu (gọi là tụ bypass hay decoupling) đặt càng gần PIC càng tốt, giữa các chân Vdd và Vss. Nhưng nếu bạn làm vậy thì vẫn chưa đủ, vì thông thường chân MCLR được nối lên Vdd qua một điện trở để thực hiện chức năng reset, mà chân MCLR lại rất nhạy với mức áp (nó không tiêu thụ dòng nhiều, chỉ sử dụng mức điện áp). Do đó ngay cả khi bạn lọc nguồn cho PIC rất tốt thì vẫn có khả năng điện áp xung xuất hiện tại chân MCLR của PIC khi bạn ngắt relay. Đây là trường hợp lan truyền trực tiếp điện áp cảm ứng đến chân MCLR.

Nếu bạn không dùng điện trở tại chân MCLR, bạn vẫn có thể có điện áp cảm ứng tại chân MCLR. Nói chung, với xung dòng thật dốc khi ngắt relay, mọi đường mạch trên mạch in của bạn đều có thể cảm ứng xung dòng đó. Và điều này phụ thuộc vào cách bạn đi dây, vẽ mạch, bố trí các linh kiện trên board mạch.

Do đó, tôi khuyên bạn cách ly nguồn của relay và của PIC, để loại bỏ trường hợp lan truyền trực tiếp vào chân MCLR. Cách đơn giản, bạn có thể dùng điện trở vài ohm giữa nguồn 5 V và các chân Vdd của PIC, giá trị điện trở tùy thuộc vào dòng tiêu thụ của PIC. Ví dụ, nếu PIC tiêu thụ 100 mA, bạn có thể dùng điện trở 4.7 ohm. Nếu có dùng điện trở cho chân MCLR, đặt điện trở đó thật gần chân MCLR, và ngay đầu điện trở phía nối với Vdd, dùng một tụ lọc nhiễu 100 nF (104, và có thể thêm một tụ 10 nF, 103).

Cách phức tạp và tốn tiền hơn một chút, bạn mua biến áp nguồn loại có nhiều cuộn dây thứ cấp cách ly, một cuộn thứ cấp dùng cho PIC, còn một cuộn khác dùng cho relay. Tín hiệu điều khiển từ PIC đến relay thông qua opto coupler.

Sơ đồ mạch mà bạn đã đưa lên không thể hiện các chân nguồn của PIC được xử lý ra sao. Ngay cả khi bạn có sơ đồ nguyên lý đầy đủ và chính xác, thì việc bạn vẽ mạch in ra sao cũng có vai trò quan trọng, mà bạn vẫn chưa cho biết.

Tôi hy vọng những bạn khác khi trình bày các vấn đề cũng cố gắng mô tả đầy đủ, chi tiết để tránh cho người trả lời phải hỏi đi hỏi lại, và tốn thời gian chờ đợi của cả đôi bên một cách vô ích.

Thân,
__________________
Biển học mênh mông, sức người có hạn.

Đang gặp vấn đề cần được giúp đỡ? Hãy dành ra vài phút đọc luồng sau:
http://www.picvietnam.com/forum/showthread.php?t=1263

thay đổi nội dung bởi: namqn, 07-06-2007 lúc 02:46 AM.
namqn vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 07-06-2007, 03:16 PM   #14
minhquan1910
Nhập môn đệ tử
 
Tham gia ngày: May 2007
Bài gửi: 9
:
Question

Mấy hôm nay muốn điên lên vì cái mạch này . Chắc phải đành cho vào sọt rác thôi . mình sẽ cố gắng làm lại cái khác , và Mình rất cảm ơn các bạn đã giúp đỡ , chia sẽ kinh nghiệm . Ở đây chỉ mới là nghiên cứu và thực tập đơn giản thôi mà đã phải xử lý nhiễu phức tạp như vậy rồi . Vô môi trường công nghiệp không biết còn như thế nào nhỉ ?
minhquan1910 vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 26-06-2007, 12:18 PM   #15
An Hiep
Đệ tử 1 túi
 
An Hiep's Avatar
 
Tham gia ngày: May 2007
Bài gửi: 15
:
Mình đã thử lại (có người mách) và đã OK.
Bạn nối các tụ gốm 104 vào các chân nguồn của PIC xuống đất nhưng chú ý là nối tại chân IC. tia lửa điện do Rơ le tạo ra sẽ không kịp xốc vào nguồn của PIC gây reset PIC. Điều này khá đơn giản với PIC6F877 vì 2 chân VDD và VEE luôn nằm cạnh nhau (Không biết có phải do ý chủ quan của nhà sản xuất không nữa )

Chúc bạn thành công!

An Hiệp
An Hiep vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Trả lời


Quyền Sử Dụng Ở Diễn Ðàn
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is Mở
Smilies đang Mở
[IMG] đang Mở
HTML đang Tắt

Chuyển đến


Múi giờ GMT. Hiện tại là 06:46 AM.


Được sáng lập bởi Đoàn Hiệp
Powered by vBulletin®
Page copy protected against web site content infringement by Copyscape
Copyright © PIC Vietnam