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

[at90S2313] Sterowania potencjometrami półprzewodnikowymi.

21777 28 Kwi 2004 12:13 2571 8
REKLAMA
  • #1 616553
    21777
    Poziom 12  
    witam
    czy ktoś mógłby mi naszkicować rozwiązanie problemu sterowania potencjometrami półprzewodnikowymi ( sterowanie trójprzewodową szyną danych ) za pomocą at90S2313 z jednoczesnym wyświetlaniem nastawionych wartości ?
    Problemem są odpowiednie sterujące przebiegi czasowe które muszą być generowane przy nastawianiu rezystancji.

    pozdrowienia
    Marek

    Przeniesiono z Programowanie Ogólne. - arnoldziq
  • REKLAMA
  • #2 616619
    damdam

    Poziom 34  
    Moze sa one sterowane jakims konretnym interfejsem (SPI,I2C) ? Wtedy latwiej bedzie je sterowac. I jeszcze w jakim jezyku chcesz to zaprogramowac?

    --
    pzdr,damdam
  • REKLAMA
  • #3 616724
    21777
    Poziom 12  
    witam
    cały dowcip polega na tym, że nie jest to standardowy interfejs. Potencjometr półprzewodnikowy ma następujące wejścia: CS ( "0" to aktywacja podzespołu), INC ("1" na "0" to zmiana pozycji suwaka), U/D (gdy "1" to ruch suwaka do góry gdy "0" to na dół). Do tego dochodzą jeszcze czasy trwania logicznych jedynek i zer. Próbowałem to napisać C++ (AVR STUDIO)-licznik góra dół (wartość nastawy musi być wyświetlana na LCD), jednakże system generacji impulsów przy zmianie nastawy mnie przerósł. Czy widziałeś gdzieś coś podobnego lub mógłbyś mi w tym pomóc ?
    pozdrowienia
    Marek
  • REKLAMA
  • #4 616829
    elektryk
    Poziom 42  
    Ja proponuje użyj innych modeli np sterowanych przez i2c albo spi, ten model który opisujesz jest przystosowany do sterowania przy pomocy przycisków. Ale jeśli już koniecznie upierasz się przy tym scalaku to spróbuj wydłużyć impulsy do 1 sekundy i stopniowo je zmniejszać, te układy mogą mieć wbudowany układ eliminacji drgań zestyków który może interferować przy próbie sterowania szybkimi impulsami.
  • REKLAMA
  • #5 619852
    21777
    Poziom 12  
    witam
    pierwszy raz słyszę żeby trójprzewodową szynę używać do sterowania przyciskami. Ten potencjometr jest skonstruowany do sterowania nie za pomocą przycisków. Po co ktoś zadawałby sobie tyle trudu, skoro istnieja potencjometry regulowane przyciskami ?
    pozdrowienia
    Marek
  • #6 619901
    elektryk
    Poziom 42  
    Podaj dokładny model potencjometru.
  • #7 624732
    21777
    Poziom 12  
    Witam
    potencjometr DS1804,język programowania C++, wyświetlanie wielkości nastawionej wartości MUSI dokładnie odpowiadać uzstawionej rezystancji z jedną cyfrą po przecinku (mam zamiar użyć kostek 10 k) pozdro
    Marek
  • #8 626231
    elektryk
    Poziom 42  
    21777 napisał:
    potencjometr DS1804
    To już rozwiązuje pewien problem ;), a więc ten potencjometr to rodzaj licznika który ma sygnały zegar(INC), góra/dół(U/D) i zewolenie na liczenie(CS). Sterowanie polega na wysłaniu serii impulsów zegarowych przy niskim stanie na ~CS. Przy każdym impulsie następuje zmiana stanu licznika na następny/poprzedni w zależności od stanu U/D. Przy każdym włączeniu układu nalezałoby przeprowadzić jakaś 'kalibracje' polegającą na wysłaniu 100 impulsów zegarowych. Spowoduje to że licznik się ustawi na jedno z położeń (które obojętnie), niezależnie przy jakim położeniu był poprzednio. Potem już można program zrobić na dwa sposoby:
    1. po każdej zmianie wysyłać odpowiednią liczbe impulsów wyliczoną w procesorze, można to zrobić na bieżąco przy ustawianiu wartości
    2. po każdej zmianie stanu, wykonać 'kalibracje' i wysłać odpowiednią liczbe impulsów aby uzyskać żadany stan.
  • #9 629726
    21777
    Poziom 12  
    witam
    dzieki za odpowiedź. Myslę ze kalibracja nie będzie potrzebna, według danych producenta włączeniu zasilania potencjometr automatycznie ustawia sie na najniższa rezystancje. Tyle w dokumenatacji ja osobiście nie używałem jeszcze kostek DS. Czy ktoś ma jakieś doświadczenie w tej kwestii ?
    pozdrowienia
    Marek
REKLAMA