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



Teraz jest 15 lut 2025, o 22:06


Strefa czasowa: UTC + 1





Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 24 ] 
Autor Wiadomość
PostNapisane: 13 lip 2016, o 08:24 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 19 sty 2012
Posty: 131
Lokalizacja: Kraków
Pomógł: 2

Witam, potrzebuje wygenerować na dwóch avr identyczny synchronizowany przebieg prostokątny z minimalnym przesunięciem fazowym (jak najmniejszym). Jak można to zrealizować?

Moja koncepcja to np.
1 avr generuje fale przy użyciu timera 1 i przy przepełnieniu timera zmienia stan pinu na przeciwny np. PC1
2 avr ma włączone przerwanie na zbocze i jest podłączone do pinu PC1 pierwszego avr, następnie odpala timer 1 i zmienia stan pinu na przeciwny

Proszę o poradę czy ma to sens



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 13 lip 2016, o 12:36 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 29 maja 2013
Posty: 432
Lokalizacja: Gostyń / Poznań
Pomógł: 25

Moze w tym drugim nie potrzebujesz wogole timera... niech pierwszy generuje sygnal prostokatny. A drugi w przerwaniu reaguje na obydwa zbocza i tylko togluje jakies wyjscie... wtedy bys mial opoznienie tylko dlugosci obslugi przerwania... tak mi sie wydaje przynajmniej....

_________________
Podpis...



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 14 lip 2016, o 00:01 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 01 lis 2015
Posty: 1448
Lokalizacja: okolice Warszawa
Pomógł: 149

Witam,
Trudno coś podpowiedzieć, bo pojęcie
tomwisnia napisał(a):
z minimalnym przesunięciem fazowym (jak najmniejszym).
jest nadal względne.

Dlaczego dopiero na drugim avr realizacja przesunięcia.? a nie na pierwszym, skoro i tak są połączone to może niech pierwszy dyktuje warunki. A może wystarczy jeden procek do osiągnięcia celu.?
No chyba że to do wymyślonych ćwiczeń i chodzi o okiełznanie zachowania procków i testowanie ustawiania rejestrów.

hm .. minimalne to "0".
Tak sobie myślę, trochę więcej to ms? us? ns?, spora rozbieżność. :(
Jeżeli np ns, :) to może wystarczy dłuższy przewód by uzyskać opóźnienie sygnału. :) po przyłożeniu napięcia, różnica potencjałów na końcu 30cm przewodu pojawi sie po około 1 ns.

Domyślam się że to nie o to chodzi, chciałem tylko zwrócić uwagę na szczegół, że im więcej informacji tym więcej pomocnych pomysłów ze strony kolegów.
pozdrawiam.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 14 lip 2016, o 19:10 
Offline
Użytkownik

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

Tak prawdę mówiąc, to minimalne opóźnienie można uzyskać za pomocą paro centymetrowej ścieżki. A nawet takie może być za duże.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 14 lip 2016, o 19:32 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 27 mar 2015
Posty: 44
Pomógł: 2

w telekomunikacji przy przesyłaniu danych po np światłowodzie stosuje sie w standardzie np pcm32 ramki z 8 bitów i wieloramki składające się z 32 ramek z czego ramki w wieloramce o nr
0 to serwisowa następne
15 ramek to do przesyłu danych ,
natomiast 16 służy do synchronizacji pracy generatorów ( muszą bo inaczej urządzenia koncowe i przelotowe na dużych odległościach by nawet się nie widziały
dalsze ramki także służą do przesyłu danych , // próbek głosu

może to pomoże
https://www.google.pl/imgres?imgurl=htt ... mrc&uact=8

[ a kolega to nie wie jak się na naszym forum umieszcza obrazki ? linki usunąłem - mirekk36 ]

bądź cały cykl :) http://slideplayer.pl/slide/1216963/



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 15 lip 2016, o 06:29 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 01 lis 2015
Posty: 1448
Lokalizacja: okolice Warszawa
Pomógł: 149

witam,
No tak, ale koledze raczej nie o taki sposób opóźnienia chodzi, tylko o programowy.

tomwisnia napisał(a):
następnie odpala timer 1 i zmienia stan pinu na przeciwny

może być coś w tym kierunku, z małą korektą. " i po sprawdzeniu stanu na wejściu, ustawia taki sam na swoim wyjściu ." żeby przebiegi były tylko lekko przesunięte a nie odwrócone.
pozdrawiam



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 15 lip 2016, o 20:14 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 19 sty 2012
Posty: 131
Lokalizacja: Kraków
Pomógł: 2

Chyba źle się wyraziłem pisząc z minimalnym przesunięciem fazowym (jak najmniejszym).
Najlepiej jak by nie było żadnego przesunięcia a przebiegi generowane na dwóch procesorach były identyczne. Ale właśnie jak to uzyskać.
Jest takie urządzenie (tzw. bezpieczny komparator) które ma być zasilane 2 falami prostokątnymi (identycznymi) z 2 różnych procesorów (względy bezpieczeństwa i dlatego na 2 procesorach).

Myślę że koncepcja kolegi emce2 jest ok. Opóźnienie jakie powstanie będzie długości obsługi przerwania.

Albo jeszcze moja koncepcja że 1 avr odpala timer i podaje przebieg prostokątny na wejście INT0 1avr oraz 2avr. A następnie przerwanie reaguje na oba zbocza i toggluje już jakimś wyjściem. Tu nie powinno powstać żadne opóźnienie tak mi się wydaje.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 18 lip 2016, o 07:58 
Offline
Użytkownik

Dołączył(a): 07 cze 2016
Posty: 563
Pomógł: 143

tomwisnia napisał(a):
Najlepiej jak by nie było żadnego przesunięcia a przebiegi generowane na dwóch procesorach były identyczne. Ale właśnie jak to uzyskać.
Można to łatwo uzyskać przy założeniu, że obydwa timery będą taktowane z jednego generatora, którego sygnał będzie podany na wejścia zliczające (T0 lub T1). Tym generatorem mógłby być jeden z mikrokontrolerów.

Biorąc jednak pod uwagę co następuje:
tomwisnia napisał(a):
Jest takie urządzenie (tzw. bezpieczny komparator) które ma być zasilane 2 falami prostokątnymi (identycznymi) z 2 różnych procesorów (względy bezpieczeństwa i dlatego na 2 procesorach).
taka koncepcja odpada (podobnie jak koncepcja kolegi emce2), ponieważ w przypadku awarii mikrokontrolera, który jest źródłem sygnału zegarowego, drugi też przestaje cokolwiek generować. Podobnie zresztą będzie, jeśli zastosujemy osobny generator taktujący oba mikrokontrolery.

Wydaje mi się, że w tej sytuacji prawidłowym rozwiązaniem powinno być użycie dwóch osobnych generatorów w dwóch osobnych mikrokontrolerach. Niestety to nieco komplikuje sprawę, jeśli koniecznie oba sygnały muszą zachować tę samą fazę, ponieważ nie wystarczy jednorazowe zsynchronizowanie. Nawet przy bardzo dokładnych rezonatorach kwarcowych te przebiegi i tak prędzej czy później się "rozjadą". Synchronizacja w czasie rzeczywistym wiąże się z kolei z tym, że zawsze otrzymamy jakieś wahania okresu w synchronizowanym sygnale. Jakie będą duże zależy przede wszystkim od różnicy częstotliwości taktujących poszczególne mikrokontrolery oraz od stosunku częstotliwości taktowania mikrokontrolera do częstotliwości oczekiwanej na wyjściu. Synchronizacja będzie zapewne trudniejsza, jeśli konieczne będzie użycie preskalera. Wszystko zależy od tego, jakie wahania okresu/częstotliwości są akceptowalne.

tomwisnia napisał(a):
Albo jeszcze moja koncepcja że 1 avr odpala timer i podaje przebieg prostokątny na wejście INT0 1avr oraz 2avr. A następnie przerwanie reaguje na oba zbocza i toggluje już jakimś wyjściem. Tu nie powinno powstać żadne opóźnienie tak mi się wydaje.
W celu synchronizacji można użyć np. przerwania INT0, ale raczej nie w ten sposób. Tutaj trudno coś doradzić nie znając parametrów, o których pisałem powyżej.

No chyba, że olewamy bezpieczeństwo i wtedy nie potrzebujemy żadnych mikrokontrolerów i synchronizacji. Wystarczy z jednego generatora podać sygnał na oba wejścia i po sprawie :)



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 18 lip 2016, o 08:20 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 01 lis 2015
Posty: 1448
Lokalizacja: okolice Warszawa
Pomógł: 149

Kurczę,
Wpadł mi pomysł, jeszcze nigdy tego nie testowałem.
A gdyby tak dać na wspólnym kwarcu oba procesory?
Czy to w ogóle ruszy?



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 18 lip 2016, o 09:00 
Offline
Użytkownik

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

Popatrz w pdf do procka zwiazany z zewnętrznym kwarcem

Sent from my mobile.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 18 lip 2016, o 11:11 
Offline
Użytkownik

Dołączył(a): 07 cze 2016
Posty: 563
Pomógł: 143

Daro69 napisał(a):
A gdyby tak dać na wspólnym kwarcu oba procesory?
Czy to w ogóle ruszy?

Nie bardzo wiem, co rozumiesz pod pojęciem "dać na wspólnym kwarcu oba procesory", jednak to raczej bez znaczenia czy to "ruszy". Zasada jest taka: jeśli jakieś obwody są dublowane ze względów bezpieczeństwa, każdy z tych obwodów musi działać samodzielnie i niezależnie od drugiego, więc nie mogą mieć elementów wspólnych. Inaczej dublowanie nie ma większego sensu.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 18 lip 2016, o 11:43 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 04 cze 2014
Posty: 855
Lokalizacja: pod Warszawą
Pomógł: 58

witam Kolegów

ja zrobiłbym to trochę inaczej
Pierwszy procesor generuje przebieg który podawany jest na wejścia dwóch niezależnych od siebie avr-ków i w ten sposób masz dwa przebiegi praktycznie bez żadnych opóźnień - oczywiście mamy tu dodatkowy scalak ale chyba 6zł nie robi różnicy
Może spróbować sterować prockami przez NE555?

pozdrawiam

_________________
Pomóżcie mi stanąć na nogi



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 18 lip 2016, o 11:47 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 29 maja 2013
Posty: 432
Lokalizacja: Gostyń / Poznań
Pomógł: 25

co dalej nie zmienia faktu że jak ten jeden padnie to przebiegow brak na obydwu... chociaz mozna by to wlaśnie tak zrobić że jeśli zabraknie tego sygnału synchronizującego to jeden z pozostałych procków będzie działał niezależnie...

_________________
Podpis...



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 18 lip 2016, o 11:55 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 04 cze 2014
Posty: 855
Lokalizacja: pod Warszawą
Pomógł: 58

eMCe2 napisał(a):
co dalej nie zmienia faktu że jak ten jeden padnie to przebiegow brak na obydwu... chociaz mozna by to wlaśnie tak zrobić że jeśli zabraknie tego sygnału synchronizującego to jeden z pozostałych procków będzie działał niezależnie...



no przecież robimy to na prockach a nie "analogowo" więc nie widzę problemu aby w pętli programu wpisać warunek który przy braku sygnału na wejściu odpala nam timer i generuje własny przebieg.....

_________________
Pomóżcie mi stanąć na nogi



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 18 lip 2016, o 13:42 
Offline
Użytkownik

Dołączył(a): 07 cze 2016
Posty: 563
Pomógł: 143

mczarny napisał(a):
Pierwszy procesor generuje przebieg który podawany jest na wejścia dwóch niezależnych od siebie avr-ków i w ten sposób masz dwa przebiegi praktycznie bez żadnych opóźnień
Do tego nie potrzeba dodatkowego układu, przecież mikrokotrolery mają więcej niż jeden timer, o czym już wspominałem.

mczarny napisał(a):
no przecież robimy to na prockach a nie "analogowo" więc nie widzę problemu aby w pętli programu wpisać warunek który przy braku sygnału na wejściu odpala nam timer i generuje własny przebieg...
To rodzi kilka pytań.
Jak wykryjesz "braku sygnału na wejściu" i jakie będzie opóźnienie startu timera w takim przypadku i czy to opóźnienie jest dopuszczalne?
A co jeśli ten sygnał pojawi się ponownie? Trzeba by go kontrolować na bieżąco i w razie czego ponownie startować i synchronizować generowanie sygnału w obu mikrokontrolerach.
A jeśli zabraknie sygnału tylko na tym, który ma w razie czego wystartować własny timer, a drugi mikrokontroler nadal będzie generował sygnał asynchronicznie?
...



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 19 lip 2016, o 11:22 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 04 cze 2014
Posty: 855
Lokalizacja: pod Warszawą
Pomógł: 58

andrews
masz rację możliwości jest wiele i w zależności od założeń trzeba pewne rzeczy uwzględnić - ja po prostu napisałem jak ja bym do tego podszedł

pozdrawiam

_________________
Pomóżcie mi stanąć na nogi



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 19 lip 2016, o 12:38 
Offline
Użytkownik

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

eMCe2 napisał(a):
co dalej nie zmienia faktu że jak ten jeden padnie to przebiegow brak na obydwu... chociaz mozna by to wlaśnie tak zrobić że jeśli zabraknie tego sygnału synchronizującego to jeden z pozostałych procków będzie działał niezależnie...


Niekoniecznie, one mogą być tylko synchronizowane. Ale powstaje pytanie jak nie będzie sygnału synchronizacji, to który ma dawać sygnał? Po pewnym czasie się rozjadą.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 19 lip 2016, o 16:56 
Offline
Użytkownik

Dołączył(a): 07 cze 2016
Posty: 563
Pomógł: 143

mczarny napisał(a):
masz rację możliwości jest wiele i w zależności od założeń trzeba pewne rzeczy uwzględnić - ja po prostu napisałem jak ja bym do tego podszedł
Według mnie problem tylko pozornie wydaje się banalny, ale jak tak wejść w szczegóły...

Ja akurat nie wiem, jak bym do tego podszedł, ponieważ rozwiązania mogą się znacznie różnić w zależności od tego:
  • jakie mają być parametry generowanego sygnału (czyli częstotliwość i wypełnienie)
  • czy sygnały muszą być w tej samej fazie, lub jaka jest ewentualnie dopuszczalna rozbieżność fazy,
  • jaka jest reakcja układu w poszczególnych sytuacjach awaryjnych i jaki to ma wpływ na bezpieczeństwo,
  • czy chodzi o bezpieczeństwo maszyn czy ludzi (o ile straty finansowe idzie jakoś przeboleć, o tyle zdrowia czy życia ludzkiego raczej nikt nie chce mieć na sumieniu).

Osobiście skłaniałbym się do rozwiązania z dwoma mikrokontrolerami z własnymi rezonatorami kwarcowymi (tak, by różnica częstotliwości była jak najmniejsza). Każdy z nich generuje niezależnie falę prostokątną, przy czym jeden z nich służy jako wzorzec, a drugi się z nim synchronizuje (jitter, przynajmniej w przypadku preskalera timera równego 1, nie powinien przekroczyć kilku taktów zegara mcu). W razie awarii jednego z nich, drugi po prostu kontynuuje pracę.

Według mnie największym problemem jest tutaj synchronizacja, jak już powyżej napisał kolega czarekgr. Nie da się jej uniknąć, jeśli sygnały muszą mieć tę samą fazę. Z kolei w przypadku, gdy układ synchronizowany nie otrzyma sygnału synchronizującego, trudno ustalić przyczynę: czy drugi układ (będący wzorcem) przestał działać i należy podtrzymać generowanie sygnału, czy to tylko przerwa w obwodzie synchronizacji i należy wstrzymać generowanie sygnału, aby nie dopuścić do rozbieżności fazy (dlatego taka istotna jest reakcja układu na poszczególne sytuacje awaryjne i jakie to stwarza zagrożenie).

Niestety autor wątku z jakichś powodów nie podał wystarczającej ilości istotnych szczegółów.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 19 lip 2016, o 17:40 
Offline
Użytkownik

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

Może w literaturze dotyczącej nadajników radiowych coś będzie na ten temat? Wiem, że nadajnik 1 programu kiedyś 227 kHz miał 2 generatory kwarcowe, które były synchronizowane tak, że w każdej chwili możliwe było przełączenie na zapasowy bez skoku fazy.
Na pewno takie układy są stosowane, bo w kajeciku od urządzeń radiowych miałem rysunek układu LC służącego do podłączenia 2 jednocześnie pracujących nadajników do zasilania jednej wspólnej anteny. Awaria jednego nadajnik niezależnie czy zwarcie czy rozwarcie powodowała tylko spadek mocy, dopasowanie było zachowane - przy takich mocach to mus.
Ale też pytanie do czego to ma być i czy ta komplikacja faktycznie spowoduje poprawę niezawodności.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 20 lip 2016, o 06:10 
Offline
Użytkownik

Dołączył(a): 07 cze 2016
Posty: 563
Pomógł: 143

Z ciekawości zerknąłem uważniej na profil autora tematu, ponieważ wykazuje jakieś małe zaangażowanie, jeśli chodzi o udział w dyskusji, która przecież dotyczy jego problemu (choć na forum zagląda).

Zauważyłem co następuje:
Zawód: PKP PLK Automatyk srk

Nietrudno się domyślić, że temat zapewne dotyczy urządzeń do sterowania ruchem kolejowym. W takim przypadku zalecałbym jednak odpuszczenie sobie samoróbek, bo sprawa jest na prawdę poważna (w grę wchodzi niejedno życie ludzkie). Oryginalne takie urządzenia są zapewne drogie (a biedna kolej pewnie szuka oszczędności), ale posiadają wszelkie stosowne certyfikaty (kompatybilności elektromagnetycznej, zgodności z normami bezpieczeństwa itp.), a producent bierze na siebie odpowiedzialność za ewentualne skutki nieprawidłowego działania (pod warunkiem, że montowała to urządzenie osoba do tego uprawniona oraz że nikt nieuprawniony tego urządzenia nie naprawiał i nie modyfikował). A w przypadku samoróbki kto jest odpowiedzialny?

Na bezpieczeństwie nie wolno oszczędzać. Nie wiem jak kto, ale ja osobiście nie chciałbym jeździć pociągami mając świadomość, że o moim bezpieczeństwie decyduje jakiś wykonany "domowymi metodami" nieprzetestowany w pełni (przez certyfikowany urząd zgodnie z normami) prototyp generatora. Nie wiem czy już sama świadomość, że na kolei istnieją tendencje do stosowania takich rozwiązań, pozwoli mi spokojnie wsiąść do pociągu :|



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 20 lip 2016, o 13:48 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 19 sty 2012
Posty: 131
Lokalizacja: Kraków
Pomógł: 2

kolego andrews nie popadaj w skrajną paranoje :D urzadzenia srk na koleji żeby zostały zainstalowane muszą mieć milion atestów certyfikatów dopuszczeń UTK przeprowadzonych badań na poligonach doświadczalnych i Bóg wie co jeszcze...tak że spokojnie nie panikuj nie zamierzam żadnych ,,samoróbek" stosować. Wogule kolego andrews skąnd takie pomysły że to bedzie stosowane na koleji. Kolego musze przyznac ze masz duza wyobraznie. Proszę nie siac bezsesownej propagady na temat koleji.

Moje zapytanie wynikło z moim tematem pracy mgr gdzie mam wykonać bezpieczne sterownie napędem za pomocą bezpiecznych komparatorów. Jest to takie urządzenie analogowe które posiada 4 wejścia oraz zasilanie na 24V. Gdy te wejścia poda się odpowiednią fale prostokątną ( dokładnie około 50 Hz ) zsynchronizowaną w fazie na wyjściu układu pojawia się 48V do dalszego sterowania np. przekaźnikiem. Przesunięcie w fazie jest dopuszczalne ale idealnie jest gdy nie ma tego przesunięcia. W temacie pracy mam też sprawdzić jakie jest dopuszczalne przesuniecie fazowe. Oczywiście gdy wystąpi jakaś usterka znika zasilanie do komparatora (czyli fala prostokątna ) i znika napięcie 48V.

Moja koncepcja układu ma być wykonana na 2 avr bo takie są założenia.

Na razie moja koncepcja jest taka :
1 avr przesyła Uartem polecenie zezwalające do 2 avr odpala timer i podaje przebieg prostokątny na wejście INT0 1avr oraz 2avr. A następnie przerwanie reaguje na oba zbocza i toggluje już jakimś wyjściem. W 2 avr jeszcze sprawdzam czy z uartu nadleciało polecenie zezwalające i również toggluje wyjściem. Opóźnienie jakie powstanie będzie związane z czasem transmisji przez UART do avr 2.
Być może ktoś ma lepszą opcje do powyższego.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 20 lip 2016, o 18:02 
Offline
Użytkownik

Dołączył(a): 07 cze 2016
Posty: 563
Pomógł: 143

tomwisnia napisał(a):
Wogule kolego andrews skąnd takie pomysły że to bedzie stosowane na koleji. Kolego musze przyznac ze masz duza wyobraznie.
No skoro pytanie zadaje automatyk pracujący na PKP, i nie pisze o co konkretnie chodzi, to można snuć różne domysły. Widziałem kilka razy przez przypadek, w jakim stanie są urządzenia elektryczne w pociągach i jakimi metodami maszyniści je naprawiają. Wyobraźni rzeczywiście mi nie brakuje :), ale takie widoki skutecznie ją pobudzają. Do tego sytuacja finansowa kolei jest chyba znana dosyć powszechnie, więc tak jakoś trochę popłynąłem ;), ale sam rozumiesz, czasami tym pociągiem muszę niestety jechać...

tomwisnia napisał(a):
kolego andrews nie popadaj w skrajną paranoje urzadzenia srk na koleji żeby zostały zainstalowane muszą mieć milion atestów certyfikatów dopuszczeń UTK przeprowadzonych badań na poligonach doświadczalnych i Bóg wie co jeszcze...
Zdaję sobie z tego sprawę, właśnie o tym pisałem :)

tomwisnia napisał(a):
Moje zapytanie wynikło z moim tematem pracy mgr gdzie mam wykonać bezpieczne sterownie napędem za pomocą bezpiecznych komparatorów.
Czyli głównym tematem jest komparator, a te generatory to tylko dla testów, czy mają być jednak wykorzystane w konstrukcji, która później (oczywiście po tych wszystkich testach) będzie pracowała w urządzeniach kolejowych? Pytam, bo to wiele zmienia.

tomwisnia napisał(a):
Na razie moja koncepcja jest taka :
1 avr przesyła Uartem polecenie zezwalające do 2 avr odpala timer i podaje przebieg prostokątny na wejście INT0 1avr oraz 2avr. A następnie przerwanie reaguje na oba zbocza i toggluje już jakimś wyjściem. W 2 avr jeszcze sprawdzam czy z uartu nadleciało polecenie zezwalające i również toggluje wyjściem.
Myślę, że niepotrzebnie tak komplikujesz sprawę.

tomwisnia napisał(a):
Opóźnienie jakie powstanie będzie związane z czasem transmisji przez UART do avr 2.
Nie do końca rozumiem Twoją koncepcję, czy chodzi o jednorazowe opóźnienie na starcie, czy o stałe, ale jeśli to drugie, to całkiem spore. Ogólnie użycie UART do synchronizacji to nie najlepszy pomysł.

Cytuj:
Być może ktoś ma lepszą opcje do powyższego.
Być może ktoś ma (myślę, że maksymalne przesunięcie fazy powinno wynieść ok. 1-2us przy okresie 20ms), ale to zależy od tego, czy mikrokontrolery będą wykonywały jakieś zadania oprócz generowania sygnału (i synchronizacji).



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 20 lip 2016, o 23:13 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 19 sty 2012
Posty: 131
Lokalizacja: Kraków
Pomógł: 2

Kolego andrews chciałem cię uświadomić że na koleji nie jest ani biednie ani źle jak ci się wydaje. Fakt jest że przez wiele lat kolej nie inwestowała ale obecnie od paru lat sytuacja zmieniła się 180 stopni a w całym kraju trwają modernizacje i inwestycje kolejowe. Nie wiem skąd pochodzisz ale domniemam że także u Ciebie linie kolejowe wraz infrastrukturą towarzyszącą oraz pociągami już została wymieniona lub jest w trakcie modernizacji. Życzę ci spokojnych i bezpiecznych podróży drogami żelaznymi.

Wspomniane generatory na avr nie będą pracować na żadnych rzeczywistych urządzeniach kolejowych. Jest to tylko koncepcja bezpiecznego sterowania napędem (stanowisko laboratoryjne). Faktem jest że komparatory których używam są stosowane w urządzeniach srk ale w zupełnie innym układzie.

Potrzebuje wygenerować dwa przebiegi prostokątne w takich samych fazach (wypełninie 50% 50Hz) na 2 różnych avr, z czego jeden będzie MASTER drugi SLAVE. Na podstawie odczytów wejściowych MASTERA i SLAVE o stanie napędu tzn. w jakim położeniu się znajduje, na moje polecenie wydane z komputera np. z terminala do MASTERA a MASTER przesyła zezwolenie do SLAVE, oba generują wspomnianą fale. Oczywiście fala będzie generowana jeśli oba procesory bedą miały te same stany na wejściach oraz wg. algorytmu zależności. Fala ma być generowana około przez 30 sekund max.

Prawdopodobnie zastosuje taki układ:
komputer PC -- > (RS-232 komenda ,,zezwolenie") --> MASTER -->fala 50Hz na INT0 MASTERA oraz na INT0 SLAVE
MASTER --> toggle na np. PA0 (zgodnie z INT0)
MASTER-->(RS-232 ,,zezwolenie")--> SLAVE
SLAVE --> sprawdza czy jest ,,zezwolenie" jeśli tak to toggle PA0 zgodnie z INT0

Być może jest to strasznie zamieszane ale narazie tak to widzę. Ewentualnie muszę jeszcze poczytać o trybie Timera ,,bez preskalera" tylko zewnętrzny generator na pin T0. Być może to będzie nawet prostsze w realizacji.

Narazie dzięki wszystkim za zainteresowanie.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 21 lip 2016, o 06:37 
Offline
Użytkownik

Dołączył(a): 07 cze 2016
Posty: 563
Pomógł: 143

tomwisnia napisał(a):
Kolego andrews chciałem cię uświadomić że na koleji nie jest ani biednie ani źle jak ci się wydaje.
Kolego tomwisnia. Chwali Ci się, że dbasz o dobry wizerunek firmy w której pracujesz. Tak się akurat składa, że temat kolei znam lepiej niż myślisz. Moja żona kiedyś pracowała na kolei a aktualnie pracuje w firmie świadczącej usługi dla kolei. Ja nie pracuję już od bardzo dawna, ale pewne kontakty nadal pozostały. Wcale nie twierdzę, że kolej lekceważy sobie bezpieczeństwo pasażerów, ale ogólna sytuacja nie jest najlepsza (przynajmniej w moim regionie).

No ale lepiej zostawmy temat, bo to off-topic. Przyjmijmy, że - tak jak piszesz - idzie ku lepszemu i to tylko kwestia czasu i regionu (no do Krakowa to ja blisko nie mam :), jakieś 500km).

tomwisnia napisał(a):
komputer PC -- > (RS-232 komenda ,,zezwolenie") --> MASTER -->fala 50Hz na INT0 MASTERA oraz na INT0 SLAVE
Nie zauważyłem wcześniej, żebyś pisał o potrzebie sterowania generatorem przy pomocy komputera ani o zestawie komend/instrukcji jakie musi obsługiwać.

tomwisnia napisał(a):
Ewentualnie muszę jeszcze poczytać o trybie Timera ,,bez preskalera" tylko zewnętrzny generator na pin T0.
Ja bym raczej poszedł w tym kierunku. Wybacz, ale moim zdaniem takie generowanie przebiegu poprzez "togglowanie pinu" w procedurze obsługi przerwania raczej stosują początkujący. Wydaje mi się, że na pracę magisterską to raczej "nie przystoi" ;)
Zastrzeżenie jest takie, że akurat pin T0 nie służy do generowania przebiegu za pomocą timera. Do tego służą np. piny OC1A i OC1B.

Przykładowo stosując rezonator kwarcowy 3,2768MHz otrzymasz okres zliczania 16-bitowego timera 1 (bez preskalera) równy 20ms. Wystarczy wpisać do rejestru OCR1A wartość równą połowie zakresu liczby 16-bitowej bez znaku, odpowiednio skonfigurować timer 1 (w tym pin OC1A) i już masz na tym pinie przebieg symetryczny (wypełnienie 50%) o częstotliwości 50Hz (+/- błąd rezonatora kwarcowego - zwykle rzędu 30-50ppm).

Kwestia synchronizacji jest w sumie też dosyć banalna. Doprowadzasz sygnał generowany przez avr1 do wejścia INT0 avr2. W avr2, w procedurze obsługi przerwania INT0 wystarczy wpisać do rejestru TCNT1 wartość opóźnienia (w taktach) od momentu zbocza wyzwalającego na INT0 do momentu wpisania wartości do rejestru TCNT1L. Wartość ta będzie stała i łatwo ją obliczyć za pomocą pliku *.lss (lub wyznaczyć za pomocą symulatora wbudowanego w Atmel Studio). Warunkiem prawidłowej pracy takiej synchronizacji jest, aby różnica taktów zliczonych przez timery w obu avr nie była większa od wartości wpisywanej do TCNT1, ale taką dokładność nietrudno uzyskać, a skoro to tylko model, to w przypadku jakiejś awarii polegającej na dużej zmianie częstotliwości (co nie jest jakieś wysoko prawdopodobne), nic strasznego się przecież nie stanie.

Oczywiście to tylko ogólna koncepcja. Wszystko zależy jednak od szczegółowych wymagań co do pracy generatorów, np. to jakie polecenia z PC te generatory będą musiały wykonywać.



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

Strefa czasowa: UTC + 1


Kto przegląda forum

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