roboforum.ru

Технический форум по робототехнике.

RoboRF в МиниБоте

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

RoboRF в МиниБоте

Сообщение galex1981 » 29 янв 2009, 00:22

Для начала знакомлюсь с предметной областью: изучаю datasheet ИС C2500 и исходные коды минибота и т. д.
Вложения
v3.0.rar
последняя рабочая версия
(21.17 КиБ) Скачиваний: 39
исх код эда.rar
имеющиеся исходники
(67.28 КиБ) Скачиваний: 78
cc2500.pdf
Даташит на ИС
(1.3 МиБ) Скачиваний: 135
shema.jpg
Схема миниплаты
Последний раз редактировалось galex1981 15 сен 2009, 21:56, всего редактировалось 6 раз(а).
if(!Operate) Read(pDatasheet);
Аватара пользователя
galex1981
 
Сообщения: 4363
Зарегистрирован: 04 дек 2008, 22:44
Откуда: Камышин
Skype: galk-aleksandr1
прог. языки: Kotlin, Java, C, C++, Assm, BasCom, VB, php
ФИО: Галкин Александр Владимирович

Re: RoboRF в МиниБоте

Сообщение Gfer » 16 сен 2009, 12:12

Да это понятно. В общем результат такой.
В зависимости от звезд связь то есть то нет. (То есть если устройство передернуть по питанию) И даже когда она есть то с мусором. Частоты написанные фломастером стали достоянием истории...
Сон разума рождает чудовищ...
Аватара пользователя
Gfer
 
Сообщения: 169
Зарегистрирован: 25 апр 2009, 12:03
Откуда: Москва
прог. языки: С
ФИО: Клесник Станислав Владимирович

Re: RoboRF в МиниБоте

Сообщение galex1981 » 16 сен 2009, 14:04

Тогда устройство нужно программно калибровать.

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

Re: RoboRF в МиниБоте

Сообщение EdGull » 16 сен 2009, 16:01

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

Re: RoboRF в МиниБоте

Сообщение Gfer » 16 сен 2009, 17:52

Одну плату подобрать то можно когда вторая эталон, но крутить сразу две....

Есть еще пару предложений.
1) От корпуса кварцев кинуть проводок на массу. (так часто сделано на материнских платах)
2) Фюзами выставить старт программы с задержкой. (что бы питалово нормализовалась)

Добавлено спустя 1 час 23 минуты 4 секунды:
Танец с бубном закончился тем что терпение лопнуло. Платы ушли в стол.
Сон разума рождает чудовищ...
Аватара пользователя
Gfer
 
Сообщения: 169
Зарегистрирован: 25 апр 2009, 12:03
Откуда: Москва
прог. языки: С
ФИО: Клесник Станислав Владимирович

Re: RoboRF в МиниБоте

Сообщение MiBBiM » 08 янв 2010, 00:26

переписал код. исправил излишнюю печать в прерывании по приходу символа (это нужно только на мегаплате), добавил передачу по радиоканалу символа #13, также добавил условную компиляцию в зависимости от переменной + вставил свою функцию для печати символов, ибо стандартная print немного глюковата. работа стабильная, но изредка получаю мусор на входе.
Код: Выделить всёРазвернуть
Const Is_minibot = 1
   ' 1 - Минибот
   ' 0 - Мегаплата
Вложения
v3.1.rar
сорцы
(21.67 КиБ) Скачиваний: 12
Tomorrow will be. Better
Аватара пользователя
MiBBiM
 
Сообщения: 1866
Зарегистрирован: 29 окт 2007, 18:11
Откуда: Пермь
прог. языки: Brainfuck/Basic/Delphi/C++/Lisp/x86asm/JavaScript

Re: RoboRF в МиниБоте

Сообщение galex1981 » 08 янв 2010, 00:53

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

Re: RoboRF в МиниБоте

Сообщение MiBBiM » 08 янв 2010, 10:30

примерно с таким кодом:
Код: Выделить всёРазвернуть
dim s as string * 50
do
input s noecho
reset ucsrb.rxen
print "'"; s
set ucsrb.rxen
loop

в строке S появлялись лишние символы
Tomorrow will be. Better
Аватара пользователя
MiBBiM
 
Сообщения: 1866
Зарегистрирован: 29 окт 2007, 18:11
Откуда: Пермь
прог. языки: Brainfuck/Basic/Delphi/C++/Lisp/x86asm/JavaScript

Re: RoboRF в МиниБоте

Сообщение MiBBiM » 08 янв 2010, 23:32

вынес определение калибровочных байтов поближе к основной программе, добавил контроль чексуммы. за общее время тестирования (больше часа примерно) весь шум успешно отсекался.
Вложения
v3.2.rar
сырцы
(25.98 КиБ) Скачиваний: 17
Tomorrow will be. Better
Аватара пользователя
MiBBiM
 
Сообщения: 1866
Зарегистрирован: 29 окт 2007, 18:11
Откуда: Пермь
прог. языки: Brainfuck/Basic/Delphi/C++/Lisp/x86asm/JavaScript

Re: RoboRF в МиниБоте

Сообщение EdGull » 08 янв 2010, 23:35

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

Re: RoboRF в МиниБоте

Сообщение MiBBiM » 08 янв 2010, 23:40

а в чем отличие для конечного пользователя? :wink:
Tomorrow will be. Better
Аватара пользователя
MiBBiM
 
Сообщения: 1866
Зарегистрирован: 29 окт 2007, 18:11
Откуда: Пермь
прог. языки: Brainfuck/Basic/Delphi/C++/Lisp/x86asm/JavaScript

Re: RoboRF в МиниБоте

Сообщение Super_DED » 13 авг 2010, 14:05

Можно ли заменить cc2500 на cc2480 или cc2520?
Super_DED
 
Сообщения: 1
Зарегистрирован: 10 авг 2010, 18:12

Re: RoboRF в МиниБоте

Сообщение EdGull » 13 авг 2010, 17:17

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

Re: RoboRF в МиниБоте

Сообщение avr123.nm.ru » 13 авг 2010, 19:16

1) Это радио UART на 115200 ?
2) Модули на фиксированой частоте работают или можно менять или скачут ?
3) т.е. в одном помещении, рядом может работать более пары модулей не мешая друг другу ?
4) Есть ли возможность задать пин код ?
5) Если рядом 5 модулей и один передает то 4 других будут принимать это ?
Читайте !
Аватара пользователя
avr123.nm.ru
отсылающий читать курс
 
Сообщения: 14195
Зарегистрирован: 06 ноя 2005, 04:18
Откуда: Москва
Предупреждения: -8

Re: RoboRF в МиниБоте

Сообщение galex1981 » 14 авг 2010, 11:26

1) Модули СС2500 не по УАРТу работают а по SPI интерфейсу (по уарту RoboRF модули работают)
2) Частота несущая 2,4 Ггц, но можнно на какой то процент вправо и влево подстраивть
3) Меняя частоту я добился чтоб независимо друг от друга 2 пары модулей работали и не слышали 2ые пары
4) Для управляющего МК хоть десять пин кодов можно задать
5) Да будут приниать
if(!Operate) Read(pDatasheet);
Аватара пользователя
galex1981
 
Сообщения: 4363
Зарегистрирован: 04 дек 2008, 22:44
Откуда: Камышин
Skype: galk-aleksandr1
прог. языки: Kotlin, Java, C, C++, Assm, BasCom, VB, php
ФИО: Галкин Александр Владимирович

Re: RoboRF в МиниБоте

Сообщение avr123.nm.ru » 14 авг 2010, 17:23

Спасибо.

1) Исходник то для меги а не для сс2500 - я и спроисл что мега+сс2500 это радио UART ? т.е. данные посылаем в UART меги и принмаем из UART другой меги ?
Читайте !
Аватара пользователя
avr123.nm.ru
отсылающий читать курс
 
Сообщения: 14195
Зарегистрирован: 06 ноя 2005, 04:18
Откуда: Москва
Предупреждения: -8

Пред.След.

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

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

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