T O P I C R E V I E W |
Uniper |
Posted - 2010/02/20 : 13:43:08 Efter att ha sett Thermocrons bygge (http://www.hififorum.nu/forum/topic.asp?TOPIC_ID=78732) kände jag att det var dags att lägga ut en tråd och visa upp mitt eget försteg som också bygger på PGA2310. Jag har använt tre PGA2310:or för att få totalt sex kanaler. Totalt finns fem stereo-ingångar, och en 5.1-ingång. Alla kanaler går att justera separat, och inställningen för varje kanal sparas i eeprom. Volym och ingång kan ändras via fjärrkontroll, eller med ratten på fronten.
Så här ser det ut:
Med locket av:
Styrkortet består mest av en AVR Mega88. Den är kopplad till volymkontrollkortet, ingångsväljarkortet, lcd-displayen, ir-mottagaren och rotationssensorn. Styrprogrammet är skrivet i C. Koden är ganska primitiv och bristfälligt kommenterad, men om någon är intresserad delar jag gärna med mig.
Här syns volymkortet och ingångsväljaren.
Lcd-displayen. En kanske inte helt nödvändig funktion som jag ändå tyckte var skoj att ha är att bakgrundsbelysningen släcks efter en stund om man inte gör någonting.
Jag har använt försteget dagligen i drygt ett halvår, efter att det blev tillräckligt färdigt för att användas. Det som är kvar att göra är att lägga till reläer för att tysta utgångarna vid av- och påslag. Och styrprogrammet har ett par mindre skönhetsfel som också borde redas ut. |
9 L A T E S T R E P L I E S (Newest First) |
Uniper |
Posted - 2010/02/24 : 10:06:33 quote: Vad är det för relä du använt?
Omron G5V-2 5V-modellen. Finns hos ELFA med nr 37-057-04, beskrivning: "Relä med guldpläterade tvillingkontakter speciellt lämpat för lågnivåapplikationer inom telekommunikation, audio/video, mätteknik m m."
|
rogerjons |
Posted - 2010/02/23 : 22:59:46 Vad är det för relä du använt?
/Roger |
Uniper |
Posted - 2010/02/21 : 17:54:53 Här är ett schema på ingångsväljaren. De två chippen är ett 74HCT238 "3-to-8 line decoder/demultiplexer", och ett ULN2003A "7-Channel High-Current Darlington Array". Tack vare demultiplexern räcker tre ledningar för att välja mellan de sex ingångarna. Darlingtondrivaren är ett smidigt alternativ till att använda diskreta transistorer.
IR-mottagaren jag ar använt är en IRM8608S (elfa nr. 75-202-81). Den är avstämd till 38kHz och fungerar utmärkt med alla fjärrkontroller jag har provat. Här är en kodsnutt för att avkoda sony-koder:
#define START_MIN 10 /* 128us X 16 = 2048us min start bit */
#define START_MAX 33 /* 128us X 33 = 4224us max start bit */
#define BITTIME 7 /* 128us X 7 = 896us 700us = 0 1200us = 1 */
#define ABORTTIME 50 /* 128us X 50 = 6400us max väntetid */
#define WORDSPACING 2 /* 128us X 256 X 2 = 65ms max mellan pulståg */
// Polla IR-mottagaren
if (IRSENSOR==0){
delay(4);
ir_code=0;
endcode=0;
i=0;
while ( (IRSENSOR==0) && (TCNT0 < ABORTTIME) );
if ( (TCNT0 > START_MIN) && (TCNT0 < START_MAX) ) {
while (endcode==0) { // Läs in bit 0-11
delay(4);
while ( (IRSENSOR!=0) && (TCNT0 < ABORTTIME) );
if (TCNT0 >= ABORTTIME)
endcode=1;
delay(4);
while ( (IRSENSOR==0) && (TCNT0 < ABORTTIME) );
if ((TCNT0 > BITTIME) && (TCNT0 < ABORTTIME)) {
ir_code+=1<<i;
}
if (TCNT0 >= ABORTTIME)
endcode=1;
i++;
}
}
if (ir_code == last_code) {
command_count++;
ir_command(ir_code,command_count);
}
else {
command_count = 0;
}
last_code=ir_code;
TCNT1H=0;
TCNT1L=0;
delay(100);
}
}
quote: I basic'en brukade jag sätta upp en periodisk interupt(eller beroende på vad det ska vara till) som triggar olika saker vid olika tid som jag sedan kollar i main loopen.
Det var en riktigt fiffig lösning! Nu har jag löst allt med timers som pollas i huvudloopen, men jag hade nog kunnat spara ganska mycket huvudbry. Jag har varit inne på att skriva om hela rasket och använda interrupts istället, men det har bara aldrig blivit av. |
rogerjons |
Posted - 2010/02/20 : 23:54:03 Väldigt snyggt bygge! Hur har du löst ingångsväljaren? Ser att det verkar sitta reläer och någon IC på kortet...
Edit: Stavfel. |
Thermochron |
Posted - 2010/02/20 : 22:16:37 Några frågor om IR-styrningen. Först måste jag ju köpa en mottagare. Ska jag köpa en som är avstämd för 36, 38 eller 40kHz? Jag antar att om man köper en multifjärr så kan man genom att välja olika apparater få fjärren att modulera IR-ljuset med olika frekvens, eller har alla apparater som stödjer sonys protokoll (enbart sonyapparater?) samma modulationsfrekvens? |
nikwal |
Posted - 2010/02/20 : 20:42:01 kul att se att folk använder atmega, såna har jag använt i andra sammanhang i en hög med år. har använt olika typer av basic förr om åren men hoppade över till codevision avr härom året, jag har lite 4bitars lcd rutiner som jag skrev då om det är intressant. Dammsög hela internet men hittade inga vettiga så jag fick göra dom själv. Skrev en mappningsdator på sådär 400+ rader till bilen, så lite koll har jag väl på interrupter och sånt även om det var nåt år sen senast kanske är nåt jag kan hjälpa med om nån undrar nåt om det. I basic'en brukade jag sätta upp en periodisk interupt(eller beroende på vad det ska vara till) som triggar olika saker vid olika tid som jag sedan kollar i main loopen. i mappningsdatorn så konstaterade jag att det faktiskt går att simulera en helt ok extra 16bitars timer om man offrar nästan halva cpukraften hehe
grävde rätt på koden jag skrev i från laptoppen.. http://hem.bredband.net/nikwal/lcd4port.inc
|
Uniper |
Posted - 2010/02/20 : 17:40:58 Tackar! Fast snyggare vete katten, dubbelsidiga kort och ytmonterat plockar hem rätt många stilpoäng..
Surroundljudet tar jag ifrån datorn som har ett sexkanaligt ljudkort. Sen har jag separata slutsteg till de olika högtalarna.
Min kod är väldigt primitiv, bara en stor loop där alla ingångar pollas lite lagom ofta. Har du gjort någonting kul med tex interrupts istället? EEprom-koden var väldigt enkel att skriva. Jag kör med WinAVR, och där följer det med färdiga funktioner för att läsa och skriva eeprom. Jag sitter vid fel dator så jag har inte koden nu, men jag tror att det räckte att inkludera eeprom.h. Och lcd-koden orkade jag inte skriva själv. Men det fanns gott om färdiga lösningar att hitta ute på nätet. Jag kör förresten 4-bit till lcd:n. |
Thermochron |
Posted - 2010/02/20 : 15:37:00 Fan Uniper, deppigt :-) Här bygger man en förförstärkare, bara för att upptäcka att någon annan gjort en likadan fast snyggare... Klart kul att se någon som gjort ungefär samma sak som en själv, så att man kan jämföra lösningar. Vi får diskutera kod framöver du och jag. Min IR och EEprom-kod kvarstår att göra, och jag har inte gjort det möjligt att styra bakgrundsbelysningen(rent hårdvarumässigt). Inte heller jag har några reläer för utgångarna.
Den ingång du använder för hembio/surround, var får du ljudet från? Vilken källa kör du? Jag har noll koll på hembio, men de flesta 5.1-källor jag sett är integrerade "receivers".
|
pix |
Posted - 2010/02/20 : 13:58:31 ojoj Snyggt! /Pix¨
|