Go Down

Topic: Multiply freq of quadrature signals  (Read 477 times) previous topic - next topic

7nebo7

Hi all, I am new in Controllers however I read a lot about it. And already done few projects. Now I have quadrature sensor which gives me output of 360 pulses per 1 rev. How can I get them multiplied lets say by 5 or by 10.
So initially I would like to get 1800 or 3600 pulses on the receiver side.
I tried to look in to this project:
 https://www.bb7.com/2017/01/18/e-unum-pluribus-using-arduino-as-a-frequency-multiplier/
However this is works fine for fixed frequency and if multiplier 2 or 4.
Any suggestion would be really helpful! thanks in advance!
 

cattledog

Quote
Now I have quadrature sensor which gives me output of 360 pulses per 1 rev.
Can you supply a data sheet for your encoder?  Some encoders are specified with respect to the number of pulses on one channel. There may be 4x360 quadrature edge transitions available to read, and you could read 1440 counts per revolution. Other encoders are spec'd with the total transitions available in the rotation.

Quote
How can I get them multiplied lets say by 5 or by 10.
So initially I would like to get 1800 or 3600 pulses on the receiver side.
Please explain more about what you are trying to achieve.

The output from the encoder is related to the physical amount of movement. You can certainly multiply the output counts by any number you wish, but it is not going to generate higher resolution. Instead of counts going 1,2,3,4 they would go 10,20,30,40 but what does that gain you?

7nebo7

my sensor is AVAGO HEDS-9740 Series So it is 360 LPI sensor. And yes this is correct I would like to see output from 1-5, 2-10, 3- 15...
Yes I do understand that I am not getting higher resolution however I will feed this data to existing devise in right speed with right amount of pulses.

cattledog

The way I read the data sheet for the 9740 is that you should be able to get 4*360 quadrature counts if you have the 360 lpi code wheel or code strip.

What are you passing through this encoder?

You would read the encoder like any other quadrature encoder. There are different ways to read a quadrature encoder so as to read 1,2, or all 4 or the quadrature transitions possible. You can certainly multiply the actual counts by 5 if you wish.

What is your exact issue with this encoder? Can you read the quadrature pulses?

I still don't understand why you want a scaling factor on the pulse count. Can you explain more about the "existing device", and what is the overall idea behind your project.

Quote
And yes this is correct I would like to see output from 1-5, 2-10, 3- 15...
Yes I do understand that I am not getting higher resolution however I will feed this data to existing devise in right speed with right amount of pulses.

7nebo7

Hi again! thanks a lot for your responds and your involvement I am really appreciate. My project is converting my small A3 desktop Epson printer in to the small flatbed printer.
Original encoder has 360 lpi res with 6300 CPR. With full rotation of the paper shaft I am getting 6300 encoder pulses. So my issue is to get linear encoder strip with this kind of resolution unless it magnetic encoder.  so now I would like to use standard 180 or 360 optical encoder strip and place it on the table and read it with original encoder. However to make sure I have a right print table  speed and right print size I have to feed similar amount of pulses. So with original 360 lpi encoder strip I will get only 360 pulses per 25.4 mm of linear movement And I need 6300 so really I have to multiply output all the time by 17.5
Does it make any sense?

cattledog

Quote
My project is converting my small A3 desktop Epson printer in to the small flatbed printer.
Quote
so now I would like to use standard 180 or 360 optical encoder strip and place it on the table and read it with original encoder.
Yes, I see that such strips are offered for sale. For example
https://www.adsignmark.com/solvent-printer-encoder-strip-epson-seiko-konica-printhead-150-180-200-300-360-lpi-raster-film

Quote
However to make sure I have a right print table  speed and right print size I have to feed similar amount of pulses. So with original 360 lpi encoder strip I will get only 360 pulses per 25.4 mm of linear movement And I need 6300 so really I have to multiply output all the time by 17.5
Does it make any sense?
It sounds like you are trying to prototype something using the existing 1" disc and encoder.

I would think it would be best to use gearing to get the 17.5 rotations of the disc to mimic full travel.

However, if you can only use the existing disc with one rotation, then I think you can simply multiply the 1x counts by 17.5. If your encoder reading algorithm uses 2x or 4x quadrature counts, then the scale factor will be divided by 2 or 4.

Another possibility might be to just be feed the encoder output lines with 6300 pulses which you generate with an Arduino or signal generator. How long does it take for the full rotation of the drum, and what frequency is required for the pulses. I'm not sure how the printer software reads the encoder, and whether or not you want to use a single square wave pulse train, or if it needs to be the two offset trains for quadrature. Either is possible.


Go Up