Kanał - ATNEL tech-forum
Wszystkie działy
Najnowsze wątki

KURS HOME ASSISTANT

Chcesz zautomatyzować swój dom bez skomplikowanego kodowania?
Zastanawiasz się nad wyborem sprzętu, oprogramowania i aplikacji?
Od czego zacząć przygodę z HA? Co będzie najlepsze na start?

Nasz kurs Home Assistant nauczy Cię krok po kroku, jak łatwo zautomatyzować swój dom i oszczędzić na rachunkach za prąd i ogrzewanie. Bez chmur, bez zbędnych abonamentów. Twoja przygoda z Home Assistant zaczyna się tutaj!

↓↓↓

    Szanujemy Twoją prywatność. Możesz wypisać się w dowolnym momencie.




    Teraz jest 6 cze 2025, o 14:16


    Strefa czasowa: UTC + 1





    Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 4 ] 
    Autor Wiadomość
    PostNapisane: 1 kwi 2012, o 09:54 
    Offline
    Użytkownik

    Dołączył(a): 04 paź 2011
    Posty: 8615
    Pomógł: 338

    He no tak zaś mam głupie pomysły:)

    >>> Kilka słów o WIRING

    Obrazek

    Środowisko Wiring IDE powstało dużo wcześniej niż Arduino.
    powstało ono w celu ułatwienia pracy z dużymi Atmegami
    jak ATMemga 1281/2560 i 128. Środowisko to nie zyskało
    dużej popularności , a uproszczona wersja dla małych atmeg
    Arduino bije rekordy popularności.
    Wiring można pobrać ze strony: http://wiring.org.co/download/

    >>> Sprzęt

    Jakiś czas temu wpadła mi w ręce PCB do ATMega128
    w sumie mało przemyślana , ale ciekawa:

    Obrazek

    Na pokładzie:

    Procesor: ATmega 128 @ 16Mhz
    RTC: DS1337
    EXP: 2x PCF8574
    EEPROM: 24C1024
    Slot SD/MMC
    RS232
    i oczywiście FT232R
    jest jeszcze miejsce na zewnetrzny SRAM 128K , ale w tym miejscu nie jest nam potrzebny

    Zapewne kolega Kierlan Poznaje PCB:)

    >>> MODYFIKACJE Sprzętowe i Programowe --->konieczne

    W związku z tym iż FT232 jest podłączony w 1% używalności czyli tylko jako USB-RS232 do UART0 atmegi
    Oryginalnego bootloadera WiringS lub Wirining v1.1 nie da się użyć , z tego powodu że lutowanie się do wyprowadzeń FT232R jest mało przyjemne - i niestety niema padów od nieużytych pinów wiec nici
    z układu AUTORESET -- a to uniemożliwia wgranie firmware. W tym Celu zostały wprowadzone
    drobne modyfikacje sprzętowe i programowe.

    1. HARDWARE

    W związku z brakiem autoresetu wymyśliłem, że wygodny będzie przycisk który pozwala
    na wejście w tryb bootloadera oraz jakaś dioda która będzie o tym informować :)

    -- zatem jedziemy

    Obrazek

    diodę podłączamy do PG0 atmegi128 -- jest sterowana stanem WYSOKIM
    przycisk natomiast podłączony jest przez zewnętrzny PUL-UP 10K do pinu PE2
    Aktywacja Bootloadera jest wywoływana stanem NISKIM

    Obrazek



    No dobra teraz bootloader :)
    w komplecie z Wiring mamy źródła bootloadera wiec możemy zając się modyfikacjami
    Bootloader Wiring podobnie jak ARDUINO oparty jest o bootloader ATMELA
    zgodny ze standardem transmisji STK500 --- niestety nie zdał egzaminu -- nie zawsze
    się łączył z IDE i były błędy transmisji spowodowane kłopotliwą inicjalizacją połączenia :(
    w związku z czym napisałem bootloader praktycznie można powiedzieć od nowa ,
    ale tym razem postawiłem na lepszy protokół transmisji mianowicie STK500v2.

    Spowodowane jest to tym ze łatwiejsza jest inicjalizacja i sam sposób przesyłania danych
    dodatkowo jest szybszy od STK500:)

    Na wszelki wypadek zrobiłem 2 wersje bootloadera:

    1. jest aktywowana resetem po czym oczekuje ok 8s na transmisje, po tym czasie przechodzi
    do programu.

    -- niestety ma to rozwiązanie swoje wady

    i dlatego rozwiązanie z przyciskiem jest lepsze i na nim się skupimy mamy już wykonane przeróbki sprzętowe
    wiec to będzie idealne rozwiązanie:

    działa to tak:

    naciskamy przycisk Bootloadera I jednocześnie reset zaświeca się dioda PG0 informująca
    o uruchomieniu Bootloadera, teraz możemy wgrać program ze środowiska WIRING , po czym
    naciskamy reset i nasz program jest wykonywany.

    Oba Bootloadery w załączniku.

    >>> PRZYGOTOWANIE PROCESORA DO PRACY:

    aby prawidłowo wszystko nam działało musimy wgrać bootloader do procesora np przy pomocy
    MkAVrCalculator i ustawić odpowiednie fusy :



    EXTENDED: 0xFF
    HI Fuse: 0xCC
    LO Fuse: 0x3f

    dla masochistów :)

    Boot Flash size 1024 words : BOOTSZ=10
    Boot Reset vector enable : BOOTRST=0
    CKOPT=0
    BOD at 4.0V, : BODLEVEL=0
    BOD enable : BODEN=0
    Ext. crystal/resonator High Freq.; Start-up time 16K CLK + 64ms. : CKSEL=1111 SUT=11
    Watchdog disable: WDTON=0
    OCD disable: OCDEN=0
    JTAG disable: JTAGEN=0
    SPIEN enable: SPIEN=0

    Po tym zabiegu potrzeba jeszcze pliki zgodności bo nasza płytka nie będzie działać w środowisku wiring
    gdyż bootloader nie jest zgody z Wiring v1.0 (protokół - STK500) oraz Wiring Mini update2 (protokół - wiring)
    nasz pracuje w trybie STK500v2

    w tym celu do naszego Wiring 1.0 do folderu hardware wgrywamy folder Sunduino wraz z wszystkimi plikami
    dostosowanymi do naszej płytki - w załączniku

    ----------------------------------------------------------------------------------------------------------------------------------------
    Jeśli wszystko przebiegnie prawidłowo będziemy mogli wybrać naszą płytkę

    Obrazek

    i zacząć programowanie w środowisku wiring IDE - język C++ (ten sam użyty jest w Arduino)

    Filmik przedstawiający działanie na przykładzie programiku LEDBlink

    Dioda podłączona do Digital9 ,
    Widać przejście do bootloadera - sygnalizowane zaświeceniem się zielonej diody LED na PG0(po prawej stronie, proces ładowania firmware i uruchomienie programu po resecie (czerwona dioda po prawej stronie)
    1. delay (1000)
    2. delay(100)

    http://www.youtube.com/watch?v=t8FPN7Q5g8I

    Przepraszam za jakość , ale moja LIveCam już trochę stara jest :(


    Załączniki:

    Aby zobaczyć załączniki musisz się zalogować. Tylko zalogowani użytkownicy mogą oglądać i pobierać załączniki.

    _________________
    Zbuduj swój system [url=https://helion.pl/ksiazki/w-labiryncie-iot-budowanie-urzadzen-z-wykorzystaniem-ukladow-esp8266-i-esp32-andrzej-gromczynski,wlablo.htm#format/d]IOT[/url]



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 1 kwi 2012, o 10:44 
    Offline
    Użytkownik
    Avatar użytkownika

    Dołączył(a): 24 paź 2011
    Posty: 580
    Lokalizacja: Warszawa
    Pomógł: 0

    No PCB poznaje jak najbardziej widzę, że zmasakrowałeś w pozytywnym znaczeniu tego słowa nieźle te biedne evb :P

    _________________
    sig off ;(



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 1 kwi 2012, o 10:50 
    Offline
    Użytkownik

    Dołączył(a): 04 paź 2011
    Posty: 8615
    Pomógł: 338

    No mam nadzieję ze ty tez zrobisz użytek ze swojej nowej zabawki z ARMem na pokładzie :)

    _________________
    Zbuduj swój system [url=https://helion.pl/ksiazki/w-labiryncie-iot-budowanie-urzadzen-z-wykorzystaniem-ukladow-esp8266-i-esp32-andrzej-gromczynski,wlablo.htm#format/d]IOT[/url]



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 1 kwi 2012, o 10:57 
    Offline
    Użytkownik
    Avatar użytkownika

    Dołączył(a): 24 paź 2011
    Posty: 580
    Lokalizacja: Warszawa
    Pomógł: 0

    Zrobię, zrobię ale powolutku :] myślę, że wraz z początkiem lub końcem wakacji zacznę naukę czystego C, a w między czasie akurat nabędę druga część książki :P

    _________________
    sig off ;(



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    Wyświetl posty nie starsze niż:  Sortuj wg  
    Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 4 ] 

    Strefa czasowa: UTC + 1


    Kto przegląda forum

    Użytkownicy przeglądający ten dział: Brak zidentyfikowanych użytkowników i 1 gość


    Nie możesz rozpoczynać nowych wątków
    Nie możesz odpowiadać w wątkach
    Nie możesz edytować swoich postów
    Nie możesz usuwać swoich postów
    Nie możesz dodawać załączników

    Szukaj:
    Skocz do:  
    cron
    Sitemap
    Technologię dostarcza phpBB® Forum Software © phpBB Group phpBB3.PL
    phpBB SEO