när PicBasic inte räcker till

PIC, AVR, Arduino, Raspberry Pi, Basic Stamp, PLC mm.
Användarvisningsbild
tusse
Inlägg: 1364
Blev medlem: 19 augusti 2003, 21:56:17
Ort: Järfälla

när PicBasic inte räcker till

Inlägg av tusse »

Nu måste jag anlita experterna när PicBasic inte räcker till.
Krets: PIC-16F628
Jo jag har tittat i data bladet till kretsen men blev inte mycket klokare för det
Vill kunna göra en analog insignal på PORTA.3 i nivå med +0 till +1 volt till ett digitalt värde och spara det i variabel ”Var”, upplösning inte kritiskt.
Jag vet vad jag vill men kan inte.

Har förstått att

TRISA=00010000 För att berätta vilken port som ska vara inport.

CMCON ska sättas för att något ska hända

VRCON ska sättas för att få den interna spänningsreferensen.

Och det är inte mycket men om ni kan förklara så kan hända att det fastnar något i någon hjärncell hos mig.

Fråga om ni vill veta något mer.
Ja det är en Lambdasond jag ska läsa av.
sodjan
EF Sponsor
Inlägg: 43251
Blev medlem: 10 maj 2005, 16:29:20
Ort: Söderköping

Inlägg av sodjan »

628(A) saknar ADC omvandlare.
Kolla istället på t.ex 16F88 eller någon annan modell med ADC...
Användarvisningsbild
tusse
Inlägg: 1364
Blev medlem: 19 augusti 2003, 21:56:17
Ort: Järfälla

Inlägg av tusse »

Det vor ju en bra lösning med 16F88 eller liknande, men det finns ju en comparator och en spännings referens i 628 an, vadför skulle man inte kunna använda dom?
Det skulle kunna fungera om jag kunde läsa av ett tröskelvärde på +0,6 volt och bara flagga av det på något vis.
Användarvisningsbild
Marta
EF Sponsor
Inlägg: 7487
Blev medlem: 30 mars 2005, 01:19:59
Ort: Landskrona
Kontakt:

Inlägg av Marta »

Komparatorns spänningsreferens är så grov att det inte duger till att göra en SA i mjukvara. Tror inte ens Du får 5 bitars upplösning på det sättet. Är det bara til/från vid en viss spämning Du vill ha så kan Du givetvis använda komparatorn. Välj en referensspänning om passar, så hög som möjligt med tanke på insignalen för minimum störningrar, och skala insignalen med en spänningsdelare. Tänk på att 5V in inte får överskridas.
Användarvisningsbild
tusse
Inlägg: 1364
Blev medlem: 19 augusti 2003, 21:56:17
Ort: Järfälla

Inlägg av tusse »

Fem bitar (31) nivåer skulle räcka mer än väl. En Till/från funtion skulle fungera men hur gör man? Det rör sig om 0 till+1 Volt där jag vill ha en variabel som indikerar 0,6 volt.
H.O
Inlägg: 5919
Blev medlem: 19 mars 2007, 10:11:27
Ort: Ronneby

Inlägg av H.O »

Hej,
Ett alternativ är att använda CCP-modulen i PWM-mode och sedan "svepa" från 0 till 100%, lågpassfiltrera och köra in på komparatorns ena ingång.

Typ:
i var byte
For i = 0 o 255
HPWM 1, i
Pause 5
If myComparator = 1 then
yadda yadda
Endif
Next i

/H.O
sodjan
EF Sponsor
Inlägg: 43251
Blev medlem: 10 maj 2005, 16:29:20
Ort: Söderköping

Inlägg av sodjan »

> En Till/från funtion skulle fungera men hur gör man?

Hur man gör *vadå* ?
Hur du hanterar komparatorn står i databladet.
Vad utöver det är det du undrar över ?
Den externa kopplingen ?
Eller är det kanske något i databladet som är oklart ?
Och i så fall, *vad* är oklart ?

Väldigt svårt att svara när man inte vet vad problemet är...
Användarvisningsbild
vfr
EF Sponsor
Inlägg: 3515
Blev medlem: 31 mars 2005, 17:55:45
Ort: Kungsbacka

Inlägg av vfr »

Om jag inte minns helt fel sedan jag använde komparatorn i 628:an, så har spänningsreferensen till komparatorn 16 steg. Matar man den då med 5V så väljer du ut en lämplig mellannivå av dom 16 där du vill ha omslagsnivån. Denna skall sedan in på en av komparatorerna tillsammans med den signal du vill jämföra. Titta i databladet på olika uppsättningar av komparatorerna tillsammans med referensen.

Vill du sedan ha flera olika jämförelsenivåer, så får man manuellt byta jämförelsevärde i referenskedjan mellan jämförelserna.
Användarvisningsbild
tusse
Inlägg: 1364
Blev medlem: 19 augusti 2003, 21:56:17
Ort: Järfälla

Inlägg av tusse »

Sodjan>>"Och i så fall, *vad* är oklart ?" Det är på engelska.
Användarvisningsbild
Icecap
Inlägg: 26659
Blev medlem: 10 januari 2005, 14:52:15
Ort: Starup (Haderslev), Danmark

Inlägg av Icecap »

Det är lite elakt att säga men ändå: engelsk är ett måste i datorvärlden.
Användarvisningsbild
Micke_s
EF Sponsor
Inlägg: 6741
Blev medlem: 15 december 2005, 21:31:34
Ort: Malmö

Inlägg av Micke_s »

Japanska kan man klara sig långt på också :P
(kan ej själv)
Användarvisningsbild
tusse
Inlägg: 1364
Blev medlem: 19 augusti 2003, 21:56:17
Ort: Järfälla

Inlägg av tusse »

Så var det inte när jag gick i yrkesskolan för 35 år sedan. Brukar få så bra hjälp här så att börja plugga engelska känns väldigt långt bort.
sodjan
EF Sponsor
Inlägg: 43251
Blev medlem: 10 maj 2005, 16:29:20
Ort: Söderköping

Inlägg av sodjan »

> Sodjan>>"Och i så fall, *vad* är oklart ?" Det är på engelska.

Jo, *det* vet jag... :-) :-)

Menar du att det är *så* oklart att det inte ens går att
peka på något speciellt ?

Men, den engelska som förekommer i datablad för (t.ex) PIC
är ju endå en ganska begränsad del av engelskan, det är ju
knappast något skönlitterärt verk direkt. Alla tekniska uttryck
används ju i princip rakt av även i "teknisk svenska".

Skit samma igentligen, det är helt upp till dig att bjuda till
lite om du vill ha hjälp...

Hm, jag får kanske damma av min gamla idé om en datablads
"walk-through" där jag tänkt mig en genomgång av ett typiskt
datablad kapitel för kapitel med förklaring av tekniska termer
och andra delar som många vanligtsvis fastnar på. Kanske vore
bättre använd tid än att sita här på forumet... :-)
Användarvisningsbild
tusse
Inlägg: 1364
Blev medlem: 19 augusti 2003, 21:56:17
Ort: Järfälla

Inlägg av tusse »

Låter som en bra idé. Det är ofta svårt är läs databladet och det är nog inte bara jag som tycker mycket är svårt att förstå, inte bara språket.

Om vi återgår till frågan, vet inte om jag vågar men, så kan jag säga att om jag fattat rätt så ska CMCON sättas 01001010 Där bit 0-2 talar om att det är den interna ref jag ska använda, bit tre port A3, bit 6 komparator talar om villkoren.

VRCON 10100010 Bit 0-3 talar om att det är ca 0,6 volt, bit 6 att jag inte vill ha det ut på RA2 och bit 7 är jag osäker på ,men den borde vara på..

Om jag nu fattat rätt så ska det på port A.3 sättas en flagga i kretsen när jag överskrider 0,6 vol. frågan är hur jag hittar den.
v-g
EF Sponsor
Inlägg: 7875
Blev medlem: 25 november 2005, 23:47:53
Ort: Kramforce

Inlägg av v-g »

Du har lite fel angående registren:
CMCON: Bit<7:6> är Svaren du får från komparatorerna. Anser för övrigt att du om du bara skall ha ETT input bör köra BIT 2:0 som "101" Då använder du bara en av komparatorerna(nummer 2).

VRCON: Om du kör på 5v så får du c:a 0,417 volt med den inställningen, "11" skulle ge 0,625 volt. Se bifogad tabell nedan.
BIT 7 är ON för hela modulen, rätt viktig :wink:
BIT 6 är On för output på pinne RA2 (kan vara smidigt om man vill mäta att man har rätt nivå med multimeter)

"Svaret" du få från komparatorn kommer i CMCON<7:6> Detta såklart efter Response time är avklarat (gäller vid byte av Vref)

Glöm ej heller att TRISB måste vara rätt konfigurerat.

Bild
Skriv svar