Kanał - ATNEL tech-forum
Wszystkie działy
Najnowsze wątki

KURS HOME ASSISTANT

Chcesz zautomatyzować swój dom bez skomplikowanego kodowania?
Zastanawiasz się nad wyborem sprzętu, oprogramowania i aplikacji?
Od czego zacząć przygodę z HA? Co będzie najlepsze na start?

Nasz kurs Home Assistant nauczy Cię krok po kroku, jak łatwo zautomatyzować swój dom i oszczędzić na rachunkach za prąd i ogrzewanie. Bez chmur, bez zbędnych abonamentów. Twoja przygoda z Home Assistant zaczyna się tutaj!

↓↓↓

    Szanujemy Twoją prywatność. Możesz wypisać się w dowolnym momencie.




    Teraz jest 28 maja 2025, o 21:23


    Strefa czasowa: UTC + 1





    Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 37 ]  Przejdź na stronę 1, 2  Następna strona
    Autor Wiadomość
    PostNapisane: 19 maja 2018, o 11:55 
    Offline
    Użytkownik

    Dołączył(a): 31 mar 2017
    Posty: 156
    Pomógł: 0

    Mam kłopot z przetwornikiem C/A w Nucleo F410RB. Jeśli bezpośrednio przetwarzałem sygnał analogowy na cyfrowy, a następnie podawałem go na DAC (12bit), to był on odwrócony i przy większych amplitudach miał jakby spłaszczone górne połówki sinusoidy (sygnał symetryczny z dodaną składową stałą). Szukając przyczyny "ręcznie" (z tablicy) podawałem wartości na DAC. I okazało się, że faktycznie sygnał nigdy nie przewyższa 2V oraz 0 jest na poziomie ok. 2V, a 4095 to 0V. Odległości między wartościami poniżej 2000 są dużo mniejsze, niż powinny być. Powyżej tej wartości wydaje się być już OK.

    Na zrzucie z oscyloskopu dopisałem wartości, jakie w danym momencie są generowane.
    Obrazek

    Moja konfiguracja DAC:
    gpio_A.GPIO_Pin = GPIO_Pin_5;
    gpio_A.GPIO_Mode = GPIO_Mode_AN;
    gpio_A.GPIO_OType = GPIO_OType_PP;
    gpio_A.GPIO_PuPd = GPIO_PuPd_NOPULL;
    gpio_A.GPIO_Speed = GPIO_Speed_50MHz;
    GPIO_Init(GPIOA, &gpio_A);

    RCC_APB1PeriphClockCmd(RCC_APB1Periph_DAC, ENABLE);
    DAC_InitTypeDef DAC_INIT;
    DAC_INIT.DAC_Trigger= DAC_Trigger_None;
    DAC_INIT.DAC_WaveGeneration = DAC_WaveGeneration_None;
    //DAC_INIT.DAC_LFSRUnmask_TriangleAmplitude=DAC_TriangleAmplitude_4095;
    DAC_INIT.DAC_OutputBuffer = DAC_OutputBuffer_Enable;
    DAC_Init(DAC_Channel_1, &DAC_INIT);
    DAC_Cmd(DAC_Channel_1, ENABLE);
    //DAC_DMACmd(DAC_Channel_1, ENABLE);

    I podanie na DAC wartości z tablicy:
    DAC_SetChannel1Data (DAC_Align_12b_R, cc[i]);

    Dane w tablicy są typu const uint16_t.

    Co może być przyczyną tak dziwnego zachowania? Podejrzewam błąd w konfiguracji właśnie.

    Czy ja w ogóle dobrze steruję wartością DAC? Czy też funkcja DAC_SetChannel1Data() służy do ustawiania napięcia referencyjnego?



    Ostatnio edytowano 19 maja 2018, o 17:11 przez radek04, łącznie edytowano 3 razy

    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 19 maja 2018, o 12:45 
    Offline
    Użytkownik

    Dołączył(a): 22 gru 2013
    Posty: 296
    Lokalizacja: Szczecin
    Pomógł: 47

    A czy przypadkiem na PA5 nie ma podpiętej diody Led?


    Autor postu otrzymał pochwałę


    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 19 maja 2018, o 12:52 
    Offline
    Użytkownik

    Dołączył(a): 31 mar 2017
    Posty: 156
    Pomógł: 0

    Na tym pinie jest: DAC1/1, LED1, SPI1_SCLK oraz ADC1/5.



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 19 maja 2018, o 18:33 
    Offline
    Użytkownik

    Dołączył(a): 22 gru 2013
    Posty: 296
    Lokalizacja: Szczecin
    Pomógł: 47

    No to jak ma działać DAC, jeżeli na tym pinie jest LED???



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 19 maja 2018, o 19:42 
    Offline
    Użytkownik

    Dołączył(a): 31 mar 2017
    Posty: 156
    Pomógł: 0

    Fabrycznie na tym i tylko tym pinie jest DAC. Tę diodę mam jakoś wyłączyć?



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 19 maja 2018, o 19:47 
    Offline
    Użytkownik
    Avatar użytkownika

    Dołączył(a): 11 mar 2014
    Posty: 1475
    Pomógł: 167

    radek04 napisał(a):
    Fabrycznie na tym i tylko tym pinie jest DAC. Tę diodę mam jakoś wyłączyć?
    Odłączyć ją od tego pinu. Przecież dioda na wyjściu zmienia Ci charakterystykę sygnału.

    --
    Pozdrawiam,
    Robert



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 19 maja 2018, o 19:55 
    Offline
    Użytkownik

    Dołączył(a): 31 mar 2017
    Posty: 156
    Pomógł: 0

    A mogę prosić o podpowiedź, jak mam to zrobić? O ile domyślam się, że ma to wpływ na wartość napięcia, to wciąż nie rozumiem, dlaczego polaryzacja jest odwrócona. No ale nic - jeśli uda mi się ją odłączyć, to zobaczę, jak się zachowuje.



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 19 maja 2018, o 20:09 
    Offline
    Użytkownik

    Dołączył(a): 04 paź 2011
    Posty: 8615
    Pomógł: 338

    Jak niema zworki to trzeba ją wylutować :P
    to chyba oczywiste no nie

    _________________
    Zbuduj swój system [url=https://helion.pl/ksiazki/w-labiryncie-iot-budowanie-urzadzen-z-wykorzystaniem-ukladow-esp8266-i-esp32-andrzej-gromczynski,wlablo.htm#format/d]IOT[/url]



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 19 maja 2018, o 20:19 
    Offline
    Użytkownik

    Dołączył(a): 31 mar 2017
    Posty: 156
    Pomógł: 0

    Jeśli ktoś daje na płytce na jednym pinie diodę i DAC-a, które się nie lubią, to chyba musi być jakaś bardziej elegancka metoda, by ją odłączyć - np. programowo?



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 19 maja 2018, o 20:22 
    Offline
    Użytkownik

    Dołączył(a): 04 paź 2011
    Posty: 8615
    Pomógł: 338

    no chyba nie :P
    jest tylko albo zworka (np R00) albo fizyczne wydłubanie leda
    nie wymagaj wiele od niszowego produktu budżetowego jakim jest nuklejka
    dioda w tej płytce była bardziej przydatna niż DAC , który jest alternatywną funkcją tego
    pinu zresztą ... może jak kol raczy zapoznać się z alternate funktion pinów to się dowie że dac JEST TEŻ NA
    INNYM PINIE DOSTĘPNY ... na którym nic nie wisi :P

    _________________
    Zbuduj swój system [url=https://helion.pl/ksiazki/w-labiryncie-iot-budowanie-urzadzen-z-wykorzystaniem-ukladow-esp8266-i-esp32-andrzej-gromczynski,wlablo.htm#format/d]IOT[/url]



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 19 maja 2018, o 20:47 
    Offline
    Użytkownik
    Avatar użytkownika

    Dołączył(a): 11 mar 2014
    Posty: 1475
    Pomógł: 167

    Cytuj:
    może jak kol raczy zapoznać się z alternate funktion pinów to się dowie że dac JEST TEŻ NA
    INNYM PINIE DOSTĘPNY ... na którym nic nie wisi :)
    Oj, chyba nie w tym procku co ma kolega ...

    --
    Pozdrawiam,
    Robert


    Autor postu otrzymał pochwałę


    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 19 maja 2018, o 20:49 
    Offline
    Użytkownik

    Dołączył(a): 31 mar 2017
    Posty: 156
    Pomógł: 0

    3 razy przeglądałem alternate function mapping i nie znalazłem DAC-a. A na PA5 to chyba działa jako funkcja główna, a nie alternatywna.
    Czyli dobrze podaję wartość na DAC-a, tak? Bo w pliku bibliotecznym przy niej piszą o Vref i już zgłupiałem.



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 19 maja 2018, o 21:07 
    Offline
    Użytkownik
    Avatar użytkownika

    Dołączył(a): 26 sty 2016
    Posty: 1171
    Lokalizacja: Kraków
    Pomógł: 93

    A widziałeś schemat tej płytki? Albo chociaż plik user manual dla tej wersji? W pliku na str. 26 jest tabelka ze zworkami lutowanymi. M.in. jest tam SB21 opisane jak LD2-LED. Wylutujesz i będzie działał DAC.
    Swoją drogą, chyba wszystkie płytki od ST mają peryferia umieszczone na PCB odłączane za pomocą takich zworek.

    Link do user manual: http://www.st.com/content/ccc/resource/ ... 105823.pdf


    Autor postu otrzymał pochwałę


    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 19 maja 2018, o 21:10 
    Offline
    Użytkownik

    Dołączył(a): 31 mar 2017
    Posty: 156
    Pomógł: 0

    Widziałem tą zworkę, ale nie byłem pewny co do niej. Mam ją wylutować od spodu, tak?



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 19 maja 2018, o 21:17 
    Offline
    Użytkownik

    Dołączył(a): 04 paź 2011
    Posty: 8615
    Pomógł: 338

    dokładnie o tym pisałem ... że powinna być zworka , a że DAC nie występuje na innym pinie ...
    no sorry ale nie muszę czytać dokumentacji niepotrzebnych mi do niczego płytek , niemniej
    liczyłem na to że kol . autor przeglądnie dokumentacje swoich zabawek ... jak widac się przeliczyłem :)

    _________________
    Zbuduj swój system [url=https://helion.pl/ksiazki/w-labiryncie-iot-budowanie-urzadzen-z-wykorzystaniem-ukladow-esp8266-i-esp32-andrzej-gromczynski,wlablo.htm#format/d]IOT[/url]



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 19 maja 2018, o 21:23 
    Offline
    Użytkownik

    Dołączył(a): 31 mar 2017
    Posty: 156
    Pomógł: 0

    Szczerze mówiąc, to jest to już chyba 4. plik PDF od producenta do tego układu. I naprawdę wszystkie czytałem/przeglądałem. A co do zworek to faktycznie moja wina - szukałem takich z goldpinami, a nie SMD. Jest to mało wygodne rozwiązanie (szczególnie w moim problemie), ale przynajmniej dzięki Wam znam przyczynę dziwnego działania układu, która choć oczywista - nie raz przyglądałem się tej diodzie - to w życiu bym nie pomyślał, że coś, co fabrycznie jest zamontowane, może sprawiać takie problemy.

    Myślicie, że ta polaryzacja też jest spowodowana diodą?



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 19 maja 2018, o 21:36 
    Offline
    Użytkownik

    Dołączył(a): 22 gru 2013
    Posty: 296
    Lokalizacja: Szczecin
    Pomógł: 47

    "Kowboju do dzieła"



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 19 maja 2018, o 21:38 
    Offline
    Użytkownik

    Dołączył(a): 31 mar 2017
    Posty: 156
    Pomógł: 0

    Sprawdziłem - zakresy napięć i różnice między nimi są już OK, ale polaryzacja pozostała odwrócona. Co może być tego przyczyną?



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 20 maja 2018, o 13:53 
    Offline
    Użytkownik
    Avatar użytkownika

    Dołączył(a): 11 mar 2014
    Posty: 1475
    Pomógł: 167

    A na pewno wszystko dobrze ustawiasz gdy mierzysz sygnał wyjściowy na oscyloskopie? Nie podłączyłeś odwrotnie sygnału?

    --
    Pozdrawiam,
    Robert



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 20 maja 2018, o 16:32 
    Offline
    Użytkownik

    Dołączył(a): 31 mar 2017
    Posty: 156
    Pomógł: 0

    Jeśli odczytuję na ADC, to z DAC dostaję sygnał odwrócony. Gdy wprost wpisuję na DAC wartość 4095, to mam na wyjściu 0V, gdy wpiszę 0, mam na wyjściu 3,3V. Chyba nic tu pomylić nie można.



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 20 maja 2018, o 17:35 
    Offline
    Użytkownik

    Dołączył(a): 22 gru 2013
    Posty: 296
    Lokalizacja: Szczecin
    Pomógł: 47

    Ja też podejrzewam błąd pomiaru. Czy aby na pewno masz połączone masy Nucleo z masą sondy, lub czy nie ma w oscyloskopie włączonej np. inwersji sygnału. Najlepiej sprawdzić na jakimś prostym programie typu "blink" z niesymetrycznym znanym wypełnieniem.
    (konfiguracja DAC wygląda na poprawną oprócz braku na początku: RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_GPIOA, ENABLE); ).



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 20 maja 2018, o 20:21 
    Offline
    Użytkownik

    Dołączył(a): 31 mar 2017
    Posty: 156
    Pomógł: 0

    Masy mam dobrze, zapis na początku też, na oscyloskopie dałem "default", sygnał z wypełnieniem niesymetrycznym też odwrotnie jest...

    Nawet miernikiem uniwersalnym sprawdzałem - przy wyższych wartościach mam niższe napięcie.



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 20 maja 2018, o 21:27 
    Offline
    Użytkownik

    Dołączył(a): 22 gru 2013
    Posty: 296
    Lokalizacja: Szczecin
    Pomógł: 47

    A ten zegar RCC dla GPIOA włączony?



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 20 maja 2018, o 21:57 
    Offline
    Użytkownik

    Dołączył(a): 31 mar 2017
    Posty: 156
    Pomógł: 0

    Tak, mam to. Nie podałem całego kodu, ale to też było.



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 20 maja 2018, o 22:16 
    Offline
    Użytkownik

    Dołączył(a): 22 gru 2013
    Posty: 296
    Lokalizacja: Szczecin
    Pomógł: 47

    To jeszcze sprawdź wyjście woltomierzem, żeby całkowicie wyeliminować pomyłkę.



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 20 maja 2018, o 22:44 
    Offline
    Użytkownik
    Avatar użytkownika

    Dołączył(a): 11 mar 2014
    Posty: 1475
    Pomógł: 167

    krish napisał(a):
    To jeszcze sprawdź wyjście woltomierzem, żeby całkowicie wyeliminować pomyłkę.
    I czy na pewno mierzysz względem masy a nie VCC.

    --
    Pozdrawiam,
    Robert



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 21 maja 2018, o 08:08 
    Offline
    Użytkownik

    Dołączył(a): 31 mar 2017
    Posty: 156
    Pomógł: 0

    Sprawdziłem woltomierzem. Na pewno mierzę względem masy. Nawet na nowo podłączyłem diodę. Dla 0 świeci, dla 4095 nie świeci.



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 21 maja 2018, o 09:38 
    Offline
    Użytkownik
    Avatar użytkownika

    Dołączył(a): 11 mar 2014
    Posty: 1475
    Pomógł: 167

    Skopiuj project do nowego i wytnij z niego wszystko co nie dotyczy DACa. Zostaw tylko ręczne wpisywanie wartości do DAC_DHR.
    Jak nadal będzie źle to taki okrojony kod zamieść na forum, może robisz jakiś czeski błąd, którego nie widzisz a my się tego nie domyślimy.

    --
    Pozdrawiam,
    Robert



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 21 maja 2018, o 11:22 
    Offline
    Użytkownik

    Dołączył(a): 31 mar 2017
    Posty: 156
    Pomógł: 0

    Do wieczora nie będę miał dostępu do komputera, ale wczoraj tak zrobiłem. Chyba 3 linijki kodu mi zostały i ten sam błąd był. Ale nie do końca wiem, o co chodzi z tym DAC_DHR. O nim nic w kodzie nie mam, przynajmniej jawnie.



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 21 maja 2018, o 16:44 
    Offline
    Użytkownik
    Avatar użytkownika

    Dołączył(a): 11 mar 2014
    Posty: 1475
    Pomógł: 167

    radek04 napisał(a):
    Chyba 3 linijki kodu mi zostały
    Trochę mało tych linijek, więc może dlatego jest błąd ;)

    --
    Pozdrawiam,
    Robert



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    Wyświetl posty nie starsze niż:  Sortuj wg  
    Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 37 ]  Przejdź na stronę 1, 2  Następna strona

    Strefa czasowa: UTC + 1


    Kto przegląda forum

    Użytkownicy przeglądający ten dział: Brak zidentyfikowanych użytkowników i 0 gości


    Nie możesz rozpoczynać nowych wątków
    Nie możesz odpowiadać w wątkach
    Nie możesz edytować swoich postów
    Nie możesz usuwać swoich postów
    Nie możesz dodawać załączników

    Szukaj:
    Skocz do:  
    Sitemap
    Technologię dostarcza phpBB® Forum Software © phpBB Group phpBB3.PL
    phpBB SEO