Nie jesteś zalogowany na forum.
Strony: 1
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ć.
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
Strony: 1