Misunderstanding of PSCU-BS2e communication
bhaskarghsh4
Posts: 20
I used the following program to move one vehicle continuously in forward & backward direction upto a certain distance.
I am using 2 servos (180 degree rotation) with the two wheels which is controlled by BS2e through PSCU.
When I am running the vehicle with the following program the wheels are rotating at different speed.
I am not getting how this is happening with this code. I will be thankful to you people for helping me to sortout what the problem is with the code.
By the by I measured the speed for both of the wheels with tachometer.
Thanks.
path_tracing.bse
I am using 2 servos (180 degree rotation) with the two wheels which is controlled by BS2e through PSCU.
When I am running the vehicle with the following program the wheels are rotating at different speed.
I am not getting how this is happening with this code. I will be thankful to you people for helping me to sortout what the problem is with the code.
By the by I measured the speed for both of the wheels with tachometer.
Thanks.
path_tracing.bse
Comments
(Are there any difference between the servos? Have you tried switching them around?)
I do notice that you have a few of these:
This is 'not good' programming.
Sure, in this case err can only have those two values, but...
That means you could have used:
In fact, if you turn the jobs around, it can be shortened a bit more: (I think that should work. Haven't programmed a BS2 in 'a while')
Any test like '= something' takes time to execute after all. And it fills up the program memory, too.
But for ur kind information i need to say that my vehicle is moving but the wheels have different speed.
Even as per my view it should not be different according to the code. I have measured the wheel speeds with tachometer.
So please help me to find out why this happens.
Thanks
Try experimenting with changing the speeds of each servo a bit.
But I am a newbie in bs2e (basically all parallax devices).
So I am not aware about this CALIBRATION process of servo you are talking about.
Is this done through the proper instruction in PSCU or by something else.
What we mean is that you measure the difference in speed between the servos, then adjust the program to compensate.
One motor too slow? Just increase the 'Ramping' on it.
One motor doesn't stand still after initialisation?
Adjust up or down from 750 until it does.
If you look at a RC remote, there's always a set of sliding adjustments around the sticks, used to adjust the neutral position.
Servo motors use a simple comparator circuit to decide the position they're in and whether or not to move. This circuitry is of course made of the cheapest available components...