Минибот-89

Готовая электроника для самодельного робота. Уровень от начинающих до опытных конструкторов.

Re: Минибот-89

Сообщение EdGull » 15 мар 2011, 10:29

зайти программатором в настройки Меги88 и выключить
а когда ты его успел включить? я обе меги программировал тестовыми кодами с выставлением правильных фусибитов
Аватара пользователя
EdGull
 
Сообщения: 10211
Зарегистрирован: 28 дек 2004, 20:33
Откуда: Тольятти
Skype: Ed_Gull
прог. языки: Bascom AVR Basic
ФИО: Гуль Эдуард Викторович

Re: Минибот-89

Сообщение rangerrus » 15 мар 2011, 11:21

бит выключил, фюзы прошил, теперь со скоростью норм все, но опять в терминале один и тот же мусор повторяется

Добавлено спустя 31 минуту 29 секунд:
меня токо одна мысль смущает - проект минибот существует уже больше 2 лет, но никто почему ни разу не воспользовался аппаратным уартом на меге88, все софтовый используют.
rangerrus
 
Сообщения: 49
Зарегистрирован: 08 дек 2010, 10:38
Откуда: ЯНАО, Ноябрьск
прог. языки: семейство сишных языков
ФИО: Батурин Георгий Александрович

Re: Минибот-89

Сообщение rangerrus » 15 мар 2011, 16:54

прогресс наметился. Наивно полагая что кроме вышеназванного фузибита все нормально я начал работать с мегой88. Но благодаря своей невнимательности я только щас обнаружил, что мега88 тактируется не от меги32, а от собсвенного такта на 8 мгц(фузибиты показывают что включен внутренний тактовый генератор, а внешний собственно выключен). Таким образом я в прошивке устанавливал частоту меги32(7.3728 мгц). Ну и получал соответственно ошибки при выводе в уарт. Поставив частоту 8 мгц все нормализовалось.
rangerrus
 
Сообщения: 49
Зарегистрирован: 08 дек 2010, 10:38
Откуда: ЯНАО, Ноябрьск
прог. языки: семейство сишных языков
ФИО: Батурин Георгий Александрович

Re: Минибот-89

Сообщение EdGull » 15 мар 2011, 17:26

в тестовой и прочих прошивках для обоих мег используются только аппаратные уарты
кварц 7.37МГц именно по этому и выбран, что уарт имеет нулевые ошибки на всех скоростях
Аватара пользователя
EdGull
 
Сообщения: 10211
Зарегистрирован: 28 дек 2004, 20:33
Откуда: Тольятти
Skype: Ed_Gull
прог. языки: Bascom AVR Basic
ФИО: Гуль Эдуард Викторович

Re: Минибот-89

Сообщение rangerrus » 15 мар 2011, 22:51

уарт вроде нормально работает. Сейчас постараюсь разработать протокол обмена между мегой88 и мегой32. Пробовал сначала простой метод - тупо по прерыванию urxc складывал байты в буфер. Но с таким методом выполнение прогарммы практически невозможно - прерывания идут постоянно
rangerrus
 
Сообщения: 49
Зарегистрирован: 08 дек 2010, 10:38
Откуда: ЯНАО, Ноябрьск
прог. языки: семейство сишных языков
ФИО: Батурин Георгий Александрович

Re: Минибот-89

Сообщение rangerrus » 18 мар 2011, 11:45

разработав свой собственный недопротокол общения двух мег по аппаратному уарту вечером как запаяю шлейф на дальномер шарп буду пробовать его в деле
rangerrus
 
Сообщения: 49
Зарегистрирован: 08 дек 2010, 10:38
Откуда: ЯНАО, Ноябрьск
прог. языки: семейство сишных языков
ФИО: Батурин Георгий Александрович

Re: Минибот-89

Сообщение rangerrus » 19 мар 2011, 23:10

подключил дальномер шарп. Но чето никак не могу считать данные ацп нормально - питание 5в измерял - вроде нормально. я подключил в 3 штыря - то что посередине разъема х10-х14 - помоему это adc0 на меге88. Но показания ацп постоянно в районе 200-250 - больше не меняются. Хз может дальномер спалил) МОжет кто подскажет как проверить работает дальномер или нет?
rangerrus
 
Сообщения: 49
Зарегистрирован: 08 дек 2010, 10:38
Откуда: ЯНАО, Ноябрьск
прог. языки: семейство сишных языков
ФИО: Батурин Георгий Александрович

Re: Минибот-89

Сообщение EdGull » 20 мар 2011, 00:13

тупо посмотреть напряжение тестером на выходе шарпа
Аватара пользователя
EdGull
 
Сообщения: 10211
Зарегистрирован: 28 дек 2004, 20:33
Откуда: Тольятти
Skype: Ed_Gull
прог. языки: Bascom AVR Basic
ФИО: Гуль Эдуард Викторович

Re: Минибот-89

Сообщение rangerrus » 05 апр 2011, 17:11

начал заниматься беспроводной связью через roborf. Весь день проводил эксперименты на разных скоростях уарт. на 115200 бод практически один мусор принимается. Добился стабильной работы на 38400 и меньше. Прошил в атмегу32 авр-дос, в мегу88 соответственно последние прошивки из темы про роборф. С мегаплаты на минибот все норм передается. Команды выполняются. Заметил что примерно раз в 1 или 2 минуты минибот принимает мусор из 1 символа. ПОэтому примерно 1 команда в минуту принимается с ошибкой) Ща жду ответа от миббима насчет его игрушки, хочу попробовать стабильность связи в соседних комнатах
rangerrus
 
Сообщения: 49
Зарегистрирован: 08 дек 2010, 10:38
Откуда: ЯНАО, Ноябрьск
прог. языки: семейство сишных языков
ФИО: Батурин Георгий Александрович

Re: Минибот-89

Сообщение galex1981 » 05 апр 2011, 17:14

Просто вам требуется лучше настроить радиоканал программно (откалибровать). В программе на Bascom есть 3 байта отвечающие за подстройку частоты - их следует изменять
if(!Operate) Read(pDatasheet);
Аватара пользователя
galex1981
 
Сообщения: 4363
Зарегистрирован: 04 дек 2008, 22:44
Откуда: Камышин
Skype: galk-aleksandr1
прог. языки: Kotlin, Java, C, C++, Assm, BasCom, VB, php
ФИО: Галкин Александр Владимирович

Re: Минибот-89

Сообщение rangerrus » 05 апр 2011, 17:17

в том и дело - у меня на мегаплате написаны 3 hex-значения. Поставил их в эти 3 байта в прошивках - связи вообще нет)
rangerrus
 
Сообщения: 49
Зарегистрирован: 08 дек 2010, 10:38
Откуда: ЯНАО, Ноябрьск
прог. языки: семейство сишных языков
ФИО: Батурин Георгий Александрович

Re: Минибот-89

Сообщение galex1981 » 05 апр 2011, 17:18

Попробуй поиграться этими значениями - какие то но подойдут идеально
if(!Operate) Read(pDatasheet);
Аватара пользователя
galex1981
 
Сообщения: 4363
Зарегистрирован: 04 дек 2008, 22:44
Откуда: Камышин
Skype: galk-aleksandr1
прог. языки: Kotlin, Java, C, C++, Assm, BasCom, VB, php
ФИО: Галкин Александр Владимирович

Re: Минибот-89

Сообщение rangerrus » 06 апр 2011, 21:13

кто нибудь пробовал отправлять через С# данные в ком порт? Хочу сделать аналог миббимовской игрушки на шарпе. Застрял на работе с компортом) Порт нормально открывается, а вот дальше никаких подвижек. Пробовал через зигби мегаплату - с терминала бесповодная связь отлично работает, а вот программа ни в какую не работает. Подключал напрямую в минибот - эффект тот же. Использую класс serialPort. Настройки много раз проверял - со всеми не пашет) В мегаплате и миниботе в меге88 прошивка v3.2 из темы про роборф)
МОжет кто уже сталкивался с таким поведением?

Добавлено спустя 47 минут 27 секунд:
проблему вроде как нашел - походу данные слишком быстро передаются. Мега просто словить все не успевает)

Добавлено спустя 2 часа 26 минут 20 секунд:
провел более точные эксперименты. в тестовой прошивке просто принимаются данные через уарт и отправляю принятое на лсд экран. Используя просто прерывание по приему символа сообщение принимается иногда кусками с мусором. В хелпе использовал следующий код:
Config Serialin = Buffered , Size = 20 - эту строку взял с авр-доса.
If Ischarwaiting() = 1 Then
Input Na
Lcdat 1 , 1 , "Priem= " ; Na , 0 , 255
End If
эти строки с хелпа по Config Serialin.
С этим строками среди всякого мусора вижу свое сообщение и кучу бесконечного мусора. Думаю, что мусор связан в первую очередь с буфером. Использование input тоже не самый лучший вариант. Может у кого есть наработки по коду отправки со сторонних программ строк? Как я подозреваю, мега просто не успевает обработать все символы с уарта. Хз как с этим бороться. Неужели нет ни у кого самописных программ по работе с ком портом? Хотелось бы увидеть реально работающий пример кода на любой языке, желательно конечно семейство сишных языков, но и паскаль какой-нить сойдет, лишь бы код работающий был. Хотя возможно это что-то вроде фишки в шарпе. Но все таки сообщение отправляется, и даже принимается с использованием буфера. Поэтому думаю неплохо бы соорудить всем вместе работающий код для мегаплаты и минибота, чтоб появилась возможность использовать самописные программы, а не только терминал)
rangerrus
 
Сообщения: 49
Зарегистрирован: 08 дек 2010, 10:38
Откуда: ЯНАО, Ноябрьск
прог. языки: семейство сишных языков
ФИО: Батурин Георгий Александрович

Re: Минибот-89

Сообщение rangerrus » 07 апр 2011, 12:11

в общем через миниусб заставил всю эту байду как надо работать. Через миниплату безполезно - думаю что дело в реализации приема данных с уарта. С помощью Input все работает) Я в баскоме не особо силен, поэтому может кто поможет реализовать нормальный прием с ком порта на мегаплате зиг би. Походу прием через прерывания вообще только для терминала подходит - когда человек вводит медленно символы. Путем экспериментов установил, что проблема в том, что при приеме данных с программы мегаплата ловит в прерывании только первый символ, потом идет какой-то мусор, и если повезет поймает символа возврата коретки. Так что надо либо ускорять обработку прерывания до нескольких тактов, либо переделывать прошивку мегаплаты под использования инпута с буфером
rangerrus
 
Сообщения: 49
Зарегистрирован: 08 дек 2010, 10:38
Откуда: ЯНАО, Ноябрьск
прог. языки: семейство сишных языков
ФИО: Батурин Георгий Александрович

Re: Минибот-89

Сообщение galex1981 » 07 апр 2011, 12:22

Прошивка мегаплаты работает без проблем - проверялась и не одним человеком
if(!Operate) Read(pDatasheet);
Аватара пользователя
galex1981
 
Сообщения: 4363
Зарегистрирован: 04 дек 2008, 22:44
Откуда: Камышин
Skype: galk-aleksandr1
прог. языки: Kotlin, Java, C, C++, Assm, BasCom, VB, php
ФИО: Галкин Александр Владимирович

Пред.След.

Вернуться в МиниБот — национальный класс роботов

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 3