I’ve just connected a Benewake TF-Mini-I CAN LIDAR to my Zealot H743. I know this port works because I was running an airspeed sensor on it yesterday. I set
CAN_P2_DRIVER=1 (its connected to CAN2)
RNGFND1_TYPE = 24
The docs say
The RNGFNDx_ADDR ArduPilot parameter must be set above 0 and be equal to the number set on the DroneCAN adapter node.
Does anyone know what RNGFND1_ADDR should be set to for the Benewake TF-Mini-I. I tried setting it to 1 because for the UART option it says the slave ID is 1 in the manual, but it doesn’t seem to say anything about the CAN address required.
Also, CAN_P2_BITRATE is defaulting to 1000000, while the docs say that the default baud rate is 250k, I tried changing CAN_P2_BITRATE to 250000 but it didn’t seem to make a difference.
Oh the device seems to be working - when I first power up the FC, I see the red light from the lidar for a few seconds (if I look directly in it - bad idea?), but it stops as soon as the FC comes up.
OK, I received the Sensors and I did the following:
First they are too bulky for my taste, so I removed them from their IP67 type enclosures, and as you can see on the pictures, it is made of a standard TF-Mini I2c and a STM based Can Node board.
I used thes small jst type connectors and the leftover cables of the standard TF-Mini so I can connect to a JST-GH type distribution board
Injected 12 volts on the distribution board
-Connected to Orange cube making sure we disconnect the VCC on the cable
Set parameters of CAN to 250000 bps and use the CAN Protocol to 11 (Benewake)
Next, I modified a cable to connect TX-RX (instead of CANH-CANL) and plugged in the distribution board, removed the CAN connector and connected a FTDI USB to Serial using a DuPont to JST-GH connector and again making sure we dont connect the VCC
Then using REALTERM, set speed at 115200 bps and send the hex sequence to change one of the sensors to address 4.
NOTE: RealTerm need 0x added to the numbers in order to send hex type, so the resulting sequence is like this:
Conclusion: I still prefer the TFMini-I2C & MATEK Cannode L431 at is is standard a DRONECAN at 1000000 bps configuration making the other devices compatible on the same bus. With the TF-Mini-I you have to dedicate a CAN bus to this family of sensor making the integration less attractive.
At the moment, I dont see advantage to install IP67 type of sensors with a dedicated CAN bus and a specific voltage on a small UAV.
Can you please hit the solution button ? as it might be useful for other users as well.
thanks, it is a GD32, not a STM32. That has 128k flash, so this could likely run AP_Periph, but we’d first have to add support for GD32F103. That will be close to (but not identical to) STM32F103.
Sorry to summon this thread back, I’m looking for a cheap sensor for terrain following at around 2m height, could this affordable sensor be adequate? I’m afraid to feed to many outliers into the loop …
Any recommendation for this task? (Cheap, small, reliable for~2m height outdoors, 8m/s)