Go Down

Topic: Maken RC voor een module onder drone (Read 517 times) previous topic - next topic

TheDroner

Hi,

Ik ben nét nieuw op dit forum, wil me wat meer focussen op het gebruik van arduino.

Voor een opdracht ben ik bezig met een module waar een motortje, quickrelease en cameraatje op zullen komen welke op afstand bestuurbaar moeten zijn. Dit is een eerste post waar ik opzoek ben naar wat algemene info zodat ik wat specifieker kan doorzoeken naar de juiste dingen.

Ik weet dat DJI systemen heeft waar je een master-slave connectie kunt maken met 2 controllers, waarbij één de drone bestuurt en de ander de camera. Graag zou ik ongeveer zo'n systeem willen maken.

Hierbij komen dan een aantal vragen bij me opborrelen:
- Op welke manier kan ik een verbinding maken tot +- 500m?
- Is het mogelijk om beeldmateriaal ook over zo'n afstand te versturen?
- Wat voor componenten zou ik hiervoor nodig moeten hebben?
- Kan ik de Arduino voeden vanuit het moederbord van de drone?
- Is het niet makkelijker om een DJI controller te openen en te tweaken?

Ik hoor graag van jullie!

MAS3

Hoi TheDroner, welkom !

Ik raad je aan om je even door de introductie thread (klik !) te worstelen.
Die laat je een beetje kennismaken met wat van de forumleden hier in het Nederlandstalige gedeelte, maar geeft je ook wat algemene tips die heel handig zijn voor beginners, dus ook voor jou.

Als je naar DJI gaat kijken, dan stel je wel meteen heel hoge verwachtingen aan jezelf.
Want dat is een topmerk en jij moet nog beginnen.
Maar ja, je moet natuurlijk wel aspiraties hebben..
Aangezien je toch al die kant op aan het kijken was, kun je voor je vragen 1 tot en met 4 ook eens goed naar de DJI oplossingen kijken zou ik zeggen.
Maar voor vraag 5, waar je dat dus wil doen, raad ik je aan daar heel voorzichtig mee te zijn.
Want topmerk betekent ook top prijs, dus als je dat spul sloopt om er wat meer over te weten te komen, kan dat wel eens een beetje zuur worden.
De kans dat je erg veel te weten gaat komen als je de behuizing van een DJI remote gaat slopen, acht ik niet ontzettend groot.
Want die gasten gaan jou het natuurlijk niet al te gemakkelijk maken om er met hun techniek vandoor te gaan (verrassing; jij bent vast niet de eerste met dat idee).
Maar goed, als je toch een remote over hebt van bijvoorbeeld een fataal gecrasht apparaat, wie let je dan om de nieuwsgierigheid eens de vrije loop te geven.
Have a look at "blink without delay".
Did you connect the grounds ?
Je kunt hier ook in het Nederlands terecht: http://arduino.cc/forum/index.php/board,77.0.html

TheDroner

Als je naar DJI gaat kijken, dan stel je wel meteen heel hoge verwachtingen aan jezelf.
Want dat is een topmerk en jij moet nog beginnen.
Begrijpelijk, ik denk dat ik het een beetje knullig verwoord heb.
Mijn doel is niet om te tippen aan DJI. Ik heb niet eens een beveiligingsprotocol nodig.

Mijn idee is om een zeer gemakkelijke zender/ontvanger combinatie te maken waarmee ik op afstand een motortje kan laten draaien, een servo in werking zetten etc. Kleine acties gaat het om dus.
De Arduino kan ik voeden vanuit het moederbord van de drone.

Er komt dus een drone welke op de normale manier bestuurd word, en een losse zender/ontvanger combinatie om een aantal acties op de module (welke onder de drone hangt) aan te sturen op afstand.

Is zo iets moeilijk te maken, en wat zijn de mogelijkheden in het bereik tussen zender/ontvanger?
Ik wil +- 200m overbruggen, dus bluetooth en WiFi vallen denk ik al af.


akatchi

Kijk eens naar de NRF24L01 modules, zijn erg goedkope en makkelijke modules, als je er eentje met een antenne gebruikt kan die wel tot 800m+

nicoverduin

Hou dan wel rekening mee dat je een ander kanaal gebruikt dan waar de drone op werkt als beide op2.4ghz zitten. Anders ben je jezelf de hele tijd aan het wegdrukken
Met vriendelijke groet / kindest regards
Nico Verduin
www.verelec.nl
Do not PM me for personal consultancy unless you are willing to pay for it.

TheDroner

Kijk eens naar de NRF24L01 modules, zijn erg goedkope en makkelijke modules, als je er eentje met een antenne gebruikt kan die wel tot 800m+
Thanks, dat is zéker erg goede informatie! Denk dat dit de module wordt voor de connectie.

Hou dan wel rekening mee dat je een ander kanaal gebruikt dan waar de drone op werkt als beide op2.4ghz zitten. Anders ben je jezelf de hele tijd aan het wegdrukken
Ook bedankt voor deze info. Naar mijn weten is DJI zo slim geweest om automatisch het beste kanaal te zoeken wanneer er gevlogen wordt. Kan ik dan voor de module onder de drone 1 kanaal pakken zodat de DJI deze niet pakt, of denk ik dan te simpel?

nicoverduin

De lage kanalen 6-13 worden gebruikt voor de wifi thuis. Anderen pakken vaak in de 40 serie.... en ik zou zeker niet vlak bij deze zitten omdat descheiding van kanalen niet altijd even best is bij de goedkopere modules
Met vriendelijke groet / kindest regards
Nico Verduin
www.verelec.nl
Do not PM me for personal consultancy unless you are willing to pay for it.

TheDroner

Ik ben eens begonnen met het draaien van een testje met 433GHz receiver+transmitter.
Heb middels RadioHead een code op beide gezet maar kom er maar niet achter waarom ik het gevraagde bericht 'Hello !' maar niet ontvang op de receiver? Iemand die me hier mee zou kunnen helpen?

Arduino Uno #1 Transmitter:
VIN --> VIN
DO --> Dig pin 4
GND --> GND


#include <RH_ASK.h>
#include <SPI.h> // Not actually used but needed to compile

RH_ASK driver;
// RH_ASK driver(2000, 2, 4, 5); // ESP8266: do not use pin 11

void setup()
{
    Serial.begin(9600);     // Debugging only
    if (!driver.init())
         Serial.println("init failed");
}

void loop()
{
    const char *msg = "hello";

    driver.send((uint8_t *)msg, strlen(msg));
    driver.waitPacketSent();
    delay(200);
}



Arduino Uno #2 Receiver:
+ --> 5V
DAT --> Dig pin 4
-    --> GND

#include <RH_ASK.h>
#include <SPI.h> // Not actualy used but needed to compile

RH_ASK driver;
// RH_ASK driver(2000, 2, 4, 5); // ESP8266: do not use pin 11

void setup()
{
    Serial.begin(9600);   // Debugging only
    if (!driver.init())
         Serial.println("init failed");
}

void loop()
{
    uint8_t buf[RH_ASK_MAX_MESSAGE_LEN];
    uint8_t buflen = sizeof(buf);

    if (driver.recv(buf, &buflen)) // Non-blocking
    {
   int i;

   // Message with a good checksum received, dump it.
   driver.printBuffer("Got:", buf, buflen);
    }
}

nicoverduin

#8
Sep 21, 2017, 11:39 am Last Edit: Sep 21, 2017, 11:39 am by nicoverduin
Ik ken die lib niet, maar wat mij opvalt in dit stukje code :
Code: [Select]
RH_ASK driver;
// RH_ASK driver(2000, 2, 4, 5); // ESP8266: do not use pin 11

is dat jij geen parameters aan de driver doorgeeft terwijl in de commentaar regel dat wel gebeurt. Dat zou kunnen betekenen dat hij mogelijk niet weet op welke pinnen alles is aangesloten en zal de zender cq ontvanger weinig doen.
Een beetje library heeft tegenwoordig een WiKi of een uitleg van hoe de library te gebruiken. Zo niet zou je kunnen afwegen om een andere lib te zoeken of zelf in de library code te kijken.
Met vriendelijke groet / kindest regards
Nico Verduin
www.verelec.nl
Do not PM me for personal consultancy unless you are willing to pay for it.

TheDroner

Thanks, ik ben er uit gekomen! Inmiddels een 433MHz en 2.4GHz transmitter/receiver gestest. Werkte allemaal super. Bedankt voor jullie hulp allemaal.

Go Up