@tom Thank you. It works well
Best posts made by dlee
-
RE: Sentinel drone randomly reboots
Latest posts made by dlee
-
RE: Seeking Assistance with Motor Heating and Burnt Smell Issue on New Drone
@Alex-Kushleyev Thanks a lot. Your answer was very helpful. Now, I can fly my drone stably.
-
Question About Installing Capacitors on ESCs for Testing
Hello, I have a question regarding ESCs. I'm wondering if it's okay to install capacitors like in this picture. I'm calibrating and testing the ESCs, but I'm experiencing motor heating issues and trying to troubleshoot. Typically, capacitors are installed on regular FPV drones, but have ModalAI tested with capacitors like this for testing? Is it okay to install them like this?
-
Seeking Assistance with Motor Heating and Burnt Smell Issue on New Drone
I've built a new drone and encountered some issues. Let me describe the situation. When arming for 10 seconds, three problems occurred:
- Heating and a burnt smell occurred from the Top Left and Bottom Right motors.
- A burnt smell came from the Top Right motor.
- Smoke and a burnt smell emerged from the Bottom Left motor.
These symptoms occurred sequentially, not simultaneously. I've set the PID to Default using QGC, checked the motor rotation direction, and performed sensor calibration. During ESC calibration, I raised the power to 70, reaching 24000 rpm, without any burnt smell. However, currently, severe heating occurs just from arming. Could you please advise on the possible issue?
Here's a description of the drone I used:
Components: Voxl2 (SDK 1.1.3), HiRES, Tracking, ToF (previous version), ESC m0117-01, power module. Motors: 2104 3000kv, powered by a 4S 2800 lipo battery. I calibrated the ESC and uploaded parameters using voxl-esc-tools (gitlab). Firmware version is 39. I've set the minimum RPM to 5000 and the maximum RPM to 30000.Below is a table of the ESC calibration results and the uploaded ESC parameters. If there are any missing or incorrect parts in the parameters below or any modifications needed, please let me know. I used the file from this link as a base and only modified the "num_cycles_per_rev", "min_rpm", "max_rpm", and "pwm_vs_rpm_curve_a0-2" parameters.
Calibration Result
# id 0 10-70 INFO: Test took 31.03 seconds Quadratic fit: motor_voltage = a2*rpm_desired^2 + a1*rpm_desired + a0 a0 = 497.659745401 a1 = 0.192005842422 a2 = 7.07997743455e-06 ESC Params (after scaling): pwm_vs_rpm_curve_a0 = 497.659745401 pwm_vs_rpm_curve_a1 = 0.192005842422 pwm_vs_rpm_curve_a2 = 7.07997743455e-06 # id 1 10-70 Quadratic fit: motor_voltage = a2*rpm_desired^2 + a1*rpm_desired + a0 a0 = 548.774293191 a1 = 0.190364817645 a2 = 7.20688897007e-06 ESC Params (after scaling): pwm_vs_rpm_curve_a0 = 548.774293191 pwm_vs_rpm_curve_a1 = 0.190364817645 pwm_vs_rpm_curve_a2 = 7.20688897007e-06 # id 2 10-70 Quadratic fit: motor_voltage = a2*rpm_desired^2 + a1*rpm_desired + a0 a0 = 675.453322502 a1 = 0.155364517851 a2 = 7.82726105851e-06 ESC Params (after scaling): pwm_vs_rpm_curve_a0 = 675.453322502 pwm_vs_rpm_curve_a1 = 0.155364517851 pwm_vs_rpm_curve_a2 = 7.82726105851e-06 # id 3 10-70 Quadratic fit: motor_voltage = a2*rpm_desired^2 + a1*rpm_desired + a0 a0 = 546.435106547 a1 = 0.186792306929 a2 = 7.24528267391e-06 ESC Params (after scaling): pwm_vs_rpm_curve_a0 = 546.435106547 pwm_vs_rpm_curve_a1 = 0.186792306929 pwm_vs_rpm_curve_a2 = 7.24528267391e-06
ESC-params that I used
<EscParameters> <IdParams> <param name="id" value="127"/> <!-- 0-7 .. 127 means use hardware ID pins to read ID --> <param name="dir" value="2"/> <!-- 0=fwd, 1=rev, 2=fwd id-based, 3=rev id-based --> </IdParams> <UartParams> <param name="protocol_version" value="2"/> <!-- reserved for future use --> <param name="input_mode" value="0"/> <!-- reserved for future use --> <param name="baud_rate" value="250000"/> <!-- communication bit rate --> <param name="char_timeout_ns" value="0"/> <!-- not used --> <param name="cmd_timeout_ns" value="100000000"/> <!-- timeout for incoming commands before ESC will stop the motor --> </UartParams> <TuneParams> <param name="pwm_frequency" value="48000"/> <!-- switching freqency of PWM signal going to motors. 24Khz and 48Khz are only options for now --> <param name="vbat_nominal_mv" value="14800"/> <!-- used for sanity checking and limiting of voltage-dependent funcions --> <param name="num_cycles_per_rev" value="7"/> <!-- number of pole pairs in the motor. used for converting electrical frequency to mechanical rpm --> <param name="min_rpm" value="5300"/> <!-- minimum RPM that will be attempted, otherwise capped --> <param name="max_rpm" value="30000"/> <!-- maximum RPM that will be attempted, otherwise capped --> <param name="min_pwm" value="50"/> <!-- cap for minimum power to be ever applied. max is 999 --> <param name="max_pwm" value="999"/> <!-- cap for maximum power to be ever applied. max is 999 --> <param name="pwm_vs_rpm_curve_a0" value="567.0806169102507"/> <!-- this is actually motor_voltage vs rpm curve.. using legacy naming --> <param name="pwm_vs_rpm_curve_a1" value="0.18113187121175"/> <!-- Emax RS1306 3300KV with tri-blade 3x3x3 --> <param name="pwm_vs_rpm_curve_a2" value="7.3398525342600135e-06"/> <param name="kp" value="130"/> <!-- RPM controller proportional gain --> <param name="ki" value="30"/> <!-- RPM controller proportional gain --> <param name="max_kpe" value="300"/> <!-- maximum proportional erorr term (max is 999) --> <param name="max_kie" value="100"/> <!-- maximum integral error term (max is 999) --> <param name="max_rpm_delta" value="1200"/> <!-- cap for maximum rpm error used in RPM controller --> <param name="alignment_time_ns" value="0"/> <param name="spinup_power" value="50"/> <!-- power used to give the motor initial kick (out of 999) --> <param name="latch_power" value="60"/> <!-- power used during latching stage of spin-up (out of 999) --> <param name="min_num_cross_for_closed_loop" value="50"/> <!-- exit latching mode of fixed power after this number of zero crossings --> <param name="brake_to_stop" value="0"/> <!-- apply brake when stopping motor (or not) --> <param name="stall_timeout_ns" value="20000000"/> <!-- after spin-up, if no zero crossing is not detected for this amount of time, motor is considered stalled --> <param name="require_reset_if_stalled" value="0"/> <!-- require sending an array of zero commands to reset before next spin-up, if motor stalled --> <param name="tone_freqs" value="[200, 215, 225, 250, 0,0,0,0, 0,0,0,0]"/> <!-- 200 is 2000Hz, max 255 --> <param name="tone_durations" value="[10, 10, 10, 10, 0,0,0,0, 0,0,0,0]"/> <!-- duration of each tone in units of 10 milli-seconds. Poor naming!!! --> <param name="tone_powers" value="[100, 100, 100, 100, 0,0,0,0, 0,0,0,0]"/> <!-- max is 255 --> <param name="dt_threshold_ns" value="150000"/> <!-- during start up, ignore inter-commutation times less than this val, probably noise --> <param name="max_dt_ns" value="2500000"/> <!-- min and max values for time between two commutations. these are used as caps --> <param name="min_dt_ns" value="10000"/> <param name="dt_bootstrap_ns" value="2000000"/> <!-- filter bootstrap value for commutation dt during start up --> <param name="spinup_stall_dt_ns" value="6000000"/> <!-- during spin-up, if no zero crossing is not detected for this amount of time, motor is considered stalled --> <param name="spinup_stall_check_ns" value="30000000"/> <!-- time after beginning of spinup to start checking for spinup stall --> <param name="timing_advance" value="0"/> <param name="sense_advance" value="0"/> <param name="demag_timing" value="0"/> <!-- unused --> </TuneParams> </EscParameters>
-
RE: Issue with ros-melodic-cv-bridge and voxl-vision-hub conflict on VOXL2
Thanks a lot, @Zachary-Lowell-0.
I didn't want to use docker images, so I usedvision_opencv
.
Because the melodic branch required OpenCV 3, I built the package at the noetic branch. -
RE: Issue with ros-melodic-cv-bridge and voxl-vision-hub conflict on VOXL2
@tom I am using
1.1.2
latest version. -
Issue with ros-melodic-cv-bridge and voxl-vision-hub conflict on VOXL2
Hello,
I am currently working in a VOXL2 board (Ubuntu 18.04 environment with ROS Melodic). I have been attempting to install ros-melodic-cv-bridge
sudo apt install ros-melodic-cv-bridge
. However, I've encountered a problem where installing cv-bridge leads to the removal of voxl-vision-hub, rendering my camera unusable. Conversely, installing voxl-vision-hub results in the inability to use cv-bridge.I was wondering if anyone has encountered a similar issue or has any suggestions for resolving this conflict between ros-melodic-cv-bridge and voxl-vision-hub. Any guidance or solution would be greatly appreciated.
Thank you!
-
Rotating imx678 hires sensor
Re: Camera orientation parameter
Hello,I'm using voxl2 board with imx678 hires sensor. I read some posts and I can rotate imx214 camera sensor. But I am wondering it is possible to rotate imx678 sensor.
I think I need files (dynamic libraries) to configure camera roatation.Could you have any idea?
-
RE: Device "wlan0" does not exist
@tom I'm using just a voxl2 board with microhard add-on board
-
Device "wlan0" does not exist
Re: Cannot find device "wlan0"
I hit the problem about wifi connection. When I boot up voxl2 board, "wlan0" doesn't exist. Also "eth0" and "usb0" doesn't exist. I did
qdl
and re-installvoxl-suite
. How to fix this problem?