godFather89 Postat Ianuarie 10, 2012 Partajează Postat Ianuarie 10, 2012 m-am gandit ca exista o librarie in care ii zici pin-ul, duty cycle si face el restul, dar vad ca m-am inselat.Posibil sa gasesti astfel de biblioteci.Personal nu am auzit de flowcode4. MikroC banuiesc ca e doar un compilator de C. Poate au astfel de biblioteci integrate.De ce nu folosesti AVR Studio 5 (care e gratuit)? Exista si ASF (atmel software framework - vine cu AVR studio 5 dar il gasesti si separat) care este un set de biblioteci pentru cipurile de la atmel ce includ cam toate functionalitatile dar nu cred ca atmega si attiny sunt suportate (xmega si avr32 sunt sigur).Presupun ca la toate avr-urile se face la setarea pwm-ului la fel, am intrebat mai precis de attiny 2313 si atmega88 ca ep acestea le foloesc.Nu se face chiar la toate la fel. Exista unele diferente intre diferite cipuri. Trebuie studiate foile de catalog pentru un raspuns exact. Link spre comentariu
DarkAngel_Bv Postat Ianuarie 16, 2012 Partajează Postat Ianuarie 16, 2012 Salutare. Deci, am nevoie sa fac o protectie prin intermediul atmega. Am setat pinul B.3 ca output, l-am initializat cu 0, dar cand ajunge in if-else imi jongleaza automat intre 1 si 0. Cand conditia nu mai este indeplinita in loc sa imi puna pinul in 0 ramane blocat in 1. Ceva solutii? $regfile = "m8def.dat"$crystal = 8000000Config Lcdpin = Pin , Db4 = Portc.1 , Db5 = Portc.0 , Db6 = Portb.5 , Db7 = Portb.4 , E = Portd.1 , Rs = Portd.0Config Lcd = 16 * 2Config Adc = Single , Prescaler = AutoStart AdcDim A As IntegerDim Va As LongDim V As SingleConfig Pinb.3 = OutputPinb.3 = 0Do A = Getadc(5) Locate 1 , 1 Va = A * 100 V = Va / 1024 Lcd V If V > 20 Then Locate 2 , 1 Lcd "protectie ON " Pinb.3 = 1 Else Locate 2 , 1 Lcd "protectie OFF" Pinb.3 = 0 End If Waitms 50LoopEnd Pe LCD imi afiseaza protectie ON respectiv protectie OFF corect. P.S. Este posibil ca ISIS sa se insele? Maine poate am timp sa testez si live sa vad cum se comporta. Link spre comentariu
DarkAngel_Bv Postat Ianuarie 27, 2012 Partajează Postat Ianuarie 27, 2012 Intre timp am testat si se pare ca isis se inseala. Nu am pus si osciloscopul pe iesire sa vad daca nu cumva imi da impulsuri pe iesire, dar in principiu codul este bun. Link spre comentariu
nickrvl Postat Februarie 9, 2012 Partajează Postat Februarie 9, 2012 La Attiny24 cum se utilizeaza AREF fiind la PA0, asta la folosirea ADC-ului. Link spre comentariu
nickrvl Postat Februarie 11, 2012 Partajează Postat Februarie 11, 2012 La Attiny24 cum se utilizeaza AREF fiind la PA0, asta la folosirea ADC-ului.Reformulez, pentru citirea ADC vreau sa folosesc referinta interna pentru asta trebuie activat AREF, problema este ca se afla la portul A.0 asta inseamna ca trebuie cumva "rezolvata" din soft. Se vorbeste despre asta in datasheet insa nu inteleg ce trebuie facut.... Link spre comentariu
DarkAngel_Bv Postat Februarie 11, 2012 Partajează Postat Februarie 11, 2012 pai legi pinul 13 la pinul 1 si gata, ai ca referinta Vcc Link spre comentariu
nickrvl Postat Februarie 12, 2012 Partajează Postat Februarie 12, 2012 pai legi pinul 13 la pinul 1 si gata, ai ca referinta VccSi aceasta urma sa o discutam un pic mai tirziu insa problema ramine pentru ca nu e pin separat pentru "referinta" cum e la Atmega8 de exemplu ci face parte din PORTUL A, acel port a.0 mai precis, cum trebuie setat, ca intrare, ca iesire sau ignorat? Deocamdata l-am ignorat ca si setare, l-am pus la masa printr-un cond si vad ca merge bine pentru ce vreau eu sa fac dar dilema ramine, cum se obtine corect referinta? Link spre comentariu
Liviu M Postat Februarie 12, 2012 Partajează Postat Februarie 12, 2012 Eu inteleg ca daca vrei sa folosesti referinta de 1.1V, REFD1:REF0 = b10 si pinul il lasi in aer (eventual programat ca iesire). Banui ca pe el vei regasi cei 1.1 V ai referintei. Din fraza Internal voltage reference options may not be used if an external voltage is being applied to theAREF pin. eu inteleg ca nu e bine sa legi pinul ala undeva cand folosesti referinta interna. Link spre comentariu
nickrvl Postat Februarie 12, 2012 Partajează Postat Februarie 12, 2012 Eu inteleg ca daca vrei sa folosesti referinta de 1.1V, REFD1:REF0 = b10 si pinul il lasi in aer (eventual programat ca iesire). Banui ca pe el vei regasi cei 1.1 V ai referintei. Din fraza Internal voltage reference options may not be used if an external voltage is being applied to theAREF pin. eu inteleg ca nu e bine sa legi pinul ala undeva cand folosesti referinta interna.Cam asa inteleg si eu, sa nu-l conectez, si ce inseamna "REFD1:REF0 = b10" il vad in datasheet si nu-l inteleg. Link spre comentariu
Liviu M Postat Februarie 12, 2012 Partajează Postat Februarie 12, 2012 Scuze, am scris gresit, sunt bitii REFS1 si REFS0 - bitii 7 & 6 ai registrului ADMUX. Cu alte cuvinte, ca sa folosesti referinta interna de 1.1V trebuie sa setezi ADMUX = 0b10xxxxxx, cu xxxxxx setati cum iti trebuie tie in aplicatie (0bxxxxxxxx e numer scris binar). Link spre comentariu
nickrvl Postat Februarie 12, 2012 Partajează Postat Februarie 12, 2012 Scuze, am scris gresit, sunt bitii REFS1 si REFS0 - bitii 7 & 6 ai registrului ADMUX. Cu alte cuvinte, ca sa folosesti referinta interna de 1.1V trebuie sa setezi ADMUX = 0b10xxxxxx, cu xxxxxx setati cum iti trebuie tie in aplicatie (0bxxxxxxxx e numer scris binar).Ce este ADMUX? Link spre comentariu
Liviu M Postat Februarie 12, 2012 Partajează Postat Februarie 12, 2012 Asa-l cheama pe registrul in care faci setarile pentru ADC. Locul in care setezi ce fel de referinta folosesti si ce intrare activezi.Citeste in poza ta: ADMUX – ADC Multiplexer Selection Register Link spre comentariu
nickrvl Postat Februarie 12, 2012 Partajează Postat Februarie 12, 2012 Asa-l cheama pe registrul in care faci setarile pentru ADC. Locul in care setezi ce fel de referinta folosesti si ce intrare activezi.Citeste in poza ta: ADMUX – ADC Multiplexer Selection Register Am citit, si acum si mai inainte si tot nu inteleg, deci trebuie sa o iau de la capat, cum fac acele setari?In Bascom ADC-ul e configurat astfel: Config Adc = Single , Prescaler = 8 , Reference = Internal , este indeajuns?, am masurat la iesire "pina.0" cu voltmetru si nu am 1.1V, am ceva fluctuant intre 0.9 si 1.6, probabil ca portul e "flotant" am incercat si setarea sa ca intrare si iesire, merge setat si nu are nici un efect asupra softului mai precis un voltmetru, asta e de proba deocamdata. Link spre comentariu
Liviu M Postat Februarie 12, 2012 Partajează Postat Februarie 12, 2012 Sorry, mai mult decat sa citesc impreuna cu tine data-sheetul nu pot face. Nu am programat nici un atmel pana acum si nici de Bascom n-am idee. Eram numai curios cum e implementata referinta aia de la ADC, asa ca m-am uitat si eu cand ai intrebat. Si ti-am zis cum inteleg eu data-sheetul.Oricum, din schema din figura 16.1 (pagina 133), se pare ca referinta interna n-are motiv sa ajunga pe pinul AREF. Da' tot din data-sheet reiese ca e mai bine sa nu legi pinul ala nicaieri.Mai mult de atat nu pot sa-ti spun. Imi cer scuze daca te-am incurcat mai tare decat ajutat. Link spre comentariu
nickrvl Postat Februarie 13, 2012 Partajează Postat Februarie 13, 2012 Sorry, mai mult decat sa citesc impreuna cu tine data-sheetul nu pot face. Nu am programat nici un atmel pana acum si nici de Bascom n-am idee. Eram numai curios cum e implementata referinta aia de la ADC, asa ca m-am uitat si eu cand ai intrebat. Si ti-am zis cum inteleg eu data-sheetul.Oricum, din schema din figura 16.1 (pagina 133), se pare ca referinta interna n-are motiv sa ajunga pe pinul AREF. Da' tot din data-sheet reiese ca e mai bine sa nu legi pinul ala nicaieri.Mai mult de atat nu pot sa-ti spun. Imi cer scuze daca te-am incurcat mai tare decat ajutat.Am inteles si nu este nici o problema numa ca ar fi binevenit cineva care se pricepe.....Ce am observat, utilizind acest Attiny intr-un voltmetru, ca acea referinta functioneaza totusi sau asa cred, daca setez ADC-ul pe referinta interna i-mi indica 145 sa zicem si relativ stabil daca il setez pe Avcc o ia raza rau si-mi afiseaza 40, de acea presupun ca functioneaza. 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