На днях собрал MRC40 c robozone.su (он вроде как хорошо пашет)
И собрал к нему http://robozone.su/2009....-s.html
В этом девайсе всё пашет кроме ДД.... Я не знаю что делать! дорожки целые, питание на ДД есть. Уже второй день не могу его запустить в работу!
Вместо микрухи 74HC00 использую CD74HC00, вроде это полный аналог.
Код для запуска ДД использую:
Code
$regfile = "m16def.dat" 'используем мк ATmega32
$crystal = 16000000 'частота кварцевого резонатора 8MHz
'****************************Настройка таймеров и сервоприводов*****************
Config Timer1 = Pwm , Pwm = 8 , Prescale = 8 , Compare A Pwm = Clear Down , Compare B Pwm = Clear Down ' таймер для ШИМ двигателей
'*************************** Порт D ********************************************
Config Pind.6 = Output : Dr1 Alias Portd.6 'ногу сконфигурировали как выход и обозвали Dr1
Config Pind.7 = Output : Dr2 Alias Portd.7 'ногу сконфигурировали как выход и обозвали Dr2
Config Pind.5 = Output : 'ногу ШИМа 1-ого движка сконфигурировали как выход
Config Pind.4 = Output : 'ногу ШИМа 2-ого движка сконфигурировали как выход
Config Rc5 = Pinc.6
Config Pinb.2 = Output : Led1 Alias Portb.2
'*******************************************************************************
Enable Interrupts ' разрешаем прерывания
'************************Переменные и константы*********************************
Dim Speed As Integer , Sharp As Integer
Dim Address As Byte , Command As Byte
Speed = 255
'*******************************************************************************
' Включение комбинации моторов для движения в заданном направлении
'*******************************************************************************
Do
Gosub Прием_rc5
If Command = 255 Then
Gosub Стоп
Waitms 0
Elseif Command = 4 Then
Gosub Прямо
Waitms 0
Elseif Command = 5 Then
Gosub Назад
Waitms 0
Elseif Command = 6 Then
Gosub Влево
Waitms 0
Elseif Command = 7 Then
Gosub Вправо
Waitms 0
Elseif Command = 1 Then
Set Led1
Elseif Command = 2 Then
Reset Led1
End If
Loop
Прием_rc5:
Getrc5(address , Command)
If Address <> 255 And Command <> 255 Then
Command = Command And &B01111111
End If
Return
Стоп: ' стоим на месте
Dr1 = 0 : Dr2 = 0 : Pwm1a = 0 : Pwm1b = 0
Return
Прямо:
' едим вперёд на заданной скорости
Dr1 = 0 : Dr2 = 0 : Pwm1a = Speed : Pwm1b = Speed
Return
Назад: ' едим назад на заданной скорости
Dr1 = 1 : Dr2 = 1 : Pwm1a = Speed : Pwm1b = Speed
Return
Вправо: ' делаем Разворот_вправо на заданной скорости
Dr1 = 0 : Dr2 = 1 : Pwm1a = Speed : Pwm1b = Speed
Return
Влево: ' делаем Разворот_влево на заданной скорости
Dr1 = 1 : Dr2 = 0 : Pwm1a = Speed : Pwm1b = Speed
Return
Не знаю, может быть кристалл плохой, я его выпаял со старого контроллера... ДД L298N абсолютно новый!Добавлено (28.08.2011, 09:18)
---------------------------------------------
Я просто в ШОКЕ!
Прошёлся тестером всё работает! Все резисторы, кондёры целые, напряжение на схеме везде 5В! Прошёл светодиодом тоже сигналы везде есть!