Thông báo

Collapse
No announcement yet.

Mạch đếm sản phẩm V2

Collapse
X
 
  • Lọc
  • Giờ
  • Show
Clear All
new posts

  • Mạch đếm sản phẩm V2

    Mạch đếm V2:

    + Có khả năng đếm cùng 1 lúc 10 vị trí cùng 1 lúc, các vị trí không ảnh hưởng tới nhau
    + Lưu trữ mỗi khi mất nguồn
    + Các nút nhấn chức năng
    + Đếm sản phẩm với ngõ vào mức 2.5~5V

    Code C, schematic ORCAD, share cho a e nào cần
    Attached Files

  • #2
    Mạch của bạn làm khá tốt, thank đã share cho mọi người.

    Tuy nhiên tôi xin góp ý với bạn 1 số điểm sau:

    - Phần quét led7seg của bạn hơi bị "ngược", thường thì người ta dùng nhiều con 595 để chốt data led7seg theo nhiều hàng ví dụ trong bài này là 3 hàng x 8 cột, nhằm giảm thiểu thời tắt led 7seg quá lâu so với thời gian led sáng. với mạch trên của bạn thời gian sáng cho mỗi led 7seg chỉ là 1 phần 24 nên led sẽ không thể sáng rõ được.

    - Nên sử dụng thuật toán chống rung phím bằng phần mềm hơn sử dụng phần cứng.

    Mong sẽ có thêm Ver mới tốt hơn nữa để chia sẻ cho anh em.
    PCT COMPUTER
    (Để không làm ảnh hưởng đến thời gian và công việc cá nhân. Xin vui lòng không nhắn tin và điện thoại)

    Comment


    • #3
      Khi mất nguồn nó lưu và đâu hả bạn ? Rom nội 89 à ?
      Mà sao đếm 10 vị trí vẫn chính xác được nhỉ ? 89 đâu nhiều ngắt thế ?

      Comment


      • #4
        Ko nên dùng khái niệm 1 lúc. Nếu dùng kĩ thuậ quét đầu vào cũng đc vì tốc độ sp trôi qua sensor chắc ko quá cao, đầu ra đưa vào ngắt. Thế chắc khá ổn, còn quét led thì chỉ cần 1 con 595 thoai( nếu modul ko xa nhau), phần cấp nguồn cho led7 thì dùng giải mã cho tiết kiệm chân nếu yêu cầu. Theo mình thì như vậy.


        Add: 97 Quán Nam - Lê Chân - Hải Phòng.
        Tel: 031 518648 Phone: 0904 283 505

        Comment


        • #5
          Nguyên văn bởi duong_act Xem bài viết
          Khi mất nguồn nó lưu và đâu hả bạn ? Rom nội 89 à ?
          Mà sao đếm 10 vị trí vẫn chính xác được nhỉ ? 89 đâu nhiều ngắt thế ?
          Trong mach sử dụng 24C04A đó bạn.

          Mạch này không sử dụng ngắt để đếm mà dùng phương pháp quét cổng lần lượt. Tất nhiên với pp này rất chậm và không chính xác.
          PCT COMPUTER
          (Để không làm ảnh hưởng đến thời gian và công việc cá nhân. Xin vui lòng không nhắn tin và điện thoại)

          Comment


          • #6
            Nguyên văn bởi pctcom Xem bài viết
            Trong mach sử dụng 24C04A đó bạn.

            Mạch này không sử dụng ngắt để đếm mà dùng phương pháp quét cổng lần lượt. Tất nhiên với pp này rất chậm và không chính xác.
            hihi, cái thời gian delay giữa các lượt đếm là mình tùy chỉnh như thế là do theo yêu cầu của người ra đề, chứ thực ra nếu sửa lại thời gian delay giữa mỗi lần đếm cậu có nhấn 1 lúc 10 cổng nó cũng vẫn đếm bình thường .

            Còn vấn đề khử nhiễu, do mạch này yêu cầu chạy thực tế và chạy lâu dài cho nên mình thiết kế khử toàn bộ nhiễu cả phần cứng lẫn phần mềm đồng thời tạo sự ổn định cho vi điều khiển !

            Thanks mọi người đã góp ý!
            Last edited by chumanh; 07-07-2011, 00:23.

            Comment


            • #7
              @pctcom thế theo cậu thì phương pháp nào lợi điểm về kinh tế hơn và dễ coding hơn, với lại cậu đã thử sử dụng oscillator để đo thử xung quét chọn led chưa, thời gian cỡ us đấy, ko phải là 1/24 như cậu nói đâu, còn vấn đề sáng không rõ, cậu hãy xem mạch cứng trong ORCAD, mình thiết kế với 1 tầng đệm data darlington, dòng lớn, khắc phục được yếu điểm sáng yếu với tần số quét nhanh. Còn vấn đề mô phỏng vẫn chỉ là mô phỏng, khi mình chỉnh thông số cài đặt số lượng đếm nó có bị nhấp nháy nhưng đó chỉ là mô phỏng, còn thực tế hoàn toàn không có. Cảm ơn bạn đã góp ý !

              Comment


              • #8
                @hoangdai sử dụng IC giải mã sẽ không giải quyết được một số yếu điểm ví dụ như phần cài đặt, coding sẽ phức tạp hơn !

                Comment


                • #9
                  Nguyên văn bởi chumanh Xem bài viết
                  @pctcom thế theo cậu thì phương pháp nào lợi điểm về kinh tế hơn và dễ coding hơn, với lại cậu đã thử sử dụng oscillator để đo thử xung quét chọn led chưa, thời gian cỡ us đấy, ko phải là 1/24 như cậu nói đâu, còn vấn đề sáng không rõ, cậu hãy xem mạch cứng trong ORCAD, mình thiết kế với 1 tầng đệm data darlington, dòng lớn, khắc phục được yếu điểm sáng yếu với tần số quét nhanh. Còn vấn đề mô phỏng vẫn chỉ là mô phỏng, khi mình chỉnh thông số cài đặt số lượng đếm nó có bị nhấp nháy nhưng đó chỉ là mô phỏng, còn thực tế hoàn toàn không có. Cảm ơn bạn đã góp ý !
                  Chắc là bạn lầm. 1/24 ở đây không phải là 1/24 của giây, mà là tỷ lệ giữa thời gian tắt và sáng của từng led7seg. Với thời gian led tắt quá lâu như vậy để led được sáng hơn bạn bắt buộc phải tăng dòng qua led thật lớn thậm chí vượt qua dòng I max của led, đây không phải là giải pháp tốt trong thiết kế mạch, vì vậy khi thiết kế người ta luôn cố gắng giảm tỷ lệ tắt/sáng led càng nhỏ càng tốt.

                  Với số IC trong mạch của bạn thì thiết kế theo kiểu (8x3)x8 với tỷ lệ t/s là 1/8 là tốt nhất. Trong đó:

                  - (8x3) sử dụng 3 IC 595 nối tiếp cung cấp DATA cho 3 dãy led7seg mỗi dãy 8 led7seg.

                  - số 8 còn lại bạn có thể dùng 595 hay 74138 để quét theo cột.

                  Tất nhiên với phương pháp này Coding hơi phức tạp, nhưng khi bạn đã thành thạo thì việc thiết kế bảng led với hàng trăm led7seg cũng không phải là quá khó.
                  PCT COMPUTER
                  (Để không làm ảnh hưởng đến thời gian và công việc cá nhân. Xin vui lòng không nhắn tin và điện thoại)

                  Comment


                  • #10
                    Thanks đã góp ý !

                    Comment


                    • #11
                      Ai bảo bạn là dùng giải mã ko giải quyết đc vấn đề cài đặt, bạn nhớ rằng led chỉ là cái hiển thị mà thôi, phần xử lý đầu vào mới quan trọng, như kiểu matrix vậy, chương trình hiển thị thì cứ hiển thị, xử lý thì cứ xử lý.


                      Add: 97 Quán Nam - Lê Chân - Hải Phòng.
                      Tel: 031 518648 Phone: 0904 283 505

                      Comment


                      • #12
                        Thật ra code C mình ko học nên ko biết nên ko tham gia dc gì.hjhj!
                        Ai rành ASM có thể viết lại mình xem thế nào dc ko, số là có thằng em đang làm đồ án cái này, nó kết hợp cả cơ khí gạt,đẩy nếu sản phẩm ko đúng như yêu cầu nữa kìa. Mạch thì hem biết nó làm sao nhưng nó có gửi code, nó nói chỉ sáng dc 1 led đầu tiên, đếm 0>9 rồi quay lại thôi, mấy led kế ko thấy gì.

                        Code:
                        ; chuong trinh dem san pham
                        ;================================
                        ; cong p0 dieu khien du lieu cho led 7 thanh
                        ; cong p2 dieu khien nguon cho led 7 thanh
                        ; cong p3.2 cam bien dem san pham
                        ; cong p3.1 cam bien phan loai san pham cao thap
                        ; cong p1.5 dong co bang truyen
                        ; cong p1.6 dong co gat san pham
                        ;==============================================
                        $include(reg51.inc)
                        	org	0000h					;dia chi chuong trinh chinh
                        	ljmp	 nhap	
                        	;====================
                        	org	0003h					;dia chi ngat cua ngat ngoai 0
                        	jmp	ngat_ngoai0       
                        	;===================
                        	org	000bh             ;dia chi ngat timer
                        	jmp	ngat_t0
                        	;====================
                        	org 0030h
                        nhap: mov   p2,#00h
                              mov   p1,#00h
                              setb  p1.5
                        		mov	73h,#00h			;dua gia tri 0 vao o nho 70h
                        		mov	sp,#30h        ;dua gia tri 30h vao con tro ngan sep         
                        		mov	dptr,#dl       ;chuyen dl vao thanh ghi chuc nang dac biet
                        		mov	r0,#0          ;dua gia tri 0 vao thanh ghi r0
                        		mov	r1,#0				;dua gia tri 0 vao thanh ghi r1
                        		mov	r2,#0 			;dua gia tri 0 vao thanh ghi r2
                        		mov	r3,#0 			;dua gia tri 0 vao thanh ghi r3
                        		mov	r4,#0				;dua gia tri 0 vao thanh ghi r4
                        		mov	r5,#0 			;dua gia tri 0 vao thanh ghi r5
                        		mov	r6,#0 			;dua gia tri 0 vao thanh ghi r6
                        		mov	r7,#0 			;dua gia tri 0 vao thanh ghi r7
                        		mov	20h,#00h       ;dua gia tri thanh ghi r0 vao o nho 20h
                        		mov	21h,#00h       ;dua gia tri thanh ghi r1 vao o nho 21h
                        		mov	22h,#00h 		;dua gia tri thanh ghi r2 vao o nho 22h
                        		mov	23h,#00h 		;dua gia tri thanh ghi r3 vao o nho 23h
                        		mov	24h,#00h 		;dua gia tri thanh ghi r4 vao o nho 24h
                        		mov	25h,#00h 		;dua gia tri thanh ghi r5 vao o nho 25h
                        		mov	tmod,#02h      ;su dung che do dinh thoi 2
                        		mov	th0,#55        ;th0 nap cho tl0
                        		setb	ea             ;bit cho phep ngat
                        		setb	ex0            ;cho phep ngat ngoai 0
                        		setb	it0            ;ngat o suon am
                        		setb	et0            ;cho phep ngat timer 0
                        		setb	tr0				;bat bo timer 0
                        	
                        		;============CHUONG TRINH CHINH==============
                        bd:   call ct_ht
                        		jmp	bd					;nhay ve nhan bd
                        ;==========================
                        		
                        ngat_ngoai0:
                        		inc	r0					;tang thanh ghi r0
                        		cjne	r0,#10,exit    ;so sanh gia tri thanh ghi r0 voi 10 
                        							;neu bang thi nhay den nhan bd
                        		mov	r0,#0          ;chuyen gia ri 0 vao thanh ghi r0
                        		
                        		inc	r1					;tang thanh ghi r1
                        		cjne	r1,#10,exit		;so sanh gia tri thanh ghi r1 voi 10 
                        							;neu bang thi nhay den nhan bd
                        		mov	r1,#0				;chuyen gia tri 0 vao thanh ghi r1
                        		
                        		inc	r2					;tang thanh ghi r2
                        		cjne	r2,#10,exit	     ;so sanh gia tri thanh ghi r2 voi 10 
                        							;neu bang thi nhay den nhan bd
                        		mov	r2,#0				;chuyen gia tri 0 vao thanh ghi r2
                        		
                        		inc	r3					;tang thanh ghi r3
                        		cjne	r3,#10,exit		;so sanh gia tri thanh ghi r3 voi 10 
                        									;neu bang thi nhay den nhan bd
                        		mov	r3,#0				;chuyen gia tri 0 vao thanh ghi r3
                        		
                        		inc	r4					;tang thanh ghi r4
                        		cjne	r4,#10,exit		;so sanh gia tri thanh ghi r4 voi 10 
                        									;neu bang thi nhay den nhan bd
                        		mov	r4,#0          ;chuyen gia tri 0 vao thanh ghi r4
                        		
                        		inc	r5					;tang thanh ghi r5
                        		cjne	r5,#10,exit		;so sanh gia tri thanh ghi r5 voi 10 
                        									;neu bang thi nhay den nhan bd
                        		mov	r5,#0          ;chuyen gia tri 0 vao thanh ghi r5
                        exit:	reti						;quay ve chuong trinh phuc vu ngat
                        		;====================chuong trinh doi================
                        doi_1:mov 72h,#2
                              jmp doi		
                        doi:	mov	70h,#04			;dua gia tri 04 vao o nho 70h
                        w1:   mov	71h,#1         ;dua gia tri 1 vao o nho 71h
                        w2:	mov	72h,#246       ;dua gia tri 246 vao o nho 72h
                        		djnz	72h,$				;nhay tai cho
                        		djnz	71h,w2         ;neu o nho 71 giam bang 0 thi ngay den w2
                        		djnz	70h,w1			;neu o nho 70 giam bang 0 thi nhay den w1
                        		ret						;tro ve chuong trinh con
                        		;===================
                        ngat_t0:
                        		inc	r6					;tang thanh ghi r6
                        		cjne	r6,#100,thoat	;so sanh gia tri thanh ghi r6 voi 50 
                        									;neu bang thi nhay den nhan thoat
                        		mov	r6,#00         ;chuyen gia tri 00 vao thanh ghi r6
                        		
                        		inc	r7             ;tang thanh ghi r7
                        		cjne	r7,#100,thoat	;so sanh gia tri thanh ghi r7 voi 100 
                        									;neu bang thi nhay den nhan bd
                        		mov	r7,#00 			;chuyen gia tri 00 vao thanh ghi r7
                        
                        		mov	73h,#00								
                        		mov	20h,r0         ;dua gia tri thanh ghi r0 vao o nho 20h
                        		mov	21h,r1         ;dua gia tri thanh ghi r1 vao o nho 21h
                        		mov	22h,r2			;dua gia tri thanh ghi r2 vao o nho 22h
                        		mov	23h,r3			;dua gia tri thanh ghi r3 vao o nho 23h
                        		mov	24h,r4			;dua gia tri thanh ghi r4 vao o nho 24h
                        		mov	25h,r5			;dua gia tri thanh ghi r5 vao o nho 25h
                        		
                        thoat:reti                 ;quay ve chuong trinh phuc vu ngat
                        ;============chuong trinh hien thi=============
                        CT_ht:			;dieu khien led 1
                        		mov	a,20h				;dua gia tri 20h vao thanh ghi a
                        		movc	a,@a+dptr      ;di chuyen byte ma @a+dptr vao thanh chua a
                        		mov	p0,a           ;dua gia tri thanh chua a vao chan p2 cua ic
                        		setb	p2.0           ;cap dien cho chan p0.0 cua ic
                        		call	doi            ;doi
                        		clr	p2.0           ;ngung cap dien cho chan p0.0 cua ic
                        					;dieu khien led 2
                        		mov	a,21h
                        		movc	a,@a+dptr
                        		mov	p0,a
                        		setb	p2.1
                        		call	doi
                        		clr	p2.1
                        					;dieu khien led 3
                        		mov	a,22h
                        		movc	a,@a+dptr
                        		mov	p0,a
                        		setb	p2.2
                        		call	doi
                        		clr	p2.2
                        					;dieu khien led 4
                        		mov	a,23h
                        		movc	a,@a+dptr
                        		mov	p0,a
                        		setb	p2.3
                        		call	doi
                        		clr	p2.3
                        					;dieu khien led 5
                        		mov	a,24h
                        		movc	a,@a+dptr
                        		mov	p0,a
                        		setb	p2.4
                        		call	doi
                        		clr	p2.4
                        					;dieu khien led 6
                        		mov	a,25h
                        		movc	a,@a+dptr
                        		mov	p0,a
                        		setb	p2.5
                        		call	doi
                        		clr	p2.5
                        		ret				
                        dl: db	0c0h,0f9h,0a4h,0b0h,99h,92h,82h,0f8h,80h,90h	;cac du lieu duoc su dung
                        		end		                                       ;ket thuc
                        Anh em tham khảo chỉ bảo với
                        Trần Đức Sơn

                        tel:0934691385

                        Comment


                        • #13
                          Project này nếu làm thực tế thì LED sẽ sáng mờ lắm do thời gian off của LED quá lâu. Thay thế phần số LED 7 đoạn kia thành LCD thì phần hiển thị sẽ đẹp hơn, Dùng Atmega8L sẽ tiết giảm được 24C04, mạch gọn hơn, code cũng dễ, tiết kiệm được PCB, tiết kiệm được phần vỏ nhựa luôn. Chắc đề tài này bác ấy thiết kế thời còn đi học. Dù sao cũng cảm ơn bác đã share.

                          Comment


                          • #14
                            Nếu không dùng ngắt mà dùng vòng quét thì nếu cứ giữ phím ấy ko nhả ra thì sao nhỉ Số sp có tăng lên ko?

                            Comment


                            • #15
                              @OpenDoor căn cứ vào đâu mà cậu nói thời gian offled quá lâu ???? mình đã làm project này thực tế rồi, sáng chuẩn, không nháy ! còn vấn đề eeprom, do người yêu cầu mình làm 8051 nên phải thế, nếu không thì mình đã làm PIC rồi, hic! e cũng mới học năm 3 thui mà, kinh nghiệm còn yếu kém là điều đuơng nhiên ! Cảm ơn mọi người đã quan tâm!

                              @duong_act cậu có giữ nguyên phím thì sản phẩm cũng chỉ tăng 1, không hơn! điểm lợi nữa là khi cậu đang nhấn nguyên phím ở vị trí số 1, vẫn có thể đếm ở tất cả các vị trí khác, tổng quát lại : mọi vị trí là riêng biệt, không ảnh hưởng lẫn nhau, còn độ nhạy mỗi lần tăng sản phẩm là thời gian có thể hiệu chỉnh được, hoặc cho trễ 1 thời gian hoặc lên ngay lập tức, tốc độ đếm sản phẩm cao !

                              Comment

                              Về tác giả

                              Collapse

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

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

                              Collapse

                              Đang tải...
                              X