433 МГц модули и их применение

Аватара пользователя
ru0aog
Сообщения: 1000
Зарегистрирован: 30 сен 2021, 05:50
Позывной: ru0aog
Город: Красноярск
Имя: Станислав
Благодарил (а): 132 раза
Поблагодарили: 145 раз

433 МГц модули и их применение

Сообщение ru0aog » 17 июн 2022, 07:03

Так, ладно.
Теперь мне нужно соорудить пульт управления с двумя кнопками и исполнительное устройство, которое будет включать один или другой (или оба вместе) бесколлекторные трёхфазные двигатели постоянного тока :) пока нажата кнопка.
Если помехи от движков не забьют приём...

Движки Пропеллеры

Питаются от 9 штук литий-ионых аккумов от ноутов (батарея 3S3P).

Аватара пользователя
ru0aog
Сообщения: 1000
Зарегистрирован: 30 сен 2021, 05:50
Позывной: ru0aog
Город: Красноярск
Имя: Станислав
Благодарил (а): 132 раза
Поблагодарили: 145 раз

433 МГц модули и их применение

Сообщение ru0aog » 20 июн 2022, 13:42

Попробую как-то так.
Передатчик:
TX_03.jpg
Spoiler

Код: Выделить всё

    boolean RT;
    boolean LT;

void setup(){
    Serial.begin(1200,SERIAL_8N1);
    //скорости 110, 150, 300, 600, 1200, 2400, 4800, 9600
    pinMode(13, OUTPUT);
    pinMode(9,  INPUT);
    pinMode(10, INPUT);
    RT = LOW;
    LT = LOW;
}

void loop(){
    Serial.write(0xFF);
    Serial.write(0xFF);
  RT = digitalRead(9);
  LT = digitalRead(10);
    Serial.write(0xFF);
  if (RT==HIGH && LT==LOW) {
    Serial.write(0x0E);
    Serial.write(0x22);
    Serial.write(11);
    Serial.write(11);
    Serial.write(11);
    Serial.write(0x0A); //LF
    Serial.write(0x0D); //CR
    Serial.flush();
    return;}
  if (RT==LOW && LT==HIGH) {
    Serial.write(0x0E);
    Serial.write(0x22);
    Serial.write(22);
    Serial.write(22);
    Serial.write(33);
    Serial.write(0x0A); //LF
    Serial.write(0x0D); //CR
    Serial.flush();
    return;}
  if (RT==HIGH && LT==HIGH) {
    Serial.write(0x0E);
    Serial.write(0x22);
    Serial.write(33);
    Serial.write(33);
    Serial.write(33);
    Serial.write(0x0A); //LF
    Serial.write(0x0D); //CR
    Serial.flush();
    return;}
}
Приёмник:
RX_03.jpg


Аватара пользователя
ru0aog
Сообщения: 1000
Зарегистрирован: 30 сен 2021, 05:50
Позывной: ru0aog
Город: Красноярск
Имя: Станислав
Благодарил (а): 132 раза
Поблагодарили: 145 раз

433 МГц модули и их применение

Сообщение ru0aog » 04 дек 2022, 19:08

Опять возвращаюсь к теме радиоуправления.
Схема передатчика:
IMG_20221204_130439.jpg
IMG_20221204_130505.jpg
TX_07_2.rar
(1.01 КБ) 120 скачиваний
Приёмника:
IMG_20221204_132159.jpg
IMG_20221204_132204.jpg
RX_07_3.rar
(1.24 КБ) 108 скачиваний
Использовал библиотеку Гайвера
Для контроля добавил светодиоды как на передающей, так и на приёмной стороне.

Задумка:
1. два независимых канала управления двигателями вида "включено, пока кнопка нажата",
то есть четыре состояния "выключено, левый, правый, оба".
2. баланс тяги между двигателями.

Первый пункт более-менее получился.
На реализацию второго пока времени не хватает.

Но уже проведены первые ходовые испытания. Табуретка аэроглиссера с двумя моторами 930KV и 10" винтами бодро едет по ламинату :)

Аватара пользователя
ru0aog
Сообщения: 1000
Зарегистрирован: 30 сен 2021, 05:50
Позывной: ru0aog
Город: Красноярск
Имя: Станислав
Благодарил (а): 132 раза
Поблагодарили: 145 раз

433 МГц модули и их применение

Сообщение ru0aog » 05 дек 2022, 07:03

Задумки были следующие.

Передатчик:
- Хотел повесить кнопки передатчика на прерывания (D2, D3 это INT0, INT1), но потом отложил эту затею, т.к. если прерывание произойдёт во время передачи, то связь нарушится и данные потеряются.
Вернусь к этому решению позже, установив запрет прерываний на период отправки данных.
В итоге возник некоторый лаг между нажатием и исполнением. Но терпимый, порядка 0,1 сек.
- на аналоговый вход А1 планировалось повесить переменный резистор, которым производить подстройку баланса тяги. Пока не реализовано.
- на линиях D8, D9 индикаторные светодиоды для контроля принятых от кнопок команд.
- модуль FS1000A питается от стабилизированных +5В (хотя мог бы работать и от +12), передаёт на частоте ~434 МГц. Возможно добавлю усилитель.
Антенной является кусок провода, длиной 175 мм (четверть волны). На расстоянии 0,5 м сигнал, принимаемый анализатором на антенну от портативки (Wouxun KG-UVD1P), показал уровень -30 dBm.
- для индикации наличия напряжения питания добавил красный светодиод по линии батареи. Нечто подобное есть на плате ардуины, но в полевых условиях я должен знать, поступает ли питание.
- также добавил по питанию защитный диод. Он всего на 1 ампер и предохранителей нет, но при неверном подключении пару секунд продержится. Что (совместно с индикатором питания) позволит распознать ошибочную полярность.
Плюс разъёмы питания, конечно.
- для индикации работы ардуины встроенный светодиод на линии D13 мигает с частотой 2 Гц от системного таймера. Показывает, что мозги не зависли.

Приёмник:
- напрямую линии от батареи заведены только на силовые выводы контроллеров (даже минус оторван от земли).
- питание +5В для ардуины снимается с одного из контроллеров.
- питание приёмника +3,3В снимается с ардуины.
- особенность работы библиотеки Гайвера в том, что сигнал от приёмника должен приходить на вывод аппаратного прерывания (в данном случае - на D3 = INT1).
- контроль радиолинии и корректности расшифровки - при помощи светодиодов на линиях D10, D11.
- антенна такая же, как на передатчике - провод 175 мм.
- для индикации работы ардуины встроенный светодиод на линии D13 мигает с частотой 2 Гц от системного таймера. Показывает, что мозги не зависли.

Что получилось?
Если железо не доставило особых хлопот, то с программной частью пришлось повозиться (и этот этап далеко не окончен).
Пробовал я другие библиотеки, и всегда с ними были какие-то проблемы. С этой они тоже есть, но уже меньше и в основном упираются в моё незнание языка :)
Весьма рекомендую прочитать README.md там весьма много полезного. К сожалению, я сам только сейчас это увидел...

maksland
Сообщения: 126
Зарегистрирован: 26 янв 2022, 10:46
Город: Одесское
Имя: Евгений
Благодарил (а): 46 раз
Поблагодарили: 21 раз

433 МГц модули и их применение

Сообщение maksland » 13 дек 2022, 18:36

https://community.alexgyver.ru/threads/ ... 173/page-5 может что пригодится из исходников

Ответить

Вернуться в «Микроконтроллеры и программирование»