2020-12-14, 10:31 AM
(2020-01-30, 11:52 PM)seandepagnier Wrote: You can adjust the acceleration and deceleration limits as well as minimum and maximum motor speeds though the servo parameters for speed and slew speed.
Hello everyone! Similarly to many others in this thread, I am building a Pypilot controller for the 24v Neco rotary drive on my Camper Nicholson 48. Enormous thank you goes to Sean for coding the Pypilot and making it available to others! I would not have entered the maker world if it weren't for the Pypilot. I am also very grateful to Daniele Fua who helped me a lot with the technical drawings and sent me a spare unit while we were in Italy. I strongly encourage everyone to turn to him concerning Neco drives.
I have the Pi 3B+, the 9255 IMU sensor, a Nano, the IBT2 motor controller and transistors. It was quite a learning curve to get to the point where it works fine now as this is the first time in my life I met Arduinos and the Pi.
I made a switch box to be able to switch back and forth between the Pypilot and the Neco CU. That part could also come in handy later in case of a lightning strike as the Neco unit seems quite indestructible.
Contrary to others, I drove the shunt coil with two diodes connected to the two low sides of the H-bridge (pin 2 and 3 I believe). They only turn on when the motor needs to move, so there is a substantial energy saving there. That I think outweighs the benefits of the brake function on the drive when the shunt coil is on and the armature is short circuited by the relays.
I want to spare a few watts still on the clutch coil as well. The clutch coil engages well when it receives the full 24 volts. It then only needs about a third or quarter of that current to remain engaged. I drive the clutch from the clutch pin 11 through an NPN transistor. The clutch pin is capable of PWM, I believe. I have tried altering Sean's code to change the digitalwrite to analogwrite as follows but that resulted in the clutch not turning on anymore.
//digitalWrite(clutch_pin, LOW);
analogWrite(clutch_pin, 254);
Could you sailor brothers and sisters share your thoughts on this?