Welcome, Guest. Please login or register.

Login with username, password and session length

 
Advanced search

1078 Posts in 245 Topics- by 866 Members - Latest Member: Wjamnunsub

December 15, 2017, 03:08:10 AM
The Stribe Project - ForumGeneral CategoryinfohardwareTopic: max7221 specific
Pages: [1] 2 |   Go Down
Print
Author Topic: max7221 specific  (Read 15200 times)
0 Members and 1 Guest are viewing this topic.
bantri
Intrigued
*
Posts: 39


View Profile
« on: March 17, 2008, 10:50:54 PM »

I´m thinking a little bit ahead in terms of a bargraph display, about something that maybe interesting but complex.

It seems to me that the max7221 just turns leds on or off and it´s very good for controlling them that way, but...

Is it possible to make a gradient transition for a bargraph showing just one or to leds at a time and varying luminosity between transitions? (smooth transition)

Something like having:
1 led at 100% luminosity,
then 2 leds at 75%/25% luminosity,
then 2 leds at 50%/50% luminosity,
then 2 leds at 25%/75% luminosity
and then the next led at 100% luminosity.

That kind of trick gives the impression of a much higher resolution without having to add the leds (thus keeping cost low) to achieve it.

There is an aplication that does the trick for an entire digit display here by adding a multiplexer on this link:

http://www.maxim-ic.com/appnotes.cfm/an_pk/141

Involving an extra multiplexer but...

Is there some simple, clever way to perform smooth transition using just the max7221?
Logged
bantri
Intrigued
*
Posts: 39


View Profile
« Reply #1 on: March 17, 2008, 11:04:24 PM »

aparently, some tricks can be performed with the other version of max chip that only uses nine wires to drive all the display like these, by reducing maximum display count:

http://www.maxim-ic.com/appnotes.cfm/an_pk/3509

Logged
bantri
Intrigued
*
Posts: 39


View Profile
« Reply #2 on: March 18, 2008, 12:07:04 AM »

aparently there is a way to perform per led intensity just modifying firmware but it has some problems syncing which may result in flickering

http://post.monome.org/comments.php?DiscussionID=913
Logged
bantri
Intrigued
*
Posts: 39


View Profile
« Reply #3 on: March 18, 2008, 02:25:24 AM »

hmmm...

This one IS more interesting than max7221... Smiley

The reason for searching for smooth transition is that:

-Having 64 leds with 4 transition levels allows low cost simulation for virtual 256 (4x64) levels (with spi) in a linear array which is perfect to operate in conjunction with the qslider touch slider chip (with spi too) that can also be programmed with 256 levels giving a very interesting combination (high res touch slider with high res led display) to interface with an arduino like board.

-it seems that the max6960 is interesting for such problem having pros and cons like:
-more pcb wiring (8x8 grid instead of 8 plus common cathode)
-per led four intensity levels, 3 color (full control)
-each led can be tricolor (rgy or rgb) with a total of 12 combinations (giving very interesting combinations like setting max and min levels with different colors and a cursor in between)
-256 digital levels for all leds
-allow individual led calibration for varying luminosity leds (worn leds) from diferent batches
-faulty led detection
-interface also is serial (4 wire spi like)
3.6v operation Sad
63hz frame rate (20mbit serial)
mqfp package (difficult for manual soldering)

details here:
http://www.maxim-ic.com/quick_view2.cfm/qv_pk/4910

nice pcb here
http://metalab.at/wiki/MetaLEDs
Logged
ultrajosh
Administrator
Master Striber
*****
Posts: 396



View Profile WWW
« Reply #4 on: March 18, 2008, 07:27:22 AM »

These are some great thoughts / info! 

This guy managed to get the MAX7219 used in the monome 40h to do per-led intensity by some fancy firmware programming I think:

http://post.monome.org/comments.php?DiscussionID=1040&page=1#Item_0
Logged

"Well you touch it and it makes sounds."
bantri
Intrigued
*
Posts: 39


View Profile
« Reply #5 on: March 18, 2008, 02:57:38 PM »

indeed, he did acomplished "per led intensity" on the max7219 chip that has no facilities for that, at the cost of stealing cpu cycles for that.

it´s really nice, but it´s a fixup.

IMHO i don´t like cpu cycle stealing for dealing with led driver chip limitations.

The reason for this is that if you entend to do a board full of sliders with every slider having 64 leds, like a professional mixing console, can generate excessive overload on the cpu.

Other good reason not to overload the cpu is to allow it to do other tasks, leaving the responsibility of inputting linear position and giving visual feedback to the input device itself, using the spi serial bus just for transmitting and receiving the results (thus not overloading it too), and NOT for transmitting excessive data to compensate the chip for a limitation that the max6960 overcomes.

By leaving 100% of the tasks of the input device to the input device itself, can create a well distributed paralel processing load, if the plan is to make something like those large 100 channel professional mixing consoles.

Maybe it´s is a matter of objective so let me explain a good objective in the next post.
Logged
bantri
Intrigued
*
Posts: 39


View Profile
« Reply #6 on: March 18, 2008, 04:53:59 PM »

Primary objective: To create a better alternative (faster, cheaper, digital, durable, rugged, versatility) for linear (and rotary) analog, carbon film based, potentiometers, and then, use lots of them.

Now, let´s break all these criteria in small pieces so we can compare digital sliders versus analog carbon sliders/potentiometers (Dpots x Apots) in some easy ways.

COST:
I admit that Apots are cheap, film Apots even cheaper because they don´t have a mechanical metal or plastic case, slider, rails, etc... but, creating a PCB with just a max6960, a qwheel chip, 64 smd leds and a few discrete components with a SPI in/out bus can be VERY cost atractive too... why?

Both chips added cost less than 10$US, smd leds are inexpensive.
The Qwheel chip allows to draw the sensor pad in the PCB itself (in linear or rotary geometry) thus helping reducing costs.



but the REAL reason that justifies cost is that this pair is equivalent of a costly MOTORIZED fader, where the cpu has the ability to setup the position of the input device, this one is not bulky, has no moveable parts, no physical contact, no wearing out with excessive use. Motorized faders are surely more expensive.

The current chip version is just for capacitive touch input but i guess we WILL see versions in the future (beware Maxim folks...) that incorporate visual led feedback, its just a matter of time, hence the current need to incorporate a led driver chip.

The max6960 also has the precious hability of per led intensity that simulates more leds than the real led count, allowing less leds for the same resolution, optimizing cost.

SPEED:
Apots are fast, and, in analog circuits they have almost instantaneous response, but with a 60 milisecond response (the 20mbit SPI comm rate is also fast) the qslide chip has a good tradeof for an input device that has no physical contact and can be installed under a glass plate to resist dust and moisture, things that an Apot can´t.

RUGGEDNESS:
I don´t like input devices that involve physical contact.

In that class are carbon film pots or membrane pots, they´re prone to bad contact after prolonged use, the membrane keyboard of my old timex100 became horrible after some use, giving false contacts (the keys became deformed) or miscontacts, turning the task of doing input infernally annoying, it was my first and last membrane input device.

Some dj mixing tables even have screws for easy removing the cross fading pot replacement, because they know it will wear out with time and start making the typical scratching pot distortion sound.

Some sliders have fur or tissue inside the slot to avoid dust collection, but this can´t compare with the ability of assembling the sensor under a glass or acrylic plate, for cost reasons it can be even be assembled under a single sided fiberglass PCB, using it´s translucency to also show the smd leds visual feedback.

Does anyone here still use a non-optical mouse?

VERSATILITY:
Like i said, a tricolor led driver (max6960) and a qslide chip are the equivalent of a costly motorized fader that allows initial setup to be done by cpu, so in a parametric equalizer case, it can remember several setting curves and instantly set them up without the boring task of readjusting all the sliders, but there´s more.

By not having moveable parts means it has no inertia, so it can move REAL fast, giving the ability to use it for dual function, when touching the slider, it shows the slider value, and as soon the finger is removed, it can use the leds to act as a VU-Meter thus optimizing cost.

There´s even more:

Both chips have adjustable resolution which means that the slider can have several resolutions to allow fine relative adjustment OR absolute 1/1 equivalency beetween the led array and the sensor pad, show me a cheap motorized fader that can do this.
The tricolor led control can be very useful for registering peaks OR max/min limits and is not a fixed scale, it´s variable and can be programed via CPU.

DIGITAL:
It definitively closes the link between input devices and DSP/MIDI circuits avoiding analog resistive controls for good.

A good indication that this kind of input device is really starting to surface on the market are controls like:

Killamix: digital encoders and digital led array
http://www.kentonuk.com/kenton/killamix/killamix.html

Behringer bcr2000: full of digital encoders and led arrays
http://www.behringer.com/BCR2000/index.cfm


Nord Modular G2: digital encoders and led array
http://www.clavia.se/main.asp?tm=Products&clpm=Nord_Modular_G2&clnmm=Information

Pacemaker: Digital touch slider with led feedback and 2d touch wheel
http://pacemaker.net/device/

Phidgets touch sensors:
http://www.phidgets.com/products.php?product_id=1015
http://www.phidgets.com/products.php?product_id=1016

Gorenje cooking plate: linear touch slider with led display
http://www.appliancedesign.com/CDA/Articles/Controls_and_Sensors/BNP_GUID_9-5-2006_A_10000000000000042532

Logged
bantri
Intrigued
*
Posts: 39


View Profile
« Reply #7 on: March 18, 2008, 05:19:23 PM »

This paper shows clearly the touch PCB with holes to show led visual feed back, led array and pic chip (2nd PCB) in a small assembly for the this kind of control in the gorenje cooking table, although i think that guy didn´t used a good led driver chip. (monocolor and several smd transistors and discrete components, it can be optimized with the max6960)

http://www.qprox.com/Assets/Downloadablefile/Touch%20slider%20E%20Prax%20Aug%2007%20GE.pdf

this article was presented in a collection here:
http://www.qprox.com/corporate/in_the_press.html
Logged
ultrajosh
Administrator
Master Striber
*****
Posts: 396



View Profile WWW
« Reply #8 on: March 19, 2008, 12:25:01 PM »

> The reason for this is that if you entend to do a board full of
> sliders with every slider having 64 leds

That is what the stribe has, 2 columns of 64 LEDs next to each slider, a total of 128 LEDs per "channel" if you look at it as 8 stereo channels of a mixer.
Logged

"Well you touch it and it makes sounds."
bantri
Intrigued
*
Posts: 39


View Profile
« Reply #9 on: March 19, 2008, 01:45:33 PM »

exactly...

It´s a fantastic project.

That´s why i´m posting whatever ideas i can imagine here, to contribute with more inspiration.

are the dual led rows physically conected to present the same result?

whats the reason to have 2 led rows for each slider?

i think one row is more than enough.

using one row for left or right handed people is just a matter of software and turning the board 180 degrees.

Do you entend to research on max6960 or stick with max7221?

Are you researching the qslide chip? or the final version will use membrane potentiometers?

Do the stribe has both usb and midi in/out ports? (midi for compatibility but limited [slow, 0-127 limited values], usb for speed and generic limits)

How´s the development of the pcb? is it a single pcb? dual sided? Do you have a plan to migrate to smd components?

just discovered a nice site for led bars, they have those with leds closer to each other (high res bars):

http://www.primeled.com/

Logged
ultrajosh
Administrator
Master Striber
*****
Posts: 396



View Profile WWW
« Reply #10 on: March 21, 2008, 10:06:27 AM »

Great questions and ideas.

> using one row for left or right handed people is just a matter of software and
> turning the board 180 degrees.

I want to leave open the possibility of using the stribe as an 8 stereo channel mixer.  Having two independent colums per strip means each strip is associated with a stereo audio channel, similar to what you see on a mixing console.  One fader, two columns.  One application I'm working on right now is a Max audio mixer that uses the stribe as the interface.

>Do you entend to research on max6960 or stick with max7221?

Right now I've got it going so I'm sticking with this design for now.  I read the datasheet on the 69 series before selecting the 7221 and I forget why I chose the 7221.

>Are you researching the qslide chip? or the final version will use membrane >potentiometers?

Who knows?  That's why it's called The Stribe Project, and why its opensource.  You can add to this design or change it in any way you see fit.  Am I going to to try to implement every cool idea?  Too many possibilities and I'm pretty busy with this one, so no.  But you can!

The Qslide seems like the only real alternative at this point and at the time it didn't seem like they had an affordable product.  That may have changed.  In any case the strips are working, it's handy that they are adhesive-backed, they are proven to work, and I have a supplier.

This doesnt mean the stribe can only be built with these particular strips.  Feel free to enhance and upgrade and hack away!

>Do the stribe has both usb and midi in/out ports? (midi for compatibility but >limited [slow, 0-127 limited values], usb for speed and generic limits)

Right now it just uses USB, for both power and communication with the computer.  It's pretty easy to do Computer MIDI these days.

HOWEVER a MIDI add-on would not be a difficult circuit to create and is on the list of oft-requested modifications to the stribe.  Research is being done in this area and some have offered to assist in designing a MIDI circuit that can be added to the Stribe's proto area.  This might consist of a mini circuit board to hold the midi stuff and then a diagram of how to wire it to the Arduino on the Driver board, then some firmware tweaks to send MIDI - or maybe it can have it's own chip for the MIDI, straigh tfrom the voltage on the strips.  Keep in mind this MIDI interface would need it's own power supply that can also power the stribe, because presumably you won't ALSO have it hooked to USB for 5 Volts req'd by the stribe.  there is a thread on MIDI in the forum, please post more thoughts about MIDI there.

>How´s the development of the pcb? is it a single pcb? dual sided? Do you have a plan >to migrate to smd components?

There are 2 PCBs.  Look in the Info section for details on the circuit boards.  In short the top PCB is 2-sided and holds the LEDs and routed all the connections out to the edge of the board to headers that run all the way around the board.  A second PCB board is on the bottom holding all the driver circuits for the LEDs and also a place for the Arduino stamps to hook on.  This bottom board is a 4-layer board.  A bit more expesnive to make, especially because of the large size, but this board has a lot of work to do lighting up all those LEDs and also running the brain so I figured it was worth it to simplfy the power routing.
Logged

"Well you touch it and it makes sounds."
bantri
Intrigued
*
Posts: 39


View Profile
« Reply #11 on: March 21, 2008, 01:38:51 PM »

Usually i don´t rely on stability of capacitive touch either, but this video convinced me: Smiley

Arduino + Capacitive touch slider + MAX7221
http://www.youtube.com/watch?v=taRfGZKFFnc

Take a look on the speed and responsiveness (impressive for a capacitive device)... also on look the green led on the other board, that lights on as soon the pad is touched. (the chip has 2 extra outputs, one for near contact and other for contact, beyond the linear sensor)

currently quantum it´s fading production away of the qt411 (slider) and qt511(wheel) using qt1106 as a replacement that has the same cost and can be configured for any of those 2 modes and has an extra of (6+1) on/off touch pads (1 can be used for onj/off or measuring finger distance from pad, like a theremin) beyond the linear/circular sensor (AND sending commands via an SPI serial interface, which is good for arduino connection or putting several slave sliders in a communication bus [thus breaking the limit of the fixed analog inputs on arduino]).

http://www.qprox.com/products/product_summary.html

at digikey
qt1106 -> us$ 3.53 cost per chip (50 pieces)
http://parts.digikey.com/1/parts/951497-qt1106-wheel-slider-chip-w-7keys-qt1106-isg.html

at saelig
http://www.saelig.com/miva/merchant.mvc?Screen=PROD&Product_Code=IC3037&Category_Code=

Like this weren´t enough, it also has an automating power saving mode, that enters when the user is not near the slider, and an automatic recalibration procedure for keeping precise input even in cases when spilled liquid contamination change the capacitive characteristic of the pad, and this is why i consider it a serious and reliable input device.

how much is the cost for a resistive membrane strip?

i guess it´s probably cheaper than 3.53... but does it include:
-6 on/off pads
-1 distance sensor (or 7th on/off pad)
-near finger detector
-contacted finger detector
-256 positions (or less: 128, 64... ) slider OR wheel
-power saving mode
-sensor recalibration
-SPI serial interface
?

The reason for defending this case so fiercely is only about my *own personal taste*, i don´t like membranes, i would never use those in a project, even if gold plated models of those membranes were supplied for free. (personally i consider those very unreliable, after seeing with my own eyes, dozens good/useful devices that used them, broken... Embarrassed time will tell...) 

IMHO the current project is fantastic, but there´s room for improvement. Smiley

I´m sorry if this can be considered a negative (i prefer the term constructive) critic for the project (by my own personal taste), but what counts it´s the idea/concept of the device, which is excelent. (it works, it´s open architecture, it´s useful and so on... )

I rest my case about Qtouch chip X Resistive Strip, i´m out of arguments Lips Sealed, hoping that these ones were enough to give it a shot.

>The Qslide seems like the only real alternative at this point and at the time it
>didn't seem like they had a stable product.  That may have changed.  In any case
>the strips are working, it's handy that they are adhesive-backed, they are proven
>to work, and I have a supplier.
Logged
bantri
Intrigued
*
Posts: 39


View Profile
« Reply #12 on: March 28, 2008, 02:15:28 AM »

>Right now I've got it going so I'm sticking with this design for now.  I read the >datasheet on the 69 series before selecting the 7221 and I forget why I chose the >7221.

I agree... there are several differences.

There are several differences that make a difficult decision between those 2 8x8 led drivers (max6960 x max7221).

The basic one is the 3.3(6960) volt operation instead of 5(7221) volts, is there a way to countour it? (The way i see involves using another chip from maxim, a bridge between 5 and 3.3V, the USB 5v <-> SPI 3.3 max3421e [in the case of a simple interface directly to the pc, for testing], but only one is used to bridge for all the 8 channels (or a max of 256 channels), a voltage regulator chip may be needed too, the max1831 5>3.3v 3amps stepdown regulator [enough current to drive a lot of leds and chips].)

Is there a simpler chip solution for 5 to 3.3 comunication? (in the case of comunication between arduino and the led driver)

On the other hand one 69 can control 2x64 led rows allowing to develop a pcb where a single chip can drive the 2 stereo rows for each strip (making a 20% cost reduction [40% if using 7221 DIP package] and 10mbit/s to 20 mbit/s speed increase), with the additional advantage of having 4 intensity level per-led control.

There is a cheaper version for monocolor displays and another cheaper for only 2 intensity levels.

In a practical example it would mean that for monocolor, 2 intensity, 2x64 columns the price buying directly at maxim would be 7.98 for two max7221 and 5.69 for a single max6960. (at 6.25 the 4 level per led 6960 is still a cheaper solution)

(I don´t know if using one chip per 2 rows can increase the spi bus performance.)

here is a nice database table for maxim led drivers:

http://para.maxim-ic.com/search.mvp?fam=disp_driv&397=LED&tree=master

(to look those, filter the output format for 7-segment+dp AND 8x8 graphic)

and here are another 2 tables at digikey (the price comparison is higher on those)

http://search.digikey.com/scripts/DkSearch/dksus.dll?lang=en&site=US&keywords=max7221&x=0&y=0

http://search.digikey.com/scripts/DkSearch/dksus.dll?Cat=2556628;keywords=max6960

The packaging is also a problem (or not) it seems that the 69 is available only on very small packaging formats.

The newer 6960 is harder to solder (it may involve some some home made skillet reflowing) but then the project does´t need pcb drilling and smd leds are very cheap allowing cost reduction on those two.

see this at sparkfun
http://www.sparkfun.com/commerce/present.php?p=Reflow%20Skillet#Hot Plate Reflowing


Some discussions i´ve seen argue about 3.3V not being enough to drive blue leds.

Either way those 2 led drivers have unrivaled advantages for interfacing led bargraphs to a serial bus, as far as i know.

Logged
XNDR
Intrigued
*
Posts: 29


Hello world!


View Profile
« Reply #13 on: April 03, 2008, 08:19:01 PM »

I did some research with the Qprox sensor in combination with the max 7221 and an arduino (see youtube movie above). I was impressed by the results, but it's on hold for the moment while I'm working on a bigger project that will incorporate these sensors in the future. I think the capacitive touch strips in a stribe configuration will interfere with eachother as surface capacity is changed when it's touched at multiple places. I can't say anything more about it at the moment as it needs some more investigation, specifically with a better setup and possibly even with custom sensor pcb's.

After having played with a lot of different sensors and touch sensitive devices I still think a touchscreen is the way to go. It's used in many devices today, it's relatively cheap, it has very high resolution and multitouch is possible, see lemur and iPhone for instance. The problem is that interfacing a touchscreen with a uC and writing multitouch software may seem a bit daunting, but it's not impossible. This might be an interesting challenge for a community project.
Logged
bantri
Intrigued
*
Posts: 39


View Profile
« Reply #14 on: April 04, 2008, 01:09:45 PM »

Mutual interference can be a problem, but at least in the qt1106 there is a provision for operating in spread spectrum mode, to minimize it.

But that´s theory only, an experiment putting two sliders close to each other should be done to confirm indeed that they can operate together.

I believe that if two ground strips are put on each side of the slider can also allow close operation but this wasn´t predicted in the original pcb layout (see figure, note that these wer made with old generation ICs [qt411, qt511]) suggested by them.



Somehow i feel that bidimensional sensors are not the way for implementing such device instead of unidimensional sensors, but that´s just a feeling.

Logged
Pages: [1] 2 |   Go Up
Print
The Stribe Project - ForumGeneral CategoryinfohardwareTopic: max7221 specific
Jump to:  

Theme orange-lt created by panic