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



Teraz jest 9 mar 2025, o 23:20


Strefa czasowa: UTC + 1





Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 7 ] 
Autor Wiadomość
PostNapisane: 25 lut 2017, o 17:03 
Offline
Nowy

Dołączył(a): 28 gru 2016
Posty: 4
Pomógł: 0

Witam,

O mikrokontrolerach nie ma bladego pojęcia ale doszły mnie słuchy, że za jego pomocą mogę rozwiązać mój problem.
Potrzebuję zbudować układ, który z analogowego sinusa na wejściu o częstotliwości "f" będzie generował 4 częstotliwości "xf" w stosunku do częstotliwości bazowej sygnały wejściowego.
Sinus wejściowy będzie o zmiennej częstotliwośc od 30 Hz do 20 kHz więc układ musi pracować swobodnie w ramach tego spektrum.

Czyli np. na wejściu mamy sinusa 1 kHz z którego dostaję 100 Hz, 250 Hz, 1.5 kHz oraz 2 kHz.

Zrobienie tego w domenie analogowej jest zbyt skomplikowane. Czy możecie mi poradzić jak się do tego zabrać i czy mikrokontroler jest dobrym wyborem?

Pzdr Jurek



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 25 lut 2017, o 20:01 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 01 sty 2014
Posty: 243
Pomógł: 9

A jaka dokładność tego sinusa cię interesuje, bo ot tego będzie zależała odpowiedź.
Być może wystarczy ci zwykły AVR 8-bitowy a być może będziesz musiał sięgnąć po jakieś Arduino Due albo jeszcze jakiegoś innego 32-bitowca.

Do czego to ma służyć?

_________________
http://www.ate-zbaszyn.eu



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 25 lut 2017, o 21:19 
Offline
Nowy

Dołączył(a): 28 gru 2016
Posty: 4
Pomógł: 0

Dzięki za odpowiedź. To jest ma być element kształtownika - te cztery sinusy (regulacja ampitudy w zakresie ~100 mVp) mają być sumowane analogowo wraz z sinusem podstawowym. Mechanizm zbliżony do syntezy addytywnej ale układ ma formę procesora sygnały a nie syntezatora. Dokładność jak największa, jak najgładszy sinus. Symulacja działa wspaniale i teraz nie mogę spać bo nie wiem jak to zrobić:)



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 26 lut 2017, o 08:42 
Offline
Użytkownik

Dołączył(a): 06 maja 2014
Posty: 415
Lokalizacja: Kraków
Pomógł: 26

Oczywiście, że da się to wykonać na mikrokontrolerze - natomiast wybór konkretnego rozwiązania będzie zależał od wymagań stawianych temu układowi :)
Będzie to wyglądało tak:
- przetwornik analog-cyfra dla wejściowego sinusa
- wszelakie obliczenia matematyczne na mikrokontrolerze
- przetwornik cyfra-analog dla wyjściowych sinusów

Do rozważenia:
Pierwsza rzecz: rozdzielczość - wbudowane w procki przetworniki A/C oraz C/A zwykle mają rozdzielczość 10-12 bitów. Jeśli potrzebujesz więcej, trzeba będzie zastosować oddzielne scalaki z przetwornikami.
Druga rzecz: częstotliwość próbkowania - musisz odpowiedzieć sobie, jak "gęsto" chcesz próbkować sygnał wejściowy a potem wyjściowy, żeby odpowiednio je odwzorować
Trzecia rzecz: skomplikowanie operacji matematycznych na tych sinusach - czy będzie bardzo dużo obliczeń, czy może niewiele
Czwarta rzecz: ilość kanałów wejściowych / wyjściowych - dość często przetworniki cyfra-analog w prockach mają "tylko" po 2 kanały

A tak naprawdę, jeśli masz trochę czasu to najlepiej by było wziąć jakikolwiek mikrokontroler z przetwornikiem A/C oraz C/A, zaprogramować i sprawdzić czy uzyskane efekty są dla Ciebie zadowalające - wtedy można decydować w którym kierunku iść.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 26 lut 2017, o 13:30 
Offline
Nowy

Dołączył(a): 28 gru 2016
Posty: 4
Pomógł: 0

Myślę, że nie ma sensu komplikować na wstępie i tak skomplikowanej sprawy. Raczej poniżej 12 bitów bym nie schodził. Wejście potrzebuję jedno, wyjścia 2 minimum - jak wszystko będzie działać to można układ rozwinąć. Jeśli dało by radę 4 wyjścia już na początku bez zbytniej afery - to super.

Jaki mk polecasz?

J



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 27 lut 2017, o 17:00 
Offline
Użytkownik

Dołączył(a): 06 maja 2014
Posty: 415
Lokalizacja: Kraków
Pomógł: 26

Najlepiej taki, jaki znasz :)
Dobrą opcją do prototypu wydaje mi się któraś z płytek stm32 nucleo (np. nucleo f446) - za ~100zł dostajesz gotową płytkę z mocnym procesorem, podłączasz kabelkiem usb do komputera, wejścia i wyjścia analogowe kabelkami i programujesz.
Natomiast jeśli nie programowałeś wcześniej mikrokontrolerów, to takie zadanie będzie sporym wyzwaniem.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 4 mar 2017, o 18:31 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 30 cze 2016
Posty: 247
Lokalizacja: Rybnik
Pomógł: 13

Ja bym użył wewnętrznego komparatora, by otrzymać sygnał 1 0 i mierzyłbym czas trwania 1 i czas trwania 0. Na podstawie tego częstotliwość. Do tego biblioteka math.h i generacja sinusa na pwm i przerwaniach, ale będzie trochę ograniczeń co do częstotliwości. Najłatwiej wygenerować sygnał 0 1 i dołożyć jakichś kondensatorów. Na attiny2313, co nie posiada adc można coś takiego zrobić.

_________________
Situs != Situs



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

Strefa czasowa: UTC + 1


Kto przegląda forum

Użytkownicy przeglądający ten dział: Brak zidentyfikowanych użytkowników i 6 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