Thông báo

Collapse
No announcement yet.

[???] Điều Khiển DC dùng atmega8 và L298

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

  • [???] Điều Khiển DC dùng atmega8 và L298

    Trường mình vừa thi xong nên có thời gian rảnh nên mình định làm 1 con xe oto nho nhỏ để chơi cho hết tết , mình đã làm xong phần mạch điều khiển dùng atmega8 , đã làm ra mạch in và chạy ngon
    Click image for larger version

Name:	dk.PNG
Views:	1
Size:	47.5 KB
ID:	1420272
    Click image for larger version

Name:	dk2.PNG
Views:	1
Size:	56.8 KB
ID:	1420273

    Nhưng mình còn thiếu mạch điều khiển động cơ nữa
    Do mình dùng nguồn Pin nên mình định dùng L298 để đk động cơ , mạch mô phỏng như thế này
    Click image for larger version

Name:	dl.PNG
Views:	1
Size:	20.1 KB
ID:	1420274
    code cho mô phỏng
    Code:
    /*****************************************************
    This program was produced by the
    CodeWizardAVR V2.05.0 Professional
    Automatic Program Generator
    © Copyright 1998-2010 Pavel Haiduc, HP InfoTech s.r.l.
    http://www.hpinfotech.com
    
    Project : 
    Version : 
    Date    : 6/14/2013
    Author  : NeVaDa
    Company : 
    Comments: 
    
    
    Chip type               : ATmega8
    Program type            : Application
    AVR Core Clock frequency: 8.000000 MHz
    Memory model            : Small
    External RAM size       : 0
    Data Stack size         : 256
    *****************************************************/
    
    #include <mega8.h>
    #include <delay.h>
    #include <alcd.h>
    
    #define dir1 PORTB.0
    #define dir2 PORTB.3
    
    #define tien 1
    #define lui  0
    //-------------------PWM-------------------------//
    void pwm1(unsigned int tocdo_r)
    {
     OCR1AH=tocdo_r/256;
     OCR1AL=tocdo_r%256;
    } 
    
    void pwm2(unsigned int tocdo_l)
    {
     OCR1BH=tocdo_l/256;
     OCR1BL=tocdo_l/256;
    } 
    //--------------dk tren tung banh--------------//
    void banhphai(unsigned int tocdo_r,unsigned char chieu)
    { 
      pwm1(tocdo_r);
      dir1 = chieu;
    }
    void banhtrai(unsigned int tocdo_l,unsigned char chieu)
    { 
      pwm2(tocdo_l);
      dir2 = chieu;
    }
    void stopdc()
    {
     pwm1(0);
     pwm2(0);
     PORTB.3=PORTB.4=0;
    }
    void main(void)
    {
    
    PORTB=0x00;
    DDRB=0xFF;
    
    PORTC=0x00;
    DDRC=0x00;
    
    PORTD=0x00;
    DDRD=0xF3;
    
    
    TCCR0=0x00;
    TCNT0=0x00;
    
    // Timer/Counter 1 initialization
    TCCR1A=0xA2;
    TCCR1B=0x19;
    TCNT1H=0x00;
    TCNT1L=0x00;
    //------------------TAN SO 1KHZ---------------------//
    ICR1H=1000/256;
    ICR1L=1000%256;
    
    // Alphanumeric LCD initialization
    // Characters/line: 16
    lcd_init(16);
    
    while (1)
          {
          banhphai(800,tien);
          delay_ms(2000);
          banhphai(1000,lui);
          delay_ms(2000); 
          
          }
    }
    Mình dùng codevision avr !
    Mong ae góp ý !

  • #2
    hi bác, tui đang tìm hiểu về lập trình vdk trên con này, bác có thể cho tui xin nick skype hay yahoo hay face được ko có gì mình trao đổi thêm được ko ^^

    bác cho tui hỏi cái này nhé, cổng reset công dụng là gì thế? và ic sử dụng thạch anh 1mhz và 8mhz khác nhau ở chỗ nào vậy? bác cho tui ví dụ cụ thể để hiểu về nó hơn được ko

    Thank bác nhé

    Comment


    • #3
      Nguyên văn bởi lion080889 Xem bài viết
      hi bác, tui đang tìm hiểu về lập trình vdk trên con này, bác có thể cho tui xin nick skype hay yahoo hay face được ko có gì mình trao đổi thêm được ko ^^

      bác cho tui hỏi cái này nhé, cổng reset công dụng là gì thế? và ic sử dụng thạch anh 1mhz và 8mhz khác nhau ở chỗ nào vậy? bác cho tui ví dụ cụ thể để hiểu về nó hơn được ko

      Thank bác nhé
      Cảm ơn bạn đã ghé thăm !

      Trên con VĐK nào cũng có cổng reset và nó có nhiệm vụ để đưa con chip về trạng thái ban đầu(Nhưng chuơng trình bên trong nó ko bị mất đâu nha !) cho dù chương trình trong nó có đang chạy hay ko !

      Còn về phần thạch anh, Thạch anh 8Mhz(=8 triệu chu kỳ) thì có xung nhịp cao hơn 1Mhz , hay trong 1 khoảng thời gian thì con VĐk nào dùng thạch anh 8Mhz sẽ là dc nhiều việc hơn hay nhanh hơn so với con dùng 1Mhz !

      Comment


      • #4
        Nguyên văn bởi vanhuonga6 Xem bài viết
        Cảm ơn bạn đã ghé thăm !

        Trên con VĐK nào cũng có cổng reset và nó có nhiệm vụ để đưa con chip về trạng thái ban đầu(Nhưng chuơng trình bên trong nó ko bị mất đâu nha !) cho dù chương trình trong nó có đang chạy hay ko !

        Còn về phần thạch anh, Thạch anh 8Mhz(=8 triệu chu kỳ) thì có xung nhịp cao hơn 1Mhz , hay trong 1 khoảng thời gian thì con VĐk nào dùng thạch anh 8Mhz sẽ là dc nhiều việc hơn hay nhanh hơn so với con dùng 1Mhz !
        cảm ơn bác đã giải thích giúp tui về phần reset, đưa chip về trạng thái ban đầu? bác có thể ví dụ cho tui hiểu rõ hơn được ko? có phải khi chương trình đang chạy, có biến i chạy từ 0 đến 9 thì khi chạy lại ko reset thì biến i sẽ bắt đầu từ 9? còn reset khi chạy thì nó trở về ban đầu (là 0)?

        bác có thể cho tui xin acc skype hay face để tiện trao đổi đươc ko

        Comment


        • #5
          Nguyên văn bởi lion080889 Xem bài viết
          cảm ơn bác đã giải thích giúp tui về phần reset, đưa chip về trạng thái ban đầu? bác có thể ví dụ cho tui hiểu rõ hơn được ko? có phải khi chương trình đang chạy, có biến i chạy từ 0 đến 9 thì khi chạy lại ko reset thì biến i sẽ bắt đầu từ 9? còn reset khi chạy thì nó trở về ban đầu (là 0)?

          bác có thể cho tui xin acc skype hay face để tiện trao đổi đươc ko
          bạn nên hiểu là RESET là chân không lập trình được nó dùng để reset VĐk khi VĐk bị treo(hoặc bạn muốn chương trình chạy lại từ đầu). Khi muốn reset ta nối chân này với dương nguồn( hoặc mắc nối tiếp qua điện trở 100 ôm,hay có thể nối như trên hình tớ vẽ ) trong khoảng thời gian 2 chu kỳ máy của vi xử lý trở lên

          Bạn có thể liên hệ với mình qua email !
          nguyenvanhuongtdh2k6@gmail.com

          Comment


          • #6
            bác cho xin file sơ đồ nguyên lý + mô phỏng + mạch in với
            thank bác

            Comment


            • #7
              Các bác xem phần mạch lực của mình có khả thi không ! nếu khả thi em làm ra sản phẩm chạy dc thì em mới giám gửi các bác nguyên lí chứ !
              Last edited by vanhuonga6; 09-01-2014, 01:38.

              Comment


              • #8
                bác có thể cho em xem code của phần điều khiển hướng được không?

                Comment


                • #9
                  bạn có thẻ giúp mình làm cái mạch diều khiển tốc độ động cơ dc dùng atmega8 không bạn!! tks mình ms học lập trình avr nên mù tịt.hjk

                  Comment

                  Về tác giả

                  Collapse

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

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

                  Collapse

                  Đang tải...
                  X