kaban2011 0 17 апреля, 2011 Опубликовано 17 апреля, 2011 · Жалоба Приветствую всех, безуспешно пытаюсь наладить связь между модулями RFM12B на 433МГц, мучаюсь больше недели и всё-таки решил обратиться за помощью. Перечитал форумы по этому вопросу, изучил примеры. Имеются две пары RFM12B+ATmega8L, питание +3,3V, модули подключены к аппаратному SPI, на приёмном конце принятый байт(ы) передаю по RS232 на компьютер для контроля. Судя по всему инициализация происходит корректно, у передающего модуля могу управлять частотой на выходе CLK, специально ходил к людям, у них на хорошем осциллографе видны пачки ВЧ импульсов, когда передатчик включен. В приёмнике тоже управляется частота CLK. Прочитал что на конденсаторе в углу модуля можно смотреть аналоговый сигнал, показывающий силу принимаемого сигнала, так вот когда передатчик включен на нём есть импульсы амплитудой 0,6 Вольт примерно, в такт с включением передатчика. Если меняю частоту настройки приёмника, то при расстройке импульсы уменьшаются и потом совсем пропадают. Инициализацию приёмника и передатчика делаю как тут было описано, однако приёма нет, тоесть в приёмнике вывод SDO всегда ноль. Пробовал всякие варианты инициализации, скорость, частоту и т. д. ничего не помогает. Позволю себе привести отрывки из моего кода, как уже говорил многое позаимствовал с этого форума. Пишу в CodeVisionAVR. Буду очень благодарен за указание на ошибку. функции ввода-вывода: unsigned int transf_reg16(unsigned int d){ unsigned int read=0; CS=0; delay_us (1); read=read|((spi(d>>8))>>8); //читаем и пишем старший байт delay_us (1); read=read|spi(d);//читаем и пишем младший байт delay_us (1); CS=1; return read; } void alpha_ready(void) { while (!(MISO)); // wait until FIFO ready } //----- инициализация передатчика ------- transf_reg16(0x80D7); transf_reg16(0x8239); // передатчик transf_reg16(0xA640); transf_reg16(0xC647); transf_reg16(0x94A0); transf_reg16(0xC2AC); transf_reg16(0xCA81); transf_reg16(0xCEAB); transf_reg16(0xC483); transf_reg16(0x9850); transf_reg16(0xCC77); transf_reg16(0xE000); transf_reg16(0xC800); transf_reg16(0xC040); //----- инициализация приёмника ------- transf_reg16(0x80D7); transf_reg16(0x8299); // приёмник transf_reg16(0xA640); transf_reg16(0xC647); transf_reg16(0x94A0); transf_reg16(0xC2AC); transf_reg16(0xCA81); transf_reg16(0xCEAB); transf_reg16(0xC483); transf_reg16(0x9850); transf_reg16(0xCC77); transf_reg16(0xE000); transf_reg16(0xC800); transf_reg16(0xC040); попытка передачи и приёма // ----- передача ----- void RF12_TXDATA(unsigned char *data, unsigned char number) { unsigned char i; transf_reg16(0x8238); // TX on delay_ms(1); transf_reg16(0xB8AA); alpha_ready(); transf_reg16(0xB8AA); alpha_ready(); transf_reg16(0xB8AA); alpha_ready(); transf_reg16(0xB82D); alpha_ready(); transf_reg16(0xB8D4); for (i=0; i<number; i++) { alpha_ready(); transf_reg16(0xB800|(*data++)); } alpha_ready(); transf_reg16(0xB8AA); alpha_ready(); transf_reg16(0xB8AA); alpha_ready(); transf_reg16(0xB8AA); delay_ms(1); transf_reg16(0x8208); // TX off } // ----- приём ----- unsigned char RF12_RECV_(void) { unsigned int data; unsigned int i; i=0; transf_reg16(0xCA81); // FIFO Reset transf_reg16(0xCA83); while(1) { data = transf_reg16(0x0000); i++; if ( (data&0x8000) ) { data = transf_reg16(0xB000); return data; // возвращается байт } else if (i==0x1FFF) return 0; // timeout } } спасибо заранее Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Raskolin 0 24 апреля, 2011 Опубликовано 24 апреля, 2011 · Жалоба Тож задам вопросик. При опросе статус регистра при включении выдавал 0x4000, т.е. все ок. Далее начинал выдавать все время 01A0 или 0180 например. Прочитал что 1единичка это превышен уровень приходящего сигнала. Укоротил антенну примерно сантиметров до 14 и MSB стал показывать 00. Насколько я понимаю это правильно. Включаю передатчик тут же опять появляется единичка и в LSB появляется множество разных значений. Вроде как изменения lsb логичны, но непонятен смысл постоянного включения RSSI . При этом nirq никогда не опускается и B0 всегда выдает нули. В статус регистре так же никогда не поднимается бит о заполнение FIFO. Есть идеи? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
kaban2011 0 25 апреля, 2011 Опубликовано 25 апреля, 2011 · Жалоба пока оставил попытки запустить RFM12B, раздобыл два RFM22B, они сразу заработали. Использовал демо проект от Ульрих Радиг. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
kochevkv 0 8 ноября, 2011 Опубликовано 8 ноября, 2011 · Жалоба А знает ли кто-нибудь, какая ошибка установки частоты передатчика должна быть? У меня на разных модулях несущая при одинаковых установках отличается на 5кГц. Это нормально или ошибку все таки следует учитывать и компенсировать поправкой? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
arsen1y 0 20 апреля, 2012 Опубликовано 20 апреля, 2012 · Жалоба здравствуйте! у меня при приеме на rf12bp сначала считывается верный байт данных(тот который посылал), а затем считывается нулевой байт. Это ошибка или так модуль говорит что принят конец пакета? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
arsen1y 0 28 апреля, 2012 Опубликовано 28 апреля, 2012 (изменено) · Жалоба Кто пользовался, какой максимальной скорости вы добивались при передаче? У меня получилось 4 Кбайта/сек, больше никак. Изменено 28 апреля, 2012 пользователем arsinho Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
dimonbest 0 9 октября, 2012 Опубликовано 9 октября, 2012 · Жалоба Вот тоже решил покорить данные модули. Кто проверял максимальную дальность? Скорость не принципиальна... Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Михаил86 0 29 ноября, 2012 Опубликовано 29 ноября, 2012 · Жалоба Добрый день! Вот уже неделю пытаюсь соединить между собой RFM12B-433S1. Код передалал из Меги8 на PIC16F873 и PIC16F887, то что под рукой есть. Запускаю передатчик, в COM- порт в цикле выдает "sende..." светодиод мерцает, ток потребления всей штуковины прыгает до 60мА при 5В. Все линии SPI шевелятся. Запускаю приемник, SPI виснет. Один раз моргает светодиод, в СОМ-порту тишина. Оба проекта прилагаю в архивчиках. Помогите разобраться, ткните пальцем, все ж я больше железячник нежели программер... progect1.rar progect2.rar Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
mempfis_ 0 29 ноября, 2012 Опубликовано 29 ноября, 2012 · Жалоба Добрый день! Вот уже неделю пытаюсь соединить между собой RFM12B-433S1. На первой странице этого топика есть описание того как я запускал аналогичный модуль. Почитайте, сравните с тем что у Вас Приведённый код работоспособен и используется в серийных проектах. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Михаил86 0 30 ноября, 2012 Опубликовано 30 ноября, 2012 · Жалоба На первой странице этого топика есть описание того как я запускал аналогичный модуль. Почитайте, сравните с тем что у Вас Приведённый код работоспособен и используется в серийных проектах. Спасибо!! Я уже перепробовал многие коды, различные инициализации, но толк пока один...Попробую ваш код, может с ним повезет!! А может пора идти покупать новые модули :) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Михаил86 0 4 декабря, 2012 Опубликовано 4 декабря, 2012 · Жалоба Спасибо!! Я уже перепробовал многие коды, различные инициализации, но толк пока один...Попробую ваш код, может с ним повезет!! А может пора идти покупать новые модули :) Немного повозившись, понял, что один модуль все ж мертв! Или мои старания или сразу был из "морга"...Заказал новый, посмотрим, что будет дальше.. :) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Михаил86 0 18 декабря, 2012 Опубликовано 18 декабря, 2012 · Жалоба На первой странице этого топика есть описание того как я запускал аналогичный модуль. Почитайте, сравните с тем что у Вас Приведённый код работоспособен и используется в серийных проектах. Все получилось! Использовал ваш код, немного подпилив под себя набросал его в CCS PIC и вуаля, все работает!!! 15 символов и возврат каретки вижу на второй машине в терминалке. Огромное спасибо!! Жаль правда, что скачали проекты многие, а откликнулись лишь вы... Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
AlexP72 0 18 января, 2013 Опубликовано 18 января, 2013 · Жалоба Всем добрый день! Недавно начал использовать RFM12B-433. Вроде все получилось пара устройства нормально связываются, обмен идет. Но в поставленной задаче подразумевалось, что на одном объекте (склад, цех, завод, ...) может одновременно работать несколько независимых пар таких устройств. В принципе можно задать некоторое количество каналов, вот тут и возник вопрос: Как правильно рассчитать (подобрать) сетку частот для диапазона 433 MHz? Полдня проискал в интернете, но внятной формулы не нашел. Есть правда таблицы, но все это для голосовой связи в основном. Помогите, буду очень признателен. Заранее спасибо за помощь! Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Михаил86 0 18 января, 2013 Опубликовано 18 января, 2013 · Жалоба Всем добрый день! Недавно начал использовать RFM12B-433. Вроде все получилось пара устройства нормально связываются, обмен идет. Но в поставленной задаче подразумевалось, что на одном объекте (склад, цех, завод, ...) может одновременно работать несколько независимых пар таких устройств. В принципе можно задать некоторое количество каналов, вот тут и возник вопрос: Как правильно рассчитать (подобрать) сетку частот для диапазона 433 MHz? Полдня проискал в интернете, но внятной формулы не нашел. Есть правда таблицы, но все это для голосовой связи в основном. Помогите, буду очень признателен. Заранее спасибо за помощь! Не знаю пригодиться ли, но мне очень помогла схемка, зарубежного коллеги по этим модулям и его ПО, в частности настройки регистров да и вообще сам сканер, собирал на этом контроллере, все работает! Посмотрите здесь: http://www.controller-designs.de/index.php...canner&sub= Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
garthar 0 21 января, 2013 Опубликовано 21 января, 2013 · Жалоба Не знаю пригодиться ли, но мне очень помогла схемка, зарубежного коллеги по этим модулям и его ПО, в частности настройки регистров да и вообще сам сканер, собирал на этом контроллере, все работает! Посмотрите здесь: http://www.controller-designs.de/index.php...canner&sub= Не совсем понятно, как вам помогло ПО, если учесть , что на этой странице нет ни одного доступного файла. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться