Jump to content

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


Recommended Posts

@GeKo Сори, времени последние пару дней не было совсем. Уже частично исправил. Если ничего не изменится, в субботу, ближе к вечеру по МСК, выложу. 

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

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

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

Link to comment
Share on other sites

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

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

Подробнее

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

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

Подробнее

Там на прошлой страничке документ вордовский скидывал, посмотрите. На вскидку - инверсия, триггеры, возврат при потере.

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

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

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

Link to comment
Share on other sites

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

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

Подробнее

@zeconir Мое мнение. Остановился на прошивке приемника от 17.09.2019 и передатчика от 21.09.2019.  Тригерная работа выходов нужна в командах которые видны, а если их не видать лучше использовать тумблеры.  В прошивке есть один тригер, я его использую для бортовых огней ( но лучше поставить тумблер, огни не гаснут как при потере связи, так и восстановлении).  Сервоприводы после обрыва связи отрабатывают в установленное положение. Инверсия не нужна если установлены переключатели и команды не кратковременные. У меня на крюках и бункерах стоят мощные соленоиды, поэтому необходимы кнопки. Буду следить за форумом.  Вам спасибо за проект и оказание помощи.

Link to comment
Share on other sites

  • 1 month later...

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

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

Подробнее

@zeconir  Объясните, что значит 

35 – инверсия выходов[0x00, используется первые пять байт]

36 – триггирование выходов [0x00, используется первые пять байт]

37 - возврат при потере связи[0x00, используется первые пять байт 

и как установить эти байты в EEPROM.

Link to comment
Share on other sites

@GeKo Смотрите в этом сообщении

Как записать их в eeprom там расписано. А насчет 35, 36, 37 - прошу прощения, моя опечатка. Имеется ввиду, что используется первые пять БИТ в соответствующем байте.

Edited by zeconir

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

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

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

Link to comment
Share on other sites

@zeconir  Если я устанавливаю цифру 3 в последней прошивке в байте  36 (тригирование выходов), то тригирование выхода будет только на третьем выходе или на всех трех?

Link to comment
Share on other sites

@GeKo Чуть по-другому. Вот у вас есть пять выходов: 1, 2, 3, 4, 5. Соответственно, первому выходу соответствует бит 0, второму - бит 1. И исходя из этого вы записываете биты.

image.png.8b748234b968ee1bfde51284b65a4f2f.png

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

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

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

Link to comment
Share on other sites

@zeconir Не могу разобраться. Получился такой EEPROM последней прошивки приемника,

image.png.de26cb762b5bdbb74caab27db3888635.png

 

что и где менять не разберусь. Жду помощи. Спасибо.

 

Edited by GeKo
исправление
Link to comment
Share on other sites

@GeKo Конкретнее. Что именно не понятно? Объяснить попробую, но еще раз повторюсь - все уже было расписано.

Итак, нужно триггирование 3 выхода. Окей. Открываете скачанный вордовский док, и смотрите в самом конце "таблицу" соответствия. За триггер отвечает 36 байт EEPROM. Кликаем по нему.01.png.0a244b8b755fd0c35b37e1513f51cc45.png

В окне правее теперь нужно изменить значение. Можно сделать это посчитав в калькуляторе (к примеру, режим программиста в виндовом), а можно просто ручками вбить биты. Нам нужен третий выход , значит меняем бит 2 (не забываем, биты считаются справа налево, от 0 до 7; см. мое предыдущее сообщение).02.png.3c9f9cd06e977d94ff01b9ee4d175076.png

Сохраняем файл EEPROM, прошиваем обратно в устройство.

Edited by zeconir

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

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

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

Link to comment
Share on other sites

  • 1 month later...

@Анатолий Николаевич Скриншот, пожалуйста. Все делали по иструкции из этого сообщения?

 

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

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

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

Link to comment
Share on other sites

Скриншот.прошивка от 29,09,2019,

3A 30 32 30 30 30 30 30 32 30 30 30 30 46 45 0D 0A 3A 31 30 30 30 30 30 30 30 31 37 30 39 46 46 46 46 46 46 46 46 46 46 46 46 46 46 46 46 44 37 44 37 44 37 44 37 44 37 45 37 42 45 0D 0A 3A 31 30 30 30 31 30 30 30 45 37 45 37 45 37 45 37 46 46 30 31 44 43 30 35 44 43 30 35 38 41 30 32 38 41 30 32 42 38 30 42 41 37 0D 0A 3A 30 36 30 30 32 30 30 30 42 38 30 42 30 31 30 30 30 30 31 46 46 37 0D 0A 3A 30 30 30 30 30 30 30 31 46 46 0D 0A

Всё делал как на второй странице: DEC-1350, HEX-546

вписываю значения; (22) ячейка-46, ячейка (23)- 05,  сохраняю и прошиваю.

3A 30 32 30 30 30 30 30 32 30 30 30 30 46 45 0D 0A 3A 31 30 30 30 46 05 46 05 31 37 30 39 46 46 46 46 46 46 46 46 46 46 46 46 46 46 46 46 44 37 44 37 44 37 44 37 44 37 45 37 42 45 0D 0A 3A 31 30 30 30 31 30 30 30 45 37 45 37 45 37 45 37 46 46 30 31 44 43 30 35 44 43 30 35 38 41 30 32 38 41 30 32 42 38 30 42 41 37 0D 0A 3A 30 36 30 30 32 30 30 30 42 38 30 42 30 31 30 30 30 30 31 46 46 37 0D 0A 3A 30 30 30 30 30 30 30 31 46 46 0D 0A

выдаёт "ошибка контрольной суммы"

Link to comment
Share on other sites

@Анатолий Николаевич А шьете, наверное, через Khazama ? Если да, то это известная для него проблема. Там используется формат файла с контрольной суммой, соответственно она после вашим манипуляций не сходится. Используйте для прошивки программу "myAVR_ProgTool". В инструкции я описал как с ней работать. Но даже на английском там очень простой интерфейс. 

myAVR_ProgTool.exe

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

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

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

Link to comment
Share on other sites

Бреннен ...
benutze: usbasp - USBasp, http://www.fischl.de/usbasp/ an ?? mit ATmega48PA
EEPROM: "C: \\ Users \\ Подол.Подол-ПК \\ Desktop \\ 1111" 38 байт
предупреждение: невозможно установить период sck. пожалуйста, проверьте наличие обновлений прошивки usbasp.
ОШИБКА: несоответствие контрольной суммы в строке 1 «C: \\ Users \\ Подол.Подол-ПК \\ Desktop \\ 1111»
контрольная сумма = 0xfe, вычисленная контрольная сумма = 0xfc
ошибка записи в файл «C: \\ Users \\ Подол.Подол-ПК \\ Desktop \\ 1111»
Гезамтдауэр: (0,52 с)
Brennen ...
benutze: usbasp - USBasp, http://www.fischl.de/usbasp/ an ?? mit ATmega48PA
EEPROM: "C: \\ Users \\ Podol.Podol-PK \\ Desktop \\ 1111" 38 bayt

Выдаёт тоже самое, делаю как описано , в чём моя ошибка.

Link to comment
Share on other sites

@Анатолий Николаевич Скиньте сюда файл, который прошиваете. А так же вопрос: чем считывали и как считывали? 

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

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

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

Link to comment
Share on other sites

Я не понял прошивку или eeprom,если прошивка вот

RadioControl_M(Receiver)_290919.zip

Всё делал пошагово с этой  инструкции и этими программами

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

Link to comment
Share on other sites

@Анатолий Николаевич Так прошивка то мне зачем? С ней никаких манипуляций не проводится. Мне eeprom считанный вами нужен. Только именно файл, а не скопированное содержимое.

Всех с наступающим!

Edited by zeconir

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

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

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

Link to comment
Share on other sites

Делайте по инструкции, и проблем не будет. 

1. Читаете через myAVR_ProgTool.

2. При сохранении выбираете именно тот вариант, который указан в инструкции.

image.png.14d55ba778c518c290ae9d6976375cda.png

Не дописывайте расширение файла! После сохранения появится файл "ваше_имя_файла.bin", который вы сохранили. У него не будет никаких контрольных сумм.

3. Редактируете что нужно.

4. Прошиваете опять через myAVR_ProgTool.

P.S. Я более чем на 99% уверен, что вы выбрали вариант сохранения 

image.png.00b805aaab6127274626faefab7c9090.png

и с ним пытались взаимодействовать. Пожалуйста, читайте внимательно, так как до вас уже несколько человек по этой инструкции изменяло настройки в eeprom и у всех получилось это сделать без проблем.

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

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

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

Link to comment
Share on other sites

 myAVR_ProgTool.  окошко eeprom  нажимаю "Auslesen" потом "Speichern" открывается окошко "сохранить" , в нём 4 строчки

ТИП ФАЙЛА; eeprom-Datel(*,eep)

                         Intel-HEX(*,hex) 

                          Alle Dateien

                           BIN_Datei

Неужели в эти  названиях можно ошибиться?                         

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...