Радиоуправляемый катер из потолочки

jeka_tm
jeka_tm аватар
Offline
Зарегистрирован: 19.05.2013

не хочу тему создавать. пусть будет тут

понадобился автоматический регулятор оборотов вентилятора с термодатчиком, тиньку ставить не хотелось,  гугление привело меня на эту схему на 555 таймере:

все достаточно просто. схема рабочая, регулировка шим скорости отлично работает. Остальные подробности на видео:

https://youtu.be/Gke50ZDf4Ag

печатка Diptrace

кстати специально проверил, поставил полевик FDD8447L на 50А

vlad123419
Offline
Зарегистрирован: 25.03.2016

Спасибо, может понадобиться!

Apolsys
Apolsys аватар
Offline
Зарегистрирован: 07.06.2016

Так...добился я работы второго NRF модуля, но только после замены бибилиотеки на Жекину и перепаяв 1 контакт, а потом и вовсе заменив все на шлейф от IDE хард диска. Пример "Status" выдает все как написал Жека, но вот используя примеры TX и RX не привел ни к чему! Монитор порта не выдает вообще ничего, не на приемнике, не на передатчике. С другими примерами из интернета тоже монитор порта молчит. Кто что подскажет, есть какие мысли?

PS. Тот что с удлененным шлейфом - будет приемником, с коротким - на пульт передатчиком.

jeka_tm
jeka_tm аватар
Offline
Зарегистрирован: 19.05.2013

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

Apolsys
Apolsys аватар
Offline
Зарегистрирован: 07.06.2016

Статус выдает это:

STATUS		 = 0x0e RX_DR=0 TX_DS=0 MAX_RT=0 RX_P_NO=7 TX_FULL=0
RX_ADDR_P0-1	 = 0x65646f4e31 0xe8e8f0f0e1
RX_ADDR_P2-5	 = 0xc3 0xc4 0xc5 0xc6
TX_ADDR		 = 0x65646f4e31
RX_PW_P0-6	 = 0x20 0x20 0x00 0x00 0x00 0x00
EN_AA		 = 0x3f
EN_RXADDR	 = 0x02
RF_CH		 = 0x40
RF_SETUP	 = 0x27
CONFIG		 = 0x0f
DYNPD/FEATURE	 = 0x03 0x06
Data Rate	 = 250KBPS
Model		 = nRF24L01+
CRC Length	 = 16 bits
PA Power	 = PA_MAX

Но что из этого нужно запомнить и куда в коде приемника/передатчика отобразить, подскажи плиз!

jeka_tm
jeka_tm аватар
Offline
Зарегистрирован: 19.05.2013

я писал же пины инициализации

RF24 radio(9,10); 

статус выдает значит подлючено верно. но когда в приемник и передатчик заливаешь код не забывай их прописать как у тебя подключено. а то статусом проверят все хорошо, а дальше пины прописывать свои забывают и связи конечно не будет

Apolsys
Apolsys аватар
Offline
Зарегистрирован: 07.06.2016

А все понял, я просто подумал может я какую инфу из статуса не перенес...

Жека, в обоих скетчах прописанно

RF24 radio(9,10);

в Мониторе порта 9600 как в коде, но ничего не получает.

А вот у меня еще на этих модулях статусы отличаются некоторые строки, это критично?

RX_ADDR_P0-1	 = 0xe7e7e7e7e7 0xe8e8f0f0e1
TX_ADDR		 = 0xe7e7e7e7e7

А в другом

RX_ADDR_P0-1	 = 0x65646f4e31 0xe8e8f0f0e1
TX_ADDR		 = 0x65646f4e31

В обоих скетчах у меня вот так:

const uint64_t pipe = 0x65646f4e31; // адрес канала передачи
RF24 radio(9,10);

И извини если надоедаю, просто реально с ними месяц бьюсь уже, все библиотеки и примеры перепробовал...Очень нужна твоя помощь!

jeka_tm
jeka_tm аватар
Offline
Зарегистрирован: 19.05.2013

дома проверю на своих, но по идее должны быть одинаковые

у тебя со вторым что то. адрес не установился полностью. еще модули есть заменить второй модуль?

у меня сканер выдавал (в инструкции) как у тебя первый

RX_ADDR_P0-1     = 0xe7e7e7e7e7 0xe8e8f0f0e1
RX_ADDR_P2-5     = 0xc3 0xc4 0xc5 0xc6
TX_ADDR      = 0xe7e7e7e7e7

да и почему ты решил что оба норм. судя по всему только один

скинь результаты статуса для обоих модулей

Apolsys
Apolsys аватар
Offline
Зарегистрирован: 07.06.2016

Первый:

STATUS		 = 0x0e RX_DR=0 TX_DS=0 MAX_RT=0 RX_P_NO=7 TX_FULL=0
RX_ADDR_P0-1	 = 0xe7e7e7e7e7 0xe8e8f0f0e1
RX_ADDR_P2-5	 = 0xc3 0xc4 0xc5 0xc6
TX_ADDR		 = 0xe7e7e7e7e7
RX_PW_P0-6	 = 0x00 0x20 0x00 0x00 0x00 0x00
EN_AA		 = 0x3f
EN_RXADDR	 = 0x02
RF_CH		 = 0x40
RF_SETUP	 = 0x27
CONFIG		 = 0x0f
DYNPD/FEATURE	 = 0x03 0x06
Data Rate	 = 250KBPS
Model		 = nRF24L01+
CRC Length	 = 16 bits
PA Power	 = PA_MAX

Второй:

STATUS		 = 0x0e RX_DR=0 TX_DS=0 MAX_RT=0 RX_P_NO=7 TX_FULL=0
RX_ADDR_P0-1	 = 0x00646f4e31 0xe8e8f0f0e1
RX_ADDR_P2-5	 = 0xc3 0xc4 0xc5 0xc6
TX_ADDR		 = 0x00646f4e31
RX_PW_P0-6	 = 0x20 0x20 0x00 0x00 0x00 0x00
EN_AA		 = 0x3f
EN_RXADDR	 = 0x02
RF_CH		 = 0x40
RF_SETUP	 = 0x27
CONFIG		 = 0x0f
DYNPD/FEATURE	 = 0x03 0x06
Data Rate	 = 250KBPS
Model		 = nRF24L01+
CRC Length	 = 16 bits
PA Power	 = PA_MAX

Нет, замены нету, только эти 2

Apolsys
Apolsys аватар
Offline
Зарегистрирован: 07.06.2016

Только что отсоединил все модули от уно, обесточил уно, подключил все обратно и у обоих выдает так:

STATUS		 = 0x0e RX_DR=0 TX_DS=0 MAX_RT=0 RX_P_NO=7 TX_FULL=0
RX_ADDR_P0-1	 = 0xe7e7e7e7e7 0xc2c2c2c2c2
RX_ADDR_P2-5	 = 0xc3 0xc4 0xc5 0xc6
TX_ADDR		 = 0xe7e7e7e7e7
RX_PW_P0-6	 = 0x00 0x00 0x00 0x00 0x00 0x00
EN_AA		 = 0x3f
EN_RXADDR	 = 0x02
RF_CH		 = 0x40
RF_SETUP	 = 0x27
CONFIG		 = 0x0f
DYNPD/FEATURE	 = 0x03 0x06
Data Rate	 = 250KBPS
Model		 = nRF24L01+
CRC Length	 = 16 bits
PA Power	 = PA_MAX

Они должны так за просто меняться или я чего не знаю?

Ах да, и статус  я проверил на этот раз этим скетчем:

#include <SPI.h>
#include "nRF24L01.h"
#include "RF24.h"
#include "printf.h"
 
RF24 radio(9,10);

void setup() {
  Serial.begin(57600);
  printf_begin();
  radio.begin();
  radio.setChannel(0x40);
  radio.setPALevel(RF24_PA_MAX);
  radio.setDataRate(RF24_250KBPS);
  //radio.setDataRate(RF24_2MBPS);
 
  radio.enableAckPayload();
  radio.startListening();
  radio.setAutoAck(1);
 
  radio.printDetails();

}

void loop() {
  // put your main code here, to run repeatedly:

}

 

Apolsys
Apolsys аватар
Offline
Зарегистрирован: 07.06.2016

И сново волшебство...

опять проверил примером из твоей библиотеке и сново по разному, но поменял местами модули и выдает одинаково:

RX_ADDR_P0-1	 = 0xe7e7e7e7e7 0xe8e8f0f0e1

TX_ADDR		 = 0xe7e7e7e7e7

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

jeka_tm
jeka_tm аватар
Offline
Зарегистрирован: 19.05.2013

приемник начнет в терминал слать как только получит данные. можешь добавить пару строка для собственного успокоения, start например

кстати я ведь не тестировал модули с усилителями. может проблема в питании. проверь сколько потребляет модуль с усилителем и сколько тока  ардуино уно может выдать 3.3В. может ардуина не может выдать нужный ток вот и начинаются танцы с бубнами

и что значит на этот раз? а до этого ты как проверял?

кстати попробуй в коде статуса и передатчика моменять выходную мощность, замени

RF24_PA_HIGH на RF24_PA_LOW

 

Apolsys
Apolsys аватар
Offline
Зарегистрирован: 07.06.2016

На счет тока я что-то даже не подумал, обязательно надо проверить, спасибо за подсказку!

"На этот раз" имел ввиду, что до этого статус проверял всегда исключительно примером из твоей библиотеки, как и последующие разы!

Мощность сейчас проверю и отпишусь о результате...

>>> К сожалению понижение мощности результатов не дало, дома буду замерять ток...

 

 

vlad123419
Offline
Зарегистрирован: 25.03.2016

Привет! Смотри...

У меня есть модуль с усилителем, тоже с ними долго бился, но потоим всё заработало, там модуль с усилиелем очень требователен к питанию, так что  заказал вот такие переходники, там всё ок с ними, на них преобразователь, но если ждать не охота, то идешь в магазин и покупаешь AMS1117 3,3, и сам собираешь...

Я заказал и все закаботало как часы...

Вот ссылка на АлиЭкспресс :

 http://ru.aliexpress.com/item/New-Socket-Adapter-plate-Board-for-8Pin-NRF24L01-Wireless-Transceive-module-51/32230227557.html?spm=2114.03010208.3.23.VrQt3s&ws_ab_test=searchweb201556_7,searchweb201602_4_10039_10048_10057_10047_10056_10055_10054_10059_10046_10058_10045_10017_10060_10061_10052_414_10062_10053_413_10050_10051,searchweb201603_7&btsid=6ef4214d-0093-4d83-8706-8c31478d3043

На Ардуино сам источник питания 3,3В выдает ОЧЕНЬ маленький ток для  питания модуля, поэтому кто то напаивает конденсаторы, но мне что то это не помогало, работало через раз, поэтому я заказал переходники...

Вот тебе еще ссылочка на форум про NRF24L01:

http://forum.amperka.ru/threads/nrf24l01-%D0%BF%D0%BE%D0%B1%D0%B5%D0%B6%D0%B4%D0%B0%D0%B5%D0%BC-%D0%BC%D0%BE%D0%B4%D1%83%D0%BB%D1%8C.3205/

Там много толкового материала, и да, кстати, проверь статус этих модулей этим кодом: 

 

#include <SPI.h>
#include "nRF24L01.h"
#include "RF24.h"

RF24 radio(9,10); // Для Уно
//RF24 radio(9,53);// Для Меги
const uint8_t num_channels = 128;
uint8_t values[num_channels];
void setup(void)
{
  Serial.begin(57600);
  printf_begin();
  radio.begin();
  radio.setAutoAck(false);
  radio.startListening();

  radio.printDetails();  // Вот эта строка напечатает нам что-то, если все правильно соединили.
  delay(5000);              // И посмотрим на это пять секунд.

  radio.stopListening();
  int i = 0;    // А это напечатает нам заголовки всех 127 каналов
  while ( i < num_channels )  {
    printf("%x",i>>4);
    ++i;
  }
  printf("\n\r");
  i = 0;
  while ( i < num_channels ) {
    printf("%x",i&0xf);
    ++i;
  }
  printf("\n\r");
}
const int num_reps = 100;

void loop(void)
{
  memset(values,0,sizeof(values));
  int rep_counter = num_reps;
  while (rep_counter--) {
    int i = num_channels;
    while (i--) {
      radio.setChannel(i);
      radio.startListening();
      delayMicroseconds(128);
      radio.stopListening();
      if ( radio.testCarrier() )
        ++values[i];
    }
  }
  int i = 0;
  while ( i < num_channels ) {
    printf("%x",min(0xf,values[i]&0xf));
    ++i;
  }
  printf("\n\r");
}
int serial_putc( char c, FILE * ) {
  Serial.write( c );
  return c;
}

void printf_begin(void) {
  fdevopen( &serial_putc, 0 );
}
 

Доролнение :

Вот я еще этим проверял, но надо обязательно собрать всё как на схеме, а то не заработает, т.е. со светодиодами и т.д.

Там всё есть, полностью рабочее...

Apolsys
Apolsys аватар
Offline
Зарегистрирован: 07.06.2016

Похоже так и есть, питания мало, по совету Жеки проверить ток, замер на мультиметре на выходе от ардуино показывает 0,13. По ссылки с форума амперки куда ты ссылку давал вычитывал, что потребность куда больше. Похоже придется заказывать эти адаптеры.

jeka_tm
jeka_tm аватар
Offline
Зарегистрирован: 19.05.2013

купи в ближайшем магазине радиодеталей 78l033 и конденсаторы. на этом обсуждение радиомодулей предлагаю закрыть. по ним есть профильная тема, там и продолжайте разбираться, а лучше почитать сначала

http://arduino.ru/forum/programmirovanie/nrf24l01

vlad123419
Offline
Зарегистрирован: 25.03.2016

Да, если не хочешь ждать, то сходи в радиомагазин и купи детали и сам собери, там не сложно

Xumuk
Xumuk аватар
Offline
Зарегистрирован: 03.03.2016

прочел всю ветку все в ожидании когда же кто-нибудь уже закончит=)))) интересно поглядеть

jeka_tm
jeka_tm аватар
Offline
Зарегистрирован: 19.05.2013

хз. сам жду. на мой можешь посмотреть))

LYNX
Offline
Зарегистрирован: 21.03.2014

А я передатчик жду :) тоже посмотреть хочу

jeka_tm
jeka_tm аватар
Offline
Зарегистрирован: 19.05.2013

LYNX пишет:

А я передатчик жду :) тоже посмотреть хочу

если ты про мой то ты уже видел скорее всего. нового у меня нет

vlad123419
Offline
Зарегистрирован: 25.03.2016

Я закончил, результатом доволен, спасибо jeka_tm, теперь буду делать квадрокоптер!

jeka_tm
jeka_tm аватар
Offline
Зарегистрирован: 19.05.2013

а видео как плавает?

vlad123419
Offline
Зарегистрирован: 25.03.2016

Это если только сегодня вечером)

LYNX
Offline
Зарегистрирован: 21.03.2014

Не про твой, новый с али. rf24

Apolsys
Apolsys аватар
Offline
Зарегистрирован: 07.06.2016

Да, мы все ждем!))

А я тем временем жду свои адаптеры на 3.3в...если найду в закромах детальки, то сам собирать буду. Пока нашел 1шт ASM 1117 (со старой видяхи) и 1шт APL 1117 (со старого HDD), оба делимые, окромя кондеров нужно подбирать еще сопротивление, чтоб выдавало 3,3в

vlad123419
Offline
Зарегистрирован: 25.03.2016

Подскажите, для измерения высоты от земли , какой датчик подойдет, я смотрел BMP180 и BMP280, пишут что 280 точнее, т.е. высоту мы будем получать из давления, это физика, там все легко, у меня просто выбор между 180 и 280, что посоветуете?

jeka_tm
jeka_tm аватар
Offline
Зарегистрирован: 19.05.2013

vlad123419 пишет:

Подскажите, для измерения высоты от земли , какой датчик подойдет, я смотрел BMP180 и BMP280, пишут что 280 точнее, т.е. высоту мы будем получать из давления, это физика, там все легко, у меня просто выбор между 180 и 280, что посоветуете?

тебе стоит с этими вопросами на форум по квадрокоптерам

vlad123419
Offline
Зарегистрирован: 25.03.2016

Ну а ты что подскажешь?

jeka_tm
jeka_tm аватар
Offline
Зарегистрирован: 19.05.2013

бери конечно что точнее))

vlad123419
Offline
Зарегистрирован: 25.03.2016

Но ты про них толком не знаешь?

Там разница в точности один паскаль, я думаю это не так важно?

jeka_tm
jeka_tm аватар
Offline
Зарегистрирован: 19.05.2013

нет. поэтому и писал про специализированный форум

vlad123419
Offline
Зарегистрирован: 25.03.2016

ОК, спасибо!

vlad123419
Offline
Зарегистрирован: 25.03.2016

https://www.youtube.com/watch?v=DMVPPe9aCe4

Вот это первое испытание, извиняете за голос в кадре))

Тут катер без триммирования и его клонило в правую сторону, теперь эта проблема исчезла, спасибо всем за помощь!

jeka_tm
jeka_tm аватар
Offline
Зарегистрирован: 19.05.2013

крассавчик

стоит поиграться с пропеллером, напряжение может поднять до 3S? он может и быстрее))

vlad123419
Offline
Зарегистрирован: 25.03.2016

Да, спасибо, буду со временем дорабатывать

vlad123419
Offline
Зарегистрирован: 25.03.2016

Пришел 3S аккамулятор сегодня...

Совпадение, не думаю...

vlad123419
Offline
Зарегистрирован: 25.03.2016

Короче пришёл сегодня 3S, перепаял разъём, зарядил и пошёл на пруд... И тут как она полетела... Сначала разгоняется тяжеловато, но потом когда набрала скорость и достаточный импульс, то просто такой столб воды поднимает, что офигел, но это просто по сравнению с 2 s... Лодка просто летает, не ожидал такого...

Из косяков это то, что она стала набирать воды и довольно многовато, но это как я понял попадает из отверстия, где ходит серва, где проволока, так что буду думать как его загерметизировать, и ещё один косяк в том, что в одну сторону поворачивает лучше, чем в другую, это если руль ровно поставить, то его в правую сторону уводит, я если триммировать в левую, то начинает плохо налево поворачивать... Что подскажешь?

Заранее спасибо!

vlad123419
Offline
Зарегистрирован: 25.03.2016

Аууууууууу, jeka_tm, ты тут?

Я исправил попадание воды, теперь осталось повороты, что скажешь?

jeka_tm
jeka_tm аватар
Offline
Зарегистрирован: 19.05.2013

так и будет изза того что винт в одну сторону крутит. у тебя руль магазинный?

давай новое видео

vlad123419
Offline
Зарегистрирован: 25.03.2016

https://youtu.be/BK8zcydelGU

 

https://www.youtube.com/watch?v=lA3RWXAtapo&feature=youtu.be

 

Руль магазинный, но он маловат, а как исправить повороты?

jeka_tm
jeka_tm аватар
Offline
Зарегистрирован: 19.05.2013

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

засунь катер в таз с водой и покажи насколько руль заходит в воду. может ты слишком высоко его установил. фото как можно ближе к краю воды чтобы было видно

раз мотор слабоват можно стоит два поставить раз у тебя все равно остались от квадрика

vlad123419
Offline
Зарегистрирован: 25.03.2016

Хорошо, фото с тазиком завтра скину, руль заходит в воду на 3/4, не думаю что высоковато, мотор 1, я его заказывал один, а для квадрокоптера детали только на днях заказал, так что мотор один...
А кстати, что такое глис?

Да, согласен, с положением аккумулятора надо разобраться

jeka_tm
jeka_tm аватар
Offline
Зарегистрирован: 19.05.2013

глис гугли, чтобы точно понял

ты кажется писал что мотор уже был. если покупал новый чего сразу для катера не купил))

vlad123419
Offline
Зарегистрирован: 25.03.2016

Купил такой мотор по незнанию

vlad123419
Offline
Зарегистрирован: 25.03.2016

Первое фото это без аккумуляторов, а второе с аккумуляторами...

И ты правильно сказал, что нос легковат, надо менять или расположение аккумулятора или добавлять груз

И вот еще нюанс, если регуль убрать подальше, то он там сильно греется, а если положить возле кулера, то получается сильный изгиб в проводах...

 

Да, и кстати, на видео, которое я тебе скидывал, там было другое расположение, без кармана, где лежит основной аккумулятор, и с этим карманом катер стал плавать еще медленее, прям как на 2S

jeka_tm
jeka_tm аватар
Offline
Зарегистрирован: 19.05.2013

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

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

вид сзади. зеленое это твой руль, синее это пластина

vlad123419
Offline
Зарегистрирован: 25.03.2016

ОК, но винт не обрезал

jeka_tm
jeka_tm аватар
Offline
Зарегистрирован: 19.05.2013

vlad123419 пишет:

ОК, но винт не обрезал

значит на фото так получился. но попробовать стоит уменьшить винт, но лучше купи гайку и напаяй на нее металл. при меньшей площади винта, или меньшем шаге мотору будет значительно проще и должен быстрее плыть

попробуй дополнительный руль. и аккумуляторы перенеси вперед, мотору и так тяжело, не прибавляй наверно вес

vlad123419
Offline
Зарегистрирован: 25.03.2016

Ок, спасибо, сегодня постараюсь попробовать на пруду, с меня видео, и кстати, винт режется обычным канцелярским ножом