Rotary encoder - sensor arrangement

แชร์
ฝัง
  • เผยแพร่เมื่อ 28 พ.ย. 2016
  • Table Of Content:
    00:05 Introduction
    00:40 Sensor area
    00:52 Sensors side by side
    04:26 4mm teeth and gaps
    06:25 2mm teeth and gaps
    06:05 arranging the sensors
    Project page:
    homofaciens.de/technics-base-c...
    Special thanks to TH-camr Pecilije Velicanstveni for the Serbian subtitle!

ความคิดเห็น • 205

  • @tasJis
    @tasJis 3 ปีที่แล้ว +3

    Such a good video, I do not use encoders often in my projects, but when I do almost every time I come back to this series of videos for a refresher.

  • @johnsujith12
    @johnsujith12 7 ปีที่แล้ว +1

    detail over detail over detail and everything live and practical! you're just amazing!
    Thank you so much!

  • @OperationAllOut
    @OperationAllOut 4 ปีที่แล้ว +2

    The best video on TH-cam to understand optical rotary encoder.

  • @umbertomurri9478
    @umbertomurri9478 4 ปีที่แล้ว +5

    A very good explanation, a great help to well understand and design our own ideas and applications. A great example of how to do a significative video. Thank you.

  • @ale29ax
    @ale29ax 7 ปีที่แล้ว +8

    a "must watch", as always, thank you!

  • @jacquedreyer5479
    @jacquedreyer5479 6 ปีที่แล้ว +6

    Really awesome video! Probably one of the best encoder videos available on TH-cam. Thanks for taking the time and effort to share!

  • @NeonblueIndustries
    @NeonblueIndustries 7 ปีที่แล้ว +11

    Great vid!
    Great Arnie impersonation.

  • @cicciofranco405
    @cicciofranco405 6 ปีที่แล้ว +1

    compliment from Palermo,,,,perfect sound and video.

  • @bruno_sjc_
    @bruno_sjc_ 7 ปีที่แล้ว

    you rock!... I am donating right now... you already helped me so much... it's time to help to keep it alive.
    Thank you again!

    • @HomoFaciens
      @HomoFaciens  7 ปีที่แล้ว

      A big thanks from me for your donation!

  • @arturbecker9936
    @arturbecker9936 7 ปีที่แล้ว +2

    This is the best thing I have ever watched

  • @ahmedboudi1808
    @ahmedboudi1808 6 ปีที่แล้ว +2

    Thank you very much , just continious like this, you are great ingeneer!

  • @vanhetgoor
    @vanhetgoor 5 ปีที่แล้ว

    Now finally I understand the rotary encoder! Only because it was explained with a German accent, the language of science! And of course because now the two sensors are placed besides each other! In fact it does nog matter where the (optical) sensors are at the wheel, but now that I look at this it all looks very simple. Thank you German guy!

  • @videolabguy
    @videolabguy 3 ปีที่แล้ว +2

    One of the best demonstrations of quadrature encoding I've seen. Thank you.
    I would like to add the following hardware solution. Take the output of the opto sensors through a Schmidt trigger, like a 74HC14 to deglitch them. Call the outputs X and Y. Next get a 74HC74 D flip-flop and connect X to the D input (pin 2) and Y to the clock input (pin 3). (Pull up pins 1 and 4) The Q output (pin 5) now indicates direction. Again take X and Y and connect them to the inputs of a 74HC86 XOR gate (pins 1 & 2) take two times clock from the output pin of the HC86 (pin 3). That is your hardware solution to reading a quadrature encoder.

    • @HomoFaciens
      @HomoFaciens  3 ปีที่แล้ว +2

      Thanks! Yes, you should always try to get the best in- and output signals possible. That makes processing data more reliable. Having a loser look at this subject is on my list of things to do.

  • @Kieran46100
    @Kieran46100 7 ปีที่แล้ว +1

    simply excellent; thank you sir

  • @pecilijevelicanstveni4973
    @pecilijevelicanstveni4973 7 ปีที่แล้ว +1

    Thank you for precise and valuable information. The video is so good that I translated it to Serbian.

    • @HomoFaciens
      @HomoFaciens  7 ปีที่แล้ว

      A big thank you for the translation! I have added your contribution in the video description box. If you need the original text files of more videos, leave a comment or send me a message.

    • @pecilijevelicanstveni4973
      @pecilijevelicanstveni4973 7 ปีที่แล้ว

      Welcome! And thank you again.

  • @oflasho1
    @oflasho1 7 ปีที่แล้ว +1

    Teacher: I used to think that basic electronics useless, until see your teaching, thank you!
    You're really strong.

    • @HomoFaciens
      @HomoFaciens  7 ปีที่แล้ว

      You're welcome. Tell your students about my projects.

  • @Draxen
    @Draxen 3 ปีที่แล้ว +2

    This video is awesome mate, thanks so much!

  • @arduinomaquinas
    @arduinomaquinas 11 หลายเดือนก่อน +2

    encoder, this information component has always been fascinating, 👏👏👏👏👏👏👏👏congratulations on the techniques friend, 🇧🇷❤😉👍

  • @fdwa7id
    @fdwa7id 3 ปีที่แล้ว +1

    Thank you sir, very informative.

  • @habiks
    @habiks 7 ปีที่แล้ว +14

    Nice to see it in practice.

    • @HomoFaciens
      @HomoFaciens  7 ปีที่แล้ว +7

      ...always prove your theories ;-)

    • @gnukool
      @gnukool 7 ปีที่แล้ว +1

      HomoFaciens Your videos are really amazing. The amount of detail that you cover is phenomenal. Is there any way I can contact you on email? I have a couple of questions with respect to absolute optical encoding for servos. Would really appreciate any inputs from your end. Many thanks. :)

  • @user-sb7tu2ve8h
    @user-sb7tu2ve8h 7 ปีที่แล้ว +2

    I really like your videos. I learned so much from them ;)

  • @ninjaex4535
    @ninjaex4535 7 ปีที่แล้ว +1

    Very good instruction videos. Does take a few times of watching for me to understand fully though :).

  • @basricavusoglu5627
    @basricavusoglu5627 6 ปีที่แล้ว +2

    perfect video.Thank you

  • @bester6019
    @bester6019 4 ปีที่แล้ว +1

    Einfach nur genial!

  • @hariharanadhasastry4401
    @hariharanadhasastry4401 6 ปีที่แล้ว +1

    sir this is simply superb

  • @id92114
    @id92114 6 ปีที่แล้ว +5

    perfect!!! thank you!

  • @fatihcemalcan3280
    @fatihcemalcan3280 7 ปีที่แล้ว +1

    Thank you and your team for nice video.

    • @HomoFaciens
      @HomoFaciens  7 ปีที่แล้ว +2

      You're welcome! The "Team" is just me ;-)

  • @gioraver
    @gioraver 4 ปีที่แล้ว +1

    great animations and effort to share

  • @perksofperks
    @perksofperks 7 ปีที่แล้ว +3

    I love this accent so much.

  • @rklauco
    @rklauco 7 ปีที่แล้ว +4

    Love the video! Thanks.

  • @billsmith5166
    @billsmith5166 3 ปีที่แล้ว +1

    Very well done.

  • @arduinomaquinas
    @arduinomaquinas ปีที่แล้ว +1

    Awesome video👏👏👏👏🇧🇷😉👍great project, I subscribed and thank you !

  • @alcryton6515
    @alcryton6515 3 ปีที่แล้ว +1

    Love your video sir.

  • @chbonnici
    @chbonnici 2 ปีที่แล้ว +1

    I build this and worked perfect for my purpose . I made a 91mm disk with 36 teeth and 36 spaces. My idea is to make it stop say when the counter comes up to 300. This is under 17 full revolutions. The question is what can I add to the program to make it stop at 300 counts. Thanks for the fantastic video and presentation. People like you make a difference.

    • @HomoFaciens
      @HomoFaciens  2 ปีที่แล้ว

      The question is: What are your coding skills? Have a look at the source of the Arduino sketch and make the changes.

    • @chbonnici
      @chbonnici 2 ปีที่แล้ว

      @@HomoFaciens unfortunately I am not that good but kept trying.

  • @arthurblue1296
    @arthurblue1296 7 ปีที่แล้ว +1

    nice work !!!

  • @secretoonly593
    @secretoonly593 3 ปีที่แล้ว +1

    Super. Vielen Dank.

  • @user-bm1cn4du9r
    @user-bm1cn4du9r 7 ปีที่แล้ว

    팩트 박원삼 사장님 감사합니다

  • @rafaelmarroquin4429
    @rafaelmarroquin4429 7 ปีที่แล้ว

    as. much the best educational videos than a saw

  • @iIiWARHEADiIi
    @iIiWARHEADiIi 7 ปีที่แล้ว +3

    Good tutorial.
    Just to completely overview a topic of this type encoders.
    You can make a video for the encoder which has double or several areas with different resolutions.
    As result, Arduino can use raw encoder for a fast movement to the desired position and with slow speed use precise area for the fine positioning.
    If the tooth size will be the same as the detecting window it will produce sinusoidal signals. This signal can be detected by ADC and after could be calculated angular position with extreme precision.

    • @HomoFaciens
      @HomoFaciens  7 ปีที่แล้ว

      There is more to tell about rotary encoders. I will talk about your suggests in my "Physical Computing" series that will start soon. Stay tuned!

    • @iIiWARHEADiIi
      @iIiWARHEADiIi 7 ปีที่แล้ว

      You can try to make dedicated slave microcontrollers for each servo.
      Than program them via any interface from main controller: Speed, Direction, Acceleration, Distance.
      And use single sync signal to start simultaneous movement on many axes.
      During the movement period of time, could be buffered new data points.

    • @HomoFaciens
      @HomoFaciens  7 ปีที่แล้ว

      I'll keep that in mind.

  • @t1d100
    @t1d100 ปีที่แล้ว

    Thank you!

  • @electronicsafrica
    @electronicsafrica 6 ปีที่แล้ว

    thanks for sharing

  • @alexandrevaliquette1941
    @alexandrevaliquette1941 6 ปีที่แล้ว +4

    Well done, nice animation. Continue your great work, it's just a shame that you only get hundred views so far. But this is a very "nice" video.
    Thanks from Alexandre, Québec, Canada

    • @HomoFaciens
      @HomoFaciens  6 ปีที่แล้ว +2

      Well, if those hundreds of viewers now understand how rotary encoders work, it was worth the effort.
      Regards from Niedertiefenbach, Germany

    • @alexandrevaliquette1941
      @alexandrevaliquette1941 2 ปีที่แล้ว

      @@HomoFaciens Hey, I'm back on your video 3 years latter!!!
      I'm so glad you now have more than 400 000 views and almost 70 000 subs!!!
      I know it was great content, you deserve this HomoFaciens!

    • @HomoFaciens
      @HomoFaciens  2 ปีที่แล้ว +1

      Time brings clicks, obviously and I am a patient man ;-)
      Nice to know you still remembered me!

    • @alexandrevaliquette1941
      @alexandrevaliquette1941 2 ปีที่แล้ว +1

      @@HomoFaciens Time will not bring clic if you did not bring high quality content. You can be proud of yourself!

  • @mrstanlez
    @mrstanlez 3 ปีที่แล้ว +2

    Perfect video tutorial Norbert how always.
    I have a question, what software you use for this nice simulation ? Thank you. Don't stop.

    • @HomoFaciens
      @HomoFaciens  3 ปีที่แล้ว +1

      Thanks! The animation sequences are written in OpenGL, then exported as a series of still images and finally encoded to a video with ffmpeg. Not straight forward but to me a simple way of getting control over each pixel with no need for a big software suite.

  • @johnlally3268
    @johnlally3268 7 ปีที่แล้ว +1

    nice counter for wire and round or flat material

  • @shokdj1
    @shokdj1 7 หลายเดือนก่อน +1

    I really need to do this

  • @emmanuelbabu2215
    @emmanuelbabu2215 6 ปีที่แล้ว +2

    Hi.. Thank you for the great video.... What type of position sensor system would you suggest for position estimation for a switched reluctance motor application?... Can we use the method in your video?

    • @HomoFaciens
      @HomoFaciens  6 ปีที่แล้ว +1

      The type of feedback sensor depends on your application, not on the type of motor you are using. You can use a quadrature encoder with light sensors as demonstrated in this video for many applications.

  • @hassindoembro
    @hassindoembro 2 ปีที่แล้ว

    Nice... Thx

  • @taegongsill8699
    @taegongsill8699 5 ปีที่แล้ว

    good learning

  • @RangerM98
    @RangerM98 7 ปีที่แล้ว +1

    nice!....havent watched the whole video yet (am in the process... but I wanted to comment something that is already apparent to you probably but interesting none the less....just stack the sensors vertically at a slight (1mm offset) and you could have it operate using just a hair more than a mm thick ;)....that would increase precission of the system by ?? approximately 700% :)

  • @stumpy1495
    @stumpy1495 5 ปีที่แล้ว +1

    I miss your old videos like this one before they became mainly reviews.

    • @HomoFaciens
      @HomoFaciens  5 ปีที่แล้ว

      I am working on my CNC series - results will be published, soon. Creating own things from scratch east far more of my time than unpacking and making a review, but it's worth the efforts...

  • @tclin0329
    @tclin0329 2 ปีที่แล้ว +1

    Mr. Heinz, thank for video, is it also possible to know the orientation of the motor by the two optical sensors?

    • @HomoFaciens
      @HomoFaciens  2 ปีที่แล้ว

      Sorry, but I don't understand the question. Put the sensor disc on the motor shaft and you can determine the angle of rotation od the motor.

  • @jaydee3670
    @jaydee3670 6 ปีที่แล้ว +1

    Thanks a lot, i really enjoyed your video.but i have some questions: could you please explain how to connect the encoder to a servo motor(UAV)? and how can the position be determined?

    • @HomoFaciens
      @HomoFaciens  6 ปีที่แล้ว

      How to make a digital Servo with encoder discs is explained on my pages:
      homofaciens.de/technics-base-circuits-encoder-disc_en.htm

  • @miss.wright3035
    @miss.wright3035 2 ปีที่แล้ว

    Where can I buy a digital counter kit already calibrated with a rotary disc ?

  • @jugnu361
    @jugnu361 7 ปีที่แล้ว

    great

  • @waka7377
    @waka7377 3 ปีที่แล้ว +1

    wow, optimizaste bastante mi proyecto (un volante para pc con arduino)

  • @mamchand5045
    @mamchand5045 5 ปีที่แล้ว +1

    It's very easy to learn sir request you to please make a video on different teath size

    • @HomoFaciens
      @HomoFaciens  5 ปีที่แล้ว

      The absolute size of the teeth doesn't change any of the physics. The more teeth on a wheel, the higher the angular resolution that's the only thing that changes with the size.

  • @TechBuild
    @TechBuild 7 ปีที่แล้ว

    I recently got an idea of using distance measuring ultrasonic sensor like the hrs04 sensor to detect and measure linear movement and would be helpful in the CNC machine project. What do you say about that?

    • @HomoFaciens
      @HomoFaciens  7 ปีที่แล้ว

      With the "classic" approach of using rotary encoders on threaded rods you can easily get a motion detection with an accuracy of 0.1mm with a travelling length of 1m (or more). Compare that to your ultrasonic sensor. A CNC with an accuracy worser than 0.1mm won't be a good one.

    • @TechBuild
      @TechBuild 7 ปีที่แล้ว

      Got that!

  • @kingredleg6747
    @kingredleg6747 7 ปีที่แล้ว +1

    Again you have brought me to school. I have learned so much from you in detail about encoders. I have heard that Arduino's are not fast enough to calculate fast encoding, motor control. Have you had any problems with this?

    • @HomoFaciens
      @HomoFaciens  7 ปีที่แล้ว

      Not fast enough depends on what kind of motor you'd like to control. Using the hardware interrupt pins (two at the Arduino Uno) you can process encoder pulses in the range of several kiloherz. Even without interrupts I am using an Arduino Uno to control the 3 servo motors of my CNC v3.2. Writing efficient code is the key to successful Arduino projects (or mocrocontrollers in general).

    • @kingredleg6747
      @kingredleg6747 7 ปีที่แล้ว

      Thank you I will check into that

  • @CrisPlebeu
    @CrisPlebeu 5 ปีที่แล้ว +1

    Thanks for your great explanation! Do ou use a atmel microcontroler? Can you share a code for us?

    • @HomoFaciens
      @HomoFaciens  5 ปีที่แล้ว +2

      I am using an Arduino Uno which is an Atmega 328P. Code is on the project page:
      homofaciens.de/technics-base-circuits-encoder-disc_ge.htm

    • @CrisPlebeu
      @CrisPlebeu 5 ปีที่แล้ว

      @@HomoFaciens thank you my friend!

  • @gambini_modding
    @gambini_modding 4 ปีที่แล้ว

    My 90´s classic car used to have electronic headlights height adjustment. It seems someone replaced them with the cheap ones, and i am planning to build the rotary encoders myself and this video has been of great help. Is the arduino code used for this available?

    • @HomoFaciens
      @HomoFaciens  4 ปีที่แล้ว

      As written in the video description box and said in the video, The codes I used are available on my pages:
      homofaciens.de/technics-base-circuits-encoder-disc_en.htm

  • @uzor123
    @uzor123 6 ปีที่แล้ว +1

    What software did you use to make the animations?

    • @HomoFaciens
      @HomoFaciens  6 ปีที่แล้ว

      I programmed the animations in OpenGL using "Geany" as text editor for the source code.

  • @EngrAliHassan
    @EngrAliHassan 7 ปีที่แล้ว +2

    Thanks for video. Can i get the code for this?
    Also i want to implement it with pic16f628A or 877a.

    • @HomoFaciens
      @HomoFaciens  7 ปีที่แล้ว

      The source code is available on my pages:
      homofaciens.de/technics-base-circuits-encoder-disc_en.htm
      If you'd like to make it run on a different controller, you must eventually rewrite the code.

  • @TechBuild
    @TechBuild 7 ปีที่แล้ว

    I have observed that the pins marked 'D0,D1,D2,&D3' of the LCD display are not connected to the arduino in any projects and applications. Are they useless?

    • @HomoFaciens
      @HomoFaciens  7 ปีที่แล้ว

      You can transmit data faster when using those additional pins. Since you never have enough pins on your Arduino, the 4 pin bus variant is mostly used.

  • @sergeychigarev255
    @sergeychigarev255 6 ปีที่แล้ว

    What program do you use for animation creating?

    • @HomoFaciens
      @HomoFaciens  6 ปีที่แล้ว +1

      I programmed the animations in OpenGL using "Geany" as text editor for the source code.

  • @nullptr4042
    @nullptr4042 7 ปีที่แล้ว

    Is the importance of resolution based on how much steps you want ? If I want to make only a single wheel rotation per step does the resolution matter in this case ? can i just attach a magnet to the wheel and use a hall effect sensor to count one step and that will be fine ?

    • @HomoFaciens
      @HomoFaciens  7 ปีที่แล้ว +1

      The more teeth, the more steps per revolution. If 1 pulse per revolution is sufficient, use only one tooth or one magnet with hall sensors. You need two sensors to detect the direction of rotation. More about rotational encoders on my pages:
      homofaciens.de/technics-base-circuits-encoder-disc_en.htm

  • @SidneyCritic
    @SidneyCritic 7 ปีที่แล้ว +1

    How do you increase the resolution to something like 1º. Good videos.

    • @HomoFaciens
      @HomoFaciens  7 ปีที่แล้ว +3

      With the 1mm wide sensing areas of the detectors used in this video you need at least 2mm wide teeth (3mm and more is better to adjust the system). To get 1°, you need 360 pulses per revolution, thus 360 / 4 = 90 teeth, resulting in a 17.2mm disc diameter with 3mm teeth and gaps.
      There are sensors having two output pins built in, that can scan even finer line patterns. Have a look at the sensors used in printers:
      th-cam.com/video/a55EwMSIy2w/w-d-xo.html

    • @ntomata0002
      @ntomata0002 7 ปีที่แล้ว +2

      172mm, not 17.2mm! Don't get peoples hopes high! I really love your work.

    • @HomoFaciens
      @HomoFaciens  7 ปีที่แล้ว

      No, 17.2cm ;-)
      Thanks for posting the correct number.

  • @KevaReview
    @KevaReview 7 ปีที่แล้ว

    can you use stepper motor for this kind of configuration? this will clearly improve stepper motor to eliminate stall or miss step from the stepper motor

    • @HomoFaciens
      @HomoFaciens  7 ปีที่แล้ว

      Of course you can also implement feedback for a conventional stepper motor.

  • @mrstanlez
    @mrstanlez 3 ปีที่แล้ว

    Hallo Norbert. Ich habe einen problem mit enkoder geschwindigkeit, naturlich mit hand. Fur hohe umdrehung er zahlt garnichts. Bitte, hast Du einen code fur es ? Danke Dir.

    • @HomoFaciens
      @HomoFaciens  3 ปีที่แล้ว

      Die Beispielcodes aus diesem und weiteren Videos gibt's auf meinen Seiten:
      homofaciens.de/technics-base-circuits-encoder-disc_ge.htm

  • @techisgod
    @techisgod 5 ปีที่แล้ว

    My homemade Six Digit, 20MHz, CD74HC192 Up-Down counter circuit counts Quadrature Encoder pulses at 20Mhz speeds. And seems to be many times faster than using my PIC16F887 microcontrollers.
    Can you tell me why?

    • @GeorgeGeorge-xj2bc
      @GeorgeGeorge-xj2bc 4 ปีที่แล้ว

      Of course the discrete logic gates or programmable logic circuits are a lot times faster compared to a clocked microproccesor that executes one by one instruction in the best case one instruction per single clock.

  • @atech6580
    @atech6580 7 ปีที่แล้ว +2

    Why dont you use just one sensor for tracking the steps and keep track of the direction in software through a variable when direction pin is triggered..?

    • @HomoFaciens
      @HomoFaciens  7 ปีที่แล้ว +6

      Just one sensor only works in slowly turning sensors, such as used in my cnc v3.0:
      th-cam.com/video/IPClUTfKB-o/w-d-xo.html
      In high power, fastly spinning control loops, there is always overshoot caused by inertia, thus you can't be sure your motor spins into the opposite direction as soon as you trigger the reverse pin. It will continue spinning into the wrong direction for a couple of steps.

    • @atech6580
      @atech6580 7 ปีที่แล้ว

      Ok got it. Thanks for answering.

  • @THOMASTHESAILOR
    @THOMASTHESAILOR 3 ปีที่แล้ว +1

    Nice Job, but, How fast are they ? What's maximum frequency ? Will the censors work at 5000 rpms of the disc ?

    • @HomoFaciens
      @HomoFaciens  3 ปีที่แล้ว

      An Arduino can process incoming pulses in the range of some kilohertz. The rest is simple maths.

  • @jugnu361
    @jugnu361 6 ปีที่แล้ว

    Made in Germany..Always Great !!

    • @HomoFaciens
      @HomoFaciens  6 ปีที่แล้ว

      Thanks from a German.

  • @CamiloACamacho
    @CamiloACamacho 7 ปีที่แล้ว +1

    Nice. What is that animation software?

    • @HomoFaciens
      @HomoFaciens  7 ปีที่แล้ว

      Thanks!. I coded the animations in OpenGL using "geany" as text editor.

  • @RangerM98
    @RangerM98 7 ปีที่แล้ว +1

    Also if you increase the resolution (to greater than the motor is capable (calculation would need to be done of course depending on specific specifications desired in teh end product...but....)...if you did increase the resolution to greater than that of the motor's resolution, you could (there might be an easier way) get input when it misses a step ....that is more precise than is capable otherwise which could be used to design a response algorythm to lower the speed or linear velocity of the movement to be in the capabilities of the torque of the motor without missing a step and at the same time keep positive identification on the location of the motor at ANY TIME...which means that it wouldn't have to re calibrate by running to a limit switch or what not...but could continue on and cut the speed, thus getting better material takeoff quantity and ending in a superior finish...and with less wear and quicker ;)

    • @HomoFaciens
      @HomoFaciens  7 ปีที่แล้ว +3

      Higher resolution means more input to be processed by the microcontroller. The Arduino I am using in my latest CNC v3.2 is near the limit with the 120 pulses per revolution (that results in less than 0.01mm of linear movement per step).
      But you are right, if your computing power can process the high number of pulses, more is usually better. I will talk about that when doing the software optimizations for my CNCs.

  • @angelleal3005
    @angelleal3005 2 ปีที่แล้ว

    I'm trying to find an industrial sensor for this ? If anyone knows of something good.

  • @andrewferg8737
    @andrewferg8737 3 ปีที่แล้ว +1

    Is it better to put the encoder on the slow shaft or the fast shaft for geared servo motors?

    • @HomoFaciens
      @HomoFaciens  3 ปีที่แล้ว

      That depends on the accuracy you need (higher with the encoder on the motor) or the number of pulses your microcontroller can process (better on the output shaft of the gear).

    • @andrewferg8737
      @andrewferg8737 3 ปีที่แล้ว

      @@HomoFaciens Thanks for your reply! I have made several analog and optical encoder servos now that I can control with a potentiometer. How can I create a menu of positions for automatic sequence of movement?

  • @rohanjunior6240
    @rohanjunior6240 ปีที่แล้ว

    i want step feedback system and i want to mount with gear box but i don't want to used PLC device, can you suggest any device and sensor? please

    • @HomoFaciens
      @HomoFaciens  ปีที่แล้ว

      I have built a servo with feedback and gears, maybe that's what you are looking for:
      th-cam.com/video/j3flZ05-qf4/w-d-xo.html

  • @riqued.7074
    @riqued.7074 3 ปีที่แล้ว

    Hallo. Wie geht es dir? Where is the video were you teach to convert a encoded motor to stepper motor?

    • @HomoFaciens
      @HomoFaciens  3 ปีที่แล้ว

      Danke, gut und selbst? This one (there is more than one chapter about this topic on my pages)?
      homofaciens.de/technics-base-circuits-encoder-disc_en.htm

    • @riqued.7074
      @riqued.7074 3 ปีที่แล้ว

      @@HomoFaciens Super! Vielen Dank.

  • @andrewtitcombe8378
    @andrewtitcombe8378 10 หลายเดือนก่อน

    Anyone know if Opto encodes suffer debounce? As i have an encoder that is fluctuating between high and low while the motor has stopped.

    • @HomoFaciens
      @HomoFaciens  10 หลายเดือนก่อน

      That depends on the type of optical encoder. There can only be a is a bounce on one of the outputs at a time, since the second is fully covered or fully exposed at the same time. With that it doesn't have an impact on the accuracy..

  • @RinksRides
    @RinksRides 4 ปีที่แล้ว

    I like the simple idea. Is it as simple as doubling the sensors for doubling the resolution? could hall sensors be used on metal gears?

    • @HomoFaciens
      @HomoFaciens  4 ปีที่แล้ว

      Besides light sensors, Hall sensors are commonly used for contactless rotary encoders.
      Each additional Sensor can double the resolution (two more sensors means four times the resolution of 2 sensors). It's the binary number scheme. However, you must place them correctly.

    • @RinksRides
      @RinksRides 4 ปีที่แล้ว

      @@HomoFaciens so at 8:18, the formula goes D = n (W_tooth + W_gap) +/- (W_tooth/2), an alternative formula might be: PulsesPerRevolution = N_teeth * (2(N_sensors))

    • @HomoFaciens
      @HomoFaciens  4 ปีที่แล้ว

      Its not that straight forward with the number of teeth. You need a more complex sensor disc to get the result:
      en.wikipedia.org/wiki/Rotary_encoder#Ways_of_encoding_shaft_position

    • @RinksRides
      @RinksRides 4 ปีที่แล้ว

      @@HomoFaciens Sorry for the last botched response, was trying to insert subscript (YT comments do not support that). Thank you again for making things clearer. I have spent the day reviewing this video and the webpage related to it. I have made a Google sheet that you may copy and adjust settings in the yellow cells, the hidden formulas do the rest: tinyurl.com/Opticoder-o-Matic - Broken, fixing it, will update these comments when it is fixed.
      This came about because I have a need to compensate for 0.02" backlash in my Y axis on a 1963 Cincinnati 1B Toolmaster milling machine I have converted to LinuxCNC with 3D printed pulleys and HT-5 Belts and NEMA34 motors. I will be using a DIY draw wire encoder I will later post to thingverse if it is successful. With 125 x 2mm teeth and 4 photo-interrupters spaced 31.5 degrees apart, it should give me 2000 PulsePerRev on a 2" drum which equates to 1 pulse per 0.001" of linear cable travel. Thank you again.

    • @HomoFaciens
      @HomoFaciens  4 ปีที่แล้ว

      @Michael Rinkle sounds interesting! Compensating backlash through software isn't the best solution, however I am curious to see your construction once it is on thingiverse.

  • @bilalmalik8088
    @bilalmalik8088 5 ปีที่แล้ว

    do you have a arduino UNO code ?
    because i am doing project and i am facing some problems so kindly help me please

    • @HomoFaciens
      @HomoFaciens  5 ปีที่แล้ว

      I was using an Arduino Uno in this video. All source codes are available on my pages:
      homofaciens.de/technics-base-circuits-encoder-disc_en.htm

  • @prasannaprassi1198
    @prasannaprassi1198 6 ปีที่แล้ว +1

    Sir how to measure degrees which type of sensor we used

    • @HomoFaciens
      @HomoFaciens  6 ปีที่แล้ว

      You can use a rotary sensor as shown in this video.

  • @Dancopymus
    @Dancopymus 8 หลายเดือนก่อน

    Hello friend, your projects are excellent; I subscribed to your channel.
    In your video, at approximately 4:40, you show a Sensor with a Sprocket; I have a small Printer Motor coupled to an Optical Sensor and a small Sprocket (approximately 32 teeth) but my sensor has 4 wires, certainly 2 for power and 2 for the signal, so how can I use it with your code? Thanks

    • @HomoFaciens
      @HomoFaciens  8 หลายเดือนก่อน

      As told in the video, have a look at my project pages. There is also a chapter on using unknown sensors from old printers:
      homofaciens.de/technics-base-circuits-transmissive-optical-sensors_en.htm

  • @Ebuilt
    @Ebuilt 6 ปีที่แล้ว

    #define P_FRACTION 1.0 //Proportional factor of control loop 0.001 - 10.0 (1.0)
    #define STEP_MARGIN 4L //10 - 1000 (1)
    sir i download your code from your given website i am confused
    can you explain these two lines
    because in your whole code P_FRACTION remains constant
    and what is this 4L?

    • @HomoFaciens
      @HomoFaciens  6 ปีที่แล้ว +1

      Of course P_FRACTION is constant. That's why it is defined that way.
      The "4L" means that STEP_MARGIN is set to the valuie 4. The "L" is just a hint for the compiler that it is a long vale. The code will also work without the "L".

  • @RogerBartop-Arcade
    @RogerBartop-Arcade 2 หลายเดือนก่อน

    Is it possible to hack a rotary encoder w/sensor board? I have a usb encoder board that is used on a commercial wheel of fortune game. It is used to spin the wheel, as well as letter selection. I would like to use buttons on an extra machine instead. Right and left button for letter selection would be nice, and a button to say spin wheel max. BTW, game will not function if it doesn't see encoder board connected, so kinda need to work with it

    • @HomoFaciens
      @HomoFaciens  2 หลายเดือนก่อน

      I have investigated how to make use of such sensors in printers:
      homofaciens.de/technics-base-circuits-transmissive-optical-sensors_en.htm

  • @nasehmomin9407
    @nasehmomin9407 6 ปีที่แล้ว +1

    Hello Dear,
    Can we measure the tooth thickness of gears using this rotary sensor.
    If yes then please suggest me that sensor.

    • @HomoFaciens
      @HomoFaciens  6 ปีที่แล้ว

      What sensor you need for measurements depends on the accuracy needed to make it work for you. It's a huge difference if +-1mm is okay for your setup or if you need +-0.1mm. The sensor is just half the measurement, You must say what mechanics you have to scan your gears.

    • @nasehmomin9407
      @nasehmomin9407 6 ปีที่แล้ว

      I am doing monitoring of Backlash (reducing one tooth thickness by 1 mm). That means if I am having 45 number of teeth from that all of 44 teeth having thickness of 5mm and the last one having 4mm thickness. I am using phenomenon of change in magnetic field which varies based on the metal target geometry (as per my assumption). Is it possible to measure such small change in gear teeth with hall effect magnetic sensor? Please suggest me such sensor which can measure the 1mm change in gear teeth. Rpm of gear is around 500.

    • @HomoFaciens
      @HomoFaciens  6 ปีที่แล้ว

      Sorry, but I haven't done such measurements, yet, thus I can't tell you to use this or that sensor. Whether it works or not depends on more but the gear dimensions. It's up to you to create a test setup and see how it performs Improve the design until it meets your requirements. Inventing means try and learn from errors.

  • @The_Mindful_Scholar
    @The_Mindful_Scholar 7 ปีที่แล้ว +1

    Hellow sir i want to use rotary encoder to measure linear distance by just multiplying counter with circumference of the wheel. In center of the wheel i fixed saft of encoder but i found problem that I made it to show a number of encoder into monitor when it changes the state. But when I rotate it, it shows a new line in serial monitor, but the number of it does not change (it wanted to change but it did not). however if I rotate it very slowly it works and changes. But I do not use any interrupts. Here is the code and help me to solve this problem :
    #include
    LiquidCrystal lcd(6, 7, 8, 9, 10, 11);
    // int address=50;
    // int read_value=0;
    const int buttonPin = 4;
    int buttonState;
    // int led=9;
    int val;
    int encoderPinA = 3;
    int encoderPinB = 2;
    int counter = 0;
    int encoderPinALast = LOW;
    int n = LOW;
    float Length;
    float r=31.82;
    float pulses=15;
    float pi=3.1428571;
    int istrue;
    void setup() {
    // pinMode(led,OUTPUT);
    pinMode (encoderPinA,INPUT);
    pinMode (encoderPinB,INPUT);
    Serial.begin (9600);
    lcd.begin(16,2);
    lcd.setCursor(0,0);
    lcd.print("LENGTH COUNTER");
    lcd.setCursor(0,1);
    lcd.print(Length)+lcd.print(" mm ")+lcd.print( counter);
    //delay(400);
    }
    void loop() {
    /////
    n = digitalRead(encoderPinA);
    if ((encoderPinALast == LOW) && (n == HIGH)) {
    if (digitalRead(encoderPinB) == LOW) {
    counter=counter-1;
    Length=2*pi*r*counter;
    Length=Length/pulses;
    if(counter

    • @HomoFaciens
      @HomoFaciens  7 ปีที่แล้ว

      Output through serial.print or through LCD modules takes too many cycles, thus your microcontroller will skip many pulses and so it won't work (at least just with very slow speeds). The only way is using interrupts as I did in the video. You can get my sample code on my pages:
      homofaciens.de/technics-base-circuits-encoder-disc_en.htm

  • @chanchalsakarde2768
    @chanchalsakarde2768 2 หลายเดือนก่อน

    how to control steps movements, like lets say we have 400 circular points to move one by one and i need to move pointer in following example sequence starting from 0->10->240->45->28-> .......... -> 400 . How can we automate this ..

    • @HomoFaciens
      @HomoFaciens  2 หลายเดือนก่อน

      Well, by learning just a tiny bit of coding?

  • @seimela
    @seimela ปีที่แล้ว

    Where did you buy this sesnsors

    • @HomoFaciens
      @HomoFaciens  ปีที่แล้ว

      Don't know, I have always a bunch of them. Maybe they are from an old printer:
      homofaciens.de/technics-base-circuits-transmissive-optical-sensors_en.htm

  • @vladimir2726
    @vladimir2726 7 ปีที่แล้ว

    I think about this few weeks ago). How about big weel with 2 mm tooths?

    • @HomoFaciens
      @HomoFaciens  7 ปีที่แล้ว

      That would give you a higher resulution (more steps per revolution). the 30 teeth and so 120 steps per revolution are good enough for my CNC (resulting in a linear movement of less than 0.01mm per step).

    • @massimookissed1023
      @massimookissed1023 7 ปีที่แล้ว

      oldmangin mt , you can buy 400 or 360 PPR rotary encoders for less than €$10.

  • @Christian-qp3rv
    @Christian-qp3rv 5 ปีที่แล้ว

    hi sir...how to get value 5 degree per detection of pulse,...sorry for my bad english

    • @HomoFaciens
      @HomoFaciens  5 ปีที่แล้ว

      Full turn = 360 degrees
      360 / 5 = 72 pulses per turn.
      4 pulses per tooth
      72 / 4 = 18 teeth for your sensor disc.

  • @AgeDee34
    @AgeDee34 6 ปีที่แล้ว

    ill be back

  • @ESTRATEGAAN
    @ESTRATEGAAN ปีที่แล้ว

    Hola como puedo hacer la rueda dentada para que queden perfectos como tu disco verde . Saludos

    • @HomoFaciens
      @HomoFaciens  ปีที่แล้ว +1

      Säge und Feile. Die Vorlage aus Papier wird auf das Blech aufgeklebt Geht auch mit einem 3D Drucker.

    • @ESTRATEGAAN
      @ESTRATEGAAN ปีที่แล้ว

      @@HomoFaciens hola mi pregunta es que software utilizaste para hacer los encoder antes de imprimirlos. saludos🥲

    • @HomoFaciens
      @HomoFaciens  ปีที่แล้ว

      Da ich nur Deutsch und Englisch lesen kann, wäre es hilfreich, deine Frage in einer dieser beiden Sprachen zu stellen. Das beugt Missverständnissen vor.

    • @ESTRATEGAAN
      @ESTRATEGAAN ปีที่แล้ว

      @@HomoFaciens Verzeihung. Welche Software verwende ich, um einen Encoder zu erstellen?------sorry. What software do you use to make encoder?something that you recommend

    • @HomoFaciens
      @HomoFaciens  ปีที่แล้ว +1

      Ich habe die Zeichnung der Vorlage mit LibreOffice Draw gemacht. Prinzipiell kann man das mit jeder Zeichensoftware machen.

  • @jameselliott9397
    @jameselliott9397 5 ปีที่แล้ว

    What is that type of sensor called?

    • @HomoFaciens
      @HomoFaciens  5 ปีที่แล้ว

      Light sensor, slotted optical switch, optical sensor or photo interruptor. You can get them e.g. from old printers:
      homofaciens.de/technics-base-circuits-transmissive-optical-sensors_en.htm

  • @prasannaprassi1198
    @prasannaprassi1198 6 ปีที่แล้ว +1

    Sir I want program

    • @HomoFaciens
      @HomoFaciens  6 ปีที่แล้ว

      Have a look at my project page:
      homofaciens.de/technics-base-circuits-encoder-disc_en.htm
      homofaciens.de/technics-base-circuits-encoder-disc-2_en.htm

  • @nasehmomin9407
    @nasehmomin9407 6 ปีที่แล้ว

    details of sensor???

    • @HomoFaciens
      @HomoFaciens  6 ปีที่แล้ว +1

      I am showing how to get them from old printers in another video and on my pages:
      homofaciens.de/technics-base-circuits-transmissive-optical-sensors_en.htm

  • @tommy.dee1
    @tommy.dee1 3 ปีที่แล้ว

    Know anybody if is possible to calculate speed of rotation?

    • @HomoFaciens
      @HomoFaciens  3 ปีที่แล้ว +1

      You must measure the time between the change of states. Store the start time, wait until a number of events took place and then store the end time. If you know the number of teeth, you can calculate the speed with simple math.

    • @tommy.dee1
      @tommy.dee1 3 ปีที่แล้ว

      @@HomoFaciens I want to use it for wind speed for meteostation builded from arduino. I will hry something, because number of teeth and diameter I know

  • @abdallhqise2248
    @abdallhqise2248 2 ปีที่แล้ว +1

    Hello
    Can you help me write the Arduino code?
    I designed a small car that runs on a single DC motor, and I want to measure the distance traveled by the car and through this distance I can stop the car or reduce its speed.
    So I purchased (Incremental Rotary Encoder 600P/R) to measure the distance by attaching it to one of the wheels, and I also purchased (BTS7960 43A-H Bridge High-power Motor Driver) to control the motor according to the distance measured by the encoder.
    (For example, when the car travels a distance of two meters, it slows down or stops)
    Can you help me write the code on the Arduino?
    Note that I have the circumference of the wheel, and I will send a picture of the encoder and the Motor Driver
    Thank you.​

    • @HomoFaciens
      @HomoFaciens  2 ปีที่แล้ว

      You know all you need for the program, so start writing the code:
      Split it all into small parts and start with a program that does nothing but control the motor forward, pause, backward.
      Then make the code read the sensor disc and so on.
      You can find the code samples of this video on my pages:
      homofaciens.de/technics-base-circuits-encoder-disc_en.htm
      and
      homofaciens.de/technics-base-circuits-encoder-disc-2_en.htm
      I am not the dude that writes your code for free ;-)

  • @pablodelaia6083
    @pablodelaia6083 5 ปีที่แล้ว

    Tem como traduzir ???

    • @HomoFaciens
      @HomoFaciens  5 ปีที่แล้ว

      I only can offer English and German versions of my videos.

  • @bilalmalik8088
    @bilalmalik8088 5 ปีที่แล้ว

    can we get code please ?

    • @HomoFaciens
      @HomoFaciens  5 ปีที่แล้ว

      The code I am using is published on my pages:
      homofaciens.de/technics-base-circuits-encoder-disc_en.htm