Wzmacniacz w układzie sumowania. Przykład: http://www.daycounter.com/Circuits/OpAmp... Powodzenia
http://www.elektroda.pl/rtvforum/topic23... ;)
Programowe wyzwalanie pomiarów ze zmiennym okresem to chyba nie jest najlepszy pomysł. Wyzwalaj ADC timerem sprzętowo, do odbioru wyników użyj DMA - to tak na początek. Przerwanie DMA (jedyne, jakie jest potrzebne do tego, co robisz) po transmisji jakiejś porcji próbek (np. 1024) startuje przetwarzanie zebranych danych.
Thaddy Znam te układy. Chciałem zrobić to taniej ze względu na konieczność podpięcia 8 czujników ale może się okazać, że ostatecznie bardziej opłaci mi się skorzystać z gotowców INA333 kosztuje trochę więc będzie trudno pogodzić i tanio i dokładnie budując 8 pojedynczych kanałów. Ze swej strony chciałbym zasugerować by użyć zewnętrzny przetwornik ADS124S08:...
Zastanów się lepiej, czy przetwornik w F4 zapewni wystarczającą dokładność. Zapewni, znam układy gdzie i 10 bitów wystarcza, a urządzenie ma klasę 0.5. Ja zastanawiam się czy userowi wiedzy wystarczy, bo pytania które zadaje na to nie wskazują.
Witam, Walczę od paru dni z Tim5 w STM32F4, a konkretnie chodzi o podłączenie enkodera. Udało mi się uruchomić tryb enkodera w liczniku. Zależało mi, aby liczył każde zbocze z obydwu kanałów i to też działa, tylko nie rozumiem dlaczego licznik zwiększa się, bądź zmniejsza o 4 gdy Prescaler=0. Czy tak powinno być? Według tego rysunku http://obrazki.elektroda.pl/1635628700_1...
http://obrazki.elektroda.pl/7307254400_1... Autor w końcu znalazł nieco czasu, aby poeksperymentować z płytką STM32F4-Discovery, którą kupił jeszcze w zeszłym roku. Jak w przypadku innych mikroprocesorów, naukę dobrze jest zacząć od obsługi pinów GPIO. Ponieważ na płytce STM32F4-Discovery wyjścia zorganizowane są w dwu dwurzędowych...
Witam mam za zadanie napisać program odczytujący dane z 4 wejść 12-bitowego przetwornika ADC MCP3208 . Przetwornik komunikuje się po SPI. Dane potrzebuję odczytywać z częstotliwością ok. 100-200Hz. Najpierw do układu trzeba coś wysłać, dopiero potem odbieramy nasze wartości. I teraz mam pytanie, czy do tego celu nadaje się DMA? Pytam bo dopiero pierwszy...
Witam projektuję rejestrator na przetworniku ADC o paśmie sygnału wejściowego 40MHz. Chciałbym wykorzystać pełne pasmo. Procek musi taktować przetwornik i odczytać dane 8bit z GPIO. Czy seria procków STM32F4 na zegarze 180MHz da radę odczytywać port GPIO z tą prędkością? Wątpie w to ale wolę się dopytać może ktoś zastosował jakąś sztuczkę która umożliwia...
W STM32F4 musiałem najpierw zainicjować SPI potem dopiero GPIO, ponieważ w przeciwnym wypadku zewnętrzny przetwornik DAC nie prawidłowo mi się inicjował. W STM32F1 normalnie najpierw konfigurowałem GPIO potem SPI i ten sam przetwornik inicjował się poprawnie.
Witam. Szybko i na temat: Moją pracą inżynierską będzie wózek z chybotliwym masztem, którą to chybotliwość będę starał się niwelować regulacją predykcyjną. Elementem mojej pracy inżynierskiej jest odczyt naprężenia mostka tensometrycznego na tymże maszcie. Mostek składał się będzie z 4 takich tensometrów: [url=http://www.tenmex.pl/index.php?acti...
JarekC, dzięki za podpowiedź, spróbuję użyć SPI i zobaczę czy będzie to lepiej działać. Piotrus_999, przetwornik, z którego korzystam to tlv320adc3101, jest to przetwornik służący do przetwarzania sygnału audio, link do dokumentacji: [url=http://www.ti.com/product/TLV320ADC... (mam nadzieję, że można takie rzeczy...
Jest jednak jeszcze ta kwestia, że kiedy podłączam wyjście przepływomierza do pinu skonfigurowanego jako przetwornik ADC(PC0), to działa za każdym razem. Za chwilę podłączam czujnik pod pin PA1 odpowiedzialny za pomiar okresu sygnału i nic. Mam jeszcze drugi przepływomierz, działający na tej samej zasadzie co pierwszy, ale innej firmy. Kiedy system...
Hej, dzięki. Teraz mam kolejny problem - kiedy w debugerze przechodzę program krok po kroku, wszystko działa cacy, ale jak uruchomię program normalnie, to się wywala (przechodzi do inifinite loop w pliku startup_stm32f4) oto mój kod: [syntax=c] volatile uint32_t uhADC1ConvertedValue; uint32_t getADCVal(){ return uhADC1ConvertedValue; } void adc_init(void)...
Witam, do tej pory pisałem program w którym F4 komunikowała się z zewnętrznym przetwornikiem DAC AD5724 poprzez SPI, gdzie funkcja wysyłania oparta była o sprawdzanie flagi TXE oraz BSY. Przy takim sposobie komunikacji mikrokontroler nie potrzebnie oczekiwał w pętli while na koniec transmisji pojedynczego bajtu co jak wiadomo jest bardzo nie efektywne....
Myślałem że funkcja liczy tylko na podstawie danych wpisanych przeze mnie do configa, i na tej podstawie ustala pętle pll i dzielniki aby uzyskać częstotliwość bliską maksymalnej, i licząc te wartości dla 25 MHz, a podpinając mniejszy kwarc nie przekroczę na żadnej scieżce zegara dopuszczalnych czestotliwości. Przeczytaj jeszcze raz mój post, tym razem...
No cóż, a więc jak rozwiązałem swój problem ? Próbowałem początkowo jeszcze bawić się z OV7670, ale podczas eksperymentów uległa ona uszkodzeniu (?, brak przebiegu na PCLK i brak komunikacji po SCCB). Zabiło ją ESD, albo włączające się przy przeprogramowaniu (po resecie) wewnętrzne pull-upy do 3V3. Wziąłem zatem zwykłą cz-b kamerę z wyjściem CHINCH,...
Witam, Mam problem z konfiguracją DMA. Chcę przekonwertować wartość przesłaną przez DMA na DAC. Sam przetwornik DAC działa poprawnie jednak po dodaniu DMA nie działa. Oto mój kod: [syntax=c]static const uint32_t val=2000; int main(void) { HAL_Init(); __HAL_RCC_DMA1_CLK_ENABLE(); HAL_DMA_DeInit(DMA1_Stream1); DMA_HandleTypeDef hdma1; hdma1.Instance=DMA1_Stream5;...
Hej, dzięki za taką wyczerpującą wypowiedź. Zobaczmy czy dobrze zrozumiałem: 1. Generuję przebieg o częstotliwości np te 440 Hz ale nie sinus tylko? Np prostokąt? 2. Filtruję ten generowany prostokąt filtrem LP o częstotliwości odcięcia równej..no właśnie, ile? 3. ADSR załatwia mi sprawę, o której wspomniałem post wcześniej, tj charakterystyczna zmiana...
Miałem na myśli to że w twoim przypadku analogowa obróbka sygnału nie ma sensu, wartość RMS trzeba sobie policzyć na uC. Niby są scalaki konwerterów RMS, ale w cenie takiej że kilka wydajnych mikrokontrolerów byś za to kupił. Drugie rozwiązanie to bezpośrednio mierzyć napięcie zmienne przez STMa odpowiednio szybko próbkując aby uzyskać przebieg sygnału...
Pozwalam sobie odgrzać temat, bo właśnie zrezygnowałem z realizacji pracy magisterskiej o podobnym temacie - tyle że z nieco innego powodu. Może komuś się przydadzą moje doświadczenia. Jeżeli chodzi o płytkę DISCOVERY, Ethernet i IP, to - owszem - są gotowe przykłady (myślę o tych udostępnianych przez ST) ale ja zabrałem się za ten temat z trochę innej...
Nie ma żadnego dodatkowego przerwania... Przecież to się opiera na zwyczajnym mechanizmie zdarzeń - żaden z obiektów synchronizacyjnych nie zmienia stanu "sam z siebie" i bez powodu, tylko to Ty go przestawiasz (zwalniając mutexa, wpisując coś do kolejki, ...). Tak więc po prostu wszystkie operacje na takich obiektach na koniec zawierają - w uproszczeniu...
1. W jakim formacie oczekujesz danych ? Jeśli ma być to YUV to przy zasłoniętym obiektywie powinieneś otrzymać ciąg wartości zbliżonych do 0x00, 0x80, 0x00, 0x80, 0x00 .... 2. Czy sygnały HS i VS mają odpowiednią polaryzację i częstotliwość ? 3. Jaką częstotliwość w rzeczywistości ma sygnał PCLK i jaki zegar masz ustawiony dla DCMI ? 4. Czy ilość fizycznie...
Witam, W takim razie ustawienia muszą być takie: SCAN_MODE = DISABLE CONTIUOUS_MODE = DISABLE NRofCONV = 1 EOCSelection = ADC_EOC_SINGLE_CONV ustawiasz który kanał pierwszy ma być mierzony i rozpoczynasz konwersje wpisem do bitu SWSTART w ADC_CR2. Aby zmierzyć napięcie na innym kanale, musisz przeinicjalizować ADC, tzn. zmienić kanał i wywołać np. HAL_ADC_ConfigChannel().
40 mA to Absolute Maximum Ratings* i wyjaśnienie "Exposure to absolute maximum rating conditions for extended periods may affect device reliability." oraz "If IIOH exceeds the test condition (20mA), VOH may exceed the related specification. Pins are not guaranteed to source current greater than the listed test condition." Więc w praktyce nie należy...
http://obrazki.elektroda.pl/1647269200_1... Witam wszystkich Tym razem chciałbym przedstawić jeszcze programowy projekt odtwarzacza i dyktafonu zrealizowany na STM32F4Discovery. Pisząc ten program, sporo rozwiązań wykorzystałem z mojego poprzedniego projektu małego odtwarzacza MP3 na ARM-ie, ale dołożyłem też dużo nowości i usprawnień....
W Config Register ustawiam COMP_POL- 1 : Active high, COMP_LAT- 1 : Latching comparator, COMP_QUE- 00 : Assert after one conversion wtedy odczyt wygląda tak: [syntax=c] ADSwrite[2] = 0x8C; //10001100 [/syntax] ale dalej pin ALRT nie daje nic... kod przerwania (testuje na diodzie) wrzucam do pętli głównej [syntax=c] HAL_GPIO_EXTI_Callback(GPIO_Pin);...
I nie rozumie a = ADC_GetConversionValue(ADC1); dlaczego z ADC1 ? Myślałem że argumentem tej funkcji powinien być raczej kanał ? Co jeśli dopiszę konfigurację ADC dla PB0 czyli kanał 8 ADC1 ? jak wtedy odczytam wartość z PB2 ? ADC1 - to ADC1 bo F4 ma do 3 oddzilenych adc. Kanał definiujesz w sekwencji odczytów - tu masz tylko jedna i jest to ujete...
https://obrazki.elektroda.pl/8115074100_... W związku z urlopem postanowiłem opisać wykonaną w ostatnim czasie konstrukcję. W zawodzie nauczyciela akademickiego jest to 36 dni roboczych plus w moim przypadku 26 dni zaległych z zeszłego roku. Jest to więc trochę czasu - za dużo. Wszystko zaczęło się od znalezienia tunera DVB-T Opticam...
Google -> "stm32f405 adc", pierwszy link...
Ok, przetestuję to rozwiązanie. A analizując mój kod, czy jest prawdopodobieństwo, że wszystko działa jak powinno, ale z jakiegoś powodu nie mogę podejrzeć danych, czy bardziej nastawiać się na jakiś błąd w przesyle informacji wynikający ze złej konfiguracji przetwornika ?
A w drugą stronę się da? Tzn. ADC -> BluePill->USB PC. Powinno się dać. Tylko lepiej na STM32F4, bo obecnie I2S generuję softwarowo i z innymi przetwornikami może nie działać (mam przerwy w generowaniu zegara).
Trochę kiepski przetwornik wybrałeś po prostu. Wymaga on także żeby przez 2 bity nadawać do układu a potem przejść w odbiór. Trochę ciężko mi to ogarnąć bo to się wysyła po dokonanej konwersji. Ale może po prostu chodzi o to że pierwsza konwersja to będzie taka dummy konwersja tylko po to żeby po jej zakończeniu wysłać dane konfiguracyjne do kolejnej....
Proponuję zacząć przygodę od płytki serii DISCOVERY z jakimś STM32F4. Na płytce znajdziesz układ przetwornika dźwiękowego ADC I2S ze wzmacniaczem z gotowymi programami demonstracyjnymi odtwarzającymi pliki dźwiękowe. STM32F1 to już przeżytek, a samodzielne męczenie się z bylejakim przetwornikiem też raczej nie da satysfakcjonującego efektu.
http://obrazki.elektroda.pl/6093026600_1... Witam wszystkich chciałbym zaprezentować układ sterujący przekształtnikiem energoelektronicznym DC/AC (tzw. falownik), który zbudowałem w ramach swojej pracy magisterskiej. Układ przeznaczony jest do sterowania trójfazowym silnikiem indukcyjnym za pośrednictwem falownika. W pracy zaimplantowałem...
Witam Dziękuję za słowa uznania :) Za przetwornik DAC robi TLV320AIC23 (po lewej stronie na zdjęciu całości). Tamże jest gniazdo słuchawkowe, w którym jest wtyczka przewodu do wzmacniacza (już niewidoczna na zdjęciu). Taki sposób definiowania stacji radiowych wydawał mi się najprostszy w realizacji. Ale istotnie każdorazowo wymaga to kompilowania i...
Podajesz na przetwornik MAX dopuszczalne napięcie. Konfigurujesz go na napięcie mniejsze niż MAX możliwy do ustawienia. Dziwisz się, że przerwanie się wywołuje. My dziwimy się, skąd u Ciebie pomysł używania STM32F4, skoro: a. nie masz pojęcia o tym jak działa przetwornik ADC, b. nie masz pojęcia o tym jak działa STM32F4, c. nie masz pojęcia o tym jak...
Nie zauważyłem. Owszem układ czeka na określony poziom sygnału, AWD zgłasza przerwanie i tego momentu leci pełna akwizycja. Dwa przetworniki pracują na przemian i ładują dane do pamięci przez DMA, Następnie dane są wyświetlane i tak w kółko. Próbkowanie to 2MSa/s. (po 1M na każdy przetwornik zgodnie z notą katalogową). Każda próbka to jeden piksel na...
Nie no, konwersję wymuszasz programowo a nie przyłożeniem napięcia. Może to być jakiś freerun, konwersja na rządanie, z timera etc. ale zawsze jest wyzwolona czymś z wewnątrz, nie uruchamia się po przyłożeniu napięcia. Działa to tak, że na żądanie konwersji po 1 cyklu zegara ADC się ona uruchamia i po 14 cyklach (1us) w rejestrze masz wartość. Czas...
Pomyśl, ile czasu zajmuje pomiar i jak często przetwornik chciałby wywołać przerwanie. Potem zastanów się, ile czasu zajmuje obsługa przerwania. Samo to nie jest może powodem błędu, który obserwujesz, ale z pewnością nie ma sensu i jest błędem koncepcyjnym projektu. Niezależnie od tego, w jakim trybie pracuje ADC, czytaj wynik w przerwaniu timera, np....
Witam, Nie chciałem zakładać oddzielnego tematu, bo problem mam również związany z PWM, otóż chciałem uzyskać falę prostokątną na wyjściu, niestety otrzymuję sinusa. kod: [syntax=c] GPIO_InitTypeDef GPIO_InitStructure_CLK; RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_GP... ENABLE); GPIO_InitStructure_CLK.GPIO_Pin = GPIO_Pin_8; GPIO_InitStructure_CLK.GPIO_Mode...
Ok, zajrzałem do tego i przeoczyłeś kilka rzeczy: Adres to nie 0x4A tylko 0x94. Właściwie jest to 0x4A przesunięte o 1 bit w lewo (0x94) a ten LSB to jest bit R/!W. Czyli jak chcesz coś zapisać do kontrolera to trzeba wysyłać na adres 0x94, a jak czytać to 0x95 (czytać noty dokładnie! Poza tym jest to na schemacie napisane). Druga sprawa - kontroler...
Witam. Jako początkujący programista STM borykam się z problemami. Zamysł programu jest taki aby odczytać z przetwornika ADC napięcie na PA5 oraz napięcie VBAT oraz napięcie wbudowanego czujnika temperatury które przesyłane jest przez DMA do tablicy, jednakże działa mi jedynie pomiar tylko na wyjściu PA5 i zapisywany jest jako 3 pomiary do tej tablicy....
W debuggerze trzeba wybrać konkretny układ. Nawet jeśli wybrałeś właściwy, to nikt nie powiedział, że pliki które opisują ten układ są właściwe. Tymczasem sprawa wygląda tak, że bity których tam wg RM nie ma, a wg Twojego debuggera są, mają zastosowanie jedynie do "synchronicznej" pracy wielu przetworników ADC. STM32F410 ma tylko jeden przetwornik ADC,...
Przy pracy krokowej, po programowym wyzwoleniu przetwornika, konwersja trwa bardzo krótko, więc z Twojego punktu widzenia zanim "kończysz naciskać Run" to już konwersja jest zakończona, a ponieważ flaga ustawiana jest sprzętowo więc bardzo szybko, nawet tego nie zauważasz. Inaczej pisząc, debugger nie może zwolnić konwersji, żebyś ją mógł "zobaczyć"...
Ja bym tego nie sprawdzał na Twoim miejscu (; Przypuszczam że jest raczej tak jak mówię - wszystkie piny z funkcjami analogowymi nie są odporne na 5V i tyle. Czy się uszkodzą czy nie to już zależy od setek czynników, więc raczej założyłbym że się coś uszkodzi. Bo pamiętaj, że poza uszkodzeniem GPIO można uszkodzić też coś innego, np przetwornik ADC....
To zależy do czego Ci to potrzebne. Częstotliwość próbkowania spokojnie wyciągniesz 44100Hz a to już częstotliwość z którą masz spróbkowane piosenki na płytach CD. Jeśli chodzi o jakość to tu już właśnie zależy po co Ci to. Są ultra hiper przetworniki audio...
Witam, Tak jak w temacie chciałbym zasilić STM NUCLEO ( STM32F411RE ) z źródła 3,3V ( przez przetwornik ). Korzystając z dokumentacji: http://www.st.com/content/ccc/resource/t... stwierdziłem że: -Zasilanie 3,3V podłączyć...
Może pierwsze podeślij kawałek kodu programu którym to robisz- może jakiś błąd Ci się wkradł? Masz tam włączony wzmacniacz wyjściowy? Podeślij też fragment schematu jak łączysz wyjście przetwornika z układem TDA.
OK, spróbuję. Dodano: Niestety nie udało mi się zrobić nic z tym ADC, zmienna, do której wpisuję wartość z przetwornika uparcie przyjmuje cały czas zero, a próbowałem różnych ustawień. Napisałem kod, w którym wartość z ADC przepisywana jest do DAC, ale kręcąc potencjometrem nic się nie dzieje (mierzę zmiany DAC na oscyloskopie). Kod jest podobny i wygląda...
[syntax=c]ADC1->SQR1 = (3<<20); [/syntax] Nie wiem czy dobrze rozumiem Datasheet, tutaj się ustawia ile przetwornik ADC mierzyć kanałów łącznie? Ja chce mierzyć z 3 wyprowadzeń więc ustawiłem 3 pomiary.
wgrywanie stm32f4 stm32f4 discovery stm32f4 usart
identyfikacja układu zasilacza silvercrest odkurzacz dopasowanie impedancji wyjścia
kabel brake radio delonghi ec850
Logamatic TC100 nie wykrywa kotła Buderus GB122 lub GB122i – brak komunikacji EMS, MX200 Citroen Xantia - brzęczyk piszczy 30 sekund po włączeniu zapłonu