Nowa wersja czujnika Radioactive@Home

Zaczęty przez ryszard.korczyk, 12 Luty 2012, 19:40

ryszard.korczyk

Jakiś czas temu powstał pomysł zaprojektowania alternatywnej czujki do projektu radioactive@home. Dotychczasowa sprawiała czasem drobne problemy, więc postanowiłem zmierzyć się z problemem i zaprojektować własne rozwiązanie. Niestety jestem ostatnio dość mocno zawalony robotą i pracę odbywały się małymi kroczkami wieczorami. Aktualnie prototyp jest już na etapie, w którym była możliwość podłączenia go pod projekt, więc najwyższa pora opublikować schematy i trochę opisać jego budowę.

1.   Analiza tematu
Bolączką dotychczasowej czujki jest USB, które realizowane jest softwarowo przy pomocy bibliotek vUSB na procesor AVR. Parę razy otarłem się o to rozwiązanie i sprawiało ono problemy przy niektórych bardziej wybrednych portach USB, dlatego chciałbym zaproponować zastosowanie mikrokontrolera, który ma wbudowany interfejs sprzętowy USB. Wybór padł na PIC18F14K50, który posiada taki interfejs USB. Jest to prosty mikrokontroler microchip'a którego cena nie jest wygórowana i zasoby ma całkiem przyzwoite, dodatkowo producent udostępnia biblioteki do obsługi USB wraz z przykładami.  Bazując na przykładach możemy bardzo szybko poradzić sobie z zbudowaniem układu, który detektowanym jest po USB jako HID, nie wymagające sterowników i umożliwia sterowanie LED z aplikacji na PC. Do tych przykładów mamy dobrze okomentowane kody, warto było to wykorzystać i nie pisać z palca obsługi USB.
Kolejnym problemem dotychczasowej czujki jest przetwornica, zastosowany układ MC34063 czasem zachowuje się bardzo dziwnie w takiej konfiguracji. Przeglądając dokumentację do wybranego mikrokontrolera wpadł mi do głowy pomysł, aby sam mikrokontroler sterował kluczem przetwornicy, próby wypadły bardzo obiecująco, dlatego dalej rozwijałem to rozwiązanie.

2.   Budowa

Aktualnie prototyp nie przewiduje innego źródła zasilania niż 5V z portu USB, z czasem zostanie dodana opcja zasilania bateryjnego. Napięcie 5V z portu USB poprzez filtry ferrytowe podawane jest na mikrokontroler VCC5CPU oraz na analogowy człon detekcji impulsów VCC5OP. Dodatkowo przez bezpiecznik polimerowy F1 napięcie 5V podane jest na człon klucza przetwornicy VCC5DCDC, bezpiecznik ten zabezpiecza nas przed przeciążeniem linii zasilnia portu USB w przypadku zablokowania się przetwornicy z włączonym kluczem, podczas pisania oprogramowania nie raz udawało mi się taką sytuację wygenerować  ;). Kondensatory C8 i C9 filtrują wewnętrzne zasilanie USB mikrokontrolera. Początkowo prototyp na zasilaniu nie posiadał filtrów ferrytowych, a kondensatory sprowadzały się do 10uF ceramika przy procku,  10u ceramika przy przetwornicy oraz 10uF przy wzmacniaczu operacyjnym, to działało stabilnie! Ale żeby nie przeginać umieściłem na schemacie trochę bardziej rozbudowane filtry.
Czujka posiada standardowy wyświetlacz LCD 2x16, oraz diodę LED, która zastąpiła brzęczyk, który robił się męczący z czasem. W kolejnym prototypie zostanie umieszczony brzęczyk. Podświetlanie LCD jest na stałe włączone, ale w kolejnej wersji pewnie pojawi się możliwość sterowania nim. Samo podłączenie tych elementów nie wymaga wyjaśnień, w kolejnej wersji aby zaoszczędzić wyprowadzenia mikrokontrolera wyświetlacz zostanie podłączony przy pomocy 74HCT595 lub podobnego rejestru przesuwnego.
Linie portu USB są podłączone standardowo wg dokumentacji, element D1 jest opcjonalny i zabezpiecza linie portu przed przepięciami. Trochę niefortunnie zastosowany mikrokontroler ma port USB współdzielony z liniami programowania ICSP, co trochę utrudniało testowanie USB. Do programowania mikrokontrolera możemy zatasować programatory ICD2, ICD3, PICkit2 lub jego klony, PICkit 3. Teoretycznie aktualizacja oprogramowania może się odbywać się poprzez port USB, ale nie testowałem tego, gdyż wymaga to umieszczenie w kodzie bootloadera, którego działanie nie jest dla mnie jeszcze jasne.

Czujka posiada przetwornicę DC/DC zbudowaną na mikrokontrolerze, wbudowany blok PWM steruje kluczem przetwornicy, wypełnienie PWM jest regulowane programowo na podstawie pomiaru napięcia wyjściowego, oczywiście napięcie 400V jest wcześniej zmniejszane dzielnikiem R4, R5, R6, C13 do wartości tolerowanych przez wejścia przetwornika ADC. Dodatkowo mierzone jest napięcie na rezystorze pomiarowym R18, oprogramowanie w ten sposób sprawdza prąd płynący przez klucz. Udało się też wykorzystać ciekawą funkcjonalność mikrokontrolera, ma on wbudowane komparatory, które mogą wyłączać wyjście PWM sprzętowo, jeśli napięcie przekroczy zadaną wartość. Jest to jeszcze jedno zabezpieczenie, które zabezpiecza nas przed za dużym prądem na kluczu.  Softwarowe sterowanie przetwornicą daje nam spore możliwości, można dowolnie dopieszczać algorytmy regulacji, w zależności od warunków i zastosowań. Przykładowo udało się stworzyć algorytm, który przy trochę większych tętnieniach zredukował średni prąd klucza do średnio 2,5-3mA! W kolejnej wersji, w której będzie możliwość zasilania z innego napięcia dodany będzie pomiar tego napięcia, wtedy algorytmy przetwornicy będą mogły dobierać maksymalny poziomy wypełnienia PWM, tak aby uniknąć nasycenia trafa oraz niestabilności. Pomiar 5V z USB też się przyda, gdyż będzie można będzie wykryć małą wydajność portu USB i zmienić sposób sterowania kluczem przetwornicy.
Człon detekcji impulsów jest kopią członu zastosowaną w oryginalnej czujce zwiększyłem tylko wartości C15, gdyż wydawała mi się za mała, rozbudowałem też filtr zasilania 400V. Impulsy po detekcji i uformowaniu kierowane są na wejście wewnętrznego licznika T1 mikrokontrolera.

3.   Oprogramowanie
Oprogramowanie LCD, przetwornicy nie nastręczało problemów, schody zaczęły się przy USB.  Na początku temat komunikacji po USB nie wydawał się skomplikowany, z przykładów korzystając bardzo szybko powstała wersja, która przy pomocy aplikacji okienkowej wyświetlała pomiary na PC. Problemy zaczęły się, gdy postanowiłem zrobić czujkę zgodną z dotychczasową. Przykłady microchipa wykorzystywały dodatkowe endpointy do komunikacji, a czujka projektu działała na raportach endpointa EP0. Okazało się, że bez zapoznania się ze specyfikacją USB nie uda się to zrobić. Po paru wieczorach z pomocą TJM udało się to uruchomić, ale kod bibliotek USB znam na pamięć  :). Uzyskanie zgodności z dotychczasową czujką było niezłym wyzwaniem, taki trochę ,,reverse engineering" , gdyż musiałem poznać kod czujki v2.01 na AVR, oraz aplikacji projektu.

4.   Co dalej
Czujka jest w fazie mocno prototypowej, działa już 2 dobę stabilnie z projektem. Na dniach postaram się zaprojektować PCB i zlecić wykonanie kilku lub kilkunastu płytek, prototypy rozdam do testowania. Po udanych testach warto będzie się zająć tematem VID/PID gdyż teraz czujka zgłasza się na takich jak oryginalana, a docelowo nie może na nich działać, temat ten krzyszp obiecał pociągnąć. W przyszłości postaram się też podjąć temat bardziej wypasionych wersji.

Mam nadzieję, że w miarę wyjaśniłem budowę czujki. Jeśli są jakieś pytania pytajcie śmiało.
PS: nie chciałbym, aby ten wątek nie został źle odebrany przez twórców oryginalnej czujki radioactive@home. Moim zamiarem jest zmierzyć się z projektem i nie chcę aby był odbierany jako próbę pokazania, że oryginalna czujka jest gorsza. Naprawdę jestem pod wrażeniem waszej pracy i wkładu z projekt, wiem ile czasu Was to kosztowało.


krzyszp

 :respect: :respect: :respect:
Ryszard pokazał klasę  :parrrty:




Należę do drużyny BOINC@Poland
Moja wizytówka

Troll81

Ryśku ja ci juz musze kratę piwa zwieźć do krakowa :D  :respect: :respect: :respect: :respect: :respect: :respect: :respect: :respect: :respect:

krzyszp

Poprosimy jeszcze jakieś zdjęcia całości w działaniu  :p_arr:


Należę do drużyny BOINC@Poland
Moja wizytówka

Szopler

Jestem świadom niedoskonałości naszej dotychczasowej czujki (zbyt wiele rzeczy zostało zerż... skopiowanych zamiast zaprojektowanych od podstaw) :ph34r:
Cieszę się, że powstają alternatywne wersje - wszak projekt jest Open!
Oby tak dalej :).

ryszard.korczyk

Proszę bardzo.

Na wyświetlaczu pełen debugging ;)

Svistak

 :respect:  jakby co zgłaszam gotowość do testów jak zawsze i wszędzie - elektrody wolframowe i kompas się nudzą  :D  ...

Niewiele jest na świecie miejsc ciszy i spokoju

www.pripyat.com

Martin Fox

Może się wyrwe przed szereg, ale też chętny do testów :)

krzyszp

Cholera, piszę, bo się nie załapię :)

Też jestem chętny :)

Edit:
No, to teraz obowiązkowo trzeba numery wersji w sofcie zawierać :)


Należę do drużyny BOINC@Poland
Moja wizytówka

Troll81

Jedna testowa do trolla :D zabierę ją na grzmiacą :D

Szopler

No to i jedna dla mnie... potestuję w "odpowiednich" warunkach...

kotfryc

Panie Ryszardzie !  :arrr:  ;)

Tak samo jak koledzy jestem pod wrażeniem ... ale chciałbym zwrócić na coś uwagę ...

Cytat: ryszard.korczyk w 12 Luty 2012, 19:40
Niestety jestem ostatnio dość mocno zawalony robotą i pracę odbywały się małymi kroczkami wieczorami.
Te małe "kroczki" mają też swój wymiar czasowy i złożyły się na dojrzałą alternatywę dla obecnego  projektu...
I jeszcze jedno... wszak nie od wczoraj w świecie BOINC wiemy że przede wszystkim  wytrwałość się liczy  :p_arr: Potrafimy w tym gronie docenić pracę w której nie widać fajerwerków każdego dnia, za to jest wykonywana mozolnie w dłuższym przedziale czasowym.  :parrrty:

Cytat: ryszard.korczyk w 12 Luty 2012, 19:40
nie chciałbym, aby ten wątek nie został źle odebrany przez twórców oryginalnej czujki radioactive@home. Moim zamiarem jest zmierzyć się z projektem i nie chcę aby był odbierany jako próbę pokazania, że oryginalna czujka jest gorsza. Naprawdę jestem pod wrażeniem waszej pracy i wkładu z projekt, wiem ile czasu Was to kosztowało.
Mam nadzieję, że jeśli za jakiś czas pojawi się lepszy projekt czujnika, twórca tej czujki nie odbierze tego źle  ;)
A na poważnie, to nie ma i nie będzie czujnika idealnego. Zawsze będzie można coś poprawić, udoskonalić, zastosować tańsze, łatwiej dostępne elementy, dołożyć gadżeta, opracować wersję do pracy pod wodą itd itd... I dopóki nam wszystkim starczy chęci, zapału i chyba przede wszystkim wytrwałości to projekt będzie się nadal rozwijał - czasem małymi kroczkami ;) a czasem większymi jak się uda ;)

Panowie "testerzy" może tak chociaż małe zadośćuczynienie za koszta wykonania dla Ryszarda?  ;) PCB i proce też kosztują  ::)

Svistak

Cytat: kotfryc w 13 Luty 2012, 08:45
Panowie "testerzy" może tak chociaż małe zadośćuczynienie za koszta wykonania dla Ryszarda?  ;) PCB i proce też kosztują  ::)
Ryszard - jak będziesz miał gotowe czujki do testów - dajesz znać ile bezzwrotna kaucja za czujkę plus koszty przesyłki - uważam, że to uczciwy nasz wkład poza testami, w końcu my też na tym zyskamy kolejne punkty w Rad@H...

Niewiele jest na świecie miejsc ciszy i spokoju

www.pripyat.com

Troll81

ja nawet nie rozpatrywałem innej opcji :D

Martin Fox


krzyszp

Cytat: ryszard.korczyk w 12 Luty 2012, 19:40
PS: nie chciałbym, aby ten wątek nie został źle odebrany przez twórców oryginalnej czujki radioactive@home. Moim zamiarem jest zmierzyć się z projektem i nie chcę aby był odbierany jako próbę pokazania, że oryginalna czujka jest gorsza. Naprawdę jestem pod wrażeniem waszej pracy i wkładu z projekt, wiem ile czasu Was to kosztowało.
Przegapiłem to wcześniej, a sprawa wymaga skomentowania :)

Ryszard, tak właśnie rozwijają się największe projekty świata: ktoś daje pomysł, ktoś poświęca czas na pierwsze próby, potem kto inny dokłada cegiełkę - a wszystko to w atmosferze współpracy i braku złych emocji!
My się cieszymy, że następna osoba podjęła (i to bardzo konstruktywnie) temat  :parrrty:


Należę do drużyny BOINC@Poland
Moja wizytówka

Troll81

#16
ba. ja liczę na jeszcze bardziej konstruktywną krytykę :D Np taką krytykę z zasilaniem bateryjnym.... :D i może opcją podłączenia GPS :D i GSM :D i np z opcją podłączenia raspberry PI tak by wsio działałao jako poełnoprawna stacja badania skażeniem :D

http://www.bixnet.com/usbbaboxc4aa.html np takie :D

http://www.itechnews.net/2009/09/28/powerfilm-usb-aa-solar-charger/ albo takie

Założnie jest taki by pociągneło toto kilka wat poboru mocy zarówno przez kompa czujke GPSa i modem GSM. pozwoliłoby to na całkowicie autonomiczne działanie. Taki raspberry tylko tym by się zajmował i w efekcie dostajemy komplecik do samodzielnych badań terenowych. modem juz mam. Czujke też :D czekam na raspberry i kupie GPSa :D

ryszard.korczyk

Moduły GPS i modemy GPRS/3G mam na stanie, kiedyś mam się nimi zająć. Ale aktualnie chciałbym się skupić na najprostszej wersji bez dodatków, takiej nazwijmy to LITE. Jeśli uda się ją dopracować i wytestować to może uda się w miarę szybko uruchomić produkcję, tak aby zapewnić dostawy, bo samych chętnych jest naprawdę dużo. Wersja LITE z założenia nie ma wodotrysków, zasilania z baterii itp. ale dzięki temu szybciej uda się zabrać za produkcję, PCB będzie proste i tańsze. Myślę, że 80% chętnych na czujkę podłączy ją do USB i nic więcej nie będzie potrzebować, dla nich LITE jest idealna.

Wersja FULL raczej szybko nie uruchomimy, ale możemy już wstępnie zastanowić się nad funkcjonalnością. Myślę że
1. aku li-on to podstawa,
2. GPS do wersji mobilnej ok, stacjonarnie się nie sprawdzi, zasięg GPS w budynkach jest słaby.
3. Pamięć na dane, najprościej karta SD, pytanie czy ta funkcjonalność zapisu danych będzie jakoś z boinc się integrować?
Biblioteki microchip umożliwiają bardzo szybkie uruchomienie takiej funkcjonalności, są gotowe biblioteki SD, FAT.
4. Moduł 3G/GPRS, tylko do czego, dane można online wysyłać na serwer, ale już nie bardzo może to jako projekt boinc działać.
5. Wyświetlacz graficzny, wykresy itp :)
Są gotowe biblioteki microchip łącznie z obsługą ekranów dotykowych.

Myślę, że z czasem mogą też powstać wersje pośrednie.

Troll81

mi tam pamieć nie potrzebna. Wbudowane moduły też nie. Podepnę to pod razpberry, 3 niezalezne urzadzenia. Modem GPS i czujkę. Ważne by aplikacja wykorzystała pomiar z czujki i z GPS

kotfryc

Cytat: Troll81 w 13 Luty 2012, 23:31
mi tam pamieć nie potrzebna. Wbudowane moduły też nie. Podepnę to pod razpberry, 3 niezalezne urzadzenia. Modem GPS i czujkę. Ważne by aplikacja wykorzystała pomiar z czujki i z GPS
Cóż ja jestem innego zdania i myślę że z pewnością wielu użytkowników projektu się ze mną w przyszłości zgodzi.
Cytat: Troll81 w 13 Luty 2012, 11:52
ba. ja liczę na jeszcze bardziej konstruktywną krytykę :D Np taką krytykę z zasilaniem bateryjnym.... :D i może opcją podłączenia GPS :D i GSM :D i np z opcją podłączenia raspberry PI tak by wsio działałao jako poełnoprawna stacja badania skażeniem :D

Założnie jest taki by pociągneło toto kilka wat poboru mocy zarówno przez kompa czujke GPSa i modem GSM. pozwoliłoby to na całkowicie autonomiczne działanie. Taki raspberry tylko tym by się zajmował i w efekcie dostajemy komplecik do samodzielnych badań terenowych. modem juz mam. Czujke też :D czekam na raspberry i kupie GPSa :D
Trollu bez obrazy, ale ktoś tu rozwija czujnik Radioactive@Home a nie "stację badania skażeń". Więc sugestie, że coś nie pasuje, bo tobie nie będzie pasowało w twojej stacji skażeń są trochę nie na miejscu (takie odniosłem wrażenie z dwóch powyższych postów). Myślę, że na  potrzeby stacji badania skażeń powinieneś założyć nowy wątek w którym przedstawisz swój cel, założenia i realizację jeśli do niej dojdzie. Będzie z pożytkiem dla całego forum.  :parrrty:

Troll81

odebrałes mylne wrażenie i przepraszam jeśli ktos odebrał to podobnie.

Troll81

Krzyśku dostałeś moje tłumaczenie??

Hubik

Ja też zgłaszam chęć do ewentualnych testów. Mam dostęp do źródełka Sr90, więc mogę potestować czujkę w warunkach mocno podwyższonego promieniowania.

krzyszp

Cytat: Troll81 w 14 Luty 2012, 09:39
Krzyśku dostałeś moje tłumaczenie??
Tak, obecnie czekam na tłumaczenia niemieckie i francuskie.


Należę do drużyny BOINC@Poland
Moja wizytówka

ryszard.korczyk

#24
Dziś powstała 2 szt prototypowa, tym razem z uwzględnieniem obudowy. Kawałek rurki elektroinstalacyjnej 26mm, zaślepki do rur, uchwyty i ... dziura po wiertle w ręce. :)
Co sądzicie o takiej obudowie? Jest tylko problem z wyświetlaczem, albo miniaturowe 2x16, albo miniaturowy 128x64 OLED 0,96cala, przygotuje prototyp 3 z tym wyświetlaczem.

mimeq



Troll81

wow to mało owiedziane :D ja chciec taką. Nawet wywiercę sobie dziure w ręce....

aborek


Szopler

Super!
Taka czujka w wersji LITE & little (bez LCD i mniejsza jeszcze), zamontowana gdzieś na ścianie zewnętrznej... tylko USB trochę komplikuje, ale co tam :D

Svistak

 :respect: :respect: :respect:

Niewiele jest na świecie miejsc ciszy i spokoju

www.pripyat.com

ryszard.korczyk


Tomasz R. Gwiazda

niezla bomba rurowa :)

to jeszcze prosze wersje ala Iron Man, na srodki klatki :)

Hani

 :respect:
Za bardzo w temacie nie jestem...
Schemat i wsad do PIC'a są ogólnodostępne? Czy to wszystko to Twoja praca od podstaw?


ryszard.korczyk

Schemat uległ trochę zmianie w prototypie 2, jak znajdę chwilkę to przygotuje i udostępnię. Oprogramowanie jest jeszcze trochę do poprawienia ale na dniach będzie dostępny wsad oraz źródła. Jeśli chodzi o hardware to większość jest mojego pomysłu poza torem detekcji impulsów, który pochodzi z czujki 2.01 RAD@H.

Hani

 :respect:
Oczekuję niecierpliwie na schemat i wsad.


ryszard.korczyk

#35
Cytat: Hani w 19 Luty 2012, 12:55
:respect:
Oczekuję niecierpliwie na schemat i wsad.
Schemat jest dla wersji 2 podobny do tego z początku wątku, LCD tylko na I2c się pojawiło, przy okazji zwalniając trochę linii procesora.
edit:
zaktualizowałem zdjęcia, trochę lepszym aparatem są zrobione.
Aby skalę mieć to rura ma średnicę 28mm, długość rury 23cm.

ryszard.korczyk

Właśnie kończę PCB do prototypu, przymierzam się do wysłania PCB do produkcji.
Koszt małej serii PCB to 15-17zł w zależności od ilości. Procesor około 8zł, wyświetlacz 12zł, trafo 4zł (sam nawinę do prototypów), gniazdo 1zł, pozostałych drobnych elementów nie liczę. Dostępu do tub nie mam, ale coś się wymyśli. Więc około 40zł będzie kosztować prototypowa płytka zaokrąglając w dół :). Z racji tego, że nie dysponuje na tą chwilę dużym budżetem proponowałbym, aby osoby zainteresowane testami czujki pokryły taki koszt czujki i we własnym zakresie zdobyły tubę. Najchętniej rozdałbym gratis prototypy, ale na tą chwilę nie dam rady :(. Prototypów planuje wypuścić około 20szt. Płytka zaprojektowana jest pod wersję w obudowie rurkowej ;).

Troll81

Jam jest chętny. Podaj numer konta na PW i adres (bo niezbędny do wykonania przelewu w BZWBK). Kasę będę miał z początkiem miesiąca...

Svistak

Svistak prosi o to samo jak wyżej na PW... testy to lubię, jak zawijanie sreberek  :D  ...

Niewiele jest na świecie miejsc ciszy i spokoju

www.pripyat.com

ryszard.korczyk

Formalnie płatności będę chciał przyjąć, jak już płytki będą w drodze, a części zamówione. Same płytki będą na 30dniowym terminie płatności, części w większości 14dni.