logo elektroda
logo elektroda
X
logo elektroda
Adblock/uBlockOrigin/AdGuard mogą powodować znikanie niektórych postów z powodu nowej reguły.

Atmega16 i LCD zamiast miernika wychyłowego

SQ9MYX 05 Wrz 2010 16:23 2507 10
  • #1 8478588
    SQ9MYX
    Poziom 23  
    Witam!
    Niedawno uszkodził mi się miernik wychyłowy w generatorze GFM-4 firmy ZARAT... Wpadłem na pomysł w jego miejsce zastosować wyświetlacz LCD 8*2 lub 16*4 i małą atmegę16. Czy są może jakieś problemy związane z tym żeby zapiąć do pracy wejścia analogowe atmegi bezpośrednio do sprzęgacza (pomiar SWR i mocy)?
    zamieszczam foto sprawnego jeszcze miernika
    Atmega16 i LCD zamiast miernika wychyłowego
  • #2 8478667
    GienekS
    Poziom 32  
    Raczej nie powinno być większego problemu. Dokładność będzie wystarczająca z przetwornika 10 bitowego jaki jest na pokładzie Atmegi.
  • #3 8478718
    SQ9MYX
    Poziom 23  
    tylko nie wiem jaki jest ten miernik wychyłowy jakie wartości napięć/prądów nim sterują... druga sprawa jakie max napięcie można podać na przetwornik..
    czy podany kod
    Config Adc = Single , Prescaler = Auto , Reference = Avcc
    
    
    Dim Adcval As Word
    Dim P1 As Single
    
    
    Start Adc
    
    A:
    Adcval = Getadc(0)
    Adcval = Getadc(0)
    P1 = Adcval
    Locate 1 , 1
    Lcd P1
    
    Goto A

    jest prawidłowy do wyświetlenia napiecia podanego na wejscia adc?
    jak za pomocą switcha przełaczać kolejne wejścia zamiast używać oryginalnego przełacznika.. jeszcze jedna sprawa, miernik posiada podwójną skalę jak to zrealizować na uC?
  • #4 8479197
    mirekk36
    Poziom 42  
    ukffun napisał:
    tylko nie wiem jaki jest ten miernik wychyłowy jakie wartości napięć/prądów nim sterują... druga sprawa jakie max napięcie można podać na przetwornik..


    +5V i ani "grosza" więcej, ale za to nie ma problemu żeby mierzyć o wiele większe napięcia. Tyle że to nie polega na wpięciu wprost procka zamiast twojego miernika wychyłowego. Poczytaj sobie o dzielnikach napięcia, oraz o różnicowym pomiarze napięcia w celu mierzenia prądu na jakimś boczniku.

    A o problemie podwójnej skali będziesz myślał duuużo później, chociaż jak też później zobaczysz to będzie całkiem inaczej, i żadnego problemu nie będzie.
  • #5 8479420
    SQ9MYX
    Poziom 23  
    Wiem że na pewno trzeba zastosować jakiś dzielnik napięcia.. mam nadzieje że obędzie się bez stosowania dodatkowych wzmacniaczy operacyjnych bo to ma być płytka budżetowa :) czy podany program nada się do obsługi? jak przełączać wejścia adc w bascomie za pomocą switcha

    udało mi się sklecic coś następującego
    Config Lcd = 16 * 4
    Cursor Off Noblink
    Cls
    Config Adc = Single , Prescaler = Auto , Reference = Avcc
    Dim V As Single
    Dim A As Single
    Dim P As Integer
    Dim Z As Byte
    Dim C As Integer
    Dim R As Integer
    
    Start Adc
    Start:
    P = 0
    V = 0
    A = 0
    Z = 0
    C = 0
    R = 0
    Dim Nr_menu As Byte , Klucz As Bit
    Nr_menu = 0
    Do
       Cls
       Lcd Lookupstr(nr_menu , D_menu)
       On Nr_menu Gosub Menu1 , Menu2 , Menu3
       Set Klucz
       While Klucz = 1
          Debounce Pinc.6 , 0 , Zmiana , Sub
       Wend
    Loop
    Zmiana:
       Incr Nr_menu
       If Nr_menu = 3 Then Nr_menu = 0
       Reset Klucz
    Return
    Menu1:
    
    Do
     For Z = 1 To 10                                            'pobieranie 10 wynikow i usrednianie go
      P = P + Getadc(0)                                         'tu jest wlasnie linia gdziepobiera sie wartos anaogowa
     Next T
    '----pobieranie
     P = P / 10
     P = Getadc(0)
     V = P / 204.4                                              ' 34.1 dla 30 V  204.6 dla 5 V
    
     'zaokraglanie do 2 liczb po przecinku
     A = Frac(v)
    V = Int(v)
    A = A * 100
    R = Int(a) + 2
    
    C = V
    
    Locate 2 , 1 :
     Lcd "SWR [W]="
    Lcd C
    Lcd "."
    Lcd R
    Loop
    
    
    Return
    Menu2:
    Do
     For Z = 1 To 10                                            'pobieranie 10 wynikow i usrednianie go
      P = P + Getadc(1)                                         'tu jest wlasnie linia gdziepobiera sie wartos anaogowa
     Next T
    '----pobieranie
     P = P / 10
     P = Getadc(1)
     V = P / 204.4                                              ' 34.1 dla 30 V  204.6 dla 5 V
    
     'zaokraglanie do 2 liczb po przecinku
     A = Frac(v)
    V = Int(v)
    A = A * 100
    R = Int(a) + 2
    
    C = V
    
    Locate 2 , 1 :
     Lcd "PWR [W]="
    Lcd C
    Lcd "."
    Lcd R
    Loop
    Return
    Menu3:
    Return
    
    D_menu:
    Data "Pomiar SWR" , "Pomiar mocy" , "Wolne menu"

    lecz niestety jak nie dam funkcji DO LOOP to nie wykonuje mi pomiaru "na żywo" a gdy znowu wpisze tą funkcję to nie działa mi skok po menu
  • #6 8480930
    SQ9MYX
    Poziom 23  
    Męczę się już z tym od rana i wstawianie funkcji loop w różne miejsca programu nic nie daje... ma ktoś może pomysł jak rozwiązać problem
    /edit
    częściowo poradziłem sobie z problemem wstawiłem na początku podprogramu pętle DO a na końcu LOOP UNTIL PINC.6=0 lecz pojedyńcze nacisniecie przycisku zatrzymuje pomiar a dopiero drugie przechodzi do kolejnego menu
  • #7 8484393
    arktik1
    Poziom 27  
    Po co si to:
    
    Menu3:
    Return 
    

    Jeśli chcesz przechodzić do kolejnych MENU musisz dać :
    
    Debounce Pinc.6 , 0 , Zmiana , Sub 
    

    w każdej pętli.
    Jeśli zrobisz tak
    
    Do
    ....
    LOOP
    RETURN
    

    Uc nie doleci do RETURN bo wcześniej ma Pętlę.
    Napisz program bez skoków do poszczególnych MENU, będzie lepiej działał.
  • #8 8520339
    SQ9MYX
    Poziom 23  
    Menu 3 mam na zapas :) udało mi się zmierzyć napięcie na starym analogowym mierniku i dochodzi do max 300mv czyli trzeba będzie komuś zlecić zbudowanie wzmacniacza
  • #9 8560440
    mpietras
    Poziom 17  
    Myślę, że dasz rade sam. Wzmacniacz operacyjny i 4 rezystory.
  • #10 8562613
    SQ9MYX
    Poziom 23  
    tak tylko że przydało by się zaprojektować płytkę pod to wszystko, bo tam będzie kilka obwodów pomiarowych.... cóż trzeba będzie rozpracować Eagle'a albo coś innego żeby stworzyć płyteczke..
  • #11 8563263
    mpietras
    Poziom 17  
    zrób na uniwersalnej
REKLAMA