Thông báo

Collapse
No announcement yet.

Công cụ học tập và phát triển cho PIC - Hoàn toàn miện phí

Collapse
This is a sticky topic.
X
X
 
  • Lọc
  • Giờ
  • Show
Clear All
new posts

  • Công cụ học tập và phát triển cho PIC - Hoàn toàn miện phí

    Mới tiếp xúc với PIC chưa lâu, cũng đã làm được một số mạch ứng dụng cho PIC, tui mở topic này ra mong muôn chia sẻ với mọi người về những gì tôi đã làm được với PIC. Chắc phải mất một thời gian mới up hết, giờ tui đang vẽ lại các mạch nguyên lý và cố chụp hình vài cái mạch thật. Anh em góp ý thêm. Bác nào có cái đề tài gì hay thì cứ up lên cho nhưng ái mới học có thêm tài liệu.
    Thân ái.
    Ethernet-RS232, PIC Webserver, RFID Reader
    CallerID, Cảnh báo BTS, ...
    0988006696
    linhnc308@gmail.com
    http://linhnc308.blogspot.com

  • #2
    Đề tài 1:Đo nhiệt độ dùng LM335

    Đề tài: Mạch đo nhiệt độ và cảnh báo

    Chức năng của mạch:
    - Đo nhiệt độ môi trường tại một điểm thông qua sensor nhiệt LM335(Chi tiết về LM335 xem trong
    datasheet). LM335 là sensor đo nhiệt, đầu ra là 10mV/K. Do đó để đo độ C ta cần có công thức chuyển đổi
    giá trị. Vì ta dùng ADC của PIC là 8bit (có thể dùng 10bit) => max=255, Vref=VCC, giả thiết là VCC=5V nên tại 0 độ C
    hay 273K thì đầu ra của LM335 có giá trị là 2.73V. Như vậy khi muốn tính toán ra độ C ta cần phải trừ đi mức
    điện áp là 2.73V. Lấy ví dụ: nhiệt độ là 30 độ C = 303K -> out = 303 x 10mV/K =3.03V. Ta tính toán giá trị đọc được từ
    ADC.
    ADC 8 bit: V_in = VCC=5V => ADC_value = 255
    V_in = 2.73V => ADC_value = (255/5)x2.73=139.23 (tương ứng 0 độ C)
    V_in = 3.03V => ADC_value = (255/5)x3.03=154.53 (tương ứng 30 độ C)
    Mặt khác do V_ref = VCC=5V nên ADC_value=1 tương ứng 5/255=19.6mV ~ 20mV. Trong khi đó LM335
    cho ra điện áp là 10mV/1K nên để giá trị ADC thay đổi 1 đơn vị thì nhiệt độ phải thay đổi là 2K (hay 20mV)
    Từ đó ta có công thức đầy đủ sau để tính giá trị độ C:

    C = (ADC - 139.25)x(19.6mV/10mV)=(ADC-139.25)x1.96~(ADC-139.25)/0.512
    Tương tự ta có công thức cho ADC 10bit và 12 bit:
    ADC_10_bit: C= ( reading-558.6)/ 2.048
    ADC_12_bit: C= ( reading-2235.9)/ 8.19

    - Để hiện thị giá trị nhiệt độ ta có nhiêu phương án như LED 7, LCD, máy tính(qua RS232)... Trong đề tài
    này ta dùng LED 7 thanh cho việc hiển thị. Gồm có hai LED 7, dùng PIC để giải mã hiển thị cho LED (có thể
    dùng 7447 để tiết kiệm chân). Để cảnh báo ta đặt khoảng theo dõi nhiệt độ là từ 15 C đến 40 C (cái này tuỳ
    vào người dùng) khi nhiêt độ nằm ngoài khoảng này thì phát tín hiệu cảnh báo bằng loa và có thể gửi tìn
    hiệu điều khiển đến các mạch khác nếu có.
    - Mạch có sử dụng thêm điện trở tinh chỉnh 10K tại chân ADJ của LM335 để điều chỉnh nhiệt độ ban đầu cho
    phù hợp.

    Mở rộng của đề tài:
    - Nâng cao độ chính xác hiển thị bằng cách dùng ADC có độ phân giải cao hơn (có thể dùng ADC ngoài)
    - Thêm bàn phím giao tiếp để có thể thay đổi trực tiếp khoảng nhiệt độ theo dõi, cùng với đó ta thêm vào
    LED 7 để hiển thị hai giá trị nhiệt độ này
    - Sử dụng EEPROM để lưu giá trị nhiệt độ mà người dùng thiết lập, các lần thay đổi khác...
    - Ghép nối máy tính để truyền giá trị nhiệt độ đến máy tính
    - Ghép nối LCD và một mạch đếm thời gian thực (DS1307) để ứng với mỗi thời điểm chương trình sẽ tự động
    chọn khoảng thiết lập nhiệt độ thích hợp theo từng mùa, từng thời điểm định trước...
    - Sử dụng PID trong điều khiển tự động kết hợp với các mạch điều khiển tăng giảm nhiêt độ để đảm bảo nhiệt
    độ luôn bám theo một giá trị cho trước, hệ ổn định nhiệt (giá trị thay đổi là rất nhỏ)
    - Vân vân và vân vân...anh em nào có thêm cao kiến gì thì bổ sung.

    Liện hệ: linhnc308@yahoo.com

    Files gửi kèm bao gồm sơ đồ mạch Orcad và code viết bằng CCS.
    Ethernet-RS232, PIC Webserver, RFID Reader
    CallerID, Cảnh báo BTS, ...
    0988006696
    linhnc308@gmail.com
    http://linhnc308.blogspot.com

    Comment


    • #3
      Đề tài 2: Đồng hồ điện tử dùng DS1337

      Đề tài: Đồng hồ thời gian thực dùng IC DS1337

      + Chức năng mạch điện:
      - Hiển thị thời gian hiện tại: Năm/Tháng/Ngày/Thứ/Giờ/Phút/Giây.
      - Đặt thời gian hẹn giờ.
      - Giao tiếp bàn phím với 4 phím: Mode – Change – Clear – Set_alarm
      + Mô tả mạch:
      - Mạch sử dụng IC thời gian thực DS1337, giao tiếp I2C với PIC. Chi tiết về các thanh ghi và cách khởi tạo xem thêm trong datasheet.
      -
      - Hiển thị thời gian dùng 12 LED 7 thanh mắc theo kiều đa hợp(Riêng LED hiển thị năm chỉ dùng 2 LED, nếu muốn hiển thị đầy đủ thì mắc thêm 2 LED nữa hiển thị 20xx). Tất cả các LED chung các đường tín hiệu a..g, còn các chân điều khiển thì mắc với các khoá điện tử (12 Transistor A1015) để điều khiển việc đóng mở LED. Chi tiết về việc ghép nối LED xem thêm trong hàm Display() của chương trình nguồn
      - Các đèn LED để báo hẹn giờ (có thể dùng Loa để báo hiệu)
      - VĐK được dùng là PIC16F877A, thạch anh 20MHz…
      + Mô tả phần mềm:
      - Viết bằng ngôn ngữ C, dùng chương trình CCS 3.227 để biên dịch
      - Sử dụng I2C tích hợp của PIC để giao tiếp với DS1337. Các hàm có sẵn trong CCS là I2C_START,I2C_STOP, I2C_READ, I2C_WRITE được dùng trong việc khởi tạo và đọc giá trị thời gian từ DS1337 (Chi tiêt xem thêm trong datasheet của DS1337 để biêt chi tiết về giản đồ thời gian khi đọc và ghi của DS1337)
      - Việc hiển thị thời gian ra LED là liên tục, dùng 12byte RAM làm bộ đệm hiển thị (các biến LED1, LED2…LED12), giá trị thời gian đọc được từ DS1337 sau khi chuyển đổi từ số BCD sang mã LED7 được lưu trong các biến này.
      - Ta sẽ đọc liên tục DS1337 nhưng chỉ cập nhật giây. Sau 1 phút thì ta mới đọc toàn bộ các thanh ghi thời gian của DS1337 để cập nhật thời gian và đưa ra hiện thị
      - Chương trình quét bàn phím sẽ xác định phím chức năng và gọi hàm xử lý tương ứng như hàm chuyển chế độ, hàm chỉnh phút, giờ… hàm hẹn giờ…
      + Mở rộng:
      - Dùng LCD cho việc hiển thị thời gian, kết nối máy tính để gửi giá trị và điều khiển.
      - Kết hợp với việc hiển thị thời gian là hiển thị nhiệt độ dùng LM335 trên LCD.
      - Trên DS1337 có chân SQW/INTB là chân sẽ xuất ra xung vuông 1Hz, ta dùng xung này đưa vào chân ngắt ngoài của VĐK. Chương trình phục vụ ngắt sẽ tăng biến giây lên 60. Khi bằng 60 thì xoá về 0 và gọi hàm đọc DS1337 cập nhật thời gian. Trong chương trình chính sẽ là hiển thị và quét phím
      - Việc dùng IC DS1337 hay 1307 là tuỳ vào người dùng. Nếu dùng DS1307 thì phần khởi tạo sẽ có một sô thay đổi và cần thêm nguồn PIN 3V vào chân V_bat- đây chính là nguồn backup để lưu giữ thời gian không bị sai khi mất điện hệ thống.

      Lưu ý: mạch này có sơ đồ mạch vẽ trên OrCAD, do phần cứng đơn giản nên xem trong phần mã nguồn cũng có thể mắc được mạch. Chú ý thêm điện trở 4K7 tại các chân SDA và SCL(requires an external pullupresistor.)
      Ethernet-RS232, PIC Webserver, RFID Reader
      CallerID, Cảnh báo BTS, ...
      0988006696
      linhnc308@gmail.com
      http://linhnc308.blogspot.com

      Comment


      • #4
        Hôm nay tạm thời như vậy đã. Các đề tài còn lại sẽ pót sau. Cơ bản mạch khóa điện tử chưa vẽ xong. Mọi đóng góp xin gửi về linhnc308@yahoo.com. Những nhận xét của mọi người sẽ giup cho mạch thêm hoàn thiện hơn. Nói chung đề tài mạch điện phục vụ cho mấy bài tập lơn thì khá đa dạng và phong phú, tuy nhiên trong đợt bảo về Vi Xử Lý vưa qua ở BKHN thì các nhóm đa phâng dùng AT89, chỉ có một vài nhóm(4 nhóm của ĐT8_K47) là dùng PIC. Tôi sẽ có gắng kiếm thêm các đề tài dùng AT89 và chuyển nó sang PIC để so sánh se thấy cái lợi khi dung PIC.
        Chuc thành công.
        Ethernet-RS232, PIC Webserver, RFID Reader
        CallerID, Cảnh báo BTS, ...
        0988006696
        linhnc308@gmail.com
        http://linhnc308.blogspot.com

        Comment


        • #5
          Sample chính hãng, hàng từ Sing. cứ len maxim-ic.com mà xin, khá nhiều con hay ho đấy, tui đã xin được cả đống, tha hồ nghịch. Đang cố xin mấy con Wirerless về làm bộ truy câp không dây mà chưa được(chắc chỉ được 802.11a,b thôi còn .g hình như không cho).
          Ethernet-RS232, PIC Webserver, RFID Reader
          CallerID, Cảnh báo BTS, ...
          0988006696
          linhnc308@gmail.com
          http://linhnc308.blogspot.com

          Comment


          • #6
            Mạch quang báo

            Đề tài: Bảng thông tin điện tử ứng dụng VĐK

            Đây là chương trình LED matrix tôi đã làm cho đồ án môn Thiết kế mạch logic. Chương trình sử dụng PIC16F88 là phần tử điều khiển chính, dùng 74154 để quét 16 cột(kích thước bảng Led là 16x8) và 74595 để gửi dữ liệu hàng có dung thêm A1015 để đệm dòng cho hàng.
            + Tính năng chính của chương trình:
             Hiển thị bản tin được lưu trong Flash, khi đó kích thước nội dung bản tin tuỳ thuộc vào Flash (với PIC88 được khoảng vài nghìn từ..)
             Copy bản tin vào eeprom và hiển thị nội dung đó.
             Nội dung bản tin được cập nhật bằng máy tính thông qua cổng COM, nội dung cập nhật sẽ lưu vào eeprom và khi đó chương trình sẽ hiển thị nội dung từ EEPROM
             Chương trình cập nhật EEPROM sẽ bao gồm:
            1. Hiển thị nội dung hiện tại của eeprom
            2. Cập nhật số ký tự tối đa của bản tin (biến max_char và lưu vào vị trí 0xff của eeprom)
            3. Vị trí eeprom cần thay đổi (nếu vị trí này lớn hơn giá trị của max_char thì biến max_char được cập nhật)
            4. Số ký tự cần thêm mới
             Tốc độ chữ chạy được quy định bởi biến time và giá trị được thay đổi thông qua giá trị ADC-8bit được lấy tại chân RA4 (kênh AN4).(Dùng biến trở xoay)

            + Chương trình con bao gồm các phần:
            - Giải mã ký tự ASCII.
            - Copy vào bộ đệm màn hình (buff_disp[16])
            - Chương trình hiển thị sẽ đọc nội dung của buff_disp[16] đưa ra bảng LED
            + Mở rộng
            - Thêm phần giao tiếp bàn phím, bàn phím giống như của ĐTDD cho nó gọn hoặc có thể là bàn phím thường chuẩn PS/2. Việc giao tiếp có thể trực tiếp hay thông qua hồng ngoại cho nó cơ động.
            - Sử dụng PWM để điều chỉnh độ sáng của bảng LED và tạo hiệu ứng fade in và fade out .v.v…
            - Các hiệu ứng khác như bắn từng chữ ra, chữ chạy ngược xuôi, lên xuống…
            - Hiển thị chữ Tiếng Việt có dấu với các hiệu ứng về màu sắc…

            Đó là một vài ý tường tôi đang dự định làm. Mong nhận được góp ý của mọi người để mạch quang báo được hoàn thiện. Xin cảm ơn!

            Bác CHIBANG xem qua rồi đóng góp ý kiến. Thấy bảo bác đã khá thành công với cái mục này rồi. Chắc em còn học hỏi bác nhiều.

            Liên hệ: linhnc308@yahoo.com
            Ethernet-RS232, PIC Webserver, RFID Reader
            CallerID, Cảnh báo BTS, ...
            0988006696
            linhnc308@gmail.com
            http://linhnc308.blogspot.com

            Comment


            • #7
              bạn linhnc308 ơi , thế bạn có sơ đồ mạch điều khiển motor 3 pha không vậy , nếu có thì cho mình xin với , cam ơn bạn .
              |

              Comment


              • #8
                Nguyên văn bởi tung1981
                bạn linhnc308 ơi , thế bạn có sơ đồ mạch điều khiển motor 3 pha không vậy , nếu có thì cho mình xin với , cam ơn bạn .
                Gửi bạn Linhnc308:
                Bạn Linhnc308 làm cái này hay đó, mọi người đều có thể học tập từ bạn.

                Gửi bạn Tung1981:
                Động cơ 3 pha có nhiều loại, bạn hỏi thế thì ai mà biết cho bạn được. BLDC 3 pha cũng có, ACIM 3 pha cũng có. Bạn lên mạng tra là được mà. Sơ đồ chi tiết thì bạn nên tìm hiểu kỹ về các phần tử chuyển mạch và công suất sẽ có mỗi nơi một tý, tổng hợp lại được một mạch điều khiển khá tốt.
                Gợi ý cho bạn tìm: tìm Power Transitor Driver hoặc IGBTs Driver schematic.
                Tìm: Switching Mode Power Supplier nữa.
                Còn về CPU thì bạn có thể chọn PIC for motor control.
                Cách hay nhất là tìm mua một cái biến tần hỏng, về tháo ra mà xem sơ đồ mạch. Okie?
                Chúc bạn thành công
                AFH

                Comment


                • #9
                  Mấy đề tài này em làm còn sơ sài lắm, không biết có bác nào có đề tài gì hay không pót lên cho bà con học hỏi. Em thấy bác CHIBANG là có nhiều thứ hay lắm, bác pót lên cho anh em học hỏi với...
                  Ethernet-RS232, PIC Webserver, RFID Reader
                  CallerID, Cảnh báo BTS, ...
                  0988006696
                  linhnc308@gmail.com
                  http://linhnc308.blogspot.com

                  Comment


                  • #10
                    Chẳng thấy bác nào pót bài ở đây à, xem ra các cao thủ nhà ta hơi bị keo đấy, có gì share được thì pót lên, coi đây như cái thư viện mẫu cho những người mới học. Chủ trương của em là học cái hay của thiên hạ và chỉ ra cho thiên hạ cái hay của mình. Hồi trược viết nhiêu cho AT, mấy cậu SV mới học em đều cho hết code, về tha hồ nghiên cứu.
                    Hãy viết bài có chất lượng, đừng biến forum này thành nới chat, nếu chat đã có yahoooooooooooooooooooooooo.
                    Chào thân ái và quyết thắng! :-D
                    Ethernet-RS232, PIC Webserver, RFID Reader
                    CallerID, Cảnh báo BTS, ...
                    0988006696
                    linhnc308@gmail.com
                    http://linhnc308.blogspot.com

                    Comment


                    • #11
                      Chào bác!

                      Tớ có làm một ứng dụng nho nhỏ về mạch quét phím dùng 16F877A,bên picvietnam.Mạo mụi chuyển nó qua đây,mong các bác chỉ giáo thêm!
                      http://www.picvietnam.com/forum//showthread.php?t=325

                      Comment


                      • #12
                        Nguyên văn bởi MicroDuyphi
                        Anh cũng thấy thế LINH ah, cao thủ nói nhiều lắm, và họ vào để nói nhằm khai thác chất "TRO trấu" của chúng ta là chính. Còn "ĐÓNG GÓP Ư?" Anh và LINH chắc về ngồi đọc sách chắc có nhiều niềm vui.
                        Nghe câu này --->> thất vọng về bác duyphi...
                        to linhnc308 : Cứ mở một topic tổng hợp về đề tài dùng PIC là mọi người phải post lên ngay hay sao ? Các anh trên diễn đàn đều bận cả chứ đâu có thời gian nhiều như tụi mình. Còn các đề tài và mã nguồn dùng PIC đâu có thể post mã nguồn lên điễn đàn được. Còn những cái dùng trong học tập thì vào các forum của nhà sản xuất thì có vô khối để dùng trong học tập muh. Ví dụ như forum của htsoft, microchip.com...

                        Comment


                        • #13
                          thế thì đành để mình e đọc diễn vậy. Về lục lại trong máy mấy cái mạch dùng PIC pót lên.
                          Ethernet-RS232, PIC Webserver, RFID Reader
                          CallerID, Cảnh báo BTS, ...
                          0988006696
                          linhnc308@gmail.com
                          http://linhnc308.blogspot.com

                          Comment


                          • #14
                            anh linhnc này! nghe nói hôm thứ 2 vửa rồi anh đã trình diễn cái biển quảng cáo ở câu lạc bộ nghiên cứu khoa học. Em cũng làm đề tài đó nhưng dùng 89s52 , không hiểu sao em chạy mô phỏng được rồi mà lúc cắm mạch thật thì lại không chạy. em sẽ post schematic và code lên anh xem hộ em nha....
                            Nếu được thì thứ 2 tuần sau em sẽ đến trực tiếp nhờ đại ca chỉ dùm được không???

                            Comment


                            • #15
                              ve cai quang bao dung cho 89S52 em da lam ve da pot toan bo so do va code len dien dan roi, trong mấy mục về quang báo đó.
                              http://dientuvietnam.net/forums/show...6&page=4&pp=10
                              http://dientuvietnam.net/forums/show...6&page=5&pp=10 - AT89S52 - Quang báo.
                              Sơ đồ mạch a qua đây xem.
                              http://dientuvietnam.net/forums/show...6&page=6&pp=10
                              Cả mấy mục khác nữa e không nhớ lắm, có cả cho PIC đấy. hồi làm mấy cái này e làm cho cả AT89 va PIC.

                              Chúc a thành công!
                              Ethernet-RS232, PIC Webserver, RFID Reader
                              CallerID, Cảnh báo BTS, ...
                              0988006696
                              linhnc308@gmail.com
                              http://linhnc308.blogspot.com

                              Comment

                              Về tác giả

                              Collapse

                              linhnc308 Tìm hiểu thêm về linhnc308

                              Bài viết mới nhất

                              Collapse

                              Đang tải...
                              X