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


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

code cho mô phỏng
Mình dùng codevision avr !
Mong ae góp ý !


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
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); } }
Mong ae góp ý !
Comment