Tổng Hợp Tài Liệu Hướng Dẫn Và Kinh Nghiệm Làm Robocon

#21
các bác xem file gửi kèm nhé.
cho em hỏi sao chân điều xung từ chân 4 của pc817 đi vào trở treo +uln và đầu ra cũng của uln cũng có trở treo?
còn chân điều khiển role thì đi từ chân 3 của pc817 đi thẳng vào uln mà không qua trở treo?

sao chân điều xung phải đi từ chân 4 chân điều khiển rơ le lại đi từ chân 3 của pc mà không thể mắc như nhau?

đầu vào uln mức 0 thì đầu ra không xác định vậy điều khiển thế nào?
 

Đính kèm

  • 25.8 KB Lượt xem: 135

mta_cdt

Super Moderator
Thành viên BQT
#22
cái này tùy mạch thôi mắc như nhau cũng được. Cái này thì tùy vào mạch thôi nếu mắc như mạch của bạn thì đầu ra uln hoặc là mức 0 hoặc là không có gì ở chân nối với relay
 

trimyka

VIP
Thành viên BQT
#23
Mình xin cung cấp cho các bạn yêu robocon đường link vào một trang web giới thiệu về mạch công suất dùng trong điều khiển động cơ robot - Build an H-Bridge Motor Control with Power MOSFETS (Tutorial).

Trong đó họ sử dụng MOSFET để điều khiển động cơ điện DC đồng thời cho phép nối với các cổng vào ra của vi điều khiển. Tuy nhiên có điều cần lưu ý khi ráp mạch nên đeo kính bảo hộ mắt vì nếu bạn sơ ý lắp trật thì các MOSFET có thể bị kích bất ngờ và gây nổ (nổ rất nhỏ thôi) nhưng có thể văng vào mắt nếu không để ý... Nhớ dùng tay kiểm tra khi MOSFET hoạt động có bị quá nhiệt không nhé.



Có hai đường dùng thay đổi chiều động cơ tất nhiên cần tránh để hai tín hiệu này kích cùng lúc. Mặt khác bạn có thể điều chỉnhh tốc độ động cơ theo phương pháp độ rộng xung (PWM) nghĩa là tạo ra một loạt các xung vuông với các tần số khác nhau nhờ chương trình viết cho vđk - tần số càng cao thì tốc độ càng nhanh và ngược lại.

Chúc bạn thành công.
 

trimyka

VIP
Thành viên BQT
#24
à mà quên, trong mạch này họ cũng giới thiệu cả hai cảm biến quang opto-couple có thể dùng để dò đường trong robocon. Còn phần tạo ra tín hiệu độ rộng xung trong vđk các bạn có thể tham khảo trong cuốn 8051 của tác giả Tống Văn On hoặc trong các trang web khác... Nếu sử dụng trong phòng có độ sáng cao các bạn nên che chắn tốt để tránh bị nhiễu từ ánh sáng đèn...
 

VY MINH NAM

Học sinh phổ thông
#29
/*****************************************************
This program was produced by the
CodeWizardAVR V2.05.0 Professional
Automatic Program Generator
© Copyright 1998-2010 Pavel Haiduc, HP InfoTech s.r.l.
HP InfoTech - CodeVisionAVR C Compiler

Project :
Version :
Date : 10/25/2015
Author : NeVaDa
Company :
Comments:


Chip type : ATmega8L
Program type : Application
AVR Core Clock frequency: 8.000000 MHz
Memory model : Small
External RAM size : 0
Data Stack size : 256
*****************************************************/

#include <mega8.h>
void khoitao()
{
// Declare your local variables here

// Input/Output Ports initialization
// Port B initialization
// Func7=In Func6=In Func5=In Func4=In Func3=In Func2=Out Func1=Out Func0=In
// State7=T State6=T State5=T State4=T State3=T State2=0 State1=0 State0=T
PORTB=0x00;
DDRB=0x06;

// 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=0x00;

// 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=0x00;

// Timer/Counter 0 initialization
// Clock source: System Clock
// Clock value: Timer 0 Stopped
TCCR0=0x00;
TCNT0=0x00;

// Timer/Counter 1 initialization
// Clock source: System Clock
// Clock value: 8000.000 kHz
// Mode: Ph. & fr. cor. PWM top=ICR1
// OC1A output: Non-Inv.
// OC1B output: Non-Inv.
// Noise Canceler: Off
// Input Capture on Falling Edge
// Timer1 Overflow Interrupt: Off
// Input Capture Interrupt: Off
// Compare A Match Interrupt: Off
// Compare B Match Interrupt: Off
TCCR1A=0xA0;
TCCR1B=0x11;
TCNT1H=0x00;
TCNT1L=0x00;
ICR1H=0x03;
ICR1L=0xE8;
OCR1AH=0x00;
OCR1AL=0x00;
OCR1BH=0x00;
OCR1BL=0x00;

// Timer/Counter 2 initialization
// Clock source: System Clock
// Clock value: Timer2 Stopped
// Mode: Normal top=0xFF
// OC2 output: Disconnected
ASSR=0x00;
TCCR2=0x00;
TCNT2=0x00;
OCR2=0x00;

// External Interrupt(s) initialization
// INT0: Off
// INT1: Off
MCUCR=0x00;

// Timer(s)/Counter(s) Interrupt(s) initialization
TIMSK=0x00;

// USART initialization
// USART disabled
UCSRB=0x00;

// Analog Comparator initialization
// Analog Comparator: Off
// Analog Comparator Input Capture by Timer/Counter 1: Off
ACSR=0x80;
SFIOR=0x00;

// ADC initialization
// ADC disabled
ADCSRA=0x00;

// SPI initialization
// SPI disabled
SPCR=0x00;

// TWI initialization
// TWI disabled
TWCR=0x00;
}

int loin=0, pid0=0,loitr;
// Declare your global variables here
int pid(int loi, unsigned int kp,unsigned int ki,unsigned int kd)
{
static int loi0=0, iloi=0, dloi=0;
iloi+=loi;
dloi=loi-loi0;
loi0=loi;
if(iloi>=999)
iloi=999;
if(iloi<=-999)
iloi=-999;
if(loi==0)
{
loi0=0;
iloi=0;
dloi=0;
}
return kp*loi+ki*loi+kd*loi;
}
void main(void)
{
khoitao();
while (1)
{
loin=(int)(PIND.0)*(-3)+(int)(PIND.1)*(-2)+(int)(PIND.2)*(-1)+(int)(PIND.5)*3+(int)(PIND.4)*2+(int)(PIND.3)*1 ;
pid0=pid(loin,30,9,0);
if(PIND.5||PIND.4||PIND.3||PIND.2||PIND.1||PIND.0)
{
if(pid0>=999)
{
pid0=0;
}
if(pid0<=-999)
{
pid0=0;
}
if(pid0<0)
{
OCR1B=(-pid0);
OCR1A=0;
}
if(pid0>0)
{
OCR1A=pid0;
OCR1B=0;
}
if(pid0==0)
{
OCR1A=900;
OCR1B=900;
}
loitr=loin;
}
if(PIND.5+PIND.4+PIND.3+PIND.2+PIND.1+PIND.0==0)

{
if(loitr>0)
{
OCR1B=0;
OCR1A=600;
}

if(loitr<0)
{
OCR1B=600;
OCR1A=0;
}
}
}
}
 

tltela

Học sinh phổ thông
#30
Mình xin giới thiệu về mạch điện tử. Mạch điện tử gồm có 3 phần công suất, điều khiển và sensor.
- công suất: đây là phần rất quan trọng mạch công suất thường là mạch cầu H

hoặc là mạch fet+relay.

ưu nhược điểm của 2 mạch này tự các bạn tìm hiểu.
Trong 2 năm gần đây Lạc hồng có dùng mạch công suất là driver do tự lạc hồng thiết kế có thể ổn định được vận tốc. Chính điều này là 1 phần làm nên sức mạnh của lạc hồng về kỹ thuật.
- mạch cpu dùng để cho người điều khiển nạp code đã lập trình. từ đó cpu đọc sensor xử lý rùi đưa tín hiệu điều khiển tới mạch công suất để điều khiển robot hoạt động theo ý muốn người điều khiển. Hiện nay 1 số loại vi điều khiển được xử dụng là pic avr 89c51 ARM psoc...
- mạch sensor nhận biết môi trường của robot. Như dùng để biết vạch khi nào có quà và bị cản hay không.
sensor dò đường trước hay xử dụng là xử dụng ic so sánh lm339 nhưng hiện hay do 1 số hạn chế chuyển sang dùng ADC. ngoài ra có cảm biến khoảng cách, siêu ấm...
Mình cũng xin up 1 sơ đồ mạch sensor xử dụng đọc giá trị adc để dò line Xem đính kèm 123
mạch dò line bằng adc chạy rất hiệu quả và có thể chỉnh ngưỡng tương đối nhanh so với mạch dùng biến trở truyền thống.
Mạch này mờ không nhìn thấy anh ạ ? ah gửi ảnh khác lên được không :)
 

Quảng cáo Google