Jump to content

Простое радиоуправление на NRF24L01+PA+LNA. Приемник


Recommended Posts

zeconir спасибо за исходники. По поводу ограничения угла поворота сервопривода,  подбирать экспериментально значения нужно в ячейках 22-23 и 24-25, для первой и второй сервы соответственно? Отключения двигателей при потере сигнала, сможете сделать, а то сам не осилю, в программировании ноль. 

Link to comment
Share on other sites

@ALEX1981 Посмотрю. Если места в МК хватит.

И пусть судьба не справедлива, Жизнь игра - играй красиво!

И что б не кикнули тебя, Не злить Админа, юзверя!

Люблю "спасибки" :)

Link to comment
Share on other sites

  • 1 month later...

Приглашаем на вебинар «Необычное в обычном. Сравнительный анализ современных решений Recom» (27.01.2022)

Приглашаем 27/01/2022 всех желающих посетить вебинар, посвященный двум наиболее растущим сегментам интегрированных источников питания – AC/DC малой мощности (1-20Вт) и сегменту решений PoL без изоляции. На вебинаре рассмотрим проблему выбора AC/DC в бюджетном сегменте и концепцию тестирования ускоренного старения, проведем сравнительный анализ подходов к интеграции AC/DC модулей. Сделаем обзор решений концепции POL с доисторических времен до современных технологий и средств для разработки и тестирования.

Подробнее

Доброго времени суток. Не буду рассказывать как, но спалил я приемник(. Заменим Atmega48 и NRF модуль. Передатчик не видит приемника. Короткого и т.п. нет. Написал простую программку для проверки портов залил, подключил светодиоды мигают (согласно алгоритму написанной программы). Было замечено следующее - микросхема Atmega48PA это не Atmega48, поскольку в CodeVisionAVR подписи их разные и определяются они по  разному. То есть я должен выбрать Atmega48P  и залить прошивку RadioControl_M(Receiver) под Atmega48. Возможно это и есть причиной того что передатчик не видит приемника? До этого была Atmega48. Возможно ли вообще перевести приемник на Atmega8 они доступнее по сравнению с Atmega48 (доступны только Atmega48PA) и если не ошибаюсь то по портах одно и тоже плюс памяти у нее больше). В исходнике который вы выложили пробовал поменять чип на Atmega48PA но результата это не дало ( возможно я делал что-то не так). Заранее благодарен.

Link to comment
Share on other sites

Решения Infineon для беспроводного электроинструмента с бесщеточными электродвигателями

Современные строительные электроинструменты достигают высокой производительности и эргономичности благодаря использованию мощных бесщеточных электродвигателей и литий-ионных аккумуляторов. Для реализации сложных алгоритмов питания таких двигателей и управления ими компания Infineon предлагает решения, позволяющие создавать оборудование, отвечающее самым современным требованиям, предъявляемым к технике подобного класса.

Подробнее

Еще забыл что не смог найти в последних исходниках строки #define CHANNEL 1 (в исходниках к статье она присутствует).

Link to comment
Share on other sites

  • 2 weeks later...

Стандарт LoRaWAN и его использование в России с контроллерами STM32WL

Стандарт сетевого уровня LoRaWAN технологии LoRa одобрен для применения в России и отвечает требованиям региональных сетевых операторов. Компания STMicroelectronics выпустила линейку беспроводных однокристальных контроллеров серии STM32WL c поддержкой модуляции LoRa. Серия STM32WL имеет цифровые и аналоговые периферийные устройства для приложений, требующих высокой энергоэффективности и возможностей связи на достаточно большие расстояния, подходя для широкого спектра промышленных и потребительских приложений.

Подробнее

@heroj От буквы в индексе ничего не зависит, расположение регистров и т.д. абсолютно идентичное. Даже даташит на это все дело один. А что касается последней прошивки - да, там перенесена установка настроек из флеша в еепром. То есть, все что касается работы передатчика/приемника (в разумных пределах) - задается в еепром. Чуть ранее было мое сообщение с расшифровкой битов, что за что отвечает и чем управляет.

И пусть судьба не справедлива, Жизнь игра - играй красиво!

И что б не кикнули тебя, Не злить Админа, юзверя!

Люблю "спасибки" :)

Link to comment
Share on other sites

Разработка преобразователей на основе карбид-кремниевых приборов с помощью симулятора SpeedFit 2.0

Компания Wolfspeed разработала бесплатный онлайн симулятор SpeedFit 2.0, позволяющий разработчикам быстро и всесторонне оценить параметры основных процессов, происходящих в силовой части импульсных преобразователей электрической энергии, и сравнить между собой различные варианты реализации поставленного технического задания.

Подробнее

В 17.03.2019 в 02:04, zeconir сказал:

@heroj От буквы в индексе ничего не зависит, расположение регистров и т.д. абсолютно идентичное. Даже даташит на это все дело один. А что касается последней прошивки - да, там перенесена установка настроек из флеша в еепром. То есть, все что касается работы передатчика/приемника (в разумных пределах) - задается в еепром. Чуть ранее было мое сообщение с расшифровкой битов, что за что отвечает и чем управляет.

Здравствуйте, вы автор статьи?http://cxem.net/uprav/uprav92.php , если да отпишите пожалуйста https://vk.com/id46410271

Link to comment
Share on other sites

Есть ли возможность модернизировать приемник и передатчик. Суть такая - в приемник добавить два - три входа, а на передатчике на два свободных вывода повесить светодиоды?  Например для кораблика полезно будет подцепить датчик потопа + еще что-то.

Link to comment
Share on other sites

21 час назад, LUG -- LIS сказал:

heroj --  Посмотрите еще вот здесь, может найдете для себя что то  интересного. Там больше возможностей и есть телеметрия. https://radiokot.ru/forum/viewtopic.php?f=28&t=148087

Спасибо, я ето видел. Но когда читал форум и там начали писать за инкубатор в теме про кораблик, то сразу пропало желание дочитать до конца. Вроде все неплохо, но есть пару моментов которые мне не нравяться. 

Link to comment
Share on other sites

@heroj Нуу, в принципе это реально. Но нужно смотреть. Возможно контроллер на приемнике заменить на ATmega8.

И пусть судьба не справедлива, Жизнь игра - играй красиво!

И что б не кикнули тебя, Не злить Админа, юзверя!

Люблю "спасибки" :)

Link to comment
Share on other sites

В 27.03.2019 в 16:49, zeconir сказал:

@heroj Нуу, в принципе это реально. Но нужно смотреть. Возможно контроллер на приемнике заменить на ATmega8.

Было бы очень хорошо)

Link to comment
Share on other sites

@heroj , Посмотрел по объему кода - там и того что есть хватит. Но есть проблема - на передатчике уже некуда что-либо тыкать. Только если другой контроллер лепить, с большим количеством I/O (к примеру, ATmega16).

Edited by zeconir

И пусть судьба не справедлива, Жизнь игра - играй красиво!

И что б не кикнули тебя, Не злить Админа, юзверя!

Люблю "спасибки" :)

Link to comment
Share on other sites

6 часов назад, zeconir сказал:

@heroj , Посмотрел по объему кода - там и того что есть хватит. Но есть проблема - на передатчике уже некуда что-либо тыкать. Только если другой контроллер лепить, с большим количеством I/O (к примеру, ATmega16).

Контроллер достать не будет проблематично.) Лично для меня нужно всего лишь два датчика подключить.

Link to comment
Share on other sites

@heroj Я подумаю над модернизацией.

И пусть судьба не справедлива, Жизнь игра - играй красиво!

И что б не кикнули тебя, Не злить Админа, юзверя!

Люблю "спасибки" :)

Link to comment
Share on other sites

  • 2 months later...

@GeKo Честно - не помню уже. Кажется, должен оставаться в последней заданной позиции.

И пусть судьба не справедлива, Жизнь игра - играй красиво!

И что б не кикнули тебя, Не злить Админа, юзверя!

Люблю "спасибки" :)

Link to comment
Share on other sites

В 28.06.2019 в 08:14, GeKo сказал:

Здравствуйте. Скажите, что происходит с сервоприводами при потере связи?

А на приемнике можно вывести индикацию отказа связи? Что для этого необходимо? Спасибо.

Link to comment
Share on other sites

@GeKo Ну, как минимум, изменить прошивку =) А если серьезно, я сейчас не могу ничего конкретного сказать. Через недельку - две постараюсь ответить на ваш вопрос, а может быть и реализовать.

И пусть судьба не справедлива, Жизнь игра - играй красиво!

И что б не кикнули тебя, Не злить Админа, юзверя!

Люблю "спасибки" :)

Link to comment
Share on other sites

  • 1 month later...

 zeconir У меня радиоуправляемый катер. Радиоуправление я сделал по схеме "https://vrtp.ru/index.php?showtopic=28989" Дискретно пропорциональное радиоуправление на MRF49XA от blaze, все работает.  Меня заинтересовала ваша схема. Я её собрал, но возникли вопросы. Малый ток потребления NRF2401, всего 40 ма. Дальность до 100 метров. Все необходимые меры (экранировка, конденсаторы по питанию) установлены.

Форумчане какие результаты у вас? Как увеличить дальность, хотя бы метров 400?

Edited by GeKo
Link to comment
Share on other sites

On 8/9/2019 at 9:32 AM, GeKo said:

 zeconir У меня радиоуправляемый катер. Радиоуправление я сделал по схеме "https://vrtp.ru/index.php?showtopic=28989" Дискретно пропорциональное радиоуправление на MRF49XA от blaze, все работает.  Меня заинтересовала ваша схема. Я её собрал, но возникли вопросы. Малый ток потребления NRF2401, всего 40 ма. Дальность до 100 метров. Все необходимые меры (экранировка, конденсаторы по питанию) установлены.

Форумчане какие результаты у вас? Как увеличить дальность, хотя бы метров 400?

Можно попробовать заменить радиомодули  NRF2401. У меня была проблема при настройке нет связи, оказалось что модули с антенами глушили сами себя (лежали на столе один возле другого 15-20см).

Link to comment
Share on other sites

Предельную дальность не проверял, но на 200 метров и через кирпичную стену 40 см все ок. Думаю заявленную дальность 1100м модуль  обеспечит.  Дальность зависит от экземпляра радиомодуля. Мало того, даже  простая замена антенны с такого же модуля   влияет на дальность. Печатную плату приемника  переразвел и уместил в размер 55х40 мм. Стабилизатор 5v убрал. Питание приемника от регулятора двигателя 5v 2a. Желательно решить проблему при потере связи, что может привести к потере  катера.

 

Link to comment
Share on other sites

16 часов назад, edar сказал:

Предельную дальность не проверял, но на 200 метров и через кирпичную стену 40 см все ок. Думаю заявленную дальность 1100м модуль  обеспечит.  Дальность зависит от экземпляра радиомодуля. Мало того, даже  простая замена антенны с такого же модуля   влияет на дальность. Печатную плату приемника  переразвел и уместил в размер 55х40 мм. Стабилизатор 5v убрал. Питание приемника от регулятора двигателя 5v 2a. Желательно решить проблему при потере связи, что может привести к потере  катера.

 

У меня 4 модуля NRF.  Менял их местами, но изменений нет. Потребление тока передатчиком без светодиодов 45 ма. Скорее всего программно стоит не максимальная мощность. Возможно это связано с двухсторонним обменом данными, не знаю. Дальность точно определить трудно, т.к. начинает мигать светодиод потери пакетов передачи данных и на сколько это серьезно не понятно. Какое потребление тока модулем NRF у вас? Если есть возможность  напишите. При максимальной мощности NRF должен потреблять более 100 ма.

В схеме (смотри ссылку) проблему остановки катера  при потере связи я решил через светодиод потери связи на приемнике.  Zeconir обещал подумать. Был бы такой светодиод в схеме, все вопросы были бы сняты. Програмно решить этот вопрос, я думаю, не представляет трудностей. Но вопросы программирования изучать в 70 лет ????  Питание 5 в у меня тоже от регулятора.

Link to comment
Share on other sites

@GeKo При выключенном приемнике общее потребление передатчиком 130 мА (Atmega8 - 4 mA +светодиоды (20-25mA), т.е. на модуль приходится около 100 мА.

При включенном приемнике ток передатчика 110 мА, периодически каждые  2-3

секунды ток уменьшается до 90 мА.

Link to comment
Share on other sites

Join the conversation

You are posting as a guest. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
 Share

  • Recently Browsing   0 members

    • No registered users viewing this page.

  • Сообщения

    • Мне тут иногда пишут по поводу решения этой задачи. Поэтому Апну тему: Научился я работать с обычными приемниками . Нужно просто грамотно подойти к решению задачи. Микроконтроллер должен определять наличие старт последовательности (если попали в интервал) . После обрабатывать битовый поток (если попадаем в интервал). Моя реализация очень хорошо работает , и принимает команды на довольно большой дальности. Ложных срабатываний нету, и плохого обучения команд. Все обработки команд и их прием работает четко!  Пример фиксации старт последовательности (алгоритм работает с любыми пультами на 433мГц ) : switch(state) { case 0: timer_cnt=TIMER->CNT=0; DATA_RX[0]=0; if((RX_IN)==0)// считаем первый захват . Предположительно это стартовый сигнал низкого уровня {state=1;} break; case 1: // если насчитали подходящее число - фиксируем старт условие if(RX_IN) { if(TIMER->CNT>2000 || timer_cnt) // если больше 2мс. то словили старт условие { timer_cnt=TIMER->CNT=0; state=2; code=1; } else { code=2; state=0; // если не попали в интервал - сброс } } break; case 2: ... ... Пример обработки битового потока (работает на любых пультах 433мГц) : case 2: if((RX_IN)==0) { if(TIMER->CNT>90 && TIMER->CNT<1800 && timer_cnt==0) // ограничиваем диапазон 90мкс - 1800мкс { BIT_TIME[0] = TIMER->CNT; timer_cnt=TIMER->CNT=0; state=3; code=3; } else { //BIT_TIME[5]=state; //BIT_TIME[6]=TIMER->CNT; code=4; state=0; // если не попали в интервал - сброс } } break; case 3: if(RX_IN) { if(TIMER->CNT>90 && TIMER->CNT<1800 && timer_cnt==0) // ограничиваем диапазон 90мкс - 1800мкс { BIT_TIME[1] = TIMER->CNT; if(BIT_TIME[0] > (BIT_TIME[1]+BIT_TIME[1])) DATA_RX[0] |=(1<<25); DATA_RX[0]>>=1; timer_cnt=TIMER->CNT=0; state=4; code=5; } else { //BIT_TIME[5]=state; //BIT_TIME[6]=TIMER->CNT; timer_cnt=TIMER->CNT=0; code=6; state=0; // если не попали в интервал - сброс } } break; default: if(TIMER->CNT>90 && TIMER->CNT<1800 && timer_cnt==0) // ограничиваем диапазон 90мкс - 1800мкс { if((RX_IN)==0) { BIT_TIME[2] = TIMER->CNT; timer_cnt=TIMER->CNT=0; state++; } else { if(TIMER->CNT > (BIT_TIME[2]+BIT_TIME[2])) DATA_RX[0] |=(1<<25); DATA_RX[0]>>=1; timer_cnt=TIMER->CNT=0; state++; code++; } if(state>48) // если набрали нужное количество бит { DATA_RX[1] = DATA_RX[0]; BIT_TIME[3] = BIT_TIME[0]; BIT_TIME[4] = BIT_TIME[1]; code=250; } if(state>35) { if(RX_IN){LED_ON;} else{ LED_OFF;} } } else { BIT_TIME[5]=state; BIT_TIME[6]=TIMER->CNT; state=0; // если не попали в интервал - сброс code1++; } if(state>48) // если набрали нужное количество бит { DATA_RX[1] = DATA_RX[0]; BIT_TIME[3] = BIT_TIME[0]; BIT_TIME[4] = BIT_TIME[1]; code++; } break; } Универсальный протокол обработки команд с ДУ . С функцией обучения пультов.   Полный работчий код для микроконтроллера STM32F030F4P6:    
    • Дубовые, чуйка тормозная, ЗЯ и D с ИИП немного ускоряют, но не достаточно для монолитного звуковового в Дб. Есть исключения - "лопухи" с легким подвесом, тот же ширик можно до 5000
    • Что значит нч, мид бас? Или ширики эстрадные?
    • Aliens444 а так я давно за качество звука) я к ним как-то раз подключил Натали, интереса ради, так я офигел от такого контроля динамика, т. е. как усилитель контролирует динамик, это просто бомба. Ну и бас соответственно классный, очень приятный. Ланзар тоже хорошо шпарит, но Наташа лучше) 
    • 40.....5000 отлично играют. Некоторые пихают собуферные динамики, вместо НЧ это разные динамики
    • Короче говоря победил я его) видать ещё вчера ночью) просто утро вечера мудренее) начал регулироваться ТП, поставил на прогрев, под синус, сейчас минут 20-30 погоняю, потом контрольный замер ТП и на место его. 
×
×
  • Create New...