RemoteControl

From Elcano Project Wiki
Revision as of 19:10, 12 June 2026 by Elcanoadmin (talk | contribs) (RFM69HCW and SAMD21)
Jump to navigation Jump to search

Current System

5- and 6-channel RC Controller

The system has been run from either a Hitec Optics 5 2.4 five channel unit or a Spektrum DX6i six channel controller. The Low level circuit board has a3x7 pin socket in the corner to accommodate the receiver. Each channel needs to be on its own interrupt. Since the Arduino Mega has only 6 interrupts and the Arduino Micro has 5, this can be a problem, especially since we want another one or two interrupts to handle the speed. Low level code may still have software to handle these interrupts. The RC controllers send a 1.0 to 2.0 ms pulse on each channel at 30 Hz. Some controllers send these signals in turn. We have built a six-input OR circuit to combine all signals, which would allow processing with just one interrupt. Unfortunately, there is no good way to predict whether the RC unit will send pulses in turn or all at once. In fact, the behavior seems to be determined by the receive unit, not the transmitter. Thus a separate interrupt is required for each channel used. Interrupt processing consists of interrupting on a rising edge, then switching to a falling edge interrupt and logging the pulse width. A width of 1.0 ms typically means one extreme, 1.5 ms is centered, and 2.0 ms is the other extreme., This system can get confusing about which channel is assigned which behavior, and the two controllers assign their channels differently. To go beyond the Arduino interrupt limit, the V2 Low Level board has all RC inputs assigned to Analog Input 8 to 13 of the Arduino. These pins are used digitally. Pins A8-A15 on Arduino Mega, all go to the same port. Thus we can use the pin change interrupt, which is activated whenever any bit of the 8-bit port changes.

Summer 2024 RC controllers

DumboRC X6FG 6 channel RC controller2.4 GHz 4.8-10V

Pulse width 1000-2000 milliseconds

  • CH1 Steering
  • CH2 Throttle
  • CH3 2 way switch
  • CH4 3 way slider switch
  • CH5 Rotary switch
  • CH6 Rotary switch

Amazon

DUMBORC.jpg

RFM69HCW

The RFM69HCW (915MHz) transceiver offers several benefits over the 433MHz ASK radios:

  • greater range with higher transmit power
  • much higher raw bitrate
  • half-duplex communication and received signal strength indicator (RSSI)
  • compatibility with higher-performance 3.3V ARM boards like SAMD21

Using the RF69 RadioHead library, the RC system has expanded capabilities from the RH ASK implementation. Data is stored on both ends as a C struct, which is broken down and transmitted as bytes by the RF69 library. After successful transmission, the data is accessible directly from the struct and variables larger than one byte need no additional processing before use. After successfully receiving a packet from the remote control, the receiver sends a packet back with an RSSI value. The remote control uses this reply message to indicate radio communication is active.

Transmitted data to vehicle

  • unsigned 12-bit throttle (0-4095)
  • unsigned 12-bit turn
  • boolean emergency stop
  • boolean autonomous mode
  • signed RSSI of last received packet (from vehicle)

Received data from vehicle

  • signed RSSI of last received packet (from remote)



NEXT . SensorsPage