PIC Vietnam

PIC Vietnam (http://www.picvietnam.com/forum/index.php)
-   PIC - Thiết kế và Ứng dụng (http://www.picvietnam.com/forum/forumdisplay.php?f=23)
-   -   Hướng dẫn thiết kế đồng hồ số+ nhiệt độ dùng PIC 16F877a+ DS1307+LM335 (http://www.picvietnam.com/forum/showthread.php?t=11714)

dinhvanphuc 07-11-2011 12:36 AM

Hướng dẫn thiết kế đồng hồ số+ nhiệt độ dùng PIC 16F877a+ DS1307+LM335
 
3 Attachment(s)
Mình mới vừa làm xong một mạch đồng hồ và nhiệt độ hiển thị trên led 7 đoạn
Mình gửi sản phẩm của mình và code CCS, file hex, sơ đồ capture, layout cho mọi người xem thử.
Đây có lẽ là đề tài đã quá cũ rồi nhưng mình muốn đưa lên cho những ai mới làm thì tham khảo ( mình cũng amatuer lắm).
Vì mình làm đồng hồ trên tấm meka và đóng thành hộp nên mình muốn đưa các nút bấm và LM335 lên thành tấm meka nên trong mạch mình vẽ nhiều các jack cắm một chân.
Mặc trước mình làm những con led đơn để nó sáng chơi và mình hẹn giờ nó sáng từ lúc 18h đến 6h. Để làm việc này thì mình dùng lệnh if, nếu giờ lớn hơn 6h và nhỏ hơn 17h thì tắt led. Vì mình dùng nguồn 12v và mắc 6 đoạn led song song với nhau. Mỗi đoạn led mình dùng 3 con led siêu sáng và trở, dòng qua led khoảng 15mA nên dòng qua 6 đoạn là 6*15=90mA. Mình dùng BJT 2SC2073 để điều khiển, đầu anode của 6 đoạn led nối lên +12v, đầu katode nối đến cực C của BJT, cực E nối mass, cực B của BJT nối qua trở R rồi vào một port của PIC. Cách tính trở R này như sau: Vì dòng Ic=90mA và giả sử beta của BJT bằng 100 thì Ib=90/100=0.9mA. Suy ra, R=(5-0.7)/0.9= 4.7K.
Để biết sơ đồ chân của LM335 như thế nào thì các bạn tra datasheet của nó và cách mắc chân luôn.
Nếu bạn nào có ý muốn làm thì cứ liên hệ, mình sẵn lòng giúp ( mình cũng tham khảo trên mạng thôi).

kinkin8916 07-11-2011 11:52 PM

Sao em ko mở dc mạch nguyên lý bằng orcad 9.2 anh nhỉ?

dinhvanphuc 08-11-2011 11:47 PM

Ah, mình dùng orcad 16.3 bạn ah. Bạn down phần mềm xuống rồi mở lên nha

henrom1212 21-11-2011 10:08 PM

mạch này bn chi ve don giản chỉ dùng giác cấm dua ra led 7doan thoi ah
?minh tháy minh mình muốn làm lám

henrom1212 21-11-2011 10:09 PM

de minh xem mạch nguyen lý xem có gi thác mắc k?
bn giúp mình chứ?

dinhvanphuc 23-11-2011 12:43 AM

Rất sẵn lòng. Lúc đầu mình cũng ko biết làm và rất mong cần người giúp. Bây giờ mình làm được rồi nên sẵn sàng giúp bạn. Nếu có gì ko hiểu thì bạn cứ đưa câu hỏi lên.
Thân!

pad17x2 13-12-2011 03:57 AM

Chao ban ! Minh cung dang dinh lam cai nay.Thank...

loveboom3012 26-12-2011 01:13 PM

sao file mo phỏng mình mở hok đc nhỉ báo lỗi thế này "DONGHO.DSN is corrupt or not an ISIS shematic file" giúp mình với

dinhvanphuc 26-12-2011 10:50 PM

Ah, file này ko được vẽ bằng ORcad 16.3 nên bạn ko thể mở bằng phần mềm protues được

loveboom3012 27-12-2011 12:34 AM

Trích:

Nguyên văn bởi dinhvanphuc (Post 52689)
Ah, file này ko được vẽ bằng ORcad 16.3 nên bạn ko thể mở bằng phần mềm protues được

sắp tới mình làm đồ án 1 mạch tương tự thế này có gì bạn help mình nhé

dinhvanphuc 29-12-2011 08:29 PM

uhm. Rất sẵn lòng

nickaopccc 04-01-2012 12:19 PM

Trích:

Nguyên văn bởi dinhvanphuc (Post 52894)
uhm. Rất sẵn lòng

Thank chủ topic. Mình tính làm cho mạch chuông báo. Để xem nó có tương tự ko? Vì dùng orcad 16.3 nên khó khăn phần thiết kế mạch in quá. Hy vọng là tương tự để về rửa và làm luôn.

dinhvanphuc 06-01-2012 12:32 AM

theo mình nghĩ thì mạch chuông báo cũng tương tự hẹn giờ hiển thị led đơn như mình làm thôi.

ngockhoavtdt 11-01-2012 11:39 AM

Chào bạn. Mình hiện đang lao động tự do nhưng rất thích đọc những gì liên quan đến điện tử. Nhìn quả đồng hồ của bạn mình cũng muốn làm một chiếc. Rất mong bạn chỉ bảo. Đ/C mail của mình là ngockhoa.thn@gmail.com

phatcddt08a 11-01-2012 12:35 PM

Trích:

Nguyên văn bởi ngockhoavtdt (Post 53739)
chào bạn. Mình hiện đang lao động tự do nhưng rất thích đọc những gì liên quan đến điện tử. Nhìn quả đồng hồ của bạn mình cũng muốn làm một chiếc. Rất mong bạn chỉ bảo. đ/c mail của mình là ngockhoa.thn@gmail.com

bạn ở đâu thế

vanly6.2 11-01-2012 09:09 PM

chào bạn !
từ lâu mình cũng đã mún làm một cái nhưng không làm được, rất mong được bạn giúp đỡ, bạn có thể liên hệ với mình qua thông tin ở chữ lý nhé
tks bạn rất nhiều !

dinhvanphuc 11-01-2012 09:55 PM

Cái này làm cũng nhanh thôi. Nếu mà bạn dành thời gian vào làm thì không quá 1 tuần.
Mình mất một ngày để in mạch, ủi mạch, rửa mạch, hàn mạch. ( vừa làm vừa chơi)
Mất một ngày để khoan lỗ để gắn led 7 đoạn lên tấm meka và đi dây, vì nhều led nên cái ni hơi lâu xíu và khi làm thì mình kiểm tra không cho các dây ở chân a,b... chạm với nhau.
Còn làm cái khung đó thì tùy vào khả năng của mỗi người.
Mình nghĩ bạn nên làm đi, không khó đâu. Mình làm tặng người yêu nên có động lực lắm. hehe

vanly6.2 11-01-2012 10:28 PM

điều mình thắc mắc là :
thứ nhất là mạch đã được vẽ chính xác hay chưa. thứ hai, trong file của bạn có đến 4 đoạn code, vậy phải làm thế nào để nạp cho mạch, theo tiêu đề là mạch dùng pic, mình dùng pic16f887 có được không. nếu có thể, bạn chuyển code sang file hex để nạp cho pic dùm mình với, vì mình không học điện tử nên cũng không rõ lắm, chỉ bít có sẵn rùi lắp thôi.hihi
tks bạn nhiều vì đã giúp đỡ
ah bạn có thể demo thêm một vài bức ảnh được không ?

dinhvanphuc 12-01-2012 09:55 PM

1. Mạch thì mình đã vẽ chính xác rồi đấy. Chủ yểu bạn phải hiểu các đường jump có tác dụng làm gì thôi. Vì các nút bấm tăng giảm thời gian mình gắn trên bảng meka nên trong mạch mình làm các jump.
2. Trong file thietke.rar mình đính kèm thêm file hex đó, bạn chỉnh cần dùng mạch nạp và phần mềm Burn-E để nạp nữa là ok

dinhvanphuc 12-01-2012 09:58 PM

1 Attachment(s)
Còn đây là thêm hình ảnh về sản phẩm của mình nè.
Vì mình làm đồng hồ ni để tặng nên mình chỉ chụp thêm tấm này nữa thôi

vanly6.2 13-01-2012 09:02 AM

hic, orcad mình ko mở đc,giờ ở quê chả có cái chỗ nào bán đĩa cái hít trơn, chán thật, đành chờ qua tết ra đà nẵng làm vậy. tới hồi đó sẽ nhờ bạn nhá
tks !

dinhvanphuc 13-01-2012 05:31 PM

uhm. Bạn mở bằng orcad 16.3 nha.

phatcddt08a 15-01-2012 10:54 PM

http://nh0.upanh.com/b3.s13.d3/da732...40004390.d.bmp

Nguyenson318 05-02-2012 12:38 AM

Trích:

Nguyên văn bởi phatcddt08a (Post 53918)

Bác này show hàng nhìn phê quá! CÓ thể chia sẻ cho mọi người được không? Thanks

bomden90 16-02-2012 01:42 AM

cho minh xin mach project voi ban oi....

norimo 25-02-2012 11:19 PM

Bác pro post ảnh sơ đồ nguyên lí lên giúp anh em được không. Bây h phải tải và cài orcad 16 thì nản lắm ạ.
Cảm ơn bác nhiều

vanly6.2 26-02-2012 08:41 AM

bạn dinhvanphuc còn trên diễn đàn không hi, nếu có có thể pm mình hỏi một vài vấn đề được không hi
tks bạn
nếu có thể pm cho mình qua yahoo :phamquoccuong10101989 hoặc mail : phamquoccuong.10101989@gmail.com hoặc pm tin nhắn cho số đt của mình là 01683384921 ha
cảm ơn bạn rất nhiều !

etnnl34 28-02-2012 07:26 PM

help minh bạn oi
 
Trích:

Nguyên văn bởi dinhvanphuc (Post 51219)
Mình mới vừa làm xong một mạch đồng hồ và nhiệt độ hiển thị trên led 7 đoạn
Mình gửi sản phẩm của mình và code CCS, file hex, sơ đồ capture, layout cho mọi người xem thử.
Đây có lẽ là đề tài đã quá cũ rồi nhưng mình muốn đưa lên cho những ai mới làm thì tham khảo ( mình cũng amatuer lắm).
Vì mình làm đồng hồ trên tấm meka và đóng thành hộp nên mình muốn đưa các nút bấm và LM335 lên thành tấm meka nên trong mạch mình vẽ nhiều các jack cắm một chân.
Mặc trước mình làm những con led đơn để nó sáng chơi và mình hẹn giờ nó sáng từ lúc 18h đến 6h. Để làm việc này thì mình dùng lệnh if, nếu giờ lớn hơn 6h và nhỏ hơn 17h thì tắt led. Vì mình dùng nguồn 12v và mắc 6 đoạn led song song với nhau. Mỗi đoạn led mình dùng 3 con led siêu sáng và trở, dòng qua led khoảng 15mA nên dòng qua 6 đoạn là 6*15=90mA. Mình dùng BJT 2SC2073 để điều khiển, đầu anode của 6 đoạn led nối lên +12v, đầu katode nối đến cực C của BJT, cực E nối mass, cực B của BJT nối qua trở R rồi vào một port của PIC. Cách tính trở R này như sau: Vì dòng Ic=90mA và giả sử beta của BJT bằng 100 thì Ib=90/100=0.9mA. Suy ra, R=(5-0.7)/0.9= 4.7K.
Để biết sơ đồ chân của LM335 như thế nào thì các bạn tra datasheet của nó và cách mắc chân luôn.
Nếu bạn nào có ý muốn làm thì cứ liên hệ, mình sẵn lòng giúp ( mình cũng tham khảo trên mạng thôi).

mình cũng đang làm but mơ hồ lắm, bạn chỉ chi tiết cho mình hey, mail mình nek ngoclam9060@gmail.com

etnnl34 28-02-2012 07:44 PM

giúp e mạch mô phỏng của mạch đồng hồ này với

hiepkhachhanh7 29-02-2012 04:02 PM

ban luu lai so do mach bang orcad 9.2 roi gui lai cho minh duoc ko. may minh ko co rocad 16.3 ban ah. Cam on nha, bai cua ban rat hay.
d/c mail cua minh la: hiepkhachhanh7@gmail.com

hiepkhachhanh7 03-03-2012 01:57 PM

pic
 
hhhhhhuhkihydhlkhghfhg

hiepkhachhanh7 03-03-2012 01:58 PM

Trích:

Nguyên văn bởi dinhvanphuc (Post 51219)
Mình mới vừa làm xong một mạch đồng hồ và nhiệt độ hiển thị trên led 7 đoạn
Mình gửi sản phẩm của mình và code CCS, file hex, sơ đồ capture, layout cho mọi người xem thử.
Đây có lẽ là đề tài đã quá cũ rồi nhưng mình muốn đưa lên cho những ai mới làm thì tham khảo ( mình cũng amatuer lắm).
Vì mình làm đồng hồ trên tấm meka và đóng thành hộp nên mình muốn đưa các nút bấm và LM335 lên thành tấm meka nên trong mạch mình vẽ nhiều các jack cắm một chân.
Mặc trước mình làm những con led đơn để nó sáng chơi và mình hẹn giờ nó sáng từ lúc 18h đến 6h. Để làm việc này thì mình dùng lệnh if, nếu giờ lớn hơn 6h và nhỏ hơn 17h thì tắt led. Vì mình dùng nguồn 12v và mắc 6 đoạn led song song với nhau. Mỗi đoạn led mình dùng 3 con led siêu sáng và trở, dòng qua led khoảng 15mA nên dòng qua 6 đoạn là 6*15=90mA. Mình dùng BJT 2SC2073 để điều khiển, đầu anode của 6 đoạn led nối lên +12v, đầu katode nối đến cực C của BJT, cực E nối mass, cực B của BJT nối qua trở R rồi vào một port của PIC. Cách tính trở R này như sau: Vì dòng Ic=90mA và giả sử beta của BJT bằng 100 thì Ib=90/100=0.9mA. Suy ra, R=(5-0.7)/0.9= 4.7K.
Để biết sơ đồ chân của LM335 như thế nào thì các bạn tra datasheet của nó và cách mắc chân luôn.
Nếu bạn nào có ý muốn làm thì cứ liên hệ, mình sẵn lòng giúp ( mình cũng tham khảo trên mạng thôi).

hhhhhhhhhhh

dinhvanphuc 07-03-2012 10:09 PM

Co gi ban gui mail cho minh qua email dinhvanphuc08dt4@gmail.com

dinhvanphuc 08-03-2012 12:12 AM

huong dan
 
1 Attachment(s)
Vì đồng hồ này mình làm là có hiển thị và điều khiển riêng nên mình mới làm các jack cắm. Bây giờ mình chỉ có nhiệm vụ là xác định jack nào cắm vào nơi nào trên mạch hiển thị nữa là xong.
Bạn nhìn vào sơ đồ capture mà mình gửi kèm theo thì:
- Chân RD0 có nhiệm vụ chọn chế độ điều chỉnh giờ và nối với jack J25.
- Chân RD1 có nhiệm vụ tăng thời gian và nối với jack J26.
- Chân RD2 có nhiệm vụ giảm thời gian và nối với Jack J23.
- Chân RD3 có nhiệm vụ reset và nối với Jack J24.
Vậy 4 jack này các bạn nối với 4 nút bấm. Nút bấm có 4 chân, các bạn coi 2 chân chéo nhau thì ok. Một chân nối với J23,24,25,26. Chân còn lại nối với âm nguồn. Giữa hai chân này các bạn mắc song song với tụ 104 để chống nhảy phím khi bấm hoặc trong chương trình ta đưa delay vào cũng được.

- Các jack nối với các chân RE0,1 có tác dụng là ta muốn đưa thêm ứng dụng như đèn, chuông báo thức. Cái này các bạn có thể tự do thiết kế như thế nào mình muốn.

- Port B mình nối với các chân từ a-g của led 7 đoạn. Ở đây mình dùng led anode chung. Với a nối với RB0,...., g nối với RB7.

Hiển thị theo kiểu quét led nên cần các chân điều khiển, Chính là chân Vcc của led 7 đoạn. Giờ mình bắt đầu nối chân như sau:

Mình nói sơ qua thiết kế của mình, đồng hồ mình hiển thị được giờ phút giây, ngày tháng năm nên mình có các thuật ngữ như sau:
Giây đơn vị, giây chục, phút đơn vị, phút chục, giờ đơn vị, giờ chục, ngày đơn vị, ngày chục, tháng đơn vị, tháng chục, năm hàng trăm, năm chục, năm đơn vị, nhiệt độ đơn vị, nhiệt độ chục, trong đó:

- Giây đơn vị được điều khiển bởi chân RC0 tức là jack J15.
- Giây chục được điều khiển bởi chân RA1 tức là jack J20.
- Phút đơn vị được điều khiển bởi chân RA2 tức là Jack J19.
- Phút hàng chục được điều khiển bởi chân RA3 tức là jack J18.
- Giờ đơn vị được điều khiển bởi chân RA4 tức là jack J17.
- Giờ chục được điều khiển bởi chân RA5 tức là jack J16.
- Ngày đơn vị được điều khiển bởi chân RD4 tức là jack J8.
- Ngày chục được điều khiển bởi chân RD5 tức là jack J9.
- Tháng đơn vị được điều khiển bởi chân RC1 tức là jack J14.
- Tháng chục được điều khiển bởi chân RE2 tức là jack J28.
- Năm đơn vị được điều khiển bởi chân RC5 tức là jack J13.
- Năm chục được điều khiển bởi chân RC6 tức là jack J12.
- Năm hàng trăm được điều khiển bởi chân RC7 tức là Jack J21.
- Nhiệt độ hàng đơn vị được điều khiển bởi chân RD6 tức là Jack J10.
- Nhiệt độ hàng chục được điều khiển bởi chân RD7 tức là Jack J11.
Riêng số 2 trong năm 2000 thì ta nối chân Vcc lên 5v, các chân a,b,g,e,d xuống Mass.
Chữ độ C thì ta quay ngược led 7 đoạn lại và nối chân Vcc lên 5V, chân a,b,c,d xuống mass.

Ngoài ra, nếu các bạn nối các chân ko đúng như trên thì các bạn chỉ việc sửa lại code ( chỗ khai báo các biến ấy) là được, đừng có tháo ra hàn lại.

Chân RA0 tức là jack J4 thì ta nối đến chân số 2 của IC LM335.

Con2 tức J5 là đế pin 3V.
Con2 tức J27 là domino nối nguồn 5V, 3A. Vì mình dùng led loại lớn nên mình dùng dòng lớn, các bạn cẩn thận chứ nếu để nguồn thấp là dễ bị cháy Pic đó.

Nếu các bạn có thắc mắc gì thì các bạn cứ post lên và đồng thời gửi mail cho mình để mình biết để mình trả lời ( nếu mình biết).
Chúc các bạn may mắn

dinhvanphuc 08-03-2012 12:21 AM

Còn về giá trị điện trở thì mình làm như sau:
- Điện trở nối từ nguồn xuống chân reset thì mình dùng 10K
- Điện trở mà nối từ các chân của PIC ra transistor thì mình dùng là 1K. Bình thường các bạn phải tính để cho có đủ dòng phân cực để transistor dẫn, mình dùng 1K là ok.
- Điện trở treo thì mình dùng là 4,7K.
- Điện trở mà nối từ nguồn xuống chân Vcc trong IC LM335 thì mình dùng biến trở tinh chỉnh 10K. Điện trở này có tác dụng là mình muốn thay cài đặt nhiệt độ ban đầu cho đúng nhiệt độ ban đầu thì mình thay đổi giá trị điện trở thì thay đổi dòng vào IC LM335.
- Thạch anh dùng cho Pic là 4Mhz, còn thạch anh dùng cho DS1307 là 32768Khz.
- Tụ gốm là 33pF chỗ gần thạch anh.
- Mình dùng transistor pnp là A1013 để đảm bảo công suất tốt nhất.

- Ngoài ra, để chống nhiễu thì các nút bấm mình mắc song song với tụ 104, nguồn 5V cấp cho Pic tách riêng với nguồn cấp cho LED 7 đoạn, nếu tốt hơn nữa thì mình nên hàn một sợi dây vào miếng nhôm của thạch anh và nối xuống mass.

anh_comdr 17-03-2012 10:40 PM

có ai giúp mình viết đoạn code hiển thị nhiệt độ,nếu thấp hơn 25 độ C thì tự động bật đèn led ko ?

phamtinh.dt 18-03-2012 12:59 AM

bạn phúc này cho mỗi file dns thiếu file opj thì có trời ocard nào mở đc

phamtinh.dt 18-03-2012 01:03 AM

nhưng vẫn cảm ơn vì cho cái hình :D

sieutosy 02-04-2012 05:28 PM

em cũng muốn làm về đồng hồ vạn niên. nếu làm với led đơn thì sơ đồ nguyên lý sẽ như nào ạ ?
anh dinhvanphuc giúp em với !!
cảm ơn a nhiều

dinhvanphuc 03-04-2012 12:50 AM

Nếu làm bằng led đơn thì cơ chế cũng như led 7 đoạn thôi.
Giờ ta chỉ thay 7 đoạn led trong led 7 đoạn thành 7 đoạn led được ghép bằng led đơn thôi.
Giả sử bạn muốn làm một thanh led 7 đoạn từ 10 con led đơn và nguồn Vcc là 5v thì bạn cần 5 nhánh song song, mỗi nhánh có 2 led đơn nối tiếp và nối tiếp với trở.
Giá trị của trở được tính là R=(5-2.2*2)/15mA.
Bạn làm 7 lần như vậy thì ta được một led 7 đoạn làm từ led đơn rồi đấy


Múi giờ GMT. Hiện tại là 05:22 PM.

Tên diễn đàn: vBulletin Version 3.8.11
Được sáng lập bởi Đoàn Hiệp.
Copyright © PIC Vietnam