ROS Resources: Documentation | Support | Discussion Forum | Index | Service Status | ros @ Robotics Stack Exchange
Ask Your Question
0

MCU board for Micro-Ros to make 6 DOF arm with stepper motors

asked 2022-07-28 05:52:00 -0500

Usama-Arshad gravatar image

I need to make a 6 DOF Robotic Arm with Stepper motors and encoders. Which MCU board should I choose for it? The board should have more than 34 GPIOs and should work well with Micro-Ros.

edit retag flag offensive close merge delete

2 Answers

Sort by ยป oldest newest most voted
0

answered 2022-08-02 09:29:42 -0500

ChuiV gravatar image

I've been working on a Moveo (mostly 3d printed 5dof robotic arm) build for a while. I've been using the teensy 4.1, microros, and teensyduino with pretty good success. My build has 5 steppers, and a servo. Steppers are driven with some TB6560 drivers, and I'm using as5600 magnetic encoders for joint feedback.

The problem I'm running into is that I haven't been able to use the accel stepper class to be able to move all 5 motors at speeds I'd like to, since I've got to do a bunch of other stuff (ie read encoder values, diagnostics, publish feedback, handle subscriptions, etc) on the teensy. To get around this, I'm going to try using pwm as the pulse for the motor drivers, and modify the pwm frequency. According to the teensy documentation, I've only got 7 timers, so I have to use a different timer for each motor. We'll see how it goes though.

edit flag offensive delete link more

Comments

Your project seems very interesting. I would like to know your progress as it will be good for me. "PWM to motor drivers" seems confusing to me because stepper drivers will require on/off frequency. How will you manage that?

Usama-Arshad gravatar image Usama-Arshad  ( 2022-08-03 12:03:02 -0500 )edit

These stepper drivers require a direction signal, and a "step" signal, the direction is set using a digital output on one of my teensy pins. The step signal just looks for a rising (or falling) edge of that step pin. So since I've got external encoders, I don't care to count every step to measure motor position. PWM will let hardware generate the pulses required by the motor driver. All I need to do is modulate the PWM frequency (not duty cycle) to change how fast the motors go. If I need to stop the motors, I can't set the frequency to 0, but I can do an analogWrite(STEP_PIN, 0) to make it stop.

ChuiV gravatar image ChuiV  ( 2022-08-03 14:35:44 -0500 )edit

I got your point. I will also try this technique.

Usama-Arshad gravatar image Usama-Arshad  ( 2022-08-06 23:36:46 -0500 )edit
0

answered 2022-07-29 00:55:58 -0500

Pablogs gravatar image

I recommend you using STM32 family, they provide tools for selecting the correct MCU for your application. Then this component will ease you the micro-ROS integration: https://github.com/micro-ROS/micro_ro...

edit flag offensive delete link more

Comments

Hi Pablogs Can i use 64 pins Nucleo board which is not present in the micro-ros hardware supported list? Will it work?

Usama-Arshad gravatar image Usama-Arshad  ( 2022-07-29 12:55:59 -0500 )edit

Will NUCLEO-F767ZI board work with Micro-Ros?

Usama-Arshad gravatar image Usama-Arshad  ( 2022-07-30 03:53:23 -0500 )edit

Will NUCLEO-F767ZI board work with Micro-Ros?

Usama-Arshad gravatar image Usama-Arshad  ( 2022-07-30 03:54:14 -0500 )edit

Question Tools

2 followers

Stats

Asked: 2022-07-28 05:52:00 -0500

Seen: 238 times

Last updated: Aug 02 '22