Sari la conținut
ELFORUM - Forumul electronistilor

Probleme de incepatori


Postări Recomandate

Pentru windows 7 cel mai bine la mine merge WinPic,portul serial de pe placa dus asa ca am instalat o placa cu 2 porturi seriale pe slotul PCI.Winpic800 nu face nimic,am inteles ca nu are suport pentru W7,am incercat si cu rularea sub compatibilitate cu XP,degeaba,Ic-Prog mai misca ceva dar nu am fost multumit de el,ba vedea portul com 1 ba nu-l vedea.Am luat un 628a de la un magazin online,si am crezut ca e busit,dar se pare ca nu,se scrie programul direct in el,fara stergere,aici imi dadea eroare tot timpul.

cred ca te-ai ratacit prin forum.
Link spre comentariu
Vizitator andalio

Multumesc inca o data.Cu ledurile, da , e greseala mea...2,2V.Dar curentul la pini nu poate fi mai mare de 15mA, deci trebuie sa le pun 'invers'.NU e un atmega, e un at89s52.

Link spre comentariu

Multumesc inca o data.Cu ledurile, da , e greseala mea...2,2V.Dar curentul la pini nu poate fi mai mare de 15mA, deci trebuie sa le pun 'invers'.NU e un atmega, e un at89s52.

Nici nu am considerat ca e un ATMega...dar eu doar la ATMega am avut datasheet la indemana ca sa extrag exemplul respectiv.Cat despre curentul la pin exista 2 directii care in documentatie sunt referite ca:source - cand pin-ul este pe logic "1" si spre pin trebuie pus anodul led-uluisink - cand pin-ul este pe logic "0" si spre pin trebuie pus catodul led-ului.asadar, daca in datasheet nu se vorbeste de 2 limite de curent diferite pentru cele 2 situatii, as prefera sa considera ca in ambele cazuri limita este aceasi si as folosi un driver pentru alimentarea led-ului sau mi-as asuma riscul.
Link spre comentariu
  • 2 săptămâni mai târziu...
Vizitator andalio

Tot eu, din nou cu intrebari de "copilas".1.Daca intr-o schema am condensatori (ceramici sau electrolitici) cu un voltaj specificat (de ex. 16V) si eu pun de un voltaj mai mare (de ex. 50V), ce se intampla...va mai functiona corect ?2.Se pot inlocui condensatorii electrolitici cu ceramici si invers ?3.La electrolitici si la cei cu tantal conteaza polaritatea (+ -), iar la cei ceramici nu. E corect ?4.La un max232 de care condensatori se pun...de ce tip. E ok daca pun cu tantal ?Datasheet MAX232:"Nonpolarized ceramic capacitors are acceptable. If polarized tantalum or electrolytic capacitors are used, they should be connected as shown. In addition to the 1-µF capacitors shown, the MAX202 can operate with 0.1-µF capacitors."Tot in Datasheet-ul MAX232 nu se specifica de cati volti sa fie condensatoarele.De aici am cam inteles raspunsuile la intrebarile 1,2,3,4, dar nu strica un raspuns de la cineva care a incercat practic.5.Am vazut pe net ca dupa corodare unii dau cu sacaz dizolvat (in cazul meu in acetona) peste tot cablajul cu si abia apoi lipesc piesele...e bine daca fac asa ? Sacazul se topeste repede cand lipesc piesele ?Daca are cineva timp sa-mi raspunda...astept...Multumesc.

Link spre comentariu

Tot eu, din nou cu intrebari de "copilas".1.Daca intr-o schema am condensatori (ceramici sau electrolitici) cu un voltaj specificat (de ex. 16V) si eu pun de un voltaj mai mare (de ex. 50V), ce se intampla...va mai functiona corect ?2.Se pot inlocui condensatorii electrolitici cu ceramici si invers ?3.La electrolitici si la cei cu tantal conteaza polaritatea (+ -), iar la cei ceramici nu. E corect ?4.La un max232 de care condensatori se pun...de ce tip. E ok daca pun cu tantal ?Datasheet MAX232:"Nonpolarized ceramic capacitors are acceptable. If polarized tantalum or electrolytic capacitors are used, they should be connected as shown. In addition to the 1-µF capacitors shown, the MAX202 can operate with 0.1-µF capacitors."Tot in Datasheet-ul MAX232 nu se specifica de cati volti sa fie condensatoarele.De aici am cam inteles raspunsuile la intrebarile 1,2,3,4, dar nu strica un raspuns de la cineva care a incercat practic.5.Am vazut pe net ca dupa corodare unii dau cu sacaz dizolvat (in cazul meu in acetona) peste tot cablajul cu si abia apoi lipesc piesele...e bine daca fac asa ? Sacazul se topeste repede cand lipesc piesele ?Daca are cineva timp sa-mi raspunda...astept...Multumesc.

1) Da, va functiona corect. E nevoie de o tensiune mai mare ca sa strapungi un condensator a carui tensiune maxima de lucru este mai mare. In rest nu exista diferente notabile. La capacitati mai mari creste mult volumul condensatorului odata cu tensiunea maxima admisa.2) Depinde de rolul lor in circuit. Un condensator electrolitic este polarizat pe cand unul ceramic nu este polarizat. Asta inseamna ca la ceramici de exemplu (si altele) nu conteaza ce piciorus unde pui pe cand la electrolitici piciorusul marcat cu - trebuie pus spre potentialul mai negativ. +2V este mai negativ decat +5; -15V este mai negativ decat -12V, etc. Electrolitici se folosesc la filtrari de tensiuni si decuplarea curentului alternativ de curent continuu. Se mai folosesc si pentru defazari ale tensiunii fata de curent. Nu pot stabili unanim valabil o regula cand poti sa inlocuiesti electrolitici cu ceramici si invers. In primul rand trebuie sa fie suficienta capacitatea celor ceramici ca sa poti inlocui cu electrolitici. Invers trebuie sa tii cont de polaritate, performante, etc.3) Cei cu tantal sunt tot electrolitici. Doar ca sunt mai performanti si evident mai scumpi.4) poti sa pui electrolitici ordinari. recomand tensiuni de la 25V in sus. Spune ca poti folosi si ceramici daca vrei pentru ca cipul lor opereaza de la 100nF dar teoretic e bine sa folosesti electrolitici de 1uF. Daca pui electrolitici, sa-i conectezi conform schemei datorita faptului ca sunt polarizati.5) se topeste repede. Sacazul in cazul acesta este folosit in loc de lac de protectie. sincer eu nu prea respect normele bunelor practici in materie de realizat cablaje si tot n-am probleme. Evident descurajez neglijenta si superficialitatea. Deci fa cum spune popa :)
Link spre comentariu
  • 2 săptămâni mai târziu...

Ca sa nu deschid topic nou... am si eu un lcd 16x2 care cred ca e mort. L-am interfatat cu atmega, se aprinde doar prima linie. Daca misc de cursorul de contrast "se aprind" toti pixelii de pe prima linie, a 2-a fiind moarta.Ceva idei? fac eu ceva gresit? R/W l-am pus la masa. Am incercat si cu el conectat la +5V fara nici un rezultat.Programul este bun pentru ca l-am simulat in isis, conexiunile de asemenea sunt ok. Cand pun alimentare pe iesiri am tensiune pulsatorie, deci atmega lucreaza.

Link spre comentariu

pare sa nu se initializeze corect lcd-ul de catre microcontroller.de verificat:0) microcontrollerul ruleaza cu programul care trebuie :)1) circuitul driver este compatibil cu biblioteca care ai folosit-o pentru interfata cu lcd-ul (probabil HD44780)2) ai un condensator ceramic de 100nF intre VSS(GND) si VCC cat mai aproape de LCD3) respecti timpii de procesare cand dai comanda de initializare (daca dai prea repede comenzile, lcd-ul nu apuca sa le proceseze si pierde din ele). in principiu biblioteca de interfatare se ocupa de treaba asta dar tu trebuie sa te asiguri ca biblioteca stie exact cu ce frecventa de clock lucreaza microcontrollerul tau.4) nivelul logic la pinii de control si de date ai lcd-ului este suficient.5) conexiunile sa fie corecte (daca folosesti 4 linii de date, acestea sunt D4-D7 altii mai fac greseala sa le lege la D0-D3).6) daca se incapataneaza sa nu mearga ar trebui folositi pull-up resistors.7) porturile folosite la microcontroller sigur au setat data direction register ca iesire? DDRx HIGH=output;R/W e corect la masa.

Link spre comentariu

0 - da1 - display-ul este un prc1602a-sy 80732 - nu am nici un condensator3 - cam cat trebuie sa fie timpul asta? am pus si wait 1 si la fel face4 - am 4.85V pe pin cand este in up5 - da, folosesc pinii D4-D76 - de la +5V pe fiecare dintre cei 4 pini de date?7 - lucrez cu Bascom AVR. Da, este setat pe output portul. Am incercat si pe PortB si pe PortD

Link spre comentariu

1 - display-ul este un prc1602a-sy 8073 - OK este compatibil2 - nu am nici un condensator - caca (pune ca nu strica)3 - cam cat trebuie sa fie timpul asta? am pus si wait 1 si la fel face - nu cred ca ai pus tu unde trebuie. secventa de initializare e din mai multe instructiuni iar intre ele este necesar un delay. acel delay este precizat in secventa de initializa. degeaba pui inainte si dupa initializarii ca aia nu are efect unde spun eu. daca delay-urile dintre instructiuni este necesar de 4us sa zicem si programul tau crede ca clock-ul este de 1MHz cand el este de fapt de 8MHz, delay-ul respectiv va fi de 0.5us de fapt (insuficient). vezi daca se declara undeva o constanta F_CPU in lcd_lib.h4 - am 4.85V pe pin cand este in up - OK este suficient.5 - da, folosesc pinii D4-D7 - OK dar verifica si in program sa fie setat protocolul pe 4 biti, nu cel pe 8 biti si sa fie definiti pinii de date si de control.6 - de la +5V pe fiecare dintre cei 4 pini de date? - Da, se pune o rezistenta (10k) intre +5V si fiecare linie de date (D4-D7, RS, E)7 - lucrez cu Bascom AVR. Da, este setat pe output portul. Am incercat si pe PortB si pe PortD - OKpoate intuieste careva si alte probleme, mie doar astea imi vin in minte acum.LE: am vazut ce dezacorduri am facut dar e defecta tastatura si pierd ideea pana corectez... nu repar ca poate se mai amuza si altii pe seama mea.

Link spre comentariu

$regfile = "m8def.dat" $crystal = 1000000 Dim A As ByteConfig Lcdpin = Pin , Db4 = Portd.4 , Db5 = Portd.5 , Db6 = Portd.6 , Db7 = Portd.7 , E = Portd.3 , Rs = Portd.2Dim W As LongDim W2 As LongDim X As SingleDim X2 As SingleDim P As SingleConfig Lcd = 16 * 2  Cursor OffDoCls Locate 1 , 1Start AdcW = Getadc(5)W2 = Getadc(4)Stop AdcX = W / 1024X = X * 5Lcd XLocate 1 , 6Lcd "V  "X2 = W2 / 1024X2 = X2 * 50Lcd X2Locate 1 , 14Lcd "A  "Locate 2 , 1P = X * X2 Lcd P  Locate 2 , 6 Lcd " VA       "   Waitms 1000Loop_temp1 = 1!rCall _write_lcd End

 

Cam asa arata programul meu. Nu stiu de ce nu functioneaza, desi am tensiune pe pinii respectivi.

Daca e cineva dragut sa modifice programul ca sa functioneze as fi recunoscator.

 

Multumesc anticipat.

Link spre comentariu

$regfile = "m8def.dat" $crystal = 1000000Config Lcd = 16 * 2' comanda a fost adaugata aici, pentru ca aici ii este loculConfig Lcdpin = Pin , Db4 = Portd.4 , Db5 = Portd.5 , Db6 = Portd.6 , Db7 = Portd.7 , E = Portd.3 , Rs = Portd.2disable interrupts '  comanda se poate introduce pentru a evita declansarea nedorita a intreruperilor Dim A As ByteDim W As LongDim W2 As LongDim X As SingleDim X2 As SingleDim P As Single  Cursor OffDoCls Locate 1 , 1Start AdcW = Getadc(5)W2 = Getadc(4)Stop AdcX = W / 1024X = X * 5Lcd XLocate 1 , 6Lcd " V  "X2 = W2 / 1024X2 = X2 * 50Lcd X2Locate 1 , 12Lcd "A  "Locate 2 , 1P = X * X2 Lcd P  Locate 2 , 6 Lcd " VA       "   Waitms 1000loopEnd
Cam asa arata programul meu. Nu stiu de ce nu functioneaza, desi am tensiune pe pinii respectivi.Daca e cineva dragut sa modifice programul ca sa functioneze as fi recunoscator.Multumesc anticipat.
In BASCOM, trebuie setat portul la care conectezi LCD-ul.Pentru asta urmezi pasii descrisi in continuare: OPTIONS->COMPILER->LCD -> si in dreapta iti vei seta conexiunile dintre uC si LCD, conform schemei tale.
Link spre comentariu

Mersi. Am facut programul asa cum ai spus tu dar tot nu merge... Adica el ar vrea sa afiseze ceva (daca modific delay-ul se modifica si perioada dupa care clipeste).3JWulymjfdQ De semenea, daca umblu la contrast din potentiometru dispar blocurile negre dar nu apare nimic pe ecran.Ceva idei?Multumesc anticipat.Edit: Acum, dupa 5 minute am vazut ca cip-urile de pe display sunt foarte calde. Presupun ca e bulit display-ul.

Link spre comentariu

Creează un cont sau autentifică-te pentru a adăuga comentariu

Trebuie să fi un membru pentru a putea lăsa un comentariu.

Creează un cont

Înregistrează-te pentru un nou cont în comunitatea nostră. Este simplu!

Înregistrează un nou cont

Autentificare

Ai deja un cont? Autentifică-te aici.

Autentifică-te acum
×
×
  • Creează nouă...

Informații Importante

Am plasat cookie-uri pe dispozitivul tău pentru a îmbunătății navigarea pe acest site. Poți modifica setările cookie, altfel considerăm că ești de acord să continui.Termeni de Utilizare si Ghidări