Sari la conținut
ELFORUM - Forumul electronistilor

Cu ce se programeaza PIC-urile in 2024 ?


Postări Recomandate

poti sa faci divizorul ala cu valori mari (500K +) si pui un condesator de 47-100nF la iesirea divizorului ca sa ai suficinet stoarge pentu S/H - evident ca nu vei putea sa faci masuratori succesive la distanta mica ce vei ave nevoie de timp ca 47-100nF sa se incarce prin divizorul ala de 500k+. Facand asta vei arde 20-50uA prin divizor cu dezavatajul vitezei intre doua citiri succesive. (trade off)

Am facut divizoare cu 1M (500k+500k la 5V) si au mers perfect. 

RR

Editat de roadrunner
Link spre comentariu
  • Răspunsuri 43
  • Creat
  • Ultimul Răspuns

Top autori în acest subiect

Top autori în acest subiect

Imagini postate

Super idee ! Mersi ! 

Nu am nevoie de viteza de masurare super mare. O secunda ar fi suficient.

 

Dar acum vad alta problema... Cum naiba ii fac alimentare ? Sa cobor de la 11-16V la... 2.5V sa zicem...

Oare daca l-as alimenta dintr-un NCP431 o merge ? Ca cica ar consuma in jur de 150uA. Iar integratul ala stabilizator are si el nevoie de 100uA ca sa functioneze...

Link spre comentariu

Cam sarac datasheet-ul la AP2205... Nu spune clar cat e Iq-ul... Zice ceva de Ignd. Care mai e si variabil in functie de consum... Si nu specifica daca curentul din dinvizor e inclus sau nu. Si nici ce rezistente putem pune la varianta ajustabila. Mie mi-ar trebui o alimentare de 2.56V ca sa se simplifice calculul la ADC pe 8 biti.

Link spre comentariu

Asta ce este la pagina 8 ?  La 16V si 25 grade C o sa iti manance in conditii de 0 consum cam 40uA.

Divizorul e problema ta, nu are cum sa iti zica in DS cat o sa consume divizorul pe care il alegi tu cum vrei pana la urma.

 

Vorbim de o baterie de plumb, trebuie sa calculezi intai cat o sa stea fara alimentare si iti alegi un consum in gol in functie de asta, eu la UPS-ul meu am regulator care mananca 3mA in gol, cat or putea golii bateria aia de 5Ah in alea 4-5 ore max in care nu or fi curent.. cand stii ca nu o sa folosesti sistemul pentru perioada lunga pui un buton principal de on/off si gata. Inteleg dorinta de a face ceva cat de perfect se poate, de multe ori fac si eu over engineering si dupa ma scarpin ca se putea mult mai simplu, am pierdut o gramada de timp optimizand un circuit pentru un display E-Ink, cand a fost gata si am vazut ca cele 2 celule li-ion care il alimenteaza tin 6 luni pe 1 incarcare am zis ok... m-am chinuit atata sa-l incarc cel mult 1 data / luna si am ajuns la 6 luni, in idea in care nu a meritat de loc atata bataie de cap. 

 

image.png

Editat de Bandi Szasz
Link spre comentariu

Vad ca majoritatea circuitelor au I ground functie de consum. Totusi eroarea la ADC  pentru sursa de 2.5V fata de cea de 2.56V este foarte mica (2%??), vrei sa masori asa precis? Daca vrei ajustabil si te multumesti cu integrat care suporta maxim 16V la intrare poti folosi MIC5225, este si in varianta de 2.5V, dar si ajustabil. In datasheet nu este specificat curentul prin pinul de feedback, dar recomanda rezistenta din divizor de maxim 300k.

https://ro.mouser.com/datasheet/2/268/mic5225-1082288.pdf

Probabil sunt si alte circuite, dar trebuie cautat.

Link spre comentariu

In afara de graficul ala cu "Supply Current vs. Input Voltage" mai este un grafic mai jos cu "Ground Current vs. Output Current"... care arata valori mai mari. Oricum, la cei 150uA pe care ii trage PIC-ul asta, nu cred ca va mai creste cu mult consumul regulatorului. Cred ca merita sa-l includ in urmatoarea comanda de piese.

 

E chiar misto AP2205-ul asta. Functioneaza pana nu mai are tensiune deloc. Spre deosebire de NCP431, la care daca ii scade curentul de catod (o data cu tensiunea), nu mai functioneaza...

 

Am terminat si programul pentru PIC:

  PROCESSOR   PIC10F222
  INCLUDE     "p10f222.inc"

  ; Configuration bits
  __CONFIG    _MCLRE_OFF & _CP_OFF & _WDTE_OFF & _MCPU_OFF & _IOSCFS_4MHZ

  ; Define user variables
  CBLOCK  0x0A
    Flags
    VAll
  ENDC 
	
; Define constants
#DEFINE  RstPin    GPIO, 1         
#DEFINE  SwPin     GPIO, 2 

#DEFINE  PicoOff   Flags, 0    ; 0 = low voltage turned switch off,  1 = Pico turned switch off 

VLow   EQU  .100    ; 10.0 V
VHigh  EQU  .143    ; 14.3 V

swON   EQU  b'00000100'
swOFF  EQU  b'00000000'

; ----- Program start -----

  ; Reset vector
  ORG     0x0000
  
  ; Configure OPTION register
  movlw   b'11011111'      ; GP2 as digital
  OPTION 

  ; Configure GP pins
  clrf    GPIO
  movlw   b'11111011'      ; GP2 = Output, GP0.GP1.GP3 = Input
  TRIS    GPIO

  ; Configure ADC
  movlw   b'01000001'      ; Channel 0, ADC ON
  movwf   ADCON0

  ; Initialize variables
  clrf    Flags

; ----- Main loop -----------
MainLoop:

  ; Read ADC voltage 
  bsf     ADCON0, GO       
  btfsc   ADCON0, GO  
  goto    $-1 
  movf    ADRES, W         
  movwf   VAll       

  ; Check switch state
  btfsc   SwPin
  goto    isON 

isOFF:
  btfsc   PicoOff          ; Is switch turned off by Pico ?
  movlw   VHigh            ; yes - use the high limit  
  movlw   VLow             ; no  - use low limit  
  subwf   VAll, W
  btfss   STATUS, C        ; Does voltge rised above the selected limit ?
  goto    MainLoop         ; no  - continue
  movlw   swON             ; yes - turn the switch ON
  movwf   GPIO             
  goto    MainLoop

isON:
  movlw   VLow
  subwf   VAll, W
  btfss   STATUS, C        ; Does voltage dropped below the low limit ?
  goto    Next1            ; no  - continue
  movlw   swOFF            ; yes - turn the switch OFF
  movwf   GPIO
  bcf     PicoOff             
  goto    MainLoop
Next1:
  btfss   RstPin           ; Does Pico wants to shutdown ? 
  goto    MainLoop         ; no  - continue
  movlw   swOFF            ; yes - turn the switch OFF
  movwf   GPIO
  bsf     PicoOff             
  goto    MainLoop  

  END

 

screenshot.3.thumb.png.3fcef72eaed75dad115f1000a868aab7.png

Editat de Blacksmith
Link spre comentariu

https://www.lcsc.com/product-detail/DIP-Switches_SM-Switch-SMXS-04K-TP_C5439763.html

Switch-urile de genul asta or fi bune ? Ati folosit asa ceva ? As vrea sa izolez pinii de programare de la PIC prin niste switch-uri din astea. Pentru ca circuitul meu are niste conzi de 220nF pe pinii de programare si nu cred ca se poate programa asa cu ei. Dar imi trebuie niste switch-uri calumea care sa nu cumva sa se intrerupa ca imi taie alimentarea de la NAS.

 

screenshot.5.thumb.png.413448914b847c05be21c1bdd4363f84.png

Link spre comentariu

incearca inainte daca il poate programa cu 220n pe pini, poate merge si scapi de o treaba. (daca nu merge inseamna ca ai fost destept, daca merge inseamna ca ai fost si mai destept - win-win)

daca 220nF are rol de filtraj pentru tensiune a masurata poti sa-l muti la intrarea in divizor, daca e acolo ca rezervor pentru circuitul sample and hold al adc-ului poti sa-l reduci la 47nF (care foarte probabil nu afecta programarea)  - niste teste pe breadboard sau (paianjen) sunt bune inainte sa bati schema in cuie. 

RR

Editat de roadrunner
Link spre comentariu

Am facut de proba asa... si mi se reseteaza PIC-ul (uneori) cand comut ON/OFF (la 220V) sursa de alimentare. Pot sa observ asta pentru ca sursa are conzi mari de filtraj si mai tine tensiune si dupa ce o opresc. Si cand comut imi licare led-ul o data, ca si cand ar incepe sa execute iar programul de la capat, la adresa 0x000. Am pus osciloscopul pe alimentarea PIC-ului si nu are absolut nici o intrerupere, sta perfect fixa cand comut. Mai ales ca am si filtraj local 470R+220uF (vezi schema). Deci nu are absolut nici un motiv sa se reseteze... dar o face. O fi de la faptul ca e facut in aer, cu terminale mai lungi, si cu niste sarme de 10-15 cm legate cam de toti pinii, de la mufa de programare pe care n-o mai dezlipesc... ? Sau de la tampenia aia de NCP ? Chiar nu inteleg... 

 

screenshot.4.thumb.png.30d9dfa5c6c8b4bb3088a682beca40a1.png

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