dB Mätare V1 (bilder)
Hej igen!
Nu har jag haft tid att testa lite algoritmer som ska behandla datan från adcn.
Jag beslöt mig för att använda en PIC18F452 istället för megaåttan då den (eller iaf i crownhill basic) kan behandla FLOATtal.
Det visade sig att (efter timmar och åter timmar av debuggande) man måste använda FLOAT för att
få "riktiga" svar, när man använder WORD får man bara rappakalja..
Klockar man upp 452an i 40MHz går det så fort att man utan problem kan lägga till lite finesser i framtiden.
Nu tar det <15ms för att skriva dB talet och rita en bar.
Men, om någon kan skriva om följande till ASM för en atmega8 skulle jag bli jätte glad!
(jag har utelämnat koden för baren och alla declare m,m)
Detta verkar funka, men jag är öppen för förslag och knep för att göra det effektivare.
När inspänningen är 2Vdc på adcn (vilket motsvarar ett tryck på 2Pa och 20 mV ut från micken (peak sum*1.41))
står det 100.00dB (lagrat i variabeln SUM)
Går detta att få in i en ATmega?
Isf hur?
Och hur programerar man en 18f452?
Jag har en gamal ISP-PRO och den stödjer den (står d iaf).
/Hampus
EDIT: Av någon anledning (troligtvis kaffe) vart d två inlägg av ett, sorry..
Nu har jag haft tid att testa lite algoritmer som ska behandla datan från adcn.
Jag beslöt mig för att använda en PIC18F452 istället för megaåttan då den (eller iaf i crownhill basic) kan behandla FLOATtal.
Det visade sig att (efter timmar och åter timmar av debuggande) man måste använda FLOAT för att
få "riktiga" svar, när man använder WORD får man bara rappakalja..
Klockar man upp 452an i 40MHz går det så fort att man utan problem kan lägga till lite finesser i framtiden.
Nu tar det <15ms för att skriva dB talet och rita en bar.
Men, om någon kan skriva om följande till ASM för en atmega8 skulle jag bli jätte glad!
(jag har utelämnat koden för baren och alla declare m,m)
Kod: Markera allt
DIM ADCVAL AS WORD
DIM TEMP1 AS WORD
DIM TEMP2 AS FLOAT
DIM TEMP3 AS FLOAT
DIM VOLTS AS FLOAT
DIM SUM AS FLOAT
Main:
ADCVAL = ADCIN 0
TEMP1 = 489 *(ADCVAL / 10)
VOLTS = TEMP1 / 10000
TEMP3 = VOLTS / 1000
TEMP2 = TEMP3 * (100/0.000002)
SUM = 20 * LOG10 TEMP2
När inspänningen är 2Vdc på adcn (vilket motsvarar ett tryck på 2Pa och 20 mV ut från micken (peak sum*1.41))
står det 100.00dB (lagrat i variabeln SUM)
Går detta att få in i en ATmega?
Isf hur?
Och hur programerar man en 18f452?
Jag har en gamal ISP-PRO och den stödjer den (står d iaf).
/Hampus
EDIT: Av någon anledning (troligtvis kaffe) vart d två inlägg av ett, sorry..
Senast redigerad av cosmox 23 augusti 2004, 15:49:16, redigerad totalt 1 gång.
-
- Inlägg: 2360
- Blev medlem: 16 september 2003, 17:18:13
- Ort: Dubai, United Arab Emirates
- Kontakt:
Tror inte att det kommer att gå så abnormt mycket snabbare i assembler med tanke på att man kommer att ha ungefär samma kod i dom libraries som används för alla flyttalsberäkningarna i asm-koden som i basicen.
Har du däremot en loop som ska utföra ett fåtal instruktioner ett antal 10000 eller 100000 gånger så är det kanske dags att fundera på assembler.
Har du däremot en loop som ska utföra ett fåtal instruktioner ett antal 10000 eller 100000 gånger så är det kanske dags att fundera på assembler.
>> matseng
Han menade nog att översätta från PIC-assembler (eller basic) till AVR-assembler för att kunna använda float-variabler. Om det nu är så stor skillnad? Någon enstaka instruktions om skiljer eller?
>> cosmox
Glöm inte att en AVR på 16MHz gör 60% fler beräkningar än en PIC på 40MHz under samma tid. Så välj inte PICen för hastigheten skull...
"gammal ISP-PRO"? Finns det äldre versioner (hårdvarumässigt?) Jag har också en, och den ska ju stödja PIC18F452, har dok inte provat själv, ännu...
Han menade nog att översätta från PIC-assembler (eller basic) till AVR-assembler för att kunna använda float-variabler. Om det nu är så stor skillnad? Någon enstaka instruktions om skiljer eller?
>> cosmox
Glöm inte att en AVR på 16MHz gör 60% fler beräkningar än en PIC på 40MHz under samma tid. Så välj inte PICen för hastigheten skull...
"gammal ISP-PRO"? Finns det äldre versioner (hårdvarumässigt?) Jag har också en, och den ska ju stödja PIC18F452, har dok inte provat själv, ännu...
Tillbaka igen!
Jag har varit i norge och jobbat ett tag nu så det har gått lite segt med projekten.
Är tebax nu iaf och har fortsatt lite med mätaren.
Jag har försökt prova en 18F458:a som jag fick av en kompis, det tråkiga
är bara att jag inte lyckas programera den
Jag använder (som skrivet) en ISP-PRO och har gjort en fin liten sladd till den.
Nerladdnings programmet klagar över LVP signalen och att den inte känner igen chippet.
Jag läste i databladet att LVP=1 från fabriken.
Kan det ha med det att göra?
Jag har provat o petat dit SDA (LVP) på PB5 men d funkar ju inte! :-x
Någon som har nån idé om vad det kan vara för strul?
/Hampus
Jag har varit i norge och jobbat ett tag nu så det har gått lite segt med projekten.
Är tebax nu iaf och har fortsatt lite med mätaren.
Jag har försökt prova en 18F458:a som jag fick av en kompis, det tråkiga
är bara att jag inte lyckas programera den
Jag använder (som skrivet) en ISP-PRO och har gjort en fin liten sladd till den.
Nerladdnings programmet klagar över LVP signalen och att den inte känner igen chippet.
Jag läste i databladet att LVP=1 från fabriken.
Kan det ha med det att göra?
Jag har provat o petat dit SDA (LVP) på PB5 men d funkar ju inte! :-x
Någon som har nån idé om vad det kan vara för strul?
/Hampus
-
- Inlägg: 3662
- Blev medlem: 11 september 2004, 09:30:42
- Ort: gbg
- Kontakt:
varför är bilderna röda X?
Kom på det. Körde med ett HTTP-GET program och den sa att den anslöt till nån FTP. Sedan sa den "wrong password". Kollade sedan i bildlänken och mycket riktigt så var ett användarnamn och lösenord inskrivet i själva länken.Det innebär att någon kan öppna bildlänken genom att högerklicka på bilden och välja egenskaper. Sedan kopiera allt utom själva bildfilen. sedan kan dom bara logga in på din FTP och göra vad dom vill. Eftersom lösenordet finns i själva länken till bilderna. Tur att det var ett felaktigt lösenord.
Den rätta adressen till comhems hemsidetjänst utan att avslöja lösenordet är detta:
http://web.comhem.se/~u70411187/
Ex bild 1: http://web.comhem.se/~u70411187/schema.jpg
Nu lägger jag upp bilderna korrekt här på forumet.
Kom på det. Körde med ett HTTP-GET program och den sa att den anslöt till nån FTP. Sedan sa den "wrong password". Kollade sedan i bildlänken och mycket riktigt så var ett användarnamn och lösenord inskrivet i själva länken.Det innebär att någon kan öppna bildlänken genom att högerklicka på bilden och välja egenskaper. Sedan kopiera allt utom själva bildfilen. sedan kan dom bara logga in på din FTP och göra vad dom vill. Eftersom lösenordet finns i själva länken till bilderna. Tur att det var ett felaktigt lösenord.
Den rätta adressen till comhems hemsidetjänst utan att avslöja lösenordet är detta:
http://web.comhem.se/~u70411187/
Ex bild 1: http://web.comhem.se/~u70411187/schema.jpg
Nu lägger jag upp bilderna korrekt här på forumet.
Såja, nu har jag äntligen fått upp uC delen på brädan.
Allt funkar som det ska (fantastiskt) och värdena in i ADCn stämmer överens med det jag eftersträvat.
Skalan är logaritmisk och 100.02dB motsvarar 2Vdc in i ADCn.
Bild 1
Bild 2
I lyckoruset började jag sätta ihop likrilktarkretsen och då gick det inte lika bra.
Det vägrar helt enkelt att funka som det ska.
Jag fattar inte vad d e för fel..
Jag har kopplat om det flera gånger nu och provat och byta kretsar men nada...
Jag är öppen för förslag eller någon annan likriktar krets som skulle kunna passa här.
/Hampus
EDIT: Om någon är sugen så får ni gärna förklara varför jag inte kan länka bilderna.
Allt funkar som det ska (fantastiskt) och värdena in i ADCn stämmer överens med det jag eftersträvat.
Skalan är logaritmisk och 100.02dB motsvarar 2Vdc in i ADCn.
Bild 1
Bild 2
I lyckoruset började jag sätta ihop likrilktarkretsen och då gick det inte lika bra.
Det vägrar helt enkelt att funka som det ska.
Jag fattar inte vad d e för fel..
Jag har kopplat om det flera gånger nu och provat och byta kretsar men nada...
Jag är öppen för förslag eller någon annan likriktar krets som skulle kunna passa här.
/Hampus
EDIT: Om någon är sugen så får ni gärna förklara varför jag inte kan länka bilderna.