Thông báo

Collapse
No announcement yet.

Hỏi về làm mạch thật atmega8 với lm35

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

  • Hỏi về làm mạch thật atmega8 với lm35

    Mạch mình mắc như mô phỏng proteus.Nếu chưa hiển thị led 7 thanh thì nhiệt đo được truyền về máy tính thì được dù vẫn chưa ổn định nhưng có vẻ là đúng.Nhưng khi cả hiện thị lên led 7 thanh thì nhiệt độ cứ nhảy lung tung mà không ổn định.Mình không hiểu tại sao lại thế?Và cho mình hỏi thêm là làm sao để đo nhiệt độ được ổn định.Phần mạch mình không được tốt.Mong các bạn giúp đỡ.Cảm ơn các bạn trước.hình ảnh mạch và code mình để theo link sau.
    http://www.mediafire.com/?gjbnu0gm2zy
    hi,mình chưa biết gửi ảnh lên diễn đàn

  • #2
    Đây là ảnh proteus.và mình mắc mạch giống như ảnh dưới.(phần mạch mình kém lắm).phần nhận nhiệt độ đo truyền vào máy tính mà chưa hiển thị led7 thanh thì mình làm được.còn cứ hiện cả led 7 thanh thì bắt đầu nhiệt độ đo được bắt đầu nhảy loạn lên.các bạn giúp mình với.

    Comment


    • #3
      Mình post luon code để các bạn tiện giúp mình với

      Code:
      #include <mega8.h>
      #include <delay.h>
      #include <math.h> 
      //UART
      #define RXCIE 7
      #define UDRE 5
      #define RXEN 4
      #define TXEN 3
      #define URSEL 7
      #define UCSZ1 2
      #define UCSZ0 1
      //ADC
      #define REFS1 7
      #define REFS0 6
      #define ADEN 7
      #define ADSC 6
      #define ADIF 4
      #define ADPS2 2
      #define ADPS0 0
      // Declare your global variables here
      unsigned char data_rec;
      unsigned char data_read_adc;
      unsigned char tempature;
      void uart_init(unsigned int ubrr)
      {                          
       UBRRH=(unsigned char)(ubrr>>8);
       UBRRL=(unsigned char)ubrr;
       UCSRB |=(1<<RXCIE)|(1<<TXEN)|(1<<RXEN);
       UCSRC |=(1<<URSEL)|(1<<UCSZ1)|(1<<UCSZ0);
      }
      void uart_tran(unsigned char data)
      {
       while(!(UCSRA&(1<<UDRE)));
       UDR=data;
      }
      interrupt [USART_RXC] void uart_intr()
      {
       data_rec=UDR; 
       if(data_rec)
       PORTC.4=1;
       else
       PORTC.4=0;
      }
      void adc_init()
      {
       ADMUX |=(1<<REFS1)|(1<<REFS0);
       ADCSRA |=(1<<ADEN)|(1<<ADSC)|(1<<ADPS2)|(1<<ADPS0);
      } 
      //DOC ADC BANG THAM DO
      unsigned int read_adc(unsigned char channel)
      {
       ADMUX |=channel;
       ADCSRA |=(1<<ADSC);
       while(!(ADCSRA&(1<<ADIF)));
       return ADCW;
      }
      void display_7seg(unsigned char data)
      {
       unsigned char chuc,dvi;
       chuc=data/10;
       dvi=data-chuc*10;
       PORTD=(chuc<<4);
       PORTB=dvi;
      }
      void main(void)
      {
      // Declare your local variables here
      
      // Input/Output Ports initialization
      // Port B initialization
      // Func7=In Func6=In Func5=In Func4=In Func3=In Func2=In Func1=In Func0=In 
      // State7=T State6=T State5=T State4=T State3=T State2=T State1=T State0=T 
      PORTB=0x00;
      DDRB=0xff;
      
      // Port C initialization
      // Func6=In Func5=In Func4=In Func3=In Func2=In Func1=In Func0=In 
      // State6=T State5=T State4=T State3=T State2=T State1=T State0=T 
      PORTC=0x00;
      DDRC=0x1E;
      
      // Port D initialization
      // Func7=In Func6=In Func5=In Func4=In Func3=In Func2=In Func1=In Func0=In 
      // State7=T State6=T State5=T State4=T State3=T State2=T State1=T State0=T 
      PORTD=0x00;
      DDRD=0xf0;
      
      uart_init(51);
      adc_init();
      //timer0_init();
      #asm("sei");
      while (1)
            {
            data_read_adc=read_adc(0);
            tempature=(unsigned char)(floor((float)256*data_read_adc/1024));
            display_7seg(tempature);
            uart_tran(tempature);
            delay_ms(1000);
            };
      }

      Comment


      • #4

        Comment


        • #5
          Chỉ đơn giản là điện áp tham chiếu chưa đc ổn định, nên giảm điện áp này để nâng cao chính xác.


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

          Comment


          • #6
            Bạn có thể nói rõ hơn được không?điện áp tham chiếu ở đây mình chọn là tham chiếu nội 2,56v.vậy mình có thể mắc thêm phần tử gì để ổn định khi đo.quả thật là cứ khi cắm thêm led và là nó bắt đầu đo lung tung.bạn có thể giúp mình về mạch không?vừa có thể đo được nhiệt độ mà hiển thị được lên led 7 thanh.code thì mình có thể chứ mạch thì mình không rõ lắm.cảm ơn bạn.

            Comment


            • #7
              Chân AREF là chân điện áp tham chiếu, bạn cần ổn định điện áp chân này. Thường dùng diode ổn áp hoặc có thêm cuộn cảm chặn ở đầu vào chân này. Có thể dùng ngưỡng 5v hay 3.3V tùy bạn. Mình dùng LM35 mãi rồi, ko hề nhảy lung tung đâu. Bạn cũng nên xem lại thuật toán.


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

              Comment


              • #8
                Có lẽ bạn bảo mình chọn điện áp tham chiếu ngoài ở chân AREF.Mình sẽ thử nhưng nguồn cấp chân AREF chắc là nguồn riêng khác với nguồn cho vdk àh bạn?
                Còn sau đây là các bước mình đã làm có gì bạn xem giúp mình với:
                -phần truyền nhận giao tiếp máy tính thì được rồi,còn mỗi phần đo nhiệt độ
                -chọn điện áp tham chiếu:mình chọn tham chiếu nội 2,56v ,trong datasheet mega8 thi có 3 chế độ chọn điện áp tham chiếu:điện áp tham chiếu nội,AVCC,AREF.
                -Việc cách đọc nhiệt độ:cứ 1s thì đọc một lần,đọc xong thì hiển thị led 7 thanh và truyền về máy tính
                Code:
                while (1)
                      {
                      data_read_adc=read_adc(0);
                      tempature=(unsigned char)(floor((float)256*data_read_adc/1024));
                      display_7seg(tempature);
                      uart_tran(tempature);
                      delay_ms(1000);
                      };
                -Về phần mạch mình hỏi phần đo nhiệt độ
                +dao động ngoài thạch anh 8Mhz,tụ 22u
                +hiển thị led dùng 74ls47 để giải mã BCD sang 7 thanh
                +kênh adc0 đọc nhiệt độ
                +chân AREF mình mắc một tụ vì theo datasheet bảo nếu chọn tham chiếu nội thì mắc thêm(một chân tụ với aref,1 chân với đất-không biết đúng không).
                Nói chung là mình mắc giống mạch mô phỏng ở trên.bạn có thể sửa giúp mình hoặc có thể gợi ý cho mình cách làm của bạn không(cụ thể càng tốt)hay cho mình xin sơ đồ mạch.vì mình nghĩ cái này bạn cũng làm nhiều rồi.mình cảm ơn.
                Last edited by haiau59; 08-06-2010, 09:44.

                Comment


                • #9
                  Nguyên văn bởi linhvinhhoa Xem bài viết
                  Của khỉ gì đây hả bố ? Khoe hàng à ?

                  Comment


                  • #10
                    Mình mong các bạn đừng spam nữa.Nếu bạn nào biết thì giúp mình với.Đây là lần đầu mình làm mạch thật thấy nó khác với mô phỏng quá.Mong các bạn giúp đỡ cho cái mạch bài của mình..Mình cảm ơn!

                    Comment


                    • #11
                      To : HAIAU59

                      Mong rằng file này sẽ giúp được bạn

                      Comment


                      • #12
                        To : HAIAU59
                        Attached Files

                        Comment

                        Về tác giả

                        Collapse

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

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

                        Collapse

                        • nhathung1101
                          Trả lời cho Tiếng Anh cho người Việt
                          bởi nhathung1101
                          Ngoại ngữ là không thể thiếu, nhất là làm việc với công nghệ.

                          Nhưng học để tán gái hay để đọc datasheet, manual là chuyện cần quan tâm.

                          Và đọc ở nguồn nào đáng tin cậy, chứ cứ lên tictok hay facebook học lỏm thì...
                          Hôm qua, 22:18
                        • dinhthuong80
                          Trả lời cho Tiếng Anh cho người Việt
                          bởi dinhthuong80
                          Bác nói rất khách quan và chính xác. Ngoại ngữ là chìa khóa thăng tiến dù làm gì. Chả thế mà nay nước mình dạy tiếng Anh từ tiểu học.

                          Nhớ hồi năm 2006 em ra Hải Phòng, Hải Dương tìm việc, thời đó ở Bình Dương lương công...
                          Hôm qua, 14:51
                        • dinhthuong80
                          Trả lời cho Tiếng Anh cho người Việt
                          bởi dinhthuong80
                          Cảm ơn bạn, ĐT cũng có ý nghĩ như vậy.

                          Thực ra, lỗi của hãng đó ( gọi là hãng vì không chỉ một model sản phẩm) là về phần cứng, ĐT tuy không biết về lập trình phần mềm nhưng cũng thấy rằng sẽ chẳng khó khăn gì đáng...
                          Hôm qua, 14:39
                        • dinhthuong80
                          Trả lời cho Tiếng Anh cho người Việt
                          bởi dinhthuong80
                          Dạ, bác bảy mấy tuổi đời rồi cũng không kém bố cháu bao nhiêu. Tuổi nghề thì bác cũng đáng tuổi cha chú.

                          Nhưng 2 điều trên thì chưa hẳn đã đáng quí và đáng tôn trọng bằng việc bác rất nhiệt tình chia sẻ kinh nghiệm chuyên...
                          Hôm qua, 14:28
                        • bqviet
                          Trả lời cho Tiếng Anh cho người Việt
                          bởi bqviet
                          Đúng, nếu chú tâm thì chỉ cần mỗi tiếng Việt là đã khá đủ để làm đa số công việc thông thường, ở thời đại ngày nay khi tài liệu sách vở phương tiện thông tin liên lạc đã nhiều. Nhưng cũng chính ở thời nay giao lưu các nước nhiều...
                          21-02-2025, 20:26
                        • mèomướp
                          Trả lời cho Tiếng Anh cho người Việt
                          bởi mèomướp
                          Dạ cháu nghĩ chú dinh... cứ mạnh dạn gửi thư đi ạ, chú có thể gửi bằng văn bản in chuyển phát nhanh sẽ có giá trị hơn. Vấn đề chưa hẳn là cần hãng làm gì đó, mà chỉ đơn giản là mình cảm thấy nhẹ lòng vì đã làm những việc bản...
                          21-02-2025, 12:32
                        • vi van pham
                          Trả lời cho Tiếng Anh cho người Việt
                          bởi vi van pham
                          Những lần hắt hơi sổ mũi làm tôi mệt lã, phải dùng rượu uống để ngũ. Tôi cũng đang uống rượu 1 mình, viết vài dòng này cho em ( có lẽ dt chỉ bằng tuổi em tôi).

                          Dinh thuong dang đi vào vết xe đổ của tôi. Càng chứng minh, có...
                          20-02-2025, 21:31
                        • bqviet
                          Trả lời cho Hỏi về cách hàn linh kiện ( giúp tớ với )
                          bởi bqviet
                          Thiết nghĩ thi thoảng bác lên đây chia xẻ ít kinh nghiệm cũng vui rồi. Còn chuyện con người sinh lão bệnh tử là thường, sống cùng với quy luật đó thôi. Bqv nhớ trước đây bác từng kể về chuyện rang chì ô-xít bằng chảo để phục hồi bình điện, đấy cũng là thành quả đáng nể phục ở thời kỳ thiếu thốn đó.
                          20-02-2025, 17:22
                        • dinhthuong80
                          Trả lời cho Tiếng Anh cho người Việt
                          bởi dinhthuong80
                          Tiếng Anh, Đình Thường phải nói là rất tệ, khiến việc giao tiếp đời thường thôi cũng khó chứ nói gì về kĩ thuật.

                          Nhân tiện, nhờ các bạn, các bác xem giúp thư ĐT viết thế này liệu có thể gửi tới địa chỉ nhận hay chăng,...
                          20-02-2025, 11:52
                        • vi van pham
                          Trả lời cho Hỏi về cách hàn linh kiện ( giúp tớ với )
                          bởi vi van pham
                          Uống rượu 1 mình, thấy trang này nhớ lại cách đây vài chục năm hàn thiếc với inox cực kỳ khó, phải dùng acid Hcl tác dụng lên kẻm Zn để có Zncl2 làm thuốc trợ hàn, lúc đó làm gì có acid Hcl và thuốc trợ hàn?

                          Cái khó bó cái...
                          19-02-2025, 23:05
                        Đang tải...
                        X