Pic-programmering, DAC

PIC, AVR, Arduino, Raspberry Pi, Basic Stamp, PLC mm.
Peppar
Inlägg: 278
Blev medlem: 9 oktober 2006, 18:06:11
Ort: Malmö

Pic-programmering, DAC

Inlägg av Peppar »

Jag har frågat om oscillatorer, 50Hz, tidigare. Jag har nu bestämt mig för ROM-DAC och kristalloscillator. För att göra det onödigt komplicerat så vill jag ha fem frekvensalternativ, 48, 49, 50, 51 och 52. Det behöver inte vara exakt de frekvenserna. Det är stabilitet som är viktigt.

Jag har i princip ingen kunskap alls i ämnet. Jag har använt Javaline och programmerar hjälpligt i VB, JavaScript och det döda språk äldre personer här kanske minns som Java.

Jag tror jag har ett färdigt program för 50Hz sinuskurva på datorn. Men hur man fixar fyra andra frekvenser har jag inte en aning om. Det är något som får komma senare.

Just nu söker jag bara tips för bra sidor på nätet. Just nu vet jag inte ens vilka sökord jag ska använda för att googla.

Tanken är också att allmänt sätta mig in i detta med pic-programmering, alltså inte enbart för oscillatorn. Oscillatorn är en början.
Mindmapper
Inlägg: 7122
Blev medlem: 31 augusti 2006, 16:42:43
Ort: Jamtland

Inlägg av Mindmapper »

Kan det tänkas att detta passar bättre under Mikroprocessorer?
sodjan
EF Sponsor
Inlägg: 43251
Blev medlem: 10 maj 2005, 16:29:20
Ort: Söderköping

Inlägg av sodjan »

Peppar
Inlägg: 278
Blev medlem: 9 oktober 2006, 18:06:11
Ort: Malmö

Inlägg av Peppar »

Mitt misstag. Jag vet inte varför den hamnade här. Jag kollade det andra forumet och läste några inlägg, för första gången. Gammal vana, antar jag.

Tack för sidorna. Nu börjar det komma tillbaka. Inte för att jag gjort mycket PIC-programmering. Men det påminner mig om att det var bland de roligare sakerna och JSP det absolut tråkigaste (läs svårast).
sodjan
EF Sponsor
Inlägg: 43251
Blev medlem: 10 maj 2005, 16:29:20
Ort: Söderköping

Inlägg av sodjan »

OK.
Som jag ser det så blir det en SIN-tabell i minnet och sedan en rutin som
läser ut dessa värden på/till en DAC. Med lite justering av utläsningsloopen
så bör det vara enkelt att få 48-52 Hz...
Peppar
Inlägg: 278
Blev medlem: 9 oktober 2006, 18:06:11
Ort: Malmö

Inlägg av Peppar »

Tack.

Kanske jag borde gå andra hållet och först köpa utvecklingsverktyg. Problemet är att jag vet ingenting. (Jag tänker fråga om råd om det senare på rätt forum.) Innan man har kommit över den första kunskapströskeln så är det svårt att leta och ta till sig information.
Användarvisningsbild
JimmyAndersson
Inlägg: 26586
Blev medlem: 6 augusti 2005, 21:23:33
Ort: Oskarshamn (En bit utanför)
Kontakt:

Inlägg av JimmyAndersson »

Sådär, nu är tråden flyttad. :)

Har inte varit här på ett tag och ingen annan moderator verkar ha sett tråden.. :)
Peppar
Inlägg: 278
Blev medlem: 9 oktober 2006, 18:06:11
Ort: Malmö

Inlägg av Peppar »

Fint.

Men som sagt, kanske jag gör detta helt fel och borde starta med hårdvaran. Det är kanske bättre att först få något enkelt att funka och sen ta hjälp av detta och tillverkarens forum.
sodjan
EF Sponsor
Inlägg: 43251
Blev medlem: 10 maj 2005, 16:29:20
Ort: Söderköping

Inlägg av sodjan »

Nja, det är svårt att veta var man ska börja. Har man varit med lite så vet
man instinktivt var problemen kommer att dyka upp, och alltså börjar
man där.

Om jag har förstått det hela korrekt så vill du skapa en 48-52 Hz sinus
signal. Vad den sedan ska användas till vet jag inte men det kanske spelar
mindre roll. Däremot så är det intressant att veta vilka krav du har på
signalen? Hur "ren" sinus måste det vara? Räcker det med att filtrera
den lite efter generatorn ?

> och borde starta med hårdvaran.

Jag ser det primärt som en programvarufråga. Vad är det med hårdvaran
som är så speciellt?
Peppar
Inlägg: 278
Blev medlem: 9 oktober 2006, 18:06:11
Ort: Malmö

Inlägg av Peppar »

Mitt misstag. Mjukvaran. Hårdvaran tycks vara enkel.

Jag har funderat på olika alternativ för oscillatorn. Men ROM-DAC erbjuder störst flexibilitet och är "bra nog" i alla avseende. En enkel Wienbrygga har lägst distorsion, som exempel, men är förmodligen problematisk om jag vill kunna justera frekvens. Dessutom vill jag gå på det här med PIC-programmering.

Det är till en nätdel.

Jag har gått igenom Guiden/FAQ här tidigare. Basic Stamp ser ut som det mest lämpliga för mig.

Snabbt inom mikroprocessor är mikrosekunder, kanske snabbare. En sekund är snabbt nog för min oscillator. Mer krävande saker en så kommer jag sannolikt aldrig att göra. Så saker som prestanda och PIC eller AVR känns inte så relevanta i mitt fall.
sodjan
EF Sponsor
Inlägg: 43251
Blev medlem: 10 maj 2005, 16:29:20
Ort: Söderköping

Inlägg av sodjan »

> Mitt misstag. Mjukvaran. Hårdvaran tycks vara enkel.

OK, överens... :-)

> Basic Stamp ser ut som det mest lämpliga för mig.

Jaha, undrar hur du har kommit fram till det...

> En sekund är snabbt nog för min oscillator.

Hur då "snabbt nog" ??

Låt oss säga att du vill ha 50 "punkter" på sinuskurvan (d.v.s på en 1/4
period, de andra 3/4 av perioden är bara speglingar av den första) så har
du vid 50 Hz 50*4*50 punkter/sekund att mata ut till DAC'en. Alltså ca
100 us mellan varje uppdatering av DAC'en.
På vilket sätt är 1 sek "snabbt nog" ???

Och hur kan en Stamp vara lämplig ?

Eller tänker du lägga kurvan i ett externt minne som du bara klockar fram
på något sätt ? Och i så fall, varför det ?
Peppar
Inlägg: 278
Blev medlem: 9 oktober 2006, 18:06:11
Ort: Malmö

Inlägg av Peppar »

Jag antar att språket är BASIC. Assembler är inget jag vill gå på.

Jag vet inte hur programmeringen kommer att se ut.

Med snabbhet menar jag typ mikroprocessorn till en fjärrkontroll. Om det tar en sekund för, säg, DVD-spelaren att reagera så är det långsamt. Men om det tar en sekund för processorn att gå från 50Hz till 51Hz så är det snabbt nog för mig. Tanken är att den aldrig ska behöva ändras, utan finns där om det behövs.

Det är dessa saker som gör det svårt för mig. Jag vet helt enkelt inte vad snabbt betyder. Min PC är snabb nog för mig. Men den är inte snabb nog om jag ska kompilera stora spelprogram eller redigera stora videofiler. Då hade jag kanske fått vänta i en halvtimme varje gång jag kompilerar eller gör en ändring på videofilen.
Användarvisningsbild
Icecap
Inlägg: 26659
Blev medlem: 10 januari 2005, 14:52:15
Ort: Starup (Haderslev), Danmark

Inlägg av Icecap »

Glöm BasicStamp, den är mycket dyr, slö och besvärlig och du kan INTE lita på att få fram rätt frekvens med den.

Vad jag kommer ihåg var det en skivspelare som skulle kunna trimmas i hastighet och det är egentligen oerhört enkelt att åstadkomma med en PIC, det är i essens bara att starta en timer på rätt frerkvens och låta interrupten slå upp i en tabell efter ett värde som den skickar ut vilket ger en "hackad" sinus.

Om du är sjukt dålig på att programmera tror jag att du kan få mycket hjälp här på forumet och jag tror till och med att det skulle gå att få någon att göra hela programmet då det är så pass enkelt.

Min enda undran är: då det inte verkar finnas PIC med D/A-omvandlare inbyggda får man alltså använda PWM + ett hyperenkelt filter efter, är det OK med dig?

Resten är ganska enkel, kan du definiera HUR du ska trimma frekvensen kan jag se om inte jag hinner sno ihop ett enkelt program i en paus.
Peppar
Inlägg: 278
Blev medlem: 9 oktober 2006, 18:06:11
Ort: Malmö

Inlägg av Peppar »

Tack.

Jag vill gärna klara programmeringen själv. Givetvis kommer jag att tvingas fråga om hjälp. Först blir det helt enkelt att få 50Hz att funka. Hur det funkar med fler frekvenser vet jag inte. Jag vet inte ens hur man kallar funktioner, metoder eller vad det heter. Men jag antar att man har någon form av metod och integer.

Filter är inga problem. Det räknade jag med.

Som det ser ut nu så är det förmodligen bättre att börja med att skaffa verktygen, få något enkelt program att funka och på så sätt sätta mig in i detta från grunden.

Så är det assembler som gäller? Och kanske jag inte behöver oroa. Det är inte som om jag ska programmera Half-Life-motorn från scratch.

Så vad är att föredra? PIC eller, vågar jag säga det, AVR? Och vilka verktyg? Jag kommer inte att använda det väldigt ofta. Just nu vet jag bara två saker jag vill göra. Men det är också möjligt att ju mer jag lär mig, desto fler möjligheter ser jag.
Användarvisningsbild
Icecap
Inlägg: 26659
Blev medlem: 10 januari 2005, 14:52:15
Ort: Starup (Haderslev), Danmark

Inlägg av Icecap »

Jag hade faktisk vald en Renesas-processor till detta, som programmeringsverktyg hade jag vald den gratis HEW som finns (C) men det är för att den är relativ enkel att komma igång med när man väl har fått allt ställd rätt.

De olika frekvenser kan du skapa vid att spela upp samma sinus fast med lite olika frekvens, det exakta sättet beror på vilken stegning du vill ha osv.
Skriv svar