Радиомаяк на СС1101 - randomrace.ru

Резисторы, транзисторы, конденсаторы, микросборки, чип компоненты ...
Вопросы согласования управляющих модулей с периферией.

Re: Радиомаяк на СС1101 - randomrace.ru

Сообщение elmot » 06 ноя 2014, 15:37

увы.
в след заход наверное перепилю на cesium/
Попробуй найди себе google earth for linux, если найдется, то я вечером выдам kmz к нему, чтобы
Аватара пользователя
elmot
 
Сообщения: 5691
Зарегистрирован: 10 ноя 2011, 12:02
Откуда: Turku, Finland
Skype: elmot73
прог. языки: Java и все-все=все
ФИО: Илья

Re: Радиомаяк на СС1101 - randomrace.ru

Сообщение alsav » 02 июн 2015, 23:39

Освежу немного тему...
Сделал похожий проект на cc1101 и stm8 по информации из этого топика, поэтому делюсь своими наработками.
Девайс - радионяня, в рабочем режиме через микрофон следит за уровнем шума и при превышении порога посылает тоновые сигналы в LPD диапазоне.
Пакетный режим победил следующим образом: по команде STX трансивер начинает передавать преамбулу (последовательность 01010101) пока в FIFO не появятся данные. Об этом сказано в п.15.2 даташита на чип. Т.е. процедура отправки сигнала выглядит примерно так:
void send_alrm(uint8_t len, uint8_t power)
Код: Выделить всё
{
    uint8_t i;

    CC1101_SPITransfer(CC1101_PATABLE,power);
    CC1101_SPITransfer(CC1101_STX,0x00);
    for (i=0;i<len;i++)
   delay(10000);

    CC1101_SPITransfer(CC1101_SIDLE,0x00);
}


Конфиг инициализации модуля для 10 канала LPD:
Код: Выделить всё
uint8_t config_cc1101_gfsk[]={
    CC1101_IOCFG0,      0x06,
    CC1101_FIFOTHR,     0x47,
    CC1101_PKTLEN,      0x20,//packet length
    CC1101_PKTCTRL0,    0x04,
    CC1101_FSCTRL1,     0x06,
    CC1101_FSCTRL0,     0x00,
    CC1101_FREQ2,       0x10,
    CC1101_FREQ1,       0xAA,
    CC1101_FREQ0,       (0x56+FREQ_CORR), //433.300 - lpd/10
    CC1101_MDMCFG4,     0xf6,
    CC1101_MDMCFG3,     0xE4,
    CC1101_MDMCFG2,     0x13,
    CC1101_MDMCFG1,     0x20,
    CC1101_MDMCFG0,     0x00,
    CC1101_DEVIATN,     0x10,
    CC1101_MCSM0,       0x18,
    CC1101_FOCCFG,      0x16,
    CC1101_WORCTRL,     0xFB,
    CC1101_FSCAL3,      0xE9,
    CC1101_FSCAL2,      0x2A,
    CC1101_FSCAL1,      0x00,
    CC1101_FSCAL0,      0x1F,
    CC1101_TEST2,       0x81,
    CC1101_TEST1,       0x35,
    CC1101_TEST0,       0x09,
};

FREQ_CORR инедивидуальна для каждого модуля и частоты. Можно вычислить опытным путем, например при помощи sdr свистка.
alsav
 
Сообщения: 5
Зарегистрирован: 02 июн 2015, 22:47

Re: Радиомаяк на СС1101 - randomrace.ru

Сообщение Alex_Jet » 23 дек 2015, 11:05

Добрый день, коллеги!
А кто-нибудь в CC1100 и подобных регистр RSSI читал? Что в реальности там есть? Возможно его использовать в качестве наведения бота на ЗУ?
У меня задача - в уличных условиях (максимальное расстояние 50 м) довести робота до базы (ЗУ и защита от непогоды). ИК пока не рассматриваю (большие расстояния, переотражения от забора и т.п.)
Alex_Jet
 
Сообщения: 52
Зарегистрирован: 24 фев 2010, 20:58
Откуда: Томск

Re: Радиомаяк на СС1101 - randomrace.ru

Сообщение Madf » 23 дек 2015, 14:08

Alex_Jet писал(а):ИК пока не рассматриваю (большие расстояния, переотражения от забора и т.п.)

Солнцем элементарно забивается.
Madf
 
Сообщения: 3298
Зарегистрирован: 03 янв 2012, 12:55
Откуда: Москва
прог. языки: VB6, BASCOM, ASM...

Re: Радиомаяк на СС1101 - randomrace.ru

Сообщение elmot » 23 дек 2015, 14:27

Alex_Jet писал(а):Добрый день, коллеги!
А кто-нибудь в CC1100 и подобных регистр RSSI читал? Что в реальности там есть? Возможно его использовать в качестве наведения бота на ЗУ?
У меня задача - в уличных условиях (максимальное расстояние 50 м) довести робота до базы (ЗУ и защита от непогоды). ИК пока не рассматриваю (большие расстояния, переотражения от забора и т.п.)

Да, у меня в пеленгаторе читает. Думаю в данном раскладе лучше блютуз + ИК(на подъезде).
Аватара пользователя
elmot
 
Сообщения: 5691
Зарегистрирован: 10 ноя 2011, 12:02
Откуда: Turku, Finland
Skype: elmot73
прог. языки: Java и все-все=все
ФИО: Илья

Re: Радиомаяк на СС1101 - randomrace.ru

Сообщение Alex_Jet » 23 дек 2015, 15:32

ИК на подъезде понятно (кстати, мой китайский робот-пылесос пользуется всего лишь одним TSOP! - как это реализовано???). А про Bluetooth можно чуточку поподробнее - есть с SPI (I2C), через который также можно читать регистры состояния соединения? Как всегда ищу простое и дешевое решение (например, как NRF24L01), хотя модули Bluetooth V4.0 сейчас тоже копеешные (UART-Bluetooth СС2541 в корзине на Ali лежит за 389).
Кстати, почему именно Bluetooth, а не та же CC1100, у которой можно RSSI читать? Думал сделать направленную антенну и вертеть шасси робота пока максимальную амплитуду сигнала не выловлю. Выловил, поехал, сигнал снова ушел - снова выловил и поехал и т.д.
Alex_Jet
 
Сообщения: 52
Зарегистрирован: 24 фев 2010, 20:58
Откуда: Томск

Re: Радиомаяк на СС1101 - randomrace.ru

Сообщение Angel71 » 23 дек 2015, 16:08

у 24 точность будет примерно такая же, как и у 1100. но там немного по другому вычисляется, бо rssi`ем даже не пахнет. +это если именно расстояние, а не ваш вариант "вижу/не вижу". есть и у других контор недорогие трансиверы, только кроме трансиверов с rssi есть с поддержкой измерения расстояния. допустим у атмела в rf серии минимум один чип поддерживал. но модуль вряд ли достанете, скорей всего плату делать нужно будет.
cc2541 как бы ни разу не уарт-блюпуп. это блюпуп смарт трансивер + мк с 8051 ядром, что в прошивке накодите, тем и будет. nrf51822 на арме и шьётся недорогим клоном j-link v8. а вот 8051 хз чем недорогим (не фирменными железками) - чипов я то взял, но пока до их ковыряния не добрался.
Аватара пользователя
Angel71
 
Сообщения: 10668
Зарегистрирован: 18 апр 2009, 22:18

Re: Радиомаяк на СС1101 - randomrace.ru

Сообщение elmot » 23 дек 2015, 19:12

Alex_Jet писал(а):Кстати, почему именно Bluetooth, а не та же CC1100, у которой можно RSSI читать?

1) Грубая геолокация по RSSI вляется частью спеки БТ4, не надо лишний раз по граблям рассекать.
2) На 433МГц переотражений на порядок больше.
3) БТ антенны в 7 раз меньше.
Аватара пользователя
elmot
 
Сообщения: 5691
Зарегистрирован: 10 ноя 2011, 12:02
Откуда: Turku, Finland
Skype: elmot73
прог. языки: Java и все-все=все
ФИО: Илья

Re: Радиомаяк на СС1101 - randomrace.ru

Сообщение Alex_Jet » 24 дек 2015, 09:10

elmot,спасибо за разъяснения. В этой части у меня опыта совсем нет. Что можете порекомендовать в части модулей БТ? И самое главное - какой принцип "наведения" бота на радиомаяк? Может быть есть готовые решения, которые я могу портировать под AVR?
Alex_Jet
 
Сообщения: 52
Зарегистрирован: 24 фев 2010, 20:58
Откуда: Томск

Re: Радиомаяк на СС1101 - randomrace.ru

Сообщение elmot » 24 дек 2015, 11:36

К сожалению, у меня опыт ограничивается возней с 1101, и несколькими экспериментами с разными бт2 и бт4. bt2 - перешивка hc-06(немного совсем), смартфоны на андроиде.
bt4 - умеренно удачные эксперименты с nrf51822, stm овский модуль X-NUCLEO-IDB04A1(кстати, он должен надеваться на ардуино) и опять-таки смартфоны. Смартфон, кстати, хорошая платформа для "поиграться" - там неплохое и в целом малоглючное API, относительно простая среда разработки, да и смартфоны у каждого первого сейчас.

Ничего из попробованного мною я посоветовать не могу, т.к. любой из вариантов обозначает море возни. И да, уходите вы со своих АВР. Если всерьез браться за эту задачу, очень быстро окажетесь в ситуации дифицита ресурсов, т.к. понадобятся умственные алгоритмы, а мозгов у авр - с гулькин фиг.

И самое главное - какой принцип "наведения" бота на радиомаяк?

Ну принцип-то обозначен верно. Ненаправленная антенна на маяке, направленная на приемнике. пеленгуем, едем на максимум сигнала. Можно даже усложнить - ставим два маяка, едем на максимум сигнала от слабейшего из них. В этом случае робот сам постарается заехать в некую относительно предсказуемую зону между маяками.

Добавлено спустя 11 минут 26 секунд:
Alex_Jet писал(а):(кстати, мой китайский робот-пылесос пользуется всего лишь одним TSOP! - как это реализовано???).

Илиминтарно, Ватсон. У моей румбы-600 тоже 1 приемник. Все дело в волшебном маяке. В нем 2 передающих диода, у каждого свой сектор "вещания". Причем чуть-чуть перекрывающийся. Каждый из диодов передает свою кодовую посылку. Если работ принимает посылки только от правого - значит он справа от базы, если только левого, то слева. Если оба - значит он в створе для заезда. Робот катается по спирали, пока не доедет до этого створа, далее он старается в нем держаться, и с ненулевой и положжительной вероятностью прибывает на базу с определенного направления.
Аватара пользователя
elmot
 
Сообщения: 5691
Зарегистрирован: 10 ноя 2011, 12:02
Откуда: Turku, Finland
Skype: elmot73
прог. языки: Java и все-все=все
ФИО: Илья

Re: Радиомаяк на СС1101 - randomrace.ru

Сообщение Alex_Jet » 24 дек 2015, 14:30

elmot писал(а):К сожалению, у меня опыт ограничивается возней с 1101, и несколькими экспериментами с разными бт2 и бт4.

Раз принцип наведения на максимум радиосигнала я изложил верно, то у меня резонный вопрос - откуда в БТ трансиверах брать информацию о мощности радиосигнала?
elmot писал(а):И да, уходите вы со своих АВР. Если всерьез браться за эту задачу, очень быстро окажетесь в ситуации дифицита ресурсов, т.к. понадобятся умственные алгоритмы, а мозгов у авр - с гулькин фиг.

Вероятно в каком-нибудь следующем проекте перейду на STM (чувствую, как аппетит растет). На данный момент считаю что ATmega2560 с нормальным кодом потянет мои задачи.
elmot писал(а):Илиминтарно, Ватсон. У моей румбы-600 тоже 1 приемник. Все дело в волшебном маяке. В нем 2 передающих диода, у каждого свой сектор "вещания". Причем чуть-чуть перекрывающийся. Каждый из диодов передает свою кодовую посылку. Если работ принимает посылки только от правого - значит он справа от базы, если только левого, то слева. Если оба - значит он в створе для заезда. Робот катается по спирали, пока не доедет до этого створа, далее он старается в нем держаться, и с ненулевой и положительной вероятностью прибывает на базу с определенного направления.

Получается что тут усложняется маяк, правда на роботе не нужно 2 TSOP и физические перегородки между ними.
Alex_Jet
 
Сообщения: 52
Зарегистрирован: 24 фев 2010, 20:58
Откуда: Томск

Re: Радиомаяк на СС1101 - randomrace.ru

Сообщение elmot » 24 дек 2015, 20:01

Alex_Jet писал(а):Раз принцип наведения на максимум радиосигнала я изложил верно, то у меня резонный вопрос - откуда в БТ трансиверах брать информацию о мощности радиосигнала?

Откуда-откуда.... Доку читать на каждый конкретный модуль.
Вот, в андроиде например http://developer.android.com/reference/ ... EXTRA_RSSI

Alex_Jet писал(а): На данный момент считаю что ATmega2560 с нормальным кодом потянет мои задачи.

Скорее всего да, но в отладочном железе лучше иметь запас.
Аватара пользователя
elmot
 
Сообщения: 5691
Зарегистрирован: 10 ноя 2011, 12:02
Откуда: Turku, Finland
Skype: elmot73
прог. языки: Java и все-все=все
ФИО: Илья

Re: Радиомаяк на СС1101 - randomrace.ru

Сообщение Alex_Jet » 25 дек 2015, 11:20

Доки, доками - понятно. А вот покупка CC1100 или 2510 - тот еще экшн. Камни есть, board - нет, либо задорого! Считаю 600 р (на Ali) для таких модулей дорого! Лучше уж у NRF24L01 анализировать количество потерянных пакетов! А кто-нибудь esp8266 для целей радиомаяка использовал?
Alex_Jet
 
Сообщения: 52
Зарегистрирован: 24 фев 2010, 20:58
Откуда: Томск

Re: Радиомаяк на СС1101 - randomrace.ru

Сообщение Angel71 » 25 дек 2015, 11:41

1100 стоят 200-250руб. 2510 банально непопулярны со всеми вытекающими. для данной задачи брать 2510, 51822, 24l01 и прочие подобные, без pa/lna каг бэ слегка... :) не, возьмите конечно, будет интересно посмотреть на ваши потуги.
Аватара пользователя
Angel71
 
Сообщения: 10668
Зарегистрирован: 18 апр 2009, 22:18

Re: Радиомаяк на СС1101 - randomrace.ru

Сообщение Alex_Jet » 28 дек 2015, 16:02

В том то и дело, что мне потуги не нужны (просто нет времени заниматься бесперспективными вещами). Думал что на данном форуме люди подобные вещи уже строили и дадут исчерпывающую информацию или хотя бы нужное направление - типа "вот есть такое решение, лучше такого и такого, но код на ассемблере/не могу дать/коммерческая тайна/прочее, но делать надо по такому алгоритму". Поскольку даташиты читать умею, алгоритмы придумывать умею, кодить тоже, а вот с элементной базой для данного применения не знаком. Случайно в каком-то проекте увидел применение CC1101, у которой в даташите вычитал про RSSI - оттуда и попал в данную тему. На Ali нашел CC1101 (с разъемом под антенну и самой антенной) - за 2 шт. 952 р на данный момент. Считаю дорого для моего применения (радиомаяк+выявление направления движения)... да и как сказали, лучше 2,4ГГц чтобы меньше переотражений было.
Alex_Jet
 
Сообщения: 52
Зарегистрирован: 24 фев 2010, 20:58
Откуда: Томск

Пред.След.

Вернуться в Электроника, электротехника

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

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