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



Teraz jest 28 mar 2024, o 23:32


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
Avatar użytkownika

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

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

_________________
[b]San Escobar! Patria mia! Tu eres como la salud.[/b]



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
Avatar użytkownika

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

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

_________________
[b]San Escobar! Patria mia! Tu eres como la salud.[/b]



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: 1146
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
Avatar użytkownika

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

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 :)

_________________
[b]San Escobar! Patria mia! Tu eres como la salud.[/b]



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:  
cron
Sitemap
Technologię dostarcza phpBB® Forum Software © phpBB Group phpBB3.PL
phpBB SEO