Jump to content
ELFORUM - Forumul electronistilor
Seppy

Timer cu PIC12F675

Recommended Posts

Buna seara ,

as avea nevoie de un timer care la conectarea alimentarii sa temporizeze :

o iesire : 1,5 sec ON - 1,5sec OFF -1,5sec ON - 1,5sec OFF - ON pina decuplez alimentarea si

alta iesire : 1,5 sec ON - 1,5sec OFF -1,5sec ON - OFF pana decuplez alimentarea ,cu un PIC 12F675 care il mai am acasa

Va multumesc

Seppy

Link to comment
Share on other sites

1. Prima ieșire rămâne ON după două cicluri ON-OFF iar a doua rămâne OFF . Am înțeles bine ?

2. Cât de precise trebuie să fie intervalele ?

3. Și , în final, ce dorești ? Un .hex ?

Link to comment
Share on other sites

Facut repede pe genunchi si fara pretentii, da?

Proiectul pentru mplabx + xc8:

timerElforum.zip

 

Hex-ul pentru cine nu vrea sa se murdareasca pe maini.

timerElforum.X.production.hex.txt


LE Nu am testat nimic. La cat e de simplu ar trebui sa mearga din prima. Daca nu merge, spui ce nu merge (cat mai detaliat) si incerc sa repar.

 

A, manualul de utilizare: merge cu oscilatorul intern. Cele doua iesiri sunt GPIO4 si GPIO5. GPIO4 e cea care ramane ON, GPIO5 e cea care se stinge.

 

Hexul e in fisierul .hex.txt. Trebuie stearsa extensia .txt.

Edited by Liviu M
Link to comment
Share on other sites

Daca este ceva de genul (GIF-ul de mai jos se repeta ca de deh ... nu merge altfel postat dar programul are o singura executie):

nobxw1.jpg

 

atunci programul poate fi:

#define ON  1
#define OFF 0

void main() {
   ANSEL = 0;
   CMCON = 7;
   GP0_bit = OFF;
   GP1_bit = OFF;
   TRISIO0_bit = 0;
   TRISIO1_bit = 0;
   
   while(1)
   {
      GP0_bit = ON;
      GP1_bit = ON;
      delay_ms(1500);
      GP0_bit = OFF;
      GP1_bit = OFF;
      delay_ms(1500);
      GP0_bit = ON;
      GP1_bit = ON;
      delay_ms(1500);
      GP0_bit = OFF;
      GP1_bit = OFF;
      delay_ms(1500);
      GP0_bit = ON;
      GP1_bit = OFF;
      
      while(1);
   }
}

mikroC for PIC

 

 

LE: too late ... :limb: M-a invins Liviu la secunde ...

blink_then_stop.txt

Edited by mars01
Link to comment
Share on other sites

@Radu: asa functioneaza microcontrollerele, daca nu le dai de lucru permanent, o iau de la capat (se reseteaza).

@Thunderer: 1. Buna intrebare. Functioneaza si asa dar primul while(1) nu e necesar.

2. Asa e cerinta, o iesire trebuie sa ramana OFF. Nu era nevoie de comanda respectiva (GP1 e deja facut OFF cateva linii mai sus), dar nici nu deranjeaza (un compilator care optimizeaza cat de cat o sterge oricum :)).

 

LE Radu, ti-am inteles intrebarea gresit, sorry.

Edited by Liviu M
Link to comment
Share on other sites

:rade:

Doar am aruncat niste instructiuni pe gard, vorba vine.

Prima bucla while(1) nu are sens, este acolo doar din obisnuinta, intotdeauna primul lucru care il fac introduc bucla infinita in care va lucra controller-ul. Nu imi mai aduc aminte unde am citit si despre ce compilator (sorry) dar undeva scria ca este indicat ca intotdeuna sa existe o bucla infinita in program.

Ultima bucla while apare din cauza primei :)

 

Ultima linie

GP1_bit = OFF;

apare de la copy-paste.

Link to comment
Share on other sites

Am facut montajul pe board si functioneaza cum am vrut . ">http://fyoj69.jpgarata ca vai si amar , dar merge . Urmeaza sa-i proiectez un cablaj dupa schema care am gandit-o si sa-l termin cat mai repede .

 

Multumesc UDAR , Liviu M ,si mars01 pentru ajutor .

o sa postez si o imagine cu " produsul finit " cand va fi gata

Seppy

scuze pentru calitatea slaba a imaginii

Edited by Seppy
Link to comment
Share on other sites

Va salut dragi colegi!

Este perioada coacerii strugurilor și se pare că de acest lucru află întotdeauna și necuvântătoarele: căprioare, mistreți, s.a.m.d.

Cum la tăiat, legat, săpat, stropit, erbicidat, prășit au lipsit, am decis ca nu as prea fi de acord să vină chiar acum.

Trecând peste introducerea non-tehnică, v-aș ruga dacă este cineva dispus să îmi facă un progrămel pentru un PIC 12F675 care sa facă următoarele:

La alimentare, un pin este 1 minut on și 5 minute off

alt pin este 5 secunde on și 5 secunde off, în perioada în care pinul anterior este on, după care este și el 5 minute off

Aș fi interesat dacă se poate implementa și o citire a luminii mediului înconjurător cu un fotorezistor sau cu un panou recuperat dintr-o lampă de grădină, astfel încât montajul să nu mai activeze cele două ieșiri pe timpul zilei.

Descrierea practică: prima ieșire activează o goarnă timp de un minut și o face să tacă pentru alte 5 minute. A doua ieșire aprinde un far auto 5 secunde, îl stinge 5 secunde în perioada cât țipă și goarna. Fotorezistența sau panoul recuperat face liniște în vie ziua, când animalele sunt plecate la treaba lor.

O parte din logistică există, mai lipsește creierul. IMG_20170819_233420.jpg

Edited by Marius84
Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.



×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.Terms of Use si Guidelines