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)
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.
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=f8930378a67d617d8c6842eb984ceb78przycisk pierwszy wykonuje pomiar, trzeci wyświetla wykres.
Drugi coś miał robić ale zapomniałem mu dopisać funkcji:P