Single signal Encoder with Beagle Bone blue

Hey All, I am trying to use this single input rotary encoder : Hobby Motor and Encoder Kit - ROB-13260 - SparkFun Electronics
on the beagle bone blue, I am aware the BBBL uses two signals for the eQEP modules, I am currently routing the signal B to VCC and it is giving me mixed results usually has low resolution and won’t count when more than both wheels are running. I am using Debian 9 and RC version 1.0.4.
Is there a better way of using a single input encoder?

1 Like

Hmm.

Encoder. I say hardwire your own but the 6v motor should suit your needs and the source used should work for encoder in/out. I say that without testing.

I am not sure how equipped you are currently but…

  1. I noticed on the BBB with Bullseye Debian 11, the eQEP modules are listed in /dev/bone/ (I think).
  2. I am testing now. Stick with me on this experiment.
  3. cat /etc/dogtag: BeagleBoard.org Debian Bullseye IoT Image 2023-04-12
  4. uname -a: Linux BeagleBone 5.10.168-ti-r75 #1bullseye SMP PREEMPT Thu Dec 28 22:52:21 UTC 2023 armv7l GNU/Linux

Okay, so. I am in my system now with the above credentials/firmware/image/kernel.

I think they are called counter in /dev/bone/. I will need to check further…

Seth

P.S. But…one could use a driver instead of the BBBlue and driver onboard for another type of motor. I know this is redirecting you here. I am actually trying to redirect you. Just for reference, I know very little of the source for the libroboticscontrol lib. or RC version 1.0.4.

I know the latest-greatest is 1.0.5 (I think). I could be outdated. I hate to say this but… I may not be able to supply directions or even a direct answer because of the Debian 9 versioning being a bit older. If it works…awesome. Do not change it.

Where are the files for eQEP coding and source usage located on your current image and kernel? Blunt questioning here but I think it may provide some answers.

Anyway…the motor drivers to use for the BBB would be something simple like a L298 driver or another type that is readily available. If you are stuck on Debian Stretch (9) for usage, I might be out of ideas.

I am sure there are ready made drivers for encoding types that play nice with the am335x which beagleboard.org does support currently. There is a lot of data now on the am335x and BBBlue SiP. Hard to find, yes sir. Easy to mess up, even easier. I see docs.beagleboard.org has some newer ideas for the librobotcontrol library.

Update

Look here first:

https://docs.beagleboard.org/latest/projects/librobotcontrol/docs/index.html

https://adafruit-beaglebone-io-python.readthedocs.io/en/latest/Encoder.html

This may help too.

I am not sure how you are programming things or if you are only using the lib.

CUI Devices had a specific motor a while back that was generally used back then for 6v type encoder usage. Here: https://www.mouser.com/datasheet/2/670/amt10-2298320.pdf

I know this is something to take in now. As you can tell, I am new to librobotcontrol. Sorry for the first link from my previous post. I was unaware of what beagleboard.org people were doing with the branch main.

Seth

Update try to disable video in /boot/uEnv.txt

You can enable the eQEP direction-count mode, see page 2544 in the TRM (SPRUH73Q).

I keep trying to set the mode of the direction-code to 2 (count up in single mode) put it just keeps reseting itself to 0

The eQEP feature in libpruio allows to configure one, two or three input lines.

Regards

You must either describe more in detail what you are doing
or you could follow the instructions in this example:

The Sparkfun motor kit you used is also used there!

To enable count-direction mode from PRU:
PWMSS1.EQEP_QDECCTL = 0x4000;