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



Teraz jest 22 gru 2024, o 14:03


Strefa czasowa: UTC + 1





Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 20 ] 
Autor Wiadomość
PostNapisane: 21 lis 2018, o 14:47 
Offline
Nowy

Dołączył(a): 05 mar 2015
Posty: 13
Pomógł: 0

Witam,

mam problem z bardzo nieregularnym sygnałem wyjściowym PWM na arduino Mega.
Procesor wystawia wartość za pomocą PWM. Wartość jest stała, wpisana cyfrowo poprzez magistralę, po czym wystawiona na nóżkę. Za nią jest wzmacniacz operacyjny LM324, który ma za zadanie podnieść wartość dwukrotnie tak, by można było uzyskać 10V.
Problem jest taki, że wyjściowy sygnał 0-10 strasznie pływa, jeśli przyłożę miernik, to jest OK, ale po podpięciu urządzenia dokładniejszego okazuje się, że napięcie skacze nawet o 1V.
Napięcie zasilania arduino jest w porządku, bo gdy robię mostek z 5V zasilania bezpośrednio, to pływanie nie występuje wcale. Ewidentnie coś jest z samym sygnałem PWM.

Pozdrawiam.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 21 lis 2018, o 15:02 
Offline
Użytkownik

Dołączył(a): 22 sty 2014
Posty: 1806
Zbananowany użytkownik

Pomógł: 168

trolodk napisał(a):
Procesor wystawia wartość za pomocą PWM.


W jaki sposób wystawia "wartość"? Skoro to PWM to ggeneruje sygnał prostokątny o zadanej częśtotliwości i wypełnienią a nie żadną "wartość".

trolodk napisał(a):
Wartość jest stała, wpisana cyfrowo poprzez magistralę, po czym wystawiona na nóżkę.


Jaką magistralę? Jaka wartość? i na jaką nóżkę? I jak jest wystawiana? Masz na myśli współczynnik wypełniania sygnału?

trolodk napisał(a):
Za nią jest wzmacniacz operacyjny LM324, który ma za zadanie podnieść wartość dwukrotnie tak, by można było uzyskać 10V.

masz jakiś filtr dolnoprzepustowy jak mniiemam przed tym wzmacniaczem? i chcesz to napięcie wzmocnić 2 razy? Tak zakładam bo rozumiem że wiesz że ten wzmacniacz nie nadaję się do wzmacniania sygnału prostokątnego PWM poniważ jego slew rate to 0.5V/mikroskeunde czyli od 0-10V narastanie zbocza to 20us...
Dodatkowo żeby uzyskać zakres napięć od 0 - 10V na wyjściu trzeba ten wzmacniacz zasilić napięciem -1V - 12V bo nawet jak masz 0 na wejściu to on nie zjedzie niżej niż 20mV na wyjściu przy założeniu że zasilacz go napięciem 0V - 12V np...

trolodk napisał(a):
Problem jest taki, że wyjściowy sygnał 0-10 strasznie pływa, jeśli przyłożę miernik, to jest OK, ale po podpięciu urządzenia dokładniejszego okazuje się, że napięcie skacze nawet o 1V.


Co to znaczy pływa? Masz tam filtr dolnoprzepustowy żeby mierzyć miernikiem? Bo jak nie to mierzysz PWM miernikiem więc masz śmieci. i co to za tajemne urządzenie dokładniejsze niż miernik?

trolodk napisał(a):
apięcie zasilania arduino jest w porządku, bo gdy robię mostek z 5V zasilania bezpośrednio, to pływanie nie występuje wcale. Ewidentnie coś jest z samym sygnałem PWM.


Skąd to wiesz? patrzyłeś na AC coupling na oscyloskopie że tak zakładasz? Czemu zkaładasz że coś jest Z PWM?



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 21 lis 2018, o 15:11 
Offline
Nowy

Dołączył(a): 05 mar 2015
Posty: 13
Pomógł: 0

Nefarious19 napisał(a):
trolodk napisał(a):
Procesor wystawia wartość za pomocą PWM.

W jaki sposób wystawia "wartość"? Skoro to PWM to ggeneruje sygnał prostokątny o zadanej częśtotliwości i wypełnienią a nie żadną "wartość".
To miałem na myśli. Wiem jak wygląda sygnał PWM.

Nefarious19 napisał(a):
trolodk napisał(a):
Wartość jest stała, wpisana cyfrowo poprzez magistralę, po czym wystawiona na nóżkę.

Jaką magistralę? Jaka wartość? i na jaką nóżkę? I jak jest wystawiana? Masz na myśli współczynnik wypełniania sygnału?
RS485. Na nóżkę 10 (w pinologii Arduino). Wystawiana jest za pomocą jedynej znanej mi dla Arduino funkcji "analogWrite(nóżka, wartość 0-255);"

Nefarious19 napisał(a):
trolodk napisał(a):
Za nią jest wzmacniacz operacyjny LM324, który ma za zadanie podnieść wartość dwukrotnie tak, by można było uzyskać 10V.

masz jakiś filtr dolnoprzepustowy jak mniiemam przed tym wzmacniaczem? i chcesz to napięcie wzmocnić 2 razy? Tak zakładam bo rozumiem że wiesz że ten wzmacniacz nie nadaję się do wzmacniania sygnału prostokątnego PWM poniważ jego slew rate to 0.5V/mikroskeunde czyli od 0-10V narastanie zbocza to 20us...
Dodatkowo żeby uzyskać zakres napięć od 0 - 10V na wyjściu trzeba ten wzmacniacz zasilić napięciem -1V - 12V bo nawet jak masz 0 na wejściu to on nie zjedzie niżej niż 20mV na wyjściu przy założeniu że zasilacz go napięciem 0V - 12V np...
Tego nie wiedziałem. Przy skrajnych wartościach jest ok. Zasilanie wzmacniacza to 12V wystabilizowane z 24V.

Nefarious19 napisał(a):
trolodk napisał(a):
Problem jest taki, że wyjściowy sygnał 0-10 strasznie pływa, jeśli przyłożę miernik, to jest OK, ale po podpięciu urządzenia dokładniejszego okazuje się, że napięcie skacze nawet o 1V.

Co to znaczy pływa? Masz tam filtr dolnoprzepustowy żeby mierzyć miernikiem? Bo jak nie to mierzysz PWM miernikiem więc masz śmieci. i co to za tajemne urządzenie dokładniejsze niż miernik?
Falowniki LG i Schneider. Sterowanie częstotliwością za pomocą zewnętrznego 0-10V. Częstotliwość bardzo pływa.

Nefarious19 napisał(a):
trolodk napisał(a):
apięcie zasilania arduino jest w porządku, bo gdy robię mostek z 5V zasilania bezpośrednio, to pływanie nie występuje wcale. Ewidentnie coś jest z samym sygnałem PWM.

Skąd to wiesz? patrzyłeś na AC coupling na oscyloskopie że tak zakładasz? Czemu zkaładasz że coś jest Z PWM?
Tak, patrzyłem na oscyloskopie i napięcie zasilania jest bardzo stabilne.

Jeśli dobrze Cię rozumiem, to z Twoich sugestii śmiało można uczepić się wzmacniacza. Jaki zatem użyć?
Pozdrawiam.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 21 lis 2018, o 16:44 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 14 lut 2014
Posty: 293
Lokalizacja: Jaskółowo k. Warszawy
Pomógł: 9

Cześć.
Nie znam się na falownikach ale czy nie byłoby lepiej do tego użyć mosfeta?
Tak jak się to robi do sterowania silników.

------------------------ [ Dodano po: 3 minutach ]

Albo jakiś drivermocy typu unl2003

_________________
POZDROWIONKA



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 21 lis 2018, o 18:59 
Offline
Nowy

Dołączył(a): 05 mar 2015
Posty: 13
Pomógł: 0

Niestety falownik jest konieczny.
W najgorszym przypadku mogę połączyć się przez RS485 z falownikiem, ale chciałem tego uniknąć.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 21 lis 2018, o 19:06 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 14 lut 2014
Posty: 293
Lokalizacja: Jaskółowo k. Warszawy
Pomógł: 9

Że falownik jest konieczny to wiem.
Chodziło mi o to że ten PWM puszczasz przez mosfeta albo unl i to do falownika

------------------------ [ Dodano po: 3 minutach ]


------------------------ [ Dodano po: 9 minutach ]

Mosfet musi być "low logic" i z niskim rdson. Pytanie też jakiej częstotliwości oczekujesz.
Czy arduino ma odpowiadać tylko za PWM?
Jak tak to może lepiej zrobić układzik na ne555

_________________
POZDROWIONKA



Ostatnio edytowano 22 lis 2018, o 18:01 przez PITERK, łącznie edytowano 3 razy

Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 21 lis 2018, o 22:09 
Offline
Nowy

Dołączył(a): 05 mar 2015
Posty: 13
Pomógł: 0

Panowie dziękuję za odpowiedzi.
PITERK: program na Arduino jest bardziej złożony, a kwarc zewnętrzny 16MHz.

zubik: co masz na myśli mówiąc odfiltrować napięcie PWM?
Co do napięcia 10V - tu jest ok i nawet nie drgnie. Skrajnie niskich napięć nie wymagam, bo poniżej 2V nie będę na 99% schodził.

Zaciekawiło mnie to co napisałeś o ADC. Faktycznie w programie są 3 pomiary ADC w każdej pętli, czyli tyle ile razy wystawiam PWM tyle samo robię pomiar ADC. Sprawdzę jutro wyrzucając chwilowo pomiary ADC i zobaczę czy coś się zmieniło.

Dzięki za dzisiejszą pomoc.
Pozdrawiam.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 21 lis 2018, o 23:42 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 08 maja 2013
Posty: 174
Lokalizacja: Kraków
Pomógł: 8

Schemat z działającym wyjściem 0-10V sterowanym PWM z Atmegi:
Obrazek

Musisz sobie dobrać wartości rezystorów.
Do falownika powinno wystarczyć. Ewentualnie zastosuj układ MCP4822.

_________________
Rozwój i utrzymywanie Oprogramowania



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 22 lis 2018, o 08:20 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 22 paź 2013
Posty: 1967
Lokalizacja: Lipsko
Pomógł: 125

PITERK napisał(a):
Obrazek

------------------------ [ Dodano po: 9 minutach ]

Mosfet musi być "low logic" i z niskim rdson. Pytanie też jakiej częstotliwości oczekujesz.
Czy arduino ma odpowiadać tylko za PWM?
Jak tak to może lepiej zrobić układzik na ne555


Po części można to próbować zrealizować na mosfet, ale na boga skąd Ty ten schemat dorwałeś?! :o
Nie 1k na bramkę, a coś około 50-100om max, nie 10k do masy tylko 47k-100k. Mała wartość wydłuża ładowanie bramki, a rezystor pełni tu rolę tylko zabezpieczającą blokując bramkę gdyby stan nieustalony się tam pojawił. W sumie nie jest tam niezbędny. Na koniec wyjście z drenu - popatrz jeszcze raz na swój schemat i wyciągnij wnioski...
Niech nikt tego schematu nie próbuje wykorzystać w praktyce! :o

_________________
http://www.sylwekkuna.com



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 22 lis 2018, o 14:09 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 14 lut 2014
Posty: 293
Lokalizacja: Jaskółowo k. Warszawy
Pomógł: 9

Dziękuję Sylwek za poprawienie.
Wstawiłem z netu nie zwracając uwagi na wartości rezystorów.

_________________
POZDROWIONKA



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 22 lis 2018, o 18:00 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 26 sty 2016
Posty: 1164
Lokalizacja: Kraków
Pomógł: 93

Nadal jest źle. Zwierasz 12V i GND!



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 22 lis 2018, o 18:24 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 14 lut 2014
Posty: 293
Lokalizacja: Jaskółowo k. Warszawy
Pomógł: 9

No właśnie zaraz po wklejeniu się zorientowałem że to nie ma prawa działać.
A takie coś?
Obrazek

_________________
POZDROWIONKA



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 22 lis 2018, o 19:15 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 22 paź 2013
Posty: 1967
Lokalizacja: Lipsko
Pomógł: 125

Artystyczne wybuchowe potworki tworzysz :)

_________________
http://www.sylwekkuna.com



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 22 lis 2018, o 19:49 
Offline
Użytkownik

Dołączył(a): 22 sty 2014
Posty: 1806
Zbananowany użytkownik

Pomógł: 168

zubik napisał(a):
przecież na pierwszy rzut oka widać że dioda w mosfecie będzie cały czas przewodziła.


dokładnie. A poza tym jeżeli to ma być P-MOSFET który podaje PWM o amplitudzie 12V to będzie on cały czas otwarty niezależnie czy na bramce będzie miał 5V czy 0V względem masy bowiem względem źródła będzie to raz -7V a raz -12V ;)



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 22 lis 2018, o 21:27 
Offline
Nowy

Dołączył(a): 05 mar 2015
Posty: 13
Pomógł: 0

zubik napisał(a):
trolodk napisał(a):
co masz na myśli mówiąc odfiltrować napięcie PWM?
Że wpierw fitrujesz potem wzmacniasz, żeby prawidłowo dobrać filtr musisz znać częstotliwość PWM
Jak dobrać taki filtr?

zubik napisał(a):
trolodk napisał(a):
Faktycznie w programie są 3 pomiary ADC w każdej pętli
jeśli wyniki ADC nie wpływają bezpośrednio na wartość PWM(a doczytałem że ustalana wartość PWM przychodzi z RS485) to nie powinno mieć to znaczenia.
Tak, wartość zadana przychodzi po magistrali i na 101% jest poprawna i stała.

zubik napisał(a):
Dobrze by było jakbyś pokazał schemat tego co teraz masz, łatwiej nam będzie pomóc
Jasne, w załączniku.

zubik napisał(a):
co do stabilności napięć wyjściowych (tych 0...10V) też niema co zbytnio walczyć o każdy mV ponieważ zwykle falowniki mają na wejściu odpowiednie obwody filtrujące i zabezpieczające. Z resztą... większej rozdzielczości niż 10/255 = 0,0392156862745098V przy tej konfiguracji nie uzyskasz, a trzeba by się dowiedzieć jak by to się miało w odniesieniu do możliwości sterowania twojego falownika.
No właśnie problem w tym, że taka dokładność nie jest mi potrzebna. 0.04V to w przeliczeniu w moim przypadku to nawet nie 1Hz, a falownik skacze o wiele więcej.


Załączniki:

Aby zobaczyć załączniki musisz się zalogować. Tylko zalogowani użytkownicy mogą oglądać i pobierać załączniki.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 23 lis 2018, o 08:15 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 08 maja 2013
Posty: 174
Lokalizacja: Kraków
Pomógł: 8

Z całym szacunkiem do Ciebie, ale Ty masz problem z poprawnym narysowaniem schematu (dobrze że nie przysłałeś go narysowanego w negatywie...), a gdzie sterowanie pracą falownika.

_________________
Rozwój i utrzymywanie Oprogramowania



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 23 lis 2018, o 20:30 
Offline
Nowy

Dołączył(a): 05 mar 2015
Posty: 13
Pomógł: 0

0livaw napisał(a):
Z całym szacunkiem do Ciebie, ale Ty masz problem z poprawnym narysowaniem schematu (dobrze że nie przysłałeś go narysowanego w negatywie...), a gdzie sterowanie pracą falownika.
Nie bardzo rozumiem. Od góry to połączenie z nóżką 10 (w pinologii Arduino) z procesorem, a na dole wyjście 0-10V.
Co masz na myśli pytając gdzie sterowanie falownika? Chodzi o podpięcie fizyczne przewodów? Konfigurację? Przecież nie tu jest problem, ani nie o to pytam. Falowniki są skonfigurowane poprawnie. Nie tylko falowniki pływają, ale każde tego typu czułe urządzenie. Oscyloskopu nie podpinałem na finalne wyjście 0-10V. Nie wiem czy na dniach będę miał taką możliwość. Ale napiszę to co pisałem wcześniej - zasilanie arduino jest wręcz wzorowe. Idealne 5V bez praktycznie żadnych drgnięć, nawet w trakcie trwania i wykonywania programu.

zubik napisał(a):
ponieważ nie znamy częstotliwości twojego pwm-a to nic więcej podać nie można
980Hz -> https://www.arduino.cc/reference/en/lan ... alogwrite/

zubik napisał(a):
z resztą w ogóle podajesz takie minimum informacji że szkoda gadać.
Z całym szacunkiem, ale skąd mam wiedzieć jakich informacji wymagacie. Po to pytam, bo nie wiem. Jeśli jakieś pytanie wcześniej padło, a je przeoczyłem, to przepraszam.

zubik napisał(a):
Co nie oznacza że czegoś po drodze nie psujesz. Tego znów nie wiemy - brak kodu
Nie psuję. Kod dla tego konkretnego pwm-a to w tym przypadku jedna linia - przepis rejestru do parametru funkcji analogWrite():
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.

Definicji obiektu mb.Hreg(FAL_1) myślę można sobie darować. Bibliotekę do obsługi modbusa też podać?
To nie tu jest problem. Nie ma żadnych obliczeń, żadnych przekształceń. Poza tym program jest zawiły, ma kilka tysięcy linii kodu i nie jest to jedyne miejsce z obsługą modbusa. Ciężko wkleić tu ten program, bo tak jak mówię - ma kilka tysięci linii kodu. Nie ma żadnych delay'ów, ani błędów składniowych. Nie jest to pierwszy mój program... Czy program ma 30 linii kodu, czy 15 000 to efekt jest taki sam. Nawet jeśli program nie robi NIC oprócz wystawiania PWM przez wzmacniacz, to dzieją się takie rzeczy.
zubik napisał(a):
Też nic wczesniej ani teraz o rozdzielczości sterowania nie napisałeś.
Pisałem. 0-255, więc 8-bit.

Panowie, dzieki za zaangażowanie, ale mam wrażenie, że temat schodzi trochę na inny tor. Falowniki są poprawnie skonfigurowane, program też nie "trzęsie" wartością PWM. Wzmocnione napięcie wyjsciowe z Arduino jest na 99% winne. Próbowałem wszystkich sposobów, nawet próbowałem programowo "wspomóc" sygnał wyjściowy, ale brak rezultatu.
Tak czy inaczej - dziękuję za dotychczasową pomoc.

zubik: Możesz mi teraz powiedzieć coś więcej na temat filtra?



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 25 lis 2018, o 15:58 
Offline
Użytkownik

Dołączył(a): 25 lip 2013
Posty: 2590
Pomógł: 128

Z reguły standardowe falowniki mogą być sterowane przy pomocy sygnału analogowego (np. via potencjometr) . Więc moim zdaniem podłączanie PWMa do falownika jest błędem. Lepiej zrobić filtr RC przy procku i podłączyć do falownika przez wzmacniacz operacyjny, który od razu dopasuje amplitudę. Podaj model falownika i opisz dokładnie co chcesz robić/uzyskać.
P. S. Jeśli chcesz mieć tylko cyfrowe sterowanie falownikiem to wcale nie musisz używać Arduino



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 13 gru 2018, o 13:55 
Offline
Nowy

Dołączył(a): 05 mar 2015
Posty: 13
Pomógł: 0

mickyfalownik LS ig5a, albo różne Schneidery Attivar. Co chcę uzyskać? Sterować częstotliwością ze sterownika.

zubik napisał(a):
Zrobiłem też symulację z ciekawości http://tinyurl.com/y8ta9tdp Zrób sobie taki prosty filtr na wyjściu uP i sprawdź czy masz stabilne przebiegi
Genialne narzędzie, o którego istnieniu nie wiedziałem.
Dzięki za link.

zubik napisał(a):
(...) ale wpierw zrób tę próbę o której pisałem. Jak będzie stabilnie to jedziemy dalej z tematem
Zrobiłem i jest prawie rewelacyjnie. Tzn falownik dalej skacze ale o 4 setne części Hz-a, co dla mnie jest totalnie pomijalnym błędem. Wiem, że można coś upieścić, ale póki co, to mi wystarczy.
Co ciekawe - kiedyś szukając rozwiązania tego problemu znalazłem schemat taki jak Twój, ale podłączyłem rezystor (zgodnie ze schematem) 1kOhm a nie 10kOhm, pływanie nie ustało, co mnie zmyliło.

Dzięki wszystkim jeszcze raz za pomoc, kliknę Wam "pomógł".

Pozdrawiam.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 18 gru 2018, o 18:03 
Offline
Użytkownik

Dołączył(a): 26 cze 2016
Posty: 186
Pomógł: 7

Z tego co widzę, to pływanie jest powolne, gdyż widać po częstotliwości falownika. Może zrób tak, po filtrze podłącz woltomierz i zobacz czy pływa. Jak ok, to po wzmacniaczu (bez falownika). Jak będzie ok, to podłącz falownik, być może falownik wymaga sterowania ze źródła o małej rezystancji i wpływa na to napięcie. Stałą czasową daj dużą, jeśli to ma silnikiem sterować, to zmiany nie muszą być szybkie.



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

Strefa czasowa: UTC + 1


Kto przegląda forum

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