July 20, 2024Jul 20 As far as I can tell, the conclusion here so far is that there are probably software (firmware) problems with Buwizz, which is also the conclusion I came to. In my experience as well, PU servos work more precisely/smoothly with both Lego PU software and also with Pybricks firmware. I think the PID controller in the Buwizz firmware might have some bugs. For example, I have discovered and written about another one, which may or may not be related: when processing signals coming in from the phone (the BT peripheral), the Buwizz unit is handling them too slowly (I hypothesize that it does not drop old unprocessed commands that will be overwritten anyway by newer ones that arrived in the meantime), and can get flooded and the response can get significantly delayed (few seconds). I observed this during drive motor operation, but I think this may also effect servo operation. I know that some software like BC2 try to fix this by sending joystick positions less frequently, for example by only once in 10-20ms intervals. But that's not the ideal solution as it is hard to find the good interval that does not overload the Buwizz unit but also does not cause too much delay in itself. In contrast I know from personal programming experience that the software on the PU hub does handle this automatically, even if joystick positions are sent very fast, it drops the old ones in favor of new ones and reacts faster. Also, even after tuning PID parameters, which should not be necessary, as both PU hub firmware and Pybricks can do much better out of the box, I could never get the servo control as smooth with Buwizz as with other hubs/firmware. Hence I suspect software problems. These are definitely issues that should be fixed in Buwizz firmware. 3 hours ago, shroomzofdoom said: Sometimes when my buwizz controller seems to be 'misbehaving' it comes down to a bad plug/contact. Generally with the PU plugs I have to use the safety pin method a few times a year. This is interesting idea, do you mean that the pin contacts need to be fixed by bending the pins inside the plugs a bit inside to ensure better contact? Edited July 20, 2024Jul 20 by gyenesvi
July 20, 2024Jul 20 14 hours ago, gyenesvi said: I observed this during drive motor operation, but I think this may also effect servo operation. This. If it does have hiccups of this kind in drive motor operation, then I suspect it will be much more adversely affect the servo motor "simulation" mode, as it is unforgiving. When driving, it may be somewhat OK, but when steering (and thus relying on each click to be processed >fast<) things quickly get screwed up. So this strongly suggests that indeed, as you wrote, the click-processing is too slow, as it needs to be near real-time. From my limited BLE programming experience (/nsoftware BLE stack in Windows11/VB6), I also saw that data are not lost when storing them immediately when the corresponding event is firing, this was with the 2 and 4 port LEGO PUp hubs. However, the processing response time depends on how much the system has to do in addition to just doing that. And rapid steering data changes are most critical. 14 hours ago, gyenesvi said: the software on the PU hub does handle this automatically, even if joystick positions are sent very fast, it drops the old ones in favor of new ones and reacts faster And this is certainly a good idea, particularly for steering! 14 hours ago, gyenesvi said: 7 hours ago, shroomzofdoom said: Sometimes when my buwizz controller seems to be 'misbehaving' it comes down to a bad plug/contact. Generally with the PU plugs I have to use the safety pin method a few times a year. Very interesting, as this suggests there are hardware issues as well: The moment, the servo control routine inside the BuWizz misses one or more clicks form the hall sensors inside the PUp tacho motors due to noise on the data line caused by "bad" contacts, things may rapidly end with a crash into a wall ... If bending the contacts is meant by @shroomzofdoom, then in addition also the application of sprays like "Kontakt 60" (and not WD40!) may improve the situation. I'd apply it to both motor plug and BuWizz sockets. This method actually reanimated the electronics of my e-bike; the display said motor is behaving badly (i.e. needs replacement due to miscalibrated torque sensors inside the motor = $800). Removing all cables from their sockets and dousing both plugs and sockets repeatedly with Kontakt 60 spay (each time with removal of the surplus, I had purchased the bigger can), and thoroughly plugging everything back in saved me $(800 - 23) = $767. Here is the good stuff: https://www.voelkner.de/products/495038/Kontakt-Chemie-KONTAKT-60-KONTAKT-WL-Kontaktreiniger-1-Set.html And here is what went terribly wrong: I did >not< claim the $767 at the finacial headquaters here in the house - I was just too happy to have my bike back alive. After a few days, such claims are not considered valid anymore Best, Thorsten Edited July 20, 2024Jul 20 by Toastie
July 23, 2024Jul 23 On 7/20/2024 at 5:00 AM, gyenesvi said: This is interesting idea, do you mean that the pin contacts need to be fixed by bending the pins inside the plugs a bit inside to ensure better contact? Yes. If you look closely at the PU connectors, those little pins get compressed a bit from frequent use. It was actually recommended to me by Buwizz.
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.