Are more powerful motors possible with Cyberbrick? Image with a question

Hi, a model shown on the Maker’s Supply account features a much more powerful motor. Does anyone here have information on how to control it, or details regarding support and implementation for such high-performance motors with Cyberbrick?

Where exactly did this picture come from?

That motor isn’t connected to the Cyberbrick either. The cyberbrick is only connected to a servo in that picture, which looks to be the steering servo under the battery.

There are ways you can connect a more powerful motor. The Cyberbrick is rated for 3.7v to 12.6v, so you should be able to dump a little more juice into it, and connect a motor that can handle it. I’m sure you can also make a little circuit that takes the output from the servo or motor port on the cyberbrick, and translate that into a much bigger motor.

2 Likes

https://makerworld.com/en/models/1994977-li-battery-case#profileId-2147297

1 Like

Update of earlier message, I’ve managed to source a motor and gearbox of a type that matches the photo well enough for me to identify the type of motor, and believe the gearbox is real. They are still not connected to the cyberbrick though.

If the cyberbrick outputs a standard servo signal there are electronic speed controllers that take servo inputs and then control high power motors in drones and R/C cars. Any hobby shop will have them.

I’ve come across that image a few times and just had to ask around.

Yeah, that’s what I thought too—something that controls the motor via the receiver. Are there any concrete approaches to be found anywhere, perhaps in connection with Cyberbrick?

I don’t have any Cyberbrick experience but others here have lots. Maybe they can help?

Also found this: Standard Remote - and controlling speed

And this airboat has that ESC kind of motor control: RC airboat - Free 3D Print Model - MakerWorld

The comments on the airboat are a gold mine of information. Apparently you need a particular feature that not all ESCs have, but there are cable examples and other good information.

I think it puts out pretty standard signals across the board. I’ve been very interested in experimenting a little, but haven’t had the time yet. I did some test with a device that’ll convert the servos to motors, but it also only output 5v, so just using a servo is better.

I feel like the dumbest way one could do it is feed the output of the of the Cyberbrick into an Arduino or something that actually did the controlling. You could practically hook anything up at that point.

One can buy the leads with the SH connectors anywhere and connect up all sorts of stuff.

1 Like

The hobby ESC doo-dads do the commutating on brushless motors electronically and just input the 1-2ms pulses and take care of the rest to run the motors. The signalling is standard 5V R/C style (think they accept pretty wide input voltage) but on the motor side voltages and currents can be pretty big. It’s a pretty complex thing because the circuit has to also determine the armature motion to energize the motor windings properly and most efficiently. Kind of amazing what they do. Obviously that’s not the kind of code you’d want in the Cyberbrick, either. Hard enough to output a steady pulse.

For low power stuff like signalling servos you’re exactly right. But for the higher power stuff like the motor shown in the photo, it’s just a fact of life you need a controller circuit purpose built for the job. Not sure what chip(s) they use in those, though.

As an aside, servos have their own controllers in them too. There’s a circuit that is constantly comparing the actual servo position to the commanded position and juicing the motor to keep those in agreement. They used to be analog op-amp circuits but think most servos are now digital. Same function, though.

I hope I got to what you meant?

But yeah, at some point of complexity you just switch to a more powerful CPU. But the Cyberbrick has at its core a pretty good chip.

Not entirely, haha. Although I still enjoyed the read.

I didn’t mean an Arduino to control the motor directly, but more so to act as a middle man between the Cyberbrick and some other controller, like an ESC. That’s why I say the dumb way, because essentially the Arduino is just being a middleman, but it would be easy to setup. There’s tons of pre-made programs, information, tutorials, on getting Arduinos to control various things.

I made a wireless window shade opener once using Arduinos, little wireless boards, and a stepper motor. I messed something up with my first go, the stepper motor got hot, and melted the casing.

Does anyone here remember Polysmooth?! I made a DIY Polysher. Mine was larger though! Either way, I used an Arduino and stepper motor for that project too.

I haven’t hooked up any probes to my cyberbricks yet, but I can’t imagine it’d be that difficult to get the output from the cyberbrick into an input on the Arduino.

I’m not that great with electronics. I know enough. Enough to put simple things together, to make “dumb” solutions that work. Hehe.

3 Likes

Servo signals are fairly standardized. 1000µS to 2000µS pulse widths representing 0 to 100% of “travel”.

Model car/boat/aircraft electronic speed controllers accept standard servo signal timing. ESCs can be had for brushed and brushless motors, and power levels from a couple of Amps up to 100s of Amps. The Amps the ESC can handle determines its size. A 5A ESC might fit on a 1cm square board. A >100A ESC will be 5-10x larger.

Motor performance is dictated by a parameter called the Speed Constant, abbreviated “KV”. KV says how fast the motor will turn for 1V of electricity. A 1000KV motor will turn (no load) 1000RPM on 1V. The motor’s torque constant is inversely proportional to the KV. But KT is a function of the current flowing through the motor, not the Amps. A motor with a high KV will run faster for the same voltage, but it will have less torque for the same Amps. A motor with a low KV will run slower for the same voltage, but have more torque for the same Amps.

So when you talk about a motor with more “power”, you have to be specific about whether you want to go faster or you want to pull a heavier load.

Also, motor size is not correlated to KV, you can get the same KV in many different sized motors. Since they all have the same KV, they all have the same KT and they all perform the same except for one thing - Watts. The difference is that the larger motor will be able to dissipate (handle) more heat/Watts than a smaller motor. Up to the point the Amps being drawn heats the smaller motor to destruction, it will perform the same as the larger motor. So you don’t necessarily need a larger motor to have better performance.

1 Like

Only thing to really watch out for are the voltages on I/O pins maybe. The common Arduinos are 5V though some are now 3.3V. I’m not sure what the Cyberbrick voltages are but there are little level-shifting boards that can be used to get I/O pins to talk to each other if they aren’t already compatible. I used this on an Arduino Uno project that had to talk to 3.3V logic peripherals.

To talk to servos or ESCs, counter/timers/PWM peripherals are handy so you can set a recurring pulse width and forget it until it needs to be changed instead of manually making the pulses with software. I don’t know what peripherals are accessible on Cyberbrick but manually getting a consistent pulse can really restrict what else a micro can do. If there isn’t something built in to make those pulse trains easy/low impact then some other micro that does have those peripherals could be necessary.

I think it’s pretty capable though. I think it’s the same chip as in the Adafruit Feathers I have been using just with only a few I/O pins available and much depends on which pins they are. I’m not up to speed on Cyberbrick though to know how easy it would be to output extra pulse trains. At least with servos they are pretty tolerant of variable periods between pulses but the timing pulse itself is critical.

If the Cyberbrick has the built-in ability to output pulse trains it might be able to skip an Arduino in the output. But if some other chip/board is needed, there are probably other boards that could be better than Arduino now. (Heresy!)

Obviously you know, so this is more for the benefit of others, but the torque can be different even though the KV (maximum rpm) is the same. this will affect things like acceleration and hill ciimbing