WORKING: Non-contact encoder / PID controller. Open Source. Kits available.
The MassMind.org Servo System is released. This is open source... mostly... (code, board layouts, etc...but some board source files not will not be released, and the latest code isn't up... yet...) More importantly, it's tested and WORKING and PCBs / Kits are available. It is currently a two part system: PID controller, and non-contact encoder. We are working on a DC motor controller that should manage nearly 1 HP. (40 volts, 18 amps) to have a complete solution, for now, just use it with any standard H-BRIDGE or other motor driver that accepts PWM and direction.
BOB PID CONTROLLER:
Slowing 69.16.243.61&c=1&t=42524.6872581019
The BOB PID is a very low cost, but quite capable, PID servo controller, which can replace stepper motors in any standard application, such as 3D printers or CNC machines.
- Serial and step / direction inputs.
- The serial interface, via any TTL to USB adapter, allows for easy tuning of the P.I.D. constants and setting options like the polarity of the output direction signal. It also support a bootloader for future firmware updates and new abilities / optimisation.
- The step / direction input allows its use in any application where a standard servo driver was intended. Our Pololu adapter cable makes plugging it into a RAMPS / GRBL or pretty much any other motion controller very easy. - Position input comes from a standard quadrature type position encoder, like our non-contact, high speed magnetic ENC1 connected to the motor or output shaft. Up to 73,000 edges per second or 18,000 lines per second are supported with the current 0.93 firmware. That supports up to 1,100 RPM with a 1000 line (4k quad) encoder, or well over 10,000 RPM with our 360 quad ENC1.
- The output is PWM speed and direction suitable for any standard "H-Bridge" motor driver.
Limitations:
- Top speed limited by processor power and code efficiency. Future updates will improve the top speed. Yes, there are 1000 other more powerful chips. Go write a better version for that chip and leave us alone with our working unit that goes fast enough for almost all applications.
- Needs a status command to read out current settings. It's on my todo list.
- No autotuning of the PID loop. Might add that in the future.
- Could support a local user interface with a cheap LCD panel and some switches if people want that... Probably can't update the display and move at the same time.
- Probably needs some tweeks to work with an ESC... might work fine... we haven't tried that yet. You wanna step up?
The complete kit is $15.95, the PCB is $8, uses a $2.50 PIC.
Working Source code is here:
https://github.com/JamesNewton/BOBPID/
ENC1 ENCODER
http://techref.massmind.org/techref/...s/enc/ENC1.htm
Based on the amazing AS5134 chip, this encoder supports 76875 RPM, 360 CPR/counts per revolution (with 4x decoding) quadrature rotational encoding. It senses the position of a two pole radially magnetized disk over a full revolution using a hall effect sensor array. The sensor signal changes are converted to a digital quadrature signal, and the position information stored as absolute position data on some registers, which are readable through a 3 wire synchronous serial interface. Standard quadrature Index, A and B phase signals are also generated just like any standard encoder.
- 76,875 RPM (!!!)
- Non-contact magnetic sensor.
- No need to mechanically attach to a shaft, just epoxy a small magnet in place. Great for motors with one shaft.
- Alignment isn't critical. As long as the magnetic field is generally over the chip, within 1/2 inch, it will work quite well
- The onboard LED indicates that the board is powered, and provides easy testing the alignment of the IC with respect to the magnet.
- Multiple connection / cable options are supported.
- Standard Quadrature A and B phase outputs, as well as several digital modes.
Limitations:
- Fairly low resolution: 360 positions per revolution (1 degree). Honestly, that just helps the PID controller manage higher RPMs. For most applications 360 is plenty. Steppers are 200 to 400 in the real world, as microstepping is NOT positionally accurate. Just as an example, on a machine with a lead screw drive, having a 10 tpi thread, the resolution would be 0.0003 in.
$20 kit
Source files
https://hackaday.io/project/11418-ma...rotary-encoder
VIDEOS
2,300 RPM real world encoder test
www.youtube.com/watch?v=6iYVkAmXD4w
Small DC motor with HID encoder run by BOB PID
https://www.youtube.com/watch?v=TjflUkI--Sw
Large DC motor with ENC1 run with BOB PID from RAMPS/Marlin.
https://www.youtube.com/watch?v=rnwYqGB3bXw
Please try to be positive in your support? This isn't the be all and end all. It's "good enough" for most jobs, it's cheap, and it WORKS.
James hosts the single best wiki page about steppers for CNC hobbyists on the net:
http://www.piclist.com/techref/io/steppers.htm Disagree? Tell him what's missing! ,o)