Sida 1 av 3

Atmega32 -> 16x2 LCD problem

Postat: 13 augusti 2007, 23:18:44
av Kraco
Har lite problem här, har en atmega32 kopplad till en

http://www.kjell.com/content/templates/ ... 0215&path=

enligt detta schema, men jag har ingen vridpot, ist en resistor på 10K i testsyfte, men det borde ju inte ha någon betydelse i mitt fall.

Bild

+ att det ligger 4.5V på backlight kontakterna före pin 1 (som för övrigt ska vara pin 15-16 enl databladet?

Men jag får inte ens backlighten att funka? Programmet laddas in snällt och fint med dessa modifikationer

Kod: Markera allt

#define XTAL 1000000              /**< clock frequency in Hz, used to calculate delay timer, [b]ändrat från 4 till 1 för att ingen extern oscillator finns [/b]*/

#define LCD_CONTROLLER_KS0073 0  /**< Use 0 for HD44780 controller, 1 for KS0073 controller */

#define LCD_IO_MODE      1         /**< 0: memory mapped mode, 1: IO port mode */

... 

#define LCD_PORT         PORTA        /**< port for the LCD lines   */
#define LCD_DATA0_PORT   LCD_PORT     /**< port for 4bit data bit 0 */
#define LCD_DATA1_PORT   LCD_PORT     /**< port for 4bit data bit 1 */
#define LCD_DATA2_PORT   LCD_PORT     /**< port for 4bit data bit 2 */
#define LCD_DATA3_PORT   LCD_PORT     /**< port for 4bit data bit 3 */
#define LCD_DATA0_PIN    4            /**< pin for 4bit data bit 0, ändrat  */
#define LCD_DATA1_PIN    5            /**< pin for 4bit data bit 1, ändrat  */
#define LCD_DATA2_PIN    6            /**< pin for 4bit data bit 2, ändrat  */
#define LCD_DATA3_PIN    7            /**< pin for 4bit data bit 3, ändrat */
#define LCD_RS_PORT      LCD_PORT     /**< port for RS line         */
#define LCD_RS_PIN       0            /**< pin  for RS line, ändrat        */
#define LCD_RW_PORT      LCD_PORT     /**< port for RW line         */
#define LCD_RW_PIN       1            /**< pin  for RW line, ändrat         */
#define LCD_E_PORT       LCD_PORT     /**< port for Enable line     */
#define LCD_E_PIN        2            /**< pin  for Enable line, [b]ändrat [/b]    */
Kör testprogrammet som kommer med lcd.h grejerna härifrån

Någon som har någon idé om vad som kan vara fel, kanske varit med om något liknande ? Har kollat på ut pinnarna som går in till backlighten på sidan är där finns 4.5 volt och det är inte polvänt eller så.
Det enda jag inte är 100% på är vart jag ska koppla Vss(0V GND) men jag antar att det är till jorden, då det inte finns någon annan jordpinne...

Postat: 13 augusti 2007, 23:33:47
av kimmi
Hi ,

kan det var dette ?

Port C på M32 er JTAG porten du måste Disable JTAG

men i coden er det PORT A
#define LCD_PORT PORTA /**< port for the LCD lines */

Hvad er ret her ?

Postat: 13 augusti 2007, 23:37:54
av Kraco
Aah, det hade jag helt missat, orkar inte löda om alla till port A så jag måste nog disabla JTAG.
Men just nu är det för sent på kvällen för att orka klura ut hur man gör det med avrdude utan att ställa till med problem så det får bli imorgon :roll:

Men kan det även vara detta som gör att inte backlighten lyser? Är den mjukvarustyrd eller är det jag som klantat till det även där?

Postat: 13 augusti 2007, 23:43:18
av kimmi
Pin 3 er contrast på lcd inte backlighten

Postat: 13 augusti 2007, 23:46:02
av sodjan
> före pin 1 (som för övrigt ska vara pin 15-16 enl databladet?

16-pinnars LCD'er kan ofta ha pin 15-16 lite "konstigt", som t.ex
före pin 1. Men, databladet är ju solklart på den punkten...

Notera att BL är helt skilt från övrigt elektronik på LCDn. BL ska
fungera utan att något annat är inkopplat. *Dessutom* fungerar
LCDn normalt sätt utmärkt *utan* BL...

> men jag har ingen vridpot, ist en resistor på 10K i testsyfte,

Hur då ??

> men det borde ju inte ha någon betydelse i mitt fall.

Varför inte ?

Sen är det lite roligt att Kjell på sin websida skriver "För tekniska data, se webshop."... :-)

Såg Kimmi's not om PORTA/PORTC, *så* enkla missar kollade jag inte efter... :roll:

Postat: 13 augusti 2007, 23:46:59
av Kraco
Nä det vet jag, backlighten sitter på pin 15 och 16 och de är kopplade separat, observera editen i posten ovan.

Postat: 13 augusti 2007, 23:50:54
av Kraco
sodjan skrev: Hur då ??
Fråga mig inte, jag har bara lött som en tok :P

Eller ja, ok då... + 5 V till 10K motstånd till pin 3 på lcd, har jag klantat till det nu ? :oops:
sodjan skrev: Notera att BL är helt skilt från övrigt elektronik på LCDn. BL ska
fungera utan att något annat är inkopplat. *Dessutom* fungerar
LCDn normalt sätt utmärkt *utan* BL...
Märkligt då att den inte fungerar, ligger 4.5V på + och - som till synes ska gå till backlighten... Hmm :shock:

Postat: 13 augusti 2007, 23:56:52
av kimmi
BL pin15 mådstand ca 150 ohm til + 5 volt . pin16 to - (gnd)

contrast der måste du ha et potmeter mellem + pin3 -
justerer på den så du kan se at lcdén bliver (Black) sen tilbacka til det inte ses mere
Bild
Shot at 2007-08-13

Postat: 14 augusti 2007, 00:03:21
av Kraco
Det kan hända att jag har ett för stort motstånd på pin 15 då, har ett 10 K där tror jag (drog till med lite extra för säkerhetens skull).

Ja då har jag ju helt klart kopplat kontrasten (pin 3) fel... oops :)

Man lär så länge man lever, jag har nyss börjat med sånt här så :)

Edit: Nu förstår jag helt klart, tack för schemat!! Ska fixa det där imorgon :D

Postat: 14 augusti 2007, 00:22:52
av sodjan
> + 5 V till 10K motstånd till pin 3 på lcd, har jag klantat till det nu ?

Ja. :-)

*Ingen* LCD fungerar med 5V på kontrastpinnen.
Nästan alla LCD'er fungerar med 0V på kontrastpinnen,
så *det* kan man testa (om man saknar pot), men får
kanske inte optimal kontrast.

*OCH* (surprice) detta står i databladet. Kolla "Supply voltage for LCD".
Där står "VDD-VO" = 4.6V (typ), alltså ca 0.4V (mätt från GND). Helt
normalt för en STN LCD med "standard temp range". Notera att det står
0-50 deg C, en "extended temp range" LCD klarar ofta ner till ca -25 deg C,
men kräver då en kontrastspänning som ligger *under* GND, varför de
inte är så populära...

Vad lär vi oss av detta ? Jo, databladet finns där av en anledning ! :-)

Om du saknar pot kan du ta ett 1k och ett 10 k motstånd och få
ca 0.4 - 0.5 V på pin 3, men det behövs sannolikt inte...

> Det kan hända att jag har ett för stort motstånd på pin 15 då, har ett 10 K där tror jag

Hur räknade du ut det ? En LED BL på en 16x2 LCD drar typiskt 100-400
mA beroende på hur "ljus" du vill att den ska vara. Det kommer du inte i
närheten av med 10kohm där.

Om vi antar 100mA så får vi 0.5V / 0.1 A = 50 ohm. Eller 47 ohm...

0.5V är 5.0V minus den angiva framspänningen för BL-modueln.

En sak där databladet brister totalt, är att de inte anger typisk *ström* för
backlighten !! Väldigt dåligt (och ovanligt att det saknas).

Postat: 14 augusti 2007, 08:35:41
av Kraco
> *Ingen* LCD fungerar med 5V på kontrastpinnen.
> Nästan alla LCD'er fungerar med 0V på kontrastpinnen,
> så *det* kan man testa (om man saknar pot), men får
> kanske inte optimal kontrast.

Ah, där ser man!

> *OCH* (surprice) detta står i databladet. Kolla "Supply voltage for LCD".
> Där står "VDD-VO" = 4.6V (typ), alltså ca 0.4V (mätt från GND). Helt
> normalt för en STN LCD med "standard temp range". Notera att det står
> 0-50 deg C, en "extended temp range" LCD klarar ofta ner till ca -25 > deg C,
> men kräver då en kontrastspänning som ligger *under* GND, varför de
> inte är så populära...

Happ, där ser man också :P

> Om du saknar pot kan du ta ett 1k och ett 10 k motstånd och få
> ca 0.4 - 0.5 V på pin 3, men det behövs sannolikt inte...

Så då behöver jag inte koppla in den pinnen alls ? :roll:

> Hur räknade du ut det ? En LED BL på en 16x2 LCD drar typiskt 100-400
> mA beroende på hur "ljus" du vill att den ska vara. Det kommer du inte i
> närheten av med 10kohm där.

Det räknade jag inte heller ut, hade inte en suck att räkna ut hur stor den skulle vara. För det första visste jag inte hur stor ström jag skulle räkna på, för det andra hade jag räknat med 4.5 volt och inte 0.5 som du räknar med...

Edit: Nä det här får jag ju inte ihop alls, 0,5/0,1 är ju 5. Men jag har i varje fall lärt mig ohms lag en 75e gång :D Fan vad fort jag glömmer saker...

Där ser man en tredje gång, är nog dags för mig att slita fram några skolböcker jag snott hem :roll:

Postat: 14 augusti 2007, 09:27:13
av Icecap
JO, du behöver koppla konstrastpinnen!!

Postat: 14 augusti 2007, 10:05:54
av Kraco
Hmm, ok.

> Om du saknar pot kan du ta ett 1k och ett 10 k motstånd och få
> ca 0.4 - 0.5 V på pin 3, men det behövs sannolikt inte...

Ska jag alltså koppla typ såhär VCC - 10K - Pin3 och 10K - 1K - GND

Postat: 14 augusti 2007, 10:17:09
av Icecap
Jag har ett antal projekt där jag har kört kontrastpinnen direkt till GND, på vissa har det varit lite väl mörkt men ska man "bara starta" kan det duga bra. Annars kan din spänningsdelare duga.

Postat: 14 augusti 2007, 10:25:43
av Kraco
aah, nu börjar jag få grepp om det här, förstod inte att jag kunde koppla den direkt till gnd. Provar det först, sen den där fasta spänningsdelaren om jag inte lyckas rota fram någon variabel.

Anledningen till att jag inte kan nånting i princip är att det var >5 år sedan jag höll på att bygga elektronik, men har kommit igång nu igen då jag helt enkelt fick tillbaka intresset genom mikroprocessorer. Annars har jag hållit mig till mjukvarudelen helt och hållet.
Men det kommer tillbaks snabbt känner jag, så snart slipper ni mina sandlåde frågor :lol: