Elison Postat Noiembrie 30, 2016 Partajează Postat Noiembrie 30, 2016 (editat) aureliu67, ai in acest exemplu o varianta de actionare a motorului bazata doar pe intreruperea generata de timerul 2. Se pot aduce anumite imbunatatiri legate de citire ADC si altele. Exista doi potentiometri din care se regleaza durata de actionare, respectiv de stationare, a motorului. Acestia trebuie sa fie liniari si sursa stabilizata, poti folosi si semireglabili daca nu trebuie reglati prea des. Programul este testat pe o placa de dezvoltare cu PIC16F877A. In simulare din versiunea 5 nu o sa poti vedea nimic, daca ai versiunea 6, simularea functioneaza. INTT2.rar Editat Noiembrie 30, 2016 de Elison Link spre comentariu
Elison Postat Noiembrie 30, 2016 Partajează Postat Noiembrie 30, 2016 Variabila sec_no_run este de tip byte, trebuie editata si declarata de tip int, pentru ca undeva se face o comparatie intre ea si variabila durata_stationare_mot, de tip int. Link spre comentariu
aureliu67 Postat Decembrie 1, 2016 Partajează Postat Decembrie 1, 2016 Multumesc mult de tot,tuturor! o sa incerc cu semireglabili. Link spre comentariu
aureliu67 Postat Decembrie 1, 2016 Partajează Postat Decembrie 1, 2016 Semireglabilii ii conectez la +5v? Am incercat cu flowcode 6 dar nu merge simularea nici originala si nici cu modificarea variabilei in INT. Daca ati testat si merge o sa il fac. Link spre comentariu
Elison Postat Decembrie 1, 2016 Partajează Postat Decembrie 1, 2016 Da, un semireglabil are un capat conectat la plus 5V, unul la masa si cursorul pe intarea analogica.In arhiva atasata ai aproximativ acelasi lucru , dar in versiunea 6. INTMR2V6.rar Link spre comentariu
aureliu67 Postat Decembrie 1, 2016 Partajează Postat Decembrie 1, 2016 (editat) Imi apare o eroare Uninitialized variable motor_run de 2 ori. am gresit eu la editarea byte in INT? Varianta originala, nemodificata merge la simulare dar timpii cand motorul asteapta sunt prea mici Editat Decembrie 1, 2016 de aureliu67 Link spre comentariu
Elison Postat Decembrie 1, 2016 Partajează Postat Decembrie 1, 2016 Este genul de eroare care poate fi ignorata.Daca vrei poti sa-i dai o valoare de initializare, zero sau unu. Link spre comentariu
aureliu67 Postat Decembrie 1, 2016 Partajează Postat Decembrie 1, 2016 Gresisem eu, Nu erau setate ambele variabile int ci numai una. Cum fac ca motorul sa stationeze 40 sec -1 min? pun un potentiometru de mai multi komi? cam ce valori ar fi? Link spre comentariu
Elison Postat Decembrie 1, 2016 Partajează Postat Decembrie 1, 2016 Eu am ales potentiometri pentru ca poti sa vezi cat este timpul setat in functie de pozitia cursorului. Poti folosi butoane din care sa cresti sau sa scazi durata si cred ca ar fi bine sa folosesti si un display pe care sa vezi valorile setate. Link spre comentariu
aureliu67 Postat Decembrie 3, 2016 Partajează Postat Decembrie 3, 2016 Am testat si eu pe placa de dezvoltare cu pic 16f877a cumparata, insa nu-mi merge softul pe ea. Simularea merge Link spre comentariu
Elison Postat Decembrie 3, 2016 Partajează Postat Decembrie 3, 2016 Spune ce program ai compilat, ce setari ai pentru pic, ce fel de placa de dezvoltare ai, fregventa oscilatorului, ce tensiune ai pe intrarile analogice. Eu am testat practic, asta inseamna ca functioneaza. Sunt convins ca si tu o sa reusesti sa duci la bun sfarsit ce ai inceput, insa pentru asta trebuie sa dai detalii, sa spui ce ai verificat, sa spui ce nu intelegi sau ce nu este destul de clar. Link spre comentariu
aureliu67 Postat Decembrie 4, 2016 Partajează Postat Decembrie 4, 2016 Am incercat si cu 4 Mhz si cu 20 Mhz cuartz, am modificat byte in int si am setat ma frecventa dar nu merge. Unde e gresala mea? Am rescris cu softul de test al picului sa se aprinda ledurile si merge. Am rescris soful pt temporizare nu merge. Am compilat cu flowcode 5 INTT20mhz.rar Link spre comentariu
Elison Postat Decembrie 4, 2016 Partajează Postat Decembrie 4, 2016 Pentru ca ai schimbat fregventa oscilatorului (20MHz), trebuiau facute modificari in macro temporizare, dar chiar si fara acele modificari ledul trebuia sa se aprinda si sa se stinga in functie de pozitia potentiometrilor. Diferenta ar fi fost aceea ca durata reala ar fi fost diferita de cea calculata in program. In arhiva gasesti modificarile si schema. Simularea in proteus functioneaza la fel ca si placa de dezvoltare. INTT20 MHz.rar Link spre comentariu
aureliu67 Postat Decembrie 5, 2016 Partajează Postat Decembrie 5, 2016 Acum a plecat dar merge extrem de haotic.Raspunde la potentiometri dar nu prea are o regularitate aprinderea ledurilor. Uneori se arinde de 4-5 ori pe secunda, urmeaza o pauza, se aprinde o singura data, pauza , se aprinde cateva aori, apoi o alta pauza mai mare sau mai mica si tot asa. Poate sa un potentiometru e necaitativ insa de ce clipeste de atatea ori? Link spre comentariu
Elison Postat Decembrie 5, 2016 Partajează Postat Decembrie 5, 2016 Pe pinul 1 trebuie sa ai 5V, pe pinii 2 si 3, tensiuni constante in functie de pozitia cursorului potentiometrului, pe quartz sa ai montati condensatori la masa. Daca nu ai potentiometrii buni, modifica programul si pune in locul lor switch-uri. Link spre comentariu
Postări Recomandate
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 contAutentificare
Ai deja un cont? Autentifică-te aici.
Autentifică-te acum