I have a question about connecting DOGM132 to Arduino Uno.
First of all, I've been a software developer for 10 years, but this electronics thing is quite new to me. Please, don't laugh at me, I'm currently reading Electronics for Dummies, to get a grip on these things called resistors, capacitors, transistors, etc.
I've got almost everything correct, except that I do not have a 74HC 4050 Driver IC, and I haven't connected the backlight power. The pixels switch on and off as they were supposed to. On the left (outside the picture) I've connected 3.3V and GND wires from the Arduino board, everything else is in the picture and it's how it should be by the scheme. Now, the funny thing is that my breadboard has these long 50 hole lines (bottom side in the picture) that I'm using for power and ground, but they are split in the middle (I found out it just now, I thought they were running all along). So what happened is - everything is working, without the 3.3V supply.
Now the questions:
What's the point of 74HC 4050 Driver IC?
How does the display work without power? Is that's why you have to use so many capacitors, so they just charge up from Arduino digital pin outputs?
Should I use a resistor inbetween 3.3V output from Arduino and DOGM display? I couldn't find any info in technical specifications, but there is something about 150uA, so it seems to me, that I should use 22k resistor.
And of course, a newbie question - can I damage anything if I leave this setup as it is?
First i would like to mention, that I stopped working on dogm128 lib. Instead you might use u8glib, which also supports the DOGM128 display. U8glib is intended to replace dogm128 (or maybe it is dogm128 v2...)
The HC4050 protects the display controller. The Arduino output lines have 0V for LOW and 5V for HIGH, but the controller is NOT 5V tolerant. So connecting the SPI and control lines directly might destroy the display:
The Dogm128 is almost identical to the Dogm132. Instead of the HC4050 you could also use a resistor divider.
Yes
Think of the display beeing the resistor. The display will consume whatever is required, but it should not exceed the maximum current that can be provided. Additional resistor is not required.
I personally would say yes. You did not explain the resistors on your photo. Are they used to as voltage divider for the Arduino output? If yes, then it should be ok. If no, please use some voltage level shifting techniques like the 4050.
OK, so that means that the digital input of SPI should also be 3.3V, right? I think I'll try to make something out with a resistor voltage divider then.
OK
Well this is one of these things that make my head spin, I quite do not understand when a component can be thought of as a resistor and when it's not (LED for example).
Those resistors are just 10 x 1k resistors in series, as I didn't have any 10k resistor at hand, so I improvised.
One more small question - is CD4050 the same as HC4050? It seems that it's the only one I can currently get.
I'll try to make something out with a resistor voltage divider then.
In this case, you do not need the 4050
is CD4050 the same as HC4050? It seems that it's the only one I can currently get.
Yes, again: Either voltage divider or 4050.
I quite do not understand when a component can be thought of as a resistor and when it's not (LED for example).
You already noticed that the maximum current which is consumed by the display controller is about 150uA (i have seen 180uA).
So the equivalent resistor of the display controller is R = U / I = 3.3 Volt / 0.00018 Amper = 18KOhm
The difference to LED is this: The display controller gives an estimation of the current which is consumed at max. The LED datasheet gives a maximum current value at which the LED is destroyed. Current limitation has to be done externally.
I've come up with one more question. I finally bought a LED back light and I was following the DOGM132 shield schematics (from here: GitHub - olikraus/dogm128: Automatically exported from code.google.com/p/dogm128). The question is - how come that you need a 30ohm resistor for 5V supply. By Ohm's Law it would use up to 150mA from Arduino's 5V pin, which is way over 40mA max that Arduino supports. Or am I missing something here, like internal resistance of LED55X31 board? The specification states, that it would use up to 30mA though.
It's just hard for me (a newbie) to get a grip on this Ohm's law and these extra unknowns.
gusc:
I've come up with one more question. I finally bought a LED back light and I was following the DOGM132 shield schematics (from here: GitHub - olikraus/dogm128: Automatically exported from code.google.com/p/dogm128). The question is - how come that you need a 30ohm resistor for 5V supply. By Ohm's Law it would use up to 150mA from Arduino's 5V pin, which is way over 40mA max that Arduino supports. Or am I missing something here, like internal resistance of LED55X31 board? The specification states, that it would use up to 30mA though.
It's just hard for me (a newbie) to get a grip on this Ohm's law and these extra unknowns.
Your doing fine. You almost got it.. The 'internal resisitance' is in series with the 30 ohm resistor and creates a voltage divider.
The calculation is like you would calculate the resistance for a LED:
A red LED has a forward voltage drop of about 1.2 to 1.6V (blues have more)
So the voltage across the resistor is 5-1.6 = 3.4V
If you want it to burn with a 20 mA current you divide 3.4 by 0.02 which is 170 ohms. Since this is not a current value, you would take 180 Ohms.
For your display we work the other way around:
Remember that in series the current through all of the components is the same, it's the voltage which gets divided.
If your display draws 30 mA and the series-resistor is 30 Ohm, the voltage across the resistor is 0.03 x 30 = 0.9v
So the forward voltage drop of your display is 5 - 0.9 = 4.1V
You may come across this number on the datasheet..
ReSiStAnCe:
Your doing fine. You almost got it.. The 'internal resisitance' is in series with the 30 ohm resistor and creates a voltage divider.
The calculation is like you would calculate the resistance for a LED:
A red LED has a forward voltage drop of about 1.2 to 1.6V (blues have more)
So the voltage across the resistor is 5-1.6 = 3.4V
If you want it to burn with a 20 mA current you divide 3.4 by 0.02 which is 170 ohms. Since this is not a current value, you would take 180 Ohms.
For your display we work the other way around:
Remember that in series the current through all of the components is the same, it's the voltage which gets divided.
If your display draws 30 mA and the series-resistor is 30 Ohm, the voltage across the resistor is 0.03 x 30 = 0.9v
So the forward voltage drop of your display is 5 - 0.9 = 4.1V
You may come across this number on the datasheet..
I think i'm starting to understand parts of what you said, and if so then in the specs the forward voltage drop is 6.4V, which ... well ... is confusing (I have a white backlight, LED55x31-W, see here: http://www.lcd-module.com/eng/pdf/grafik/dogm132-5e.pdf page 2)
I overlooked the schematics, of DOGM shield, and now I'm even more confused. If I understand the specs right, then it's 30mA when LED's are connected in series and 60mA in parallel, right? But in the schematics they seem to be connected in parallel, like A1 + A2 + resistor to 5V and C1 + C2 + Ground. Each pair of LEDs are located between A1/C1 and A2/C2 (last page in the specs). Shouldn't it be that a resistor to the 5V is connected to A1, then C1 with A2 and finally C2 with the ground?
it's 30mA when LED's are connected in series and 60mA in parallel
Yes for white and blue LED color.
A1 + A2 + resistor to 5V and C1 + C2 + Ground
Yes, this is called: Connected in parallel
5V is connected to A1, then C1 with A2 and finally C2 with the ground
This is "connected in series"
As a designer you can choose between series and parallel connection, however there are some side conditions:
The forward voltage must be lower than the power supply.
This is a must. Otherwise, the LED will not reliabled turned on.
For the white display, connected in series, the forward voltage is 6.4 (see page 2 of the dogm132 data sheet). It can not be connected to 5V or 3.3V of the Arduino Board. Both power supplies provide too less voltage.
The forward voltage should be as close to the power supply as possible
This will reduce the power consumption to a minimum. The power consumption for the LED is fixed. It is forward voltage * current (P=UI). The power consumption by the resistor is P = RI*I, with I the current for the display. So a low resitor will minimize the power consumption. The resistor value gets low, when the forward voltage is close to power supply voltage.
However, for the design of the above mentioned shield, there was another side condition, which was more important than 2):
Is it possible to choose a connection so that the current limitation can be done with a resistor for ALL backlight options?
This will simplify the design of the shield and still gives the user the option to choose between all available colors.
The answer is: Use 5V power supply with parallel connection. In this case, you will find a fitting resistor value for any of the backlight options.
However, now power consumption might be bad in some cases. For example with the amber backlight, the dogm132 shield requires a 32 Ohm resistor and will consume 80 mA. The series connection would reduce current to 40 mA, which means that only half of the power consumption would be required.