-
Notifications
You must be signed in to change notification settings - Fork 113
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Can i use a encoder with step only instead of a quadrature encoder #52
Comments
Hi @Animalrsa1, It is not possible. A tachometer gives you information about motor speed but not direction. A position control needs to know the direction of each motion to be able to accurately track motor shaft position. Without that, it won't work. You could use that for a speed control though. |
Hi many thanks for the swift response, if possible could you assist with a cost effective solution to a quadrature encoder. i want to use wiper motors to move my mill. thanks again tony |
You can get a relatively inexpensive one online: https://es.aliexpress.com/store/product/Encoder-600P-R-Incremental-Rotary-Encoder-AB-phase-encoder-5V-24V-Two-Phases-Shaft/3105031_32851443854.html |
Hello, lemme say, i tried that, bo matter what you do the motors are slow and will overheat fast, if ur pid is too low they wont move properly, if u go higher so ur motor spins up right, it will overheat . U coud drill holes in the motor and cool it by forcing air trough, but u coud try either try servo motor from say a opel corsa steering or bmw x5 compressor motor, etc. I just got some oldschool dc motors wich have 4 huge brushes and rotor, they have about 500 watt, got them at the junkyard. And i used ibt_2 h bridges. Hope this helps. |
Cheap encoder link, u have to make the disc, i made it with a 3d printer |
And mirror on the other side, and disc must b thin |
If I'm reading the datasheet right on the AEDR-8300, the code wheel will need to be 8.35 lines/mm (212 LPI), which seems like it would be somewhat difficult to print. |
You could go with as many lines as u can, like i did to test and get used to the whole thing until u scavange the real deal :) here s another link to a encoder |
U got to open it, inside u will find 2 empty pads ready 2 solder components, solder 2 4k7 resistors on the pads before giving it a go. |
With 3d printed encoder disk i managed to get a precision of 0.1, wich isnt that bad taking into account the disk precision |
Or go to the scrap yard and get encoder strips from old plotters |
I believe I have the same issue. I stumbled upon this project in the hopes that the controller could be used to build a controller system for a Pegasus robotic arm. The vendor that made the arm (it's a "educational robot") isn't much help as they won't share any specifics about the computer control setup (which I'm lacking here). I picked up a nvcmv2.1 and was able to drive the motor on the x axis forward and backwards. The problem is the encoders on these motors are a very fine incremental/step encoder rather than a absolute. The motors themselves have easy access to the encoders. It's just a set screw that holds the disc on. And two screws that hold down the encoder. Is there a encoder I could retrofit onto the backend of the motor to convert it over to a quadrature encoder? I saw a link above for one, but that's really a sealed unit that couples to the shaft. I was hoping for a simple disc and new sensor to convert it. I can get more measurements of the disc diameter and the mounting holes of the sensor. The shaft is only about a 1/8" diameter or a little more. Edit: would one of these work? I think I could likely drill out the disc to fit the shaft. And 3d print a holder for the sensor setup. |
@patracy: an incremental encoder usually provides a quadrature output, that can be used to obtain an absolute position if you pair that with a way to detect a reference [home] position when booting up. The encoder you linked is a low-resolution unit (only 12 pulses per revolution), it is an incremental encoder, and it provides a quadrature output too. Alternatively you can use Magnetic encoders to obtain an absolute position (angle), like the AMS5600: https://ams.com/as5600 |
I have tried the dcservouno sketch. But it acts very strangely. The motors I have have a HEDS-9000 encoder on them. They have a 500cpr on them. When I power up the arduino I get nothing out of the serial port. But when I disconnect the encoder A/B leads, it will then provide the menu. I can then reattach the AB leads and I am able to home it. Set to T mode and it will randomly move as expected. I was having jitter at home when I first started it but I put P down to 1 and it seems to be behaving now. Is this encoder setup going to be too much for the mini as far as counting goes? I know it's going to be excessive since it's a gearmotor setup on the number of counts. |
I think maybe the encoder setup is just simply too much for this. It's 500cpr on the motor shaft side of things, feeding a gearbox. I bought this cheapo DC motor/encoder just to try it out and it behaves just fine it would seem. I'm going to try a hall effect encoder like it has on the style motor I have and see if that would help. https://www.amazon.com/dp/B0833X3KY3?psc=1&ref=ppx_yo2ov_dt_b_product_details |
You can always not power the motor and move the motor shaft by hand (while
the encoder is powered and connected). The "?" command on the serial port
will show you whether the location changes or not (useful for
troubleshooting).
Please note the motor you linked has a low-resolution encoder, which is not
a problem and due to the gearbox you should get a nice resolution. However
... that encoder measures the motor shaft and not the output shaft, which
means that any amount of play in the gearbox can ruin the accuracy of your
measurement anytime there is a direction inversion.
|
The time to get encoders vs the cost I picked up some AS5600 encoders. I'm using a nano. I tried flashing the magnetic encoder firmware, but I get a bad checksum error when I connect to it over the serial port. (I think it was the mega version, I do recall it warning about stability when I flashed it due to low space) I tried to compile the pro micro mag encoder under the nano, but it gives me PINF related errors. So I simply set it to micro. I've ordered some pro micros that should be in tomorrow. ( https://www.amazon.com/dp/B08THVMQ46 ) I'm going to give that a try with the magnetic encoder setup. Otherwise I'll order some more hall effect encoders and wait for those. Since I know that works. |
The checksum error is about the EEPROM storage not being initialized. Once you use "W" command this should go away. |
It's unresponsive when I try to type anything. The L led goes solid. |
when using an I2C encoder if it becomes unresponsive it seems there is a
problem with I2C communication, you should check your circuit with i2c scan
code you can find online.
https://create.arduino.cc/projecthub/abdularbi17/how-to-scan-i2c-address-in-arduino-eaadda
…On Fri, Jul 8, 2022 at 3:18 PM patracy ***@***.***> wrote:
It's unresponsive when I try to type anything. The L led goes solid.
—
Reply to this email directly, view it on GitHub
<#52 (comment)>, or
unsubscribe
<https://github.com/notifications/unsubscribe-auth/AADRZSDMP6TRG3TMKRV37UDVTATC7ANCNFSM4FOCVYDA>
.
You are receiving this because you commented.Message ID:
***@***.***>
|
Please note the Arduino cannot handle very high interrupt rates, so it may
only work for low speeds if you have a high-resolution encoder. You may
want to lower the motor voltage to see if you can move within a low-speed
range for it to work.
…On Sat, Jul 2, 2022 at 1:58 AM patracy ***@***.***> wrote:
I have tried the dcservouno sketch. But it acts very strangely. The motors
I have have a HEDS-9000 encoder on them. They have a 500cpr on them. When I
power up the arduino I get nothing out of the serial port. But when I
disconnect the encoder A/B leads, it will then provide the menu. I can then
reattach the AB leads and I am able to home it. Set to T mode and it will
randomly move as expected. I was having jitter at home when I first started
it but I put P down to 1 and it seems to be behaving now. Is this encoder
setup going to be too much for the mini as far as counting goes? I know
it's going to be excessive since it's a gearmotor setup on the number of
counts.
—
Reply to this email directly, view it on GitHub
<#52 (comment)>, or
unsubscribe
<https://github.com/notifications/unsubscribe-auth/AADRZSAOZNAJCBNIEML7OLTVR6A2RANCNFSM4FOCVYDA>
.
You are receiving this because you commented.Message ID:
***@***.***>
|
Good day, many thanks for making your work public, i was wondering if it would be possible to use a step only encoder (no direction) with your project to control the position of large dc motor, ramps will still send its normal step and dir but the closed loop will only be on steps, is this possible?
many thanks
Tony
The text was updated successfully, but these errors were encountered: