Home - Rasfoiesc.com
Educatie Sanatate Inginerie Business Familie Hobby Legal
Meseria se fura, ingineria se invata.Telecomunicatii, comunicatiile la distanta, Retele de, telefonie, VOIP, TV, satelit




Aeronautica Comunicatii Constructii Electronica Navigatie Pompieri
Tehnica mecanica

Electronica


Index » inginerie » Electronica
» Sonda Logica - Programator ICSP pentru microcontrolere PIC


Sonda Logica - Programator ICSP pentru microcontrolere PIC


Sonda Logica

Dispozitivul testeaza rapid nivelul unui punct in logica pozitiva. In gol lumineaza L3. La aplicarea varfului in punctul testat se stinge L3 si se aprinde L1 pentru nivel 1 sau L2 pentru nivel 0. La 'rece', pentru R<2K se aprinde L2. Circuitul integrat folosit poate fi in tehnologie TTL (CDB 400, 74LS00) sau CMOS (MMC 4000). Tranzistorul este de tip PNP si poate fi inlocuit cu altul similar.



Programator ICSP pentru microcontrolere PIC

28 august 2004

Descriere

BobProg este un programator pentru microcontrolere PIC produse de Microchip. Aceasta varianta de programator este compatibila cu majoritatea familiilor de microcontrolere PIC care au implementata facilitatea de progamare in circuit (ICSP). Programatorul se conecteaza printr-un cablu la portul serial al PC-ului si trebuie alimentat de la o sursa externa de tensiune. Aceasta varianta cu alimentare externa este o imbunatatire fata de varianta programatorului JDM clasic, care nu functioneaza corect la unele calculatoare mai noi sau cu unele microcontrolere. Acest programator ICSP are avantajul ca permite programarea microcontrolerelor direct in circuitul unde sunt folosite, fara a mai fi nevoie de un soclu pentru a muta microcontrolerul din sistem in programator, facilitate foarte utila in cazul in care microcontrolerul este de tip SMD. BobProg se conecteaza la sistemul cu microcontroler printr-un cablu scurt cu 5 fire.

Hardware

Aceasta schema este o varianta modificata a progrmamtorului JDM. Circuitul trebuie alimentat de la o sursa externa de tensiune de 12V14V curent alternativ (direct de la un transformator ~220V -> ~12V) sau de la sursa de +16V+18V curent continuu (tensiune redresata si filtrata). Regulatorul de tensiune 78L12 (+12V 100mA) este conectat la masa prin doua diode pentru a obtine la iesire tensiunea de 13,4V folosita pentru programarea microcontrolerelor PIC. Regulatorul 78L05 (+5V 100mA) este folosit pentru obtinerea tensiunii de +5V necesara alimentarii microcontrolerului. Circuitul cu doua tranzistoare NPN si PNP este folosit pentru a controla aplicarea tensiunii de programare la pinul VPP (MCLR) al microcontrolerului, comandata de semnalul TxD al portului serial. Celelalte semnale alte portului serial (RTS, CTS si DTR) sunt folosite la generarea semnalelor de CLOCK si DATA la pinii ICSP ai microcontrolerlelor PIC. Conectorul JP4 (ICSP_Power) are acelasi rol cu JP2 (Power), dar este folosit pentru a alimenta programatorul direct din sistemul cu microcontroler, daca acesta dispune de o tensiune de +16V+18Vcc, eliminand astfel necesitatea unei o a doua alimentari externe numai pentru programator. Diodele D1 si D5 au rol de protectie in cazul conectarii gresite a tensiunii de alimentare. LED-ul verde POWER indica prezenta tensiunii de alimentare de +5V, iar LED-ul rosu PROG indica prezenta tensiunii de programare de +13,4V.

Majoritatea componentelor folosite sunt de tip SMD (Surface Mount Device). Acestea pot fi inlocuite cu echivalente TH (Through Hole), dar in acest caz trebuie reproiectat cablajul. Componetenele echivalentele pentru varianta TH (cu pini) sunt urmatoarele: BC807=BC557, BC817=BC547, FS1J=1N4001, MMBD7000= 1N4148 x 2.

Programatorul a fost testat cu urmatoarele microcontrolere: PIC12C508 (A), PIC12C509 (A), PIC12F629, PIC12F675, PIC16F84 (A), PIC16F627, PIC16F628. BobProg poate programa toate tipurile de microcontrolere PIC suportate de aplicatia IC-Prog.

Cablajul si plasarea componentelor

Cablajul folosit este pe o singura parte. Fisierele in format PDF sunt disponibile mai jos si pot fi folosite doar pentru uzul personal.

Software si conectarea programatorului la sistemul cu microcontroler

Pentru programare se foloseste aplicatia IC-Prog, care ruleaza pe PC si comunica pe portul serial cu programatorul prezentat. IC-Prog trebuie configurat cu urmatoarele optiuni:

  • Hardware:
    • Programmer: JDM Programmer
    • Interface: Windows API
  • Options:
    • Misc: Enable NT/2000/XP Driver
    • Interface: Verify After Programming

Download

Copyright © 2004-2007 -2009 Radu Igret. Toate drepturile rezervate.

Detector semnal IR

La ambele variante de detector, exsitenta semnalului infrarosu este semnalizate de dioda LED, care urmareste si variatia semnalului IR. Varianta cu senzor infrarosu este mai sensibila si detecteaza semnalul IR de la o distanta de cativa metri, pe cand varianta cu foto-tranzistor are o raza vizuala de detectie de cel mult un metru. La aceasta varianta potentiometrul de 1K permite reglarea sensibilitatii detectorului. Spectrul de detectie depinde de fototranzistorul ales.

BobDemo628

Sistem de dezvoltare pentru microcontrolere PIC

13 aprilie 2005

Descriere

BobDemo628 este un sistem de dezvoltare pentru aplicatii cu microcontroler PIC16F628 si este folosit pentru a dezvolta si testa programe scrise pentru acest microcontroler sau altele compatibile. Utilizatorul poate observa starea celor 13 intrari/iesiri ale microcontrolerului prin intermediul unor diode LED sau poate schimba starea intrarilor folosind microcontacte. Oscilatorul cu quartz se monteza intr-un soclu, astfel incat sa poata fi schimbat cu altul, in functie de cerintele aplicatiei. Sistemul dispunde si de un soclu prin care se pot conecta mai multe tipuri de senzori IR (infrasosu) sau senzor digital de temperatura si are convertor de semnal TTL-RS232 pentru a permite conectarea directa la PC pe portul serial. Programarea microcontrolerului se poate face direct in sistem, fara a mai scoate microcontroleul din soclu, prin intermediul conectorului ICSP, folosind programatorul in circuit BobProg. Alimentarea se poate face de la o singura sursa externa de 9-12V sau de la o baterie de 9V direct de pe placa, in cazul in care este nevoie de mobilitate.

Caracteristici

  • compatibil cu mai multe tipuri de microcontrolere PIC cu 18 pini
  • 14 intrari / 15 iesiri configurabile de utilizator
    • 12 intrari cu microintrerupator tip 'pushbutton'
    • 13 iesiri cu LED
    • 2 intrari/iesiri libere (fara oscilator extern)
  • comunicatie RS232 cu PC-ul pe port serial
  • LED pentru indicarea conexiunii la PC
  • senzor IR pentru telecomanda
  • conector ICSP pentru programare in ciruit
  • sursa de alimenatare 'on-board' de la baterie de 9V
  • posibilitate de alimentare externa direct din transformator
  • buton de reset manual
  • conectare cu senzori de temperatura 1-Wire sau alte sisteme digitale
  • alimentare cu +5V direct de pe placa pentru alte sisteme conectate

Hardware

Sistemul este conceput pentru a fi folosit cu microcontrolerul PIC16F627 sau PIC16F628, dar se pot folosi si altele compatibilie la nivel de pini. Microcontrolerul PIC16F62x are in total 16 pini care pot fi folositi de utilizator. Dintre acestia, 15 pot fi folositi ca intrare/iesire si unul doar ca intrare. Daca se foloseste modul oscilator extern, atunci doi dintre pinii I/O sunt folositi pentru a conecta un cristal de quartz sau rezonator, ramanad 13 pini I/O folositi de utilitator. Fiecare pin I/O comanda un LED activ LOW cand este configurat ca iesire. Pentru pinii configurati ca intrare, utilizatorul poate schimba manual starea lor prin microintrerupatoare. Intrarea este a activa LOW cand se apasa butonul corespunzator, altfel este tinuta in starea HIGH printr-un rezistor de pull-up la +5V.

ATENTIE ! Nu actionati microintrerupatoarele (LOW) corespunzatoare pinilor configurati ca iesiri, deoarece riscati distrugerea microcontrolerului !

Pinii RB1 si RB2 pot fi configurati ca intrari/iesiri digitale sau ca semnale Rx/Tx pentru USART-ul intern al microcontrolerului. Selectia modului de folosire al acestor pini (digital I/O sau USART) se face prin 2 jumperi (J2,J3). In modul USART, prin intermediul convertorului de semnal TTL-EIA, MAX232, microcontrolerul se poate conecta la portul serial al PC-ului. Starea conexiunii la PC este indicata printr-o dioda LED comandata de PC prin semnalul DTR. In functie de frecventa oscilatorului folosit, comunicatia seriala RS232 cu PC-ul se poate face cu o viteza maxima de 230,4 Kbps. Pentru obtinerea unui baudrate fara erori se recomanda folosirea unui quartz de maxim 14,7456 MHz. Pinii RB6 si RB7 sunt folositi si pentru programarea in circuit (ICSP) a microcontrolerului. Si in acest caz se folosesc 2 jumperi pentru a decupla pinii respectivi de la restul sistemului in timpul programarii microcontrolerului. La sistem se poate conecta si un senzor IR (infrarosu) pentru a primi comenzi de la telecomanda IR. Iesirea senzorului IR este conectata la pinul RB4 si poate fi citita cand acesta este configurat ca intrare. Senzorul IR nu trebuie conectat la sistem daca pinul RB4 este configurat ca iesire. Sistemul ofera facilitatea programarii in circuit a microcontrolului prin intermediul conectorului ICSP, folosind programatorul BobProg ICSP sau altul similar.

Alimentarea sistemului se poate face de la o sursa externa de tensiune de 9V12V c.c./c.a sau direct de la o baterie de 9V direct pe placa. Consumul este de maxim 70mA cu toate LED-urile aprinse. Selectia modului de alimentare (extern sau baterie) se face prin jumper-ul J1. Tensiunea de alimentare externa poate fi si neredresata, redresarea si filtrarea se face pe placa. Regulatorul LM78L05 genereaza tensiunea de +5V necesara circuitelor din sistem si circuitelor externe conectate la sistem prin J2-J3. Resetarea sistemului se poate face si manual prin microintrerupator.

BobDemo628 este compatibil cu urmatoarele tipuri de microcontrolere (indiferent de terminatie): PIC16F84, PIC16F627, PIC16F628, PIC16F648, PIC16F818, PIC16F819, PIC16F87, PIC16F88, PIC18F1220, PIC18F1320 (pt unele tipuri exista limitari).

Cablajul si plasarea componentelor

Cablajul folosit este pe o singura parte. Fisierele in format PDF sunt disponibile mai jos si pot fi folosite doar pentru uzul personal.

Configuratie jumperi:

Modul IO1 + RS232 dezactivat - pinii 1,2,3,4 ai conectorului PC/IO se folosesc pentru a conecta (cu un cablu scurt) sistemul BobDemo la un alt sistem; pinii RB1/RB2 (4,3 in conectorul PC/IO) se folosesc pentru comunicarea cu sistemul digital conectat, prin semnale RX/TX de tip TTL-CMOS; pinii 1,2 (GND, +5V) ai conectorului PC/IO sunt folositi pentru alimentarea sistemului extern cu +5V. ATENTIE ! Nu conectati pinii 3/4 cu 1 sau 2 deoarece riscati distrugerea microcontrolerului !

Modul IO2 (3-5, 4-6) + RS232 dezactivat - pinii RB1/RB2 au aceeasi functie ca si ceilalti pini ai microcontrolerului, fiind conectati la cate un LED + microintrerupator.

Modul PC (3-5, 4-6) + RS232 activat - pinii RB1/RB2 sunt folositi pentru comunicarea pe linia seriala RS232 cu PC-ul; in acest caz RB1/RB2 se conecteaza la convertorul MAX232.

Mod IO1

Mod IO2/PC

RS232 activat

RS232 dezactivat

ICSP dezactivat

ICSP activat

Software

Pentru scrierea programelor care ruleaza pe microcontroler recomand folosirea aplicatiei MPLAB (disponibila pe site-ul Microchip). Aceasta este un mediu de dezvoltare pentru programe scrise in asamblare sau in C si ofera posibilitatea simularii pe PC a rularii programului pentru microcontroler. P entru programarea microcontrolerului se poate folosi aplicatia IC-Prog impreuna cu programatorul BobProg ICSP.

Exemple de programe pentru BobDemo628 v1:

  • Lumina dinamica.asm

Download

BobRemote

Telecomanda pentru PC

07 Ianuarie 2003

Descriere

BobRemote permite controlul PC-ul cu orice telecomanda IR (Infra Rosu). Aplicatia care ruleaza pe PC, comunica cu modulul de receptie conectat la portul serie al calculatorului. Fiecare buton de pe telecomanda se poate asocia cu o serie de comenzi care pot fi executate cate una sau in ordine. In acest mod se pot simula tastatura si mouse-ul,se pot lansa aplicatii, trimite mesaje spre anumite fereste tinta, se pot controla aplicatii Windows (ex. Winamp,MediaPlayer,),etc..

Caracteristici

  • Recunoaste majoritatea telecomenzilor IR de TV, VCR, Audio, TUNER, etc.
  • Conectare pe portul serial al PC-ului (RS-232, mufa 9 pini)
  • LED indicator al semnalului de telecomanda
  • Compatibil cu aplicatii Windows care lucreaza cu dispozitive similare (ex: BobRemote, Girder, PcRemote , IrAssistant,..)

Software compatibil:

Hardware

BobRemote IR are doua componente pricipale: receptorul si telecomanda IR. Telecomanda este folosita de utilizator pentru a transmite semnale IR (infra-rosu) codificate. Receptorul, care este conectat la calculator pe unul din porturile seriale RS232, primeste semnale IR de la telecomanda, le decodifica si le transmite mai departe la calculator. Receptorul BobRemote este un sistem cu microcontroler. Sistemul are rol de conversie intre diferitele protocoale de comunicatie, folosite de telecomenzile IR, si protocolul RS232 folosit de calculator pentru comunicatia pe portul serial. Algoritmul de decodificare a codurilor IR este optimizat pentru protocolul RC5 sau variante ale acestuia, intalnite la majoritatea telecomenzilor IR.

Sistemul are 3 blocuri functionale: sursa de alimentare, receptorul IR si interfata RS232. Microcontrolerul folosit este de tip PIC12C509A sau PIC12F629 si foloseste un rezonator de 4MHz. Blocul de alimentare foloseste tensiunea de +9..12V a semnalului DTR al portului serial, pentru a obtine o tensiune de +5V pentru microcontroler si senzorul IR. Iesirea senzorului IR comanda si un LED, care indica prezenta semnalului IR de la telecomanda. Interfata cu portul serial are rol de convertor de semnal RS232-TTL, pentru protejarea microcontrolerului.

Pentru functionarea circuitului ca receptor IR, este necesar ca microcontrolerul sa fie programat cu firmware-ul (programul care ruleaza pe microcontroler) disponibil mai jos.

Pentru programare se poate folosi programatorul BobProg prezentat pe acest site.

Conform firmware-ului, la apasarea unui buton al telecomenzii, sistemul receptioneaza codul IR corespunzator, i-l decodifica si-l trimite la PC. Aplicatia care ruleaza pe PC, compara codul primit si daca apartine unei comenzi predefinite de utilizator, o executa.

Receptorul BobRemote IR este compatibil cu majoritatea aplicatilor Windows care lucreaza cu dispozitive similare (ex: BobRemote, Girder, PcRemote , IrAssistant, uICE, ).

Performanta receptorului nu depinde de tipul de telecomanda folosit. Algoritmul de decodificare folosit de acest sistem asigura recunoasterea 100% a codurilor IR si nu incurca comenzile intre ele, spre deosebire de alte receptoare fara microcontroler care pot fi gasite pe web.

Firmware

  • BobRemote_v1.zip (include firmware pentru PIC12C509A, schema in format PDF)
  • BobRemote_v2.zip (include firmware pentru PIC12F629, schema si cablaj in format PDF)

Receptor pentru Girder

Aceasta este o alta varianta de receptor pentru telecomanda IR, care functioneaza numai cu aplicatia Girder. Am modificat schema initala, proiectata de Igor Cesko, pentru a proteja portul serial al PC-ului si pentru a creste fiabilitatea circuitului. Pentru a functiona cu aplicatia Girder, acest circuit are nevoie de plug-in-ul IgorPlug.dll.

Avantajul circuitului, in comparatie cu BobRemote IR, este pretul mai mic, deoarece nu se mai foloseste un microcontroler pt decodificarea semnalului IR. Rolul microcontrolerului este preluat insa de PC si implicit CPU-ul va fi folosit pentru decodificare.

Dezavantajele acestui circuit sunt mai multe: nu este compatibil cu toate aplicatiile de telecomanda pt PC (numai cu Girder), in comparatie cu BobRemote, recunoaste mai putine tipuri de telecomenzi. Insa cel mai mare dezavantaj este instabilitatea, recunoasterea gresita a comenzilor IR. Destul de des se intampla sa incurce comenzile intre ele.

Intregul circuit incape intr-o carcasa de mufa cu 9 pini pentru portul serial. Pentru a creste sensibilitatea la semnalul IR, senzorul IR poate fi conectat printr-un cablu astfel incat sa fie fixat in partea frontala a PC-ului, pe monitor de exemplu. In acest caz, condensatorul C2 de 100nF trebuie lipit cat mai aproape de senzorul IR.

Casti fara fir

11 august 2004

Descriere

Dispozitivul este un emitator radio care primeste la intrare un semnal audio de la o combina muzicala, calculator, etc. Alimentarea se face extern, de la o baterie sau de preferinta un acumulator, cu o tensiune cuprinsa intre 3 V si 12V. Frecventa de emisie se poate regla in intervalul 70-150MHz. Pentru receptie se foloseste un mini-radioreceptor de buzunar cu casti. Raza de actiune este de cativa metri, fiind suficienta pentru receptia in mai multe camere.

Hardware

Pentru bobina de 1uH se folosesc 2-3 spire de 0.7 mm pe un diametru de 5 mm. Frecventa de emisie se regleaza din trimerul de 6..25 pF. Tranzistorul poate fi inlocuit cu BC547. Semnalul audio care intra in emitator trebuie sa aiba masa comuna cu emitatorul (GND). Pentru antena se poate folosi o sarma de 15-20 cm. Pentru modelul prezentat, circuitul incape pe un cablaj de 2cm diametru daca se folosesc componente SMD. Semnalul audio receptionat este destul de bun calitativ, daca ignoram faptul ca este mono, dar oricum si receptorul este mono. Pentru o auditie stereo, este necesar in primul rand un receptor stereo (care in varianta miniatura este prea scump) si un emitator stereo, care este mult mai complicat decat varianta mono prezentata mai sus.

Iluminat economic cu LASER

11 august 2004

Descriere

Acest dispozitiv este un detector de miscare cu LASER, care tine aprins un bec doar pe durata detectarii miscarii intr-o camera. Cand detecteaza miscare in camera, becul se aprinde, iar dupa un timp programabil, dupa incetarea miscarii, becul se stinge. Astfel se obtine un consum minim de energie.

Functionare

Principiul de functionare este foarte simplu: intr-o incinta (camera) un fascicul LASER provenit de la un pointer care se reflecta prin mai multe oglinzi, formand o panza care cuprinde toata camera, ajunge la o fotodioda si impune o stare de repaos. Cand fascicolul LASER este intrerupt (de o persoana care se misca prin camera) fotodioda nu mai este iluminata si aceasta noua stare declanseaza un monostabil retriggerabil cu durata programabila. Iesirea monostabilului, prin intermediul unui triac, controleaza un bec de maxim 100 W. Cand detecteaza miscare in camera, becul se aprinde, iar dupa un timp programabil, dupa incetarea miscarii, becul se stinge. Astfel se obtine un consum minim de energie.

Hardware

Pentru generatorul LASER se poate folosi un pointer cu LASER disponibil in comert. Fotodioda poate fi orice tip de fotodioda sensibila la spectrul vizibil; se poate folosi si un fototranzistor. Circuitul integrat NE555 este un temporizator care functioneaza ca monostabil. Tranzistoarele din schema pot fi inlocuite cu orice tranzistor cu un curent de colector mai mare de 30 mA. Circuitul integrat LM7805 este un regulator de tensiune pentru 5V. Transformatorul trebuie sa furnizeze o tensiune mai mare de 6V la un curent de minim 30mA. Pentru rederesare se pot folosi 4 diode in punte sau redresoare integrate. Triacul folosit in aceasta schema este de tipul GATE SENSITIVE, adica poate fi comandat cu un curent minim de 10mA. Se poate folosi si un triac mai puternic daca se comanda saricini mai mari de 400W, dar trebuie prevazut cu un radiator pentru protectia termica a triacului. Varistorul la 275V c.a. are rol de protectie a triacului. Din potentiometrul POT1 se poate regla durata activa a mononstabilului, adica timpul cat becul ramane aprins dupa incetarea miscarii, in intervalul 1..60 secunde. Din potentiometrul POT2 se poate regla puterea LASER-ului.

Raza LASER trebuie sa 'impanzeasca' toata camera prin reflexie in oglinzi si sa 'cada' in final pe fotodioda sau fototranzistorul folosit. Rezistenta R2 de 100K poate fi micsorata pentru a mari sensibilitatea la lumina. Daca pragul de sensibilitate ales este suficient de mare, la lumina zilei becul nu se va aprinde, chiar daca fascicolul laser este intrerupt, astfel circuitul poate functiona continuu si noaptea si ziua.





Politica de confidentialitate





Copyright © 2024 - Toate drepturile rezervate