Strujni izvor 0-50A
Moderators: pedja089, stojke369, trax, InTheStillOfTheNight
Re: Strujni izvor 0-50A
Znaci ispisuje PWM= ali ne i broj, probaj jos ovaj malo prepravljeni hex, pa nastavljamo sutra ._Maniac_ wrote:pise PWM= i vise nista...
- Attachments
-
- test_lcd.hex.zip
- (1.92 KiB) Downloaded 160 times
Re: Strujni izvor 0-50A
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
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
- _Maniac_
- Pravo uznapredovao :)
- Posts: 487
- Joined: 02-09-2007, 00:12
- Location: Bilje (pokraj Osijeka)
- Contact:
Re: Strujni izvor 0-50A
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
Re: Strujni izvor 0-50A
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);
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
Re: Strujni izvor 0-50A
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.
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.
Re: Strujni izvor 0-50A
Ovo sto ti se ponekad pojavi jedinica i nula je ocitavanje adc-a._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...
Jesi uspeo instalirati kompajler i studio i da li radi?
- _Maniac_
- Pravo uznapredovao :)
- Posts: 487
- Joined: 02-09-2007, 00:12
- Location: Bilje (pokraj Osijeka)
- Contact:
Re: Strujni izvor 0-50A
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
Re: Strujni izvor 0-50A
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.
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.
- _Maniac_
- Pravo uznapredovao :)
- Posts: 487
- Joined: 02-09-2007, 00:12
- Location: Bilje (pokraj Osijeka)
- Contact:
Re: Strujni izvor 0-50A
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
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
- _Maniac_
- Pravo uznapredovao :)
- Posts: 487
- Joined: 02-09-2007, 00:12
- Location: Bilje (pokraj Osijeka)
- Contact:
Re: Strujni izvor 0-50A
test 6. - ne u prvom dijelu display-a nego u drugom, krivo napisao
Capo Di Tutti Capi
Re: Strujni izvor 0-50A
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);
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);
- _Maniac_
- Pravo uznapredovao :)
- Posts: 487
- Joined: 02-09-2007, 00:12
- Location: Bilje (pokraj Osijeka)
- Contact:
Re: Strujni izvor 0-50A
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:
Dobijem:
PWM(0-1020) znaci bez zagrada mijenja se od 0-1020
cim upisem:
dobijem QTS=000000000000
e sad te nule se mijenjaju...
pretpostavljam da ADCH nesto ne valjda...
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);
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);
e sad te nule se mijenjaju...
pretpostavljam da ADCH nesto ne valjda...
Capo Di Tutti Capi
- _Maniac_
- Pravo uznapredovao :)
- Posts: 487
- Joined: 02-09-2007, 00:12
- Location: Bilje (pokraj Osijeka)
- Contact:
Re: Strujni izvor 0-50A
Ako upisem:
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:
I normalno pokazuje u drugom dijelu od 0-1020 brojeve
Code: Select all
lcd_gotoxy(0,1);
lcd_puts("PWM\n");
lcd_gotoxy(3,1);
lcd_puts(buffer1);
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
- _Maniac_
- Pravo uznapredovao :)
- Posts: 487
- Joined: 02-09-2007, 00:12
- Location: Bilje (pokraj Osijeka)
- Contact:
Re: Strujni izvor 0-50A
e da... 7805 se jaaaaaako grije ... ako je to ista bitno...
Capo Di Tutti Capi
Re: Strujni izvor 0-50A
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 .
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 .
Kad uhvatis vremena probaj ovo, a ja cu morati napokon da sastavim programator za atmel, zasad se zabavljam samo simulacijom u studiu .
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 .
- _Maniac_
- Pravo uznapredovao :)
- Posts: 487
- Joined: 02-09-2007, 00:12
- Location: Bilje (pokraj Osijeka)
- Contact:
Re: Strujni izvor 0-50A
E ovako...
S ovim
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...
PWM koji se stalno mijenja od 0-1020 znaci pise tipa PWM0, PWM20, PWM40...PWM1020 i pored toga pise ADC0...
Eto ga
S ovim
i ovimlcd_gotoxy(0,0);
lcd_puts("PWM\n");
lcd_gotoxy(3,0);
lcd_puts(buffer1);
lcd_gotoxy(0,1);
lcd_puts("ADC\n");
#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...
dobijem: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);
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
Re: Strujni izvor 0-50A
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?
Re: Strujni izvor 0-50A
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.
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.