Thursday, August 13, 2020

HƯỚNG DẪN SỬA MẠCH NGUỒN XUNG SỬ DỤNG TOP254PN

 Xin chào các bạn, hôm nay mình cùng nghiên cứu với các bạn mạch nguồn xung sử dụng IC TOP254PN. Trong các bo mạch điện tử thì mạch nguồn xung đã quá phổ biến, IC TOP254PN là một IC rất thông dụng của hang Power Integration. Nó giá rẻ và hoạt động ổn định, công suất đầu ra tối đa khoảng 16W.

      SƠ ĐỒ CHÂN VÀ CHỨC NĂNG CHÂN TOP254PN

TOP254PN có 7 chân, gồm M C D 3 chân S. Bên trong IC TOP254PN có tích hợp một Mosfet và một bộ tạo xung điều chỉnh được tần số.



Chân M: Chân này quy định các chức năng của IC TOP254PN

Chân C: Là chân điều khiển, hay còn gọi là chân Feedback hồi tiếp. Chân này nhận các tín hiệu điện áp từ mạch hồi tiếp, nó sẽ phân tích điện áp hồi tiếp và điều chỉnh độ rộng xung, tần số xung bộ tạo xung bên trong TOP254PN, từ đó có thể ổn định được điện áp đầu ra của mạch nguồn xung

Chân D: là chân D của Mosfet bên trong TOP254PN

Chân S: là chân S của Mosfet bên trong TOP254PN

2.       PHÂN TÍCH MẠCH ĐIỆN CỤ THỂ SỬ DỤNG TOP254PN

 

     Chúng ta cùng phân tích mạch ứng dụng sử dụng nguồn đầu vào 96VAC – 256VAC. Điện áp cấp vào được qua cầu chì bảo vệ F1 và điện trở nhiệt RT1, sau đó điện áp đầu vào được lọc nhờ cuộn lọc L1, tụ C3. Điện áp sau khi đọc lọc sạch sẽ đi qua chỉnh lưu cầu, đầu ra điện áp cỡ khoảng 300VDC ( nếu đầu vào khoảng 220VAC) , điện áp 300VDC này được làm phẳng bằng tụ C4. Điện áp 300VDC này đưa vào cuộn sơ cấp của biến áp xung, đầu ra còn lại của cuộn sơ cấp biến áp xung được đưa vào chân D của TOP254PN. Chân S của TOP254PN nối với đất của mạch. 300DC qua 2 trở hạn dòng r3 r4 đi thẳng vào chân M của TOP254PN. Bên sơ cấp điện áp 300VDC được Mosfet bên trong TOP254PN đóng cắt với tần số do bộ tạo xung bên trong TOP254PN tạo ra, sinh ra dòng điện cảm ứng bên cuộn sơ cấp, từ đó cũng sinh ra dòng điện cảm ứng bên các cuộn thứ cấp. Ta nhìn thấy bên thứ cấp có 2 cuộn dây 7 11, 11 9. Điện áp trên các cuôn dây này được chỉnh lưu sang 5VDC và 12VDC bằng diode d7 d8. Sau đó điện áp ra được lọc và sản phẳng bằng các cuộn lọc và tụ ngay sau đó. Cơ bản của quá trình này được mô tả bằng sơ đồ sau.



Chúng ta để ý bên sơ cấp khi Mosfet đóng cắt tạo ra dòng điện cảm ứng trong cuộn dây, cuộn dây sinh dòng cảm ứng chạy ngược với dòng 300VDC, chính dòng ngược này có nguy cơ phá hủy Mosfet bên trong TOP254PN. Để ngăn chặn dòng ngược này người ta sử dụng cấu trúc RCD , có diode d6 chống dòng chạy ngược đi vào Mosfet, bảo vệ IC top254pn.

Để ổn định điện áp đầu ra là 5VDC, 12VDC, cần thiết phải tạo ra mạch phản hồi về chân C của TOP254PN. Chúng ta thấy đầu ra 5VDC 12VDC được đưa vào mạch phân áp r18 r21 r20. Điện áp trích ra từ R21 đưa vào IC TL431 để tham chiếu. Cũng nhận thấy rằng bên thứ cấp có cuộn dây phụ 5,6, điện áp sinh ra trên cuộn  56 này được chỉnh lưu bằng diode d6 FR106 , sau đó cấp nguồn DC sau chỉnh lưu opto PS2501-1. 2 chân còn lại của PS2501-1 cũng kết nối với điện áp 5VDC và TL431.

Cách thức phản hồi điện áp như sau:

Khi điện áp đầu ra vượt quá 5VDC 12VDC, thì điện áp trích mẫu Vr21 cũng sẽ tang lên, đưa vào chân tham chiếu của TL431 , bên trong TL431 có điện áp tham chiếu là 2.5VDC, nếu điện áp đưa vào chân tham chiếu lớn hơn 2.5VDC, TL431 dẫn, PS2501-1 dẫn, điện áp vào chân C TOP254PN đột nhiên tang lên. Bộ tạo dao động bên trong TOP254PN sẽ điều chỉnh lại tần số và độ rộng xung tới Mosfet để ổn định lại điện áp đầu ra 5VDC 12VDC.

Mời các bạn tham khảo bài viết gốc và các bài viết dạy sửa chữa điện tử khác tại địa chỉ: 

How to repair pulse power supply circuit using top254pn ?

Tuesday, March 15, 2016

[Stack]Captcha - Simple Project

Bài toán này nằm trong loạt bài giới thiệu các kiểu dữ liệu - Data Structure

Captcha được phát minh ra nhằm mục đích bảo vệ các trang web và hệ thống khỏi các hành vi phá hoại của các chương trình giả dạng con người (nhằm các mục đích xấu) hay gọi là bot hoặc spam bots. Captcha là chương trình phép thử tự động được tạo ra với mục đích hầu hết mọi người có thể vượt qua trong khi các chương trình máy tính hiện đại không thể vượt qua, đảm bảo robot không thể liên tục truy cập vào server từ một địa chỉ. Captcha là một mã hình ảnh đã được xử lý để robot rất khó đọc được. Tuy nhiên Captcha nảy sinh ra một vấn đề, đó là tốn thời gian của người dùng một cách vô nghĩa . Một vài ông kỹ sư đầu to ở Mỹ đã nghĩ ra một cách rất thông minh giải quyết vấn đề này. Họ dùng mã Captcha cấu tạo gồm 2 phần, phần 1 hệ thống đã biết mã thật (nó hiển thị gì) và phần 2 chưa biết. Người ta sẽ thống kê các kết quả người dùng gõ mã mà đúng phần 1, và được 1 bảng dữ liệu cho phần mã 2. Dữ liệu này được dùng để xác định chính xác đoạn mã 2 viết gì. Nó được sử dụng để số hóa các văn bản mà các hệ thống bot khác không làm được (như dự án số hóa toàn bộ sách của Google cần cái này), giúp tiết kiệm bộ nhớ(lưu text thì đỡ tốn bộ nhớ hơn ảnh), nhận diện chữ viết, huấn luyện robot..vv... Và mã capcha sau khi dc giải mã có thể lại được dùng làm mã capcha thật (đoạn mã 1 ở trên), vào chắc chắn robot ko thể phá được. Sau khi thu thập được dữ liệu gõ capcha của người dùng, mã đúng của nó là kết quả mà trên 75% người dùng gõ. Đó là bài toán thực tế, nhưng hoạt động của nó không hề đơn giản, ở đây mình chỉ đưa ra 1 bài toán rất đơn giản, khi dữ liệu đã được thu thập và sắp xếp. Trong một bài khác, chúng ta sẽ làm việc với dữ liệu thực tế hơn.


Sử dụng Captcha để nhận diện chữ viết, dùng cho các ứng dụng khác


1. USING


Stack


2. QUESTION


Giả sử dữ liệu đã được thu thập và lưu trữ cho từng mã Captcha một, bài toán ở đây rất đơn giản, tìm và in ra đoạn mã được người dùng điền nhiều nhất và tỉ lệ phần trăm (định dạng %.0f) của mã đó trong toàn bộ dữ liệu được lưu.

Thursday, March 3, 2016

[Algorithm] Sample Project

Bài này trong loạt bài giới thiệu về các thuật toán và ứng dụng của chúng. Bài viết này mình sẽ mô phỏng theo cấu trúc của 1 bài viết dùng một thuật toán nào đó giải quyết các vấn đề trong thực tế. Khung sườn của 1 bài viết sẽ được trình bày dưới đây.

Các công cụ được sử dụng như đã được giới thiệu là phần mềm VisualStudio bản từ 2012 trở lên. Vì với những bản từ 2012 mới hỗ trợ tối đa cho việc debug và test. Chương trình cũng chỉ bao gồm 2 file là Source chứa code solution, và 1 file input.txt chứa dữ liệu đầu vào.
Đôi khi sẽ có một phần giới thiệu sơ lược về thuật toán sẽ áp dụng, mô tả cách hoạt động và hiệu quả của thuật toán.

Saturday, February 6, 2016

[Dynamic] Part1.Bài toán cây ATM

Bài toán này nằm trong loạt bài giới thiệu thuật toán "Quy hoạch động" - Dynamic


Thuật toán quy hoạch động là gì ???? Trước khi bắt đầu chúng ta sẽ xem một ví dụ thực tế đơn giản để thấy thuật toán "Quy hoạch động" (Dynamic) hoạt động như thế nào và được ứng dụng làm gì!! 


1. ĐỀ BÀI

Để tiết kiệm tối đa chi phí vận hành và tăng tốc độ giao dich, các ngân hàng muốn thiết kế một thuật toán cho các cây ATM để cây ATM có thể trả được đúng số tiền dựa trên những loại tiền có trong ATM đó, và số tờ tiền rút ra là nhỏ nhất. Ví dụ : Một cây ATM chỉ còn tiền các mệnh giá 20$, 50$ , một khách hàng muốn rút 110$, thì cây ATM sẽ tính toán và trả 1 tờ 50$ và 3 tờ 20$. Nếu khách hàng muốn rút 60$ thì cây ATM sẽ báo không thực hiện được giao dịch. Hãy viết thuật toán thực hiện yêu cầu trên, đầu ra ghi số lượng tờ tiền rút ra, nếu không thể thực hiện giao dịch, in ra -1.


Giới hạn : Số Testcase NT không quá 30, Số loại tiền N không quá 10, Giá trị 1 loại tiền không quá 10000, Số tiền rút ra không quá 1000000.

Sunday, February 1, 2015

Ma trận phím và thiết kế cải tiến

Ma trận phím thường được sử dụng khi chúng ta muốn sử dụng số lượng lớn phím bấm cũng như các loại công tắc,cảm biến 2 trạng thái.Quét ma trận phím về nguyên lý thực ra không khó,tuy nhiên trong các thiết kế ma trận phím thông thường có một nhược điểm là chỉ cho phép bấm 1 nút tại một thời điểm,nếu không sẽ đọc sai kết quả.Bài này mình sẽ giới thiệu về ma trận phím,cách quét và thiết kế của ma trận kiểu mới.

1.Ma trận phím và cách đọc ma trận phím

Ma trận phím có nhiều kích thước,ở đây mình giới thiệu ma trận kích thước 2x2,được bố trí theo dạng 2 hàng 2 cột.Cũng giống như ma trận LED, các nút nhấn ở cùng hàng và cột được nối với nhau,vì thế như ma trận phím bên dưới có 4 ngõ ra (2 hàng , 2 cột).

Thursday, January 29, 2015

Tính toán cơ bản trong lập trình nhúng

Trong bài này mình sẽ giới thiệu hầu hết các thuật toán cơ bản nhất trong lập trình C (nhúng) mà mình biết,hầu hết là các thuật toán xử lý BIT,thanh ghi.Các thuật toán này hết sức cơ bản,nhiều bạn đã thành thạo rồi,tuy nhiên nó rất quan trọng và được sử dụng thường xuyên,nhưng lại thường bị mọi người bỏ qua.
Mình sẽ lấy ví dụ luôn với các thanh ghi trong module Digital I/O của MSP430 để các bạn tiện hình dung.

1.Các phép toán thông dụng

Mình chỉ nêu ra các phép toán rất hay dùng trong lập trình nhúng,các bạn tự tìm hiểu ý nghĩa vì nó rất cơ bản:
& , | , ^ , ! , ~ , << , >> , != , && , || , ++ , -- , (biểu thức điều kiện) a ? b : c , (viết tắt) ví dụ ^= ; |= 

Tuesday, January 13, 2015

Sạc pin Lithium đơn giản với TP4056

Bạn thường xuyên làm việc với MSP430 và các dòng vi điều khiển 16 và 32 bit,bạn đã từng thiết kế một ứng dụng cầm tay chưa? Nếu có thì pin chắc chắn là một vấn đề cần quan tâm.Bài này mình sẽ giới thiệu một giải pháp đơn giản giúp hoàn thiện bản thiết kế của bạn với các ứng dụng dùng pin.

Pin Lithium hiện nay đang ngày càng phổ biến,nguyên nhân vì tỷ số dung lượng/trọng lượng nhỏ hơn nhiều so với các loại pin khác,cụ thể nhất là cùng một trọng lượng thì pin Lithium có thể chứa được năng lượng lớn hơn khoảng 10-20 lần so với Acquy và gấp khoảng 6 lần so với pin Ni-Cd.

Sạc pin Lithium so với Acquy và pin Ni-Cd thực ra có cái dễ hơn và cũng có cái khó hơn,dòng sạc chi pin Lithium lớn hơn nhiều,và cũng không cần phải tạo xung như với Acquy,tuy nhiên phải đảm bảo nghiêm ngặt về điện áp,không được phép áp điện quá 4.2V,và không được nạp với dòng lớn hơn thông số dung lượng pin(Ví dụ pin dung lượng 1000mA thì dòng sạc tối đa là 1A và khuyến cáo ở mức 0.8A),nếu không có thể gây cháy nổ.Bù lại pin lithium lại có thời gian sử dụng lâu hơn,ít bị chai pin hơn.

Monday, January 12, 2015

Mạch đo nhịp tim - Bài 1.Mạch xử lý tín hiệu tương tự

Bài này mình sẽ hướng dẫn các bạn thiết kế mạch thu tín hiệu và tính nhịp tim.Mình chỉ tập trung vào mạch tương tự,cách thu và tách được sóng xung tạo ra khi tim bắt đầu co bóp.Phần mạch số có nhiệm vụ thu tín hiệu từ mạch tương tự,số hóa bằng ADC ,hiển thị dạng sóng tương tự như trên Oxilo,và từ đó tính được nhịp tim.Phần xử lý số có phần hiển thi GLCD phức tạp nhưng không cần thiết,các bạn có thể dùng Oxilo để thay thế,nếu cần mình sẽ đề cập trong 1 bài khác thiết kế Oxilo số.

Một chú ý quan trọng là mạch này sử dụng pin,nên sẽ không có mạch lọc loại bỏ tần số 50Hz từ điện lưới,vì vậy các bạn cần chắc chắn ngắt mọi nguồn nối mạch này với điện lưới(Ví dụ như dây nạp chương trình của MSP430),vì nó sẽ gây nhiễu đến tín hiệu.Đây là lỗi nhiều bạn rất hay gặp khi debug chương trình.

Tuesday, October 14, 2014

Thư viện Clock UCS của MSP430x5xx và x6xx

Download thư viện tại đây
1.GIỚI THIỆU
Module UCS là module điều khiển tạo xung clock cho toàn bộ hệ thống,tất cả điều điều khiển được bằng phần mềm.Đầu vào của module là các nguồn xung ngoại XT1 (có thể có XT2) và xung nội (DCO,VLO,REFO).
Đầu ra của module là 3 nguồn xung clock như ở các dòng MSP430 khác là 
ACLK (Auxiliary Clock) : 
MCLK ( Master Clock) : Dùng cho CPU
SMCLK (Subsystem Master Clock) :
Chi tiết các bạn có thể xem sơ đồ sau ,nhìn sơ đồ này chúng ta sẽ biết cần tác động những bit nào để có điều mình muốn :3

Friday, August 8, 2014

Bài 4.(Học MSP430 qua ví dụ) Đồng hồ số - Tạo menu,viết các hàm chức năng

1.Sử dụng ADC
1.1.Khởi tạo,đọc ADC

Thông thường chúng ta sử dụng GPIO cho chức năng nút bấm,tuy nhiên trong project này chúng ta sử dụng 1 ADC để nhận nhiều nút bấm thông qua phân áp khác nhau chu từng nút.

Trước hết cần download bộ thư viện ADC.h tại đây .Các bạn nên đọc lại Tutorial ADC10 của MSP430.Bắt đầu là khởi tạo Module ADC10.Chúng ta sẽ dùng điện áp tham chiếu VCC, nên khai báo hàm ADC10_Init(VCC); .Vì trong mạch không có điện trở treo trên chân P1.4 và P1.5 nên cần cài đặt điện trở nội kéo lên trên các chân này.


Sunday, July 20, 2014

Thư viện Flash của MSP430x2xx

          Bộ nhớ flash của MSP430 có một vùng nhớ có chức năng giống bộ nhớ EEPROM của các dòng VĐK khác, tức là không bị mất khi mất điện. Điểm khác biệt duy nhất cũng là đặc điểm của bộ nhớ flash là nó không thể ghi riêng lẻ từng ô nhớ mà phải ghi toàn bộ một khối.Vì vậy người ta chia bộ nhớ Flash ra các Segment.Trong MSP430 thông thường có 4 Segment (mỗi Segment có 64 ô nhớ 8bit) được dùng như EEPROM.

Wednesday, July 16, 2014

Thư viện ADC10 của MSP430x2xx

         ADC 10bit là module rất phổ biến và cơ bản trong hệ thống vào ra của MSP430.Để sử dụng module này trước tiên chúng ta cần khởi tạo các thanh ghi cho module bằng hàm ADC10_Init(Vref); Cài đặt thông số Vref phù hợp với điện áp tham chiếu mà bạn sử dụng.Một số điểm cần chú ý khi sử dụng
        - Cài đặt lại thông số biến PORT_ADC phù hợp với các cổng ADC mà bạn sử dụng.Ví dụ dùng cổng ADC A1,A2 A4 thì PORT_ADC=(BIT1+BIT2+BIT4);
        - Có hai chế độ hoạt động được sử dụng trong thư viện này là chuyển đổi từng kênh và chuyển đổi liên tục.Không thể sử dụng đồng thời cả hai chế độ.
        - Với chế độ chuyển đổi từng kênh,mỗi khi muốn đọc giá trị ADC,chúng ta gọi hàm ADC10_Read_Channel( ... ).Khi đó hàm này sẽ thực hiện lấy mẫu,và lấy dữ liệu ADC mới nhất ra.Việc này sẽ mất vài chục uS .

Thư viện UART của MSP430x2xx

          Đây là thư viện khởi tạo vào sử dụng module UART của MSP430.Việc sử dụng giao tiếp UART khá đơn giản và hữu ích trong nhiều ứng dụng.Cách sử dụng thư viện như sau:
          - Đầu tiên để sử dụng được giao tiếp UART,khai báo hàm khởi tạo module : UART_Init();
          - Để gởi dữ liệu từ MSP ra ngoài,chúng ra dựa vào kiểu dữ liệu mà có thể dùng các hàm UART_Write_ .
                   + Nếu là 1 ký tự thì có thể dùng UART_Write_Char(unsigned char).Với hàm này ngoài chức năng gởi ký tự,chúng ta còn có thể gởi các mã trong bảng ASCII ,ví dụ như ký tự xuống dòng(10), tab(7,9,11), xóa ngược(8).
                   + Nếu gởi chuỗi thì dùng UART_Write_String(*str); Các bạn có thể kết hợp với hàm sprintf trong C để chuyển mọi kiểu dữ liệu về string,tuy nhiên chú ý là kiểu số nguyên có giới hạn 2 byte(65535) ,nên nếu muốn truyền số lớn thì phải dùng hàm UART_Write_Int( ... ); Ngoài ra nếu muốn truyền số thực thì dùng UART_Write_Float(x,coma) với coma là số chữ số sau dấu phẩy.

Thursday, June 26, 2014

Bài 3.(Học MSP430 qua ví dụ)Đồng hồ số - I2C ,Hiển thị giờ


1.      Hiển thị giờ
1.1.   Đọc ghi IC BQ32000
BQ32000 là 1 IC thời gian thực tương tự DS1307,để sử dụng được IC này chúng ta phải đọc Datasheet của nó.Về cơ bản IC này có chức năng giống như DS1307.Khi bắt đầu chương trình chúng ta cần tạo xung 1Hz xuất ra trên chân IRQ của BQ32000.Dùng xung này cho vào chân ngắt P1.0,chúng ta sẽ không phải liên tục đọc các thanh ghi của BQ32000 để xem sự thay đổi thời gian nữa,cứ mỗi ngắt của P1.1 thì tăng biến giây thêm,biến phút và giờ cũng vậy.Cứ sau 1 tiếng thì lại đọc lại các thông số thời gian để kiểm tra đề phòng trường hợp có nhiễu.

Friday, June 20, 2014

Bài 2.(Học MSP430 qua ví dụ)Đồng hồ số - Trình tự lập trình,UART,LED

1.   Trình tự lập trình

Trước khi bước vào phần này thì có nghĩa là các bạn đã thi công mạch xong.Bắt đầu chúng ta sẽ xác định tuần tự các bước lập trình:
-       Tạo Project ,chọn chip lập trình,ở đây là MSP430G2553
-       Thiết lập giao tiếp UART ,xung Clock (Clock,UART)
-       Quét Led (GPIO)
-       Đọc IC thời gian thực BQ32000,hiển thị giờ ,ngày (Ngắt , I2C)
-       Quét bàn phím , đọc nhiệt độ dùng ADC (ADC)
-       Tạo menu chương trình,viết hàm chỉnh giờ,ngày (I2C)
-       Chỉnh độ tương phản led ,hẹn giờ,đồng hồ đếm ngược(Flash)
Bây giờ thì có thể bắt tay vào lập trình được rồi.


Monday, June 16, 2014

Bài 1.(Học MSP430 qua ví dụ)Đồng hồ số - Yêu cầu chức năng,thiết kế


         Thông thường khi bắt đầu làm một project về điện tử,việc đầu tiên bạn nghĩ đến sẽ là vẽ mạch. Tuy nhiên,mạch điện lại là phần khó sửa chữa nhất trong một dự án về điện tử,và cũng là phần ảnh hưởng rất lớn tới toàn bộ các công đoạn khác.
Bài này mình sẽ hướng dẫn quy trình cơ bản khi xây dựng một project.Các kiến thức dưới đây là do kinh nghiệm thực hành và một khóa quản lý dự án nhỏ mà mình may mắn được học,nếu có phần nào chưa tốt các bạn có thể góp ý và hòm thư của mình.
          Dưới đây là toàn bộ quy trình.


Saturday, June 14, 2014

Đồng hồ số dùng MSP430

Đồng hồ số này mình thiết kế dùng vi điều khiển MSP430 và led chuyên dụng hiển thị đồng hồ.Các bạn khi làm mạch này ngoài việc có một chiếc đồng hồ nhỏ gọn nhiều chức năng để sử dụng,ngoài ra bạn nào muốn học về vi điều khiển MSP430 nói riêng và học lập trình điện tử nói chung có thể dùng làm kit thực hành rất trực quan.

Thursday, May 29, 2014

Bài 8.(MSP430_Basic) I2C USCI



            I2C là một chuẩn truyền thông đa chip chủ được sử dụng khá phổ biến trong rất nhiều thiết bị như bộ nhớ,bộ chuyển đổi ADC,DAC,đồng hồ thời gian thực… Ưu điểm của chuẩn I2C là tốc độ khá cao (400Khz max) ,cho phép nhiều chip Master trên cùng 1 mạng I2C.Có địa chỉ nên sử dụng được rất nhiều thiết bị trong cùng 1 mạng(128 thiết bị với đường địa chỉ 7bit hoặc 1024 thiết bị với đường địa chỉ 10bit).

Trước hết trước khi bắt đầu các bạn nếu chưa có datasheet của dùng MSP430 thì có thể download tại đây : http://www.ti.com/general/docs/lit/getliterature.tsp?baseLiteratureNumber=slaa559&fileType=pdf .
 Lưu ý Datasheet vẫn luôn là tài liệu quan trọng nhất khi bạn tiếp cận bất cứ dòng vi điều khiển nào , nên việc thành thạo tiếng Anh và khả năng đọc Datasheet vẫn là quan trọng nhất. 
Tài liệu được viết cho MSP430G2553,các chip khác có module khác mã sẽ không sử dụng được thư viện đi kèm.

1.        Giới thiệu chung Module I2C_USCI
1.1.              Giới thiệu sơ lược về chuẩn giao tiếp I2C:
-       I2C là một  loại bus ngoại vi được phát triển bởi hãng Philip
-       Nguồn cung cấp cho giao tiếp I2C thường là 5v hoặc 3.3v
-       I2C là giao tiếp được thực hiện trên hai đường dây: SCL và SDA
o   SCL:Dây truyền xung clock từ master đến slave
o   SDA:Dây truyền dữ liệu theo 2 chiều
-       Do trên bus i2c chỉ có 2 dây mà có thể gắn kết nhiều thiết bị nên cần phân biệt các thiết bị bằng địa chỉ
-       Trên bus i2c ko thể kết nối 2 thiết bị có cùng địa chỉ.


Saturday, May 24, 2014

Giao tiếp MSP430 và LCD16x2


          LCD16x2 là một công cụ hiển thị hết sức cơ bản và quen thuộc với tất cả các bạn đã và đang học điện tử.Vì vậy trong bài này mình không đi sâu giải thích nguyên lý hoạt động của nó nữa.Ở đây mình chỉ hướng dẫn cơ bản cách sử dụng thư viện LCD16x2.h ,các hàm và cách viết chương trình.Bộ thư viện này chỉ là giao tiếp I/O nên dùng được cho mọi dùng MSP430.

Thursday, May 15, 2014

DIY máy rửa mạch


Các bạn nếu đã từng tự tay làm một sản phẩm điện tử hẳn đều biết đến công đoạn rửa mạch.Mình trước đây cũng thi thoảng làm,và sau khi là mạch xong lại phải ngồi hỳ hục “lắc lắc” cái hộp dung dịch FeCl3 để ăn mòn.Nên rảnh ngồi chế cái máy rửa mạch này chơi.Máy này dùng dung dịch gì cũng được.

Nguyên lý của nó rất đơn giản,là dùng dòng nước được luân chuyển liên tục giúp mặt đồng tiếp xúc được nhiều hơn với FeCl3.Như các bạn đã biết khi cho đồng vào dd FeCl3 sẽ có phản ứng khử đồng tạo CuCl2 và FeCl2.Kết quả là tạo ra môt chất màu đỏ gạch ít tan trong nước (khi để lâu thì sẽ thấy nó lắng xuống rất nhiều) chắc là FeCl2 (Vì mình lâu không động đến hóa nên ko chắc nó còn tạo ra cái gì khác không). Thường nếu chỉ cho bảng đồng vào FeCl3 mà không làm gì thì sau 1 thời gian FeCl2 sẽ bám vào bề mặt đồng ngăn quá trình oxi hóa xảy ra nên quá trình ăn mòn rất lâu,cho nên nhiều bạn( trong đó có mình) phải làm đủ trò như “lắc lắc “ cái hộp dung dịch hay đổ nước nóng vào.Chung quy lại cái máy này cũng chỉ để giải quyết vấn đề đấy.
END COMMENT FACEBOOK-->