Elektroda.pl
Elektroda.pl
X
Please add exception to AdBlock for elektroda.pl.
If you watch the ads, you support portal and users.

[BASCOM] KIT AVT5217 - numer karty sterującej i inne opcje.

piterek-23 20 Sep 2012 12:07 14049 147
NDN
  • #121
    piterek-23
    Level 33  
    Przeprowadziłem testy tak jak mówiłeś i efekt jest taki, że jak w jednej konsoli wysyłam polecenie:
    Code: bash
    Log in, to see the code

    to odpowiedź na drugiej konsoli dostaję za każdym razem natychmiast (w mgnieniu oka) nawet nie da się oszacować czasu bo odpowiedź jest natychmiast-naciskam "enter" i mam odrazu odpowiedź z karty.

    PS
    Testy przeprowadziłem na moim dość mocno obciążonym systemie jak i na "świeżutkim"-lokalnie jak i poprzez SSH.
    Obydwa systemy to Raspbian. Obydwie karty to micro USB 8GB klasy 10.
    Wyniki wszędzie dokładnie taki same.
  • NDN
  • #122
    Anonymous
    Level 1  
  • #123
    piterek-23
    Level 33  
    Nie posiadam tak zaawansowanych narządzi i nie mam dostępu :(
    Ale gdzie może być problem-karta przekaźników (BASCOM), Raspberry czy Bash?
    Wydaje mi się, że tu coś jest nie tak z moim skryptem do odczytu-zbyt wolno się wykonuje, karta wysyła odpowiedź, ale skrypt nie zawsze tą odpowiedź "łapie"
  • NDN
  • Helpful post
    #124
    doktor_piotr
    Level 11  
    A widzisz - a czepiałes się BSCOMA i oprogramowania karty - ona działa wyśmienicie. Tylko Skrypt twój kuleje.

    Ok to jeżeli ma to być w bashu spróbuj poszukać sobie informacji na temat komendy read

    Nie pamiętam dokładnie składni ale to sobie poszukasz gotowców na stronie jest bez liku wygląda to min tak

    Code: bash
    Log in, to see the code


    Zaznaczam że powyższy skrypt u mie nie działa hehe dlatego przeszedłem na C - ale to potem jak sprawdzisz to[/code]
  • #125
    piterek-23
    Level 33  
    Normalnie moje karty zaczęły ze mną rozmawiać, a już zaczynałem tracić nadzieje, że z nimi pogadam :)
    doktor_piotr wrote:
    A widzisz - a czepiałes się BSCOMA i oprogramowania karty - ona działa wyśmienicie.

    Tu duża zasługa Kolegi @atom1477

    Zrobiłem coś takiego:
    Code: bash
    Log in, to see the code

    Bo to:
    Code: bash
    Log in, to see the code

    można chyba wyrzucić do skryptów startowych?
  • #126
    doktor_piotr
    Level 11  
    Nie rozumiem. Nie mów że powyższy skrypt u Ciebie zadziałał??? hehe


    tak - generalnie nie zaszkodzi to umieścić 1 raz w pierwszej linijce skryptu
  • #127
    piterek-23
    Level 33  
    doktor_piotr wrote:
    Nie rozumiem. Nie mów że powyższy skrypt u Ciebie zadziałał??? hehe

    A nie powinien działać? :) Tak, działa. Czasami jak raz za razem odpytuje przekaźniki to dostaje takiej jakby lekkiej czkawki (minimalne opóźnienie) ale podaje stan.
  • #128
    doktor_piotr
    Level 11  
    Ok to rozumiem że temat zamknięty? Czy jeszcze masz jakiś temat - bo zauważyłem że idziemy w podobnym kierunku.
  • #129
    piterek-23
    Level 33  
    doktor_piotr wrote:
    Ok to rozumiem że temat zamknięty?

    Tematu nie zamykam-rozpocząłem go w 2012 roku i cały czas coś dochodzi :)
    doktor_piotr wrote:
    Czy jeszcze masz jakiś temat

    Jutro będę miał chwilę i pomęczę troszkę bardziej swoje karty. Masz może jeszcze jakiś pomysł do dodania, aby było lepiej? ;)
    doktor_piotr wrote:
    bo zauważyłem że idziemy w podobnym kierunku

    A możesz powiedzieć co ciekawego tworzysz? :)
  • #130
    doktor_piotr
    Level 11  
    Generalnie sterowanie Domkiem jednorodzinnym. Tak mniej więcej ok 20 atmeg rozmieszczonych w każdym pomieszczeniu i na zewnątrz połączone przez rs485 z masterem. Każda będzie miała podobne i inne zadanie np w sypialni będzie pilnowała temperatury pokoju poprzez pomiar wilgotności i temperatury pomieszczenia i regulowała temperaturę grzejnika za pomoca zaworu, ponadto obsługiwała rolety za oknem i sterowała oświetleniem na razie tyle z pomysłów noo i oczywiście sterowanie z kompa i pilota.
  • #131
    piterek-23
    Level 33  
    Widzę, że szykuje się ładny projekcik, trzymam kciuki :)
    U mnie będzie około 15 kart z przekaźnikami, jedna karta będzie tak bardziej rozbudowana-przekaźniki, sterownik pieca gazowego, LCD, pilot.
    W tej chwili męczę Raspberry, ale widzę, że trzeba będzie poszukać troszkę mocniejszego sprzętu. Malina w tej chwili "obsługuje" 9x DS18B20 (temperatura), 2x DHT11 (wilgotność), 1x BMP180 (ciśnienie). Zbiera impulsy z licznika elektrycznego w planach również wodomierz, gazomierz. Rysuje z tego wszystkiego wykresy. Podłączony jest też LCD 2x16 na którym wyświetla wybrane temperatury. Jest masterem RS485, serwerem radia internetowego. Tym wszystkim można sterować poprzez Internet (laptop, tablet) ale też przez SMS-malina ma podpięty modem 3G :)

    Tak przy okazji jeszcze zapytam, Raspberry jest masterem w sieci RS485 czy do niego można też wysyłać "rozkazy"?
  • #132
    doktor_piotr
    Level 11  
    Generalnie robimy to samo. Tylko ja w systemie rozproszonym (każdy układ w razie utraty komunikacji z masterem pracuje samodzielnie) a Ty w systemie zcentralizowanym (moim skromnym zdaniem trochę nieodbezpieczenie bo jak ci malina padnie to wszystko siedzi) Poza tym odpada problem
    Quote:
    że trzeba będzie poszukać troszkę mocniejszego sprzętu
    Cubieboard odbiera i gromadzi dane w myslq i robi za pośrednika do NETA, oczywiście cała reszta będzie jak u Ciebie SMS itd.itp przy takim systemie jak Mój to niewiele roboty.

    Quote:
    ak przy okazji jeszcze zapytam, Raspberry jest masterem w sieci RS485 czy do niego można też wysyłać "rozkazy"?


    Nie tylko wydaje rozkazy - ale zastosowałem coś jak alarmy - gdy któraś atmega chce coś wysłac to ustawia u siebie 1 jako alarm a master w pierwszej kolejności odczytuje alarmy i sprawdza co się dzieje.
  • #133
    piterek-23
    Level 33  
    doktor_piotr wrote:
    ja w systemie rozproszonym (każdy układ w razie utraty komunikacji z masterem pracuje samodzielnie) a Ty w systemie zcentralizowanym (moim skromnym zdaniem trochę nieodbezpieczenie bo jak ci malina padnie to wszystko siedzi)

    U mnie każdy z układów może pracować samodzielnie, ba, nawet może sterować innego slave'a. Gdy jest master (malina) w sieci to dodatkowo mogę sobie sterować tym wszystkim poprzez neta, SMS czy tam zaplanowane działania w Cron'ie :)
    doktor_piotr wrote:
    Nie tylko wydaje rozkazy

    Tu wielka szkoda bo mógłbym przypisać jakieś działania jak coś przyjdzie z sieci RS485.
  • #134
    doktor_piotr
    Level 11  
    Tryb multimaster jest trochę niebezpieczny bo RS485 to jak Ci pisałem wcześniej to tryb Half Duplex czyli w danej chwili może nadawać tylko jedno urządzenie. Niby można by się pokusić o taki tryb bo generalnie atmega w trakcie nadawania po RS485 ściąga do masy linię kontrolną aby inne wiedziały że jest zajęta i można to wykorzystać. Nawet na ten moment dwa mikrokontrolery u mnie gadają ze sobą z pominięciem mastera (ale to narazie) bo jeden ma pira i jak wejdę do pomieszczenia to 1 sprawdza pira włącza swoje światełka i przesyła info do 2 aby też włączył swoje - i to działa.

    Quote:
    U mnie każdy z układów może pracować samodzielnie, ba, nawet może sterować innego slave'a. Gdy jest master (malina) w sieci to dodatkowo mogę sobie sterować tym wszystkim poprzez neta, SMS czy tam zaplanowane działania w Cron'ie
    to robimy prawie dokładnie tak samo i to samo.

    Fajnie będzie z kim wymieniać informacje.

    A obsługę licznika wody czy energi na czym robisz bo widziałem w necie gotowce .Do licznika gazu ponoć można kupić specjalnie dedykowane impulsatory.
  • #135
    piterek-23
    Level 33  
    doktor_piotr wrote:
    Tryb multimaster jest trochę niebezpieczny bo RS485 to jak Ci pisałem wcześniej to tryb Half Duplex czyli w danej chwili może nadawać tylko jedno urządzenie...

    Jak najbardziej się zgadzam, ale u mnie to, że slave jest masterem i wysyła jakiś "rozkaz" do innego to zdarza się bardzo rzadko i to są tylko pojedyncze polecenia. Przetestowane już i zero problemu.
    doktor_piotr wrote:
    Niby można by się pokusić o taki tryb bo generalnie atmega w trakcie nadawania po RS485 ściąga do masy linię kontrolną aby inne wiedziały że jest zajęta i można to wykorzystać.

    W moim przypadku chyba nie potrzebuje aż tak "zaawansowanego" sterowania. Testy wykazały, że to co teraz jest to działa i dobrze działa-nie generuje zbyt dużego ruchu i chyba stąd nie ma problemów.
    doktor_piotr wrote:
    A obsługę licznika wody czy energi na czym robisz bo widziałem w necie gotowce .Do licznika gazu ponoć można kupić specjalnie dedykowane impulsatory.

    Do zliczania impulsów energii kupiłem cyfrowy podlicznik ELS 2000imp/kWh, do wody chcę zakupić wodomierz z wyjściem impulsowym 1imp/1L-licznik i tak muszę w tym roku kupić bo w tym roku kończy mi się legalizacja, a co do gazu to na dzień dzisiejszy mam problem bo mam stary gazomierz-w mojej kamienicy mieszka sześć rodzin i ponad połowa z nich ma już wymienione gazomierze na nowe gdzie jest takie "okienko" gdzie się wsuwa przystawkę do zliczania impulsów. Dlatego narazie czekam aż mi też wymienią gazomierz :)

    Jak rozwiązałeś kwestię zasilania kart/modułów w sieci RS485-każdy moduł ma swój zasilacz czy jakoś centralnie zasilasz?
  • #136
    doktor_piotr
    Level 11  
    Hm nie wiem jak to ująć niby zasilam centralnie 12 v ale na każdym mikrok zbijam napięcie taką przetwornicą impulsową z Alledrogo za 6 czy 9 zł. Miałem robić na stabilizatorze LM2005 chyba ale to się tak grzeje że ostatnio się oparzyłem (wiem drożej) bo 4 kondensatory i jeden stabilizator może z 2-3 zł kosztują ale prościej jak dla mnie.

    A teraz walczę z CRC bo bzdety mi zaczęły wychodzić heheh tz powoli odkrywam to co odkryte. No i muszę zrobić jakiś prosty system potwierdzeń odebranego sygnału.
  • #137
    piterek-23
    Level 33  
    doktor_piotr wrote:
    Hm nie wiem jak to ująć niby zasilam centralnie 12 v ale na każdym mikrok zbijam napięcie taką przetwornicą impulsową z Alledrogo za 6 czy 9 zł. Miałem robić na stabilizatorze LM2005 chyba ale to się tak grzeje że ostatnio się oparzyłem (wiem drożej) bo 4 kondensatory i jeden stabilizator może z 2-3 zł kosztują ale prościej jak dla mnie.

    Ja cały czas główkuję jakie będzie lepsze zasilanie:
    a) Jeden zasilacz 12v + stabilizator/przetwornica przy każdej karcie przekaźników
    b) Sześć zasilaczy 5V-mam sześć pomieszczeń gdzie będą karty, czyli jedno pomieszczenie, jeden zasilacz

    Maksymalnie w jednym pomieszczeniu będzie dwie karty i 12 przekaźników.
    Wszystko chciałbym oprzeć o skrętkę komputerową 5e.
    doktor_piotr wrote:
    A teraz walczę z CRC bo bzdety mi zaczęły wychodzić heheh tz powoli odkrywam to co odkryte. No i muszę zrobić jakiś prosty system potwierdzeń odebranego sygnału.

    Tu może Kolega @atom1477 coś podpowie ;)
  • #138
    Anonymous
    Level 1  
  • #139
    piterek-23
    Level 33  
    atom1477 wrote:
    Ja bym dał jeden zasilacz 12V i potem przetwornice na 5V.

    Czy to wszystko puszczone skrętką komputerową 5e będzie bezpieczne czy dać jakiś inny kabel?
    Ze wszystkim muszę się wyrobić do września. We wrześniu planuję zrobić mały remont w domu i później żona nie pozwoli mi nic więcej zrobić ;)
    atom1477 wrote:
    Co do CRC to nie ma tutaj nic odkrywczego.
    Ja stosuję CRC32 bo CRC8 przy większej ilości ramek przestało mi wystarczać (zdarzały się błędy w transmisji gdzie mimo błędu w danych CRC się zgadzało).

    Ja CRC odpuściłem bo wszystko działa OK, nie mam błędów albo nie wiem, że je mam :)
    atom1477 wrote:
    Sorki że wcześniej nic nie pisałem. Sam chciałem kod skryptu na Debiana, ale potem się okazało że jest on dla mnie zupełnie niezrozumiały.

    Masz może jakiś lepszy pomysł jak to rozwiązać? :)
  • #140
    doktor_piotr
    Level 11  
    Tzn tak z tym zasilaniem - jak piuścisz 12 v a potem przetwornice to nie boisz się o przepięcia i różnicówki bo uziemienie (zero) masz jedno, a 5 zasilaczy może być np z różnych faz automatycznie różnych zer i jak ci np rs485 złapie zero inne niż na różnicówce może być pafff i będzie wtedy kicha. Gdzieś właśnie na elektrodzie o tym czytałem a może na forum ATNELA. Co do crc to właśnie tam gdziesik był post dotyczący GPS i crc oraz bardzo prosty kod własnej chyba roboty (dla mnie najważniesze że zrozumiałem go). I co dziwniejsze działa. Pietrek-23 tobie też by się przydał bo także wysyłasz sygnały znakowo nie binarnie(tylko że w C).
  • #141
    Anonymous
    Level 1  
  • #142
    doktor_piotr
    Level 11  
    atom1477 wrote:
    Zero jest wspólne dla wszystkich faz.
    Poza tym przetwornice są izolowane od sieci.


    To zależy u mnie np w domu który robię zasilanie mam z 3 faz które do różnicówek mają wspólne zero a za różnicówkami to już co innego.

    A przetwornice mają wspólną masę z zasilaniem 12 v dlatego warto moim zdaniem zrobić jedno zasilanie 12v a co do skrętki - to widziałem taki patent że gościu na wieże kościoła puścił 4 żyłami po dwie skręcone zasilanie 230v pr zmiennego (szczęście że zauważyłem i nic się nie stało bo by sie kościołek sfajczył w mgnieniu oaka).

    Dodatkowo rozmawiałem kiedyś z instalatorem domofonów (chodziło o elektrozamek - wiadomo spory pobór prądu) to mówił że takie coś spoko skrętka pociągnie - trzeba by zajżeć do dokumentacji skrętki ale z tego co pamiętam 40 v spoko pociągnie. Ja mam zamiar teraz 24v na odległość 30 m puścić - ciekawi mnie tylko jakie będa straty.
  • #143
    piterek-23
    Level 33  
    OK, czyli zostaje przy opcji centralnego zasilania 12V ;)
    Muszę teraz znaleźć dość mocny zasilacz 12V do tego wszystkiego. 12x przetwornice 12V -> 5V która zasili całą płytkę z:
    -ATtiny2313
    -MAX485
    -ULN2803
    -8x przekaźnik (0,36W/szt.)
  • #144
    Anonymous
    Level 1  
  • #145
    piterek-23
    Level 33  
    atom1477 wrote:
    U mnie działało bo miałem izolowanego RS485 i masa RSa szła oddzielnie. Nie było więc na niej spadku napięcia, a więc zero V pozostawało zerem V.

    Tak przy okazji dopytam.
    Mój konwerter ma trzy złącza A, B i GND. Ja używam tylko A i B. Jak najlepiej "pociągnąć" magistrale dwużyłową (A i B) czy trzyżyłową (A, B i GND)?
    Chciałbym aby to wszystko miało "ręce i nogi" i stąd tyle pytań ;)

    Co do zasilania to znalazłem przetwornicę:
    
    napięcie wejściowe DC 4,5V-35V
    napięcie wyjściowe DC 2V-35V (regulowane potencjometrem)
    maksymalny prąd 2A z radiatorem 3A
    sprawność 92%
    częstotliwość pracy 150kHz
    maksymalne obciążenie 10W z radiatorem 15W
    poziom tętnień max 30mV
    temperatura pracy -40*C do 85*C
    wymiary 43 * 20 * 14mm (L*W*H)
    

    Chciałbym wykorzystać jedną przetwornicę na dwie karty przekaźników. W każdym pomieszczeniu (w sumie sześć pomieszczeń) będą po dwie karty.
    Zasilanie oczywiście jedno centralne 12V. Czy wystarczy zasilacz 3,3A czy szukać coś większego?
    U mnie moduły będą oddalone od punktu centralnego max 10m.
  • #146
    Anonymous
    Level 1  
  • #147
    piterek-23
    Level 33  
    atom1477 wrote:
    Magistrali 2-żyłowej nie da się pociągnąć "najlepiej".

    Pisząc "najlepiej" miałem na myśli czy lepiej zrobić 2-żyłową czy 3-żyłową ;)
    atom1477 wrote:
    Magistrala zawsze powinna być 3-żyłowa.

    OK, zgodnie z radą będzie 3-żyłowa.
    Mój konwerter ma trzy wyjścia-A, B i GND. Jest podłączony pod Raspberry Pi który ma swój zasilacz, a karty przekaźników będą miały swój zasilacz. Jak podłączyć tą masę? Z konwertera do każdej karty-będzie wspólne GND-dobrze myślę?

    Problem jeszcze mam tylko z zasilaniem.
    Karta zasilana jest 5V i pobiera 25mA, a gdy są załączone wszystkie przekaźniki to 600mA.
    Czy wyżej podana przetwornica (opis) nada się do mojego celu?