Jump to content

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


Recommended Posts

@GeKo Эта проблема была давно, или только с новой прошивкой?

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

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

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

Link to comment
Share on other sites

@GeKo У себя такого не наблюдал... Возможно особенности монтажа у вас, или модуля/МК... 

Edited by zeconir

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

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

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

Link to comment
Share on other sites

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

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

Подробнее

И еще, для тех у кого не получается изменить значения в EEPROM. В архиве инструкция, редактор hex и прошивальщик. Правка EEPROM.zip

---

А еще вот обновленный файлик прошивки для приемника. Нормально сделал управление инверсией выходов (теперь все в EEPROM). Проверяйте. RadioControl_M(Receiver)_17.09.2019.hex

Edited by zeconir
Прошивка

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

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

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

Link to comment
Share on other sites

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

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

Подробнее

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

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

Подробнее

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

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

Подробнее

Уважаемый @zeconir прошу прощения, но еще один вопрос. При потере связи сигнал на сервоприводы отрабатывается 1500 мкс, но при включенном передатчике напряжение 2,5 в на выходе джойстика уводит сервопривод "вниз". Нейтральное положение достигается только при напряжении около 3,5 в.  Баланс нейтрали можно восстановить за счет дополнительного сопротивления на джойстике, но при этом сильно ухудшается точность отработки сервопривода "вверх". Можно ли решить эту проблему? Спасибо.

Link to comment
Share on other sites

@zeconir После установки минимального времени 650 мкс и максимального 2350 мкс т.е. одинаковой разницы от 1500 мкс все работает нормально. 

Спасибо за схему, за помощь.

Edited by GeKo
Link to comment
Share on other sites

Уважаемый @zeconir , проверил новую версию. Все работает. Есть непонятная ситуация. При включении все устанавливается в нейтраль. При выключении передатчика нейтральное положение сервоприводов незначительно  уходит : пищит двигатель без вращения и незначительно  отклоняется от нейтрали рулевая машинка. При восстановлении связи с передатчиком снова все устанавливается  в исходное положение. Крайние положения сервоприводов установлены  650 - 2350.

Link to comment
Share on other sites

@GeKo Подскажите, у вас такая же ситуация как и у ув. @edar  (пост выше)?

Edited by zeconir

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

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

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

Link to comment
Share on other sites

Уважаемый @zeconir , более подробно:

Включаем питание кораблика. Передатчик выключен. Сервоприводы в нейтрали. Все норм..При включенном кораблике включаем передатчик. Нейтраль смещается незначительно. Выключаем передатчик все снова в нейтрали.

Включаем передатчик первым, а затем кораблик. Все нормально. Выключаем передатчик - смещение. Передатчик включаем - норм.

 

Link to comment
Share on other sites

@zeconir Да, у меня  тоже наблюдается небольшое смещение  сервоприводов. Я думаю это связано со стабилизацией 5в или самими джойстиками. Компенсировать это можно дополнительным резистором (можно подстроечным) в цепи + или - джойстика, в зависимости от того куда идет смещение. Для этого обычно ставят тримеры, которые выравнивают нейтральное положение и пределы максимального, минимального  регулирования. Если кому нужна схема, я сброшу. В более сложных схемах регулировка програмно кнопками.  Можно поиграться настройками максимального импульса не 2350 мкс а + -. Такая же ситуация у меня с прошлой схемой. Я просто подобрал дополнительные резисторы в джойстике.

Edited by GeKo
Link to comment
Share on other sites

@GeKo Мощность 0дБм, скорость передачи 250кб/с (самая большая мощность и самая низкая скорость передачи).

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

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

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

Link to comment
Share on other sites

@zeconir Не могу изменить канал в EEPROM передатчика. На приемнике меняется без проблем. В HxD все изменяется, сохраняется. Заливаю в контроллер и все равно выскакивает 1 канал.В чем может быть причина?

Link to comment
Share on other sites

@GeKo Уже пофиксил. Залейте эту прошивку в МК на передатчике. В прошлой была ошибка в проверке наличия данных в памяти, и каждый раз при запуске программа перезаписывала их по-умолчанию.

RadioControl_M(Transiver)_radio_1_21092919.hex

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

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

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

Link to comment
Share on other sites

@GeKo Вам спасибо что тестируете, баги ловите)

А еще кнопочка есть зеленая, со стрелкой)

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

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

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

Link to comment
Share on other sites

 Zeconir! Спасибо за обновление! 

Есть ли возможность конфигурацию срабатывания кнопок на триггерное срабатывание и константы пороговых напряжений батарей вынести в EEPROM?

P.S Что бы исходники каждый раз не клянчить :unsure:

Link to comment
Share on other sites

@ALEX1981 Да, я об этом тоже задумываюсь. Завтра (точнее уже сегодня, но днем :pilot:), если успею, сделаю.

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

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

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

Link to comment
Share on other sites

Новая прошивка.

Управление тест 23092019.zip

Изменения:

1. Теперь по-желанию можно настроить возврат дискретных выходов в исходное состояние при потере связи.

2. Все настройки выходов находятся в EEPROM приемника (триггирование, инверсия, возврат при потере связи).

3. Константы напряжений для индикации заряда считываются из EEPROM передатчика. 

Обновил таблицу соответствия.

ПРАВКА EEPROM НА ПРИМЕРЕ НАСТРОЙКИ КАНАЛА.docx

Прошивка мной пока что не тестировалась, так что жду гневных отзывов)

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

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

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

Link to comment
Share on other sites

@zeconir У меня не работают разовые команды. Сервоприводы работают, диод отказа связи на приемнике загорается. Загрузил файлы как есть в прошивке. Может я что-то не доделал?

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.

  • Сообщения

    • Даже здесь на форуме где то темы о электронных транформаторах, их переделках, доработках.
    • Эстрада широкополосная она не бассит а панчит. 
    • с такой как на схеме частотозадающей обвязкой (1к+1к+10нФ) максимальный Кзап на выходе 555 не превысит 0,66, выходное напряжение в режиме непрерывного тока дросселя, будет 5,8/(1-0,66)=17В. Моделирование это подтверждает. 
    • Мне тут иногда пишут по поводу решения этой задачи. Поэтому Апну тему: Научился я работать с обычными приемниками . Нужно просто грамотно подойти к решению задачи. Микроконтроллер должен определять наличие старт последовательности (если попали в интервал) . После обрабатывать битовый поток (если попадаем в интервал). Моя реализация очень хорошо работает , и принимает команды на довольно большой дальности. Ложных срабатываний нету, и плохого обучения команд. Все обработки команд и их прием работает четко!  Пример фиксации старт последовательности (алгоритм работает с любыми пультами на 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
×
×
  • Create New...