Show Posts
Pages: [1]
1  Using Arduino / Motors, Mechanics, and Power / Re: DC motor optical encoder: how to tell forward from reverse on: March 18, 2013, 10:07:56 pm
Well, an exhaustive trace of the entire board reveals that the blue wire is actually ground, and the black wire is one of the encoder channels.  A complete schema is attached for anyone else who might be hacking the 2012 Furby...

2  Using Arduino / Motors, Mechanics, and Power / Re: DC motor optical encoder: how to tell forward from reverse on: March 17, 2013, 09:19:18 pm
Try 10k pull-ups - the high output voltage is set by the dark-current of the phototransistor - which is basically a leakage current, and a smaller pull-up will lift that 0.5V.  A perfect transistor would have no leakage and even a 10M resistor would pull up to 5V, but transistors aren't perfect (in this example one is less perfect than the other by quite a factor).

Sorry, I ment 10K pull ups- just a typo.
3  Using Arduino / Motors, Mechanics, and Power / Re: DC motor optical encoder: how to tell forward from reverse on: March 16, 2013, 06:45:54 pm
Quote
The same value pull-ups?

Yep- I get the same square wave (one channel is 0-0.5v, the other 0-5v) using either using external 100K Ohm pull up (not coneected to Aruino pins), or using internal pull ups on Arduino when connected to digital pins.


Quote
You will need to exclude stray light too.

Has the same behavior in complete darkness.


Seems like I am missing something really simple (again)...
4  Using Arduino / Motors, Mechanics, and Power / Re: DC motor optical encoder: how to tell forward from reverse on: March 16, 2013, 03:24:11 pm
Well... while both channels (blue and white wires) give nice square waves when the motor is running, one channel outputs 0 or 5 volts., the other channel outputs 0 or 0.5 volts

Anyone have an idea why both channels would not be outputting the same voltage range?? 

Both channels have pull up resistors.  Vcc is 5volts (red wire) and Gnd to black wire.
5  Using Arduino / Motors, Mechanics, and Power / Re: DC motor optical encoder: how to tell forward from reverse on: February 24, 2013, 01:37:39 pm
Encoder outputs are normally open collector and so you will need pull-up resistors on the signal wires. Repeat your tests with internal pull-up enabled on pins connected to blue and white.

Thanks! 

I added pull up resistors between signal and Vcc for both and it now works (on the scope) as expected for both blue and white leads as two different channels.  Thanks again for that simple tip!
6  Using Arduino / Motors, Mechanics, and Power / Re: DC motor optical encoder: how to tell forward from reverse on: February 23, 2013, 11:51:39 pm
I'm still going with two channel outputs, mostly just based on the number of wires connecting the module. A speed sensor would only need/use three, ground, power, and signal.

Lefty



So oscilloscope trace for white/ground would give one channel pulses trace and blue/ground would give the other channel pulse trace?  I did try that already and got no obvious pulse trace on the scope unless I used blue/white...  or am I just doing something really stupidly wrong?
7  Using Arduino / Motors, Mechanics, and Power / Re: DC motor optical encoder: how to tell forward from reverse on: February 23, 2013, 11:39:16 pm
Well if the sensor is a single channel then it's not an encoder at all but rather just a speed sensor. I can't tell from the rather small picture if it's a single channel speed sensor or a two channel quadrature encoder. Four wires should be enough for a full two channel quad encoder with, power, ground, channel A, and channel B wires?

Lefty

Would a larger image help you to tell a single from a two channel quad encoder?

8  Using Arduino / Motors, Mechanics, and Power / Re: DC motor optical encoder: how to tell forward from reverse on: February 23, 2013, 11:20:45 pm
Quote
However, how can I discriminate between the forward and reverse directions?

Well it's built into the encoder in that there is a offset from the channel A and B beams such that the rotating grid will interrupt one channel before the other in one direction and of course when the direction is changed the channel seeing interrupt first will reverse.

Lefty



Correct me if I am wrong, but there is only one channel for this encoder (one set of trans/rec)- you can see them on the back of the board (the side with no IC) and of course the encoder wheel travels between them.
9  Using Arduino / Motors, Mechanics, and Power / DC motor optical encoder: how to tell forward from reverse on: February 23, 2013, 10:13:06 pm
I have an optical encoder (16 segment) on a DC motor from an animatronic toy (the new 2012 furby) that I want to control with an Arduino (Uno). The encoder is easy enough to read directly from the carrier board via the blue and white wires when energized with 3-5 v (red/black wires).  However, how can I discriminate between the forward and reverse directions?

Encoder board (encoder wheel not shown):


Oscilloscope traces:


I assume there is some way of telling apart the pulses with high leading edge VS pulses ending with high leading edge... but I have no clue how to do this with an Arduino.  Any help would be greatly appreciated!  

[edit: the chip shown is a Texas Instruments CD74HC14 chip that contains six inverting Schmitt triggers]

-cb
10  Topics / Device Hacking / Re: FURBY hack??? on: December 21, 2012, 05:32:57 pm
See Taming via Arduino Hack for full scale Arduino hack of the new "2012" Furby!
Pages: [1]