Sari la conținut
ELFORUM - Forumul electronistilor

Modul inregistrare redare vocala cu Pic16F628A


niculae

Postări Recomandate

Din pacate nu i se trage din lipsa 10K MCLR catre +5v. Singurul pin pe care picul are 5v cu sau fara magnet este RB2.

Am incercat de fiecare data si cu un alt pic, am zis ca cine stie!

 

In Pickit2 arata ca in attache.

post-175872-0-22114000-1496913299_thumb.jpg

post-175872-0-69234900-1496913309_thumb.jpg

post-175872-0-62882200-1496913320_thumb.jpg

Link spre comentariu

La comanda led-ului am o greseala, de-aia nu face secventa de 5 pulsuri la pornire.

Cand masori tensiunile pe pini, e conectat la modul, sau e in aer?

Daca e conectat la modul, ar trebui sa ai 5V pe CE si 0 V pe PD. Comenzile (CE = 0 si PD = 1) sunt foarte scurte, de ordinul milisecundelor, n-ai cum sa le vezi cu aparatul de masura. Singurul care ar trebui sa se schimbe (dar tot asa, conectat in circuit) e EOM, care ar trebui sa treaca in 1 cand inchizi magnetul (si incepe sa spuna un mesaj) si sa treaca inapoi in 0 cand mesajul se termina.

Cel putin asa am inteles eu ca functioneaza EOM si folosesc semnalul asta pentru a o lua de la capat/a porni mesajul urmator. Chiar ar fi interesant sa testezi cum merge de fapt - sa vezi ce se intampla cu LED-ul EOM cand apesi scurt pe butonul CE si ce se intampla cu LED-ul cand se termina primul mesaj.

Ai led conectat la EOM ca in schema pe care ai postat-o, da?

 

PS Remarca lui costi002 referitor la continutul pickit2 e intemeiata. Poate trbuie sa incarci in pickit un hex "curat" - sterge terminatia .txt din numele hex-ului. Am scris numele cu .txt pentru ca doar cu .hex nu-l accepta forumul.


Cuvantul de configurare din pozele tale (2170) e corect.


LE Testele pentru EOM le faci cu PIC-ul neconectat folosind butonul CE (apasat scurt, nu-l tii 2 secunde).

Link spre comentariu

Arata ciudat ultima poza, cu programming successful, de ce totul este 3FFF? Pare ca hex-ul nu contine nimic.

Nu stiu care este treaba insa daca dau scroll cam pe la jumatate incepe sa arate hexul, pana la jumatate asa este FF.

Cu acelasi programator am mai scris diferite picuri inclusiv 16f628a si toate au functionat fara probleme.

Link spre comentariu

OK, cred ca singura solutie e sa caut prin cutia cu maimute dupa un 628A (parca aveam unul pe undeva) si sa incerc sa testez si eu practic, ca asa e cam aiurea de depanat.

incearca totusi sa testezi chestia cu EOM, ca poate am inteles gresit. Si cum semanlul EOM e "de baza" in programul meu, daca am inteles gresit o sa fie greu sa mearga. Semnalul EOM il culegi direct de pe pinul ISD-ului, nu din baza tranzistorului, da?

Si daca zici ca RB2 e singurul care sta la +5V, verifica si conexiunile, ca la +5V ar trebui sa stea CE == RB1.

 

Ma mai gandesc.

Link spre comentariu

La comanda led-ului am o greseala, de-aia nu face secventa de 5 pulsuri la pornire.

Cand masori tensiunile pe pini, e conectat la modul, sau e in aer?

Daca e conectat la modul, ar trebui sa ai 5V pe CE si 0 V pe PD. Comenzile (CE = 0 si PD = 1) sunt foarte scurte, de ordinul milisecundelor, n-ai cum sa le vezi cu aparatul de masura. Singurul care ar trebui sa se schimbe (dar tot asa, conectat in circuit) e EOM, care ar trebui sa treaca in 1 cand inchizi magnetul (si incepe sa spuna un mesaj) si sa treaca inapoi in 0 cand mesajul se termina.

Cel putin asa am inteles eu ca functioneaza EOM si folosesc semnalul asta pentru a o lua de la capat/a porni mesajul urmator. Chiar ar fi interesant sa testezi cum merge de fapt - sa vezi ce se intampla cu LED-ul EOM cand apesi scurt pe butonul CE si ce se intampla cu LED-ul cand se termina primul mesaj.

Ai led conectat la EOM ca in schema pe care ai postat-o, da?

 

PS Remarca lui costi002 referitor la continutul pickit2 e intemeiata. Poate trbuie sa incarci in pickit un hex "curat" - sterge terminatia .txt din numele hex-ului. Am scris numele cu .txt pentru ca doar cu .hex nu-l accepta forumul.

Cuvantul de configurare din pozele tale (2170) e corect.

LE Testele pentru EOM le faci cu PIC-ul neconectat folosind butonul CE (apasat scurt, nu-l tii 2 secunde).

Cand am masurat tens pe pini picul nu era conectat la modul ci in aer ( am testat asa cum ai indicat tu, urmarind doar functionarea ledului apoi treceam mai departe).

La fisierul: comandaISD25xx.X.production.hex, am sters deja xx.X.production si am lasat doar comandaISD25.hex fara terminatia.txt

La modulul vocal am led montat la fel ca in schema.

Spre seara cand ajung acasavoi conecta asa cum spui picul la modulul vocal ignorand functionarea ledului cu 5 pulsuri la pornire. Si de asemenea voi incerca sa scriu hexul si cu un alt programator OpenProg

construit de pe elforum, postat de colegul nel65.

Editat de niculae
Link spre comentariu

- Din pacate, asa cum ziceam, cele 5 pulsuri n-au cum sa functioneze. Pun deseara o varianta de hex corectata.

- Testeaza intai EOM fara pic si zi-mi si mie cum functioneaza de fapt. ma intereseaza

1. daca ledul EOM se aprinde cand incepe sa zica si se stinde cand se termina un mesaj

2. daca e suficient un puls scurt (din foaia de catalog sub 1 ms) pe CE ca sa spuna un mesaj, sau trebuie CE tinut apasat pana termina mesajul.

- dupa poti conecta si picul si retesta totul.


PS Nu-i nevoie sa folosesti alt programator, hexul e intr-adevar cu pauza la inceput. Pickit2 e un programator OK, nu cred ca-ti face tie acum probleme.

Link spre comentariu

- Din pacate, asa cum ziceam, cele 5 pulsuri n-au cum sa functioneze. Pun deseara o varianta de hex corectata.

- Testeaza intai EOM fara pic si zi-mi si mie cum functioneaza de fapt. ma intereseaza

1. daca ledul EOM se aprinde cand incepe sa zica si se stinde cand se termina un mesaj

2. daca e suficient un puls scurt (din foaia de catalog sub 1 ms) pe CE ca sa spuna un mesaj, sau trebuie CE tinut apasat pana termina mesajul.

- dupa poti conecta si picul si retesta totul.

PS Nu-i nevoie sa folosesti alt programator, hexul e intr-adevar cu pauza la inceput. Pickit2 e un programator OK, nu cred ca-ti face tie acum probleme.

Referitor la punctul1, cand se apasa scurt pe tasta de start, primul mesaj este citit pana la terminarea lui, pe toata perioada ledul verde ramane aprins.

Restul voi vedea diseara.

 

Multumesc .

Link spre comentariu

Am uitat sa precizez ca, butonul din pinul P/R trebuie sa ramana in pozitia play (adica la +5v), altfel nu reda nimic.

De asemenea pe toata durata de play sau rec ledul corespunzator ramane aprins in functie de lungimea mesajului.

Link spre comentariu

pe toata perioada ledul verde ramane aprins.

LED-ul se stinge cand se termina mesajul, da?

 

Am uitat sa precizez ca, butonul din pinul P/R trebuie sa ramana in pozitia play (adica la +5v), altfel nu reda nimic.

Asta e clar, de aia am si renuntat la conexiunea intre PIC si PR.

Link spre comentariu

Salut,

 

varianta cu LED-ul corectat la inceput. Acum, daca totul e OK; ar trebui ca la inceput sa clipeasca de 5 ori.

 

Poate, poate...

 

 

Salut,

Am testat fara a conecta picul cu modulul, ledul clipeste de 5ori doar la alimentarea picului, daca se schimba pozitia magnetului inchis/deschis ledul ramane stins. Am scos alimentarea si am cuplat inapoi si ledul se comporta la fel.

Am conectat picul cu modulul :

- EOM la RB3

- PD la RB2

- CE la RB1

pe CE-0V, PD-+4,5V, EOM-0V

am deconectat picul si am masurat pe modul:

CE-0V

PD-0V

EOM-4,3V fara a fi apasat butonul, cand se apasa scurt butonul CE devine 0V, dupa ce termina mesajul revine din nou la 4,3V. In tot acest timp pe EOM apare o tensiune mai ciudata ex: 4.169 si dupa ce termina mesajul devine 0V.

 

Crezi ca am putea complica putin situatia facand ca picul sa comande butoanele existente deja in montaj cu doua relee sau tranzistoare? poate asa nu vom mai avea probleme.

 

Editat de niculae
Link spre comentariu

Salut,

se pare ca PIC-ul e configurat cum trebuie, altfel nu lumina la alimentare. Ca nu lumineaza in cand nu e conectat la modul si modifici magnetul e normal. Inchide magnetul, pune EOM (RB3) la +5 V si deschide magnetul. Acum ar trebui ca LED-ul sa lumneze pana pui EOM la masa.

Te rog, poti sa mai scrii o data (mai detliat) cum functioneaza EOM? Eu ma asteptam ca:

- EOM sa fie 0 cand nu apesi nici un buton

- sa treaca in HIGH (4 - 5V) cat timp spune un mesaj

- sa treaca iaras in 0 cand se termina mesajul.

 

Din ce zici tu, pare sa nu functioneze asa, dar n-am inteles exact cand e high, cand se duce in 0 si in functie de ce evenimente comuta.

 

Putem sa modificam programul si pentru relee, dar nu se simplifica prea tare. Daca ma prind cum functioneaza EOM, o sa mearga si programul.

Momentan folosesc trecerea lui EOM din HIGH in LOW ca sa detectez sfarsitul mesajului. Dar daca EOM nu functioneaza cum ma gandesc eu, e si programul "defect".

 

Noapte buna,

Liviu

Editat de Liviu M
Link spre comentariu

Data viitoare ori nu ma mai bag, ori desenez intai o schema si dupa aia ma apuc.

Dupa ce am dezactivat rezistentele pullup interne, magnetul/pinul RB0 are nevoie de o rezistenta pullup externa (~4k7..10k) ca sa realizeze nivelul high cand se deschide usa.

Cu alte cuvinte, contactul magnetic se conecteaza intre RB0 si masa si suplimentar trebuie o rezistenta de la RB0 la +5V.

 

Poate asa sa mearga ceva mai bine?

Editat de Liviu M
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