Автоматика и аппаратура связи Дистанционное и непосредственное управление исполнительными механизмами, сотовая, а также радиосвязь. |
29.09.2013, 22:07
|
#741
|
Почётный гражданин KAZUS.RU
Регистрация: 13.10.2007
Адрес: Беларусь
Сообщений: 8,048
Сказал спасибо: 60
Сказали Спасибо 3,954 раз(а) в 2,309 сообщении(ях)
|
Re: Кто-нибудь работал с RF модулями nRF2401A?
А код где?
Проблема в программе модуля приемника
|
|
|
|
30.09.2013, 18:18
|
#742
|
Прописка
Регистрация: 09.08.2006
Адрес: Нижний Новгород
Сообщений: 148
Сказал спасибо: 98
Сказали Спасибо 48 раз(а) в 27 сообщении(ях)
|
Re: Кто-нибудь работал с RF модулями nRF2401A?
Вот исходник. В конце файла в основной программе пробовал разные способы, которые в процедурах while
Вложения:
![Тип файла: rar](images/attach/rar.gif) |
2.RAR (5.1 Кб, 67 просмотров) |
|
|
|
|
30.09.2013, 18:35
|
#743
|
Гражданин KAZUS.RU
Регистрация: 16.02.2012
Сообщений: 441
Сказал спасибо: 89
Сказали Спасибо 735 раз(а) в 149 сообщении(ях)
|
Re: Кто-нибудь работал с RF модулями nRF2401A?
|
|
|
|
01.10.2013, 21:17
|
#744
|
Прописка
Регистрация: 09.08.2006
Адрес: Нижний Новгород
Сообщений: 148
Сказал спасибо: 98
Сказали Спасибо 48 раз(а) в 27 сообщении(ях)
|
Re: Кто-нибудь работал с RF модулями nRF2401A?
Ещё возник вопрос. Передатчик отправляет данные с периодом 18 мс без запроса. Приёмник их принимает и выводит, всё нормально. Но решил замерить период прихода данных по выходу IRQ. Написал программу:
while (1)
{
if (!IRQ) // это 0 на ноге IRQ
{
TCNT1=0;
TCCR1B=0x01; // старт таймера 8МГц
ReadBuffer(); // читаю данные
Reset_IRQ();
}
while (IRQ) delay_us(10); // жду следующего прерывания
if (!IRQ) // пришли следующие данные
{
TCCR1B=0x00; // стоп таймер
ReadBuffer();
Reset_IRQ();
}
// далее - это вывод счётчика таймера / 8
LCD_setxy(20,0);
sprintf(tmp,"T=%u us", TCNT1/8 ); // 7035 us print
LCD_wrs(tmp, 1);
PrintData();
delay_ms(1000);
LCD_refresh();
LCD_clear ();
}
И вместо 18000 программа выдаёт около 7000 мкс.
Хотел посмотреть осциллографом, но, похоже, надо после остановки таймера выключить приёмник, чтобы вывод IRQ не менялся. Пробовал это сделать - не получилось. Не понимаю...
|
|
|
|
02.10.2013, 18:01
|
#745
|
Почётный гражданин KAZUS.RU
Регистрация: 30.09.2006
Сообщений: 1,560
Сказал спасибо: 158
Сказали Спасибо 661 раз(а) в 431 сообщении(ях)
|
Re: Кто-нибудь работал с RF модулями nRF2401A?
Сообщение от Den05
|
И вместо 18000 программа выдаёт около 7000 мкс.
|
Таймер 16-разрядный, максимальное число, до которого он считает - 2^16-1 = 65535. Вы делите еще и на 8, 18000 никак не получится на дисплее.
|
|
|
|
02.10.2013, 20:40
|
#746
|
Прописка
Регистрация: 09.08.2006
Адрес: Нижний Новгород
Сообщений: 148
Сказал спасибо: 98
Сказали Спасибо 48 раз(а) в 27 сообщении(ях)
|
Re: Кто-нибудь работал с RF модулями nRF2401A?
Вы правы! Сейчас нашёл это сам. Ранее планировал использовать делитель таймера на 8, но потом передумал... Спасибо! И пришлось ещё немного переделать тело программы...
|
|
|
|
04.10.2013, 15:12
|
#747
|
Прохожий
Регистрация: 16.08.2009
Сообщений: 8
Сказал спасибо: 0
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
|
Re: Кто-нибудь работал с RF модулями nRF2401A?
Столкнулся с интересной ситуацией. Купил на Ebay 10 модулей nrf24l01+
Спаял платку с atmega 8 в tqfp корпусе и usb-uart - питание на модуль взял с ноги меги для того чтобы была возможность сделать "хард резет" для nrf - наслышан о "сбоях, зависаниях". Вторую платку сделал на макетке PINBOARВ2 - тоже на меге 8 только в DIP корпусе. Худо бедно написал проект для приемника - передатчик использовал готовый проект из интернета.
Оставил на ночь ноутбук на работе -результат порадовал - ни одного потерянного пакета! (расстояние около 1 метра ,просто хотел проверить что мой код работает) Решил заняться передатчиком. И вот тут наступило самое интересное. Залил рабочуюпрошивку передатчика в чип на макетке (был приемником) и рабочую прошивку приемника в платку (была передатчиком)
НЕ РАБОТАЕТ!!!! Схемы подключения абсолютно одинаковые!!! опять перезаливаю прошивки как это было изначально - все ЧЕТКО работает! Опять меняю прошивки местами - голяк!!!! гонял так прошивки туда-сюа, проверял целостность цепей - все нормально, но не работает... Начал менять радиомодули, благо выбор был. Из 10модулей только с 2-мя(!!!) операция по превращению передатчика в приемник прошла успешно, причем в качестве передатчика работали абсолютно все чипы, а на прием только 2!
Дело оказалось вот в чем - питание через ногу меги работает только когда радиомодуль играет роль передачика, в режиме приема модулю чем то не нравиться такое питание!!! Стоило мне на макетке перевести питание трансивера с ноги меги на шину +3.3 вольта - все ЗАРАБОТАЛО! Замер напряжения на ноге меги показал 4.5В. Решив что дело в слишком высоком напряжении завел питание на +5В - все РАБОТАЕТ!!! Значит дело не в напряжении а качестве
ВЫВОД: Не используйте для питания модуля выход микроконтроллера, лучше питать через стабилизатор или напрямую от питания контроллера иначе в режиме ПРИЕМА МОГУТ возникнуть глюки!
Надеюсь мой опыт окажется кому то полезным
|
|
|
|
04.10.2013, 15:38
|
#748
|
Гражданин KAZUS.RU
Регистрация: 16.02.2012
Сообщений: 441
Сказал спасибо: 89
Сказали Спасибо 735 раз(а) в 149 сообщении(ях)
|
Re: Кто-нибудь работал с RF модулями nRF2401A?
в даташите черным по белому пишут: "1.9 to 3.6V supply range"
|
|
|
|
04.10.2013, 16:41
|
#749
|
Гуру портала
Регистрация: 27.10.2008
Адрес: ЕС
Сообщений: 10,835
Сказал спасибо: 919
Сказали Спасибо 4,308 раз(а) в 2,573 сообщении(ях)
|
Re: Кто-нибудь работал с RF модулями nRF2401A?
От 5 вольт они тоже работают прекрасно. Тут просто сильно не хватало конденсаторов по питанию.
|
|
|
|
04.10.2013, 22:25
|
#750
|
Почётный гражданин KAZUS.RU
Регистрация: 13.10.2007
Адрес: Беларусь
Сообщений: 8,048
Сказал спасибо: 60
Сказали Спасибо 3,954 раз(а) в 2,309 сообщении(ях)
|
Re: Кто-нибудь работал с RF модулями nRF2401A?
Поставить как в даташите в разрыв питания дроссель 10 мкГн и по конденсаторам 2200 пф + 1 мкф с обоих сторон, и будет работать от чего угодно. Емкости фильтрующих конденсаторов ей не хватало, сопротивление канала выхода АВР 30 Ом, вот и возникали пульсации тока
|
|
|
|
Ваши права в разделе
|
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения
HTML код Выкл.
|
|
|
Часовой пояс GMT +4, время: 09:23.
|
|