Avbruten ADC

PIC, AVR, Arduino, Raspberry Pi, Basic Stamp, PLC mm.
Användarvisningsbild
Swech
EF Sponsor
Inlägg: 4750
Blev medlem: 6 november 2006, 21:43:35
Ort: Munkedal, Sverige (Sweden)
Kontakt:

Re: Avbruten ADC

Inlägg av Swech »

Men för att ge lite av anledningen...

Jag skall göra sisådär fem - sex ADC, två primära och minst tre sekundära, innan ett beslut ska tas. Detta bör ske flera gånger inom 100us.

Om varje ADC tar 10us (plus ställtider etc) så är vi raskt uppe i över 50us, och får således endast in ett beslut inom given tidsram.
Då är svaret givet, du har valt fel processorfamilj.
Välj något som klarar dina krav alternativt revidera kraven.
Att försöka plåga en IC som kostar några tior till att kanske lösa problemet
jämfört med att ta en annan IC som också kostar några tior och som klarar dina uppställda krav.. :humm:

Swech
Användarvisningsbild
lillahuset
Gått bort
Inlägg: 13969
Blev medlem: 3 juli 2008, 08:13:14
Ort: Norrköping

Re: Avbruten ADC

Inlägg av lillahuset »

Sånt kan vara vädigt svårt att fatta. Bevisligen. :badgrin:
Användarvisningsbild
Magnus_K
EF Sponsor
Inlägg: 5854
Blev medlem: 4 januari 2010, 17:53:25
Ort: Skogen mellan Uppsala-Gävle

Re: Avbruten ADC

Inlägg av Magnus_K »

Erik M skrev:Inte som jag kan se direkt, Magnus.
Den har väl samma omvandling som 12F1572, eller vad tänkte du på?
Nej, du har rätt. Jag missförstod frågan.
Kollade i 1840-diagrammet och såg att man kunde snurra processorn med 32 MHz och för 1572 så var det 20MHz som max. Tänkte det var en bra idé att snurra lite snabbare för snabbare konvertering.
Men som sagt, missförstod.

Om du inte redan läst så vill jag ändå tipsa om AN693 - Understanding A/D Converter Performance Specifications och 10-bit A/D Converter for PICmicro MID-RANGE MCU FAMILY som rör intressanta detaljer i ämnet.

Om inte annat så kanske DSP är en väg att gå?

Nu ska jag vara tyst.
Erik M
Inlägg: 1380
Blev medlem: 23 februari 2012, 18:34:39
Ort: Göteborg

Re: Avbruten ADC

Inlägg av Erik M »

Varför vara tyst när man tillför?

Allt som tillför är av godo, även om det inte avhjälper just då.

Att bara peka på vad som skulle kunna vara fel, men vanligen inte är det, det är anledning låta bli säga något. För sådant tillför inte.
Speciellt om man bara pekar, utan att föreslå alternativ som går använda.

Men det har varken du Magnus eller Synesthesia gjort, ni har istället tillfört.
Och det på ett rakt och informativt vis, utan antydningar, oanständigheter, irrelevans eller svammel.
Användarvisningsbild
Andax
Inlägg: 4379
Blev medlem: 4 juli 2005, 23:27:38
Ort: Jönköping

Re: Avbruten ADC

Inlägg av Andax »

Ytterligare en nackdel med att använda en komponent utanför sitt spec område som du vill göra är att även om det funkar när du labbar så kan variationer i temperatur och matningsspänning göra att det inte uppför sig som du tänkt det senare. Då kommer du få fel som är mycket svåra att debugga!
Erik M
Inlägg: 1380
Blev medlem: 23 februari 2012, 18:34:39
Ort: Göteborg

Re: Avbruten ADC

Inlägg av Erik M »

Helt sant.

Janne, ovan om hastighet på omvandling menar du 1.1 miljoner kompletta tio bitars ADC per sekund?
sodjan
EF Sponsor
Inlägg: 43251
Blev medlem: 10 maj 2005, 16:29:20
Ort: Söderköping

Re: Avbruten ADC

Inlägg av sodjan »

Ja.
Det Microchips "part selector" är det angivet som "1100 Ksps" (K samples per second).
Om det var just 10 eller 12 bitar får du kolla, det fanns nog båda...

Men då faller så klart 8-pin kravet...
Användarvisningsbild
Icecap
Inlägg: 26647
Blev medlem: 10 januari 2005, 14:52:15
Ort: Starup (Haderslev), Danmark

Re: Avbruten ADC

Inlägg av Icecap »

Erik M: En omvandling består av två tider:
1: Uppladdningstiden på ingångssteget.
2: Själva omvandlingen.

Du kan korta ner omvandlingstiden (steg 2) men inte uppladdningstiden (steg 1).

Detta känns som ett typisk 80/20 problem som är angripet fel. Alltså för 80% insats/jobb/kostnad får man 20% effekt.
Med en annan vinkel in kan man för 20% insats få 80% effekt och i detta fall är det rimligen säkert att det finns andra µC eller externa A/D-omvandlare som klarar jobbet utan att tulla som en galen på specifikationerna.

Även med ett stopp av omvandlingen kan själva detta att stoppa den på rätt tid kosta µC-tid (timer-interrupt overhead) vilket såklart minskar vinsten i tid som kan uppnås.
Erik M
Inlägg: 1380
Blev medlem: 23 februari 2012, 18:34:39
Ort: Göteborg

Re: Avbruten ADC

Inlägg av Erik M »

OK Janne, du menar TAD om ~100ns & ~10ns.
Det vore onekligen fräckt. Speciellt om TACQ följer samma mönster.

Tack icecap, du gav mig anledning att styra upp hur lång TACQ är.
Det behövdes.
Erik M
Inlägg: 1380
Blev medlem: 23 februari 2012, 18:34:39
Ort: Göteborg

Re: Avbruten ADC

Inlägg av Erik M »

Grabbar, detta har lärt mig en massa nytt och nyttigt.
Stort tack för hjälpen! :tumupp:

Nu tar jag med mig detta och går vidare.
Rick81
Inlägg: 755
Blev medlem: 30 december 2005, 13:07:09

Re: Avbruten ADC

Inlägg av Rick81 »

Om du har krav på snabb grov ADC som körs ofta och sedan köra noggrann ADC mer sällan kan du du göra en "manual ADC" via spännings delare (dvs två motstånd per värde ) på digital GPIO på PIC, tex:
Spänningsdelare >90% av VDD ger digital 1
Spänningsdelare >70% av VDD ger digital 1
Spänningsdelare >30% av VDD ger digital 1
Spänningsdelare >10% av VDD ger digital 1

När du sedan kollar bitarna ser du att spänning är mellan 30 och 70% (om det är intressant värde) så kan du köra PIC ADC för ett noggrannt värde

Fördelen är att du kan göra snabba kollar utan att gå utanför spec på PIC och slipper byta processor. Du kan även köra via interupt så du slipper polla GPIO.

Nackdelen är att du behöver 2 st motstånd per GPIO och måste modda PCB och att det blir dålig noggrannhet. Tror även du behöver en transistor + motstånd eller OP förstärkare för att det ska bli bra så det kanske smidigare att ta någon extern AD till parallel IO omvandlare

Sen vet jag inte om denna lösning är möjlig i din konstruktion eftersom jag inte vet hur spänningen du mäter på ser ut.
Erik M
Inlägg: 1380
Blev medlem: 23 februari 2012, 18:34:39
Ort: Göteborg

Re: Avbruten ADC

Inlägg av Erik M »

En sak står fortfarande som frågetecken - uppladdningstiden.

Är det inte så att ingången står på den nivå som kommer att mätas när porten sedan väl stängs och urladdning och ADC utförs?

Dvs att nödig uppladdningstid endast behöver tas hänsyn till när omställning till AN och ADC och utförande av densamma sker i direkt följd?

Omvänt...

Om jag endast har en port för ADC (inleder och ändrar inte/tar aldrig bort ANSx respektive CHSxx) kommer dess kondensator (i princip) alltid vara på den nivå som skall mätas, när programmet kommer till(baka) till den punkten. Korrekt?
sodjan
EF Sponsor
Inlägg: 43251
Blev medlem: 10 maj 2005, 16:29:20
Ort: Söderköping

Re: Avbruten ADC

Inlägg av sodjan »

Ja, det som databladet specar är ju ett förhållande där inspänningen
kan gå från min till max mellan två mätningar och ändå ge korrekt svar.

Om man vet att inspänningen rör sig långsamt, så kan ju betydligt
kortare tider användas. Men det säger databladet inget om... :-)
Erik M
Inlägg: 1380
Blev medlem: 23 februari 2012, 18:34:39
Ort: Göteborg

Re: Avbruten ADC

Inlägg av Erik M »

Frågan var om kondensatorn håller takten med förändringarna så länge både dess port står som analog och ADC är påslagen och då kan påbörja en ADC direkt.
Användarvisningsbild
Icecap
Inlägg: 26647
Blev medlem: 10 januari 2005, 14:52:15
Ort: Starup (Haderslev), Danmark

Re: Avbruten ADC

Inlägg av Icecap »

Jag skulle vilja rekommendera dig att läsa på om kapacitivt kopplade A/D-omvandlare. De använder kondensatorer istället för motstånd i t.ex. ett SAR, helt enkelt för att kondensatorer är enklare att skapa i kisel.

Detta betyder att en omvandling laddar ut den uppladdning som sker innan omvandlingen! Så laddningstiden kan kanske kortas ner en aning men inte speciellt mycket.

Men testa istället för att undra! Antingen lär du snabbt inse att du är på helt fel väg - eller också hittar du vad du behöver.
Skriv svar