Digital funktionsgenerator

Jag har tänkt bygga en funktionsgenerator som använder en R2R-stege samt en Atmel Mega88
som genererar signalen och en Atmel Mega88 som genererar brus. Den grundläggande tanken är
att göra den moduluppbyggd för att kunna ersätta delar allt eftersom jag har råd och kraven ökar.
Eller att jag hittar bättre lösningar. Här ser ni ett funktionsdiagram eller flödesschema om ni så
vill där varje ruta representerar en modul av funktionsgeneratorn.

OBS!!Tänk på att det kan vara livsfarligt att ansluta saker till elnätet om man inte vet vad man gör.OBS!!

flödesschema
Vi börjar väl från början med nätaggregatet.
Tänk på att det är mycket viktigt att ha säkringar på både primär och sekundärsidan
PSU
Därefter kontrollkortet:
kontrollkort
SÃ¥ till kortet som genererar funktionerna:
funktionsgenerering och brus
Så ett litet kort för att snygga till sinusfunktionen:
sin-shaper
För att kuna justera amplitud och Offset samt mixa ihop en funktion med brus används följande koppling.
offset-amplitud



Så till sist ett utgångskort med lite extrafunktioner som att tillfälligt stänga av signalen.
Detta är mest till för att det är kul att bygga och även en viss skrytfunktion. Men jag misstänker
även att det kan vara en trevlig extrautrustning när man använder tongeneratorn.
output




De funktioner jag vill ha är:
  • Sinus
  • Fyrkant
  • Triangel
  • SÃ¥gtand
  • Ramp
  • Invers sÃ¥gtand
  • Invers ramp
  • PWM
  • Puls med ställbar fördröjning, amplitud och bredd
  • PulstÃ¥g med ställbar amplitud och bredd
  • Frekvenssvep för de olika funktioner
  • Ev. egendefinierade funktioner
Nu är det dags att lämna kopplingsscheman och planeringar för att istället gå över på hårdvaran som skall
realisera allt detta.
Jag har gjort kretslayouter av de kopplingsscheman du ser ovan:
PSU_layout
kontrollkort_layout
funktioner_layout
sin-shaper_layout
sin-shaper_layout
output_layout
Då har jag kommit en bit på hårdvaran. Vi börjar väl med spänningsförsörjningen:
output

De hålen som ni ser på ovanstående bild mellan kondensatorerna och lysdioderna är till för panelmonterade
säkringshållare för 5x20 mm säkringar. Det är för övrigt 3 mm skruv av standardmodell.

output
output

På bilden ovan ser ni display, tryckknappar, resetknapp, och trådar för ev. kommande RS-232 kommunikation med PC.
output

Så en närbild på själva kortet.

output

Här en bild på kortet med de två Mega88-orna som skall generera signalen och/eller brus. Reläet ni ser i nederkant
används för att skicka sinussignalen till ett extra steg (se sinshaper ovan) och övriga signaler går direkt till
amplitud och offsetkortet. Brussignalen skickas direkt till amplitud och offsetkortet. Så här i efterhand kanske man
skulle lagt till en brytare till varje AVR för möjlighet till reset. Men det är ju ingen större funktionalitetsbrist.
En nödlösning kan vara att sätta en brytare på spänningsmatningen då AVR-kretsarna "resettas" vid start.
output

Ett relä för signal, ett för brus och det tredje för den signalen med pålagt brus.


LCD

Så en bild på hur displayen ser ut. Inget avancerat eller exalterande utan dara en standard 4x20 standard LCD.
Så har jag fått ändan ur vagnen och etsat tre kort till. Först ut är en programmeringskontakt förde fyra
AVR mikrokontrollers som ingår i min "lilla" tongenerator.
programmeringskontalt_1

programmeringskontalt_2

Därefter var det dags för ett kort som sköter amplitud, offset och mixar ihop signal och brus:
amplitud_offset_mixer

I denna bild saknas 4 st panelpotentiometrar för att justera Amplitud och offset
Så ett kort för att snygga till sinuskurvorna:
amplitud_offset_mixer

Det som saknas är en panelpotentiometer.



Så var det dags för lite mjukvara:
Som en lagom lätt start gav jag mig på att skriva programmet för ATTiny26 som bara skall
sköta om styrning av utgångarna, dvs. om signalen skall gå ut eller ej.



Det som återstår nu är följande:
  1. Brusgenerering
  2. Funktionsgenerering
  3. Meny och inmatning av data
  4. kommunikation
Nu har jag testat lite med att generera funktioner med en uppkoppling på kopplingsdäck:
sinesquare
sawtoothrevsawtooth
triangle