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

Jak wykonać projekt w Atmel Studio do ATmega16?

30 Wrz 2016 10:28 2022 30
  • #1 15963758
    Konto nie istnieje
    Konto nie istnieje  
  • #2 15965503
    JacekCz
    Poziom 42  
    Ferdynand_K napisał:
    Witam.

    ...

    A chodzi mi o cos takiego (mysle ze to zrozumiale):


    Myślę że nie.

    Skąd pochodzi ten opis? Język wydaje się charakterystyczny, choć nie umiem skojarzyć. Pomiedzy czym a czym to ma pracować?

    Mimo to na tyle coś kumam, że widze kilka rzeczy nieprzekładalnych na uK, przynajmniej tak prosto jak by się wydawało. Ew podejmujący się będzie/by miał szczegółowe pytania
  • #3 15965667
    paluszasty
    Poziom 25  
    Kolego może zdefiniuj jeszcze jaki uC. Wymagania niby nie są tu duże tylko 18 pinów I/O. Ale pytanie jakie mają być zależności czasowe między wejściem a wyjściem. Innymi słowy jak szybko będą zmieniały się stany wejścia i jak szybko musi zareagować na to wyjście. To bardzo ważne.

    Na dodatek problem z wyjściem analogowym, możesz zrobić to na 3 sposoby:
    -PWM i flltr
    -zewnętrzny przetwornik D/A
    -procesor z wewnętrznym przetwornikiem D/A

    Tu też pytanie jak szybko ten sygnał analogowy ma się zmieniać (zarówno wejściowy jak i wyjściowy). Jaka ma też być rozdzielczość? Tzn w ilu krokach chcesz przesunąć poziom 2-5 na 0-5V. (Jeśli chcesz zrobić to bezstopniowo to lepiej zastosować wzmacniacz operacyjny+komperator)
  • #4 15966066
    Konto nie istnieje
    Konto nie istnieje  
  • #5 15966170
    paluszasty
    Poziom 25  
    Nie dużo to znaczy? Nie można troszkę bardziej konkretnie?

    Atmega jak najbardziej jeśli chodzi o liczbę wyjść, nawet mniejszy (w sensie obudowy) wystarczy, wielkość kodu też nie stanowi tu problemu.

    Jak prędkość nie duża a liczba kroków mała to lepiej użyć taniego DAC na I2C np:

    PCF8591P cenie 5-10zł
  • #6 15966312
    paluszasty
    Poziom 25  
    Koledzy, autor tematu pisze wyraźnie że chce to zrobić na Atmedze. Ponadto może i ten STM będzie tańszy (kosztuje poniżej 7zł) niż Atmega16 (ok 12zł) ale będzie na niego czekał miesiąc lub dwa. Zresztą Atmega16 jest trochę "przewymiarowana" na ten projekt. Potrzebne zaledwie 18 pinów I/O jeśli rozważamy PWM lub 19 pinów jeśli dołączymy jakiś DAC pod I2C. Jednak warto zastosować tutaj uC z większą liczbą pinów żeby móc oddzielić kanały analogowe.
  • #7 15966331
    JacekCz
    Poziom 42  
    paluszasty napisał:
    Koledzy, autor tematu pisze wyraźnie że chce to zrobić na Atmedze. Ponadto może i ten STM będzie tańszy (kosztuje poniżej 7zł)


    Dawno bym sie prze-migrował z AVR na to STM (producent ze mnie znikomy), gdyby nie to, że w kilku tematach potrzebuję 0.5-2kB SRAM niż podtrzymywane (bateryjka!) kilka rejestrów STM
  • #8 15966333
    paluszasty
    Poziom 25  
    A co do samej realizacji to najprościej zastosować do analizy wejść cyfrowych przerwanie PCINT i sprawdzać który PIN je wywołał, dodatkowo trzeba sprawdzać stan wejść analogowych a progi zadziałania przypisać do jakiejś flagi.
  • #9 15966430
    Konto nie istnieje
    Konto nie istnieje  
  • #10 15966464
    tronics
    Poziom 38  
    Przecież to nie ma być jakieś super duper ultra szybkie... jak pętla główna co cykl będzie sprawdzała I/O i ADC, a do tego korygowała PWM (pseudo DAC) to i tak czas reakcji będzie wystarczająco niski (o ile rozumiem intencje autora).
    Nie bardzo rozumiem tego wyjaśnienia czemu akurat Atmega a nie STM32, jakoś do mnie to nie przemawia, może niech kolega po angielsku napisze co miał na myśli.
  • #11 15966648
    Konto nie istnieje
    Konto nie istnieje  
  • #12 15967225
    Konto nie istnieje
    Konto nie istnieje  
  • #14 15967436
    Konto nie istnieje
    Konto nie istnieje  
  • #15 15967527
    Konto nie istnieje
    Konto nie istnieje  
  • #16 15967571
    JacekCz
    Poziom 42  
    Piotrus_999 napisał:
    JacekCz napisał:
    gdyby nie to, że w kilku tematach potrzebuję 0.5-2kB SRAM

    Chodzi ci o EEPROM?


    Tak, nieściśle się wyraziłem.

    Jak zespól konsultacyjny rozumie specyfikację? Otwarty kolektor czy co?

    wyjscia cyfrowe high aktiv
    wyjscia cyfrowe low aktiv
  • #17 15967637
    Konto nie istnieje
    Konto nie istnieje  
  • #18 15967684
    paluszasty
    Poziom 25  
    Kolejne pytanie co oznacza :
    "jesli A ponizej 2V wejscie i1-i6 odblokowane jesli powyzej zablokowane "

    a) wszystkie wyjścia pozostają w stanie nieaktywnym
    b) wszystkie wyjścia pozostają w swoim ostatnim stanie niezalezienie od stanu wejść.

    Tak jak kolega tronics pisze, ze względu na to że nie musi być to szybkie (50Hz) to można to zrobić nawet na zasadzie sprawdzania stanu pinu w nieskończonej pętli głównej. Chyba że to co kolega chce osiągnąć to tylko część programu i mają tez być realizowane inne funkcje. Wtedy najlepiej użyć jednego portu jako wejścia, generować przerwanie PCINT i w obsłudze przerwania sprawdzać który PIN wynegerował przerwania.
  • #19 15967883
    tronics
    Poziom 38  
    Cytat:
    "jesli A ponizej 2V wejscie i1-i6 odblokowane jesli powyzej zablokowane "

    Jak dla mnie sprawa wygląda tak:
    Wejście analogowe A określa stan O7 i reakcię I1-I6; B określa stan O8. O4, O5 i O6 mają zanegowaną logikę (aktywne w stanie niskim czyli załączenie wejścia = ustawienie Lo).
    Czyli przy 0<A<2V wejścia I1:I6 są aktywne czyli zmiany na tych wejściach pociągają odpowiednio zmiany na wyjściach, przy napięciu A>2V wejścia 1:6 stają się nieaktywne, za to aktywuje się O7 w stanie wysokim. Przy B>4,5V aktywuje się O8 w stanie wysokim. Przy A>2V wyjście analogowe daje proporcjonalny sygnał 0-5V (jak rozumiem dla A<2V ma dawać 0V).
    Tak jak pisałem - jeśli to jest cała funkcjonalność to procesor będzie się nudził większość czasu.
  • #20 15967917
    JacekCz
    Poziom 42  
    tronics napisał:

    Jak dla mnie sprawa wygląda tak:


    paluszasty napisał:
    Kolejne pytanie co oznacza :


    Piotrus_999 napisał:
    to znaczy ... pewnie


    Tu koledzy sobie zgadują *), co poeta miał na mysli ....

    Ferdynand_K napisał:


    A chodzi mi o cos takiego (mysle ze to zrozumiale):


    Może powiesz skąd jest ta specyfikacja i jakim językiem to interpretować, tak bez zagadek? Na tym etapie jest wyraźne, że tylko przekazujesz.

    Tu obok jest polemika, ktoś wykonał obwód nie tak jak zamawiający oczekiwał: jaki sąd rozstrzygnie ew niezgodność wykonanego dzieła z zamówieniem?


    *) skądinąd typowe u pasjonatów IT, polecam uwadze znany obrazek z drzewem i huśtawką
  • #21 15967927
    Konto nie istnieje
    Konto nie istnieje  
  • #22 15967966
    Konto nie istnieje
    Konto nie istnieje  
  • #23 15968007
    JacekCz
    Poziom 42  
    Ferdynand_K napisał:
    To jest bardzo prosty uklad, na dzien dzisiejszy nie mam w planie nic dodawac do programu.

    jezeli powyzej 2V, wejscia i1 do i6 nie sa brane pod uwage.

    Rozumie tez ze w ten sposob nikt mi nie jest w stanie pomoc, wiec jak by byl ktos chetny niech pisze na PW ile by za pomoc chcial(wiem ze za darmo juz umarlo) i wtedy wejde w kontakt telefoniczny i wszystko wyjasnie.


    Jest prosty.
    Ale zarazem i przy prostszych sprawach można się fatalnie minąć.

    "skazać, nie ułaskawić"
    "skazać, nie, ułaskawić"


    Czy zgodziłbyś się na taką formułę płacenia:
    "jeśli program nie jest sprzeczny z przyjętymi spisanymi założeniami (czyli je spełnia) to zapłata się należy"


    Inaczej parafrazując temat:
    Atmega - przykład rozliczania projektu
  • #24 15968016
    Konto nie istnieje
    Konto nie istnieje  
  • #25 15969492
    Konto nie istnieje
    Konto nie istnieje  
  • #26 15969727
    JacekCz
    Poziom 42  
    Ferdynand_K napisał:
    Przepraszam ze to tak napisałem , myslalem ze to wystarczy.

    Postaram się to teraz dokładniej opisac:

    ...
    I1 wejście cyfrowe PNP
    ...
    O3 wyjście cyfrowe PNP
    O4 wyjście cyfrowe NPN
    ...
    PNP mam na myśli sygnal aktywny 5V
    NPN mam na myśli sygnal aktywny 0V


    Takie rzeczy to tylko w Erze.

    Dla jasności, ja się nie podejmuję, rozmawiam z ... powiedzmy z tyt rozwoju intelektualnego itd...
    Ciężko będzie się zrozumieć jeśli z siebie nie wydobędziesz gdzie to ma chodzić. Tutejsi Koledzy wiele widzieli i podanie branży MOZE wyjaśni wiele z tego, co niedopowiedziane.

    Może to co ktoś powiedział PNP czy NPN jest realizowane (bo tylko tak sobie wyraził jak to sobie myślał), może jest to twardy wymóg (jakaś wyrafinowana specyfikacja napięciowo-prądowa).

    Życzenia PNP czy NPN to do firmy Atmel, nikt choćby geniusz od mikroprocesorów tego pilnikiem i laubzegą nie zrobi.

    Np: nie ma w A/C czy C/A prawdziwego zera, czy "prawdziwych 5V", przyjmij do wiadomości że tu chodzi o DZIESIĄTKI szczegółowych informacji.

    Zrozum, że podając wycinki informacji są rzucasz kłody pod "swój projekt".
    I do tego przekonanie, że akurat dokładnie Mega 16. Albo zlecający zna dobrze swoją branżę (ale np nie ma możliwości materialnej produkcji płyt) ale potrafi podać precyzyjną specyfikację, albo mówi "jestem zielony, chcę zlecić sterownik do czajnika, aby herbatę zalewać 80 st C". Najbardziej paradoksalne czy zabawne są sytuacje, gdy podaje cząstki wiedzy (z drugiej-trzeciej ręki)
  • #27 15969736
    Konto nie istnieje
    Konto nie istnieje  
  • #28 15970026
    tronics
    Poziom 38  
    JacekCz ja doprawdy nie wiem czego tu nie rozumiesz, masz rozpisane wszystko i to tak jak napisałem w swoim poście nr 19. To ma robić tyle i tylko tyle. Ja za nikogo roboty odwalał nie będę, szczególnie, że jest to zwyczajnie banalne do zrobienia. Kilka warunków na krzyż. A co do typu wyjścia PNP/NPN to chyba każdy kto miał choć trochę do czynienia z sensorami zbliżeniowymi wie o co chodzi. Nikt nie każe przecież tam wstawiać BJT.
  • #29 15970676
    paluszasty
    Poziom 25  
    Z tego co pisze kolega Ferdynand_K
    "Prosze moderatora o skasowanie albo zamkniecie tego tematu"
    to wnioskuje że kolega się obraził.
    Temat kolega sam może zamknąć
    .
    Natomiast nie uważam że kolega ma powody do obrażania. Podaje kolega bardzo mało precyzyjne informacje. Na dodatek nie wiadomo co to ma sterować. A to też jest istotne inaczej należało by rozważyć projekt sterownika rakiet balistycznych lub systemu podtrzymywania życia a inaczej projekt automatycznego czyściciela kuwety dla kota...(przerysowuje)

    Niech kolega trochę popatrzy na fachową terminologię. Szczególnie z tymi wejściami PNP/NPN (już lepiej było aktywne niskie/wysokie). Prawdopodobnie chodzi Ci o wyzwalanie stanem niskim/wysokim lub zboczem opadającym/narastającym. To jasno nie wynika z tego co napisałeś tak naprawdę. Nie wiadomo co będzie źródłem sygnału a to też jest ważne.


    Nie oczekuj że ktoś rozwiąże problem którego sam nie potrafisz zdefiniować.
  • #30 15970684
    JacekCz
    Poziom 42  
    tronics napisał:
    JacekCz ja doprawdy nie wiem czego tu nie rozumiesz, masz rozpisane wszystko i to tak jak napisałem w swoim poście nr 19. To ma robić tyle i tylko tyle. Ja za nikogo roboty odwalał nie będę, szczególnie, że jest to zwyczajnie banalne do zrobienia. Kilka warunków na krzyż. A co do typu wyjścia PNP/NPN to chyba każdy kto miał choć trochę do czynienia z sensorami zbliżeniowymi wie o co chodzi. Nikt nie każe przecież tam wstawiać BJT.


    Skoro rozumiesz w 100% powinieneś się podjąć, zawrzyjcie "skuteczną prawnie umowę", nawet niech cena będzie między wami.

    Tylko na grupę informacja po czyjej stronie jest umowne ryzyko "w razie gdyby" jednak specyfikacja nie była pełna. Czy czas pracy i extra materiały sposnoruje wykonawca, czy inwestor za każdy wcześniej nie uwzględniony czynnik.

    paluszasty napisał:
    Z tego co pisze ...
    Nie oczekuj że ktoś rozwiąże problem którego sam nie potrafisz zdefiniować.

    Uciąłem "technicznie", bo z całością wypowiedzi się zgadzam.

    Jak się trochę jest na elektrodzie, to taka niemożność powiedzenia "pomiędzy czym a czym" ma pracować obwód jest w pewien sposób charakterystyczna, ja sobie przyuwazyłem kilka grup potencjalnych "zamawiających"
REKLAMA