Generator.pdf

DDS AVR 100kHz, zmiana częstotliwości w czasie pracy, równoległa praca gen. HF

https://obrazki.elektroda.pl/1767723900_1507476841_thumb.jpg https://obrazki.elektroda.pl/6966938500_1507476855_thumb.jpg https://obrazki.elektroda.pl/9448777800_1507638471_thumb.jpg Odgrzebałem stary projekt (25 tydzień 2015 roku). Nie ma on szans na wygraną w konkursie ale taki generator może się przydać bo jest tani, a oferuje dużo więcej niż podobne rozwiązania z Internetu czy dostępne na Allegro. Przedstawiam efekt dwu dni pracy nad programem (PCB były zmontowane prawie w całości). Program oparty o popularny "silnik". Wszystkie ślady prowadziły na stronę Scienceprog.com. Co mi się nie podobało w konstrukcjach (oprogramowaniu) z Internetu? - niewygodna zmiana częstotliwości (menu wyboru kroku przestrajania) - brak przestrajania w czasie pracy (generator trzeba zatrzymać, zmienić częstotliwość, ponownie wystartować) - brak możliwości "ładowania" własnych przebiegów. Zmiany w stosunku do rozwiązań dostępnych w Internecie i sprzedawanych na Allego: - Fmax 500kHz przy czym dobrą jakość sygnału uzyskamy do ok 90kHz. Przy większych częstotliwościach pojawiają się duże zniekształcenia (oscylogramy niżej). - HSfreq podzielnik od 1 do 256 (częstotliwości 39kHz...10MHz). Wyjście to jest aktywne cały czas, także podczas generowania innych przebiegów na wyjściu LF. - Ustawianie napięcia wyjścia TTL/CMOS i zapis tegoż napięcia w eeprom - Zapis delty (kroku zmian częstotliwości) w eeprom - Obsługa enkodera * zmiana częstotliwości podczas pracy generatora - "płynne" przestrajanie * wybór parametru (częstotliwości, napięcia Vttl) * szybka zmiana kroku (delty) częstotliwości (przycisk enkodera) - nie działa podczas pracy generatora - Podczas zmiany częstotliwości, kursor (podkreślenie) pokazuje modyfikowaną cyfrę - Sygnalizacja pracy generatora (migający kursor) - Regulacja Amplitudy (max +/-5V) i ofsetu (+/-5V) - Wyjście 50R - Przetwornik DAC-08 (na rezystorach 1% można uzyskać CA rzędu 5..6bit, dla 8-bit potrzeba dokładniejszych niż 0,5%, 0,1% kosztują po ok 50gr sztuka, przetwornik jest tańszy). Czym różni się przetwornik na rezystorach (liniowość), zwłaszcza 5%, pokażę przy okazji oscyloskopu, który będzie miał także charakterograf i możliwość pomiaru liniowości przetworników). - Wyjście TTL/CMOS z napięciem ustawianym z menu w zakresie 0..15V - Częstotliwość w kHz (kropka w roli separatora) - Duży wyświetlacz 2x20 znaków - Zmieniona biblioteka obsługująca LCD. Ta która była, źle współpracowała z nowym wyświetlaczem (pojawiały się "krzaki") - Polskie menu - Panel czołowy z PCB przystosowany do wymiarów obudowy aparaturowej CP-15-33 Do zrobienia: - przerwanie PCIN od wszystkich przycisków co da możliwość zmiany wszystkich parametrów podczas pracy generatora - sterowanie po USB - ładowanie kilku własnych przebiegów do FLASH. W prototypie użyłem transformatora 2x8V w związku z czym maksymalna amplituda przebiegu na wyjściu to ok +/-7V. To samo ograniczenie dotyczy napięcia na wyjściu TTL/CMOS. Aby uzyskać wyższą amplitudę należy wymienić transformator na 2x10 czy 2x12V. Wtedy jednak stabilizator +5V zasilający część cyfrową należy wyposażyć w radiator. W płycie czołowej, otwór na LCD jest za duży (zbyt wysoki), rysunki PCB już poprawiłem. Ale to jak wymienię procesora na Mega324. Aktualnie zamontowany mam Mega16, który został "przetaktowany" i zaczyna brakować pamięci FLASH. Brakuje też układu 74LS06, w związku z tym, przebiegi sygnału na wyjściu TTL/CMOS są nie najlepsze. Kilka oscylogramów: https://obrazki.elektroda.pl/8944940700_1507477286_thumb.jpghttps://obrazki.elektroda.pl/8277488800_1507477286_thumb.jpghttps://obrazki.elektroda.pl/1701728900_1507477287_thumb.jpghttps://obrazki.elektroda.pl/2806580900_1507477287_thumb.jpghttps://obrazki.elektroda.pl/7827608400_1507477287_thumb.jpghttps://obrazki.elektroda.pl/3663731800_1507477287_thumb.jpghttps://obrazki.elektroda.pl/2275304000_1507477287_thumb.jpg Regulacja amplitudy i ofsetu:http://filmy.elektroda.net/20_1507478345.mp4 Zmiana częstotliwości w czasie pracy generatora: http://filmy.elektroda.net/50_1507479286.mp4 Zmiana amplitudy na wyjściu TTL/C-MOS: http://filmy.elektroda.net/65_1507479428.mp4 Zmiana częstotliwości na wyjściu HF: http://filmy.elektroda.net/61_1507479478.mp4 Edit 2017-10-10 Wprowadziłem małe zmiany w bloku analogowym związane z regulacja ofsetu (Anlog2.pdf). Spowoduje to odwrócenie generowanych przebiegów. W przypadku sinusa, trójkąta, prostokąta i innych symetrycznych nie ma to znaczenia, natomiast piłę trzeba zanegować w deklaracjach w pamięci FLASCH. Edit 2017-12-19 Zmiany w programie: - wszystkie klawisze obsługiwane zarówno gdy generator pracuje, jak i gdy jest wyłączony - obsługa z przez USB programu terminala - wirtualny LCD w programie terminala Wymagany Mega324 ponieważ wzorce przebiegów znajdują się w obszarze od 0x7000. Kolejne wersje będą używały obszaru BOOTLOADERA do zapisu FLASH z przebiegami użytkownika. Ustawienia fuses: FUSES_EXT 0xFC FUSES_HIGH 0x99 FUSES_LOW 0xFF Reakcja na wszystkie klawisze podczas pracy generatora. Widać także odwzorowanie zmian na ekranie terminala: http://filmy.elektroda.net/52_1513680404.mp4 Obsługa z terminala łącznie ze zmianą języka. Widać zmiany na LCD generatora. http://filmy.elektroda.net/62_1513680510.mp4 Edit 2017-12-20 Nowa wersja softu. Dostępne 3 wersje językowe (PL, EN, DE). Program znacznie zmodyfikowany, z oryginału zostało 10 może 15%. Z wielokrotnie powtarzających sie sekwencji rozkazów zrobiono funkcje. Obsługa klawiatury i wyświetlacza w petli głównej a nie w przerwaniach (autor miał jakieś dziwne podejście do tematu, powolna obsługa LCD w przerwaniu, czekanie na zwolnienie klawisza w przerwaniu). Teraz przerwanie (od klawiatury, usb) ustawia tylko flagę. Dzieki tym zabiegom enkoder dział pewnie przy dużych szybkościach zmian ustawianej wielkości a jednocześnie zapewnia dużą precyzję. Edit 2017-12-21 W załącznikach (Przebieg_USER-a.zip) soft umożliwiający załadowanie przebiegu użytkownika (plik IntelHex). Na razie tylko jeden. Czy zdecyduje sie na większą liczbę, nie wiem. Załadowanie przebiegu do FLASH to ułamek sekundy (230400kb/s). Edit 2017-12-22 Nowy soft z możliwością załadowania 4 przebiegów do flash i czterema wersjami językowymi. W archiwum znajdują się dodatkowe programy i wzory przebiegów.


1

2

TR1
TS8/28
1
J4

F1
2
1

D
J13
P12a

125mA

3
GNDaZ
8V/0,35A
230V
8
4
P12b
8V/0,35A
U4
7805

3
P8b

AC

DC-

1
2

DF06S

8V-12V

C13 C14
2200uF 100nF
L1

D2
3
2
1

A

H1
1
Otwor
H2
1
Otwor
H3
1
Otwor
H4
1
Otwor

F2
+12aZ
PTC 500mA

1

1N4007
C11
2200uF

8-12V

C15
100nF

C12
D3
2200uF

P12b
1N4007

+12aZ
GNDaZ
+5aZ
GNDaZ
-5aZ
GNDaZ
-12aZ

Vin Vout

C16
100nF 2

F3
-12aZ
PTC 500mA

Vin Vout

1
3
5
7
9
11
13
15
17
19

+12aZ
GNDaZ
+5aZ
GNDaZ
-5aZ
GNDaZ
-12aZ

Pomiar

VCCaZ

2
4
6
8
10
12
14
16
18
20

VCCaZ
GNDdZ

VCC
GND

+12aZ
GNDaZ
+5aZ
GNDaZ
-5aZ
GNDaZ
-12aZ

+12
+5
GNDA
-5
GNDA
-12

Vzas

C21
C17
100nF

U6
7805

1

B

P12a

VCCaZ
GNDdZ

1
3
5
7
9
11
13
15
17
19

2
4
6
8
10
12
14
16
18
20

VCC
GND
+12
ZW2
GNDA
0R
+5
GNDA
-5
GNDA
GNDA
-12

ZW1
0R

+5aZ

Name
Analog.sch

D[0..7]
Vttl
Ofset
Sync
Vwob

470uF

D[0..7]
Vttl
Ofset
Sync
Vwob

Name
Panel.sch

D[0..7]
Vttl
Ofset
Sync
Vwob

3

B

C22
VCCaZ
C18
100nF

470uF

C19

C20

3 100nF 470uF

U7
7905

GNDaZ

D1
Vcc

R31
560R

J1
GND
Title

-5aZ
GNDdZ

GNDpp

Size

Number

Revision

B
Date:
File:
1

C

Zasilacz

Name
Cyfra.sch

GNDdZ

68uH
J5

Vin Vout

VCCaZ
GNDdZ

J15

3

2

2
1

AC DC+

1

GND

P8a 4

J6

P8V

2

M1

GND

nie montujemy: M1 J6

GND

C

J14
1
2
3
4
5
6
7
8
9
10

5

230V

4

1

D

3

2

3

8-Oct-2017
Sheet of
d:\Dokumentacje\AVT\GeneratorDDS_Avr\PCB\Generator_V1.0.ddb
Drawn By:
4

A


Pobierz plik - link do postu