Programy, dyskusje dotyczące kitów AVT, autorstawa/współautorstawa Sławomira Skrzyńskiego

***** Musisz się zalogowac aby oglądac całe forum *****

Nie jesteś zalogowany na forum.

Motorola Moto G5s za 1zł

#1 2017-10-07 17:43:32

r-mik
Administrator
Dołączył: 2017-09-23
Liczba postów: 24
Windows XPFirefox 52.0

Opis i program

DDS_AVT_Przod.jpg DDS_AVR_30kHz_Fmeter_Rigol.jpg DDS_AVR_PCB.jpg
Odgrzebałem stary projekt (25 tydzień 2015 roku) głównie ze względu na konkurs organizowany przez NDN i Elektordę. Nie ma on szans na wygraną ale taki generator może się przydać bo jest tani. Prace wznowiłem wczoraj, PCB były zmontowane, pozostała walka z programem. Zmiany w stosunku do rozwiązań dostępnych w Internecie, sprzedawanych na Allego:
- Fmax 100kHz przy czym dobra jakość sygnału uzyskamy dla 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 w eeprom
- Obsługa enkodera
* zmiana częstotliwości podczas pracy generatora
* wybór parametru (częstotliwości, napięcia Vttl)
* szybka zmiana kroku (delty) częstotliwości (przycisk impulsatora) - nie dział podczas pracy generatora
- Migający kursor gdy generator pracuje
- 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


W przyszłości:
- sterowanie po USB
- ładowanie kilku własnych przebiegów do FLASH.


Poniżej przebieg sinusoidalny, przy czym ponad 100kHz to to trzeba mieć dużą wyobraźnie aby za taki go uznać.
DDS_AVR_92kHz.jpg
DDS_AVR_50kHz.jpg
DDS_AVR_100kHz.jpg
DDS_AVR_200kHz.jpg
DDS_AVR_300kHz.jpg
DDS_AVR_400kHz.jpg
DDS_AVR_500kHz.jpg
Jak widać na oscylogramach do ok 100kHz przebieg jest akceptowalny, ale jeśli komuś nie przeszkadzają "schody" to i 500kHz wyciągnie :-) Ponad 500kHz częstotliwość generowanego sygnału odbiega od ustawionej.


Filmy:
https://es2.000webhostapp.com/DDS_AVR_Zmiana_F.mp4
https://es2.000webhostapp.com/DDS_AVR_Z … fMeter.mp4
https://es2.000webhostapp.com/DDS_AVR_Zmiana_F.mp4
https://es2.000webhostapp.com/DDS_AVR_H … elniki.mp4
https://es2.000webhostapp.com/DDS_AVR_Vttl.mp4
https://es2.000webhostapp.com/DDS_AVR_O … it.mp4.mp4


2017-12-17
Wymieniłem uC na Mega324. Uruchomiłem komunikacje USB.  Teraz, w pierwszej kolejności, oprogramuje obsługę przerwań od wszystkich przycisków, dzięki czemu będzie można obsługiwać generator bez jego wyłączania także z klawiatury, a nie jak dotychczas tylko z enkodera.
Po tym, zrealizuje obsługę USB. Jako, ze mam zapas pamięci FLASH, użyje terminala ANSI. Na ekranie, widoczny będzie wirtualny wyświetlacz (jak w skanerze/emulatorze 1-Wire), obsługa kursorami, klawiszami + i - oraz spacją lub enter.
Ostatnie zadanie, to możliwość załadowania przebiegu z terminala (Xmodem) do generatora. Przebieg, docelowo, będzie zapamiętywany w pamięci FLASH, w pierwszych wersjach w RAM. Przewiduję możliwość załadowania kilku może kilkunastu przebiegów.


2017-12-21
Najnowsza wersja została napisana prawie od nowa. Niebyt dobre rozwiązanie obsługi LCD z _delay_ms() czy czekaniem na zmianę stanu klawisza w przerwaniu usunąłem. Użytkownik może załadować 3 własne przebiegi w pamięcie FLASH. Są to zwykłe pliki IntelHex zawierające 256 próbek sygnału. Wzór ładuje się kopiując plik IntelHex w okno terminala (wklej czy CTRL+V). To, w którą pamięć użytkownika zostanie załadowany wzór, zależy od tego, który akurat jest wyswietlany (User 1, User 2, User 3). Po załadowaniu generator jest wyłączany i trzeba go uruchomić (spcja). Klawiszologia:
- kursory góra/dół zwiększa/zmniejsz wyświetlana wartość lewo/prawo następne/poprzednie menu
- +/- < > działaja jak kursory
- spacja: start/stop generatora
- kropka: zmiana delty (emuluje przycisk enkodera)
- P, E, D (wielkie litery): wersje językowe

2017-12-22
Cztery wersje językowe (litera "C" - czeski) i pamięć na trzy własne przebiegi.
https://es2.000webhostapp.com/DDS_AVR_L … ygnalu.mp4

Program, dokumentacja Jeśli nie masz dostępu do linku, zaloguj się

Offline

Użytkowników czytających ten temat: 0, gości: 1
[Bot] CCBot

Stopka

Forum oparte na FluxBB