Sari la conținut
ELFORUM - Forumul electronistilor

Creare/decodare buffer semnale bazate pe diferite intrari


lorik199

Postări Recomandate

Vreau sa fac un circuit cu un microcontroler bazat preferabil pe atmega8 care sa imi creeze un buffer de semnal pe iesire bazat pe o combinatie de intrari pt un transmitator ce il voi folosi pt radiomodel; mai am nevoie de un circuit sa realizez si decodarea in functie de semnalul receptionat

Ideea de baza ar fi: folosesc 4 pini de intrare, intr-o combinatie aleatoare HI/LOW , date pe care vreau sa le am la iesire pe un singur pin.

Bufferul ar trebui sa fie ceva de genul IN1 IN2 IN3 IN4, un exemplu ar fi IN1=0, IN2=1,IN3=1,IN4=0, la iesire 0110; toate combinatiile posibile ar fi mai jos

 0000    0001    0010     0011    0100     0101     0110     0111    1000     1001     1010     1011     1100    1101      1110     1111  

Transmisia o s-o fac pe un canal analog(PMR) si ar trebui modulata iesirea in functie de 0 si 1 (sa am de exemplu 100Hz pt 0 si 200Hz pt 1),bufferul acesta ar trebui transmis de cel putin 4 ori pe secunda, sa am un timp de raspuns decent iar intre transmisii sa am un delay undeva la 50-100ms, pt a nu incurca valorile 

 

In final, rugamintea e daca ma poate cineva ajuta cu ceva exemple de cod sau principii pt a pune in practica ideea mea

Editat de lorik199
Link spre comentariu
  • Răspunsuri 8
  • Creat
  • Ultimul Răspuns

Top autori în acest subiect

  • lorik199

    4

  • UDAR

    2

Top autori în acest subiect

Vizitator dooctoor

Mai intii de toate vreau sa aflu:

- De ce nu te orientezi catre un modul radio pe frecvente standartizate?

- In caz ca vreai sa construiesti singur partea radio de transmisie / receptie, ce frecventa doresti?

- E un proiect unde ai nevoie strict de metoda descrisa de tine mai sus, soar doresti o comunicare radio pentru radiomodel.

 

Personal, am folosit cu succes modulul radio NRF24L01 la 2,4GHz, si unul analogic la 433MHz..

Link spre comentariu

Mai intii de toate vreau sa aflu:

- De ce nu te orientezi catre un modul radio pe frecvente standartizate?

- In caz ca vreai sa construiesti singur partea radio de transmisie / receptie, ce frecventa doresti?

- E un proiect unde ai nevoie strict de metoda descrisa de tine mai sus, soar doresti o comunicare radio pentru radiomodel.

 

Personal, am folosit cu succes modulul radio NRF24L01 la 2,4GHz, si unul analogic la 433MHz..

 

 

Multumesc de raspuns, o sa raspund pe rand:

Nu vreau sa mai investesc pt ca deja am echipamentul de transmisie

Cum reiese de mai sus, nu vreau sa construiesc eu partea de transmisie/receptie , frecventa e undeva la 470mhz daca nu ma insel

Nu am nevoie strict de ceea ce am scris mai sus, doresc numai o comunicatie cu minim 4 canale cu radiomodelul, la care sa folosesc echipamentul ce il am deja pt transmisie, receptie

Link spre comentariu

După ce a postat colegul @dooctoor  am crezut că n-am înțeles eu bine ce ai cerut . Acu, după răspunsul tău m-am lămurit în parte , eu pricepusem corect .

Acum,  ON TOPIC .  Datele de intrare pe cei patru pini se schimbă în timp real ? Dacă da , ce latență este permisă între schimbarea lor și schimbarea codului transmis serial ? 

Apoi , cifrele pe care le propui sunt ușor incompatibile . Pentru a recunoaște perioada unui semnal , de regulă , trebuiesc minim 5 perioade complete ( ca practică uzuală)  . Asta înseamnă la 100Hz 50 ms. Pentru a transmite 4 biți trebuie  minim 200ms . Pentru a transmite de 4 ori pe secundă e cam la limită . Îți sugerez să mărești frecvențele modulatoare la 500-1000 Hz.. Discriminarea cu microcontroler nu va ridica nicio problemă chiar la diferențe de 10-20% între f0 și f1. 

 

PS A, să nu uit ! Nu mă pricep la Atmel , am doar cunoștințe generale . Ce-am lucrat , am lucrat cu PIC . Dar principiile sunt aceleași . 

Editat de UDAR
Link spre comentariu

Multumesc de raspuns, datele de la cei 4 pini o sa se schimbe in timp real (o sa fie facuta o telecomanda), latenta pe cat posibil de mica.

Acele valori ale purtatoarei au fost aleator alese, pot fi folosite si frecvente mai mari.

Nu ar fi o problema nici realizarea cu pic, insa daca incepe discutia pe tema asta devin offtopic, avand in vedere sectiunea unde am postat

Link spre comentariu

Nu ți-am propus să faci cu PIC , am spus doar că mă voi limita la principii . 

Propunerea mea este , pentru început, următoarea:

O rutină citește cei patru biți dintr-un buffer și comandă un modul PWM ( de pildă ) cu DC = 50% și frecvența diferită timp de , să zicem , 25 ms per bit . Lasă 50ms pauză apoi reia . Bucla asta se repetă la infinit . 

Pe de altă parte o întrerupere la schimbarea stării intrării ( IOC se cheamă la PIC , nu știu care este echivalentul la Atmel ) determină reîmprospătarea buffer-ului . O restricție de consistență ar putea fi să nu se ia în considerare schimbarea decât după ce s-a transmis tot pachetul de 4 biți . Cu alte cuvinte verific actualizarea buffer-ului doar în pauza de 50 ms. Cam asta e tot . 

Link spre comentariu

@UDAR : Latenta care o sa intervina pana la reimprospatarea iesirii, nu e atat de mare,deci nu o sa ma afecteze daca o sa se face dupa transmiterea bufferului

@dooctoor: Pentru mine nu e o mare problema ce uC folosesc, am dat exemplul de atmega 8 deoarece il am pe stoc, dar pot achizitiona si alt microcontroller

In limita timpului dvs liber rog daca puteti sa scrieti un cod care sa corespunda aplicatiei mele

Link spre comentariu
Vizitator dooctoor

Nu dispun de timp, dar de ceva timp nu mai lucrez cu AVR, însă dacă dorești singur să înveți ceva, cel mai bine este să te inplici personal, mai ales că codul trebuie testat pe hardware, și la moment  nu am nici un BOARD cu ATmega. Dacă dorești instalează ATMEL Studio, o să fac și eu acelaș lucru și impreună o să scriem codul. ATmega8 va fi OK.

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