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:https://filmy.elektroda.pl/20_1507478345.mp4 Zmiana częstotliwości w czasie pracy generatora: https://filmy.elektroda.pl/50_1507479286.mp4 Zmiana amplitudy na wyjściu TTL/C-MOS: https://filmy.elektroda.pl/65_1507479428.mp4 Zmiana częstotliwości na wyjściu HF: https://filmy.elektroda.pl/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: https://filmy.elektroda.pl/52_1513680404.mp4 Obsługa z terminala łącznie ze zmianą języka. Widać zmiany na LCD generatora. https://filmy.elektroda.pl/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