Технический форум по робототехнике.
galex1981 » 29 янв 2009, 00:22
Для начала знакомлюсь с предметной областью: изучаю datasheet ИС C2500 и исходные коды минибота и т. д.
- Вложения
-
- v3.0.rar
- последняя рабочая версия
- (21.17 КиБ) Скачиваний: 39
-
- исх код эда.rar
- имеющиеся исходники
- (67.28 КиБ) Скачиваний: 78
-
- cc2500.pdf
- Даташит на ИС
- (1.3 МиБ) Скачиваний: 135
-
- Схема миниплаты
Последний раз редактировалось
galex1981 15 сен 2009, 21:56, всего редактировалось 6 раз(а).
Gfer » 14 май 2009, 14:36
Пока начал только разбираться. Можно ли увеличить буфер. Некоторые мои команды длинные и завершаются символом ввода и посередине команды он присутствовать не может. А дальность уверенной работы в зашумленном помехами офисе оказалась 5 метров (я в шоке)
Может мне калибровка поможет. Как работать с этими регистрами? (видел их в исходнике)
galex1981 » 14 май 2009, 14:48
Увеличить буфер можно - размерность массивов изменяй и контроль размерности введенных символов. Для калибровки меняешь 3 байта и проверяешь работу
EdGull » 14 май 2009, 14:56
еще не зудудьте что нужно регулировать мощность, т.е. он тупо может глушить
Gfer » 14 май 2009, 15:14
Что глушить? На пять метров разошлись в все. Ну задеру я мощность а толку. Раньше занимался радиосвязью. Что бы за счет мощьности добиться увеличение дальности в два раза надо мощность задрать в 28 раз. Эффективней хорошая согласованная антенна.
А из каких соображений подбирать калибровочные регитры если частотомера нет?
Может взять антенны от WiFi, а ту что на плате аккуратненько отрезать...
Правда судя по мануалу придется пассивный обвес городить, а для диполи он не нужен все по тому же мануалу.
EdGull » 14 май 2009, 17:38
ты когда брал модули?
уже месяца наверное как два калибровка указывается на плате.
Aleksandr_ » 16 май 2009, 18:48
Описываю свою проблему.
Запустил BASCOM, открыл прогу 1.85, раскоментировал обе строки "для мегаплаты" (там где фьюзы и там где config) и соответственно закоментировал "для минибота". Скомпилировал (клавиша F7). Далее обе мегаплаты прошил нажав F4, затем "Write buffer to flash ROM". Таким образом получается я не прошивал фьюзы, так как сказали их не трогать.
Всё нормально прошилось, без ошибок.
На данном этапе я кажется всё правильно делаю?
Теперь запускаю Hyper Terminal, настраиваю скорость 115200 и т.д.
Обе платы на обоих компах пишут слово "Start" и всё на этом.
Передача не происходит. Иногда обе платы принимают какие-то помехи, но ничего из того что посылал не приходит.
Расстояние между компами, а точнее между мегаплатами = 4 метра.
Что не так, кто знает?
Может надо настроить частоту обеих плат? И есть вопрос на счёт калибровки. На плате указаны три шестнадцатиричные цифры. Их надо вписывать в программу:
Const Ðåãèñòð_freq2 = &H0D 'ïîäñòðîéêà ïðè êàëèáðîâêå ïëàòû
Const Ðåãèñòð_freq1 = &H0E 'ïîäñòðîéêà ïðè êàëèáðîâêåïëàòû
Const Ðåãèñòð_freq0 = &H0F 'ïîäñòðîéêà ïðè êàëèáðîâêå ïëàòû
в этом месте, или нет?
И что делать, если на одной плате эти цифры случайно стёрлись?
Добавлено спустя 2 минуты 30 секунд:
Поправка*
Const Регистр_freg2 = &H0D 'подстройка при калибровке платы
Const Регистр_freg1 = &H0E 'подстройка при калибровке платы
Const Регистр_freg0 = &H0F 'подстройка при калибровке платы
EdGull » 16 май 2009, 19:15
у тебя на платах циферки фломастером написаны?
Aleksandr_ » 16 май 2009, 19:56
да, фломастером вроде, чёрным.
EdGull » 16 май 2009, 20:01
тогда исправь
freg2 первое число (слева направо)
freg1 второе
freg0 третье
Добавлено спустя 1 минуту 14 секунд:
должно быть похоже на
Const Регистр_freg2 = &H59 'подстройка при калибровке платы
Const Регистр_freg1 = &H09 'подстройка при калибровке платы
Const Регистр_freg0 = &H61 'подстройка при калибровке платы
Aleksandr_ » 16 май 2009, 22:12
Всё равно не посылает данные. Только принимает помехи какие-то.
Думаю в программе проблем нет. Может терминал не настроен как следует?
Вот параметры порта (виртуального COM3):
Скорость: 115200 бит/с;
Биты данных: 8;
Чётность: Нет;
Стоповые биты: 1;
Управление потоком: Аппаратное.
От шрифта вроде не должно особо зависеть, у меня стоит - Terminal.
Свойства подключения прикрепляю картинкой.
Всё правильно или нет?
- Вложения
-
- Свойства
EdGull » 16 май 2009, 22:28
Управление потоком: Нет
Aleksandr_ » 17 май 2009, 18:03
Пошла передача данных. Я запаял в мегаплату светодиод и он оповещает о передаче данных. Но вторая мегаплата не принимает эти данные. А какие-то помехи продолжает время от времени выводить на экран.
Что мне ещё сделать чтобы заработало?
galex1981 » 17 май 2009, 18:06
Ты калибровочные регистры оставил какие, как в программе или как на мегаплате?
Aleksandr_ » 17 май 2009, 18:17
Я поставил их как на мегаплате, причём у каждой по-своему. Ну попробую сейчас вернуть как было, может заработает.
Добавлено спустя 5 минут 54 секунды:Заработало!!! Урааа! Оставил калибровку как было в программе и заработало. Благодарю всех за помощь.
galex1981 » 18 май 2009, 21:49
Есть идея переделать прошивку не по прерыванию от UART а буферизировано как в AVR-DOS, у кого каие мысли по этому поводу?