Một số mạch điện tử ứng dụng hay

Được đăng bởi NetVN Thứ hai, ngày 22 tháng tư năm 2013 0 nhận xét
mạch khuếch đại âm thanh

Mạch ghi âm 

Mạch khuếch đại âm thanh

mạch tai nghe

mạch cảm ứng chạm tay rất nhạy

Mạch còi hú cảnh sát

Mạch đa hài

Mạch điều khiển từ xa phần phat

Mạch điều khiển từ xa phần thu

Cách làm robot dò đường đơn giản

Được đăng bởi NetVN Thứ hai, ngày 08 tháng tư năm 2013 0 nhận xét
Hướng dẫn cách làm một robot dò đường đơn giản sử dụng Opamp so sánh (đúng hơn là một chiếc xe lần mò theo vạch đen )
* Chuẩn bị:
- Linh kiện:
- 1 con Opamp loại 8 chân LM393 (2 kênh) hoặc loại 14 chân (4 kênh) LM324. Nếu không có loại LM có thể xài loại khác, như HA chẳng hạn.
- 2 con BJT loại NPN C1815 (hoặc loại khác cũng được).
- 2 quang trở.
- 2 led siu sáng (trắng).
- 6 điện trở 10k.
- 2 Mô tơ, loại cỡ 5V, có thể lấy từ xe đồ chơi của con nít (ở đây tớ lấy từ ổ CD-Rom 1 cái và chôm của thằng bạn 1 cái).
- Nguồn sử dụng 9V hoặc 4.5V (ở đây mình xài nguồn 9V).
- 2 điện trở hạn dòng cho led phát 1k (nếu xài nguồn 9V) và khoảng 220 ôm nếu xài nguồn 4.5V).
- Và các đồ phụ gia tráng trí khác, chủ yếu là led gắn vào cho đẹp, một vài cái dắt cắm, công tắc…
- Đồ dùng khác: mỏ hàn, chì hàn, kéo, băng keo đen (làm vạch)…
* Bắt đầu làm:
+ Phần mạch (ta tách riêng thành 2 phần, 1 phần cảm biến và 1 phần mạch chính cho dễ lắp đặt):
1. Bộ phận “cảm biến”:
-Cách làm:
Sử dụng 2 quang trở, 2 led phát, 2 trở hạn dòng cho led phát. Mắc theo sơ đồ sau:


Đặt 2 quang trở cách nhau khoảng 3.5cm-4cm, dùng băng keo đen quấn quanh quang trở để chống nhiễu. Ở đây mình sử dụng thêm 2 công tắc cho led phát để tắc ”khi cần thiết”.
-Nguyên lý hoạt động:
Khi có ánh sáng thì điện trở của quang trở sẽ giảm và ngược lại, điện trở của nó thay đổi cỡ từ 5k (khi có ánh sáng) đến 100k (không có ánh sáng), ta sử dụng 2 led phát làm nguồn sáng cho nó.
=> khi gặp nền trắng, ánh sáng sẽ phản xạ lên quang trở làm điện trở nó giảm xuống và khi gặp vạch đen (băng keo đen) thì ánh sáng sẽ khó phản xạ nên quang trở nhận ít ánh sáng => trở nó tăng. Từ đó dựa vào 2 quang trở, robot có thể phân biệt được vạch đen trên nền trắng (dưới sự hỗ trợ của opamp so sánh).

2. Mạch điều khiển moto (mạch chính)
Sử dụng 6 con trở 10k, Opamp, nguồn 9V, 2 con BJT.
Opamp LM 324:

Nguyên lý so sánh đơn giản của opamp thế này:
Nếu cho vào cổng (+) (cổng 3, 5, 10, 12) một điện áp lớn hơn điện áp cổng (-) (cổng 2, 6, 9, 13) thì ở cổng ra (cổng 1, 7, 8, 14) sẽ là mức dương, ngược lại là mức 0. Nhớ cấp nguồn cho Opamp ở 2 cổng 4 và 11.
Ở đây mình chỉ sử dụng 2 kênh là (1,2,3) và (5,6,7).
Sơ đồ:


Và đây là mạch hoàn chỉnh (2 mạch trên ”cắm” lại với nhau thôi).

+ Phần cơ (phần này hơi khổ).
Chuẩn bị 2 moto và thêm 2 bộ phận giảm tốc, bộ phận này giúp robot dễ ”cày” hơn nhưng chạy chậm hơn. Chạy chậm giúp robot dễ nhận vạch hơn vì mấy cảm biến này thay đổi hơi chậm (chậm mà chéc ).
2 moto ta sẽ gắn với 2 bánh sau, phía trước gắn 1 bánh xe có thể đổi hướng (giống bánh xe ở cái ghế của mấy cha giám đốc á, tất nhiên là xài loại nhỏ thôi). Nếu ko tìm ra loại bánh xe đó thì… đành phải tự chế thôi.
Bên dưới… xe

Bên trên (nói chung là nó cứ như miếng nhựa với 2 bánh xe, chụp ảnh từ di động cùi nên ảnh ko đẹp cho lắm

+ Phần ”sân” (cái này tốn keo lắm).
Lấy khoảng 4-6 tờ A4 ghép lại thành sân, lấy keo đen dán lên làm vạch, nhớ dán cẩn thận, tránh gồ gề (chỗ uốn dễ bị ”lồi” keo) để xe có thể dễ bon bon trên vạch.
Đây đã tốn nửa cuộn keo đen (5k 1 cuộn) để dán đi dán lại cái sân mà chẳng ra hồn.
Hình ảnh:

Nguyên lý hoạt động của toàn mạch:
- Khi 2 cảm biến đều nhận nền trắng:
Điện trở của 2 quang trở đều giảm xuống chừng 5k => cổng 3 và 5 của Opamp sẽ có áp cao hơn cổng 2 và 6 (cổng 2 và 6 ta phân áp cố định cho nó là 9/2=4.5V).
=> Cổng ra 1 và 7 của 2 kênh sẽ ở mức dương => kích 2 BJT dẫn
=> cả 2 moto đều quay
>Cả 2 moto đều quay, robot chạy thẳng.
- Khi cảm biến bên trái nhận vạch đen (robot đang lệch phải).
Điện trở của quang trở 1 sẽ tăng lên cỡ 50-80k => áp trên cổng 3 sẽ bé hơn 4.5V (áp trên cổng 2) => cổng ra 1 sẽ là 0V => BJT 1 sẽ ngưng dẫn => mô tơ 1 (bên trái) ngừng quay. Trong khi đó moto bên phải vẫn quay vì cảm biến phải nhận nền trắng.
>Moto trái ngừng, moto phải vẫn quay => robot sẽ rẽ sang trái.
- Tương tự khi cảm biến phải nhận vạch đen (robot đang lệnh trái).
>Moto phải ngừng, moto trái vẫn quay => robot sẽ rẽ phải.
Như vậy, robot (chiếc xe cà tàng) của chúng ta sẽ bám (lần, mò…) được vạch đen trên nền trắng.

Nguyên lí hoạt động của bình ắc quy

Được đăng bởi NetVN Thứ ba, ngày 12 tháng ba năm 2013 0 nhận xét
Hôm nay ta đi tìm hiểu về ắc quy nha ! Chắc một số bạn còn mơ hồ về các giá trị ghi trên bình ắc quy nhỉ? ??

1) Cấu tạo và nguyên tắc hoạt động
* Cấu tạo:
Bình acquy 12V này được chia ra làm 6 ngăn và mỗi ngăn có đều có điện áp đầu ra là 2V. Như vậy nếu ta đem nối tiếp cả 6 ngăn đó thì ta sẽ được bình acquy 12V.Bản cực được làm từ hợp kim chì và antimon, trên mặt bản cực có gắn các xương dọc và xương ngang để tăng độ cứng vững và tạo ra các ô chochất hoạt tính bám trên bản cực. Khi ăc quy hoạt động chất hoạt tính tham gia đồng thời vào các phản ứng hoá học càng nhiều càng tốt, do đó để tăng bề mặt tiếp xúc của các chất hoạt tính với dung dịch điện phân, người ta chế tạo chất hoạt tính có độ xốp, đồng thời đem ghép những tấm cực cùng tên song song với nhau thành một chum cực ở trong mỗi ngăn của ăc quy đơn. Bản cực dương và bản cực âm được lồng xen kẽ nhau nhưng giữa hai bản cực khác tên lại được đặt them một tấm cách, tấm cách được làm từ chất cách điện để cách điện giữa hai bản cực như nhựa xốp, thuỷ tinh hay gỗ.

* Nguyên tắc hoạt động:
+ Quá trình nạp:
Khi đổ axit vào trong bình do các ngăn được cấu tạo bởi chì oxit nên khi cho axit sunfuric vào sẽ phản ứng giữa chì oxit và axit sunfuric tạora chì sunfat.(Phản ứng các pác tự nghiên cứu) Đem nối nguồn điện một chiều vào hai đầu cực của ăc quy thì dòng điện một chiều được khép kín qua mạch ăcquy và dòng điện đi theo chiều: Cực dương của nguồn một chiều → Dung dịch điện phân → Đầu cực 2 của ăcquy → Cực âm của nguồn một chiều. Khi đó quá trình điện phân và phân ly xẩy ra cho ta kết quả : là ở bản cực nối với dương nguồn điện có PbO2 (chì dioxit) và ở chùm bản cực kia có chì Pb, như vậy ở hai chùm bản cực đã có sự khác nhau về cực tính. Ăc quy được coi là đã nạp đầy khi quan sát thấy dung dịch sủi bọt đều (gọi đó là hiện tượng sôi). Lúc đó ta có thể ngắt nguồn nạp và xem như quá trình nạp điện cho ăc quy đã hoàn thành
+Quá trình phòng:
Khi ăcquy phóng điện, chì sunfat lại được hình thành ở hai bản cực, làm cho các bản cực dần trở lại giống nhau, còn dung dịch axit bị phân thành cation 2H+ và anion 2 4 SO , đồng thời quá trình cũng tạo ra nước trong dung dịch, do đó nồng độ của dung dịch giảm dần và sức điện động của ăcquy cũng giảm dần. Nối acquy với tải xem sao bóng đèn có sáng không!
2) Các thông số cơ bản của acquy
a) Dung lượng của acquy : Là điện lượng của ăc quy đã được nạp đầy,rồi đem cho phóng điện liên tục với dòng điện phóng 1A tới khi điện áp của ăcquy giảm xuống đến trị số giới hạn quy định ở nhiệt độ quy định. Dung lượng của ăcquy được tính bằng ampe-giờ (Ah)
b) Điện áp của acquy :Tuỳ thuộc vào nồng độ chất điện phân và nguồn nạp cho ăc quy mà điện áp ở mỗi ngăn của ăc quy khi nó được nạp đầy sẽ đạt 2,6V đến 2,7V(để hở mạch), và khi ăc quy đã phóng điện hoàn toàn là 1,7V đến 1,8V. Điện áp phụ thuộc vào số bản cực.
c) Điện trở trong của acquy : là trị số điện trở bên trong của ăc quy, bao gồm điện trở các bản cực, điện trở dung dịch điện phân có xét đến sự ngăn cách của các tấm ngăn giữa các bản cực. Thường thì trị số điện trở trong của ăcquy khi đã nạp đầy điện là (0,001-0,0015) Ω và khi ăc quy đã phóng điện hoàn toàn là (0,02-0,025) Ω .
3) Phương pháp nạp bằng dòng điện không đổi. Đây là phương pháp nạp cho phép chọn được dòng nạp thích hợp với
mỗi loại ăcquy, bảo đảm cho ăcquy được no. Đây là phương pháp sử dụng trong các xưởng bảo dưỡng sữa chữa để nạp điện cho ăcquy hoặc nạp sửa chữa cho các ăcquy bị sunfat hoá. Với phương pháp này ăcquy được mắc nối tiếp với nhau và phải thoả mãn điều kiện: UN ≥2,7.Naq
UN là điện áp nạp của của acquy — Naq là số bản cực của acquy
Trong quá trình nạp điện sức điện động của ăcquy tăng dần lên, để duy trì dòng điện nạp không đổi ta phải bố trí trong mạch biến trở R.
Giá trịcủa điện trở này được xác định là:
R = (Un-2,7Naq)/In.
Nhược điểm của phương pháp nạp với dòng không đổi là thời gian nạp kéo dài và yêu cầu các ăcquy đưa vào nạp có cùng dung lượng định mức. Để khắc phục thời gian nạp kéo dài, người ta sử dụng phương pháp nạp với dòng điện nạp thay đổi hai hay nhiều nấc. Trong trường hợp hai nấc, dòng điện nạp ở nấc thứ nhất chọn bằng (0,3-0,6)C tức là nạp cưỡng bức và kết thúc ở nấc một khi ăc quy đã bắt đầu sôi. Dòng điện nạp ở nấc thứ hai là 0,1C. Với C là dung lượng của bình acquy.

QUY ƯỚC KHI VIẾT MÃ NGUỒN C/C++

Được đăng bởi NetVN Thứ ba, ngày 19 tháng hai năm 2013 0 nhận xét

      Giới thiệu
Khi viết mã nguồn, việc sửa lỗi, hay dùng lại mã nguỗn là điều rất cần thiết. Để sử dụng mã nguồn một cách hiệu quả và làm cho người đọc dễ hiểu thì việc trình bày mã nguồn là điều rất quan trọng. Nếu không có một quy tắc nào trong viết mã nguồn, thì chính người viết ra nó cũng khó hiểu được mã nguồn đó sau một thời gian dài. Do đó chúng ta cần có các Quy tắc, hay còn gọi là Phong cách viết mã nguồn. Bài viết này liệt kê một số Quy tắc cơ bản cần thiết.



1.      Các quy tắc đặt tên trong chương trình
Quy tắc 1: Tên các định danh (hằng, biến, hàm, mảng, cấu trúc, lớp, …) trong chương trình phải thể hiện được ý nghĩa của nó. 

Quy tắc 2: Tên hằng được viết hoa toàn bộ, các từ cách nhau bằng ký tự ‘_’. 
Ví dụ:
const int  NUMBER_OF_ELEMENTS 100 

Quy Tắc 3: Tên biến phải thể hiện được ý nghĩa của nó, viết bằng chữ thường, các từ cách nhau bằng ký tự ‘_’. 
Ví dụ:
int   tu_so, mau_so;    
 
Quy Tắc 4: Tên hàm phải là động từ thể hiện hành động cần thực hiện.  
Ví dụ:
int check_bad_value (long value) 
int kiem_tra_so_nguyen_to (int n)
2.      Quy tắc viết câu lệnh 
Quy Tắc 5: Mỗi câu lệnh được viết riêng trên một dòng.

Ví dụ sai
Ví dụ đúng
x = 3; y = 5;
x = 3;
y = 5;
if (a > b) cout << "a lon hon b";
else cout << "a nho hon b";
if (a > b)
         cout << "a lon hon b";
else
         cout << "a nho hon b";
for (int i = 0; i < n; i++) x = x + 5;
for (int i = 0; i < n; i++)
         x = x + 5;
Quy Tắc 6: Các dấu ‘{‘, ‘}’ được viết riêng trên một cột. 

Ví dụ sai
Ví dụ đúng
void Swap(int &a, int &b) { 
int c = a; 
a = b; 
b = c; 
void Swap(int &a, int &b) 
         int c = a; 
         a = b; 
         b = c; 
Quy Tắc 7: Các câu lệnh if, switch, while, for, do được viết riêng trên một đoạn. 

Ví dụ sai
Ví dụ đúng
if (a > b) 
cout << "a lon hon b"; 
for (int i = 0; i < n; i++) 
x = x + 5; 
k = k * x; 
if (a > b) 
         cout << "a lon hon b"; 
 
for (int i = 0; i < n; i++) 
         x = x + 5; 
 
k = k * x;   
Quy Tắc 8: Các câu lệnh cùng thực hiện một công việc được viết riêng trên một đoạn.

Ví dụ sai
Ví dụ đúng
int c = a; 
a = b; 
b = c; 
k = k * a; 
x = b + c; 
int c = a; 
a = b; 
b = c; 
 
k = k * a; 
x = b + c;
3.      Quy Tắc về khỏang trắng (space)
Quy Tắc 9: Các câu lệnh nằm giữa dấu ‘{‘, ‘}’ được viết cách vào một khoảng tab. Cũng như các câu lệnh con của if, else, while, for, switch, cũng được viết cách vào một khoảng tab.

Ví dụ sai
Ví dụ đúng
if (a > b) 
cout << "a lon hon b"; 
else 
cout << "a nho hon b"; 
 
for (int i = 0; i < n; i++) 
x = x + 5; 
if (a > b) 
         cout << "a lon hon b"; 
else 
         cout << "a nho hon b"; 
 
for (int i = 0; i < n; i++) 
         x = x + 5; 
Quy Tắc 10: Xung quanh các toán tử 2 ngôi (+, -, *>=,…) viết cách một khoảng trắng.
 
Ví dụ sai
Ví dụ đúng
x=x+5*a-c; 
x = x+5 * a - c;
if (a>=b) 
if (a >= b)
4.      Quy Tắc viết chú thích 
Quy Tắc 11: Chú thích phải rõ ràng, dễ hiểu và diễn giải được ý nghĩa của đoạn lệnh. Đầu mỗi hàm, struct, class, phải có chú thích diễn giải ý nghĩa của nó. 

Quy Tắc 12: Sử dụng //  cho chú thích 1 dòng; sử dụng  /* */ cho các chú thích từ 2 dòng trở lên. Dùng /* */ để tạm thời comment out các đoạn chương trình để testdebug
Mỗi file nguồn, cả .CPP.H, đều phải bắt đầu bằng một khối chú thích đủ để người đọc có thể hiểu mục đích của file. 
Mẫu như sau: 

/***************************************************************
* Tên/Name:    Họ tên
* Project: mô tả/tên dự án (một dòng, giống nhau tại mọi file)
* Purpose: Mục đích sử dụng của mã chương trình hoặc các khai báo trong 
* file này (một vài dòng)
**************************************************************/

Mỗi lớp, hàm, phương thức phải có một khối chú thích mô tả ngắn gọn lớp, hàm, phương thức đó làm gì; đối với hàm/phương thức: liệt kê tất cả các tham số, nêu rõ ý nghĩa của tham số; và mô tả điều kiện trước và sau của hàm/phương thức đó. 
Có thể chú thích các đoạn code bên trong hàm, tuy nhiên chỉ nên chú thích đủ hiểu. Quá nhiều chú thích và chú thích thừa làm code trông rối. Tất cả các chú thích phải được lùi đầu dòng cùng đoạn code quanh nó. 
5.      Quy Tắc Thiết kế
Quy Tắc 13: Mỗi phương thức/hàm (kể cả hàm main()) không nên viết quá dài (vượt quá 30 dòng) tính từ dấu mở hàm ‘{‘ tới ngoặc kết thúc hàm ‘}’. 


Quy Tắc 14: Hạn chế việc dùng biến toàn cục.
Theo: dientumaytinh.com

Lưu trữ bài viết

Người theo dõi

Theo dõi qua email

Thống kê truy cập