Skocz do zawartości
Waldy

EHR - ATtiny84 sterujące rozdzielaczem hydraulicznym

Pomocna odpowiedź

(edytowany)

Ech... obaj jesteśmy dobrzy. Ja stary ślepak, o Tobie się nie wypowiem bo @Treker znowu uzna że to sprzeczne z polityką 🙂

Fragment:

if(stanG == LOW) {
    przyciskg == LOW;
  }
    else {
      przyciskg == HIGH;
    }
   
   

jest kompletnie bez sensu.

Po pierwsze: przyciskg to jest stała zdefiniowana, czyli wychodzi na coś takiego:

if(stanG == 0) {
	3 == 0;
} else {
	3 == 1;
}

Oczywiście ten fragment nie robi absolutnie nic (bo nigdzie się nie używa wyniku sprawdzenia czy przypadkiem 3 nie jest równe jeden), więc kompilator najprawdopodobniej w ogóle ten fragment usuwa.

 

Tyle że dalej zaczyna być ciekawie:

if (przyciskg == LOW) {                //wcisnięty przycisk w górę
   if (pozycja < sterowanie - hist) 
     jazda = 1;                                                                     
   }

Jak już wspomniałem, przyciskg to stała 3, czyli w efekcie pierwsza linijka to:

if (3 == 0) {

skrócone do:

if (false) {

czyli w efekcie znowu kompilator pomija całego ifa (jako że dość rzadko się zdarza, aby 3 było równe 0) i w efekcie jazda zawsze jest 0.

A wystarczyło wywalić te pierwsze bezsensowne konstrukcje, a drugą zastąpić:

if (stanG == LOW) {                //wcisnięty przycisk w górę
   if (pozycja < sterowanie - hist)
     jazda = 1;                                                                     
   }
   
    if (stanD == LOW ) {            //wcisnięty przycisk w dół
    if(pozycja > sterowanie + hist)
     jazda = -1;    
   }

I co mamy w efekcie?

Aha, żeby nie było: ponieważ już sam sobie nie wierzę, na wszelki wypadek wrzuciłem to na Arduino. Zgodnie z oczekiwaniami działa.

Edytowano przez ethanak
  • Pomogłeś! 1

Udostępnij ten post


Link to post
Share on other sites

To można powiedzieć tak Waldy you...   i będzie sprawiedliwie 😄 

Dziękuje za rozwiązanie zagadki -> tutaj musiał zadziałać prawdziwy majster a nie taki rzemieślnik jak ja...

Kolejne wyzwanie przeskalowanie potencjometru(czujnika) na kąt 70 stopni,może być ciekawie  ^^.

 

 

  • Lubię! 1

Udostępnij ten post


Link to post
Share on other sites

Wrzuciłem z poprawkami i działa aż miło się patrzy ^^.

Tutaj pytanie chcę uzyskać kąt 70 stopni na czujniku - zakres pracy ramienia 0 -70 (orientacyjnie bo i tak pewnie wszystko się zweryfikuje na maszynie). 

Pomysł jest taki; fizycznie ustawić zadany kąt i odczytać wystawianą wartość ADC, później przeskalować ją do zakresu w jakim pracuje potencjometr zadający pozycje czyli 0 - 1023  tak żeby wykorzystać jego pełen zakres pracy/obrotu z uwagi na wygodę użytkowania. Czy warto by było zrobić na odwrót ? A może przeskalować obydwa potencjometry na "jakiś" wspólny zakres ? Chodzi mi o to żeby uzyskać relatywnie dobrą dokładność jeśli można to tak określić.

Udostępnij ten post


Link to post
Share on other sites
(edytowany)

Jakiś wspólny zakres musi być - czyli co najmniej jeden musi być przeskalowany. Który - jak wygodniej. 70° to w granicach 8 bitów, czyli dokładność i tak jest pewnie wyższa niż możesz osiągnąć swoją hydrauliką (pytanie: jaka to dokładność?).

Zawsze możesz zrobić jakieś mechaniczne przełożenie. Zresztą pisałeś wcześniej o czujniku nachylenia: jeśli chcesz go zastosować to trzeba podejść do tego nieco inaczej - czujnik podaje napięcie z zakresu 1 do 5V, środek ma na 2.5V (czyli tak niezupełnie pośrodku) i trzeba by było w jakiś sposób przeliczyć te jego wolty na stopnie 🙂

(po edycji)

A tak w ogóle to co kogo obchodzą te całe stopnie? Wajcha w dół na maksa, sprawdzamy ile podaje ADC, w górę na maksa, sprawdzamy drugi raz, a potem wystarczy map(x, DOL, GORA, 0, 1023) i porównać to z zadajnikiem...

Edytowano przez ethanak
  • Lubię! 1

Udostępnij ten post


Link to post
Share on other sites

Mały update tematu,wrzucam poprawiony kod programu (na płytce stykowej działa). Dodatkowo schemat oraz wstępny projekt płytki.Może komuś też się przyda bądź będzie rozwijał dalej temat według własnych upodobań 😉  Całość wykonana jest w EasyEDA 

Tutaj odnośnik do całości klik

Mile widziane sugestie co do schematu bądź wartości elementów,pozdrawiam Waldek.

Projekt_EHR_wersja_1.rar schemat.pdf

  • Lubię! 1

Udostępnij ten post


Link to post
Share on other sites

Dołącz do dyskusji, napisz odpowiedź!

Jeśli masz już konto to zaloguj się teraz, aby opublikować wiadomość jako Ty. Możesz też napisać teraz i zarejestrować się później.
Uwaga: wgrywanie zdjęć i załączników dostępne jest po zalogowaniu!

Gość
Dołącz do dyskusji! Kliknij i zacznij pisać...

×   Wklejony jako tekst z formatowaniem.   Przywróć formatowanie

  Dozwolonych jest tylko 75 emoji.

×   Twój link będzie automatycznie osadzony.   Wyświetlać jako link

×   Twoja poprzednia zawartość została przywrócona.   Wyczyść edytor

×   Nie możesz wkleić zdjęć bezpośrednio. Prześlij lub wstaw obrazy z adresu URL.


×
×
  • Utwórz nowe...