1. THÔNG BÁO TUYỂN ADMIN DIỄN ĐÀN 2013
    Tìm kiếm nhà trọ - Ở ghép
    THÔNG BÁO BÁN ÁO SPKT.NET CHO THÀNH VIÊN DIỄN ĐÀN


    HÃY TÌM KIẾM Ở ĐÂY TRƯỚC KHI ĐẶT CÂU HỎI
    {xen:phrase loading}

mTouch - Microchip Touch Sensing, ứng dụng nút nhấn điện dung giá rẻ

Thảo luận trong 'Lập Trình C cho vi dieu khien PIC nâng cao' bắt đầu bởi tuan.pham, 13 Tháng năm 2010.

  1. tuan.pham New Member

    Số bài viết: 18
    Đã được thích: 0
    Điểm thành tích: 0



    Với 2 video trên thì các bạn sẽ hiểu Touch Sensing là cái gì và ứng dụng của nó. Đây là một công nghệ mới, giá thành rất rẻ và dễ làm của Microchip, sử dụng Vi Điều Khiển PIC.

    Sơ lược một chút về công nghệ Touch Sensing này để các bạn có thể định hướng cho mình cách làm.

    + Hiện Microchip có 2 hướng về Touch, Touch điện cảm (Capacitive) và Touch điện dung(Inductive), 2 giải pháp này có những ưu và khuyết điểm riêng, tuy nhiên, Inductive Touch rất khó làm phần cứng, hiện nay ở Việt Nam chưa có nhà sản xuất PCB số lượng nhỏ nào có thể sản xuất PCB đáp ứng yêu cầu cho công nghệ này. Tuy nhiên với Capacitive thì đơn giản hơn, về phần cứng có thể làm mạch tại gia được luôn. Do vậy mình chỉ tập trung vào Capacitive Touch. Tuy nhiên cũng cần nói sơ về nguyên lý của 2 loại này: (Tham khảo tại http://microchip.com/mtouch)

    • Inductive Touch :
      [IMG]
      [IMG]
      Nguyên lý hoạt động như sau: Lớp kim loại "target" bên trên như một nửa của biến áp và tiêu thụ năng lượng như mạch tương đương có gắn Rtarget. Bên dưới là lớp PCB vẽ hình xoắn ốc, như cuộn dây của nửa bên này biến áp. Mạch này sẽ được cấp giao động, lúc này sẽ tạo ra một từ thông đi từ nữa bên này đến bên kia biến áp, sinh dòng tiêu thụ trên Rtarget và đồng thời sinh hỗ cảm giữa 2 cuộn dây. Khi khoảng cách thay đổi, thì điện áp trung bình trên 2 đầu cuộn dây bên dưới thay đổi. khoảng cách thay đổi tính theo micromet thì điện áp sẽ thay đổi rất nhiều rồi, do đó, một màn kim loại bất kì để bên trên, chị cần chạm nhẹ vào sẽ gây sự rung động, chính sự rung động này sẽ thay đổi điện áp trên Lcoil, việc đo điện áp trung bình trên Lcoil sẽ nhận biết được có chạm hay không. Tài liệu tham khảo: http://techtrain.microchip.com/webseminars/documents/IndmTouch_110808.pdf
    • Capacitive Touch: Giải pháp này khá phổ biến và rẻ tiền, nguyên lý hoạt động như sau: Pad đồng như một nửa của tụ điện, lớp PCB như một điện môi của tụ, và tay người khi chạm vào pad đồng sẽ tạo một tụ khác nữa với các thành phần tiếp xúc là điện môi. Rõ ràng khi tay người chạm vào thì điện dung của tụ (tạo ra từ Pad đồng, tay người và điện môi tiếp xúc) tăng lên, ngừoi ta đó điện dung này để phát hiện việc có chạm hay không. Có nhiều phương pháp để do điện dung, chủ yếu dựa vào sự nạp xả của tụ, thường dùng các mạch dao động. Microchip hiện có đến 4 giải để làm chuyện này. Sử dụng Comparator (Opamp trong chip), sử dụng ADC, sử dụng CSM (Captouch Sensing Module) và CTMU (Charge Time Measurent Unint). Sẽ bàn luận sau. Link tham khảo: http://techtrain.microchip.com/webseminars/documents/CapTouchP2_021908.pdf
      [IMG]
    Như vậy các bạn đã biết về nguyên lý làm Touch Sensing, và có thể thấy, việc làm Inductive Touch là không khả thi ở VN. Bởi vậy nên chúng ta sẽ tập trung vào Capacitive Touch. Về Capacitive Touch Microchip có đến 4 giải pháp:
    + Dùng Comparator, giải pháp này sẽ tạo một mạch dao động nhờ vào Comparator và vài linh kiện phụ, dao động do mạch dao động này phụ thuộc vào điện trở và nạp xả của tụ (tụ này được tạo bởi PAD đồng). Có 2 mạch ứng dụng Comparator, mạch 1 nút sử dụng các loại PIC ít nhất (6-chân/8 chân) như 10F204... Và mạch thứ 2 sử dụng 2 Comparator với 1 SR latch, mạch này cũng thay đổi dao động dựa vào điện dung của Pad đồng, và có thể sử dụng được tối đa 4 nút mTouch. Microchip có 2 Application Node bao gồm code và Docs rất đầy đủ để làm. Kinh nghiệm khi làm thực tế là kiểu mạch này chạy rất ổn định
    Application Note dùng 1 nút, PIC10F204: http://www.microchip.com/stellent/idcplg?IdcService=SS_GET_PAGE&nodeId=1406&dDocName=en539707
    Nội dung: http://ww1.microchip.com/downloads/en/AppNotes/01202B.pdf
    [IMG]

    [IMG]
    Mạch dao động chỉ dùng 1 Comparator (trong chip) 1 diode và 1 điện trở. Tuy nhiên, phải chú ý khi sử dụng mạch này, Comparator bên trong Chip phải có ngõ ra là ngõ vào của Timer0 (một số loại có Comparator nhưng ngõ ra ko nối với ngõ vào đếm của Timer0, như PIC12F683).

    Application Note 2, dùng mạch có 2 Comparator và 1 SR Latch để làm mạch dao động Relaxation Oscillator, do 2 Comparator này có 4 kênh ngõ vào Cin- nên có thể quét đến 4 nút mTouch
    http://ww1.microchip.com/downloads/en/AppNotes/01101a.pdf
    http://www.microchip.com/stellent/idcplg?IdcService=SS_GET_PAGE&nodeId=1824&appnote=en541988
    [IMG]
    Hầu hết các loại PIC16F đều có 2 Comparator và 1 SR Latch, điển hình là PIC16F886/887, rất dễ kiếm trên thị trường

    + Dùng CVD(Capacitive Voltage Divider) , đây là cách rất hay, dễ dùng nhất, bất kỳ PIC nào có ADC là có thể làm được, mỗi kênh ADC có thể làm 1 nút, số nút bằng số kênh - 1, tuy nhiên thực tế mình chỉ làm 1 ứng dụng, và chưa có thời gian kiểm định sự ổn định. Nguyên lý của phương pháp này dựa cũng vào sự nạp xả của Tụ, nhưng không biến nó thành dao động, mà do luôn điện áp khí tụ xả ra, giá trị xả càng nhiều thì tụ bên ngoài (PAD đồng) càng lớn.
    http://www.microchip.com/stellent/idcplg?IdcService=SS_GET_PAGE&nodeId=1824&appnote=en545264
    [IMG]
    [IMG]

    Nó hoạt động ra sao? Như hình trên, các bước thực hiện như sau: Bạn sẽ dùng 1 kênh AD, nối nó lên nguồn, các kênh khác nối vào PAD đồng để làm Touch..
    - Bước 1: Trong bộ ADC luôn luôn có 1 tụ Sample/Hold để lấy mẫu trước khi chuyển đổi, gội là Cad. Phần cứng của bạn phải chọn 1 kênh AD và nối nó lên VDD, ở bước đầu tiên này, Cấu hình chân đó là Output và xuất mức cao, sau đó chọn kênh AD lấy mẫu là chân đó, lúc này tụ Cad sẽ nạp đầy.
    - Bước 2: Cấu hình tất cả các kênh AD dùng làm Touch khác thành chân Output, và xuất mức thấp (Nối mass tất cả).
    - Bước 3: Cấu hình tất cả các kênh AD dùng làm Touch thành Input, bắt đầu chọn 1 kênh, lúc này, tụ Cad sẽ xả ra ngoài chân đã chọn (nếu điện dung càng lớn thì xả càng nhiều) và tiến hành chuyển đổi AD trên chính kênh đó. Đọc giá trị ADC về sẽ có sự sai lệnh nếu như điện dung thay đổi

    + Dùng CSM (Capacitive Sension Module): Đây là một module riêng dành để làm cái trò Touch này của Microchip, có mặt ở hầu hết các dòng Chip mới ra sau này (PIC16F1xxx, PIC18F1xKxx...), nó cũng tương tự như dùng Comparator, tuy nhiên, toàn bộ mạch dao động được đóng gói trong 1 module riêng gọi là CSM. Module này tùy vào loại PIC mà nó có từ 8-16 kênh.

    [IMG]
    Cách làm với loại này tương đối dễ, vì chỉ cần cấu hình module vài bit, và có thư viện sẵn của MCHP, các bạn tham khảo các Application Notes: http://www.microchip.com/stellent/idcplg?IdcService=SS_GET_PAGE&nodeId=1824&appnote=en547506
    Ngoài ra tham khảo ở http://picvietnam.com có báo cáo của Minh Thảo, và bài về mTouch có code cho CCS C:
    http://www.picvietnam.com/forum/showthread.php?t=4633
    http://dientu.rpc.vn/content/view/62/1/

    + Dùng CTMU (Charge Time Measurement Unit):
    Sơ đồ khối của Module này: [IMG]
    Nguyên lý hoạt động của nó: Bạn xem hình bên dưới:
    [IMG]
    Module CTMU có một nguồn dòng có thể điều khiển được dòng nạp xả cho tụ sample của ADC (Cad). Khi ko có tay người chạm vào Pad đồng thì nguồn này nạp cho tụ Cad ổng định, và xả khi đã chuyển đổi AD xong. Khi có tay người tiến gần tới Pad đồng, sẽ xuất hiện thêm tụ Cf, tụ này sẽ nạp điện như 1 tụ song song với Cad, nguồn dòng không thay đổi khi có tay người và không có, tuy nhiên giá trị tụ lại thay đổi, dẫn đến áp sẽ sụt giảm, điều này có thể đo được bằng AD.

    Với phương pháp này, bất kì PIC nào có CTMU thì có thể dùng số kênh ADC của nó làm Touch, phương pháp này hiện nay có tốc độ quét nhanh nhất và ổng định nhất, tuy nhiên chỉ xuất hiện ở một số dòng PIC mới.
  2. khoahoctre Giảng Viên

    Số bài viết: 451
    Đã được thích: 7
    Điểm thành tích: 16
  3. lamphung New Member

    Số bài viết: 6
    Đã được thích: 0
    Điểm thành tích: 0
  4. boydt_0990 New Member

    Số bài viết: 2
    Đã được thích: 0
    Điểm thành tích: 0
  5. nhutduy89 New Member

    Số bài viết: 15
    Đã được thích: 0
    Điểm thành tích: 1
  6. longhungdai New Member

    Số bài viết: 4
    Đã được thích: 0
    Điểm thành tích: 0
  7. taile01 Member

    Số bài viết: 111
    Đã được thích: 0
    Điểm thành tích: 16
    Giới tính: Nữ
    Bán danh sách Khách hàng đã lọc theo nhà mạng Mobi, Vina, Viettel .Anh/ Chị /Em nào có nhu cầu khai thác Khách hàng vui lòng liên hệ địa chỉ phía dưới, mua nhiều giá ưu đãi.

    Trân trọng cảm ơn !

    Thông tin liên hệ:

    Hotline : Mr Tai 0907 337 661
  8. taile01 Member

    Số bài viết: 111
    Đã được thích: 0
    Điểm thành tích: 16
    Giới tính: Nữ
    Kính gửi: Quý Khách hàng

    Nội thất gỗ Sao Biển là một công ty được thành lập chuyên về thiết kế – thi công – trang trí nội thất và sản xuất đồ gỗ chất lượng cao.

    Nhằm đáp ứng thị trường trang trí nội thất ngày càng đa dạng về mẫu mã, phong phú về màu sắc, Công ty nội thất Sao Biển chúng tôi luôn xác định bằng tất cả những nỗ lực của tòan thể nhân viên trong công ty sẽ mang đến cho quý khách hàng một sản phẩm trang trí nội thất và đồ gỗ chất lượng cao và các dịch vụ hậu mãi chu đáo, tận tình.

    Với đội ngũ công nhân lành nghề, nhà máy sản xuất đồ gỗ rộng hõn 1000m2, hệ thống máy móc hiện đại được nhập khẩu từ Đức và Nhật bản, chúng tôi đã và đang đáp ứng tất cả mọi tiêu chuẩn của khách hàng từ những chi tiết.


    Đến với Công ty chúng tôi, Quý khách hàng sẽ được lựa chọn một dịch vụ hòan chỉnh từ thiết kế đến khi đưa vào sử dụng các dịch vụ bảo trì chu đáo, chuyên nghiệp.

    Trân trọng cảm õn !


    Thông tin liên hệ:

    Hotline : Mr Tai 0907 337 661



    http://marinestar.com.vn/

Chia sẻ trang này