Feasibility of NRF52840 chip running 6 motors & monitoring the IMU

The project: an Underwater ROV with 4 motors for leveling & 2 motors for thrusting/direction, and onboard IMU to hep with self balancing.

I've done lots of projects with Atmega chips, IMU's, even made a homemade Segway, and now more recently I've worked with the Feather Sense (NRF52840 chipset), and I 'think' this will work, but thought I'd ask in the project guidance section before getting too deep in parts and custom PCBs.
Can the Feather Sense (NRF52840) chip do all this. I think so, but would like some confirmation.

Control 6 motors with PWM (12 PWM pins needed, which it has)
&
Monitor the IMU for roll and pitch (I've done this on another project in a MIDI instrument)
&
Use the IMU data in a PID loop to maintain a 'level' position via 4 of the motors
&
Take basic serial commands from a remote MCU tethered via CAT6, that would control movement and direction via thrust from an addition 2 motors.

I think it's not to taxing on the processor to do all this? I am still looking for documentation on whether I can indeed use 12 PWM pins at once, but actually, even though I need 12 PWM pins to control the 6 motor drivers, only a max of 6 would be on at one time, the other 6 creating the low state.
The Serial command will be 9600 baud.

The BLE will not be used on the NRF52840

thanks for any input.
ps. and 1 servo is in the project (a claw)

The MCU can undoubtedly do all that, but whether it can process IMU data and perform PID calculations quickly and accurately enough must be determined by experiment.

The success of such an advanced project will depend quite a bit on your programming skills.

My first step would be to write the sensor fusion code and determine the maximum update frequency and orientation accuracy. The other control functions are much are less processor-intensive.

1 Like

Thanks. I am wondering, is the PWM control for 6 motors very labor intensive on the processor? The AHRS software, which I am currently running in other projects works very well and since this is an underwater craft it will be moving quite slow so the speed of the IMU calculations won’t be a problem. Unless controlling 6 motors is a huge tax on cpu. I’m guessing that PWM does not load it down but I’m not sure about this.

PWM is done with hardware timers and requires little of the processor.

Great! Thanks.

Charlie

This topic was automatically closed 180 days after the last reply. New replies are no longer allowed.