Elektroda.pl
Elektroda.pl
X
Please add exception to AdBlock for elektroda.pl.
If you watch the ads, you support portal and users.

Zaawansowana 45MHz sonda logiczna z pomiarem częstotliwości, czasu i oscyloskop

LChucki 20 Feb 2019 12:41 41769 282
Altium Designer Computer Controls
  • #121
    LChucki
    Level 31  
    zgierzman wrote:
    Zapytaj u producenta.
    Ja kiedyś (dawno, kilka lat temu) zamawiałem u nich te obudowy: (...)

    Spróbuję.
    Wymaga to co prawda poznania kolejnego programu aby zrobić rysunek. Dotychczas, takimi sprawami, zajmowała się kompetentna osoba, dostawała odręczny rysunek, PCB, prototyp, wymiary z Protela i robiła co do niej należało.

    ecoino wrote:
    Nie wiem o jakiej ilości obudów do obrobienia Kolega myśl

    Pierwsza seria to 20szt gotowego produktu. Na razie wiem, że uruchomienie składania na automatach to ok 400..500zł. Daje to na sztukę 16..20zł (zamawiam 25 PCB). Jeśli cena sondy miałaby przekroczyć 200zł to będę składał ręcznie albo szukał chętnego do tej roboty.
    Na pierwszej serii sond nie muszę zarobić, ważne abym nie dopłacił do biznesu.
  • Altium Designer Computer Controls
  • #123
    LChucki
    Level 31  
    Krzysztof Kamienski wrote:
    @LChucki Aluminiowej frezowanej ? za 30 zł ? Przecież to grosze.

    Na myśli miałem frezowaną KM-80.
  • Altium Designer Computer Controls
  • #124
    ecoino
    Level 11  
    Czy te 25 szt. to Kolega zamawia w postaci formatki ?
    Pytam , ponieważ jeśli nie , to później przy ewentualnej dużej produkcji ( czego życzę !) będzie trochę niewygodnie operować jedną płytką .
    W grę wchodzi również szablon do nakładania pasty , dla większej produkcji nie wyobrażam sobie montażu bez szablonu.
    Jeśli teraz Kolega pominie ten etap później czekają dodatkowe koszty , chyba że zostanie się przy opcji wytwarzania partiami np. po 25szt.
    Tak czy inaczej moja oferta jest aktualna , chętnie pomogę , proszę o kontakt na priv
  • #125
    LChucki
    Level 31  
    ecoino wrote:
    Czy te 25 szt. to Kolega zamawia w postaci formatki ?

    Tak to się realizuje ale nie ja organizuję produkcję.

    ecoino wrote:
    chyba że zostanie się przy opcji wytwarzania partiami np. po 25szt.

    Pewnie tak będzie. Jeśli natomiast będzie dużo zamówień, to dodatkowe, jednorazowe koszty kilkuset złotych za nowe szablony itp to nie problem bo rozkłada się na np 100 szt.
  • #126
    Wawrzyniec
    Level 37  
    Ja też byłbym chętny, oczywiście na wersję Pro.
  • #127
    LChucki
    Level 31  
    Wawrzyniec wrote:
    Ja też byłbym chętny, oczywiście na wersję Pro.

    ok.

    Uruchomiłem kolorowy OLED
    Zaawansowana 45MHz sonda logiczna z pomiarem częstotliwości, czasu i oscyloskop
    Są jednak problemy. Brakuje RAM :-( Musze dokładniej przyjrzeć się bibliotece, może gdzieś autor zapomniał dodać const?
    Inny problem to szybkość obsługi wyświetlacza. Max SCK to 6,6MHz. Co prawda działa na 18MHz ale wiadomo... Dam więc możliwość wyboru 18, 9, 4.5MHz. Ponadto, nie mam na tyle RAM aby zbuforować cały wyświetlacz i wysłać przez DMA. Będę więc musiał kombinować, zwłaszcza w oscyloskopie. Wszystko to jest spowodowane tym, że pierwotnie, nie zakładałem użycia wyświetlacza kolorowego. Na szczęście wersja PRO ma dwa złącza pod LCD. Można więc będzie programowo wybrać kolor lub mono a może raczej automatycznie, jak nie ma mono (I2C) to obsługuję kolor.
    Ta wtopa przydała się o tyle, ze w sondzie-oscyloskopie 50Ms/s użyję uC z 64kB RAM.
  • #128
    Janusz_kk
    Level 35  
    Ale chyba jakieś poprawki będziesz robił w tym projekcie i czy w ich ramach nie da się dać
    procka z wiecej ram?
  • #129
    LChucki
    Level 31  
    W 48pin F103 max 20kRAM. Mam już "mądry" algorytm, który ok 6 razy przyspieszy rysowanie wykresu.
    Z kolorowym OLED jest jeszcze problem orientacji ekranu. Ze względu na wymiary będzie to 64x96 a nie 96x64. Wymaga to innego rozmieszczenia napisów na ekranie albo sondę trzeba by trzymać w sposób niezbyt naturalny. Zrobię próby i pokażę foto i filmy z działania.

    Dodano po 2 [godziny] 25 [minuty]:

    Bibliotekę do SSD1331 wziąłem z Arduino i bardzo tego żałuję. Nie używa ona okna, komend kasowania czy wypełniania prostokątów, wszystko to stawianie pikseli. Trzeba będzie poświęcić kolejny dzień na LCD aby wykorzystać sprzętowe możliwości wyświetlacza, bo powolne Arduino, używa powolnego rysowania punkt po punkcie, za każdym razem wysyłając CMD, X, Y, kolor zamiast zdefiniować okno i wysłać wymaganą ilość danych.

    Może któryś z kolegów ma normalną bibliotekę do SSD1331?
  • #130
    khoam
    Level 41  
    LChucki wrote:
    Bibliotekę do SSD1331 wziąłem z Arduino to bardzo tego żałuję.

    Adafruit? Nie dziwie się, już kiedyś o tym koledze pisałem :)
    A może ta?: Link
  • #131
    LChucki
    Level 31  
    khoam wrote:
    Adafruit? Nie dziwie się

    Im bardziej znam Arduino tym bardziej mi się niepodoba.

    khoam wrote:
    A może ta?: Link

    Nie znalazłem tam 1331 ale trafiłem na to https://os.mbed.com/users/star297/code/ssd1331/


    Oscyloskop ruszył:
    Zaawansowana 45MHz sonda logiczna z pomiarem częstotliwości, czasu i oscyloskop
    Nie zmodyfikowałem jeszcze biblioteki, bo w przypadku oscyloskopu i tak rysuję punkt po punkcie kasując wcześniej poprzedni punkt. Dzięki temu, zamiast przesyłać ponad 12kB (używając mechanizmu okna, bo głupia biblioteka Arduino*** prześle prawie 50kB) przesyłam 1536bajtów. Transmisja oscylogramu i wyników pomiarów trwa ok 40ms.
    Mnie się kolorowy wyświetlacz podoba :-)
    To podobanie się kosztowało ok 10 godzin pracy.

    Przy okazji, próbkowanie 1Ms/s:
    Zaawansowana 45MHz sonda logiczna z pomiarem częstotliwości, czasu i oscyloskop
    Sinusoida 20kHz. Jak będzie wyglądać 200kHz? Takie pasmo deklaruje DSO138. Przed zakupem DSO radzę się zastanowić.


    *** i mam nie hejtować Arduino? Samo się o to prosi.
  • #132
    cooltygrysek
    Conditionally unlocked
    Ten kolorowy LCD jest o niebo lepszy, ma lepszy kontrast co przekłada się na lepsza czytelność. Niech kolega dalej pracuje zachęcam, będzie lepszy końcowy produkt. Co do pamięci to czasem warto projektować z dużym zapasem właśnie na takie ewentualne zmiany projektowe a w końcowym prototypie pamięć o docelowej pojemności. :-)
  • #133
    khoam
    Level 41  
    LChucki wrote:
    Nie znalazłem tam 1331

    Krótko szukałeś :) https://github.com/lexus2k/ssd1306
    To że w nazwie jest ssd1306 może być trochę mylące, ale:
    Code: html
    Log in, to see the code


    Dodano po 6 [minuty]:

    cooltygrysek wrote:
    Ten kolorowy LCD jest o niebo lepszy, ma lepszy kontrast co przekłada się na lepsza czytelność.

    No to może e-ink? Trzykolorowy powinien wystarczyć ;)
  • #134
    LChucki
    Level 31  
    cooltygrysek wrote:
    Ten kolorowy LCD jest o niebo lepszy, ma lepszy kontrast

    Nie ma lepszego. Mają taki sam.

    cooltygrysek wrote:
    Niech kolega dalej pracuje zachęcam

    Łatwiej powiedzieć niż zrobić. Mam za mało RAM o czym pisałem, więc musze korzystać ze wspomagania sprzetowego. Mimo, iż nowsza biblioteka sprzętowo rysuje linie, wypełnia obszary a nawet rysuje kółka, to przy tekstach korzysta w pint po punkcie. Przerobiłem już i korzystam z okna, więc przyspieszenie 6 razy. Niestety, teraz muszę wczytać się w notę i pobawić się kierunkiem rysowania, gdy ekran będzie obrócony.

    khoam wrote:
    No to może e-ink? Trzykolorowy powinien wystarczyć

    Pytanie retoryczne, jakie mają max odświeżanie?
  • #135
    cooltygrysek
    Conditionally unlocked
    LChucki wrote:
    cooltygrysek napisał:
    Ten kolorowy LCD jest o niebo lepszy, ma lepszy kontrast


    Nie ma lepszego. Mają taki sam.


    na focie inaczej to wygląda wiec być może. :-)
  • #136
    Tassadar
    Level 11  
    A czy nie bylby wygodniejszy w oprogramowaniu kolorowy wyświetlacz od Chińczyków ILI? Widzę ze zmieściły się w obudowie. Tak pytam, bo się nie znam.
  • #137
    LChucki
    Level 31  
    Tassadar wrote:
    A czy nie bylby wygodniejszy w oprogramowaniu kolorowy wyświetlacz od Chińczyków ILI?

    Daj link do wyświetlacza, może użyje w następnych projektach.

    Co do wygody programowania, to problemem jest RAM uC. Jak bufor wyświetlacza mieści się w RAM uC, to na nim wykonuje operacje po czym uruchamiam DMA, które szybko wysyła je do wyświetlaca. Do przesłania jest mało danych, bo CMD, ustawienie okna X1, X2, Y1, Y2 i dane w liczbie X * Y * 2 dla 16-bit koloru.
    Gdy RAm mam za mało, to trzeba pisać po "Arduinowemu". Nie mogę zrobić CLS i narysować przebiegu punk po punkcie bo będzie widać migotanie ekranu. Danych wysyła się sporo, bo każdy piksel to 6 bajtów (CMD, coś_tam, x, y, kolor L, kolor H).
    Aby nie było migotania robię tak w pętli 0..SZEROKOSC_EKRANU:
    - if ( prev[x] == punkt siatki ) setPiksel( x, prev[x], kolor_siatki) else setPiksel( x, prev[x], kolor_tła );
    - setPiksel( x, buforAdc[x], kolor_siatki);
    - prev[x] = buforAdc[x];
    Dzięki temu, poprzednia treść obrazu jest przywracana a na nią nanoszona nowa punkt po punkcie, dzięki temu nie widać migania. Niestety, taka zabawa to dodatkowe 6..8 godzin pracy nad projektem.

    To już zrobiłem teraz kolejna walka z ekranem pokazującym stany logiczne i wyniki pomiarów. Proste rozwiązanie powoduje miganie (nawet się rymuje, może sondę nazwę Amiga?). Musze więc stworzyć w RAM bufor części ekranu, np 24x64 (ekran jest obrócony o 90 stopni) co wystarcza na 2 linie ekranu czcionki 24x8. Na to wystarczy 256 barw na co potrzebuję 1536bajtów (co na to użytkownicy Arduino UNO?). Obraz rysuje na wirtualnym ekranie po czym ustawiam okno wyświetlania i wysyłam 1536*2+8 bajtów do wyświetlacza. Powtarzam to dla kolejnych fragmentów ekranu. Skomplikowane ale pozwala mi używać CLS na fragmencie ekranu i nie ma migotania.

    Można oczywiście pisać takim sposobem prawie wszystko mając niewiele RAM uC ale jak widać, wymaga to dużego nakładu pracy a efekt jest taki sobie. Teraz może niektóry zrozumieją, dlaczego stawki za opracowanie projektu na AVR mam 2 razy wyższe niż na ARM. Oczywiście cały czas wspomagam sie debugerem i tu znów dlaczego za projekt na Arduino kasuję 4 razy tyle co za ARM.

    Gdyby nie był to projekt wyjątkowo niskobudżetowy i gdyby nie fakt, że już robią się prototypowe PCB, dałbym większy uC i po kłopocie, bo na kolorowy wyświetlacz i walkę z małym RAM, straciłem już dwa dni a pewnie dojdą dwa kolejne.


    [EDIT]Godzina 20:00
    Skończyłem bufor na 1/4 ekranu oraz obsługę/wyświetlanie błędów HardFault, MemManage, BusFault, UsageFault, _Error_Handler, assert_failed oraz kontrolę buforów na strnigi w RAM. Krótko, ok 9 kolejnych godzin pracy. Teraz czas na wykorzystanie dobrodziejstw jakie daje bufor wyświetlacza.

    Godzina 23:20
    Co w mono to i w kolorze:
    Zaawansowana 45MHz sonda logiczna z pomiarem częstotliwości, czasu i oscyloskop
    Trzeba to jeszcze przetestować.
    Widać więc, że da się po "Arduinowemu" obsługiwać wyświetlacz, mając do dyspozycji skrawek RAM, ale jest to upierdliwe i ma ograniczenia. Trzeba też uwzględnić, że pochłonie to dwa dodatkowe dni robocze. Zdecydowanie prościej i taniej (przy małych seriach) zastosować uC o odpowiednich zasobach. Dodatkowym atutem jest fakt, że DMA może rozwinąć skrzydła.Teraz, nie korzystam z DMA dla kolorowego LCD bo zysk byłby znikomy. Aktualnie, czas obsługi LCD wygląda to tak:
    - ekran oscyloskopu: 20ms
    - ekran sondy cyfrowej: 40ms (4 x 10)
    Ekrany są odświeżane 10 razy na sekundę, więc sporo czasu zajmuje wyświetlanie ale nie ma się czym przejmować, bo ADC obsługiwany jest przez DMA i CPU przez większość czasu nudzi się :-)



  • #138
    Matheu
    Level 23  
    LChucki wrote:
    Widać więc, że da się po "Arduinowemu" obsługiwać wyświetlacz, mając do dyspozycji skrawek RAM, ale jest to upierdliwe i ma ograniczenia. Trzeba też uwzględnić, że pochłonie to dwa dodatkowe dni robocze. Zdecydowanie prościej i taniej (przy małych seriach) zastosować uC o odpowiednich zasobach.
    LChucki - to w takim razie- może już teraz warto zminić procesor na taki, o większych możliwościach (choćby był nieco droższy)?
    Bo tak, czy siak - chyba i tak będzie trzeba to zrobić, prawda?
  • #139
    amator2000
    Level 24  
    Nowy procesor to software pisanie od początku, kolejne godziny spędzone nad projektem, i cena kompletnego egzemplarza pewno znów poszybuje ...
    :D
  • #140
    LChucki
    Level 31  
    Matheu wrote:
    może już teraz warto zminić procesor na taki, o większych możliwościach (choćby był nieco droższy)?
    Bo tak, czy siak - chyba i tak będzie trzeba to zrobić, prawda?

    Większy RAM w F103 jest dopiero w uC 48pin więc zmiana uC to kolejny prototyp i kolejne prototypowe PCB a to oznacza dodatkowe koszty i przedłużenie wszystkiego o ok 2..3 tygodnie albo 2 razy większe koszty i przedłużenie o ok tydzień.
    Na tą chwilę zmiana uC nie ma sensu. Bufor 1/4 ekranu wystarcza w tym zastosowaniu, chyba, że ktoś zażyczy sobie tło ze swoim logo.

    amator2000 wrote:
    Nowy procesor to software pisanie od początku

    Nie od początku ale pewnie kolejny dzień pracy.

    W sofcie mały dodatek:
    Zaawansowana 45MHz sonda logiczna z pomiarem częstotliwości, czasu i oscyloskop
    Procentowa wartość napięcia w stanach "H" i "L".

    Cyfrowa kopia OLED RBG:
    Zaawansowana 45MHz sonda logiczna z pomiarem częstotliwości, czasu i oscyloskop


    2019-03-01
    Dotarły do mnie prototypowe PCB wersji PRO:
    Zaawansowana 45MHz sonda logiczna z pomiarem częstotliwości, czasu i oscyloskop
    Elementy mam, więc składam i testuję. Jak ok może rozpocząć się produkcja ( wielka produkcja, 25 szt :-) ).
    W międzyczasie, dopiszę soft umożliwiający modyfikację progu zadziałania komparatorów.
    Cena brutto sondy PRO 200zł. Niższa może być, gdy skala produkcji się zwiększy. Aby zrekompensować wysoka cenę pierwszych sond, FULL opcje będą dla nich bezpłatne do końca świata i dzień dłużej.
    Wersja standard, zaprezentowana w wątku, 150zł ale na ta chwilę nie przewiduję produkcji. Na 90% będą dostępne PCB.

    Przy okazji, najnowszy soft w załączniku.
    Historia zmian:
    // v0.53 Symbol fali (z "/\/" na kolorowym LCD gdy przebieg prostokątny
    // v0.52 Print Screen kolor
    // v0.51 Bufor na 1/4 LCD
    // v0.50 Kolory LCD
    // v0.31 SOF USB
    // v0.30 W stopce hardware
    // v0.29 Gdy nie można zmierzyć okresu wyliczanie na podstawie częstotliwości
    // v0.28 Konfiguracja funkcji przycisku testującego wyjście OC(OD) oraz czasu reakcji
    // v0.27 DMA ADC tryb jednorazowy
    // v0.26 Wyświetlanie max samplowania, pomiaru czasu, częstotliwości
    // v0.25 Wstępne opcje licencjonowania
    // v0.24 Liczba zakresów podstawy czasu oscyloskopu w EEprom
    // v0.23 Help, leworęczni w EEprom
    // v0.22 Zmienna dla leworęcznych
    // v0.20 Wyświetlając stan trzeci ("T") informuje procentowo o wartości napięcia na wejściu sondy.
  • #141
    Jarzabek666
    Level 37  
    Tak jeszcze rozmyślam gdyby ktoś chciał zasilać akumulatorkiem przez J3 czy soft może uwzględnić dłuższą bezczynność i przejście na głębokie uśpienie?
  • #142
    LChucki
    Level 31  
    Jarzabek666 wrote:
    Tak jeszcze rozmyślam gdyby ktoś chciał zasilać akumulatorkiem przez J3 czy soft może uwzględnić dłuższą bezczynność i przejście na głębokie uśpienie?

    Nie ma problemu aby uśpić uC i wyświetlacz. Nawet szczęśliwie do PA0 doprowadzono Vin co daje możliwość wybudzenie uC.
    Dopiszę taką opcję do realizacji ale czy i kiedy zrealizuję, zależy od zainteresowania klientów.

    Dodano po 19 [godziny]:

    Sonda ruszyła:
    Zaawansowana 45MHz sonda logiczna z pomiarem częstotliwości, czasu i oscyloskop Zaawansowana 45MHz sonda logiczna z pomiarem częstotliwości, czasu i oscyloskop Zaawansowana 45MHz sonda logiczna z pomiarem częstotliwości, czasu i oscyloskop
    Jak widać, bez sprzętowego "upgrade" nie obyło się :-) no ale w końcu po coś robi się prototyp, aby w serii nie było takich niespodzianek. Obudowa po wstępnej obróbce, muszę ją dopieścić.

    Poziomy "H" i "L" można ustawić dowolnie:
    Zaawansowana 45MHz sonda logiczna z pomiarem częstotliwości, czasu i oscyloskop Zaawansowana 45MHz sonda logiczna z pomiarem częstotliwości, czasu i oscyloskop
    Na oscylogramach 30 i 70% oraz 10 i 90. Ustawanie poziomów odbywać się będzie z poziomu USB choć nie wykluczam opcji z jakimś menu ale czy to będzie wygodne?
  • #143
    pier
    Level 23  
    Tło do oscyloskopu Rysowałeś sam czy to gotowa bitmapa?
  • #144
    LChucki
    Level 31  
    pier wrote:
    Tło do oscyloskopu Rysowałeś sam czy to gotowa bitmapa?

    Oscyloskop to nie komórka, tło realizuje funkcja rysująca siatkę.
  • #145
    KRebacz
    Level 11  
    Proszę o dopisanie mnie do listy chętnych na zakup.
  • #146
    LChucki
    Level 31  
    KRebacz wrote:
    Proszę o dopisanie mnie do listy chętnych na zakup.

    Dopisałem. Dopisywać można się dopóki nie zlecę produkcji PCB co nastąpi w przyszłym tygodniu. Niewielka rezerwa będzie a jak zabraknie, to już w następnej edycji.

    Zastanawiam się nad opcjami kolorystycznymi. Obudowy białe (jasnoszare), czarne? A może złota edycja?
    Zaawansowana 45MHz sonda logiczna z pomiarem częstotliwości, czasu i oscyloskop Zaawansowana 45MHz sonda logiczna z pomiarem częstotliwości, czasu i oscyloskop
    Albo srebrna?


    Gdy "machina" ruszy, odezwę się do wszystkich chętnych, będzie można wybrać kolor obudowy.
  • #148
    Dareks
    Level 20  
    To ja też chciałbym się zapisać na wersję PRO
  • #149
    Karlik1071
    Level 11  
    "Kod pisałem ok 30 godzin co daje ok 3000zł. Płaci kolega 3000 + stosowne podatki i kod znajdzie się na Elektrodzie. Proszę zauważyć, że zaprojektowanie urządzenia, zmontowanie prototypu zajęło ok 40 godzin, więc 4000 dałem w prezencie. Gdy doliczyć do tego koszt PCB, elementów, amortyzację sprzętu, można przyjąć, że w obecnej postaci projekt jest wart 8..10 tysięcy zł. Oferta upublicznienia kodu za 3000zł jest więc niebywałą okazją. "

    A ile jest wart sam pomysł, bo od czegoś trzeba zacząć. Czy pomysł nie jest tyle samo warty jak realizacja?
  • #150
    LChucki
    Level 31  
    Karlik1071 wrote:
    Czy pomysł nie jest tyle samo warty jak realizacja?

    Pomysł jest wart może 1% całości. Za jakiś czas wartość pomysłu, to promile. Aktualny czas realizacji projektu to 180h. Ile wobec czasu pisania softu może być wart pomysł?

    Ile może być wart pomysł sondy-oscyloskopu 54MS/s? Pomysł, to połączenie oampów, ADS830, ST32F407 i stabilizatora.
    Ile skalowalnego (1..16 a może i 24 kanały) modułowego oscyloskopu 54MS/s rejestratorem 6 kanałów cyfrowych na moduł?

    Dla mnie te pomysły są warte tyle co nic, to raczej koncert życzeń. Jeśli ktoś uważa, że powyższe pomysły są coś warte, niech spróbuje je sprzedać, oczywiście prowizja dla mnie. Pewnie zostanie wyśmiany. Jeśli jednak uważa, ze są warte majątek, niech je zrealizuje i sprzeda w postaci gotowego urządzenia. Jeśli się nie myli, zarobi fortunę, choć ja twierdzę, że prędzej na tym straci jeśli nie ma fortuny na inwestycję w reklamę i produkcje na dużą skalę. W swoim życiu nie spotkałem zbyt wielu osób, które są skłonne zaryzykować dom/mieszkanie, cały swój majątek i jeszcze się zadłużyć.