Encoded Motor With Arduino

Ғылым және технология

Encoder motors are cool to make more advanced Arduino projects and are actually quite simple to use. In this video, I will show you how to control a DC motor with an encoder with Arduino. You can find an example code below!
Encoded motor: amzn.to/3QudIf4
Arduino Nano: amzn.to/46HCvSz
Motor driver: amzn.to/3tPv0uf
Files, code: github.com/NikodemBartnik/Sma...
Instagram: nikodembartnik
Micromouse robot video: • Bulebule micromouse: w...
Music: / loxbeats
#arduino #encoder #motor

Пікірлер: 175

  • @nikodembartnik
    @nikodembartnik4 жыл бұрын

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

  • @tomgruenke3048
    @tomgruenke3048 Жыл бұрын

    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!

  • @nikodembartnik

    @nikodembartnik

    Жыл бұрын

    I have seen it :) Thank you very much!

  • @jakebozz7677
    @jakebozz76775 жыл бұрын

    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
    @merlingallagher44845 жыл бұрын

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

  • @mugheerasaleem6391
    @mugheerasaleem63914 жыл бұрын

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

  • @ItsJustMJ3
    @ItsJustMJ35 жыл бұрын

    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. ;)

  • @zell9058
    @zell90585 жыл бұрын

    Excellent production quality!

  • @USDigital
    @USDigital3 жыл бұрын

    Great explanation of how an encoder works! 0:53

  • @AppliedMathematician
    @AppliedMathematician3 жыл бұрын

    That background music is really chilling, I like it.

  • @seklerek
    @seklerek5 жыл бұрын

    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!

  • @xle8329
    @xle83293 жыл бұрын

    this is completly underated thx man

  • @raymundonevarez685
    @raymundonevarez6853 жыл бұрын

    nice editing man, i like this.

  • @joaojesus8861
    @joaojesus88614 жыл бұрын

    U saved my life mate! Thank you

  • @pierazzoli1
    @pierazzoli12 жыл бұрын

    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).

  • @crckdns
    @crckdns5 жыл бұрын

    Easy and good explained, worth a follow :)

  • @minayakarimova
    @minayakarimova3 жыл бұрын

    Huge thanks! It was useful for me

  • @ConsultingjoeOnline
    @ConsultingjoeOnline4 жыл бұрын

    Awesome video. Thank you!

  • @bikefarmtaiwan1800
    @bikefarmtaiwan1800Ай бұрын

    Great video!

  • @ogek7417
    @ogek74173 жыл бұрын

    clearly explained, thank you !

  • @akissot1402
    @akissot1402 Жыл бұрын

    cool and very nicely and clearly explained.

  • @jedandecko5585
    @jedandecko55855 жыл бұрын

    Tnx on video, keep them coming :)

  • @cvonp
    @cvonp4 жыл бұрын

    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

  • @baseljamal8907
    @baseljamal89074 жыл бұрын

    Thanks yo, Wish you all the best

  • @walterjapsco6966
    @walterjapsco69663 жыл бұрын

    Excellent tutorial. Thanks

  • @electronic7979
    @electronic79795 жыл бұрын

    Nice and useful product. I liked it.

  • @mzzm9484
    @mzzm94844 жыл бұрын

    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.

  • @mochamadrizkyandika4947
    @mochamadrizkyandika4947 Жыл бұрын

    thanks, this really helped me

  • @qbitsday3438
    @qbitsday343810 ай бұрын

    excellent and subscribed!

  • @amirsaeedirad
    @amirsaeedirad3 жыл бұрын

    Very good visuals

  • @tenlittleindians
    @tenlittleindians5 жыл бұрын

    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.

  • @dempa3
    @dempa34 жыл бұрын

    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?

  • @jamesfilear4118
    @jamesfilear41183 жыл бұрын

    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?

  • @MaddoCosplay
    @MaddoCosplay4 жыл бұрын

    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!

  • @Coolarj10
    @Coolarj102 жыл бұрын

    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"?

  • @lorenzoarfeli8361
    @lorenzoarfeli83614 жыл бұрын

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

  • @marcelodossantoscoutinho4955
    @marcelodossantoscoutinho49553 жыл бұрын

    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

  • @aymanmustafa2378
    @aymanmustafa23784 жыл бұрын

    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?

  • @loupote47
    @loupote473 жыл бұрын

    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...

  • @sabaku7732
    @sabaku77323 жыл бұрын

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

  • @divyaprakashbiswas8781
    @divyaprakashbiswas87813 жыл бұрын

    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?

  • @mutazalhawash
    @mutazalhawash3 жыл бұрын

    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.

  • @jamest4198
    @jamest41984 жыл бұрын

    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?

  • @eddykenens9798
    @eddykenens97984 жыл бұрын

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

  • @omnianti0
    @omnianti04 жыл бұрын

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

  • @anmo8907
    @anmo8907 Жыл бұрын

    Thank you!

  • @heinrichhelmbold419
    @heinrichhelmbold4194 жыл бұрын

    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

  • @amrendramandal8695
    @amrendramandal8695 Жыл бұрын

    Thnx for this

  • @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) ?

  • @noneNone-mw1px
    @noneNone-mw1px4 жыл бұрын

    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

  • @leviisrael3752
    @leviisrael37525 жыл бұрын

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

  • @Edmorbus
    @Edmorbus5 жыл бұрын

    good work

  • @vanwong8846
    @vanwong88465 жыл бұрын

    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.

  • @kewlguy333
    @kewlguy3334 жыл бұрын

    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

  • @ChronoGXay
    @ChronoGXay4 ай бұрын

    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?

  • @ncs6707
    @ncs67074 жыл бұрын

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

  • @_jonathas.castro_
    @_jonathas.castro_4 жыл бұрын

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

  • @fabiolus2007
    @fabiolus20073 жыл бұрын

    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

  • @UzunKamis
    @UzunKamis3 жыл бұрын

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

  • @x5zero54
    @x5zero544 жыл бұрын

    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?

  • @cesargomez8959
    @cesargomez89593 жыл бұрын

    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.

  • @rodrigoc.goncalves2009
    @rodrigoc.goncalves20099 күн бұрын

    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

  • @alirezaghaderi
    @alirezaghaderi4 жыл бұрын

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

  • @rklauco
    @rklauco5 жыл бұрын

    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.

  • @nettigonzales4524
    @nettigonzales45243 жыл бұрын

    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.

  • @gerardoramirez9450
    @gerardoramirez94504 жыл бұрын

    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.

  • @Drxxx
    @Drxxx5 жыл бұрын

    super project..

  • @nikodembartnik

    @nikodembartnik

    5 жыл бұрын

    Thanks!

  • @michaelandersen1161
    @michaelandersen11615 жыл бұрын

    what pid library are you using ?

  • @recepcakmak4896
    @recepcakmak48964 жыл бұрын

    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?

  • @BrianBoniMakes
    @BrianBoniMakes5 жыл бұрын

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

  • @nikodembartnik

    @nikodembartnik

    5 жыл бұрын

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

  • @tonyvarghese75
    @tonyvarghese755 жыл бұрын

    Nice

  • @channelexclusive8240
    @channelexclusive82403 жыл бұрын

    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

  • @mesquitamk1681
    @mesquitamk16812 жыл бұрын

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

  • @omkarjoshi6252
    @omkarjoshi62524 жыл бұрын

    hello sir can I do it without using potentiometer ?

  • @forgotrafe
    @forgotrafe5 жыл бұрын

    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.

  • @sedatminer4489
    @sedatminer44893 жыл бұрын

    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 helppp

  • @tomatocoder6071
    @tomatocoder60713 жыл бұрын

    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

  • @chrishouseman8510
    @chrishouseman85106 ай бұрын

    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.

  • @muftiali1271
    @muftiali12714 жыл бұрын

    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

  • @andresfelipepinedacardona6015

    @andresfelipepinedacardona6015

    4 ай бұрын

    did you fix it?

  • @MrMarxbianco
    @MrMarxbianco3 жыл бұрын

    How did you connect the encoder's wires?

  • @stepanstepanov8106
    @stepanstepanov81064 ай бұрын

    if you also connect AS5600 contactless angle sensor check

  • @cemmotivos3331
    @cemmotivos33315 жыл бұрын

    project gonna be opensource?

  • @arunakumari5929
    @arunakumari59293 жыл бұрын

    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

  • @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

    6 ай бұрын

    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

  • @emielbeus
    @emielbeus4 жыл бұрын

    is there already a library avalible?

  • @sarigaraj
    @sarigaraj4 жыл бұрын

    Good but what pid library are you using ?

  • @sarigaraj

    @sarigaraj

    4 жыл бұрын

    this is --> www.arduinolibraries.info/libraries/pid-controller

  • @mohamedrasheed201
    @mohamedrasheed2012 жыл бұрын

    Is it like stepper motor can use it in cnc

  • @MichaelRHead-zv2zf
    @MichaelRHead-zv2zf3 жыл бұрын

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

  • @philokirsch9810
    @philokirsch98104 жыл бұрын

    Hello, can you tell me the name of the motor controller? Regards

  • @widget_wizard
    @widget_wizard3 жыл бұрын

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

  • @MichaelRHead-zv2zf

    @MichaelRHead-zv2zf

    2 жыл бұрын

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

  • @widget_wizard

    @widget_wizard

    2 жыл бұрын

    @@MichaelRHead-zv2zf Niko didn't reply so I didn't go down this path. I found one that was simpler/cheaper kzread.info/dash/bejne/q6qm0quSk5yynJs.html

  • @luisxavierperezmiramontes3706
    @luisxavierperezmiramontes37064 жыл бұрын

    Great video! How can I apply this for a Raspberry Pi?? :o

  • @astlejohn4039
    @astlejohn40393 жыл бұрын

    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?

  • @gabrieltomazdelemosgarcia5188
    @gabrieltomazdelemosgarcia5188 Жыл бұрын

    please use a bigger font on IDE bro! nice video

  • @bishoysalama4833
    @bishoysalama48332 жыл бұрын

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

  • @channelexclusive8240
    @channelexclusive82403 жыл бұрын

    What program do you use to 3D printer designs?

  • @nikodembartnik

    @nikodembartnik

    3 жыл бұрын

    Fusion 360

  • @jinwangli6948
    @jinwangli69484 жыл бұрын

    hello,How to use an encoder to control the position of the DC motor?

  • @wonderwang1585
    @wonderwang15852 жыл бұрын

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

  • @keentungol3720
    @keentungol37204 жыл бұрын

    hi.. i'm a student taking course computer of engineering can i ask a help for my project ? i dont know how run this dc motor using motor control shield :( i really need help

  • @poojak3175
    @poojak31753 жыл бұрын

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

  • @nguyenthuy9824
    @nguyenthuy98243 жыл бұрын

    Thanks. Can you share me PID controller library?

  • @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!

Келесі