Sari la conținut
ELFORUM - Forumul electronistilor

Modul inregistrare redare vocala cu Pic16F628A


niculae

Postări Recomandate

Am citit foaia de catalog a lui isd2590 si am refacut proiectul. Se leaga:

- EOM la RB4
- PD la RB3
- P/R la RB2
- CE la RB1
- MAGNET intre RB0 si masa.

Am implementat "Playback in push-mode":

- cand se deschide contactul magnetic, este redat primul mesaj (puls negativ pe CE, EOM va fi high). La terminarea mesajului (EOM low), e resetata adresa (puls pozitiv pe PD) si daca contactul e inca deschis se reia, daca nu trece la starea urmatoare.

Cand se inchide contactul, este redat primul mesaj (puls negativ CE), e redat al doilea mesaj (un nou puls negativ pe CE) si e resetata adresa - puls pozitiv pe PD.

Probabil n-o sa mearga din prima, poate mai trebuie ceva debouncing la butoane, dar e un inceput.

nicolaeElforum.zip

nicolaeElforum.X.production.hex.txt

Editat de Liviu M
Link spre comentariu

Tot nu e logic.

Odata ajuns in pozita NC pune la masa pentru 3 sec iar mai apoi il pune 5 secunde tot la masa.

Ce se intampla intre intervalele astea?

Daca nu se intampla nimic atunci logic ar fi 8 sec.

Functionarea mod vocal este cam asa:

 

acesta are memorate doua mesaje, hai sa-i spunem ca si idee, primul mesaj spune usa deschisa la actionare but start care da la masa, pt ca mesajul sa se repete ( pana ce usa este inchisa ) este nevoie apasarea but stop inainte ca mesajul sa se opreasca el automat. Referitor la partea in care pune la masa pt3sec si din nou pune la masa pt5sec, inseamna cam asa: punand la masa pt 3sec va recita usa inchisa o singura data dupa care mesajul se opreste automat si pt a trece la urmatorul mesaj ( usa inchisa ) mai este nevoie de inca o apasare a butonului start.

Cand nu-s la masa/la +, cum stau butoanele astea?

+ inseamna +5V?

Pai butoanele stau ( in aer cand nu-s folosite ) exact ca cele din schema modulului vocal.

Da + inseamna +5v.

Editat de niculae
Link spre comentariu

Pai butoanele

Cum ziceam, am citit foaia de catalog a ISD-ului si am adaptat programul. Cel mai bine ar fi sa-l testezi si sa-mi zici ce nu merge.

Link spre comentariu

Cum ziceam, am citit foaia de catalog a ISD-ului si am adaptat programul. Cel mai bine ar fi sa-l testezi si sa-mi zici ce nu merge.

Super, multumesc frumos. Voi testa diseara si revin.

Link spre comentariu

Cum ziceam, am citit foaia de catalog a ISD-ului si am adaptat programul. Cel mai bine ar fi sa-l testezi si sa-mi zici ce nu merge.

Salut,

 

Am testat si nu merge, poate am gresit eu cu ceva!

Deci am procedat in felul urmator:

Am incarcat in pic fisierul hex postat de tine, am conectat asa

- EOM la RB4

- PD la RB3

- P/R la RB2

- CE la RB1

- MAGNET intre RB0 si masa montajului

- Alimentat picul cu -5v in pinul 5, +5v in pinul14.

- Conexiunea intre RB4,RB3,RB2,RB1 am facut-o direct pe pinii lui isd2590, lasand restul schemei asa cum este ( trebuia deconectati pinii EOM,PD,P/R si CE din montaj? ) sau mai trebuia pusa vre-o rezistenta ceva in montajul pic-ului?

De asemenea am mai testat si fara a conecta picul la isd2590, am inchis si deschis contactul mag si am masurat pe rand pinii RB4,3,2,1 fata de masa sa vad daca-mi da ceva si acolo am o tensiune de 0,500 mv care variaza in functie de pozitie contact foarte putin.

Editat de niculae
Link spre comentariu

Salut,

ar trebui sa mearga cu montajul asa cum e.

Butoanele din montaj sunt normal deschise, nu?

Deseara o sa modific programul si o sa dezactivez pull-up-urile interne.

 

Liviu

Link spre comentariu

Tot eu.

M-am mai uitat pe schema si am ajuns la concluzia ca ar fi indicate unele modificari in program (sau la conectarea PIC-ului) pentru a putea fi folosit in paralel cu butoanele de pe montajul cu ISD-ul. Momentan sunt sanse sa iasa fum din PIC daca e conectat si apesi butoanele. *)

Incerc deseara sa modific programul.

 

*) Asa ca nu apasa butoanele cand e PIC-ul conectat. :)

Link spre comentariu

Salut,

ar trebui sa mearga cu montajul asa cum e.

Butoanele din montaj sunt normal deschise, nu?

Deseara o sa modific programul si o sa dezactivez pull-up-urile interne.

 

Liviu

Da butoanele sunt in pozitia normal deschis, cu exceptia butonului play/rec din P/R care este in pozitia NC ( adica P/R la +5v ). Daca este cazul voi inlocui butonul cu unul care are pozitie de zero.

Tot eu.

M-am mai uitat pe schema si am ajuns la concluzia ca ar fi indicate unele modificari in program (sau la conectarea PIC-ului) pentru a putea fi folosit in paralel cu butoanele de pe montajul cu ISD-ul. Momentan sunt sanse sa iasa fum din PIC daca e conectat si apesi butoanele. *)

Incerc deseara sa modific programul.

 

*) Asa ca nu apasa butoanele cand e PIC-ul conectat. :)

Salut,

 

Nu am fost curios sa apas butoanele, am folosit doar contactul mag. Oricum picuri mai am 20buc ( ramase de la un proiect ), tocmai de aceea am insistat sa fac ceva folositor cu ele.

Link spre comentariu

Salut,

am eliminat legatura intre PIC si PR si am modificat programul. Conxiunile sunt altele, trebuie refacute:

- EOM la RB3
- PD la RB2
- CE la RB1
- MAGNET intre RB0 si masa.

 

In program am dezactivat rezistentele pullup (sunt sanse ca cea de pe PD/RB2 impreuna cu R11 din montajul tau sa fi dat nivelul de pe PD peste cap) si am configurat pinii picului in asa fel incat sa fie iesiri numai pe perioadele strict necesare comenzilor (in restul timpului sunt intrari si nevelele logice sunt determinate de rezistentele din modulul de voce).

Asta inseamna ca dupa ce termina mesajele de la inchiderea usii pana la o noua deschidere a usii totii pinii PIC-ului vor fi intrari, permitand "comanda manuala" a ISD-ului.

 

Ca sa poti verifica functionarea PIC-ului (ceas corect configurat, bitii de configurare bine setati...), pe pinul RA0 am programat un LED care:

- se aprinde/stinge de 5 ori cu perioada de ~500ms la alimentare

- se aprinde cand deschizi usa

- se stinge cand o inchizi.

 

Testeaza si zi-mi cum se comporta.

comandaISD25xx.zip

comandaISD25xx.X.production.hex.txt

Editat de Liviu M
Link spre comentariu

Tot eu.

Poate ar fi bine sa incerci cu un PIC nou. Nu cred ca cel cu care ai incercat varianta precedenta e stricat, da' e mai sigur asa.

Link spre comentariu

Tot eu.

Poate ar fi bine sa incerci cu un PIC nou. Nu cred ca cel cu care ai incercat varianta precedenta e stricat, da' e mai sigur asa.

Salut,

 

In primul rand multumesc mult pt efortul facut!

Am sa testez acum, chiar daca este tarziu. Acum am reusit sa ajung acasa de la munca:)

Link spre comentariu

Tot eu.

Poate ar fi bine sa incerci cu un PIC nou. Nu cred ca cel cu care ai incercat varianta precedenta e stricat, da' e mai sigur asa.

Salut,

 

Am testat si tot nu vrea sa mearga, este clar ca eu nu fac ceva bine!

Picul mai are nevoie si de alt pin la masa sau la plus decat pinul5 la - si 14 la +?

In paranteza spui : (ceas corect configurat, bitii de configurare bine setati...)- eu hexul in pic il incarc cu pickit2 ( clona ), trebuie sa-i setez eu manual ceasul si bitii? bitii nu sunt setati in program? in cazul in care trebuie sa fac asta, nu prea stiu cum. Am sa mai caut poate gasesc.

Oricum am testat programul pe 2-3 picuri doar cu led in pinul RA0 si masa plus contactul magnetic si nu se aprinde ledul asa cum ar trebui.

Editat de niculae
Link spre comentariu

Salut,

 

Am testat si tot nu vrea sa mearga, este clar ca eu nu fac ceva bine!

Picul mai are nevoie si de alt pin la masa sau la plus decat pinul5 la - si 14 la +?

In paranteza spui : (ceas corect configurat, bitii de configurare bine setati...)- eu hexul in pic il incarc cu pickit2 ( clona ), trebuie sa-i setez eu manual ceasul si bitii? bitii nu sunt setati in program? in cazul in care trebuie sa fac asta, nu prea stiu cum. Am sa mai caut poate gasesc.

Oricum am testat programul pe 2-3 picuri doar cu led in pinul RA0 si masa plus contactul magnetic si nu se aprinde ledul asa cum ar trebui.

 

Sa inteleg ca tu vrei sa faci redare vocala cu un PIC dar nu te pricepi sa aprinzi un LED?

De ce nu ai spus asta de la inceput?

Poate colegii de pe forum nu se chinuiau degeaba, si incepeau prin a te initia in PIC-uri.

Link spre comentariu

Salut,

Oricum am testat programul pe 2-3 picuri doar cu led in pinul RA0 si masa plus contactul magnetic si nu se aprinde ledul asa cum ar trebui.

Nu face nimic nici cand alimentezi montajul? In cazul asta trebuie sa vad ce lipseste la partea de configurare.

Bitii de configurare sunt setati in cod si nu ar trebui modificati de mana. Din cate stiu eu, pickit2 iti arata cuvantul de configurare, poti sa-l postezi aici sa verificam ca e transferat corect in cod.

PS LED-ul are rezistenta serie de limitare a curentului, da?

 

Ah, pinul MCLR (RA5) trebuie conectat printr-o rezistenta ~10 kOhm la +5V. Poate de aici i se trage.

Link spre comentariu

 

Sa inteleg ca tu vrei sa faci redare vocala cu un PIC dar nu te pricepi sa aprinzi un LED?

De ce nu ai spus asta de la inceput?

Poate colegii de pe forum nu se chinuiau degeaba, si incepeau prin a te initia in PIC-uri.

Nu este politicos sa ignori pe cineva, desi ar fi trebuit sa o fac!

In primul rand cum am mai spus si la inceputul topicului, proiecte cu picuri si atmel am mai facut insa nu am scris/facut eu codul.

Iar de aprins ledul daca faci referire la partea de hardware, gresesti! la partea de software ai dreptate, de aceeia am si cerut ajutorul colegilor de forum, am realizat multe proiecte de pe acest forum si chiar sunt multumit de ele!

Si asa ca idee, de obicei dupa mustrare vine si o explicatie ajutatoare pt unde sa gresit, asta daca ai intentii bune! Oricum nu-ti intelg gestul !

 

Toate cele bune!

Salut,

Nu face nimic nici cand alimentezi montajul? In cazul asta trebuie sa vad ce lipseste la partea de configurare.

Bitii de configurare sunt setati in cod si nu ar trebui modificati de mana. Din cate stiu eu, pickit2 iti arata cuvantul de configurare, poti sa-l postezi aici sa verificam ca e transferat corect in cod.

PS LED-ul are rezistenta serie de limitare a curentului, da?

 

Ah, pinul MCLR (RA5) trebuie conectat printr-o rezistenta ~10 kOhm la +5V. Poate de aici i se trage.

Salut,

Da la alimentare nu face nimic. La biti eram nedumerit pt ca ai scris in paranteza ceas corect setat si biti......... oricum am incarcat hexul asa cum era de la tine fara a modifica ceva.

Led-ul are rezistenta de limitare a curentului, rezistenta de 10K la pinul MCLR (RA5) nu are, voi pune acum.

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