Spisu treści:

EZProbe, sonda logiczna oparta na EZ430: 4 kroki
EZProbe, sonda logiczna oparta na EZ430: 4 kroki

Wideo: EZProbe, sonda logiczna oparta na EZ430: 4 kroki

Wideo: EZProbe, sonda logiczna oparta na EZ430: 4 kroki
Wideo: CASIO fx-991CW fx-570CW CLASSWIZ Calculator Full Example Manual 2024, Listopad
Anonim
EZProbe, sonda logiczna oparta na EZ430
EZProbe, sonda logiczna oparta na EZ430

jest to prosty projekt sondy logicznej oparty na kluczu sprzętowym TI EZ430. Skorzystałem z darmowej oferty na kilka ez430s od TI we wrześniu 2010. Są bardzo poręczne i zabawne w wypróbowywaniu małych fragmentów kodu i obserwowaniu migania diody. od tego czasu leżeli wokół mojego biurka i muszę coś dla nich wymyślić. i nie chcę, żeby ludzie podchodzili i prosili o pożyczenie mojej „pamięci”. Cóż, to nie jest karta pamięci, 16bit MCU z wielokanałowymi przetwornikami ADC, odpowiednia pamięć programowania 2K i działa do 16Mhz. wszystko zapakowane z płytą interfejsu programowania debugowania w ładnym pakiecie urządzenia USB. moim głównym celem projektowym jest ograniczenie interwencji do oryginalnego ez430. w tym, że nie chcę go zbytnio zmieniać fizycznie i chcę zachować jego funkcję programowania / debugowania dla innych projektów płyty docelowej. wszystko to służy dodatkowym użytecznym celom. jest to projekt linuksowy, jak zwykle zwróciłem uwagę z moją najlepszą wiedzą na zrobienie przepisów, aby można było go zbudować pod oknami. jednak nie mam czasu i zasobów, aby wypróbować wszystko pod windows. większość moich projektów elektronicznych jest wykonywana na bardzo małych płytkach stykowych i zwykle pracuję na ciasnych przestrzeniach (stół kuchenny, połowa pożyczonego biurka itp.). istnieje wiele przypadków, w których muszę sprawdzić poziomy logiki obwodu i używałem multimetru (rozmiar cegły), aby sprawdzić rzeczy. zawsze mnie to denerwuje, ponieważ moje projekty są znacznie mniejsze niż mój multimetr i stwierdziłem, że zawsze mi przeszkadza. Potrzebuję alternatywy, zrobi to mała sonda logiczna. ez430 jest idealny do tego zadania. na początek ma już kształt sondy, wystarczy dodać gwóźdź i kilka ledów. jak wspomniałem wcześniej, chcę, aby ten projekt był prosty i niedestrukcyjny. i skorzystałem z tego, co już jest dostępne. zamiast budować projekt na płytce pcb / pref, buduję go na docelowej płycie msp430f2012, wykorzystując 14-pinową nagłówek przez otwory jako obszar prototypowania. to tam idą maleńkie diody LED. nie chcę wiercić otworów w plastikowej obudowie, nie chcę prowadzić zbyt wielu przewodów ani dodawać dodatkowych punktów styku. wszystko, czego potrzebuję, to styk sondy io i wejście przycisku do wyboru funkcji, plus gnd i vcc. połączenie USB wygląda idealnie do tego zadania. Zasilę sondę przez USB (obwód programatora będzie regulował dla mnie potencjał około 3 V) i użyję połączeń D+ i D-usb dla mojej sondy i przełącznika. ponieważ ez430 jest urządzeniem typu slave / klientem, po inicjalizacji nie zrobi nic poza podciąganiem na D+ (aby wskazać, że jest to "szybkie" usb). używam pływającego D- jako mojej sondy io i D+ jako wejścia przycisku dotykowego (nie muszę nawet ustawiać rezystora podciągającego, już tam jest) dodatkowe informacje można również znaleźć tutaj.

Krok 1: Funkcje i zastosowanie

Funkcje i zastosowanie
Funkcje i zastosowanie

cechy * zasilanie z układu przez złącze USB * 3 tryby pracy przełączane pomiędzy odczytem logicznym, wyjściem impulsowym, wyjściem pwm * długie naciśnięcie przycisku (około 1,5 s) przełączanie pomiędzy 3 trybami pracy * p1.0 oryginalna zielona dioda jako wskaźnik trybu, wyłączona - sonda, on - wyjście, miga - sonda pwmlogic * sonda logiczna czerwona - hi, zielona - niska, brak - pływająca * sonda logiczna czerwona / zielona miga przy ciągłym odczycie impulsów > 100hz * 4 żółte diody LED pokazują wykryte częstotliwości w 8 krokach, migające żółte wskazuje wysoki zakres (tj. krok 5-8) * pokazuje wykryte częstotliwości impulsów dla 100hz+, 500hz+, 1khz+, 5khz+, 10khz+, 50khz+, 100khz+, 500khz+ * dla nieciągłych pojedynczych impulsów, czerwona / zielona dioda świeci się, a kolejne liczniki impulsów są wyświetlane narastająco na diodach LED, będzie liczyć do 8 impulsów ciągłe wyjście impulsowe, ustawienie częstotliwości * wskazane przez p1.0 oryginalna zielona dioda zapalona * 4 żółte diody pokazują częstotliwości impulsów wyjściowych w 9 krokach, migające żółte wskazują wysoki zakres (tj. krok 5-8) * częstotliwości impulsów wyjście dla 100hz, 500hz, 1khz, 5khz, 10khz, 50khz, 100khz, 500khz, 1mhz * krótkie naciśnięcie przycisku powoduje zmianę 9 różnych ustawień częstotliwości tryb pracy, z wyjątkiem tego, że zamiast częstotliwości wyświetlane są (i ustawiane) wartości PWM * 4 żółte diody pokazują procentową wartość mocy wyjściowej w 9 krokach, mrugające żółte wskazują wysoki zakres (tj. krok 5-8) * procenty pwm dla 0%, 12.5%, 25%, 37.5%, 50%, 62.5%, 75%, 87.5%, 100% * krótkie naciśnięcie przycisku obraca 9 różnych ustawień pwm. składa się z dwóch części, w których są one połączone parą złączy usb. schemat po lewej stronie pokazuje dodatki do klucza sprzętowego EZ430 z płytą docelową F2012. schemat po prawej stronie jest logiczną głowicą sondy i ma być skonstruowany od podstaw.

Krok 2: Lista części i konstrukcja

Lista części i budowa
Lista części i budowa
Lista części i budowa
Lista części i budowa

lista części * ti ez430-f2013 (użyj części programatora) * tablica docelowa ti ez430 f2012 * diody led 1,2 x 0,8 mm, 4 żółte, 1 czerwona, 1 zielona * jeden gwóźdź, około 3/4 cala, z płaską główką * jeden przycisk dotykowy * nasadka z 1 grama super-kleju (potrzebny również sam super-klej) * złącze typu USB (strona komputera) * konstrukcja przewodów Używam płytki docelowej msp430f2012 zamiast płytki docelowej f2013, która jest dostarczana z kluczem sprzętowym ez430 tylko dlatego, że mam kilka z nich. jeśli chcesz użyć oryginalnej tablicy docelowej f2013, będziesz musiał przepisać bardzo małą część kodu, która używa adc do wykrywania stanu pływania. f2013 ma bardziej zaawansowany 16-bitowy ADC zamiast 10-bitowego używanego w mojej konstrukcji. będziesz musiał użyć cienkiego grotu lutowniczego i lutownicy z kontrolą temperatury (lub stacji), nie wyobrażam sobie, aby można było przylutować diody LED zwykłym żelazkiem. sposób, w jaki to zrobiłem, to najpierw pomalować podkładki nagłówka, a następnie użyć pary cienkich głośników wysokotonowych, aby umieścić diody LED smd. po zrównaniu czerwonej i żółtej diody, cynuję jedną nogę rezystora 1/8 wata i przylutowuję ją do płytki drukowanej, jeden koniec idzie do wspólnego uziemienia. zielona dioda jest ostatnia. jest bardzo ciasny i chciałbyś po prostu nałożyć wystarczającą ilość lutu, aby skleić wszystko razem. również strumień jest koniecznością. użyj multimetru, aby przetestować swoje stawy. będziesz musiał zmostkować przewód przycisku i przewód sondy. używam odcięć cat5e, ale zrobią to wszelkie przewody o wysokim przekroju. jak pokazano na schemacie i na rysunku, biegną od płytki docelowej do złącza usb. byłoby miło, gdybym mógł znaleźć małe złącze, aby można je było dowolnie rozłączyć, ale na razie wystarczy.

Krok 3: Konstrukcja głowicy sondy

Konstrukcja głowicy sondy
Konstrukcja głowicy sondy

na dole zobaczysz bity, których użyłem do „skonstruowania” (super-kleju) zespołu głowicy sondy. moim pomysłem jest zbudowanie go na złączu USB, aby można go było odłączyć w celu aktualizacji oprogramowania układowego. użyłem super kleju, aby wszystko poskładać. „gwóźdź” jest przyklejony bezpośrednio na górze dotykowego przycisku w celu bardzo szybkiego przełączania trybów i ustawiania częstotliwości / pwm. możesz chcieć zrobić inaczej, jeśli to nie działa dla Ciebie. będzie trochę chybotanie z mechanizmu dotykowego przycisku, w jednym projekcie użyłem spinacza do papieru, aby ograniczyć chybotanie, a w innym głowicy sondy użyłem nasadki z super-kleju, aby zabezpieczyć pozycję gwoździa. możesz również dodać do niego rezystor / diodę zabezpieczającą. złącze usb ma te połączenia, (1) 5v, (2) D-, (3) D+ i (4) Gnd, D- podłączamy do gwoździa, D+ łączy się z przyciskiem dotykowym, pozostałe koniec przycisku dotykowego należy podłączyć do masy. ta strategia sondy na złączu daje mi dużą elastyczność, z linią zasilania na głowicy sondy, możesz rozszerzyć obwód i przekształcić ten projekt w coś innego, po prostu zmieniając „głowicę” i oprogramowanie układowe, np. może to być woltomierz, telewizor b-zniszczony (z tranzystorem i baterią na głowicy sondy) itp. Następnie dodałbym do niego białą diodę LED.

Krok 4: Uwagi dotyczące implementacji i alternatywne aplikacje

Uwagi dotyczące implementacji i alternatywne aplikacje
Uwagi dotyczące implementacji i alternatywne aplikacje

uwagi dotyczące wdrożenia

* wdt (watchdog timer) służy do zapewnienia czasu przycisków (odbicia i naciśnięcia i przytrzymania), a także do pulsowania diod LED. jest to potrzebne, ponieważ diody led nie mają rezystorów ograniczających i nie mogą być stale włączone. * Zegar dco ustawiony na 12 MHz, aby pomieścić obwody docelowe 3 V. * adc służy do określenia, czy sondujemy na pływającym pinie, wartości progowe można regulować za pomocą kodu źródłowego. * określenie częstotliwości odbywa się poprzez ustawienie timera_a do przechwytywania w celu wykrycia zbocza i zliczanie impulsu w określonym okresie. * tryb wyjścia wykorzystuje tryb ciągły timera_a, tryb wyjścia 7 (ustawianie/resetowanie), zarówno przechwytywanie, jak i porównywanie rejestrów (CCR0 i CCR1) w celu uzyskania modulacji szerokości impulsu.

kod źródłowy

są to instrukcje tylko dla Linuksa, moje środowisko to ubuntu 10.04, inne dystrybucje powinny działać, o ile poprawnie zainstalowałeś msp403 toolchain i mspdebug.

możesz utworzyć katalog i umieścić w nim następujące plikikliknij, aby pobrać ezprobe.c

nie mam pliku makefile do skompilowania, używam skryptu bash do kompilacji większości moich projektów, jest to wymienione na mojej stronie tarczy startera, przewiń w dół do sekcji „Układ katalogu obszaru roboczego” i uzyskaj szczegóły.

lub możesz wykonać następujące czynności

msp430-gcc -Os -mmcu=msp430x2012 -o ezprobe.elf ezprobe.c msp430-objdump -DS ezprobe.elf > ezprobe.lst msp430-objdump -h ezprobe.elf msp430-rozmiar ezprobe.elf

aby sflashować oprogramowanie, podłącz klucz sprzętowy ez430 i wykonaj

mspdebug -d /dev/ttyUSB0 uif "prog ezprobe.elf"

alternatywne możliwości zastosowań

Bazując na elastycznym charakterze tego projektu, ezprobe może łatwo zmienić swoją rolę i poprzez szybkie pobranie flasha staje się innym urządzeniem, oto kilka pomysłów, które zamierzam wdrożyć w przyszłości.

* tester serwomechanizmu, ten kliknąłem, aby pobrać ezprobe_servo.c * tester baterii / woltomierz, do 2,5 V lub wyższy z dzielnikiem rezystorowym na alternatywnej głowicy sondy * tv-b-gone, z sondą ir led- głowica * zegar ponga, z 2 rezystorami tv-out sonda-głowica;

rozwiązywanie problemów

* naprawdę potrzebujesz żelazka / stacji do kontroli temperatury i cienkich końcówek lutowniczych, diody (wszystkie razem) są mniejsze niż ziarno ryżu. * użyj topnika. * Przygotuj się na odłączenie przewodów D- i D+ podczas debugowania, mogą one zakłócać normalne działanie USB. jeśli piszesz oprogramowanie układowe na zmodyfikowanym urządzeniu, nie wyprowadzaj danych na tych dwóch pinach podczas uruchamiania oprogramowania układowego. a jeśli to zrobisz, nie będziesz już mógł pobrać oprogramowania (oczywiście możesz je odlutować, jeśli tak się stanie). jeśli możesz znaleźć małe złącza, które pasują do obudowy usb, użyj ich. * zasilanie płytki docelowej pobierane jest z płytki programatora poprzez regulator, który z kolei pobiera 5v z usb. kiedy używam ezprobe w obwodzie, zwykle mój projekt docelowy dostarcza 3 V z podwójnych 1,5 V AAA, jest to wystarczające, ale projekt musi pozostać na lub poniżej 12 MHz. 16mhz dco będzie wymagało pełnego zasilania 5V. * nie użyłem rezystora ograniczającego ani diody Zenera do ochrony sondy. możesz to zrobić.

Zalecana: