4 ms·
If you want a 320 MHz GPIO focused Arduino board for $60, this is great. Might be great for open-loop or encoder based motion control. This could probably be a
by brianolson 8y ago
If you want a 320 MHz GPIO focused Arduino board for $60, this is great. Might be great for open-loop or encoder based motion control. This could probably be a good 3d printer control board.
- fipple 8y agoWhat are open loop and encoder based motion control, and why is a regular Teensy etc. Insufficient for it?
- IshKebab 8y agoJust driving stepper motors and reading encoders (and a bit of maths to connect them). Teensy etc. would probably be too slow to do the step generation and encoder reading in software. But to be honest you never want to do that in software (except on weird chips like XMOS ones). You'll almost always want to do things like that using hardware timers and counters. The maths will be done in software but a Teensy would be fine for it.
- fipple 8y agoThanks
- TaylorAlexander 8y agoMotion control is control of actuators, like motors for example. Open loop means driving the motor with no feedback source. Closed loop, alternatively, means using a feedback source like an encoder or other sensors to measure the position or velocity of the motor, and then using software that monitors that sensor and adjusts the control parameters to ensure that the desired position, velocity, and/or acceleration is achieved. This is referred to as “closing the loop” because you have the controller going to the motor as one half of the loop, and the encoder going back to the controller (and the control system code) as the other half of the loop. Precise motion control often uses control loops (the loop of code that checks the sensor and adjusts the output) that run at 20 kilohertz, 40 kilohertz, or higher. Since the control loop is a bunch of lines of code, this means you want to execute a bunch of lines of code repeatedly at this high rate of speed. For example on an 8Mhz micro controller clock running a 40 kilohertz loop, there’s only enough time to run 200 instructions per loop! (8Mhz/40kHz=200) 200 instructions isn’t a lot, so it would be tough to run a complex motion control loop in that space. And if you want to run multiple control loops to control multiple motors - forget it. The teensy 32 bit micro controllers are a lot faster - I see a 72mhz and 180mhz option. Either of those would be solid for motion control. However if you want to control multiple motors and possibly perform some other functions, such as computing motion commands from G code in the case of a 3D printer control board, you need all the speed you can get. In that case, these new boards offer plenty of clock speed to play with!
- fipple 8y agoThanks
- duskwuff 8y agoIf that's all you're after, I'd direct you to the STM32 NUCLEO-H743ZI. 400 MHz ARM Cortex-M7, 1 MB SRAM / 2 MB flash, and an absurd variety of peripherals, on a board with an Arduino-compatible pinout -- for $23. https://www.st.com/en/evaluation-tools/nucleo-h743zi.html https://www.st.com/en/evaluation-tools/nucleo-h743zi.html