Valify - my robot lawnmower project

Hi.
Very cool!
Maybe it's YouTube but a bit loud also ?.
Is there a sound difference with the DC/DC motor ?
Again are you sure this kind of motor did not empty the battery in very short time.
Don't know if it's possible but Something very interesting will be to compare the 2 kind of motor with same (load and accel brake phase) during 1 hour to compare the total power use.

Congratulation for this big work.
By
 
The video was not the best. I think they are very silent if I don’t go full throttle.

Here is a second test running FOC mode with hall sensors. Very silent. The most noise comes from my 3D printer that stands next to me. In the video you can see the power consumption. Thanks

https://youtu.be/FVqr6PI0G7I
 
Hi,

thanks for sharing your videos.
As I see, the motor seems to spin really fast. I saw something about 16000RPM. I think your mower will not fly so how would you reduce the speed? Its common to have 20-30 RPM at wheel. You belt will not do the trick so far :) So do you plan to add some kind of gearbox? As I see, the motor doesn't have one. Or do you plan to reduce speed by low PWM rates? In this case, bear in mind that the motor will loose lot of torque with low PWM rates.
 
Hi.
Ok very silencious at low speed, if the torque is OK it's very good.
Maybe this kind of motor have high torque at low speed like stepper.
By.
 
I don't have all the answers yet. This is the first test day. :) But the torque will not be a problem at low speed. At 10-15% throttle I can't even hold it and the motor sound is minimal. Please keep in mind that these ERPM are not the same as RPM. I will do some more testings when my bullet connectors have arrived. Next up for motors getting them to run with ROS.
 
Hi.
Yes i remark the electrical rpm.
Note that if you want a final good positionning you need to have af least 10 ticks per cm.
What is the ticks per rev on the motor ?
By.
 
Thanks Bernard. How can I calculate that? or now how many tics per rev? it´s a Internal PCB with 120 degree hall effect sensors.
 
For closed loop motor control
===============================
this depends of the intervall, the tasks for speedcalculation will be called. I call the task every 33ms. I think the Ardumowersoftware uses 100ms or 200ms (not sure)

Example:
Encoder has = 1060 ticks per wheelrevolution
Max Wheel Speed = 30 rpm

30*1068=32400 ticks/min
32400/60 = 540ticks/sec
540*0.033= 17,82 maxTicks per interval of 33ms

This means I can control the speed in closed loop from 0 to 100% with the amount of ticks from 0 to 17.

For track measurement
===============================
Encoder has = 1060 ticks per wheelrevolution
Wheel size = 80cm

1060/80=13,25ticks/cm
The cm is divides in 13,25ticks. So you can mesure mm.
 
Hi.
All depend on the speed you want to reach.
For a mower 0.4m/s can be a value
if the wheel is 30CM diameter:
Perimeter is 30*PI= 94CM so min 940 ticks by wheel rev to have a good ODO
So for 0.4m/s you have 0.4*60/0.94= 25.53 RPM for the Wheel.

30 RPM like Roland say is a good value

With this, you can estimate the max RPM of your motor and maybe here you have a problem with the Belt and reduce possibilty.
If for example you can have a 1/40 ratio your motor run at max 1021 RPM and need a minimum of 940/40=23.5 ticks per rev


Simply take a look on the Tacho number and verify how many ticks for one or ten revolutions.

For me your biggest problem will be the reduce possibilty of the belt and maybe the management of the power at low speed on this kind of motor,but certainly you can find a solution.
And again it's only remark ,you need to confirm or not with test.

Congratutation
By
 
Thanks guys for the feedback. Lets measure the RPM on the shaft with a tachometer when the drive system is in place. Tonight I tested to run the VESC and brushless motor with ROS and differential drive. Works great for a first test. Of course a lot of work still needed here. But I am quite happy for a nights work!

https://www.youtube.com/watch?v=f4ZobjZOBfo
 
So I read the Tacho number while turning the motor by hand. I turned the motor one revolution 10 times Ans got the following values. It looks to be within (38-40)

21922
21961
22001
22040
22081
22121
22159
22197
22236
22276

what do you think? I can always mount new encoders to get it more precise if needed. I was looking at the AS5047P development board. It looks good. Any one know where to buy it?
 
I don't understand why you say 38-40.
Did you have the datasheet of your motor ,the encoder and motor shield ??
If for 1 revolution your tacho increase of 22000 ticks you have simply 22000 ticks per motor rev and it's very good but it's Strange ??????(very high value).
If it's that the precision is not a problem at all.(Motor from marotronics shop have 1060 ticks after gear box so certainly only 20 or 30 ticks on the motor itself)
It's certainly not a problem if you use a motor shield who can count it.
What about your pulley reduction report, (tooth number of the large pulley divide by that of the small) With this value you can find the ticks per wheels revolution and the ticks per CM.

In all case check that you can read from your motor shield the Odometry,the sense etc......by Serial or I2C and interface it with ROS , !!!!!!!!!!!

By.
 
Sorry if I was unclear. The tacho numers from the last post was the different between the numbers. Starting tacho at 21922 and increasing 40 each rev (did it 10 revs total)

Big pulley 100T small pulley 12T.

Yes I can read values from the motors over serial on the VESC.

Thanks
 
Ok. now it's more clear.
But for me 100/12 is not suffisant, not sure the ESP run well at 240 RPM !!
Maybe it's better to use the ESC motor for blade and find quiet DC/DC motor with gearbox for wheel.
By
 
That´s no challenge ;-) The diameter for the 100 teeth pulley is around 70mm, I could fit a 110-115 diameter, So how many teeth do you recommend for the large pulley?

I was also thinking to change the hall sensor to a AS5047P encoder with 360-degree range and a maximum resolution of 4000 steps / 1000 pulses per revolution. What do you think about that?
 
Ok for the challenge::unsure:
The best will be to find a gear box with reduction rapport of 200 or 300 ,google help ?????
I think you need to put the maximum size on the big pulley and the minimum on the small one, to have the max possible reduction report.
Start with 0.4m/s , the diameter of the wheel give you the wheel rpm.
Use the pulley réduction report to find the nominal speed of motor and check in the datasheet if it's into a good range.
By
 
I think you have to begin with the wheels and then calculate backwards. You want to drive 2000m/h. From this you can calculate the wheel rpm and then the gear ratio for the motor.
20 ticks at 100% speed in 33ms is the lowest i would suggest from my experiance, if you want to control your motors in closed loop. But you shoukd not run 100% speed because you are not able to control the rpm at speed at 100%. Therefore it is better to calculate with 2222m/h which are then 100%of the max speed and 2000m/h are 90%.
 
Thanks for the input guys. I just order a tachometer so I can measure the RPM easier. For low RPM the motors are working quite good. No problem with torque, as i wrote earlier I can't even hold them. So I need to measure how low RPM the motors can handle before calculating gearing further. I will order encoders for absolute rotor positions improving low RPM start and torque. The encoder I am looking at is the AS5047P (which seems to be hard to get) I also looking at the AS5048A which can support 16384 positions per revolution.

Yesterday night I continued to work with brushless motors, VESC and ROS. The Differential drive works. I hooked up a DS4 running turtlebot_teleop_joystick In order to control the motors with a joystick https://www.youtube.com/watch?v=zs_l-jMn2cI&t=
read full post here: http://valify.se/2018/03/24/brushless-motors-vesc-and-ros-second-test/
 
Hi
I suppose you can find reduce pulley to use your motor Under 500RPM.
The encoder is connected directly to the motor shield if i understand ?
Your actual encoder have 40 ticks by rev
(500*40 /60 so 333 ticks per second )

Your futur encoder
16384 positions per revolution
(500*16384 /60 so now 136533 ticks per second )
I am not sure that your motor shield can manage this ??

Better check the datasheet motor shield before order.

By
 
Thanks.

The VESC have intergrated support for the AS5047, the AS5048 should Also work. The encoder is connected to the VESC.

Anyways I order 3 diffrent to try.
The AS5047D, AS5048 and a atm102v lets See which works best. :)
 
Oben