Thứ Tư, 24 tháng 10, 2012

Thiết kế linh kiện dán trong Altium Designer

- Altium Designer Winter 09.
- Phương pháp thiết kế linh kiện dán ( SMD )
- Sử dụng phương pháp tọa độ thiết kế.
- Thay đổi linh hoạt lưới ( Grid ).
- Sử dụng các kích thước trong datasheet của linh kiện.


Chú ý : Thiết kế bằng đơn vị hệ metric ( mét - m ) để có một kích thước chính xác nhất !

Phím tắt đổi qua lại giữa 2 đơn vị mét và Inch là Q

Trong bài này, ta sẽ thiết kế chân cho linh kiện dán Atmega8, có 32 chân dán và chân sắp xếp theo hình vuông

( Atmega8 có sẵn chân trong thư viện chuẩn của nó. Nhưng để gần gũi và dễ hình dung, ta sẽ thiết kế lại chân cho linh kiện này )

Đầu tiên, ta tạo một thư viện chân linh kiện :






Tạo thư viện PCB


Lưu và đặt tên cho thư viện. Ví dụ : LINH KIEN DAN.PcbLib




Lưu thư viện


Trong thẻ PCB Library nhấn chuột phải chọn Add để tạo linh kiện mới ( Hoặc Tools > New Blank Component, phím tắt là T W )Đặt tên cho linh kiện :




Đặt tên cho linh kiện mới




Chú ý : Nếu thẻ PCB Library chưa xuất hiện, thì ta có thể lấy nó tại đây :



Thẻ PCB Library


Bật datasheet của Atmega8 lên, tìm đến phần mô tả kích thước. Ta nên chọn kích thước ở phần giữa MOM ( Hoặc khoảng chẵn giữa MAX và MIN để sau này chia đôi cho dễ )



Xem Datasheet




Giờ tới phần thiết kế khung cho linh kiện :
Khung cho linh kiện sẽ được thiết kế ở lớp Top Overlay
Để vẽ khung, ta vẽ bằng đường LINE ( phím tắt P L )
Để dùng với phương pháp tọa độ, bạn phải dùng một công cụ rất mạnh và có sẵn của Altium từ khi mới chào đời ( Protel SE ), đó là công cụ PCB... Inspector Nếu chưa có, lấy công cụ đó ở đây :




Thẻ PCBLIB Inspector


Thêm vào đó là gốc tọa độ phải luôn nằm ở giữa hoặc gần linh kiện, như vậy mới có thể tính tọa độ chính xác và khi lấy linh kiện cho thiết kế, tọa độ của linh kiện nằm ngay dưới con trỏ chuột.
Trong phần mô tả kích thước của linh kiện, ta thấy khung của linh kiện là 7 mm, theo phương pháp tọa độ, ta sẽ có giá trị x1, x2, y1, y2 tương ứng với hai đầu của đối tượng. Vì vậy các giá trị sẽ đượcchia đôi và lấy cộng trừ.

Ví dụ trong thẻ Inspector : 7mm thì sẽ có giá trị
x1 = -3,5 mm
x2 = 3.5 mm
y1 = y2 =3.5 mm




Vẽ khung linh kiện ở lớp Overlay


Làm tương tự, ta sẽ có khung sau :



Hoàn thành khung


Bạn nên nhớ các tọa độ của x,y để thay đổi cho phù hợp !


Bước tiếp theo là lấy chân cho linh kiện :



Tạo chân dán cho linh kiện ở lớp TOP LAYER


Các thiết đặt như trong hình.
Kích thước 0.4 và 2 lấy trong datasheet

Chú ý : Chân linh kiện dán nhất thiết phải để ở lớp TOP LAYER
Do khoảng cách giữa các chân là 0.8 mm, vì vậy, ta nên để Snap Grid là 0.8 mm để đặt chân tiếp theo cho tiện, không phải ước chừng khoảng cách nữa.
Thiết lập Snap Grid bằng cách nhấn Tools > Library Options ( Phím tắt O B ) giá trị thiết lập tại đây :



Thiết lập Snap Grid




Chân của Atmega8 có 32 chân ( loại linh kiện dán, cắm thì có ít hơn ), chia làm 4 nhóm, mỗi nhóm 8 chân. vì vậy ta sẽ thiết đăt như sau :



Sắp xếp các chân


Tiếp theo là để chân cho khớp với BODY ( mình gọi là khung, nhưng thực chất nó là cơ thể -BODY của linh kiện )
Với hàng dọc, ta sử dụng công cụ Inspector như sau :




Sử dụng công cụ Inspector với hàng dọc


Với hàng ngang, ta sử dụng công cụ Inspector như sau :



Sử dụng công cụ Inspector với hàng ngang


Giải thích số 4.5 mm : Chiều dài của chân linh kiện là 2mm, mà tọa độ tính từ tâm tính ra. Đường cách tâm là 3.5 mm , chân muốn trùng với đường thì tâm của linh kiện phải cách đường là1mm. Suy ra tâm chân linh kiện cách gốc tọa độ là 3.5+1 = 4.5 mm
Tiếp theo là sắp chân sao cho cân đều như trong datasheet.

Phân tích :
- Khoảng cách chân với chân là 0.8 mm,
- Có 8 chân trên một hàng, do vậy muốn cho đúng gữa thì 2 chân giữa của hàng đó ( ví dụ chân 4, 5 ) phải cách đều so với tâm. Có nghĩa là tọa độ của hai chân giữa là một nửa 0.4 mm



Giải quyết : Thiết lập lại Snap Grid là 0.4 mm



Thiết lập Snap Grid


Rồi kéo hàng chân đó sao cho hai chân ở giữa cách đều tâm
Xong xuôi, ta sẽ có linh kiện như sau :








Thêm mắm thêm muối vào, tùy thẩm mỹ và quan điểm thiết kế của từng người mà cho ra sản phẩm cuối cùng.Ví dụ :




Kết quả








Nguồn: Nomad204

Hướng Dẫn Tạo Thư Viện Trong Altium Designer

Mục đích: Giúp những người mới học tự thiết kế được bộ thư viện riêng.

Nội dung:
1. Thiết kế thư viện nguyên lý (SCH LIB)
2. Thiết kế thư viện chân linh kiện (PCB LIB)
3. Kết nối linh kiện giữa hai thư viện
Tài liệu tham khảo thêm: Bài viết Thiết kế linh kiện dán
Linh kiện thiết kế trong ví dụ: MMA7260Q
Tác giả: Nomad204, HaUIonline.com

NỘI DUNG CHÍNH


1. Thiết kế thư viện nguyên lý


Tạo mới 1 file thư viện nguyên lý:




Tạo thư viện Schematic


Chúng ta nên nhớ, thư viện nguyên lý như một ngôi nhà, trong đó các kí hiệu, linh kiện trong đó là các thành viên trong ngôi nhà. Có nghĩa là trong thư viện, có thể chứa rất nhiều linh kiện. Chúng ta không nên nhầm lẫn là mỗi thư viện chỉ chứa đúng một linh kiện.
Đặt tên cho thư viện, nên đặt một cái tên chung và dễ nhớ. Trong ví dụ này là MyLib.Schlib

Mở Workspace SCH Library (bên trái), chúng ta sẽ thấy mặc định là tên một linh kiện. Nếu muốn thêm linh kiện khác, các bạn hãy nhấn vào nút Add. Nếu không có Workspace SCH Library, các bạn có thể lấy nó ở vị trí mũi tên trong hình.



Thẻ SCH Library


Nháy kép vào tên linh kiện ở Workspace SCH Library, và làm theo như trong hình:



Chỉnh các thông số cho linh kiện


Một số chú ý:
Default Designator: Số hiệu của linh kiện,U?: Số hiệu của IC
R?: Số hiệu của điện trở
C?: Số hiệu của tụ
Q?: Số hiệu của Transistor, FET, ....
Y?: Số hiệu của thạch anh
......
Dấu "?" là các số tự nhiên (1 2 3 4 ...) mà sau này chúng ta dùng đến trong chức năng đánh số tự động của Altium

Comment: Giá trị của linh kiện được ghi trên vỏ, cái này là dùng làm kí hiệu cho lắp ráp, dùng để cho công nhân lắp ráp và List linh kiện.
Symbol Reference: Tên của linh kiện khi được List trong danh sách của thư viện, mặc định là Component_1
Value: Giá trị của linh kiện trên bản vẽ nguyên lý, dùng cho người thiết kế và phân tích mạch, cũng có thể dùng để list linh kiện. Nếu không có Value, thì ta phải tạo mới bằng nút AddĐến phần vẽ khung và chân linh kiện:
Trong Altium, cái nào ra trước thì nằm dưới cái ra sau.

Ví dụ: Vẽ khung màu vàng trước, thêm chân sau thì chữ của chân sẽ nổi lên khung.
Thêm chân trước, sau đó mới vẽ khung thì chữ của chân sẽ bị chìm dưới khung, không nhìn thấy.



Tạo khung:



Tạo khung nền cho linh kiện


Thêm chân: (Add PIN):



Tạo chân cho linh kiện


Hiệu chỉnh giá trị cho chân:

Trước tiên, ta phải biết các thông số của chân linh kiện, cái này được cho ở Datasheet của linh kiện



Đọc DataSheet


Ta thấy rằng, MMA7260Q có:16 chân

2 chân đầu vào
2 chân nguồn
7 chân không kết nối - NC
3 Chân đầu ra
1 Chân logic

Vậy thông số các chân sẽ như sau:





Chân đầu vào



Chân nguồn



Chân không kết nối



Chân Logic



Chân đầu ra


Lưu ý:
Độ dài các chân nên để là: 20
khoảng cách hẹp nhất giữa hai chân liền nhau là: 10

Sắp sếp tổng thế ta được như sau:



Sắp xếp các chân


Nếu không muốn hiển thị các chân NC, chúng ta làm như sau:
+ Chọn các chân NC
+ Giữ Shift và kích chuột trái để gọi Workspace SCHLIB Inspector
+ Tích vào thuộc tính Hide



Ẩn các chân NC


Kết quả cuối cùng:



Hoàn thành



2. Tạo thư viện PCB


Các điều cần lưu ý khi tạo thư viện PCB, thêm linh kiện trong Altium:

- Không nên tạo thư viện tích hợp vì bất tiện cho việc cập nhật linh kiện mới.

- Luôn để tâm của linh kiện trùng vào gốc tọa độ của bản vẽ (Orignal)

- Các kích thước lỗ khoan chân linh kiện thông dụng:
0.6mm, 0.8mm, 1mm, 1.2mm, 1.5mm, 2mm, 2.5mm, 3mm, 3.2mm ....
Không nên để kích thước lỗ là mil, vì ở điều kiện làm mạch ở Việt Nam, sẽ không sử dụng đơn vị này => khoan không đúng kích thước chân linh kiện

- Bề mặt bám thiếc (X-size, Y-size) thường thì để gấp đôi kích thước lỗ, nhưng còn tùy thuộc vào điều kiện thực tế của mạch.

- Chuyển đổi linh hoạt giữa đơn vị Mil và mm, không nên gò bó vào một đơn vị nào đó.
Ví dụ: Lỗ chân linh kiện để là 0.8mm, khoảng cách các chân để là 100mil.
Phím tắt để chuyển đổi qua lại giữa 2 đơn vị là : Q

- Nên dùng phương pháp tọa độ và sử dụng thành thạo công cụ Inspector để có được một kích thước chuẩn nhất.
Điều này rất quan trọng đối với linh kiện đòi hỏi sự ghép khít, chính xác như: Led matrix, Led 7 thanh, ...
Linh kiện có kích thước càng sát với kích thước thật thì sắp mạch sẽ càng gọn và khoa học.

Nội dung chính của bài hướng dẫn này:

Thư viện PCB cũng giống như thư viện SCH, có nghĩa là nó có thể chứa không chỉ một mà rất rất nhiều linh kiện. Vì vậy chúng ta nên đặt một cái tên dễ nhớ, ngắn gọn nhất
Trong bài này, tên thư viện là Mylib.pcblib
Tạo mới thư viện:



Tạo thư viện PCB


Lưu thư viện với tên : MyLib.pcblib
Trong bài này, chúng ta sẽ tạo chân cho con MMA7260Q, các kích thước của nó đã được cho trong datasheet:



Xem DataSheet


Tại Workspace PCB Library, nháy kép vào tên PCBCOMPONENT_1 và đổi tên như hình:



Đặt tên linh kiện


Lưu ý: Tên của linh kiện nên để theo tên trong Datasheet

Tạo chân cho linh kiện: Chú ý những khung màu đỏ



Tạo chân linh kiện


Vẽ khung và sắp xếp chân như sau:







Lưu ý: Cách vẽ linh kiện đã được nói rõ ở trong: Thiết kế linh kiện dán.

Linh kiện sau khi hoàn chỉnh:



Hoàn thiện linh kiện


3. Kết nối linh kiện giữa hai thư viện
Lưu ý: Thư viện PCB và SCH nên để chung ở cùng một thư mục, khác thư mục chứa hệ điều hành.

Thực hiện:

Mở thư viện SCH và thư viện PCB
Ở thư viện SCH, chọn linh kiện cần liên kết chân và làm theo các bước lần lượt sau:










Kết nối linh kiện giữa hai thư viện


Hoàn chỉnh:









Nguồn: Nomad204

Hướng dẫn sử dụng Visual Basic 6.0

Chương I - Chào mừng bạn đến với Visual Basic

Dùng VB6 là cách nhanh và tốt nhất để lập tŕnh cho Microsoft Windows. Cho dù bạn là chuyên nghiệp hay mới mẻ đối với chương tŕnh Windows, VB6 sẽ cung cấp cho bạn một bộ công cụ hoàn chỉnh để đơn giản hóa việc triển khai lập tŕnh ứng dụng cho MSWindows.
Visual Basic là gì ? Phần "Visual" đề cập đến phương pháp được sử dụng để tạo giao diện đồ họa người dùng (Graphical User Interface hay viết tắc là GUI) . Có sẵn những bộ phận hình ảnh, gọi là controls, bạn tha hồ sắp đặt vị trí và quyết định các đặc tính của chúng trên một khung màn hình, gọi là form. Nếu bạn đă từng sử dụng chương trình vẽ chẳng hạn như Paint, bạn đă có sẵn các kỹ năng cần thiết để tạo một GUI cho VB6.
Phần "Basic" đề cập đến ngôn ngữ BASIC (Beginners All-Purpose Symbolic Instruction Code), một ngôn ngữ lập tŕnh đơn giản, dễ học ,được chế ra cho các khoa học gia (những người không có thời giờ để học lập trình điện toán) dùng.

Visual Basic đă được ra từ MSBasic, do Bill Gates viết từ thời dùng cho máy tính 8 bits 8080 hay Z80. Hiện nay nó chứa đến hàng trăm câu lệnh (commands), hàm (functions) và từ khóa (keywords). Rất nhiều commands, functions liên hệ trực tiếp đến MSWindows GUI. Những người mới bắt đầu có thể viết chương tŕnh bằng cách học chỉ một vài commands, functions và keywords. Khả năng của ngôn ngữ này cho phép những người chuyên nghiệp hoàn thành bất kỳ điều gì nhờ sử dụng ngôn ngữ lập tŕnh MSWindows nào khác.

Người mang lại phần "Visual" cho VB là ông Alan Cooper. Ông đă gói môi trường hoạt động của Basic trong một phạm vi dễ hiểu, dễ dùng, không cần phải chú ư đến sự tinh xảo của MSWindows, nhưng vẫn dùng các chức năng của MSWindows một cách hiệu quả. Do đó, nhiều người xem ông Alan Cooper là cha già của Visual Basic.

Visual Basic còn có hai dạng khác: Visual Basic for Application (VBA) và VBScript. VBA là ngôn ngữ nằm phía sau các chương tŕnh Word, Excel, MSAccess, MSProject, .v.v.. còn gọi là Macros. Dùng VBA trong MSOffice, ta có thể làm tăng chức năng bằng cách tự động hóa các chương trình VBScript được dùng cho Internet và chính Operating System. Dù cho mục đích của bạn là tạo một tiện ích nhỏ cho riêng bạn, trong một nhóm làm việc của bạn, trong một công ty lớn, hay cần phân bố chương trình ứng dụng rộng răi trên thế giới qua Internet, VB6 cũng sẽ có các công cụ lập tŕnh mà bạn cần thiết.

Các ấn bản Visual Basic 6

Có ba ấn bản VB6: Learning, Professional và Enterprise. Chúng ta hăy gát qua ấn bản Learning. Bạn có thể dùng ấn bản Professional hay Enterprise.

Ấn bản Professional cung cấp đầy đủ những ǵ bạn cần để học và triển khai một chương tŕnh VB6, nhất là các control ActiveX, những bộ phận lập tŕnh tiền chế và rất hữu dụng cho các chương tŕnh ứng dụng (application programs) của bạn trong tương lai. Ngoài đĩa compact chính cho VB6, tài liệu đính kèm gồm có sách Visual Studio Professional Features và hai đĩa CD Microsoft Developer Network (MSDN).

Ấn bản Enterprise là ấn bản Professional cộng thêm các công cụ Back Office chẳng hạn như SQL Server, Microsoft Transaction Server, Internet Information Server.


Phần mềm giao tiếp trên máy tính sử dụng VB

Phần I: Cấu tạo LED ma trận 16x32 trên thị trường - Module P10
Phần II: Thiết kế mạch điều khiển module Led matrix P10
Phần III: Phần mềm giao tiếp trên máy tính sử dụng Visual Basic sẽ được trình bày tại bài viết này.


· Tổng quan các Module của phần mềm:
Chọn cổng COM kết nối.
Cài đặt thời gian và hẹn giờ cho bảng.
Truyền dữ liệu ra bảng.
Cài đặt số module bảng.
Module kiểm tra phần cứng.
1. Module chọn cổng COM kết nối.



Để có thể giao tiếp với bảng ta cần phải chọn cổng COM đã kết nối với bảng. Ta thao tác vào combobox để chọn một trong số các cổng COM có sẵn trong máy. Sau đó ấn cài đặt . Nếu giá trị cổng COM tồn tại trong máy sẽ có thông báo kết nối thành công.









Sau khi cổng COM đã được kết nối người dùng có thể giao tiếp với bảng.
2. Module cài đặt thời gian và hẹn giờ cho bảng.





Lấy giờ của máy . Việc này giúp người dùng tự động lấy thời gian của máy tính mà không phải tuỳ chỉnh bằng tay.
- Lưu lại . Sau khi đã thiết lập thời gian và hẹn giờ trên các box. Ta tiến hành lưu thời gian bằng cách truyền ra bảng qua cổng COM. Yêu cầu cổng COM phải được mở.
3. Module cài đặt số kích thước bảng.



- Module này giúp ta có thể mở rộng số lượng bảng bằng cách ghi kích thước bảng vào Textbox, rồi ấn cài đặt . Khi đó thông số sẽ được cài đặt vào mạch CPU.
- Lưu ý: Kích thước có giới hạn tuỳ vào mạch (phụ thuộc vào dung lượng bộ nhớ và tốc độ xử lý của vi điều khiển)



4. Truyền dữ liệu ra bảng.










Tại đây ta thấy rất nhiều các tuỳ chọn cho người sử dụng như chọn kiểu bảng, chọn tốc độ, chọn hiệu ứng…..
Người dùng có thể tuỳ chọn xoá , xoá tất cả hoặc thêm dữ liệu bảng.
Bên cạnh đó hai nút Up và Down giúp người sử dụng có thể sắp xếp các bảng cho phù hợp với ý của mình.
Tất cả những dữ liệu bảng mà người dùng đã chọn sẽ được lưu vào file database.Việc này giúp người dùng không phải thao tác lại những bảng đã ưng ý. Thay vào đó chỉ việc chỉnh sửa lại bảng cho phù hợp với ý mình.
Việc tích hợp thêm module cập nhật giá vàng và thời tiết các vùng sẽ làm phong phú dữ liệu của bảng hơn. Chức năng này sẽ được phát triển thêm kèm với việc tự động cập nhật mỗi khi bật máy hoặc theo giờ đã cài đặt.


Giải thuật truyền của từng bảng:

code mẫu cho 8051 - Quét LED 7 đoạn

Chương trình quét LED 7 đoạn để hiển thị các số từ 00 đến 99.

Mã nguồn C:



#include<at89x51.h>
#define c P2_0
#define d P2_1
unsigned char so[10]={0xc0,0x79,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};
void delay(int ms)
{
while(ms--)
{}
}
void hienso(unsigned char x)
{
unsigned char chuc=x/10;
unsigned char donvi=x%10;
c=1;d=1;
if(x>=10)
{
c=0;
d=1;
P0=so[chuc];
delay(50);
c=1;
d=0;
P0=so[donvi];
delay(50);

}
if(x<10)
{
c=0;
d=1;
P0=so[x];
delay(100);
}
}
main()
{
P0=0xff;
while(1)
{
unsigned char i;
for(i=0;i<100;i++)
hienso(i);
}
}





DBS M05479
Quang Cao