Förförstärkare med PIC MCU styrning

Berätta om dina pågående projekt.
Användarvisningsbild
hyperion
Inlägg: 1306
Blev medlem: 8 maj 2009, 21:19:20
Ort: Nynäshamn

Förförstärkare med PIC MCU styrning

Inlägg av hyperion »

Tänkte skriva lite om mitt förförstärkar-projekt som jag hållit på med ett tag. Tänkte det kunde vara skoj att få lite input från er, kanske nya idéer om funktioner och även se om intresse finns för att gemensamt utveckla och bygga detta projekt.

Har alltid tyckt att det är roligare att göra saker tillsammans med andra och jag kan inte allt så man lär sig alltid något nytt.

Nåväl, here goes:

Jag ville bygga en egen förförstärkare därför att det är kul att göra egna saker, men också för att jag vill ha vissa specifika funktioner som jag inte hittat i färdiga produkter.
Dessutom vill jag inte ha en produkt med en massa funktioner och features som jag aldrig kommer ha användning av, massor med knappar och menyer och en stor fjärrkontroll som också är fullsmetad med onödiga knappar och ful design (oftast)

Så vilka funktioner vill jag då ha?

Volymkontroll med bra "feeling"
Display som visar volym och vilken låt som spelas i Spotify
En fjärrkontroll som kan justera volym, mute, play/pause/previous-track/next-track i Spotify.

Jag har hittills lyckats få ihop en PIC18F4550 och ett program för volymkontroll som visas på en character LCD display
Använder en Texas Instrument PGA4311 krets för volymkontroll, den har bra specifikationer och även 31,5dB gain

Sedan har jag en optisk rotary encoder utan detents och 128ppr som har riktigt nice "feeling" :)

Då jag tycker att vanliga LCD displayer är ganska "fula" så köpte jag mig en 16x2 character OLED display från Adafruit.com som jag dock ej lyckats få igång än:(

Som fjärrkontroll tänkte jag använda en Apple remote, den lilla smidiga i aluminium som har minimalt med knappar. Har skaffat en sådan fjärrkontroll och en TSOP34838 IR receiver diod.
Har dock inte listat ut hur jag ska programmera PIC:en för att läsa ut IR koderna som fjärrkontrollen skickar.

Har fått igång ett exempelprogram i VB .NET som kommunicerar via USB till PIC:en men då jag inte kan VB .NET så har jag lite svårt att förstå hur jag ska skriva en Windows Service som använder spotify.vb biblioteket som finns gratis att ladda ner på nätet.
Tanken är att VB applikationen skall dels skicka en string med "Artist - Song" via USB till PIC:en så fort spotify.nowplaying() ändras, och dels polla PIC:en för tre variabler som anger om man tryckt någon av knapparna Play/Pause, Previous track eller Next track.
Detta har jag då inte lyckats med än.

Jag har byggt en GrubDAC som ska aggera enda ljudingång men med en fysisk omkopplare ifall man vill använda vanliga RCA ingångar istället.

Man kan även utöka projektet med ingångsväljare, utgångsväljare, kanske en miniDSP, flera PGA4311 kretsar om man vill ha multi-room funktioner.

Själv är jag ingen hejare på programmering så jag har skaffat mig Flowcode V5 som jag programmerar mina PIC:ar med.

Har gjort en första prototyp med en PIC18F2520 och en PGA4311. Men då det var mitt första försök med kretskortsdesign så gjorde jag två nybörjarmisstag. Den fungerar dock efter två work-arounds.


Skulle som sagt gärna ha lite tips, idéer och gärna hjälp om någon känner sig inspirerad.

Bifogar en bild på första prototypen och en rendering av hur den färdiga lådan kan se ut.

Verkar dock som att Flowcode inte är så utbrett men det är väldigt smidigt om man som jag inte kan programmera och precis börjat leka med microprocessorer.
Du har inte behörighet att öppna de filer som bifogats till detta inlägg.
Elektro88
Inlägg: 270
Blev medlem: 14 februari 2006, 15:41:18
Skype: rmannby@live.se
Ort: Gryttby, Vendel

Re: Förförstärkare med PIC MCU styrning

Inlägg av Elektro88 »

Kommer att följas :D
Användarvisningsbild
Greve Hamilton
EF Sponsor
Inlägg: 544
Blev medlem: 4 september 2004, 15:03:35
Ort: GBG

Re: Förförstärkare med PIC MCU styrning

Inlägg av Greve Hamilton »

Skoj! Många av funktionerna är saker jag har på min önskelista till efterföljaren för förförstärkaren jag har nu (se sign.), så detta kommer jag följa med intresse.
Användarvisningsbild
hyperion
Inlägg: 1306
Blev medlem: 8 maj 2009, 21:19:20
Ort: Nynäshamn

Re: Förförstärkare med PIC MCU styrning

Inlägg av hyperion »

Greve Hamilton kanske vill vara med och bidra också? Efter ha fluktat på din förförstärkare blir jag bara ännu mer sugen på att få fart på min.

Jag lyckades ikväll att skicka en string på upp till 31 tecken över USB till PIC:en och visa det i LCD displayen. Dock endast med ännu ett exempelprogram eftersom jag inte kan Visual Basic :(

Vad har du för andra funktioner på din önskelista för uppföljaren?


Jag tänkte jag skulle försöka göra kretskortet så litet som möjligt och använda SMD komponenter så mycket som möjligt. Däremot tänkte jag ha ganska stora komponentstorlekar för att andra som kanske inte är så vassa på att löda ytmonterade komponenter ändå ska kunna bygga en egen om de vill. Därför kör jag 1210, 1208, 1206 och endast i nödfall kör jag 0805. Mängden komponenter är så lågt att man inte tjänar nämnvärt med area på att gå ner i storlek tycker jag.

Skulle behöva lite hjälp faktiskt :) Jag började dona med PIC:ar i början av december så har bara hållt på i 2 månader :) och jag är INTE en ingenjör :)
Användarvisningsbild
Klas-Kenny
Inlägg: 11751
Blev medlem: 17 maj 2010, 19:06:14
Ort: Växjö/Alvesta

Re: Förförstärkare med PIC MCU styrning

Inlägg av Klas-Kenny »

"Skulle behöva lite hjälp faktiskt :)"

Bara släng upp dina frågor så kommer hjälpen garanterat!


Blev för övrigt jäkligt inspirerad av ditt bygge, blev bra sugen på att bygga någonting liknande. :P
Användarvisningsbild
hyperion
Inlägg: 1306
Blev medlem: 8 maj 2009, 21:19:20
Ort: Nynäshamn

Re: Förförstärkare med PIC MCU styrning

Inlägg av hyperion »

Ja problemet jag har är väl att jag använder Flowcode för att skriva programmet till detta och det är säkert ingen som använder här.

Men t.ex. så vet jag inte hur jag ska lyckas med att få igång min Apple fjärrkontroll t.ex.

Här finns library till Apple fjärren för användning med Arduino: https://github.com/shirriff/Arduino-IRremote
mer info här: http://en.wikipedia.org/wiki/Apple_Remo ... al_details

Jag lyckas inte greppa hur jag ska få PIC:en att använda en TMR och en INT för att koda av fjärrkontrollens IR koder.

Och om jag får ett svar med lösningen skriven i C så kommer jag troligtvis ha svårt att förstå det tillräckligt för att skriva samma program fast i Flowcode.

Tack föresten :) kul att kunna inspirera lite.
Användarvisningsbild
Klas-Kenny
Inlägg: 11751
Blev medlem: 17 maj 2010, 19:06:14
Ort: Växjö/Alvesta

Re: Förförstärkare med PIC MCU styrning

Inlägg av Klas-Kenny »

Något direkt kodexempel kan jag inte ge, och särskilt inte i FlowCode, men det är ju inte så jättesvårt egentligen.

Nu har jag inte en aning om hur FlowCode fungerar ens en gång, men det borde väl finnas inbyggda funktioner för att få igång interrupt. Leta i datablad samt programmeringsmanual efter Interrupt On Change (så heter det i databladen i alla fall) och sparka igång det. Sen själva principen för avkodningen torde vara att när interrupt sker så drar man igång en timer (Åter igen, djupdykning i manual och datablad) att räkna. Nästa gång en interrupt sker så läser du av värdet på timern och avgör på så vis tiden hur lång signalen har varit. När du vet hur lång tid signalen skedde, så är det ju bara till att gå efter hur protokollet ser ut och avgöra om det var en etta eller nolla och så skriver du in det värdet i en byte i en array.
Sen nästa gång en interrupt sker, så gör du samma sak om igen tills all data tagits emot.

När all data tagits emot så är väl det enklaste att ha någon tabell där man kollar efter vilket kommando det kan ha varit som skickades, borde kunna sättas upp med en "switch" eller vad det finns för någonting motsvarande i FlowCode.
Användarvisningsbild
hyperion
Inlägg: 1306
Blev medlem: 8 maj 2009, 21:19:20
Ort: Nynäshamn

Re: Förförstärkare med PIC MCU styrning

Inlägg av hyperion »

Har nu lyckats få fart på TMR0 och INT1 så att PIC:en reagerar när jag trycker knappar på fjärrkontrollen.

Dock har jag inte lyckats med att läsa ut de 32bitars koder som fjärren skickar. Får inte riktigt kläm på prescalern till TMR0 och ett bra sätt att tolka om det är en ETTA eller NOLLA.

Timingen från fjärren är:
Protocol on (µs) off (µs) total (µs)
leader 9000 4500 13500
0 bit 560 560 1120
1 bit 560 1690 2250
stop 560 N/A 560

Jag kör just nu en PIC18F2520 med 20Mhz x-tal

Bifogar C filen ifall någon känner sig manad att titta lite. Den innehåller dock en massa dravvel också då det är en testfil.
Du har inte behörighet att öppna de filer som bifogats till detta inlägg.
Zed
Inlägg: 126
Blev medlem: 8 januari 2007, 20:00:44
Ort: Götet

Re: Förförstärkare med PIC MCU styrning

Inlägg av Zed »

Nu vet jag inte vilket protokoll fjärren jobbar med, men det finns ju färdigt för RC5 protokoll i Flowcode.
Användarvisningsbild
hyperion
Inlägg: 1306
Blev medlem: 8 maj 2009, 21:19:20
Ort: Nynäshamn

Re: Förförstärkare med PIC MCU styrning

Inlägg av hyperion »

Japp det gör det, men Apple kör ett NEC protokoll eller en variant av det.
Användarvisningsbild
hyperion
Inlägg: 1306
Blev medlem: 8 maj 2009, 21:19:20
Ort: Nynäshamn

Re: Förförstärkare med PIC MCU styrning

Inlägg av hyperion »

Kan nu läsa av första Off perioden i headern. Den blir alltid 175 ticks. Men allt som kommer efter headern får jag inte ut något vettigt av.
Användarvisningsbild
hyperion
Inlägg: 1306
Blev medlem: 8 maj 2009, 21:19:20
Ort: Nynäshamn

Re: Förförstärkare med PIC MCU styrning

Inlägg av hyperion »

Nu fungerar Apple fjärrkontrollen! Riktigt skönt.

Någon som kan Visual Basic som har lust att hjälpa mig med ett litet program eller helst en Windows Service?
rikkitikkitavi
Inlägg: 15749
Blev medlem: 21 juni 2003, 21:26:56
Ort: Väster om Lund (0,67 mSv)

Re: Förförstärkare med PIC MCU styrning

Inlägg av rikkitikkitavi »

När du får det att funka kanske du kan byta två st 4311 mot en programmerad mikrokontroller? :)
Användarvisningsbild
hyperion
Inlägg: 1306
Blev medlem: 8 maj 2009, 21:19:20
Ort: Nynäshamn

Re: Förförstärkare med PIC MCU styrning

Inlägg av hyperion »

Det kan jag absolut lösa åt dig. När jag får det att fungera riktigt bra och allt är testat så funderar jag på att sätta ihop ett kit ifall det finns folk som är intresserade. Självklart kommer jag dela med mig utav filerna ifall man själv vill programmera chippet och/eller ändra något.

Nu är det dock nästa steg att få till en windows service i VB .NET och jag har inte hittat någon som har lust att hjälpa mig med den biten (och har ej lyckats med VB på egen hand)
rikkitikkitavi
Inlägg: 15749
Blev medlem: 21 juni 2003, 21:26:56
Ort: Väster om Lund (0,67 mSv)

Re: Förförstärkare med PIC MCU styrning

Inlägg av rikkitikkitavi »

Låter vettigt med ett kit, ialla fall när det gäller den icke-analoga delen.
Kanske du hade kunnat göra en enkel valbar koddel för olika volymIC kretsar , PGA4311 är inte den vanligaste och finns bara i SMD.
PGA2311 eller 2310 är vanligare nämligen. Samma krets egenligen dock, förutom inre förstärkning etc.

Nu råkar jag ha 4 st PGA4311 iofs.
Skriv svar