www.elektronik.si Seznam forumov www.elektronik.si
Forum o elektrotehniki in računalništvu
 
 PomočPomoč  IščiIšči  Seznam članovSeznam članov  SkupineSkupine  StatisticsStatistika  AlbumAlbum  DatotekeFilemanager DokumentacijaDocDB LinksPovezave   Registriraj seRegistriraj se 
  PravilaPravila  LinksBolha  PriponkePriponke  KoledarKoledar  ZapiskiZapiski Tvoj profilTvoj profil Prijava za pregled zasebnih sporočilPrijava za pregled zasebnih sporočil PrijavaPrijava 

Silvo PIC multimeter
Pojdi na stran Prejšnja  1, 2, 3, 4, 5, 6, 7  Naslednja
 
Objavi novo temo   Odgovori na to temo   Printer-friendly version    www.elektronik.si Seznam forumov -> Elektronika
Poglej prejšnjo temo :: Poglej naslednjo temo  
Avtor Sporočilo
protoncek
Član
Član



Pridružen-a: Sre 31 Jan 2007 9:41
Prispevkov: 9573
Aktiv.: 45.67
Kraj: Mengeš

PrispevekObjavljeno: Pon Mar 28, 2011 10:30 pm    Naslov sporočila:   Odgovori s citatom

Nedavno sem nabavil 2x8 LCDje in so organizirani kot 1x16, torej če je LCD namesto 2x8 model 1x16 bo druga vrstica pač napisana v prvi, to je vse. No, izpis je lahko malce "čuden" ker se zadnja črka prve in prva črka druge vrstice po vsej verjetnosti držita skupaj brez presledka...
Nazaj na vrh
Skrit Poglej uporabnikov profil Pošlji zasebno sporočilo Obišči avtorjevo spletno stran
Silvo
Moderator
Moderator



Pridružen-a: Pon 24 Feb 2003 17:09
Prispevkov: 14555
Aktiv.: 65.33
Kraj: Koroška-okolica Dravograda

PrispevekObjavljeno: Pon Mar 28, 2011 10:31 pm    Naslov sporočila:   Odgovori s citatom

Azrael,

Vsa koda za avr ter pic se nahaja tukaj. Bom jutri poiskal asm ter ga pripel. Vse je na delavniškem računalniku sedaj sem na "hišnem".
Vsi enovrstični prikazovalniki s katerimi sem imel opravka do sedaj se obnašajo kot bi imel dvovrstičnega z 2x8 znakov v eni vrsti. To pomeni da od lokacije 0x0 - 0x8 pišeš v prvo vrstico. Vse kar sledi naprej na prikazovalniku ni vidno. Tja seveda lahko pišeš, potem pa lahko displej pomakneš za osem znakov levo pa bo tisto vidno. (recimo na tak način si v pomnilik displeja lahko napišeš kar nekaj menujev ter jih v nadaljevanju ko jih rabiš le premikaš displej. Druga vrstica se začne na 0xC0. Mesto, kjer se izvede premik DDRAMA v drugo vrstico sem označil z *** Če tisto odmakneš, se bo pri 2x16 displeju pisalo naprej v prvi vvrstici. Enako storiš s kodo v glavni zanki za labelo KANAL1.

koda:

Koda:
;/////////////////////////////////
;pozdravni napis

   bsf RS                  ;omogocim pisanje
   clrf TMP1
TEKST1
   movf TMP1,w
   call NAPIS
   addlw .0
   btfsc STATUS,Z
   goto TEKST2
   call POSLJI_ZNAK
   call Pavza15mS
   incf TMP1,f
   goto TEKST1
TEKST2
   bcf RS                     ;***
   movlw b'11000000'   ; ***lokacija pisanja (druga vrsta
   call POSLJI_ZNAK    ;***
   bsf RS                  ;omogocim pisanje
   clrf TMP1

_________________
lp
Silvo
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo
Azrael
Član
Član



Pridružen-a: Čet 29 Jan 2009 19:46
Prispevkov: 4432
Aktiv.: 23.92
Kraj: Gorje

PrispevekObjavljeno: Sre Mar 30, 2011 6:23 pm    Naslov sporočila:   Odgovori s citatom

Torej zaenkrat brez pravega uspeha.

Prekopiral sem celotno kodo iz linkane teme za PIC16F88 v txt datoteko, ki sem jo preimenoval v asm in jo spustil skozi quickbuild v Mpasm, rezultat kup napak in nič od hex datoteke, odpraviti pa sem znal samo zadnjo napako, manjkajoč end.

Potem sem poskusi sam napisati program v GCB, ki ima vgrajeno podporo za LCD zaslončke.

Definicijo pinov sem napravil po primerih v help datoteki in je sledeča:

Koda:
#define LCD_IO 4 '4 bitna povezava
#define LCD_DB4 PORTB.0
#define LCD_DB5 PORTB.1
#define LCD_DB6 PORTB.2
#define LCD_DB7 PORTB.3
#define LCD_Enable PORTB.4
#define LCD_RS PORTB.5
#define LCD_NO_RW 'RW pin spojen na maso


Rezultat spet daleč od pričakovanega, glej spodnje slike. Izpisati bi se moralo:

Koda:
V A meter V 1.1
 Elektronik.si 

Namesto tega pa se stalno izpisujejo znaki, med katerimi ne opazim črk in številk.

Zanima me ali je tak izpis (stalno se izpisuje samo zgornja vrstica) posledica zafuranih timingov ali napačne definicije pinov? HW je drugače brezhiben, Silvotov program deluje brez težav (slika03).



Slika03.jpg
 Opis:
 Velikost datoteke:  165.45 KB
 Pogledana:  0 krat

Slika03.jpg



Slika02.jpg
 Opis:
 Velikost datoteke:  131.42 KB
 Pogledana:  0 krat

Slika02.jpg



Slika01.jpg
 Opis:
 Velikost datoteke:  114.98 KB
 Pogledana:  0 krat

Slika01.jpg


Nazaj na vrh
Skrit Poglej uporabnikov profil Pošlji zasebno sporočilo
Silvo
Moderator
Moderator



Pridružen-a: Pon 24 Feb 2003 17:09
Prispevkov: 14555
Aktiv.: 65.33
Kraj: Koroška-okolica Dravograda

PrispevekObjavljeno: Sre Mar 30, 2011 9:01 pm    Naslov sporočila:   Odgovori s citatom

Friderik,
Danes ni bilo dosti časa, tako da sem komajda prišel v delavnico. Upam, da je pravi program. Če ne bo šlo bom popravek naredil jutri. (sedaj grem namreč v nočno)



Volt88.zip
 Opis:

Download
 Ime datoteke:  Volt88.zip
 Velikost datoteke:  15.74 KB
 Downloadano:  8 krat


_________________
lp
Silvo
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo
Azrael
Član
Član



Pridružen-a: Čet 29 Jan 2009 19:46
Prispevkov: 4432
Aktiv.: 23.92
Kraj: Gorje

PrispevekObjavljeno: Sre Mar 30, 2011 10:22 pm    Naslov sporočila:   Odgovori s citatom

Saj ne priganjam, dokler mi poštar ne prinese trimerjev, stvar stoji, lahko samo prčkam po kodi, pa še tu nisem kaj prida uspešen.

Hvala za datoteke, kot sem ugotovil, čisto moja napaka, saj sem zadevo sestavil tako kot si sledi tema in so prišle tabele na napačno mesto. Se vidi, da nimam pojma o zbirniku.

Bom jutri, če bo čas, poskusil prikaz spremeniti tako kot si predlagal.

Poročam, kaj se bo zgodilo.
Nazaj na vrh
Skrit Poglej uporabnikov profil Pošlji zasebno sporočilo
Azrael
Član
Član



Pridružen-a: Čet 29 Jan 2009 19:46
Prispevkov: 4432
Aktiv.: 23.92
Kraj: Gorje

PrispevekObjavljeno: Sob Apr 02, 2011 10:29 pm    Naslov sporočila:   Odgovori s citatom

Zgornja asm in posledično hex datoteka se razlikuje od tiste, ki je pripeta pri projektu in vsaj na moji verziji HW ne dela pravilno.

Imam občutek, da se rezultata V in A metra pišeta na isto mesto in se posledično prekrivata.

Nato sem uporabil program PICDisasm 1.6 in mu dal prežvečiti kodo pravilno delujoče hex datoteke, da sem dobil asm datoteko. Sledilo je še malo igranja z Beležko, da sem poimenoval podprograme in spremenjivke enako kot so v izvirniku in prenesel večino komentarjev, saj dega disassembler ne more obnoviti.

Rezultat je pripet spodaj. Iz te asm datoteke nastane hex datoteka, ki je identična delujoči (preverjeno s programom fc).

Sedaj pa sledi težje delo, spraviti napisa v isto vrstico in če še ne bom obupal, dodati W in Ohm meter, da ne bo 2x16 zaslon tako prazen.



v.zip
 Opis:

Download
 Ime datoteke:  v.zip
 Velikost datoteke:  2.61 KB
 Downloadano:  5 krat

Nazaj na vrh
Skrit Poglej uporabnikov profil Pošlji zasebno sporočilo
Silvo
Moderator
Moderator



Pridružen-a: Pon 24 Feb 2003 17:09
Prispevkov: 14555
Aktiv.: 65.33
Kraj: Koroška-okolica Dravograda

PrispevekObjavljeno: Sob Apr 02, 2011 11:03 pm    Naslov sporočila:   Odgovori s citatom

Imam shranjene ene tri verzije. Na pamet ne vem, v čem se razlikujejo. Tale verzija izgleda, da je tista, ki je pripeta pri projektu. Hex je enak.


Volt88_2.zip
 Opis:

Download
 Ime datoteke:  Volt88_2.zip
 Velikost datoteke:  17.21 KB
 Downloadano:  2 krat


_________________
lp
Silvo
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo
protoncek
Član
Član



Pridružen-a: Sre 31 Jan 2007 9:41
Prispevkov: 9573
Aktiv.: 45.67
Kraj: Mengeš

PrispevekObjavljeno: Ned Apr 03, 2011 9:29 am    Naslov sporočila:   Odgovori s citatom

Tudi meni se to dogaja---namreč da ne vem razlike v verzijah. zadnje čase sem začel pisati txt datoteko zraven projekta in notri spremembe. Drugače čez mesec, dva ne veš več, kateri program je pravi in delujoči. Saj shraniš kot V1, V2....ampak vseeno je dobro vedeti zakaj toliko verzij...
samo toliko OT...
Nazaj na vrh
Skrit Poglej uporabnikov profil Pošlji zasebno sporočilo Obišči avtorjevo spletno stran
Highlag
Član
Član



Pridružen-a: Pet 23 Jan 2004 20:42
Prispevkov: 4034
Aktiv.: 18.11
Kraj: Črnuče

PrispevekObjavljeno: Ned Apr 03, 2011 12:27 pm    Naslov sporočila:   Odgovori s citatom

Jaz ponavadi kar izvorno kodo dopišem. Kaj program dela (če sploh Mr. Green ) In kateri segmenti delujejo. Če rabim nov hex pač prevedem.
_________________
If at first you don't succeed, destroy all evidence that you tried.
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo Obišči avtorjevo spletno stran
Azrael
Član
Član



Pridružen-a: Čet 29 Jan 2009 19:46
Prispevkov: 4432
Aktiv.: 23.92
Kraj: Gorje

PrispevekObjavljeno: Ned Apr 03, 2011 9:44 pm    Naslov sporočila:   Odgovori s citatom

@Silvo

Hvala za datoteke.

Datoteke so ustrezne in sem asm predelal po tvojih nasvetih. Program sedaj izpisuje podatke v eni vrstici in je tako uporaben za 1 x 16 (če je dejansko tak in ne 2 x 8) in 2 x 16 LCD zaslončke.

Če koga zanima, predelane datoteke se nahajajo v sw.zip (spremembe v asm datoteki sem dokumentiral). Kako pa vse skupaj izgleda na zaslončku, pa si lahko pgledate v avi filmčku, ki se nahaja v datoteki Posnetek.zip



Posnetek.zip
 Opis:
Delovanje

Download
 Ime datoteke:  Posnetek.zip
 Velikost datoteke:  1.49 MB
 Downloadano:  22 krat


sw.zip
 Opis:
Asm, hex in ostale datoteke

Download
 Ime datoteke:  sw.zip
 Velikost datoteke:  20.61 KB
 Downloadano:  6 krat

Nazaj na vrh
Skrit Poglej uporabnikov profil Pošlji zasebno sporočilo
Azrael
Član
Član



Pridružen-a: Čet 29 Jan 2009 19:46
Prispevkov: 4432
Aktiv.: 23.92
Kraj: Gorje

PrispevekObjavljeno: Tor Apr 05, 2011 9:55 pm    Naslov sporočila:   Odgovori s citatom

Imam prošnjo.

Naložil sem zadnje popravke GcBasic in dol potegnil preizkusno verzijo Pic Simulator IDE v katerem sem preveril delovanje kode napisane v GcBasic in nato še kodo napisano z Basic compilerjem vgrajenim v Pic Simulator IDE (zaradi omejitev preizkusne verzije, je ta program precej okrnjen).

V simulatorju (z enakimi nastavitvami!) pravilno delujeta ti dve kodi in tudi ta ki jo je napisal Silvo.

Na realni strojni opremi pa pravilno dela samo koda, ki jo je spisal Silvo, ostali dve pa rišeta zmedo, kot je videti na slikah zgoraj ali pa ekranček ostane v stanju kot da se je samo incializiral (zatemnjena zgornja vrstica).

Zanima me ali če je kdo od vas, ki ste zgradili omenjeni merilnik, pripravljen preveriti delovanje spodaj pripetih dveh kod na svojem merilniku ?

Obe kodi sta za 2 x 16 zaslon, ki prikazuje vrednosti v V, A , W in Ohm. Naj bi.

Ugibam. če je mogoče pri meni problem LCD zaslon, ki je najcenejša kitajska roba ali je samo simulator preveč toleranten ?



Gcbasic.zip
 Opis:

Download
 Ime datoteke:  Gcbasic.zip
 Velikost datoteke:  20.33 KB
 Downloadano:  4 krat


PIC Simulator IDE.zip
 Opis:

Download
 Ime datoteke:  PIC Simulator IDE.zip
 Velikost datoteke:  12.04 KB
 Downloadano:  4 krat

Nazaj na vrh
Skrit Poglej uporabnikov profil Pošlji zasebno sporočilo
Azrael
Član
Član



Pridružen-a: Čet 29 Jan 2009 19:46
Prispevkov: 4432
Aktiv.: 23.92
Kraj: Gorje

PrispevekObjavljeno: Sob Apr 09, 2011 3:14 pm    Naslov sporočila:   Odgovori s citatom

Takole, napisal sem program še v MikroBasic Pro. Koda na realni strojni opremi deluje (slika spodaj) toda program PIC Simulator IDE me tudi sedaj ni prepričal razen, da zaščita 30 zagonov preizkusne različice res deluje.

Namreč v simulatorju se je hex zgeneriran z MikroBasic Pro izvajal salamensko hitro, praktično identično hitro kot program v zbirniku, ki ga je napisal Silvo. V realnosti pa se izvaja nekako 500x počasneje in je tako brez čakalnih stanj na spodnji meji uporabnega. (izpis se obnavlja na nekako 2 do 3 sekunde)

Ga bom poskusil izboljšati (prej sem mislim, da nima smisla, glede na rezultat simulacije) in če bo uspelo, ga bom pripel.



Slika05.jpg
 Opis:
 Velikost datoteke:  141.16 KB
 Pogledana:  3 krat

Slika05.jpg


Nazaj na vrh
Skrit Poglej uporabnikov profil Pošlji zasebno sporočilo
protoncek
Član
Član



Pridružen-a: Sre 31 Jan 2007 9:41
Prispevkov: 9573
Aktiv.: 45.67
Kraj: Mengeš

PrispevekObjavljeno: Sob Apr 09, 2011 3:55 pm    Naslov sporočila:   Odgovori s citatom

Vprašanje, ki se sicer ne tiče neposredno tegale projekta, ampak podobnega: imam podobno vezje na mojem novem usmerniku - mega16 ter 4x20 LCD, ki ima poleg V in A metra še nekaj drugih funkcij. LCD-ju se "zmeša" ko dobi neko motnjo. Napajanje AVR-ja in LCD-ja je fizično ločeno (drug trafo) samo masa je seveda skupna. Ko na izhodu usmernika pride neka motnja (npr dovolj je neko induktivno breme) LCD izpiše naključne znake. Po ukazu CLS (npr če grem v meni in nazaj ven) spet deluje normalno samo nima več mojih znakov, ki sem jih definiral (čšž--). KAM moram dati blokado? napajanje imam preko 4,7 ohma in 47 uF elektrolita, tudi 100n je tam. Res pa je da je na PCB-ju, LCD pa je povezan z cca 8 cm flat-kablom. Kakšne ideje? Ima kdo s silvotovim projektom podobne probleme?
Nazaj na vrh
Skrit Poglej uporabnikov profil Pošlji zasebno sporočilo Obišči avtorjevo spletno stran
Silvo
Moderator
Moderator



Pridružen-a: Pon 24 Feb 2003 17:09
Prispevkov: 14555
Aktiv.: 65.33
Kraj: Koroška-okolica Dravograda

PrispevekObjavljeno: Sob Apr 09, 2011 4:14 pm    Naslov sporočila:   Odgovori s citatom

Težava skoraj zanesljivo ni na LCD-ju. Zmešnjavo povzroči mikrokontroler. Motnja ali programska napaka. Če točno veš kaj povzroči motnjo naredi preizkus. Na LCD nekaj napiši potem loči "E" pin ter ga daj fizično na maso. Nato poskusi povzročat motnjo. V koliko se ti bo v tem primeru "zrušil" displej (kar dvomim) išči napako na napajanju LCD-ja. V koliko bo displej stabilen, je težava mikrokontroler.
_________________
lp
Silvo
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo
protoncek
Član
Član



Pridružen-a: Sre 31 Jan 2007 9:41
Prispevkov: 9573
Aktiv.: 45.67
Kraj: Mengeš

PrispevekObjavljeno: Sob Apr 09, 2011 4:24 pm    Naslov sporočila:   Odgovori s citatom

Naredil sem npr. preprost preizkus: vzel sem mini trafo 9V na 24V kak watt moči. Napajanje sem nastavil na 5V, en pin (npr plus) priključil direkt na trafo, drugega pa preko pile nanj. Potegnem po pili (simuliram motnjo) in se mi LCD takoj zruši. Sam AVR deluje naprej, saj lahko delam vse - spreminjam napetost, prko piskača slišim da gre v meni, samo včasih se ob vstopu in izstopu iz menija postavi nazaj včasih pa ne, takrat pomaga samo reset. Bom poskusil kot praviš. Je mogoče da bi AVR ven dal motnjo in kljub temu naprej deloval nemoteno?

EDIT: naredil kot si rekel: sesuje se LCD. Torej je napaka na njem...bi pomagalo če direktno na LCD na napajanju dam kakšen 100n SMD?
Nazaj na vrh
Skrit Poglej uporabnikov profil Pošlji zasebno sporočilo Obišči avtorjevo spletno stran
Pokaži sporočila:   
Objavi novo temo   Odgovori na to temo   Printer-friendly version    www.elektronik.si Seznam forumov -> Elektronika Časovni pas GMT + 2 uri, srednjeevropski - poletni čas
Pojdi na stran Prejšnja  1, 2, 3, 4, 5, 6, 7  Naslednja
Stran 3 od 7

 
Pojdi na:  
Ne, ne moreš dodajati novih tem v tem forumu
Ne, ne moreš odgovarjati na teme v tem forumu
Ne, ne moreš urejati svojih prispevkov v tem forumu
Ne, ne moreš brisati svojih prispevkov v tem forumu
Ne ne moreš glasovati v anketi v tem forumu
Ne, ne moreš pripeti datotek v tem forumu
Ne, ne moreš povleči datotek v tem forumu

Uptime: 69 dni


Powered by phpBB © 2001, 2005 phpBB Group