Brushless Motor RPM Sensor

Does anyone know a quick, "non-surgical", non-optical DIY RPM sensor for brushless motors?Wonder how the Brushless RPM Sensor/Tach from Eagle Tree System works? Does it use back-EMF to measure the RPM?

You need to be a member of diydrones to add comments!

Join diydrones

Email me when people reply –

Replies

  • FYI - I was looking for an RPM sensor and came across this discussion.  My local hobby shop had a Spektrum brushless RPM sensor in stock so I thought I'd give it a try.  It's made by Eagle Tree so it's most likely the same unit discussed here.  Spectrum supplies air and ground versions.  Not sure what the difference would be.  Anyway they seem to have sorted out the funky wire colours.  The red lead is V+ and the brown is ground.  I only needed wire 1 to get an output.  As a bonus, I found it worked well at both 5V and 3.3V.  It's working well for RPM feedback on my Raspberry Pi. My scope showed it might be better to use the falling edge.

    Paul

    3702432094?profile=original

    3702432531?profile=original

  • Hello guys,

    I have been following this post, and trying to measure the rpm of my brushless motors using the Eagletree brushless sensor. Haven't seen any other discussions about this on other sources since this topic. I have followed the connection requirement (black to vcc, etc) as per this post, the install of the libraries, use of the jgcheger's code. However, the code seems to give an error when compiling:

    jcheger31mar18:37: error: no matching function for call to 'FrskySP::FrskySP(int, int)'

     FrskySP FrskySP (10,11);

    jcheger31mar18:37: error: no matching function for call to 'FrskySP::FrskySP(int, int)'

    exit status 1

    no matching function for call to 'FrskySP::FrskySP(int, int)'

    candidate expects 1 argument, 2 provided

    constexpr FrskySP::FrskySP(const FrskySP&)

     class FrskySP {

    exit status 1

    no matching function for call to 'FrskySP::FrskySP(int, int)'

    When I change the line to : 

     FrskySP FrskySP (11);

    It compiles and uploads, and the serial monitor shows the text

    FrskySP rpm sensor freqcount

    but no other information in the serial monitor.

    Would appreciate any advice.

    Gary

    jcheger/frsky-arduino
    FrskyD and FrskySP libraries for Arduino. Contribute to jcheger/frsky-arduino development by creating an account on GitHub.
  • This reply was deleted.
    • Guys I was also facing the same problem ,,, 
      But then I found out the solution . 
      The problem is with the wiring ..
      The wires should be connected in the following manner to arduino :

      The pinout of our RPM sensor( which uses a standard Futaba servo connector wire), is:
      a) white = signal
      b) red = ground (yes, this is not a typo)
      c) black = 4V 

      I think all of us got tricked by the red and blck wire connection.. 
      Thanks to the post by "billpa" in hobby king website.. 
      without which I could'nt have solved this issue... 
      hope this solves the issue for RPM measurement... 
      courtesy of this post http://www.rcgroups.com/forums/showthread.php?t=851708


      billpa's blog - RC Groups
      RC Groups - the most active Radio Control model community: electric and fuel rc airplanes,rc helis,rc boats and rc cars. Features discussion forums,…
      • Guys to calculate RPM using the same sensor in arduino please use the following formula ...

        RPM = ((interrupt count)*(60))/(no.of poles)  

        note : this formula is for the interrupts counted every 1000milli seconds i.e 1 sec... 

        interrupt count = no. that you get from the interrupt counter in arduino (you can use the code given by Randy)
        no.of poles = divide the no.of poles by 2 
        eg.  14 pole motor use 7 as no.of poles.... 

        hope all are benifited by this post... 

  • This reply was deleted.
    • Developer

      I imagine the weird letters are caused by the baud rate being incorrect when connecting to the arduino.  So it's probably just a display issue.  If you're using the Arduino Serial monitor then there's a drop down and it should probably be set to 115200 or 57600.

  • See my implementation of a BLDC RPM sensor here: BLDC Hall Effect Sensor. The sensor simply uses at least one magnet (I use 4 to get higher update rate) and a hall switch (about $.40 on digikey).

    -Todd
  • It's very simple, if you can get hold of a old ball mouse inside is a optical pickup an a wheel with all the electronics, you just have to apply 5V If you turn the wheel you get a increase in frequency It should be easy to translate that to RPM with Arduino. You can also use an old processor fan inside is a magnetic pickup which they use to measure rpm with
  • Developer
    Hello,

    I am new to the site and don't have a uav project yet, but I do have an eagletree brushless rpm sensor. In fact you typically only need to hook up one of the two sensor wires to one of the three motor phases. The instructions state only to hook up the second sensor wire if you are having trouble getting an accurate reading and for most motor/esc combinations you are better off just using one.

    Doug
  • The Eagle Tree rpm sensor requires tapping into any two motor leads, as Mike Bakula states, probably measuring the timing between the two signals.

    When I found that out, I was going to design and build one. Then I saw their price of 10 bucks and decided time and parts would far exceed that. That's cheaper than a pressure transducer and I'm not about to try to build one of those!

    Eric
  • Thanks both. I have a frequency meter, will try both ways and post the results. I will also try to establish a relationship between voltage, RPM, tourque, and Amps pulled.
This reply was deleted.

Activity

Jose Araujo liked Jose Araujo's profile
Aug 29
spencer harvey liked spencer harvey's profile
Jul 9
More…