Connect with us

Multiplexing project

Discussion in 'General Electronics Discussion' started by mrn, Apr 7, 2013.

Scroll to continue with content
  1. mrn

    mrn

    8
    0
    Apr 7, 2013
    Hello this is my first post on this forum, I have a question and I have a diagram which I will let explain my problem (assuming you know somewhat about multiplexing)

    [​IMG]

    Is there any way around not having to have 9 Control Signals?

    I'm using a parallel port, so as few pins as possible is better.

    Also I should note that this is a very tiny version of what I am trying to do, my actual full idea is the same but with a grid of 128x128 or bigger.

    Also each little dot in the grid is a motor.


    thanks :)
     
  2. (*steve*)

    (*steve*) ¡sǝpodᴉʇuɐ ǝɥʇ ɹɐǝɥd Moderator

    25,412
    2,780
    Jan 21, 2010
    There are many ways of doing this.

    For example you could use two 74HC595's to create your 16 control signals, and control them all with 3 logic signals.

    I presume you realise that in most sensible cases, you can only have a selection of LEDs (or indeed motors) on in one row (or column) at any one time?

    For anything other than LEDs, you'll almost certainly require row and column drivers and for inductive loads, you'll also need to protect them.
     
  3. mrn

    mrn

    8
    0
    Apr 7, 2013
    Right, i realize this, but in this case that is fine.

    even if I use two of the 1:16's each have 3 control signals, that still leaves me with 6 control signals, and if I eventually create a bigger system, that would still have allot of control signals.
     
  4. (*steve*)

    (*steve*) ¡sǝpodᴉʇuɐ ǝɥʇ ɹɐǝɥd Moderator

    25,412
    2,780
    Jan 21, 2010
    Look at the 74HC595.

    You could control one set for rows, and another set for columns. It would take 6 pins total regardless of how many rows or columns you might have.
     
  5. mrn

    mrn

    8
    0
    Apr 7, 2013
    But wouldn't each 74HC595 have to have control signals?
     
  6. (*steve*)

    (*steve*) ¡sǝpodᴉʇuɐ ǝɥʇ ɹɐǝɥd Moderator

    25,412
    2,780
    Jan 21, 2010
    Yes, there are 3 control signals. With these you can control the outputs of a long string of these devices.

    They are a shift register. 2 pins allow you to clock in a bit at a time, and the third pin lets to move these bits to the output.

    For multiplexing, assuming you have 8 rows x (say) 64 columns, you use 8 of these chips to control the columns, and 1 to control the rows.

    You could do that with 3 wires, but using 6 might be conceptually easier.

    Doing it this way, you can turn on a whole row at a time (or any LEDs/motors you want in that row) and then multiplex that across 8 rows.
     
  7. KrisBlueNZ

    KrisBlueNZ Sadly passed away in 2015

    8,393
    1,270
    Nov 28, 2011
    Bit-banging through a parallel port can be very time-consuming. Assuming you're driving an LED matrix, you may be better off with a serially interfaced driver IC that handles the multiplexing itself, if you only need to update LED control data at a slower rate.

    Bit-banging will be very much slower if your parallel port is connected through a USB interface. You might be better off using a micro with a USB interface built in, or one of those dumb endpoint ICs.
     
  8. (*steve*)

    (*steve*) ¡sǝpodᴉʇuɐ ǝɥʇ ɹɐǝɥd Moderator

    25,412
    2,780
    Jan 21, 2010
    One that I just Googled claims 1.2Mb/s transfer rate.

    That's 150,000 characters per second.

    In order to set 8 bits by bit banging the port, you need to send 18 characters.

    That means about 8300 bits set per second (you could do 6 times this with some tricks, but let's stick to that figure).

    If you have an 8 row by 64 column display, you need to set 72 bits for each scanned row (actually you could do less, but keep it simple). that's 1/115th of a second.

    If you're multiplexing the entire display it will take 1/14th of a second (so you could scan the display 14 times per second.

    That means with bit banging you would consume the entire bandwidth of your interface (assuming you could drive it at the max speed) doing 14 updates per second.

    You would almost certainly be able to do it a lot faster with a hardware parallel port, but they don't really exist any more.

    But of course, it does depend on how fast you need to update it.

    If you're controlling motors, I suspect the rate you need to update is going to be a lot less than 14 times per second.
     
  9. mrn

    mrn

    8
    0
    Apr 7, 2013
    I am using a old hardware parallel port, from a old desktop computer.

    @steve, so basically it would be better to use a driver of some sort, otherwise I would have to use alot.. of multiplexers?
     
  10. (*steve*)

    (*steve*) ¡sǝpodᴉʇuɐ ǝɥʇ ɹɐǝɥd Moderator

    25,412
    2,780
    Jan 21, 2010
    It's probably time that you told us exactly what you're trying to do.

    That way we can probably come up with a good (or at least "better") solution.
     
  11. mrn

    mrn

    8
    0
    Apr 7, 2013
    I basically need a grid of 128x128 of tiny little solenoids, controlled by the parallel port and distributed threw something like some 74HC595's each solenoid will be 1/16 of a inch

    yes I know that is tiny, however I believe its feesable to create that small of a solenoid, of course I am testing this out first though.
     
  12. mrn

    mrn

    8
    0
    Apr 7, 2013
    bump sorry
     
  13. (*steve*)

    (*steve*) ¡sǝpodᴉʇuɐ ǝɥʇ ɹɐǝɥd Moderator

    25,412
    2,780
    Jan 21, 2010
    We need to know how fast you need to switch these things on and off and also how many need to be switched on at one time (is it only 1?)
     
  14. mrn

    mrn

    8
    0
    Apr 7, 2013
    there is 64x64 grid so 4096 of them, and they need to be switched on for a tiny fraction of a second.
     
  15. (*steve*)

    (*steve*) ¡sǝpodᴉʇuɐ ǝɥʇ ɹɐǝɥd Moderator

    25,412
    2,780
    Jan 21, 2010
    what is that tiny fraction of a second?
     
  16. Merlin3189

    Merlin3189

    250
    69
    Aug 4, 2011
    Since you have 64 elements, they can be selected individually with 6 bits. You will generally want some sort of clock/strobe so that makes 7 signals.

    128x128=16334 or 14 bits, so with strobe you need 15 signals.

    This assumes you will only power one at a time. If you want to energise more than one at a time, you need to add more signals and a lot more multiplexers.
    I am not up to date with what's currently available, but common decoders are cascadable, so there is no issue with what size of decoder is available, just cascade as many as you need.
    This link may help. http://www.electronics-tutorials.ws/combination/comb_5.html

    You don't need to worry about how many bits your parallel port has, since you can expand it by using temporal multiplexing - effectively making it a multi-bit serial port. If you only have 7 bits, you can use 1 bit to select 1 of 2 latches and output a pair of 6 bit signals = 12 bits. Or use 2 bits to select 1 of 4 latches and output 4 lots of 5 bits = 20 bits, or 8 lots of 4 bits = 32 bits, 16 lots of 3 bits = 48 bits, up to 64 bits. If that's not enough, you can repeat this process with your new wider port! But it does get a bit hairy! You have to think very carefully about timing, delays and when the resulting output is valid.



    .
     
    Last edited: Apr 11, 2013
  17. KrisBlueNZ

    KrisBlueNZ Sadly passed away in 2015

    8,393
    1,270
    Nov 28, 2011
    Is this for a matrix display using magnetised discs that are black on one side and white on the other side?

    Whatever you're doing, I suggest that you describe your whole project. Steve asked you in post #10 of this thread and you avoided the question. We're now up to post #17 on the thread and several people have tried to help you, making various general suggestions that may or may not be relevant to your project. You are actually wasting our time by being secretive about your project.

    You have not defined your requirements clearly at all - your first post said that you're driving motors, and now they're solenoids - and from past experience I know that this usually means that you don't _understand_ your requirements very well. If you tell us all what you're trying to achieve, we will be better placed to make suggestions that will get your project working.
     
  18. mrn

    mrn

    8
    0
    Apr 7, 2013
    please dont shoot me :) I am actually changing it from solenoid to ferrofluid valves.

    I apologize for not explaining very well.

    Basically I need a grid of 64 by 64 made up of these tiny ferrofluid valves.

    I only need each to be activated for a short period of time

    I was thinking of using 16 74HC595's witch are shift registers. This seems to be the easy/good way to do it.
     
  19. KrisBlueNZ

    KrisBlueNZ Sadly passed away in 2015

    8,393
    1,270
    Nov 28, 2011
    You still haven't explained anything about your project!

    WHAT IS THE PURPOSE OF THE PROJECT?
     
  20. Merlin3189

    Merlin3189

    250
    69
    Aug 4, 2011
    I've read the comments here and elsewhere ( http://www.eeweb.com/electronics-forum/multiplexing-project/ ) and see nothing very interesting about the multiplexing issues.
    But I must say, these ferrofluid valves sound very interesting, whatever the application. So it would be nice to know what this is all about and some details of these valves.
     
Ask a Question
Want to reply to this thread or ask your own question?
You'll need to choose a username for the site, which only take a couple of moments (here). After that, you can post your question and our members will help you out.
Electronics Point Logo
Continue to site
Quote of the day

-