Skip to content

Zdalne sterowanie serwami poprzez GS-UART #15

@patrickthemoon

Description

@patrickthemoon

Zaimplementowanie w arduino komunikacji UART, w taki sposób, że jak odbierze ramkę o określonym dalej typie to wysteruje dane serwo na odpowiednią pozycję.

Trzeba zdefiniować ramkę:

Ramka będzie wysyłana do arduino co 1 sekundę + w momencie sterowania przez użytkownika (np. przełączenie odpowiedniego przełącznika w Control Panelu). Kiedy arduino nie otrzyma tej ramki przez 5 sekund to powinno zamknąć wszystkie zawory.

  • bajt startu (0xCC)
  • bajt - typ wiadomości (0x03)
  • pola
    • char - wysterowanie serwa od zaworu butlowego
    • char - wysterowanie serwa od zaworu wentylacyjnego
      • zakres 0-100, 0-pełne zamknięcie zaworu, 100-pełne otwarcie zaworu, 1-99 częściowe, liniowe otwarcie zaworu
  • bajt - checksuma
  • bajt stopu (0x33)
    Myślę, że ramka sama się wyjaśnia.

Od razu można zdefiniować drugą ramkę, która będzie przesyłać pozycję serw (na podstawie odczytu napięcia z potencjometru obrotowego przymocowanego do serwa):
Ramka wysyłana z Arduino z częstotliwościa 10 Hz.

  • bajt startu (0xCC)
  • bajt - typ wiadomości (0x04)
  • pola
    • char - pozycja serwa od zaworu butlowego
    • char - pozycja serwa od zaworu wentylacyjnego
      • zakres 0-100, 0-pełne zamknięcie zaworu, 100-pełne otwarcie zaworu, 1-99 częściowe, liniowe otwarcie zaworu
  • bajt - checksuma
  • bajt stopu (0x33)

Potem jeszcze ramka z, ale to w bliżej nieokreślonej przyszłości:
float - temperatura 1 - temperatura wewątrz obudowy z elektroniką

float - temperatura 2 - temperatura wewnątrz cieczy ??
jak będzie potrzeba to temperatura serw
temperatury odczytywane mogą być z częstotliwością 1-3 Hz, ale ostatnio odczytana wartość wysyłana niech jest 5 Hz
ciśnienie 1 - ciśnienie wewnątrz węża przed zaworem butlowym
jak będzie git to możan dodać ciśnienei po zaworze - cenowo może nie być git
temperatury i ciśnienia później, jak będzie wiadomo czy i jak mierzymy

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type
No fields configured for issues without a type.

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions