Форум myROBOT.ru » Шаг за шагом » С чего начать? » Не могу найти ошибку

Страниц (1): [1]
 

1. fortekom - 16 Ноября, 2012 - 12:50:44 - перейти к сообщению
Собрал первого робота по схеме ниже
запустил приложенную программу, всё работает, но на маленькой скорости.
Как только увеличиваю скорость робот выезжает за линию.
Решил поэкспериментировать и сделал такую вот программу : оставил только центральный датчик. Робот должен включится и ехать прямо (по белому полю) как только встречает черную линию должен отключить моторы. (колом встать)
А в итоге получилось - на черной линии моторы выключаются, но стоит передвинуть робота на белое поле моторы опять включаются.

Что в программе не так? Почему включаются двигатели, после останова?
Программа написана в Algorithm Builder, прошита в понипрог через лпт
2. fortekom - 16 Ноября, 2012 - 13:04:22 - перейти к сообщению
Вот программный код
3. fortekom - 16 Ноября, 2012 - 21:48:47 - перейти к сообщению
Я думаю это может аппаратный сбой или всё таки программный ...
Может ресет срабатывает, или нужно какое нибудь прерывание отключить
Попробую подключить на какой нибудь порт диод и поморгать, но только смогу завтра.
К примеру включение назначу перед MAIN, если ресет то будет моргать.
А если в программном месте, то предполагаю что ШИМ как то связан с АЦП
только не знаю что делать .... или в регистрах напутал или ...
4. mihail - 16 Ноября, 2012 - 23:58:20 - перейти к сообщению
Эээ... Что это такое? Я про среду разработки Смущение
5. cjA - 17 Ноября, 2012 - 00:01:27 - перейти к сообщению
(Программу не видно.)
Но я задачи не понял.
На белом едет- правильно? На черном стоит.
Ну по инерции пару сантиметров проезжает, это Вам тогда нужно торможение реверсом сделать и покрышки поменять.
?
6. fortekom - 17 Ноября, 2012 - 06:07:15 - перейти к сообщению
mihail пишет:
Эээ... Что это такое? Я про среду разработки

Это вот такая программа: http://www.algrom.net/russian.html
для начинающих Улыбка
7. fortekom - 17 Ноября, 2012 - 06:14:52 - перейти к сообщению
cjA пишет:

Да, на белом едет как наезжает на черную линию должен остановится (мне хотелось посмотреть длину инерции)
Но он проезжая линию продолжает ехать, хотя этого не должно быть.

Прикрепил код в АБ
(Добавление)
cjA пишет:
(Программу не видно.)

Вот тут чуть получше http://vstavsk.tara.omskedu.ru/files/Bilder.jpg
8. fortekom - 17 Ноября, 2012 - 12:02:54 - перейти к сообщению
убрал в коде зацикливание MAIN (чтобы он выполнил программу один раз)
А получается что после выполнения всей программы он повторяет всё с начало.
Это так должно быть? или МК сгорел?
У меня до этого горел драйвер, но заменив его всё вроде работало.
(Добавление)
Наверно я тут один ...
Нашел касяк, вопрос можно закрывать.
Решение было следующим, вместо условного перехода MAIN поставил, безусловный переход и всё заработало.

Но есть маленький вопрос, не по теме, у меня ШИМ 4кГц это нормально?
То есть у меня стоит кварц 4Мгц, стоит ставить на 8 или 16?
я смогу ШИМ запустить на 8кГц и 16кГц
9. mihail - 17 Ноября, 2012 - 19:14:42 - перейти к сообщению
fortekom пишет:
Наверно я тут один ...
Да. Algorithm Builder - не самая популярная среда. На http://www.forum.getchip.net есть раздел посвященный ему.
10. elmot - 17 Ноября, 2012 - 20:02:54 - перейти к сообщению
fortekom пишет:
убрал в коде зацикливание MAIN (чтобы он выполнил программу один раз)
А получается что после выполнения всей программы он повторяет всё с начало.
Это так должно быть? или МК сгорел?

скорее всего мк в сброс уходит и все заново испоняется. вообще на мк main с выходом - это очень странная затея.
11. cjA - 18 Ноября, 2012 - 02:56:45 - перейти к сообщению
fortekom, в гифу дави, тут не до украшеств.

счетчик команд у него больше памяти, такчто это нормально, он не в резет уходит, а просто начинает все сначала.
12. fortekom - 18 Ноября, 2012 - 08:38:24 - перейти к сообщению
cjA пишет:
четчик команд у него больше памяти, такчто это нормально, он не в резет уходит, а просто начинает все сначала

Так и есть, опыты показали(разные паузы ставил), что начинает все с самого начала, хотя стоит условный переход и он должен уходить в цикл. Заменил на безусловный и всё стало работать. Это, наверно, особенность Алгоритм Билдера.

P.S. Кстати когда заработало, (ставил задачу, при наезде на черную метку должен остановится) то робот после остановки ещё 15 см успевал по инерции проезжать. Тут не мудрено что с трассы съезжает, скорость надо уменьшать или покрышки шиповать Улыбка.
13. cjA - 18 Ноября, 2012 - 18:51:56 - перейти к сообщению
fortekom, ну и ОК. видиво вфложи, вот прям хочется пасматреть