Encoded Motor With Arduino

Поділитися
Вставка
  • Опубліковано 16 вер 2024

КОМЕНТАРІ • 178

  • @nikodembartnik
    @nikodembartnik  4 роки тому +7

    Support my projects on Patreon → www.patreon.com/nikodembartnik

  • @tomgruenke3048
    @tomgruenke3048 Рік тому +6

    I doubt that anyone will ever see this post, but I had to write one because this video is the BEST I have seen regarding this subject. I have been looking for this solution for over 6 years now and came across it just now. Every other video on YT does not use position control with DC/encoder control(closed loop). Seems they all like steppers. There is no better way than this method for position control at a very inexpensive solution. I was a CNC tech for over 25 years, and this method was used long ago on industrial machining centers. Thank you very much for this project!

  • @USDigital
    @USDigital 4 роки тому +5

    Great explanation of how an encoder works! 0:53

  • @seklerek
    @seklerek 5 років тому +86

    I think you should zoom in on the code when you're explaining it, now it's a bit hard to see on a computer and on mobile it's impossible. Otherwise cool video!

  • @jakebozz7677
    @jakebozz7677 5 років тому +6

    Nikodem, you're sooo diverse! It's always fun to see what you're tinkering with each video! Your projects always intrigue and impress me! Keep up the great explorations and work!

  • @merlingallagher4484
    @merlingallagher4484 5 років тому +3

    Quality of your videos is really getting better! Keep up the good work!

  • @AppliedMathematician
    @AppliedMathematician 3 роки тому

    That background music is really chilling, I like it.

  • @ItsJustMJ3
    @ItsJustMJ3 5 років тому +4

    Great tutorial. This is precisely how I want to control my droid dome rotation. Remote controllable and automated. Thank you for all your research. Gotta get myself a 12v dc motor with encoder now. ;)

  • @pierazzoli1
    @pierazzoli1 2 роки тому

    Nice tutorial! My actual project for agriculture uses a sensor hall or a reed switch to control a peristaltic pump. The "IN" is the wheel speed. It uses a 12V, 36W windshield motor and a IRF1404 “as driver” (plus a diode and resistors for protection).

  • @heinrichhelmbold419
    @heinrichhelmbold419 4 роки тому +1

    Great video and thank you for the time you invest in these videos. It would be great if you could explain the wiring a bit more too. "Here is the motor... it has 6 wires" - what are those six wires for? My motor has 2 power wires and 4 encoder wires, so it looks different and has different colors but has the same functionality. If you explained what the wires are for, it will help others with different motors to also understand the wiring better.... like myself :-) But thank you again

  • @xle8329
    @xle8329 3 роки тому

    this is completly underated thx man

  • @mugheerasaleem6391
    @mugheerasaleem6391 4 роки тому

    SOOOOOOO nice. Love the way you've summed it all up.

  • @zell9058
    @zell9058 5 років тому +1

    Excellent production quality!

  • @tenlittleindians
    @tenlittleindians 5 років тому +4

    Do you have a correct circuit diagram for this? The link you included for the motor has a harness with the wires in a different color order than the motor in your video. The colors do not match your fritz diagram.

  • @rklauco
    @rklauco 5 років тому +1

    You will have a bit of a problem with i2c. The problem will be the interrupt - you will need to make sure you can read pulses while communicating over i2c... What's the problem of using serial instead of i2c, btw? Misun wrote a nice servo controller already for arduino, esp8266 and I modded it for ATtiny85, perhaps check that one out for inspiration ;) Nice work, btw. Good luck.

  • @forgotrafe
    @forgotrafe 5 років тому +2

    In your code, you’d be much better off defining a constant for each dio pin e.g. MotorSense = 3; Not only does it make your code easier to read, and less likely to make mistakes, but if you ever changed pin, you only need to change the code in one place.

  • @joaojesus8861
    @joaojesus8861 4 роки тому +1

    U saved my life mate! Thank you

  • @electronic7979
    @electronic7979 5 років тому +1

    Nice and useful product. I liked it.

  • @raymundonevarez685
    @raymundonevarez685 3 роки тому

    nice editing man, i like this.

  • @ChronoGXay
    @ChronoGXay 6 місяців тому

    I pulled up the DC Motor w/ Encoder that you provided a link to in the video's details and compared it to the Fritzing diagram you displayed (3:19), and the wiring you suggested does not make sense to me. In particular: Why are we connecting the motor's white "Quad encoder B signal'" wire (see Amazon's pictures) to the negative motor terminal of the driver?

  • @minayakarimova
    @minayakarimova 4 роки тому +1

    Huge thanks! It was useful for me

  • @omnianti0
    @omnianti0 4 роки тому +1

    it ok for wheel but for a turret we have to know the zero so what kind of sensor allow angle feedback

  • @aymanmustafa2378
    @aymanmustafa2378 5 років тому +1

    Hi! I am a fan of your youtube channel, because they are easy to follow. Can you provide a schematic drawing for the wiring when using Arduino uno instead of nano?

  • @cesargomez8959
    @cesargomez8959 4 роки тому +1

    2:54 where to buy an encoder like that without the motor? I have 2 peg prego dc motors that I want to put an encoder.

  • @mateogermanorjuelagalvez3820
    @mateogermanorjuelagalvez3820 Рік тому +1

    Hello friend, I'm from Colombia, I'm doing this same project using exactly the same components and the same code of your video, but I can't get it to work correctly, when it reaches the position that it should stop, the only thing it does is reverse the direction of rotation , please help me

    • @mateogermanorjuelagalvez3820
      @mateogermanorjuelagalvez3820 Рік тому +1

      In addition, the current when reaching the desired position rises too high and the motor driver gets very hot.

  • @akissot1402
    @akissot1402 Рік тому

    cool and very nicely and clearly explained.

  • @cvonp
    @cvonp 4 роки тому +2

    NIcely done! I'm curious about your inclusion of the PID library. Are you using that to accomplish smooth acceleration/deceleration of your motor? Cheers

  • @channelexclusive8240
    @channelexclusive8240 4 роки тому +1

    I connect a 12v encoder motor instead of 6v when I move the potentiometer ligermanet the motor does not respond and keeps rolling why? I send position in serial plotter and nothing it still rolling
    -85
    -87
    -88
    -90
    -92
    -93
    -95
    -97
    -99
    -100
    -102
    -104
    -106
    -108
    -111

  • @fabiolus2007
    @fabiolus2007 3 роки тому

    Are going to make a video about how to implement this method to a robot with two wheels? I need to learn how to control two motors in synch on my project.
    Thank you

  • @bikefarmtaiwan1800
    @bikefarmtaiwan1800 3 місяці тому

    Great video!

  • @tomatocoder6071
    @tomatocoder6071 3 роки тому +1

    Sorry, but I couldn't find right code in your repository. Can you say me file's name for Encoder, please! Thanks a lot for good video

  • @ogek7417
    @ogek7417 3 роки тому

    clearly explained, thank you !

  • @crckdns
    @crckdns 5 років тому

    Easy and good explained, worth a follow :)

  • @baseljamal8907
    @baseljamal8907 4 роки тому

    Thanks yo, Wish you all the best

  • @muftiali1271
    @muftiali1271 4 роки тому +2

    Great tutorial, I try to run the code with the same setup for both knob and serial, but the motor doesn't seems to run correctly. The motor just run at one direction and with constants speed, even when I turn the potentiometer left to right, or the otherway around. Same thing with the serial version, the motor just run at constants speed to different number I typed in. The motor I have is slightly different than the one you have, but the encoder is the same specs, same color cables with 11 signals for 1 turn.
    Do you know why? is it because of this line where I have to tune? pos_pid.tune(20, 0, 200); Thanks

  • @_jonathas.castro_
    @_jonathas.castro_ 4 роки тому +1

    How make control without potentiometer, I want use other encoder to control the servo in this project.

  • @rodrigoc.goncalves2009
    @rodrigoc.goncalves2009 2 місяці тому

    I came across this video after having successfully made a project exactly like the one you mentioned 1st, with the potenciometer. However, I tried doing something using serial comm as the source of the target position, but anytime I connect the powered motor driver to the arduino, serial comm doesnt work. I'm left disconnecting the driver anytime I want to type a number in serial comm. All the grounds have a single common ground point, so it's not a grounding issue. A friend suggested it might be electrical noise from the m.driver interfering with the arduino, what dya think? Thanks

  • @britinindy4255
    @britinindy4255 Рік тому

    I appreciate any tutorials related to Arduino or ESP32 but when you are showing/describing code we need to be able to read it. Thanks!

  • @mochamadrizkyandika4947
    @mochamadrizkyandika4947 Рік тому

    thanks, this really helped me

  • @jamesfilear4118
    @jamesfilear4118 3 роки тому

    Great video, all works well. Would like to put a micro switch to set the 0 point on start up. do you have any videos on that?

  • @amirsaeedirad
    @amirsaeedirad 4 роки тому

    Very good visuals

  • @walterjapsco6966
    @walterjapsco6966 3 роки тому

    Excellent tutorial. Thanks

  • @ConsultingjoeOnline
    @ConsultingjoeOnline 4 роки тому

    Awesome video. Thank you!

  • @Coolarj10
    @Coolarj10 2 роки тому

    Great video! If I understand correctly, the encoder you ultimately used will tell you relative position, not absolute position, is that right? In other words, if you turn the arduino off and then on again, it will think that the current motor position is "0"?

  • @arunakumari5929
    @arunakumari5929 3 роки тому +1

    Hey there, l have seen your videos were really superb but what l actually want is how to control the position of the encoder by using arduino , lcd display to see the position visually, keypad to type degree , potentiometer for lcd display voltage up and down and h-bridge to control high voltage using low voltage . Please let me know if you upload a video basing my project please help me

  • @easy_3d
    @easy_3d Місяць тому

    Can i use an encoded motor as a 360 degree rotation servo ? Suppose i give an input of 5 to the arduino using some monitor display then the encoder must stop at 360degree/5 position, like every 72 degree the motor should stop and rotate??

  • @alirezaghaderi
    @alirezaghaderi 4 роки тому

    You need more zoom on code display
    and a little more explanation code plz
    btw Fantastic Video Thanks Great Job

  • @mesquitamk1681
    @mesquitamk1681 2 роки тому

    suggestion for a new video of a cnc router with this motor and encoder

  • @sabaku7732
    @sabaku7732 4 роки тому

    nice job!! quick question, how would you have figured out the gear ratio if the motor you have wasn't documented?

  • @widget_wizard
    @widget_wizard 3 роки тому +2

    When using the 2nd version of the code without potentiometer, do you just remove the potentiometer from the wiring schematic?

    • @MichaelRHead-zv2zf
      @MichaelRHead-zv2zf 3 роки тому +1

      did you ever figure this out. its driving me crazy. i dont know know what to do.

    • @widget_wizard
      @widget_wizard 3 роки тому

      @@MichaelRHead-zv2zf Niko didn't reply so I didn't go down this path. I found one that was simpler/cheaper ua-cam.com/video/yvrpIYc9Ll8/v-deo.html

  • @MaddoCosplay
    @MaddoCosplay 4 роки тому

    hi first of all good work on the video very well made! i am thinking to introduce this motor into my project (replacing my stepper motor) my question is since my motor will have some load on the shaft would you suggest e a better motor driver in terms of heating and idle power handling? for example for the stepper i'm using a tmc 2208 wich drops power up to 20% when idle...hope to hear from you soon keep up the good work!

  • @qbitsday3438
    @qbitsday3438 Рік тому

    excellent and subscribed!

  • @FarizFadian
    @FarizFadian Рік тому

    Sorry if I'm a beginner.
    I want to ask, is this the same as the stepper?
    Can i set the motor to only rotate 2x (for example) ?

  • @gabrieltomazdelemosgarcia5188

    please use a bigger font on IDE bro! nice video

  • @BrianBoniMakes
    @BrianBoniMakes 5 років тому +2

    I like it. Could this be made as a drop in replacement for a stepper motor?

    • @nikodembartnik
      @nikodembartnik  5 років тому +1

      With proper PID calibration, it could be used instead of a stepper motor

  • @stepanstepanov8106
    @stepanstepanov8106 7 місяців тому

    if you also connect AS5600 contactless angle sensor check

  • @divyaprakashbiswas8781
    @divyaprakashbiswas8781 4 роки тому

    Thank you for sharing this video.
    Have you used the LM393 speed sensor with a DC motor? I am facing a problem with this sensor because it overcounts every time when I use interrupts. Can you please make a video on it?

  • @jedandecko5585
    @jedandecko5585 5 років тому

    Tnx on video, keep them coming :)

  • @wonderwang1585
    @wonderwang1585 2 роки тому

    I can’t find the code shown from attachment. The only using PID is 168 lines contrast yours is 40.

  • @anmo8907
    @anmo8907 Рік тому

    Thank you!

  • @mzzm9484
    @mzzm9484 5 років тому

    Thank you for sharing this information with us. I have a question about checking the position when the tree has to stand still. How you manage this and how you implemented the sw to do it.

  • @UzunKamis
    @UzunKamis 3 роки тому

    02:25 I have the same motor from a printer. Do you know by any chance where can I get its datasheet?

  • @eddykenens9798
    @eddykenens9798 4 роки тому

    Do you have a scematic layout for the setup without potentiometer using the digital input, or is the potentiometer still there?

  • @gerardoramirez9450
    @gerardoramirez9450 4 роки тому

    H there! That was such a masterpiece XD. Thank you very much. Just a question: where could I download the PID Library? Best wishes and good luck :)

    • @juanramirezjardua2082
      @juanramirezjardua2082 4 роки тому

      Hi Gerardo. From the stech menu->Include Library->Manage Libraries. In the filter enter: "PIDController". I've always used the arduino PID_v1 library and I'm not clear what is the difference, but I see the PID_v1 has more control. In any case, great video.

  • @nettigonzales4524
    @nettigonzales4524 4 роки тому

    Hi. I'm new at this. Can you tell me where each color wires go? It's hard to see from your pic. I have same 6 color wires. Tks in advance.

  • @marcelodossantoscoutinho4955
    @marcelodossantoscoutinho4955 3 роки тому

    Hi, do you think is it possible to do a open loop test in order to get a mathematical model of the motor? The test is simply to put a voltage at input and measure the speed output, and of course to hold the data. Thanks

  • @recepcakmak4896
    @recepcakmak4896 4 роки тому

    Hello my friend. I have the same small engine in the video. but I do not know the wiring diagram. I will only use the encoder. Can you help me?

  • @kewlguy333
    @kewlguy333 4 роки тому

    Hello great video. One question though, I try to type 0 into the serial monitor after typing in 1000 and it won’t go back to 0, do you know why that would be? Thankyou

  • @loupote47
    @loupote47 3 роки тому

    Hi, thank you for the video!
    Do you know where i can found this motor's datasheet? I need some values like resistance, inductance, moment of inertia...

  • @jamest4198
    @jamest4198 4 роки тому

    Can I use the Arduino to compare vibration levels of different cd players ect? If so, is it as simple as placing the Arduino sensor on the cd player chassis and also using a multimeter to get the reading?

  • @sedatminer4489
    @sedatminer4489 3 роки тому

    i have same small printer motor with encoder. but i dont know what is the cable order. how can i learn which cable is signal which is gnd which is v5 ??? pleasee helppppp

  • @amrendramandal8695
    @amrendramandal8695 Рік тому

    Thnx for this

  • @lorenzoarfeli8361
    @lorenzoarfeli8361 4 роки тому

    Hi, nice video, how did you manage the motor with the serial monitor?
    Thanks

  • @ekaggrat
    @ekaggrat Рік тому

    How do you keep the position of the motor same on startup? for example if it is in a robot arm then how do you know the absolute location of the arm on startup. Wont the position be different every time the robot boots up?

    • @alanbrito3805
      @alanbrito3805 8 місяців тому +1

      yes it will, that's the downside of these motors, more expensive robotic arms use absolute enocoders, that way the position of the motor is always known

  • @cemmotivos3331
    @cemmotivos3331 5 років тому +2

    project gonna be opensource?

  • @dempa3
    @dempa3 4 роки тому

    Thanks for a great video! I'd like to ask a newbie question. Would it be possible to use a quadcopter ESC flashed with BLHELI firmware, as a motor driver for such precise control of a BLDC motor with encoder?

  • @vanwong8846
    @vanwong8846 5 років тому

    Thanks for shareing the core.
    I was not familiar with coding and I was tring to use the STM32 MAPLE BOARD insted using arduino nano.
    I just going to change some pin number, But it not work...... the encoded can show up to 7 or some number, then the loop was dead.
    Any ider with that?
    Thanks.

  • @carlosramirezsantiago2425
    @carlosramirezsantiago2425 4 роки тому

    Hello let me congratulate you I have seen many of your videos and they are very inspiring !!!! but I don't know as much as you hahaha .... it would be too much to ask ... that you do the same but with the little engine that you showed first ??? I have several of those motors and I want to use them, I know the magnetic encoder is better but I would have to buy them and I already have them. I am asking you because I am not given much about electronics and I do not know enough, apart from the fact that there is not much technical information on those motors as well as the 5-pin encoders that also come in the heads of the printers ... Well I already stole a long time from you, a thousand apologies and in advance thank you very much, greetings from mexico !!! sorry my english is terrible!!

  • @mutazalhawash
    @mutazalhawash 4 роки тому

    hello, this tutorial is quite helpful. thanks for your great effort!
    I have brought a DC geared motor. it's kinda different than the one you have used but I believe it would serve the same purpose especially that it has the same exact encoder.
    I was wondering if I could use it on my Arduino mega without a motor drive.
    please help me! thanks in advance.

  • @MichaelRHead-zv2zf
    @MichaelRHead-zv2zf 3 роки тому

    i can't get it to stop spinning. I can get it to go forward and backwards but it will not stop any help?

  • @noneNone-mw1px
    @noneNone-mw1px 4 роки тому

    Can you please tell me what type of rotary encoders I need for air manager and how I can connect each I strument to encoders to turn ? Thank you. I told many how made it in youtube but they never told me

  • @chrishouseman8510
    @chrishouseman8510 8 місяців тому

    Interesting video regarding ardulnos, I'm currently working on a project it's an radio controlled model kayak 🛶 1:6 scale but having great trouble mimicking scaled down body movement like forward backwards left and right with a two standard motor setup using normal standard r/c the timing on the motors needs to be correct as it's critical for the paddle strokes, the system i have at the moment is a electronic speed controler (esc) driving two motors. Just wondering if you can point me in the right direction if it can be done involving an endcoder motors ardulno system working with a r/c receiver and transmiter. Have a look on my channel to see kayak videos thanks Chris.

  • @omkarjoshi6252
    @omkarjoshi6252 5 років тому +1

    hello sir can I do it without using potentiometer ?

  • @leviisrael3752
    @leviisrael3752 5 років тому

    are you doing research for weather to buy larger stepper motors or servo motors for your large cnc

  • @ncs6707
    @ncs6707 4 роки тому

    it could be possible to do a reverse engineer that method to build a DRO for Manual Mill?

  • @x5zero54
    @x5zero54 4 роки тому

    Hello there, can I control dc motor with encoder by 2 line the first one is pulses for steps and the second one is (0,1)for direction?

  • @sabrinaflipse7732
    @sabrinaflipse7732 5 років тому +2

    Can u jalso show the wiring and not just the schematic? Schematics are confusing

    • @tenlittleindians
      @tenlittleindians 5 років тому +4

      His wiring harness from left to right:
      red,black,yellow,green,blue,white
      red = m1 (motor power)
      black = ground (encoder - )
      yellow = c1 (channel A of the encoder)
      green = c2 (channel B of the encoder)
      white = m2 (motor power)
      Wires from motor:
      White and red wires to motor driver motor A connection points. To make motor spin the other way reverse these connections.
      Blue wire to 3.3v Output on Arduino Nano. (encoder + power. Mine needs 5 volts so I used 5v pin on Arduino Nano instead of the 3.3v (volt) pin.
      Black wire to Arduino Nano ground pin. (encoder - power connection. Either one on Nano may be used.)
      Yellow wire to Arduino Nano D2 pin. (This is channel A encoder signal being read on pin D2 of the Arduino Nano)
      Green wire to Arduino Nano D3 pin. (This is channel B encoder signal being read on pin D3 of the Arduino Nano)
      The center pin of the potentiometer is connected to Anolog input pin A0 of the Arduino Nano.
      The two outside pins of the potentiometer connect to the 5v pin and a GND (ground) pin on the Arduino Nano. (reversing these two wires will reverse the direction the motor turns when turning the potentiometer)
      D9 of the Arduino Nano is connected to the motor controller Dir (direction) pin on my driver but most dc drivers have just two input spots and the wires can go in either order to these spots.
      D10 of the Arduino Nano is connected to the motor controller PWM (pulse width modulation) pin on my controller. Sometimes labeled step pin on various controllers. His driver wires to D10 and D9 of the Arduino are labeled A-1A and A-1B on his motor controller.
      External power + goes to motor controller power input. (labeled VCC on his controller and labeled V+ on mine and others.)
      External power - goes to motor controller ground input. (labeled GND on his controller and labeled V- on mine and others.)
      The external power ground is also connected to one of the two Arduino Nano ground pads labeled GND

    • @sabrinaflipse7732
      @sabrinaflipse7732 5 років тому +1

      ten littleindians wow thanks! :)

  • @woldecosgrove
    @woldecosgrove 4 місяці тому

    hello nice work, could you upload the source code, the link u provided is not working..

  • @astlejohn4039
    @astlejohn4039 3 роки тому

    My code was working fine but then one fine day when i give a serial input value of 555 the encoder rotates to 5555 idk shy this happens but for any value i give the motor turns to times 10 of the given value. Can anyone tell me what to do?

  • @Edmorbus
    @Edmorbus 5 років тому

    good work

  • @-_ziad267_-
    @-_ziad267_- 8 місяців тому +2

    Files and code link doesn't work

    • @satkumbaev
      @satkumbaev 7 місяців тому +2

      in the link change SmallProjects to Small-Projects

  • @vladimirgutierrez2333
    @vladimirgutierrez2333 11 місяців тому

    I have a problem, if I have a motor with encoder but it handles a voltage of 24 volts, which model of H-bridge can I use?

    • @alanbrito3805
      @alanbrito3805 8 місяців тому

      the l298n can handle it, make sure to see how it works

  • @Drxxx
    @Drxxx 5 років тому

    super project..

  • @user-lq7dj3yf9d
    @user-lq7dj3yf9d 3 роки тому

    I entered the code according to the video, but the motor does not stop. The code on GitHub also seems to be inaccurate. What code do I need to write to do the same as 5:55?

    • @AdaptivePhenix
      @AdaptivePhenix 3 роки тому +2

      It sounds like you have the wrong motor polarity. When the motor moves in the positive direction, the encoder must count positive.

  • @ayrra1
    @ayrra1 Рік тому

    Hooking up the jga25 to a driver is a more pressing problem than sorting code. You didn't address that.

  • @poojak3175
    @poojak3175 3 роки тому

    Hi sir can you please make a vedio on home made servo motor
    I have some Idea by it is not working please help

  • @channelexclusive8240
    @channelexclusive8240 4 роки тому +1

    What program do you use to 3D printer designs?

  • @Mahmil
    @Mahmil Рік тому

    pidcontroller header file is missing

  • @MichaelRHead-zv2zf
    @MichaelRHead-zv2zf 3 роки тому

    what the chances of you showing the code but with an rc control?

  • @bishoysalama4833
    @bishoysalama4833 2 роки тому

    Can we control position of motor using L293 motor controller??