czwartek, 30 października 2014

ML-16 Stacja lutownicza, wstęp

Złożyłem zamówienie na części potrzebne do zrobienia stacji, czekam m.in. na wytrawiacz który jest mi potrzebny do zrobienia płytek w/w urządzenia. Testy programu jakie wykonałem na płytce stykowej i płytki ML-08 v2, są zadowalające, chociaż przy bardzo małych napięciach i w powietrzu nie można spodziewać się wyników z dokładnością do 0.1 st C. Testowałem pwm ( zaczerpnięty z ładowarki ), odczyt z adc, nowością dla mnie było zapisanie string-u z temperaturą potrzebną do kalibracji całego ustrojstwa do pamięci eeprom ( zakończone sukcesem zapis i odczyt ). Podczas prób sprawdzałem i pwm od 0% do 100% przelatywał w maksymalnie sekundę co oznacza że będą bardzo małe wahania temperatury. Obudowa ma już zabudowane trafo, jeszcze muszę dopracować pcb i je zrobić, zmontować całość i wgrać jedynie słuszny program i można się cieszyć dobrze wykonanym sprzętem.
***************************************************************************
Części przyszły ( op07, grzałka 907a oczywiście taiwan, ....), testy na stykówce z grzałką ( na razie tylko pokazywanie temperatury ) zakończone pomyślnie, op07 ma 0 mV różnicy między wejściami, więc nie będę musiał dodawać programowej korekty temperatury. Troszkę martwi mnie to że "zimny" koniec termopary jest w rękojeści grzałki ( czyli po 20 minutach zimny koniec się nagrzeje i kiszka ) co przy dłuższym użytkowaniu lutownicy może doprowadzić do przekłamań temperatury grota . Dobrze by było w rękojeści zamontować lm35 czy cokolwiek co da się przerobić na napięcie, ale za dużo zabawy. Może nie będzie tak źle. W końcu chincyki na lm358 robią i też jest ok .

środa, 22 października 2014

termopara typ K, jak się do niej zabrać ?

Przeglądając internet pod kątem pomiarów temperatury przy użyciu termopary, można się natknąć czasami na coś co się nazywa "kompensacja zimnego złącza" . Z początku nie wiedziałem co to za zjawisko, nie znalazłem przystępnego wytłumaczenia o co chodzi. Na szczęście mam miernik wraz czujnikiem termopara typ k więc mogłem sobie poeksperymentować.

Zrobiłem mały eksperyment, zmierzyłem temperaturę swojego ciała i na wyświetlaczu bujała się wartość
35 - 36 st C. Wynik poprawny bo może nie mam 36.6 tylko 36 + błąd pomiarowy....
gdy podgrzałem końcówkę lampką 40W ( nie te kuleczkę tylko taką żółtą którą wpinam do miernika ) okazało się że stygnę 32 - 33 st . Już wiedziałem o co chodzi z tym zimnym końcem. Następnie włożyłem powyższą końcówkę do zamrażarki na jakieś 40 sekund, i okazało się po wyjęciu że mam temperaturę 40 - 41 st C, czyli już powinienem być bliski końca. Reasumując powyższy eksperyment można dojść do wniosku że miernik pokazuje temperaturę poprawnie wtedy gdy temp otoczenia to około 20 - 25st C,
gdybyśmy np mierzyli temp na biegunach czy na pustyni wskazania nie byłyby tak dokładne.

Podejrzewam że nie będę używał stacji lutowniczej w temp 0 st C czy +50st , ale wartało by zrobić miejsce na jakiś czujnik ( lm35 czy ds18b20 ) aby móc ewentualnie programowo go wykorzystać.

Kolejna sprawa to nieliniowość charakterystyki termopary, mówiąc krótko przy 25st C wzrost U termopary to 0.41uV na st C, ale np przy 300st C to już nie jest 0.41uV na st C. Moje założenia to mozliwie najdokładniejsze odwzorowanie temperatury w przedziale od 200 do 350 st C, temp od 20 do 200 st C nie muzą być dokładne, i tak się cyna nie stopi.

kolejna sprawa to wzmacniacz operacyjny który posłuży do 100 krotnego ( w każdym razie bardzo dużego ) wzmocnienia napięcia termopary . Na internecie człowieki polecają op07 lub taki aby miał niski dryft temperaturowy oraz małe napięcie niezrównoważenia. Porównałem jego osiągi ze znanymi mi operacyjnymi takimi jak lm358 324 tl051 61 71 81 i ich poczwórnymi wersjami, lm358 i 324 odpadają , z pozostałych najbardziej pasuje 6x potem 7x 8x i 5x, chociaż 61 ma lepsze parametry to mam nadzieje przetestować 71 bo takie aktualnie mam.
**********************************************************
Jestem już po testach, 100 krotne wzmocnienie na tl071 działa znakomicie, termoparę podgrzałem lutownicą oporową do  ( wg termopary ) ok 300 st C, w rzeczywistości grot może mieć nawet 350 st C ( co jest zgodne z temp podaną przez tego co wyprodukował lutownicę ). Czyli da się zrobić termometr na atmega8 ( przetwornik adc ).......Małe sprostowanie termopara pokazuje ok 300 st, ale w temp 22 st C, co oznacza że muszę do tych 300 dodać 22 co daje 322 st należy pamiętać że użyłem 20% rezystorów przy wzmacniaczu, temp grzałki jest o kilkanaście st wyższa niż grotu. A dlaczego dodać te 22 st, nie zgadzała mi się temperatura pokojowa termopary, dopiero kiedy podgrzałem koniec do ok 36 st widać było wzrost U na wyjściu wzmacniacza o ok 60mV ( jakieś 15 st  C ). Po uwzględnieniu offsetu operacyjnego ( próbowałem go wyzerować jak podaje nota katalogowa, ale na wyeksploatowanej stykówce z długimi kabelkami i wyrobionym potencjometrze przyniosło to więcej problemów jak korzyści ), temperatury otoczenia pomiar temp grotu lutownicy jest  całkiem dokładny.

Stacja lutownicza DIY bazowana na xxx936

W związku z tym że lutuje ostatnio elementy SMD, przydałaby się w moim warsztacie stacja lutownicza z regulowaną temperaturą ( od 200 do 350 st C ) i wymiennymi końcówkami ( mini fala,.... ). Ceny lutownic wahają się od 80 zł za chincyka do nawet 400 zł za półprofesjonalny sprzęt. Oglądając trochę filmów na twoim tubie stwierdziłem że nie ma sensu kupować tych za 80zł ( nie wiadomo co jest w środku ), a i z kalibracją może być kłopot. Wiem że można oddzielnie kupić samą grzałkę z elementem mierzącym temperaturę za kilkanaście złotych. Mowa tu o kolbie 907a do np stacji xxx936. W specyfikacji tej kolby ( a raczej z dwóch linijek tego co podaje sprzedawca ) można się dowiedzieć że pracuje ona na napięciu 24V i mocy maksymalnej 50W. Jako że rozbebeszyłem 50 letni prostownik do akumulatorów samochodowych ( jeszcze sprawny, najprawdopodobniej znudził się poprzedniemu właścicielowi ) i pozyskałem trafo 2x12V i mocy ponad 100W ( na tabliczce prostownika napisane było że 12V 5A , więc powinno wystarczyć ), który wykorzystam do lutownicy. Całość mam nadzieje sterować z mega8, jedyny problem ( raczej nowość dla mnie ) może stanowić termopara typ k . Z tego co wyczytałem to ten "diabeł" daje u kroskopijne napięcie które musi być wzmocnione choćby 100 razy aby móc użyć ADC w mega8. Obudowy po zasilaczach komputerowych się znajdą, trzeba tylko zrobić dobry schemat i pcb, napisać program i można sobie lutować co się chce.


niedziela, 19 października 2014

ML-08 v2 czyli mega8 zasilona z 5V lub 3.3V

W z związku z napływem procesorków mega8 i deficytem "zestawów uruchomieniowych" powstała poniższa płytka, zmodyfikowana wersja różni się tym od pierwszej tym że można wybrać napięcie zasilania uC , dodane 4 klawisze, możliwość odłączenie lini SDA i SCL celem odzyskania 2 kanałów ADC, dodano gniazdo na HC-05, tsop4836, 1 wire ( np ds18b20 ), podłączyłem kwarc na 11.0592MHz .




Program: zegarek ustawiany przez hc-05 z komputera, który robi co 10 sekund zrzut z aktualną datą godziną, temperaturą dwóch ds18b20, 10 sekundowe zrzuty możliwe dzięki ustawieniu pinu INT w pcf8563 ( nie jak kilka przykładów w internecie na pinie CLKO ), przerwanie można generować nawet co 4h i 15 minut ( odsyłam do noty katalogowej ). Podtrzymanie pcf-a na 1500uF kondensatorze, co prawda kondek z z odzysku, ale i tak 30 minut trzyma. Mała porada, lm1117-3.3V może maksymalnie mieć na wejściu 13V bo po wyżej tego napięcia nie trzyma parametrów. Program zajmuje 66% pamięci.

wtorek, 14 października 2014

Arduino i amtega32 wersja poprawiona

Próbowałem skompilować w ardu przykład do obsługi w5100, ale zostałem poinformowany przez kompilator że MOSI SCK MISO nie są zdefiniowane........... Przeszukałem internet i znalazłem rozwiązanie, podmieniłem i zmodyfikowałem plik pins_arduino.c  ( co dla kogoś kto z c zna tylko witamine jest wyzwaniem ) pod swoją karteczke z pinologią. Sprawdzić czy spi chodzi nie mogę bo ta mega32 mało ramu ma i ..... 16gb karta za duża, w5100 też moż zjeść więcej jak 1k ramu.....ale pwm-y działają.

sobota, 11 października 2014

Jak obsłużyć karty uSD, moduł ethernetowy W5100 v5 z arduino mega2560

Piszę tu o module w wersji 5 ( bo taki kupiłem ) obecnie na "topie" jest wersja 6, różnice z 5 są takie że wrzucono buforki 74xxx1g125 ( obudowa jak stabilizator 3,3V w mega2560 ) na liniach SPI z kartą uSD.
Ale konkrety, oba ustrojstwa czyli w5100 oraz uSD są skomunikowane z uC po liniach SPI czyli mosi miso sck i cs ( w przypadku SD ).Schemat modułu niewątpliwie pomoże nam rozgryźć jak odpalić przykład z karty. Przyda nam się również skrócona mocno nota aplikacyjna scalaczka firmy WIZNET W5100.
Napiszę od razu o co chodzi ( dla niecierpliwych ), trzeba ustawić wyjście cyfrowe 10 na 5V, co wyłączy komunikacje w5100, przez co będziemy mogli skorzystać z karty uSD czy SD. Teraz rozwinięcie dla dociekliwych.
Aby nasz w5100 mógł się komunikować po spi z wieloma układami na pinie SCS musi być 5V, oraz na pinie SEN gnd. Jeśli ściągnąłeś schemat i notę to warto je otworzyć i sprawdzić w nocie w dziale Multiple SPI Slave Usage, jest napisane po angielsku to co powyżej. No ale tu 0 a tu 1 a przecież piszesz że trzeba ustawić 5V na d10 i wszystko ok, jak to? Otwieramy schemat modułu i patrzymy na prawy górny róg schematu ( odnajdujemy listwę pinów z aref gnd d13 ) i patrzymy że do D10 podłączony jest kawałek kabelka z nazwą SS ( wcale nie chodzi mi tu o naszych zachodnich sąsiadów ) patrzymy teraz po przeciwnej stronie na scalak w5100 i widzimy że kabelek SS idzie do jakiegoś trójkąta ( dla tych którzy dopiero zaczynają przygodę z elektroniką ) i do pinu SCS ( o którym mowa wyżej ). Teraz tajemniczy trójkąt z kółeczkiem na końcu, dzięki temu kółeczku na pinie SEN ( SPI_Enable ) jest stan przeciwny jak na SCS.
Reasumując jak na SCS jest 1 to na SEN jest 0 i nie można się skomunikować z w5100 ( mówiąc krótko scalak nas olewa ). Co prawda w przykładach z IDE ardu nie widziałem aby d10 był ustawiony na 0 ( obsługa w5100 ) ale najprawdopodobniej jest to zrobione w bibliotece ETHERNET albo wystarczy aby na SEN była 1 albo i tak po włączeniu zasilania wszystkie porty są wejściami bez podciągnięcia do 5V. Spróbuje znaleźć przykład z obsługą karty i w5100, ale najprawdopodobniej da się pogodzić obie te rzeczy.
Co do karty sd to też jest SEN ( SEN3 dokładniej ) wyprowadzony z dzielnika SD_CS który najprawdopodobniej ( muszę sprawdzić ) analogicznie działa jak SEN w w5100. Arduino mega2560 jest trochę inne niż uno, ale zawsze jest wyjście z trudnej sytuacji.

piątek, 10 października 2014

Moduł ethernetowowy W5100 i arduino mega2560 + karty uSD

Jak to znajomy kiedyś powiedział "..aby się bawić dziecko potrzebuje klocków.." zaopatrzyłem się w "klocki" typu moduł ethernetowy na scalaku w5100:



poniżej zdjęcie z testów modułu, wgrałem jakiś przykład z biblioteki z IDE, działa
Gdzieś na necie widziałem jak człowieczki odginali nóżki od w5100 (moduł) aby się "dostać" do obsługi karty uSD, ale 5 minut przeszukiwania internet pod hasłem arduino mega ethernet shield sd i dało radę odpalić bez kombinacji alpejskich..



Ładnie to wygląda, prawda, ale podoba mi się głównie dla tego że jak patrzę na ceny mega2560 i w5100 i wiem ( pamiętam) ile za nie dałem to........
Przy okazji sprawdziłem sobie USBASP-a w wersji small, dolutowałem 2 zworki i wszystko ok


Co do kart SD czy uSD ( ich pojemności ) przepaczałem internet i natrafiłem na coś takiego ale dotyczy to ardu UNO z resztą wszystko co jest w necie ( jakieś 90 % ) info o ardu to wersja UNO, więc trzeba się spocić aby znaleźć info o mega2560 czy due. Dlaczego tak , bo cena ok 90 PLN za mega328 kawałek pcb i drobnice to jak na portfele przeciętnego człowieczka dużo. Na szczęście przyjaciele z .....
Do rzeczy mega328 czyli UNO ma 2k RAM więc pojemność karty ma max 4gb ( ci co robili coś na evb 4.3 to wiedzą że karta 2gb to szczyt możliwości mega32, bo ten ma 1k ram ). Idąc tym śladem nasz potwór ( oczywiście w pozytywnym znaczeniu ) mega2560 ma ile? 8k RAM-u czyli szybka matematyka 2gb na każde 1k ramu to daje cirka koma przecinek kartę pamięci max 16gb co się zgadza bo po podłączeniu karty z aparatu z duszą na ramieniu i wgraniu przykładu z ardu ( data logger ) zadziałało z kopa
użyłem adaptera kart sd , poniżej na zdjęciu pierwsze od prawej
oczywiście karta uSDHC wraz z adapterem...... to samo zrobiłem z tą samą kartą w w5100 i też robi się plik datalog.txt i wszystko gra. Teraz coś o samej karcie ( fizycznie ):
Karta micro SDHC I class 4 16GB firmy EMTEC,
kupiona w "stonce" za 19.99 PLN docelowo do aparatu fotograficznego.
Próbowałem wgrać ten sam szkic do mega32 ale w związku z ram-em się errorów na occured-owało, więc muszę się zaopatrzyć w mniejszą kartę pamięci (2gb). Co do formatu karty ( ntfs raw fat, kgb hbo i hgw )
to jak zaleca producent aparatu należy w nim sformatować kartę ( w aparacie jest taka funkcja ), zrobiłą mi się karta 14.9gb system plików FAT32 i wszystko gra, ( taki bądż fat16 zalecany jest do ardu ) .

Aby za dobrze nie było muszę się przyczepić do ...... oczywiście zasilania a raczej do tego że jak zmontowałem mega2560 i w5100  i podłączyłem zasilacz nominalnie 7,6V ( 8V zmierzone ) to stabilizator lm1117-5V jest zielony pomimo podlutowania "radiatorka" w postaci miedzianego drutu. Nawet w oryginalnym oryginale arduino nie ma przetwornicy dcdc czy choćby tego 5v stabilizatorka w innej obudowie.
Żeby to były prototypy, ale np w UNO to któraś wersja, tak samo mega2560. Aby się nic nie grzało to trzeba układ podpiąć do 5V z zewnątrz. Patrzyłem na necie shieldy zasilające, ale cena 120 PLN za przetwornice którą moge mieć za 10 PLN to przegięcie i to mocne. ( Żeby tak zrobili chłodzenie jak w w5100 trochę pocynować dookoła lm1117-5V ). Sprawdziłem samo mega2560 ciągnie 100mA, razem z modułem w5100 250mA-300mA a to dla małego stabilizatorka dużo.
**********************************************************************************
Wracając jeszcze na moment do kart pamięci, zaopatrzyłem się w 2 karty pamięci jedna 4gb druga 8gb kupione w "bezie" , ich oznaczenia to:
micro sdhc class 4 4gb firmy goodram ( oczywiście made in china )
j/w tylko 8 gb

obie działają z megs2560 ( pamiętamy 8k ramu ), 4gb powinna też działać z uno / nano w końcu ten sam scalak ( 2k ramu ).
**********************************************************************************
Co ustawić i jak jest napisane w następnym poście......

środa, 8 października 2014

Nareszcie porządny kurs Arduino

Szukając jakiegoś przystępnego zrozumiałego dla przeciętnego człowieka, który w ogóle nie zna się na programowaniu C czy innych natrafiłem całkiem przypadkiem na kurs zrobiony przez "Open Source Hardware Group" część 8 tutorialu , można sobie znaleźć też odcinek 1. Jak zawsze na początku jest ględzenie o tym co to arduino......więc polecam oglądanie od 4 odcinka. Nie oglądałem wszystkich części, ale początkowe mnie przekonały.

poniedziałek, 6 października 2014

Port szeregowy na Atmega 8 zamiast ft232

Jakiś czas temu przeglądając internet w temacie wirtualnych portów szeregowych ( ft232 i inne tego typu )
znalazłem projekt portu szeregowego ( linie rx tx dtr rts cts ) na procesorku mega8. Zrobiłem układ jak na stronie projektu i ( zapomniałem o diodach zenera na 3.6V na liniach sygnałowych USB, w laptopach niezbędne, warto sprawdzić czy np usbasp ma takie ) po zainstalowaniu sterowników np pc ( choć nie do końca ) udało mi się odpalić port szeregowy. Testowałem z modułem hc-05, otworzyłem 2 terminale na pc i wpisywałem tekst....Co do instalacji sterowników to na W7 64 i wyżej jest problem z cyfrowymi podpisami sterowników ( w cale nie są złe tylko autor nie zabulił małemu softowi za taki podpis ). Na szczęście są metody obejścia np wyłączenie w ogóle informowanie przez system że aplikacja próbuje gmerać w systemie ( ale na dłuższą metę takie wyłączenie może przynieść więcej szkody niż pożytku ) lub uruchomienie aplikacji ( której nazwy zapomniałem - coś z 13 w nazwie ) ale ona z kolei robi to co pisałem wyżej, co prawda można używać tego avr - owego portu, ale włączanie aplikacji kilkukrotne restartowanie pc, lepiej i szybciej, wygodniej użyć ft232 czy jakiegoś innego pl2303 czy cp2102 czy ch340g  ( tych trzech ostatnich co prawda nie używałem, ale uważam że odpowiednie, nowe sterowniki ze strony producentów ( np prolific ) załatwi sprawę. Wychodzi na to że pod XP będzie działać ok, muszę kiedyś odpalić starego pc-ta i spróbować. 

niedziela, 5 października 2014

Przetwornica step down na LM2596 regulowane napięcie wyjściowe

Przeszkodami do wykorzystywania przeze mnie przetwornic dc dc były:
cena jednostkowa głównego scalaka np mc34063 czy lm2596, co najmniej kilka kilkanaście zł ( pod warunkiem że są w warzywniaku, ale przeważnie "..nigdy nie mieliśmy..", brakiem gotowych cewek ( również cena ). Gotowe przetwornice "naszych" producentów są jednak dużo droższe ( 15-20zł za jedną) od np lm78xx ( cena od 1,50zł do 2zł )
czasem ich jakość też zostawia wiele do życzenia. Jednak dzięki naszym przyjaciołom z bardzo , bardzo dalekiego zachodu można nabyć śliczną ( ładne pcb, lutowanie przemysłowe, nie przez dziadka któremu się ręce trzęsą ) malutką ( lubują się w smd ) i co najważniejsze tanią ( za cenę 7zł z pelcem w .....nosie można kupić ) przetworniczkę która nawet jeśli jest zrobiona tylko wg minimalnego schematu z noty katalogowej,
to i tak jest super.
 jak widać powyżej przetworniczka nie jest większa od hc-05 czy modułu kart sd





  Testowałem przetworniczkę u znajomego który ma solary, i jeden z nich posłużył mi jako zasilanie:
model MH20 20W, open c = 21V max U = 17V, Izw = 1,24A max I = 1,2A.
Uwyjściowe na przetwornicy ustawiłem 5V i obciążałem wyjście od 100mA do 1,5A ze skokiem co 50mA. Pod tym linkiem znajduje się pdf z tabelą pomiarową z testów na solarze. Tutaj jest datasheet lm2596.
Zrobię bibliotekę z tą przetowrnicą w eaglu i bye bye 7805 czy inne. Przetwornica zaczęła się dobrze grzać prz 1A, a po 1,5A już parzyła, ale nawt bardzo rozbudowany układ z 5V nie pociągnie więcej jak 750mA.....oczywiście można podpiać 1000 ledów po 1mA każda,....ale nie mówmy o rzeczach nie realnych.