Author |
Topic |
|
McGyver
Member
1737 Posts |
Posted - 2006/06/17 : 10:46:03
|
Hej, Beställde lite prover av DS1802 & DS1666 och fick dessa med posten i veckan. Tanken är att styra dem via en PIC, t.ex. 16F870 eller liknande. Skall användas primärt till ett 5.1 förstärkarprojekt, men även till 2-kanal om de visar sig låta ok. Någon som har gjort detta och har tips på koppling / programvara !? Vill ha en pot.som volymkontroll, denna ger ~0-5V in till en analog ingång på PIC'en - denna styr sedan i sin tur DS1802/DS1666 seriellt med möjlighet att variera nivåer till de olika kanalerna i programvaran.
[Edit] Jag är inte ute efter en "färdig" lösning, utan bara tips!
/R
|
The probability of someone watching you is proportional to the stupidity of your action. - A. Kindsvater |
Edited by - McGyver on 2007/04/10 11:22:12 |
|
Freddie
Member
322 Posts |
Posted - 2006/06/17 : 12:24:14
|
Roligt projekt. Funkar säkert bra att använda en pot och AD-omvandlaren på PIC:en, men jag hade nog använt en puslgivare/enkoder istället.
Har inte använt PIC på länge, utan kör med Atmel istället. |
|
|
McGyver
Member
1737 Posts |
Posted - 2006/06/17 : 13:35:24
|
Freddie Har sneglat lite på att köra med pulsgivare, men då jag även tänkt mig en LCD-dsplay för visning av volym, signalkälla o.s.v. på förstärkaren, så känns detta "enklare" att få till om man använder A/D-ingången på PICen. Har labbat lite med Pic Basic Pro till olika projekt. Amtel kretsarna har jag inte provat ännu tyvärr, men det lär väl inte vara några större svårigheter att ställa om sig!?
/R
|
The probability of someone watching you is proportional to the stupidity of your action. - A. Kindsvater |
|
|
Freddie
Member
322 Posts |
Posted - 2006/06/17 : 17:13:35
|
Bascom AVR för Atmel-datorer är jättesmidigt att jobba med. I mina ögon helt perfekt för att göra små applikationer snabbt. Men PIC med lämplig kompilator är säkert lika bra. Har bara kört lite PIC med någon C kompilator tidigare.
Vet inte varför du tycker det är bökigare med pulsgivare dock, har provat båda alternativ. LSB från AD omvandlare brukar ofta flaxa, och ibland är det betydligt ostabilare än så av olika anledningar. Det slipper man med pulsgivare iaf. Bara att läsa tillstånden på A och B från -givaren, graykod.
|
|
|
Freddie
Member
322 Posts |
|
McGyver
Member
1737 Posts |
Posted - 2006/06/18 : 10:19:40
|
Hmmmm.....får väl besöka Elfa och inhandla en pulsgivare! Har använt en potentiometer/spänning som ÄR-värde i tidigare PIC-projekt, så man är väl lite färgad av detta. Funderar på hur man får volymen att "lagras" när man stänger av förstärkaren och har en pulsgivare, men det är ju egentligen bara att lagra ÄR-värdet i minnet på PICen. Ledig på måndag, så det blir till att åka och handla och sedan labba!
/R
|
The probability of someone watching you is proportional to the stupidity of your action. - A. Kindsvater |
|
|
Jax
Member
667 Posts |
Posted - 2006/06/18 : 11:14:05
|
En variant är att lagra det i ett EEPROM men de har en livslängd på typ 100k skrivningar.
En annan är ett litet statiskt minne drivet från en lithiumcell när spänningen är borta.
En tredje är att inte stänga av spänningen.
|
/Janne
Rörfreak och snål smålänning i blodet.
|
|
|
McGyver
Member
1737 Posts |
Posted - 2006/06/18 : 11:53:02
|
Hej Janne, Tack för tips! Den PIC jag tänkt använda, 16F870, har ett inbyggt EPROM på 128 byte, så inga problem att lagra variabler. Man halkar lätt in på ett sätt att göra en sak, men det betyder ju inte alltid att det är det bästa/enklaste ! Jag får prova att använda pulsgivare, och vem vet - en ny värld kanske öppnar sig! Blir det lyckat, kanske det kommer en bildtråd så småningom!
/R |
The probability of someone watching you is proportional to the stupidity of your action. - A. Kindsvater |
Edited by - McGyver on 2006/06/18 11:54:01 |
|
|
JohnA
Member
556 Posts |
Posted - 2006/06/18 : 14:49:24
|
Jag vill tipsa om en trevlig liten C-kompilator från CCS. http://www.ccsinfo.com/ Proffsen kallar den lite föraktfullt för makroassembler och visst, den har en del egna lösningar men jämfört med PIC-basic har man en proffsigare lösning. Jämfört med att skriva i assembler kommer man mycket snabbt igång och det finns massor av smidiga färdigskrivna subrutiner och funktioner att anropa. Själv har jag mellanvarianten PCM för 14-bits PIC som jag tycker är lagom kraftfulla chip till det mesta. Jämfört med proffsverktygen är CCS PCM billig och jag har inte provat gratiskompilatorerna ute på nätet.
|
Elektronostalgist? -Javisst! http://elektroarkivet.se Skype: elektroarkivet.se Min anläggning, uppdaterad 2006-06-11: http://www.hififorum.nu/forum/topic.asp?TOPIC_ID=30783
|
|
|
Jax
Member
667 Posts |
Posted - 2006/06/18 : 15:17:40
|
Ah, då är ju lagringen löst redan i profeten.
Ett sätt att hålla nere antalet skrivningar annars är till exempel: vänta en stund innan en förändring från pulsgivaren sparas i EEPROM. Hur lång denna tid ska vara blir väl mest en bekvämlighetsfråga. Om man funderar på hur ofta man justerar volymen så kanske man hamnar på speltiden för en skiva men någon minut upp till 20 minuter kanske blir bra.
|
/Janne
Rörfreak och snål smålänning i blodet.
|
|
|
McGyver
Member
1737 Posts |
Posted - 2006/06/18 : 17:22:21
|
JohnA Tack för tipset! Får ladda ner demoversionen om prova. Vi körde Assembler och Pascal i skolan (länge sedan ), så jag har försökt undvika C bäst möjligt ! PicBasic Pro - funkar bra, men genererar onödigt mycket kod. Har dock lyckats göra det jag vill utan att fylla minnet i PICen, så ännu är det inget problem.
Janne Går nog att lösa genom att lagra ÄR-värdet så fort volymen ändras (2-3s fördröjning). Man håller nog inte på att skruva upp och ner hela tiden och jag tror PICen klarar ganska många skrivningar innan den dör. Fast med två små döttrar i huset, kanske den sitter löst till!
/R
|
The probability of someone watching you is proportional to the stupidity of your action. - A. Kindsvater |
|
|
pairair
Starting Member
23 Posts |
Posted - 2006/06/18 : 19:56:33
|
Jag har också tittat lite på DS1802 och microcontroller-styrning (PIC). Jag hade tänkt mig en IR-fjärr för volymkontroll, men det är ju ingen nackdel att ha en "manuell" kontroll också. Det här projektet ligger vilande sedan en tid tillbaka, men man kanske skulle sätta igång igen. Jag hade börjat med att titta lite på LCD-biten och de specialtecken som skulle genereras...
Jag använder förresten en annan basic-kompilerare som är alldeles utmärkt: http://www.picbasic.org/proton_development_suite.php
...och här en enkel kodsnutt för att testa kommunikationen med DS1802
'**************************************************************** '* Name : DS1802_write_read.BAS * '* Author : [Pär Sundberg] * '* Notice : Copyright (c) 2006 * '* : All Rights Reserved * '* Date : 2006-03-29 * '* Version : 1.0 * '* Notes : * '* : * '**************************************************************** Include "Proton_4.inc" Symbol CLK = PORTB.0 Symbol DTA = PORTB.1 Symbol RST = PORTB.2 Dim var1 As Byte Dim var2 As Byte Dim potval As Byte ALL_DIGITAL = TRUE DelayMS 50 Cls Output RST Output CLK potval = 0 MAIN: While potval < 63 'inc. potentiometer value potval = potval + 1 'step 1 (0 = 0dB, 63 = -63dB) GoTo WRITE_POT Wend WRITE_POT: Set RST SHOut DTA,CLK,lsbfirst,[potval\8,potval\8] 'set potentiometer 1 and 2 values, 8 bits each Clear RST
READ_POT: Set RST SHIn DTA,CLK,lsbpre,[var1\8,var2\8] 'read pot 1 and 2 values, 8 bits each Clear RST Print At 1,1, Dec var1 'print decimal value of pot 1 Print At 2,1, BIN8 var2 'print binary value of pot 2 DelayMS 2000 'wait 2 seconds GoTo MAIN --------------------------------------------------
/Pär |
|
|
McGyver
Member
1737 Posts |
Posted - 2006/06/18 : 20:06:44
|
Pär Stort tack!! Jag tänkte avancera till seriellstyring av DS1802 efter lite labbande, men du har ju redan koden för detta! Det underlättar betydligt att styra på detta sätt, speciellt om flera DS1802or skall "sammarbeta" som ju krävs i en 5.1 förstärkare! Nu klarar jag mig nog initialt med en analog pot som reglage! Det blir sent ikväll - här skall labbas!
/R |
The probability of someone watching you is proportional to the stupidity of your action. - A. Kindsvater |
|
|
pairair
Starting Member
23 Posts |
Posted - 2006/06/18 : 21:15:04
|
Hoppas det kan vara till nån nytta. Kodsnutten är tyvärr allt jag har kvar efter att ha formaterat om hårddisken, och backupen visade sig vara felaktig... Du har väl läst den här också http://www.maxim-ic.com/appnotes.cfm/appnote_number/161
För att kunna läsa poten har jag för mig att jag hade ett motstånd mellan COUT och D (det står på sidan 10 i databladet ser jag nu, 2-10K)
/Pär |
|
|
Freddie
Member
322 Posts |
Posted - 2006/06/21 : 15:49:36
|
McGyver,
Hur går det med projektet?
|
|
|
McGyver
Member
1737 Posts |
Posted - 2006/06/21 : 16:46:01
|
- Ja......inte så bra! Jag får inte PICen att läsa värdena från DS1802an!? Jobbar kväll imorgon, så hoppas kunna labba lite under kvällen då man kan vara uppe lite längre. Men just nu, "ser det mörkt ut på Kameruns avbytarbänk" ! Skam den som ger sig dock!
/R |
The probability of someone watching you is proportional to the stupidity of your action. - A. Kindsvater |
|
|
ohmega
Member
4651 Posts |
Posted - 2006/06/21 : 16:56:52
|
McGyver: Kan man inte ha en programsekvens som "sparar" volyminställningen då man stänger av förstärkaren? |
Medlem i klubbstugan SVAVEL - "Vi kör så det ryker" Mitt Hifi-intresse är ingen prylhobby - det är en materialsport :) Anläggning: DVD-Denver + Naim Nait2 + Epos ES11 OCH FT-1600 MkII + 200 CD-skivor |
|
|
McGyver
Member
1737 Posts |
Posted - 2006/06/21 : 20:08:22
|
Ohmega Jo, den biten är klar. Jag sparar värdena i minnet på PICen. Problemet nu, är bara att få PICen att prata med den digitala potten. Vet att det säker är en struntsak i koden, men det gäller att hitta den bara! Nu skall jag se Holland-Argentina, men sedan blir det in i verkstaden och koda lite, så får vi se om de börjar prata med varandra!
/R |
The probability of someone watching you is proportional to the stupidity of your action. - A. Kindsvater |
|
|
pairair
Starting Member
23 Posts |
|
McGyver
Member
1737 Posts |
Posted - 2007/03/30 : 12:32:42
|
Projektet har legat i träda, men igårkväll så satte jag igång labbandet igen!
Efter lite "basic" felsökning, så konstaterades att det inte går att skriva PortA.3 = 1 i PBP för att få denna utgång hög, utan det skall istället vara High PortA.3 => PIC och DS1802 pratar nu med varandra och jag kan läsa av potvärdet i dB!!!
Någon som har ett bra exempel på en kodsnutt för IR-detektering ?
Här skall byggas försteg nu!
/R |
The probability of someone watching you is proportional to the stupidity of your action. - A. Kindsvater |
Edited by - McGyver on 2007/03/30 12:33:42 |
|
|
McGyver
Member
1737 Posts |
Posted - 2007/04/03 : 16:53:58
|
Har nu kommit en bra bit på vägen!
PICen kan läsa seriellt från DS1802:an, men har ännu inte fått till skrivningen!
Någon som har exempelkod ?
Fjärrstyrning funkar (RC5) och även den anslutna pulsgivaren.
Har provkört DS1802 med +/- 2.5V matning, men tycker den blir överstyrd lätt!?
Har i.o.f.s. kört utan buffert på utgången och ingen dämpning av ingången - allt labbkopplat!
Någon som har samma erfarenheter?
/R |
The probability of someone watching you is proportional to the stupidity of your action. - A. Kindsvater |
|
|
McGyver
Member
1737 Posts |
Posted - 2007/04/10 : 11:07:14
|
För att komma igång "snabbt" - så gjorde jag en styrning till en motorpot jag hade liggande.
Efter en massa programstrul och till sist ett hårdvarufel som gjorde att jag och Vemsom skrev om koden - så är det nu fart på grejorna!
Version 2, blir med DS1802 eller DS1666 - men en del andra projekt före, för nu kan jag ju reglera volymen från soffan!
/R
|
The probability of someone watching you is proportional to the stupidity of your action. - A. Kindsvater |
|
|
Uniper
Member
668 Posts |
Posted - 2007/04/13 : 23:33:32
|
Mycket snyggt! Fjärrstyrning och pulsgivare har jag också använt i mitt försteg, fast med AVR istället för PIC. Väldigt skoj är det att programmerade där små chippen, men det tar lätt alldeles för mycket tid.. En liten fråga bara.. Hur gör du för att läsa ut volyminställningen från potten så att du kan visa den på display:en? |
Jo propellern driver runt ett litet aggregat, som pumpar vatten genom tratten till ett termostat, som i sin tur leder vattnet till ett skovelhjul, som sitter fast i en mast i vårat cykelskjul. |
|
|
ohmega
Member
4651 Posts |
Posted - 2007/04/13 : 23:38:44
|
Snyggt, McGyver |
Medlem i klubbstugan SVAVEL - "Vi kör så det ryker" Mitt Hifi-intresse är ingen prylhobby - det är en materialsport :) Anläggning: DVD-Denver + Naim Nait2 + Epos ES11 OCH FT-1600 MkII + 200 CD-skivor |
|
|
McGyver
Member
1737 Posts |
Posted - 2007/04/14 : 08:52:13
|
Tack for kommentarerna!
Uniper: I denna version finns det ingen koppling för att läsa positionen på potten. Jag "nollar" den vid start och sedan är det tänkt att jag skall använda fjärren för själva volymregleringen. Potten (ratten) sitter där för att snabbt kunna sänka volymen om mina små döttrar är i närheten! Funderade på att lägga en DC-spänning över potten och på så sätt läsa dess värde, men dels kräver det kondingar i signalvägen + jag vill hålla digital och analog-jorden skilda!
/R
|
The probability of someone watching you is proportional to the stupidity of your action. - A. Kindsvater |
Edited by - McGyver on 2007/04/14 10:26:39 |
|
|
|
Topic |
|