Strujni izvor 0-50A

Rasprava o AVR mikrokontrolerima, AVR projekti i drugo vezano za AVR...

Moderators: pedja089, stojke369, trax, InTheStillOfTheNight

Post Reply
User avatar
_Maniac_
Pravo uznapredovao :)
Pravo uznapredovao :)
Posts: 487
Joined: 02-09-2007, 00:12
Location: Bilje (pokraj Osijeka)
Contact:

Re: Strujni izvor 0-50A

Post by _Maniac_ »

pise PWM= i vise nista...
Capo Di Tutti Capi
abc
Pravo uznapredovao :)
Pravo uznapredovao :)
Posts: 498
Joined: 08-03-2007, 20:19
Location: Hrvatska

Re: Strujni izvor 0-50A

Post by abc »

_Maniac_ wrote:pise PWM= i vise nista...
Znaci ispisuje PWM= ali ne i broj, probaj jos ovaj malo prepravljeni hex, pa nastavljamo sutra :D.
Attachments
test_lcd.hex.zip
(1.92 KiB) Downloaded 159 times
User avatar
_Maniac_
Pravo uznapredovao :)
Pravo uznapredovao :)
Posts: 487
Joined: 02-09-2007, 00:12
Location: Bilje (pokraj Osijeka)
Contact:

Re: Strujni izvor 0-50A

Post by _Maniac_ »

Opet pise samo PWM=

I naravno nista pored toga :)...
Capo Di Tutti Capi
abc
Pravo uznapredovao :)
Pravo uznapredovao :)
Posts: 498
Joined: 08-03-2007, 20:19
Location: Hrvatska

Re: Strujni izvor 0-50A

Post by abc »

Zadnji kod sam napravio gresku na brzinu umjesto da kompajliram lcd_gotoxy(4,0); ja sam napisao lcd_gotoxy(0,4); gdje lcd pocinje ispis na pocetku 4-te linije koju tvoj lcd uopste ni nema.
Evo ti ispravljen hex ali mozda sam opet napravio gresku, najbolje da instaliras winavr i avrstudio da ne pravimo prazne postove. Ja cu ti objasniti koje brojeve i gdje ces da mjenjas dok ne ubodemo da tvoj lcd korektno ispisuje.

Probaj jos ovaj.
Mislim da nema greske

Code: Select all

lcd_clrscr();
		lcd_gotoxy(0,0);
		lcd_puts("PWM=\n");
		lcd_gotoxy(4,0);
		lcd_puts(buffer1);
		lcd_gotoxy(0,1);
		lcd_puts("ADC=\n");
                lcd_gotoxy(4,1);
		lcd_puts(buffer);
Attachments
test_lcd.hex.zip
(1.94 KiB) Downloaded 172 times
User avatar
_Maniac_
Pravo uznapredovao :)
Pravo uznapredovao :)
Posts: 487
Joined: 02-09-2007, 00:12
Location: Bilje (pokraj Osijeka)
Contact:

Re: Strujni izvor 0-50A

Post by _Maniac_ »

Ok... istalirat cu sad AVR... a sto se tice ovog koda... pise mi samo QTS=000000000000 i onda se tu i tamo koja 0 prebaci u 1 i opet brzo nazad u 0 i to je to sto mi pokazuje...
Capo Di Tutti Capi
abc
Pravo uznapredovao :)
Pravo uznapredovao :)
Posts: 498
Joined: 08-03-2007, 20:19
Location: Hrvatska

Re: Strujni izvor 0-50A

Post by abc »

Maniac isprobaj ovo, znaci samo izbrises kad isprobas ono izmedju zvjezdica pa probas slijedeci, zapisi sta se desava. Prvo probaj ono sto dobijes u zipu.

ovo je broj2 za probu


lcd_gotoxy(0,0);

lcd_puts("1234567890123456789\n");


ovo broj3

lcd_gotoxy(0,1);

lcd_puts("12345678\n");


ovo broj4

lcd_gotoxy(0,1);

lcd_puts("1234567890123456789\n");

ovo broj5

lcd_gotoxy(0,0);

lcd_puts(buffer1);



ovo broj 6

lcd_gotoxy(0,1);

lcd_puts(buffer1);
Attachments
test_lcd_1.zip
(55.27 KiB) Downloaded 161 times
abc
Pravo uznapredovao :)
Pravo uznapredovao :)
Posts: 498
Joined: 08-03-2007, 20:19
Location: Hrvatska

Re: Strujni izvor 0-50A

Post by abc »

Da ponovimo, raspakujes ovaj zip. Otvoris avr studio 4 a prije instaliras winavr.
Otvoris preko project jedino sta se moze otvoriti(test_lcd.aps) u direktorijumu koji si prije raspakovao, iskompajliras sa build all.

Hex fajl nadjes u poddirektorijumu koji si prije raspakovao.

Ono izmedju zvjezdica brises( u fajlu lcd_test.c) i kopiras ove 2 linije iz gornjeg teksta.
abc
Pravo uznapredovao :)
Pravo uznapredovao :)
Posts: 498
Joined: 08-03-2007, 20:19
Location: Hrvatska

Re: Strujni izvor 0-50A

Post by abc »

_Maniac_ wrote:Ok... istalirat cu sad AVR... a sto se tice ovog koda... pise mi samo QTS=000000000000 i onda se tu i tamo koja 0 prebaci u 1 i opet brzo nazad u 0 i to je to sto mi pokazuje...
Ovo sto ti se ponekad pojavi jedinica i nula je ocitavanje adc-a.
Jesi uspeo instalirati kompajler i studio i da li radi?
User avatar
_Maniac_
Pravo uznapredovao :)
Pravo uznapredovao :)
Posts: 487
Joined: 02-09-2007, 00:12
Location: Bilje (pokraj Osijeka)
Contact:

Re: Strujni izvor 0-50A

Post by _Maniac_ »

nisam jucer nista stigao, morao sam malog vodit na vadjenje krvi i jos na neke pretragice, dosao kuci premoren i samo zaspao (cak do 2h, jer poslije toga se njemu nije spavalo) :).... A danas cu cim dodjem kuci to napraviti...
Capo Di Tutti Capi
abc
Pravo uznapredovao :)
Pravo uznapredovao :)
Posts: 498
Joined: 08-03-2007, 20:19
Location: Hrvatska

Re: Strujni izvor 0-50A

Post by abc »

Mozda malo pojasnjenje za ove funkcije, pretpostavljam da se iz imena moze zakljuciti sta rade.

lcd_gotoxy(0,0);

Ova postavlja ispis karaktera na nulti polozaj(ili prvi, u C sve vecinom pocinje sa 0 a ne 1) i prvu liniju lcd-a.
Recimo lcd_gotoxy(4,0); znacilo bi da postavlja ispis na 4 mjesto u prvoj lini ispisa na lcd.
Takodje lcd_gotoxy(4,1); bi trebalo na drugu linu lcd i to na 4 poziciju da postavi ispis.

Kako se tvoj lcd ponasa kao 2x8 iako fizicki ima samo u jednom redu 16 znakova. Pretpostavljam da je problem ako se ispisuje vise od 8 znakova po redu ali onda bi trebao da ispise recimo PWM ili ADC ili neka od ovih slova da se pojave na raznim pozicijama, ali zbog cega ispisuje QTS to mi bas i nije jasno ali postoji neko objasnjenje zasto se to desava. Moguce je bio problem sto je varijabla stringa imala 7 karaktera pa kod ispisa 4 znaka plus ovih sedam je bilo vise od 8 znakova. Sada je prepravljena string varijabla na 4 znaka jer ne moze manje.


lcd_puts("12345678\n");
Ova gore funkcija ispisuje string 12345678 na lcd.

Imas jos funkciju samog kompajlera "itoa" koja pretvara ocitavanje sa adc-a u string da bi bio razumljiv ispis na lcd-u.
Znaci "lcd_puts(buffer1);" treba da ispise konvertovano adc ocitavanje u string na lcd, trenutno sta je ocitano na adc-u trebalo bi da ispise na lcd-u.
User avatar
_Maniac_
Pravo uznapredovao :)
Pravo uznapredovao :)
Posts: 487
Joined: 02-09-2007, 00:12
Location: Bilje (pokraj Osijeka)
Contact:

Re: Strujni izvor 0-50A

Post by _Maniac_ »

za 1. test - ispise mi na ekranu 12345678

za 2. test - ispise mi na ekranu 1335577900000000 (tu i tamo koja znamenka se promijeni, al se vrati opet na te brojeve)

za 3. test - ispise mi na ekranu 1335577900000000 (tu i tamo koja znamenka se promijeni, al se vrati opet na te brojeve)

za 4. test - ispise mi na ekranu 1335577900000000 (tu i tamo koja znamenka se promijeni, al se vrati opet na te brojeve)

za 5. test - ispisuje mi na ekranu od 0 - 1020 u koraku po 20 u prvom dijelu display-a

za 6. test - ispisuje mi na ekranu od 0 - 1020 u koraku po 20 u prvom dijelu display-a
Capo Di Tutti Capi
User avatar
_Maniac_
Pravo uznapredovao :)
Pravo uznapredovao :)
Posts: 487
Joined: 02-09-2007, 00:12
Location: Bilje (pokraj Osijeka)
Contact:

Re: Strujni izvor 0-50A

Post by _Maniac_ »

test 6. - ne u prvom dijelu display-a nego u drugom, krivo napisao :)
Capo Di Tutti Capi
abc
Pravo uznapredovao :)
Pravo uznapredovao :)
Posts: 498
Joined: 08-03-2007, 20:19
Location: Hrvatska

Re: Strujni izvor 0-50A

Post by abc »

Ovo je sve u redu ako ispisujemo do 8 znakova. Trebalo bi onda i sve zajedno da ispisuje.

Probaj, izbrisi prethodno i kopiraj ovo dolje.


lcd_gotoxy(0,0);
lcd_puts("PWM\n");
lcd_gotoxy(3,0);
lcd_puts(buffer1);
lcd_gotoxy(0,1);
lcd_puts("ADC\n");
lcd_gotoxy(3,1);
lcd_puts(buffer);
User avatar
_Maniac_
Pravo uznapredovao :)
Pravo uznapredovao :)
Posts: 487
Joined: 02-09-2007, 00:12
Location: Bilje (pokraj Osijeka)
Contact:

Re: Strujni izvor 0-50A

Post by _Maniac_ »

PISE:

QTS0000000012000

s tima da se ovaj broj 2 mijenja konstantno i da se broj 1 promijeni u 6 7 8 9 ovisno koliko dugo broji, al ima neki loop koji konstantno ponavlja...

zasto... neznam...



Kad upisem:

Code: Select all

lcd_gotoxy(0,0);
lcd_puts("PWM\n");
lcd_gotoxy(3,0);
lcd_puts(buffer1);
Dobijem:

PWM(0-1020) znaci bez zagrada mijenja se od 0-1020


cim upisem:

Code: Select all

lcd_gotoxy(0,1);
lcd_puts("ADC\n");
lcd_gotoxy(3,1);
lcd_puts(buffer);
dobijem QTS=000000000000

e sad te nule se mijenjaju...

pretpostavljam da ADCH nesto ne valjda... :)
Capo Di Tutti Capi
User avatar
_Maniac_
Pravo uznapredovao :)
Pravo uznapredovao :)
Posts: 487
Joined: 02-09-2007, 00:12
Location: Bilje (pokraj Osijeka)
Contact:

Re: Strujni izvor 0-50A

Post by _Maniac_ »

Ako upisem:

Code: Select all

lcd_gotoxy(0,1);
lcd_puts("PWM\n");
lcd_gotoxy(3,1);
lcd_puts(buffer1);
Dobijem onaj QW]0000000100000 (10000 se povecava sve do 1xxxxx (u biti zadnji broj se jako brzo promjeni, pa neznam koji je :) ))


Il je u drugom dijelu displaya neka greska... nemam pojma...


EDIT:

Ponovno stavio:
ovo broj 6

lcd_gotoxy(0,1);

lcd_puts(buffer1);

I normalno pokazuje u drugom dijelu od 0-1020 brojeve
Capo Di Tutti Capi
User avatar
_Maniac_
Pravo uznapredovao :)
Pravo uznapredovao :)
Posts: 487
Joined: 02-09-2007, 00:12
Location: Bilje (pokraj Osijeka)
Contact:

Re: Strujni izvor 0-50A

Post by _Maniac_ »

e da... 7805 se jaaaaaako grije :)... ako je to ista bitno...
Capo Di Tutti Capi
abc
Pravo uznapredovao :)
Pravo uznapredovao :)
Posts: 498
Joined: 08-03-2007, 20:19
Location: Hrvatska

Re: Strujni izvor 0-50A

Post by abc »

7805 se grije zato sto ti je potrosnja 150mA i mora da ima hladnjak ili da iskljucis pozadinsko osvijetljenje.

Kad uhvatis vremena probaj ovo, a ja cu morati napokon da sastavim programator za atmel, zasad se zabavljam samo simulacijom u studiu :D.

Nisi probao kombinaciju

lcd_gotoxy(0,0);
lcd_puts("PWM\n");
lcd_gotoxy(3,0);
lcd_puts(buffer1);
lcd_gotoxy(0,1);
lcd_puts("ADC\n");

U drugoj polovini treba da ispise samo ADC a u prvoj polovini PWM i broj koji se mjenja.

Nadji poslije toga u lcd.h fajlu ovo ,to ti je odmah na vrhu.

#define LCD_LINES 4 /**< number of visible lines of the display */
#define LCD_DISP_LENGTH 16 /**< visibles characters per line of the display */
#define LCD_LINE_LENGTH 0x10 /**< internal line length of the display */

I prepravi ga u ovo.

#define LCD_LINES 2 /**< number of visible lines of the display */
#define LCD_DISP_LENGTH 8 /**< visibles characters per line of the display */
#define LCD_LINE_LENGTH 0x08 /**< internal line length of the display */


I onda probaj ponovno ovo

lcd_gotoxy(0,0);
lcd_puts("PWM\n");
lcd_gotoxy(3,0);
lcd_puts(buffer1);
lcd_gotoxy(0,1);
lcd_puts("ADC\n");
lcd_gotoxy(3,1);
lcd_puts(buffer);


Maniac jos malo pa ces da rasturas C :D.
User avatar
_Maniac_
Pravo uznapredovao :)
Pravo uznapredovao :)
Posts: 487
Joined: 02-09-2007, 00:12
Location: Bilje (pokraj Osijeka)
Contact:

Re: Strujni izvor 0-50A

Post by _Maniac_ »

E ovako...

S ovim
lcd_gotoxy(0,0);
lcd_puts("PWM\n");
lcd_gotoxy(3,0);
lcd_puts(buffer1);
lcd_gotoxy(0,1);
lcd_puts("ADC\n");
i ovim
#define LCD_LINES 2 /**< number of visible lines of the display */
#define LCD_DISP_LENGTH 8 /**< visibles characters per line of the display */
#define LCD_LINE_LENGTH 0x08 /**< internal line length of the display */

Dobivam:

PWM koji se stalno mijenja od 0-1020 znaci pise tipa PWM0, PWM20, PWM40...PWM1020 i pored toga pise ADC bez ikakvog broja i icega....



A kad stavim ovo...
lcd_gotoxy(0,0);
lcd_puts("PWM\n");
lcd_gotoxy(3,0);
lcd_puts(buffer1);
lcd_gotoxy(0,1);
lcd_puts("ADC\n");
lcd_gotoxy(3,1);
lcd_puts(buffer);
dobijem:

PWM koji se stalno mijenja od 0-1020 znaci pise tipa PWM0, PWM20, PWM40...PWM1020 i pored toga pise ADC0...

Eto ga :)
Capo Di Tutti Capi
User avatar
Kizo
Pravo uznapredovao :)
Pravo uznapredovao :)
Posts: 387
Joined: 01-11-2009, 22:40
Location: Hrvatska

Re: Strujni izvor 0-50A

Post by Kizo »

Bravo dečki to se traži. Sad možeš spojiti mosfet na pwm i onu svoju žarulju da provjeriš dali to radi kako piše na displayu ili ABC predlaže nešto drugo? Tipke možda?
abc
Pravo uznapredovao :)
Pravo uznapredovao :)
Posts: 498
Joined: 08-03-2007, 20:19
Location: Hrvatska

Re: Strujni izvor 0-50A

Post by abc »

Probaj jos da dodas "="

lcd_gotoxy(0,0);
lcd_puts("PWM=\n");
lcd_gotoxy(3,0);
lcd_puts(buffer1);
lcd_gotoxy(0,1);
lcd_puts("ADC=\n");
lcd_gotoxy(3,1);
lcd_puts(buffer);


Za tipke mozemo upotrijebiti onaj kod koji je nocni stavio ili nesto napisati.
Takodje na adc spoji potenciometar i isprobaj recimo od 0 do 50mV das li pokazuje kako treba.
Post Reply