Ostatnio na forum Elektrody pojawił się bardzo ambitny wspólny projekt DSO, ale będzie to prawdopodobnie długoterminowa praca grupy osób. Chciałbym ze swojej strony zaproponować szybkie zrealizowanie czegoś innego, mianowicie urzeczywistnienie w formie profesjonalnej mojego gotowego i działającego projektu przenośnego generatora DDS.
ANKIETA: https://goo.gl/forms/qFlNwbO7Se47mYVO2
WYNIKI ANKIETY: Link
Czy warto?
Przede wszystkim chciałbym poprosić Was o wypowiedzenie się w kwestii zasadności realizacji takiego projektu. Czy takie urządzenie przyda się w Waszym warsztacie. Może będzie szansa na pojawienie się wspólnie zaprojektowanego generatora DDS w sklepiku elektrody? To byłoby urządzenie zrobione przez nas dla nas. Przede wszystkim chodzi tutaj o projekty relatywnie proste, tanie, skierowane do początkujących i elektroników hobbystów, pozwalające na doposażenie warsztatu. Tutaj pytanie do @gulson czy jest możliwość ewoluowania projektu w kierunku produktu który pojawi się w sklepiku elektroda.pl?
Moja motywacja.
Realizacja tego projektu nie wiąże się dla mnie z żadnymi zyskami finansowymi – ma charakter ‘non profit’. Chciałem udostępnić swoją pracę w nadziei, że przyda się jeszcze komuś a przy okazji będziemy się przy tym uczyć nowych rzeczy. Mam też nadzieję, że jest to dopiero początek i zaczniemy się dzielić swoimi gotowymi projektami mając w zamyśle wzbogacenie oferty sklepiku o projekty Nasze, a nie tylko sprowadzone z krajów dalekiego wschodu.
Mój projekt jest prosty i tani w realizacji, a także typowo amatorski, ale przy niewielkiej ilości elementów pozwala osiągnąć ciekawe rezultaty. Jeśli wykażecie zainteresowanie i uznacie to za warte realizacji, to może zwiększy to szansę na pojawienie się efektu naszej pracy w postaci gadżetu w sklepiku elektrody.
Mam nadzieję, że wiele osób zaczynających swoją przygodę z elektroniką mogłoby dzięki temu dostać do ręki pierwszy generator z cyfrową regulacją amplitudy, który będzie zarazem ‘tańszy’ jak i lepszy od chińskich odpowiedników.
Olbrzymia prośba do bardziej zaawansowanych użytkowników.
Czy chcielibyście pomóc w zaprojektowaniu PCB i wprowadzeniu poprawek czy to w oprogramowaniu czy sprzętowych do projektu, aby nie zwiększając nadmiernie kosztów poprawić funkcjonalność projektu?
Obecne cechy urządzenia:
Dwa kanały:
-jeden 1# DDS,
-drugi 2# HS.
Trzecie wyjście to kanał #1 przez kondensator (AC i DC). Kanały pracują równolegle. Zmiana parametrów odbywa się podczas generowania - urządzenie pozostaje responsywne.
1#:
- sygnał - sinus, piła, odwrotna piła, prostokąt, ekg, szum, trójkąt
- częstotliwość - 20Hz do 100kHz (krok 20Hz), - opcja software-owego wyłączenia i włączenia generowania.
- amplituda od 100mV do 5V
- dla sygnału prostokątnego jest możliwość regulacji wypełnienia
2#:
- sygnał prostokątny
- częstotliwość - 200Hz - 10MHz (wyższe częstotliwości mają duże kroki 1,2,5,10MHz).
Zastosowane komponenty:
ATMEGA 16A 20MHz (przetaktowana, użycie 16MHz wymaga zmian w kodzie), opamp MCP 6022.
Opcjonalne zasilanie bateryjne, pojedyncze ogniwo 18650 Li-Ion z typową aplikacją ładowarki Li-Pol TP4056 pojedyncza cela 1S 3,7V microUSB z zabezpieczeniami oraz wyjście 5V na taniej przetwornicy "własny power bank" do 500mA.
Schematy:
Co wyróżnia mój generator spośród wielu gotowych rozwiązań?
A. Logiczny interfejs z pojedynczym klikalnym enkoderem.
B. Przestrajanie w locie podczas generowania sygnału (krok 20Hz).
C. Cyfrowa regulacja amplitudy.
D. Zasilanie bateryjne.
E. Czytelny kod napisany przeze mnie (można sobie łatwo dodać inne moduły).
F. Minimalna ilość elementów.
Oprogramowanie jest pisane w C++ pod Arduino IDE. Wiem, że wiele osób cechuje być może słuszna niechęć do tego środowiska, ale mnie się podoba przyspieszenie tworzenia projektów poprzez mądre stosowanie przygotowanych modułów i funkcji oraz potencjalna łatwiejsza przenośność projektu na inną platformę sprzętową. Zmiany wymagają bowiem jedynie funkcje niskopoziomowe.
Co można poprawić?
a). Wyjście DDS jest terminowane 50 ohm ale nie jest w stanie dostarczyć odpowiedniego prądu do obciążenia. Można nad tym popracować (może tranzystor w układzie sprzężenia zwrotnego wzmacniacza operacyjnego?).
b). Ewentualne dodanie modułu FTDI / podobnego i napisanie oprogramowania PC bazującego na porcie szeregowym celem zaopatrzenia generatora w zewnętrzną obsługę z poziomu PC przez USB, w najprostszej formie rysowanie przebiegu i jego wysyłanie do generowania – może wymagać użycia ATMEGA 32A zamiast 16A.
c). Ewentualne zabezpieczenie wyjścia przed wysokim napięciem (zwarcie nawet w obecnej formie nie robi mu krzywdy, bo opamp jest przed nim zabezpieczony).
d). Do rozważenia realizacja generatora na innym procesorze poprawiającym parametry układu, choć jestem niechętny temu przynajmniej w pierwszej wersji, ze względu na niekończące się dyskusje co jest lepsze. Moim zdaniem odwodzi to od realizacji konstrukcji.
Strona projektu na którym byłby bazowany wspólny projekt – https://www.elektroda.pl/rtvforum/topic3388293.html
Proszę o wszelkie komentarze za i przeciw oraz ewentualną chęć pomocy, będzie potrzebna:
1. Dyskusja nad zasadnością realizacji tego projektu w opisanej formie.
2. Dyskusja nad poprawkami konstrukcji.
3. Dyskusja nad UI.
4. Rewizja kodu programu z uwzględnieniem punktu 2 i 3.
5. Zaprojektowanie PCB z wyprowadzeniem złącza ISP do programowania.
6. Pomoc przy tworzeniu projektu obudowy (CAD).
7. Pomysły i sugestie a propos dalszego rozwoju projektu po zrealizowaniu wersji pierwszej.
W miarę możliwości proszę o oznaczanie tymi cyferkami swoich przemyśleń lub chęci współpracy, żebyśmy się nie pogubili kto do czego się odnosi.
AKTUALIZACJE:
2019.02.09: Pliki zostały przesłane na github. Zapraszam do wprowadzania modyfikacji i testowania: https://github.com/antistorm/dds
2019.02.09: Wersja w pełni obiektowa - łatwiejsza do obejrzenia, podzielona na osobne pliki:
https://github.com/antistorm/dds/tree/master/fully-objected-dds
2019.02.10-11: Pojawiły się pomysły obejrzenia jak zbudowane są zewnętrzne projekty: Arduino based DDS Signal generator using AD9851 oraz https://sp8qep.wordpress.com/2017/09/28/nanodds/
2019.02.12: Temat rozważań technicznych wydaje się już w dużej mierze 'przegadany'. Dodałem więc ankietę z Waszymi finalnymi oczekiwaniami co do urządzenia: https://goo.gl/forms/qFlNwbO7Se47mYVO2
WYNIKI ANKIETY: Link
DYSKUTOWANE PROPOZYCJE:
- STM32 i wewnętrzny DAC,Tanie STM32 mają DAC o prędkości do około 1MSPS, ATMEGA 20MHz dostarcza około 1.3MSPS. Brak widocznej przewagi.
- ATXMEGA32A4U
- STM32 i zewnętrzmy DAC - ? Proszę o propozycje modeli i rozwiązań.
- ESP32 i edytor przebiegów pod PC - ESP32 może zapewnić funkcje smart.
- FPGA - wysoka cena, niewielka grupa osób umie coś z tym zrobić
- AD9850 - tylko sinus/prostokąt. Wysoka cena w PL (70zł/szt). Na Aliexpress cena (jak się okazuje) jest sporo niższa.
- inny zewnętrzny moduł DDS z procesorem pracującym we front-end.
OBECNE USTALENIA:
- Kod programu jest dostępny na github do Waszego wglądu i modyfikacji.
- Przechodzimy na smd w całości.
- Klikalny enkoder obrotowy w UI jest dobrym pomysłem.
ANKIETA: https://goo.gl/forms/qFlNwbO7Se47mYVO2
WYNIKI ANKIETY: Link
Czy warto?
Przede wszystkim chciałbym poprosić Was o wypowiedzenie się w kwestii zasadności realizacji takiego projektu. Czy takie urządzenie przyda się w Waszym warsztacie. Może będzie szansa na pojawienie się wspólnie zaprojektowanego generatora DDS w sklepiku elektrody? To byłoby urządzenie zrobione przez nas dla nas. Przede wszystkim chodzi tutaj o projekty relatywnie proste, tanie, skierowane do początkujących i elektroników hobbystów, pozwalające na doposażenie warsztatu. Tutaj pytanie do @gulson czy jest możliwość ewoluowania projektu w kierunku produktu który pojawi się w sklepiku elektroda.pl?
Moja motywacja.
Realizacja tego projektu nie wiąże się dla mnie z żadnymi zyskami finansowymi – ma charakter ‘non profit’. Chciałem udostępnić swoją pracę w nadziei, że przyda się jeszcze komuś a przy okazji będziemy się przy tym uczyć nowych rzeczy. Mam też nadzieję, że jest to dopiero początek i zaczniemy się dzielić swoimi gotowymi projektami mając w zamyśle wzbogacenie oferty sklepiku o projekty Nasze, a nie tylko sprowadzone z krajów dalekiego wschodu.
Mój projekt jest prosty i tani w realizacji, a także typowo amatorski, ale przy niewielkiej ilości elementów pozwala osiągnąć ciekawe rezultaty. Jeśli wykażecie zainteresowanie i uznacie to za warte realizacji, to może zwiększy to szansę na pojawienie się efektu naszej pracy w postaci gadżetu w sklepiku elektrody.
Mam nadzieję, że wiele osób zaczynających swoją przygodę z elektroniką mogłoby dzięki temu dostać do ręki pierwszy generator z cyfrową regulacją amplitudy, który będzie zarazem ‘tańszy’ jak i lepszy od chińskich odpowiedników.
Olbrzymia prośba do bardziej zaawansowanych użytkowników.
Czy chcielibyście pomóc w zaprojektowaniu PCB i wprowadzeniu poprawek czy to w oprogramowaniu czy sprzętowych do projektu, aby nie zwiększając nadmiernie kosztów poprawić funkcjonalność projektu?
Obecne cechy urządzenia:
Dwa kanały:
-jeden 1# DDS,
-drugi 2# HS.
Trzecie wyjście to kanał #1 przez kondensator (AC i DC). Kanały pracują równolegle. Zmiana parametrów odbywa się podczas generowania - urządzenie pozostaje responsywne.
1#:
- sygnał - sinus, piła, odwrotna piła, prostokąt, ekg, szum, trójkąt
- częstotliwość - 20Hz do 100kHz (krok 20Hz), - opcja software-owego wyłączenia i włączenia generowania.
- amplituda od 100mV do 5V
- dla sygnału prostokątnego jest możliwość regulacji wypełnienia
2#:
- sygnał prostokątny
- częstotliwość - 200Hz - 10MHz (wyższe częstotliwości mają duże kroki 1,2,5,10MHz).
Zastosowane komponenty:
ATMEGA 16A 20MHz (przetaktowana, użycie 16MHz wymaga zmian w kodzie), opamp MCP 6022.
Opcjonalne zasilanie bateryjne, pojedyncze ogniwo 18650 Li-Ion z typową aplikacją ładowarki Li-Pol TP4056 pojedyncza cela 1S 3,7V microUSB z zabezpieczeniami oraz wyjście 5V na taniej przetwornicy "własny power bank" do 500mA.
Schematy:


Co wyróżnia mój generator spośród wielu gotowych rozwiązań?
A. Logiczny interfejs z pojedynczym klikalnym enkoderem.
B. Przestrajanie w locie podczas generowania sygnału (krok 20Hz).
C. Cyfrowa regulacja amplitudy.
D. Zasilanie bateryjne.
E. Czytelny kod napisany przeze mnie (można sobie łatwo dodać inne moduły).
F. Minimalna ilość elementów.
Oprogramowanie jest pisane w C++ pod Arduino IDE. Wiem, że wiele osób cechuje być może słuszna niechęć do tego środowiska, ale mnie się podoba przyspieszenie tworzenia projektów poprzez mądre stosowanie przygotowanych modułów i funkcji oraz potencjalna łatwiejsza przenośność projektu na inną platformę sprzętową. Zmiany wymagają bowiem jedynie funkcje niskopoziomowe.
Co można poprawić?
a). Wyjście DDS jest terminowane 50 ohm ale nie jest w stanie dostarczyć odpowiedniego prądu do obciążenia. Można nad tym popracować (może tranzystor w układzie sprzężenia zwrotnego wzmacniacza operacyjnego?).
b). Ewentualne dodanie modułu FTDI / podobnego i napisanie oprogramowania PC bazującego na porcie szeregowym celem zaopatrzenia generatora w zewnętrzną obsługę z poziomu PC przez USB, w najprostszej formie rysowanie przebiegu i jego wysyłanie do generowania – może wymagać użycia ATMEGA 32A zamiast 16A.
c). Ewentualne zabezpieczenie wyjścia przed wysokim napięciem (zwarcie nawet w obecnej formie nie robi mu krzywdy, bo opamp jest przed nim zabezpieczony).
d). Do rozważenia realizacja generatora na innym procesorze poprawiającym parametry układu, choć jestem niechętny temu przynajmniej w pierwszej wersji, ze względu na niekończące się dyskusje co jest lepsze. Moim zdaniem odwodzi to od realizacji konstrukcji.
Strona projektu na którym byłby bazowany wspólny projekt – https://www.elektroda.pl/rtvforum/topic3388293.html
Proszę o wszelkie komentarze za i przeciw oraz ewentualną chęć pomocy, będzie potrzebna:
1. Dyskusja nad zasadnością realizacji tego projektu w opisanej formie.
2. Dyskusja nad poprawkami konstrukcji.
3. Dyskusja nad UI.
4. Rewizja kodu programu z uwzględnieniem punktu 2 i 3.
5. Zaprojektowanie PCB z wyprowadzeniem złącza ISP do programowania.
6. Pomoc przy tworzeniu projektu obudowy (CAD).
7. Pomysły i sugestie a propos dalszego rozwoju projektu po zrealizowaniu wersji pierwszej.
W miarę możliwości proszę o oznaczanie tymi cyferkami swoich przemyśleń lub chęci współpracy, żebyśmy się nie pogubili kto do czego się odnosi.
AKTUALIZACJE:
2019.02.09: Pliki zostały przesłane na github. Zapraszam do wprowadzania modyfikacji i testowania: https://github.com/antistorm/dds
2019.02.09: Wersja w pełni obiektowa - łatwiejsza do obejrzenia, podzielona na osobne pliki:
https://github.com/antistorm/dds/tree/master/fully-objected-dds
2019.02.10-11: Pojawiły się pomysły obejrzenia jak zbudowane są zewnętrzne projekty: Arduino based DDS Signal generator using AD9851 oraz https://sp8qep.wordpress.com/2017/09/28/nanodds/
2019.02.12: Temat rozważań technicznych wydaje się już w dużej mierze 'przegadany'. Dodałem więc ankietę z Waszymi finalnymi oczekiwaniami co do urządzenia: https://goo.gl/forms/qFlNwbO7Se47mYVO2
WYNIKI ANKIETY: Link
DYSKUTOWANE PROPOZYCJE:
- STM32 i wewnętrzny DAC,

- ATXMEGA32A4U
- STM32 i zewnętrzmy DAC - ? Proszę o propozycje modeli i rozwiązań.
- ESP32 i edytor przebiegów pod PC - ESP32 może zapewnić funkcje smart.
- FPGA - wysoka cena, niewielka grupa osób umie coś z tym zrobić

- AD9850 - tylko sinus/prostokąt. Wysoka cena w PL (70zł/szt). Na Aliexpress cena (jak się okazuje) jest sporo niższa.
- inny zewnętrzny moduł DDS z procesorem pracującym we front-end.
OBECNE USTALENIA:
- Kod programu jest dostępny na github do Waszego wglądu i modyfikacji.
- Przechodzimy na smd w całości.
- Klikalny enkoder obrotowy w UI jest dobrym pomysłem.
Cool? Ranking DIY