Dzisiaj jest 18 kwie 2025, 16:59

Strefa czasowa UTC+1godz.




Nowy temat Odpowiedz w temacie  [ Posty: 31 ]  Przejdź na stronę 1, 2  Następna
Autor Wiadomość
 Tytuł: i2c po usb, czyli i2c-tiny
Post: 15 lip 2012, 14:37 
Offline
Administrator
Awatar użytkownika

Rejestracja: 10 kwie 2010, 12:13
Posty: 1942
Lokalizacja: Suwałki
AKTUALIZACJA - > patrz post #2


Projekt pod nazwą i2c-tiny-usb jest znany od dawna. Autorem tej przystawki jest Till Harbaum, który prowadzi swoja stronkę pod adresem http://www.harbaum.org/till/. Można tam znaleźć wiele innych projektów, m.in. lcd2usb.

Wracając do i2c-tiny. Autor udostępnia schematy oraz wzory płytek PCB. Postanowiłem wykorzystać je i dokonać paru drobnych poprawek. Zmieniłem gniazdo USB oraz dodałem inne złącze na wyjściu. Idea projektu została zachowana.

Obrazek

Schemat:
Obrazek

Układ PCB:
Obrazek


Instalacja

Wszystkie potrzebne moduły do pracy i2c-tiny są dostępne w OpenWrt Attitude Adjustment oraz trunk.

Moduł:

opkg update
opkg install kmod-i2c-tiny-usb


Narzędzia i2c-tools:
opkg install i2c-tools


Zastosowanie

Cała gama układów pracujących na szynie i2c z jednym ograniczeniem - zasilanym napięciem 5V. Taka jest idea tego schematu, aż się prosi o dodanie prostego pola lutowniczego do wyboru napięcia zasilania układu oraz szeregiem dwóch diod, aby ograniczyć do ~3.3V. Niestety nie przyjrzałem się dokładnie schematowi i nie dokonałem takiej poprawki. Może kiedyś...

Pomimo ograniczenia jest wiele takich układów np.
PCF8574(A) - expander GPIO ( do 8 wejść/wyjść)
SAA1064 - driver LED
LM75 - czujnik temperatury
PCF8582C-2 - pamięć EEPROM 256 × 8-bit
PCF8583 - RTC z kalendarzem
itp.

Przykład zastosowania PCF8574A.

Obrazek

PCF8574A dostarcza nam 8 wejść/wyjść. Wykorzystać można je dowolnie, do sterowania przekaźnikiem, tranzystorem MOSFET czy dioda LED jak wyżej. Unikał bym podłączania bezpośrednio odbiorników o większym poborze prądu, gdyż skończyć się to może uszkodzeniem układu PCF. Zawsze przez jakiś tranzystor lub układ UL2803A (8 tranzystorów w układzie Darlingtona, obciążalność do 500mA).

Układ PCF8574A widziany jest pod adresem 0x38, przy założeniu ze piny A0-A2 podłączymy do masy.

Najpierw wyszukajmy naszą szynę I2C:
root@OpenWrt:/tmp# i2cdetect -l
i2c-0   i2c          i2c-gpio0                          I2C adapter
i2c-1   i2c          i2c-tiny-usb at bus 002 device 003   I2C adapter


Jako ze używam już routera(JWAP003) który ma już i2c w standardzie to znalazł mi obie. Wykorzystujemy oczywiście i2c-tiny - tutaj szyna "1"

Szukamy podłączonych odbiorników I2C:
root@OpenWrt:/tmp# i2cdetect 1
WARNING! This program can confuse your I2C bus, cause data loss and worse!
I will probe file /dev/i2c-1.
I will probe address range 0x03-0x77.
Continue? [Y/n]
     0  1  2  3  4  5  6  7  8  9  a  b  c  d  e  f
00:          -- -- -- -- -- -- -- -- -- -- -- -- --
10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
20: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
30: -- -- -- -- -- -- -- -- 38 -- -- -- -- -- -- --
40: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
50: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
60: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
70: -- -- -- -- -- -- -- -- 


Jest tylko jeden i jak pisałem adres 0x38

Pora na Hello World w elektronice, czyli zapalmy diodę LED. Dioda podłączona pod wyjście P0(pin 4) PCFa.

i2cset -y 1 0x38 0x0 0 /* on */
i2cset -y 1 0x38 0x0 1 /* off */


Dioda się pali. Dziwna jest trochę logika :) bo zapalamy zerem, gasimy jedynką.

W ten spsób możemy zrobić zdalny przekaźnik stosując jego wersje elektromagnetyczną lub półprzewodnikową (SSR Relay):

Obrazek

Tutaj HFS41F-1D-240A5Z 5A. Może być sterowany napięciem od 3 do 15V. Odbiornik 240V może pobierać max 5A.

PS: Mam kilka takich układów i samych PCB. Jak ktoś potrzebuje to PW.

----- Dodano ----- 15 lip 2012, o 15:36 -----

Skompletowałem prosty przekaźnik wykorzystując PCF8574A jako expander GPIO oraz PCF8582C-2 jako pamięć stanu przekaźnika:
Obrazek

Skrypt do zarządzania przekaźnikiem:
#!/bin/sh

bus=1
exp_addr=0x38
eep_addr=0x50

status_addr=0x0

if [ -z "$1" ]; then
state=`i2cget -y $bus $eep_addr $status_addr`
i2cset -y $bus $exp_addr 0x0 $state
else
i2cset -y $bus $exp_addr 0x0 $1
i2cset -y $bus $eep_addr $status_addr $1
fi


Przyjmuje argument "1" i "0". Brak argumentu to przywrócenie ostatniego stanu, przydatne jak się doda do /etc/rc.local i po zbotowaniu router przywróci ostatni stan przekaźnika.

_________________
Pozdrawiam, Artur
http://digi-led.pl


Na górę
 Wyświetl profil  
Odpowiedz z cytatem  
 Tytuł: Re: i2c po usb, czyli i2c-tiny
Post: 11 lut 2013, 16:58 
Offline
Administrator
Awatar użytkownika

Rejestracja: 10 kwie 2010, 12:13
Posty: 1942
Lokalizacja: Suwałki
Pojawiła się nowa wersja tego konwertera, z możliwością wyboru poziomu napięcia 3v3 lub 5v.

Poprawiony opis na stronie http://lab.digi-led.pl/wiki/doku.php/i2c-tiny-usb

_________________
Pozdrawiam, Artur
http://digi-led.pl


Na górę
 Wyświetl profil  
Odpowiedz z cytatem  
 Tytuł: Re: i2c po usb, czyli i2c-tiny
Post: 2 lis 2013, 12:03 
Offline
Użytkownik
Awatar użytkownika

Rejestracja: 12 lut 2012, 21:24
Posty: 2093
Lokalizacja: Warszawa
@arteq orientujesz się jak wygląda sprawa dotycząca poboru prądu z magistrali - czy i2c-tiny-usb negocjuje z hostem 500 mA, czy też tylko 100 mA?


Na górę
 Wyświetl profil  
Odpowiedz z cytatem  
 Tytuł: Re: i2c po usb, czyli i2c-tiny
Post: 2 lis 2013, 13:36 
Offline
Administrator
Awatar użytkownika

Rejestracja: 10 kwie 2010, 12:13
Posty: 1942
Lokalizacja: Suwałki
W źródłach jest następujący zapis:

// The power requirement of the USB device in mA, or 0 when the device
// is not bus powered:
#define   USBTINY_MAX_POWER      10


Wątpię, aby było 500mA.

_________________
Pozdrawiam, Artur
http://digi-led.pl


Na górę
 Wyświetl profil  
Odpowiedz z cytatem  
 Tytuł: Re: i2c po usb, czyli i2c-tiny
Post: 2 lis 2013, 13:41 
Offline
Użytkownik
Awatar użytkownika

Rejestracja: 12 lut 2012, 21:24
Posty: 2093
Lokalizacja: Warszawa
arteq pisze:
W źródłach jest następujący zapis:

// The power requirement of the USB device in mA, or 0 when the device
// is not bus powered:
#define   USBTINY_MAX_POWER      10


Wątpię, aby było 500mA.

Będę musiał zerknąć i dokładniej przestudiować źródła. Na stronie projektu jest takie info:
Cytuj:
The adapter itself draws less than 10mA and reports this to the host via its USB descriptors. The device is able to power I2C client chips as well. But since these chips vary in power consumption it is not possible to correctly include their demands into the device descriptors. It's your responsibility to keep an eye on the total power supply and especially to make sure that the entire device does not exceed the total USB limit of 500mA.


Standard swoją drogą, a urządzenia swoją. Generalnie, poza laptopami jeszcze nie spotkałem się, żeby host odłączał mi urządzenia, które brały z portu więcej niż startowe 100 mA. Ale trzeba to będzie zweryfikować.


Na górę
 Wyświetl profil  
Odpowiedz z cytatem  
 Tytuł: Re: i2c po usb, czyli i2c-tiny
Post: 2 lis 2013, 17:29 
Offline
Administrator
Awatar użytkownika

Rejestracja: 10 kwie 2010, 12:13
Posty: 1942
Lokalizacja: Suwałki
Właśnie. Mam płytki PCB do i2c-tiny z moimi modyfikacjami. Dokładnie to 7 sztuk, 3 już poszły.

_________________
Pozdrawiam, Artur
http://digi-led.pl


Na górę
 Wyświetl profil  
Odpowiedz z cytatem  
 Tytuł: Re: i2c po usb, czyli i2c-tiny
Post: 28 lis 2013, 22:23 
Offline
Użytkownik

Rejestracja: 8 sty 2013, 23:28
Posty: 26
Czesc

Po ile chcesz za te plytki , wzial bym 2

Pozdrawiam


Na górę
 Wyświetl profil  
Odpowiedz z cytatem  
 Tytuł: Re: i2c po usb, czyli i2c-tiny
Post: 14 gru 2013, 09:01 
Offline
Administrator
Awatar użytkownika

Rejestracja: 10 kwie 2010, 12:13
Posty: 1942
Lokalizacja: Suwałki
5zł

_________________
Pozdrawiam, Artur
http://digi-led.pl


Na górę
 Wyświetl profil  
Odpowiedz z cytatem  
 Tytuł: Re: i2c po usb, czyli i2c-tiny
Post: 3 sty 2014, 15:11 
Offline
Użytkownik

Rejestracja: 3 sty 2014, 15:05
Posty: 56
Lokalizacja: Bydgoszcz
Urządzonko fajne małe tylko jedno ale - brak zabezpieczeń na magistrali (w końcu to interfejs - przydałoby się) no i montarz przewlekany - brzydko :P

Czy wsad do tego ATTiny jest ogólnodostępny - jeśli tak może pokusiłbym się o projekt interfejsu mniejszego i na SMT z jakimś zabezpieczeniem ESD.. Ew. na test wziałbym płyteczke jeśli to aktualne.


Na górę
 Wyświetl profil  
Odpowiedz z cytatem  
 Tytuł: Re: i2c po usb, czyli i2c-tiny
Post: 3 sty 2014, 15:17 
Offline
Użytkownik
Awatar użytkownika

Rejestracja: 12 lut 2012, 21:24
Posty: 2093
Lokalizacja: Warszawa
Na stronie projektu wszystko jest. Ja mam w wersji SMT, z ATtiny w QFN.
Jakaś konkretna sugestia dot. scalaka od ESD?


Na górę
 Wyświetl profil  
Odpowiedz z cytatem  
 Tytuł: Re: Odp: i2c po usb, czyli i2c-tiny
Post: 3 sty 2014, 16:20 
Offline
Użytkownik

Rejestracja: 3 sty 2014, 15:05
Posty: 56
Lokalizacja: Bydgoszcz
Na szybko przeglądałem - widziałem tylko jakieś porty ale ani źródeł ani hexa nie widziałem. Do ESD chociażby dwa transile albo mam takie scalaczki do ochrony magistrali USB to by się też nadały (nazwę podam jak usiądę przy kompie).

Wysyłane z mojego GT-S5830 za pomocą Tapatalk 2


Na górę
 Wyświetl profil  
Odpowiedz z cytatem  
 Tytuł: Re: i2c po usb, czyli i2c-tiny
Post: 3 sty 2014, 16:28 
Offline
Administrator
Awatar użytkownika

Rejestracja: 9 kwie 2010, 23:28
Posty: 14176
Lokalizacja: Warszawa
http://www.harbaum.org/till/i2c_tiny_usb/index.shtml sekcja downloads...

_________________
http://eko.one.pl - prawie wszystko o OpenWrt


Na górę
 Wyświetl profil  
Odpowiedz z cytatem  
 Tytuł: Re: Odp: i2c po usb, czyli i2c-tiny
Post: 3 sty 2014, 16:31 
Offline
Użytkownik
Awatar użytkownika

Rejestracja: 12 lut 2012, 21:24
Posty: 2093
Lokalizacja: Warszawa
byrrt pisze:
Na szybko przeglądałem - widziałem tylko jakieś porty ale ani źródeł ani hexa nie widziałem.

Na dole, sekcja download: http://www.harbaum.org/till/i2c_tiny_usb/index.shtml

Edit: nie zauważyłem Cię Cezary ;)


Na górę
 Wyświetl profil  
Odpowiedz z cytatem  
 Tytuł: Re: i2c po usb, czyli i2c-tiny
Post: 3 sty 2014, 17:20 
Offline
Użytkownik

Rejestracja: 3 sty 2014, 15:05
Posty: 56
Lokalizacja: Bydgoszcz
Dzięki za wskazanie downloadu - faktycznie tam nie dotarłem ;)

pepe2k pisze:
Ja mam w wersji SMT, z ATtiny w QFN.

Publikowałeś to gdzieś?
pepe2k pisze:
Jakaś konkretna sugestia dot. scalaka od ESD?

Mam np. USB6B1 ale można by dać coś mniejszego np. USBLC6-2SC6 lub jak mówiłem nawet jakieś PESD3V3 (podójna dioda Clamp).


Na górę
 Wyświetl profil  
Odpowiedz z cytatem  
 Tytuł: Re: i2c po usb, czyli i2c-tiny
Post: 3 sty 2014, 18:11 
Offline
Administrator
Awatar użytkownika

Rejestracja: 10 kwie 2010, 12:13
Posty: 1942
Lokalizacja: Suwałki
Wersja przewlekana po to aby każdy mógł bez hotaira lub palnika :) zrobić na własnym biurku.

Estetyka - kwestia wprawy w lutowaniu, gustu.
Wsad - https://github.com/artekw/avrdude-scripts skrypt windowsowy "_i2c-tiny.cmd"
Zabezpieczanie - jestem otwarty, ale to podnosi koszt modułu i rozmiar w przypadku montażu przewlekanego. Sprzedałem już sporo całych modułów, nikt nie zgłaszał problemów. To już 3 dziesiątka płytek :)

Bardziej bym myślał nad optymalizacja tego co jest, tj wywalenie kwarcu i poprawa kodu do pracy z bodajże 1MHz.

_________________
Pozdrawiam, Artur
http://digi-led.pl


Na górę
 Wyświetl profil  
Odpowiedz z cytatem  
 Tytuł: Re: i2c po usb, czyli i2c-tiny
Post: 3 sty 2014, 19:30 
Offline
Użytkownik

Rejestracja: 3 sty 2014, 15:05
Posty: 56
Lokalizacja: Bydgoszcz
arteq pisze:
Wersja przewlekana po to aby każdy mógł bez hotaira lub palnika :) zrobić na własnym biurku.

Akurat to nie jest argument bo do lutowania takich układów nie używam dmuchawki tylko zwykłą lutownicę kolbową i topnik. Hot'a używam tylko i wyłącznie do rozlutowywania większych elementów.

arteq pisze:
Zabezpieczanie - jestem otwarty, ale to podnosi koszt modułu i rozmiar w przypadku montażu przewlekanego. Sprzedałem już sporo całych modułów, nikt nie zgłaszał problemów. To już 3 dziesiątka płytek :)

Wiadomo, że I2C jest stworzone do transmisji pomiędzy układami w obrębie danego urządzenia. Nie jest to interfejs przeznaczony do stosowania na zewnątrz. Ponieważ jest to przejściówka, która używana będzie raczej inaczej tym bardziej wypadałoby o tym pomyśleć. Zabezpieczenie najprostsze to 2 diody przepięciowe. To że żadna z płytek nie wróciła nie oznacza, że ktoś nie strzeli iskrą z palca i nie poleci Attiny i router przy okazji..

arteq pisze:
Bardziej bym myślał nad optymalizacja tego co jest, tj wywalenie kwarcu i poprawa kodu do pracy z bodajże 1MHz.

Jeśli chodzi o optymalizację hardware to o tym właśnie mówie, kwarc niestety musi być (choć może być z 3x mniejszy - SMT) bo wewnętrzny rezonator RC (bo tylko taki posiada Attiny) nie pozwala na pędzenie go z taką częstotliwością ani z taką dokładnością.

Powtarzam pytanie - masz jeszcze takie płyteczki? Nawet chyba attiny45 mam gdzieś w dipie - dla testów chętnie sprawdziłbym jak to się sprawuje i ew. pokusił o własny projekt PCB..


Na górę
 Wyświetl profil  
Odpowiedz z cytatem  
 Tytuł: Re: i2c po usb, czyli i2c-tiny
Post: 3 sty 2014, 19:41 
Offline
Administrator
Awatar użytkownika

Rejestracja: 10 kwie 2010, 12:13
Posty: 1942
Lokalizacja: Suwałki
Patrz przez pryzmat mniej doświadczonej osoby, a nie swojej. Ty sobie radzisz z SMT a ja BGA...
Uważam że jak by padł router czy inne urządzenie to bym miał reklamacje. Kupowały nie tylko osoby prywatne ale i firmy.

Mam płytki, 5zł + wysyłka.

_________________
Pozdrawiam, Artur
http://digi-led.pl


Na górę
 Wyświetl profil  
Odpowiedz z cytatem  
 Tytuł: Re: i2c po usb, czyli i2c-tiny
Post: 3 sty 2014, 19:57 
Offline
Użytkownik

Rejestracja: 3 sty 2014, 15:05
Posty: 56
Lokalizacja: Bydgoszcz
arteq pisze:
Ty sobie radzisz z SMT a ja BGA...

Heh, spokojnie BGA też kładłem, robiłem reballing, obsługiwałem rentgen do BGA itp ;) Trochę w tym siedzę.. Ale nie o to chodzi (choć osobiście uważam, że SMT jest szybsze i prostsze do lutowania). Jeśli moduł był projektowany jako moduł do samodzielnego montażu (kit) to owszem rozumiem. Ja jednak wolałbym coś mniejszego, wyglądającego bardziej profesjonalnie. Układ jest tak prosty, że aż głupio nie dać tam jakiegoś dodatkowego zabezpieczenia.

arteq pisze:
Uważam że jak by padł router czy inne urządzenie to bym miał reklamacje. Kupowały nie tylko osoby prywatne ale i firmy.

Wiadomo, że nie takie rzeczy ludzie używają i nie takimi bawią sie elektronicy hobbyści.. Co nie oznacza, że urządzenie jest zgodne z normami. Chyba niepotrzebna dyskusja - po prostu sugeruję tam coś wstawić ;)

Odnośnie płytki zaraz napiszę na PW..


Na górę
 Wyświetl profil  
Odpowiedz z cytatem  
 Tytuł: Re: i2c po usb, czyli i2c-tiny
Post: 4 sty 2014, 11:57 
Offline
Użytkownik
Awatar użytkownika

Rejestracja: 12 lut 2012, 21:24
Posty: 2093
Lokalizacja: Warszawa
byrrt pisze:
Dzięki za wskazanie downloadu - faktycznie tam nie dotarłem ;)

pepe2k pisze:
Ja mam w wersji SMT, z ATtiny w QFN.

Publikowałeś to gdzieś?

Nie, jeszcze nie.


Na górę
 Wyświetl profil  
Odpowiedz z cytatem  
 Tytuł: Re: i2c po usb, czyli i2c-tiny
Post: 4 sty 2014, 11:58 
Offline
Użytkownik

Rejestracja: 3 sty 2014, 15:05
Posty: 56
Lokalizacja: Bydgoszcz
pepe2k - a masz może zamiar? ;)


Na górę
 Wyświetl profil  
Odpowiedz z cytatem  
Wyświetl posty nie starsze niż:  Sortuj wg  
Nowy temat Odpowiedz w temacie  [ Posty: 31 ]  Przejdź na stronę 1, 2  Następna

Strefa czasowa UTC+1godz.


Kto jest online

Użytkownicy przeglądający to forum: Obecnie na forum nie ma żadnego zarejestrowanego użytkownika i 1 gość


Nie możesz tworzyć nowych tematów
Nie możesz odpowiadać w tematach
Nie możesz zmieniać swoich postów
Nie możesz usuwać swoich postów

Szukaj:
Przejdź do:  
designed by digi-led.pl
...Copyright © 2010-2013, Ekipa openrouter.info