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



Teraz jest 22 sty 2025, o 21:00


Strefa czasowa: UTC + 1





Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 5 ] 
Autor Wiadomość
PostNapisane: 15 kwi 2014, o 11:11 
Offline
Użytkownik

Dołączył(a): 07 sty 2012
Posty: 136
Pomógł: 0

Witajcie
Mam dwa tematy na tapecie nad którymi się już troszkę głowię:
1.
-Muszę sobie wygenerować sinusa (np.Wyjście DAC) o zakresie 0-3V i częstotliwości 50hz, robił ktoś takie rzeczy na STM, lub AVR? Wygrzebałem przykład na F4 i niby nim się bawię, ale tam mam zakres od -1.5 do +1.5V.
- Muszę innym STM'em zmierzyć tego sinusa i wysłać do komputera. Mam już to niby zrobione. Z jakąś częstotliwością robię sobie pomiar 1000 próbek, potem zapisuję te próbki do bufora i wysyłam i nawet wykres rysuję. Problem w tym że wyświetla mi tylko wartości z górnej części sinusa. I nie tylko o część dodatnią chodzi, ale jakby tylko wartości maksymalne. Może mnie ktoś nakierować?
2. Zupełnie inny temat: Sterownik RGB sterowany po Modbus :
http://www.multiprojekt.pl/ftp/Esea/dok ... 2.2011.pdf
Problem w tym że wyjście ma 12V a linijkę led mam na 24VDC. Ma ktoś jakiś sprawdzony schemat jak takie coś zrobić? W sensie żeby w miarę sprawnie sygnałem 12VDC (PWM) proporcjonalnie sterować 24VDC.
Pewnie trzeba jakiś wzmacniacz operacyjny zastosować, ale mam w tym małe doświadczenie, stąd właśnie pytanie.
Pozdrawiam



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 15 kwi 2014, o 17:03 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 11 sty 2013
Posty: 1760
Pomógł: 196

Witam
ad.2 :)
Aby mieć pewność, ze nic przy okazji nie upalisz możesz zastosować układ tego typu:
Obrazek
Musisz tylko zmienić rezystor R6 na większy.
Zastosowanie optoizolacji zwalnia Cię od ustalania czy wyjście ma stałe GND czy Vcc, co w przypadku wykonywania kilku takich buforów ma znaczenie.
Tranzystor wykonawczy też może być dowolny włącznie z IRF... .
Diodę LED możesz oczywiście pominąć, ale stracisz bajerek wizualizacji pracy.

Pozdr.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 15 kwi 2014, o 18:54 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 10 sty 2013
Posty: 844
Lokalizacja: Przemyśl
Zbananowany użytkownik

Pomógł: 43

Ad1. Kolega Antystatyczny zrobił fajny generator DDS topic1940.html
Ad2. Jak wyżej, szereg problemów odchodzi przy takiej koncepcji

_________________
Klimatyzacja Przemyśl



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 16 kwi 2014, o 09:40 
Offline
Użytkownik

Dołączył(a): 07 sty 2012
Posty: 136
Pomógł: 0

Dzięki za podpowiedź, spróbuję zrobić taki generatorek:)
A czy robił ktoś kiedyś pomiar analogowy takiej sinusoidy i próbował ją wyświetlić na kompie?
Myślałem o takiej koncepcji żeby zrobić bufor z danymi pomiarowymi, pomiar robić co 55us, po wypełnieniu bufora wysłać te dane na komputer, poprzez USART. Niby koncepcja moim zdaniem dobra ale wyłapywałem tylko wartości z górnej części sinusoidy. Może dałoby się wykryć jakąś wartość która by uruchamiała timer lub pomiar (np. przejście przez pozorne zero). - To realizuję na STM32
Jak wyświetlić dane na kompie. T.z teraz robię to przy użyciu timera, ale się zastanawiam czy nie dało by się zrobić jakiegoś przerwania od przesłania danych, t.z że zamiast robić to cylicznie, uruchomić to tylko w tedy gdy nadchodzą dane pomiarowe. - To realizuję w C#



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 28 kwi 2014, o 08:33 
Offline
Użytkownik

Dołączył(a): 07 sty 2012
Posty: 136
Pomógł: 0

Witam.
Udało mi się porozwiązywać parę problemów. Więc jak coś to będzie dla potomnych:)
Na podstawie schematu od kolegi wyżej robiłem symulację (ale z 5 na 24VDC)
Obrazek
Później doślę z podłączonym tranzystorem. Symulację robiłem w LTSpice.
Nie testowałem tego jeszcze w praktyce, ale daje to już pewien obraz jak to działa:)
Druga sprawa. Właśnie pomiar sinusa - czyli uściślając próba zebrania takiej ilości próbek z przetwornika AC aby wyłapać ten kształt sinusoidy.
Początkowo próbowałem to robić w czasie rzeczywistym -czyli biorę próbkę i wysyłam. ale choćby niewiadomo jak bardzo się starał czy zwiększał szybkość nie otrzymywałem dobrego wyniku.
Zrobiłem więc to tak że w przerwaniu o częstotliwości 20kHz pobieram 100próbek (można więcej lub mniej, ale 100 było optymalnie), zapisuję je do tablicy z danymi. Kiedy wszystkie próbki są zapisane - blokuję pomiary, a raczej zapis tych próbek do tablicy i bierzemy się za wysyłanie. Wynik był obiecujący - wychodziła taka zamazana piła, czy bardziej koślawa sinusoida, ale też zamazanie było spowodowane dużą iloscią zakłóceń na płytce - oscyloskop wskazywał że co chwilę sinusoida się "powielała".
Kodzik dla STM32F1 - bez bicia się przyznam że funkcja przerwania jest z książki o STM, ale te biblioteki można ściągnąć za darmo i legalnie ze strony wydawcy - czy gdzieś w okolicach. Funkcję lekko (naprawdę symbolicznie) zmodyfikowałem dla własnych potrzeb.

Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.


Na szybko C# napisałem programik do testowania i wyświetlania danych
link http://hostuje.net/file.php?id=f8930378a67d617d8c6842eb984ceb78

przycisk pierwszy wykonuje pomiar, trzeci wyświetla wykres.
Drugi coś miał robić ale zapomniałem mu dopisać funkcji:P



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

Strefa czasowa: UTC + 1


Kto przegląda forum

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