lauantai 20. huhtikuuta 2013

Class-D 2x25W/1x50W vahvistin, MAX9709

Tämä sai alkunsa joskus vuosi sitten kun selasin maximin sivuja ja mietin mitä sitä vois tehdä.
Maxim IC on siitä kiva valmistaja (löytyy tosin muitakin) että se tarjoaa komponenteistaan ilmaisia samppeleita myös opiskelioille ja harrastajille. Ja kaikki tämä vielä kotiovelle kannettuna muutamassa päivässä.

Laitoin sieltä sitten mm. MAX9709 piirin tilaukseen ja muutaman päivän päästä se sitten saapui oikeen vakuumiin pakattuna. No se jäi laatikkoon odottelemaan koska piiri oli ensinnäkin niin pieni TQFN-56 -koteloinen eli vain 8x8 mm eikä siinä ollut varsinaisia jalkoja vaan piirin reunassa vain juotospinnat ja pohjassa vielä therma-pad.
Lisäksi en löytänyt valmista komponenttikoteloa sille käyttämääni Eagle -piirilevyn suunnitteluohjelmaan joka oli se kynnys etten piirtänyt levyä tuolle sillä hetkellä.

Alkuvuodesta lueskelin ruuvipenkistä "alle euron piirilevyt" -artikkelin ja mieleen palasi tuo vahvistinpiiri. Olen syövyttänyt myös itse useita piirilevyjä, mutta tuon piirin vaatimaan tarkkuuteen en kyllä läheskään pysty itse joten vaihtoehto oli tilata tehdastekoiset. Rupesin uudestaan suunnittelemaan tuota ja sain tehtyä itse komponenttipaketin eagleen joka osoittautui helpommaksi kuin olin joskus kuvitellut/yrittänyt.
Levyn piirrossa kului aikaa jokunen viikko että se olisi kerralla hyvä kun kerran levyt oikeen tilataan. Tuon suunnitteluaika pidentyi vielä muutamalla viikolla justiin päälle iskevän kiinalaisten uudenvuoden takia.

Lopuksi niittenkin hupi loppui ja sain levyt tilattua ja kolmen viikon odotuksella ne lopuksi saapuivat.



Nippu komeita piirilevyjä
Ei muutakun tarkkaa kättä ja jännityksellä odottaen miten piirin juotos onnistuu. Onneksi satun olemaan alala töissä ja tilojen "lainaaminen" omalla ajalla sopii niin on hyvät välineet käytössä.
Siispä mikroskoopin alla tarkkaa työskentelyä ja asettelin yksitellen jokaiselle piirin pädille sopivasti juotospastaa ja thermal-padille vähän reilummin. Sitten piirin asettelu oikealle kohdalle ja levy esilämmitykseen. Reilu kolme minuuttia ja sitten leisterillä (pieni kuumailmapuhallin) varovasti tohottaen ~minuutti ja juotos valmis. Vielä muiden komponenttien asettelu ja juottaminen ja levy on valmis.



Valmis yläpuoli
Valmis alapuoli

Pikainen ensitesti ja aivan mykkä. Lyhyt tarkistus ja olin unohtanut piirtää shutdown- ja mute -pinneille vedot. Pieni hyppylanka paikalleen ja johan rupesi ääntä lähtemään. Tässä vaiheessa oli onnistunut olo.
Hyppylankakorjaus

Myöhemmin kotona enemmän koitettuna tuo toimii oikein hyvin. Piiri ei edes kuumene "normaali" äänenvoimakkuudella eikä siten välttämättä tarvi kovinkaan suurta jäähdytystä.
Aiemmin olen tehnyt yhden vahvistimen TDA1557-piirillä ja siitä tuli käyttämäni virtalähteen hurinoita läpi, mutta tämän on hiiren hiljainen ja olen kyllä enemmän kuin tyytyväinen miten onnistunut tästä tuli.

Nyt suunnittelupenkillä on sitten noiden kotelointiratkaisut ja loppusijoituspaikat, mitä sitten keksiikään.


PS. Skemat täältä jos kiinnostaa.

perjantai 19. huhtikuuta 2013

XBMC:n asentaminen

XBMC:n asenteamisesta on hyvät ohjeet täälä josta myös löytyy tarvittavat valmiiksi käännetyt paketit. Edit. Koska kyseinen sivu on kadonnut syövereihin, tästä viimeisimmät paketit mitkä itselläni on (v.12.1).
Tässä kuitenkin samat ohjeet vielä.
- Lataa ensin neljä pakettia em. osoitteesta (xbmc.deb, libcec.deb, taglib.deb, libshairport.deb) ja laita vaikka usb-tikulle tai siirrä verkon kautta raspiin.


- Jos päivität edellisen version uudempaan niin poista ensin vanha.
    $ sudo dpkg -r xbmc
    $ sudo dpkg -r libcec


- Asennetaan tarvittavat kirjastot ja ladatut paketit.
    $ sudo apt-get update
    $ sudo apt-get install libplist1 libmicrohttpd10 libtinyxml2.6.2 libyajl2 libssh-4 libmysqlclient18 liblzo2-2 libfribidi0 libcurl3-gnutls liblockdev1 libpcrecpp0

    $ cd /kansio/mihin/laitoit/paketit
    $ sudo dpkg -i libcec_2.1.0-1_armhf.deb
    $ sudo dpkg -i taglib_20130324-1_armhf.deb
    $ sudo dpkg -i libshairport_1-1202030-1_armhf.deb
    $ sudo dpkg -i xbmc_12.1-1_armhf.deb

    $ cd /usr/lib/
    // Jos haluat käyttää CEC-ohjausta
    $ sudo ln -s /usr/local/lib/libcec.so.2 ./libcec.so.2
    // Jos haluat käyttää airtunesia tai airplayta
    $ sudo ln -s /usr/local/lib/libshairport.so.0 ./libshairport.so.0


** 12.1 versiossa cpu käyttö on jostain syystä hieman korkea niin seuraavalla se pitäisi hieman tipahtaa.

- Tee kansioon .xbmc/userdata/ uusi tiedosto nimeltä "advancedsettings.xml"
    $ nano .xbmc/userdata/advancedsettings.xml

- Liitä sinne seuraava teksti ja tallenna.

<advancedsettings>
   <fanartres>540</fanartres>
   <imageres>512</imageres>
   <useddsfanart>false</useddsfanart>
   <lookandfeel>
 <enablerssfeeds>false</enablerssfeeds>
   </lookandfeel>
   <gui>
       <algorithmdirtyregions>3</algorithmdirtyregions>
       <nofliptimeout>0</nofliptimeout>
   </gui>
   <bginfoloadermaxthreads>2</bginfoloadermaxthreads>
</advancedsettings>

Sitten vain käyntiin ja kovaa käyttöä
    $  /usr/lib/xbmc/xbmc.bin


Edit 03/2015: Ladattu paketit google driveen jakoon.

sunnuntai 14. huhtikuuta 2013

Verkkojaot toimimaan

Ohje on tehty raspille, mutta toimii myös työpöytälinuxille.

Asennetaan samba
    $ sudo apt-get install samba samba-common-bin


Asetetaan salasana samballe
    $ sudo smbpasswd -a pi


Muokataan asetustiedostoa
    $ sudo nano /etc/samba/smb.conf


Korvaa tiedoston sisältö seuraavalla.
Vaihda workgroup samaksi mitä käytät tietokoneella, windows 7:ssa taitaa olla vakiona "home".
Netbios name määrittää koneen nimen joka näkyy verkossa.
Server string on vain vaihtoehtoinen lisätietokenttä ko. koneesta.
Tiedoston lopussa taas sitten määritellään mitä jaetaan. Tässä on jaossa SD-muistikortti ja usb-kiintolevy.



#======================= Global Settings =======================
[global]
workgroup = koto
netbios name = raspberrypi
server string = Rpi multi-usage server

dns proxy = no

#### Debugging/Accounting ####
log file = /var/log/samba/log.%m
max log size = 1000
syslog = 0
panic action = /usr/share/samba/panic-action %d

####### Authentication #######
security = user
map to guest = pi

# Some performance tuning
socket_options = TCP_NODELAY SO_RCVBUF=65536 SO_SNDBUF=65536


#======================= Share Definitions =======================
[Raspi-HDD]
comment = Rpi USB-HDD
path = /media/usbhdd
guest ok = yes
guest account = ftp
browseable = yes
read only = no
create mask = 0777
directory mask = 0777
writeable = yes
admin users = pi

[Rpi-SDcard]
comment = Rpi SD-kortti
path = /
guest ok = yes
guest account = ftp
browseable = yes
read only = no
create mask = 0777
directory mask = 0777
writeable = yes
admin users = pi

Käynnistetään samba uudelleen
    $ sudo /etc/init.d/samba restart



-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-


Jos halutaan liittä windows/samba verkkojako raspiin, se onnistuu seuraavasti.

Tehdään kansio johon jako liitetään
    $ sudo mkdir -p /media/musat


Asennetaan cifs-"työkalu(?)"
    $ sudo apt-get install cifs-utils


Liitetään jako komentoriviltä
    $ sudo mount -t cifs //192.168.0.21 -o username=käyttäjänimi,password=salasana /media/musat


Tai muokataan fstab-tiedostoa jolloin jako liitetään aina automaattisesti käynnistäessä
    $ sudo nano /etc/fstab


Lisätään sinne rivi

//192.168.0.21/Musat    /media/musat    cifs    dir_mode=0777,file_mode=0666,username=käyttäjänimi,password=salasana    0    0

Tuo saadaan käyttöön käynnistämällä raspi uudelleen tai komennolla
    $ sudo mount -a




Huom.
Jos käyttäjänimessäsi on väli, laita sen tilalle "\040", esim. olli\040lehtonen


Edit 19.4: pikkulisäys

USB-kiintolevyn liittäminen

Tehdään hakemisto minne kiintolevy liitetään
    $ sudo mkdir -p /media/usbhdd

Jos levy on ntfs-muodossa, asennetaan ensin tiedostojärjestelmäajuri
    $ sudo apt-get install ntfs-3g

Jos levy on ainut kiinni oleva on sen "levytunnus" todennäköisesti sda1, mutta voit katsoa mitä levyjä koneesta löytyy
    $ ls -al /dev/sd*

Jos kiintolevy halutaan liittää vain väliaikaisesti voi sen tehdä komentoriviltä
    $ sudo mount -o uid=pi,gid=pi /dev/sda1 /media/usbhdd

Mutta jos levy on aina kiinni on järkevämpi muokataan fstab-tiedostoa, jolloin levy liitetään aina käynnistäessä
    $ sudo nano /etc/fstab


Lisätään rivi (tässä kiintolevy on ntfs formaatissa. FAT levylle vaihda ntfs-3g -> vfat)
/dev/sda1    /media/usbhdd    ntfs-3g    auto,hotplug,defaults    0    0

Jonka jälkeen fstab tiedostossa olevat levyt voidaan liittää ilman boottausta komennolla
    $ sudo mount -a
 

Jos levy halutaan ottaa irti, se pitäisi ensin irroittaa järjestelmästä ettei sillä ole kesken mitään.
    $ sudo umount /dev/sda1

perjantai 12. huhtikuuta 2013

Kiinteän IP:n asettaminen

Jos raspia meinaa käyttää muuhunkin kuin mediatoistoon, kuten tiedosto-/web-palvelimena, kannattaa sille asettaa kiinteä ip-osoite. Tai vaikka vaan käyttäisi kotiverkossa ssh:n yli, on helpompaa kun tietää aina mikä raspin IP on.

Muokataan verkkoasetustiedostoa:
    $ sudo nano /etc/network/interfaces

Lisää/muokkaa tiedostoon seuraavat rivit.

auto lo
iface lo inet loopback

auto eth0
# Tämän rivin dhcp pitää vaihtaa -> static
iface eth0 inet static

# Raspin IP-osoite
address 192.168.0.60 
# Oletusyhdyskäytävä, reititin johon raspi on liitetty
gateway 192.168.0.254
# Aliverkon peite, käytännössä aina tämä
netmask 255.255.255.0
# Verkon "perhe", tästä ei tietoa, ei ilmeisesti pakollinen, mutta oon laittanu
network 192.168.0.0
broadcast 192.168.0.255
Käynnistetään verkko uudestaan
    $ sudo /etc/init.d/networking restart

Ja sitten vielä koneen buuttaus
    $ sudo reboot

tiistai 9. huhtikuuta 2013

Raspberry Pi käyttökuntoon

Sitten asiaa, itse olen käyttänyt Rasbian Wheezy:ä ja asentanut sen ympärille kaikki tarvittavat. Kun tuon on muistikortille saanut laitettua niin ensimmäisellä käynnistyskerralla pitäisi aueta raspi-config -ohjelma millä voi muutamat asetukset tehdä helpommin.

- Expand rootfs ottaa koko muistikortin tilan käyttöön jos sen on asentanut isommalle kortille kuin millä se on tehty (olikohan 2GB).

- Change pass vaihtaa nimensä mukaisesti salasanan pi-käyttäjälle.
- Change locale -valikosta olen valinnut en_GB.UTF-8 UTF-8 sekä fi_FI.UTF-8 UTF-8 ja oletuskieleksi suomen.
- Change timezone:sta vaihto suomen aikavyöhykkeelle.
- Memory split jakaa ARM- ja GPU-prosessorin välillä muistin. Itse olen laittanut 128 kun pyöritän myös XMBCtä. Jos mitään graafista ei ole ajatus pyörittää voi tämän laittaa minimiin, eli ARM:lle lähes kaikki.
- Ssh on vakiona päällä.

Kun tästä päästään ohi, päivitetään raspin firmware. Saattaa kuulostaa pahalta, mutta "normaalista" firmware päivityksestä poiketen mitään ei asenneta pysyvästi laitteeseen vaan kaikki on vain muistikortilla joten et pysty hajottamaan tällä konetta vaikka jotain jostain syystä menisi pieleen.
Alkuperäinen ohje ja ohjelma löytyy osoitteesta Hexxeh rpi-update.

Eli asenneetaan ensin "git":
    $ sudo apt-get install git-core

Ladataan päivitysohjelma:
    $ sudo wget http://goo.gl/1BOfJ -O /usr/bin/rpi-update && sudo chmod +x /usr/bin/rpi-update

Asennetaan ca-certifikaatit:
    $ sudo apt-get install ca-certificates

Sitten päivitetään itse firmware:
    $ sudo rpi-update

Tämän jälkeen käynnistetään kone uudelleen.

Päivitetään vielä pakettilähteiden sisältö ja sitten asennetut paketit.
    $ sudo apt-get update && sudo apt-get upgrade

..En tiedä onko normaalia, mutta kerran suoritin upgrade-komennon aikaa myöhemmin kun olin asentanut xbmc:n ym. romppeet niin sen jälkeen xbmc rupes heti takkuamaan. Asensin järjestelmän uudestaan alusta asti enkä sen jälkeen ole ajanut enää upgradea uudestaan tuon "käyttökuntoon" -laiton jälkeen.. 


Tästä on sitten hyvä jatkaa eteenpäin muihin conffauksiin.

maanantai 8. huhtikuuta 2013

Raspberry Pi:n kotiutuminen (flashback)

Kun tähän pieneen tietokoneeseen viime vuonna törmäsin ja aloin siitä kiinnostua oli ensisijainen käyttökohde heti media center. Kuten monia muitankin, myös minua kiinnosti miten tämä selviää HD-materiaalin toistosta ja DTS-äänistä. Silloin en tähän löytänyt hirveän suorasukaisia vastauksia, mutta päädyin kuitenkin siihen uskoon että kyllä ne toimivat.

Tilattua se tuli ja juuri siihen aikoihin tuosta oli tulossa 256MB B-mallin Rev 2.0 jota joutui vielä viikon verran odottamaan. Kun se vihdoin postissa saapui, vaikka tiedossa oli että se on pieni, oli se silti yllätys kuinka "söpön" pieni se oli. Kotona ensimmäisenä asentamaan Rasbmc ja testaamaan mihin se pystyy. Odotusten mukaisesti videot pyöri ja äänet kuului vahvistimesta.

Puolen vuoden käytön jälkeen voin todeta että videot toimii mukisematta 1080p laatuisena bittivirran ollessa keskimäärin jopa 15Mb/s, samalla kun DTS äänet ovat 1,5Mb/s. Täten olen enemmän kuin tyytyväinen ostokseen, vaikka itsellä onkin vain 720p tykki enkä siten fullHD-laatuisia katsele.