multiZAP++ prototyp dyskusja

Fora

nucleo

Prace nad multiZAPem trwają. Urządzenie będzie miało o wiele większe możliwości niż pierwotnie planowałem.

  • Będzie mógł generować dowolne obwiednie sygnału: sinus, piłozębne, prostokąt, zadane przez użytkownika dowolny kształt.
  • Elektrody 0-200kHz   0-12V
  • Cewki 0-12V  0-40kHz
  • Obwód pomiarowy rezystancji będzie galwanicznie odizolowany. Obsługa EAV (elektro-akupunktura Volla) w pierwotnej wersji oraz pomiar reakcji układu wegetatywnego na markery częstotliwościowe podawane matą lub fizycznie wkładane próbki do elektrody.
  • Docelowo wyświetlacz graficzny pokazujący skany i opadanie wskazówki na wykresie. Najpewniej e-paper z uwagi na wysoką czytelność w terenie.

Zamieszczam schemat obwodów generowania sygnału na cewkach (analogowe) i elektrodach w celu zebrania waszych komentarzy i uwag, które można jeszcze uwzględnić na etapie projektowania.

Sercem urządzenia jest NUCLEO L432KC, które eliminuje konieczność stosowania zewnętrznych generatorów sygnału, potencjometrów elektronicznych itp.. Bardzo się upraszcza urządzenie i możliwości znacznie rosną.

Procesor posiada 256 kB Flash i 64kB SRAM co pozwala na bardzo skomplikowane oprogramowanie. Sygnały i pomiary sygnałów są realizowane sprzętowo z pominięciem CPU co ma swoją zaletę.

 

Obwód elektrod jest tradycyjnie na AD811. Rezystor R8 zabezpiecza przed zwarciem oraz pozwala mierzyć prąd płynący prze elektrody. Sterownie vmin i vampl jest realizowane w procesorze sprzętowo z dokładnością około 90mV (zależy od dokładności rezystorów R5, R6). Pasmo kilkadziesiąt MHz daje idealne odwzorowanie prostokąta.

1

 

 

Układ sterownia cewką jest oparty o wzmacniacz mocy do sterownia cewką. Graniczne pasmo 5,5MHz jest wystarczające. Diody Shottky-ego zabezpieczają układ wyjściowy i odzyskują część energii co powoduje się mniejsze grzanie cewek mocy. vmin i vapml są także regulowane. Obwiednia sygnału dowolna.  

2

 

Proszę o opinię. Niedługo umieszczę schemat separowane galwanicznie układu elektrod pomiarowych. Do EAV oraz reakcji układu wegetatywnego na czynnik stresujący.

Zamiast LM675, którego ciężko zdobyć, można zastosować TDA2030. Parametry gorsze, ale działa do 300/400kHz z markerami częstotliwości (sinusoida) i daje wystarczająco prostokątny sygnał do około 40kHz. Napięcie wyjściowe maksymalne to około 9V. Kondensator C1 trzeba zamienić na 10nF. Zasilanie ujemne pobiera przy obciążeniu wyjściowym 10om około 18mA dla -12V. Przy zasilaniu ujemnym - 3.5V do -5V będzie to o połowę mniej. Wyprowadzenia TDA2030 są kompatybilne z LM675T.

tda2030

 

Pinout

Przeznaczenie pinów:

  • A0 - EAV btn in?
  • A1 - coil current in
  • A2 - electrodes current in
  • A3 - coils signal out
  • A4 - electrodes signal out
  • A6 - EAV current in
  • A7 - power voltage in

 

  • D0/RX - TX bluetooth
  • D1/TX - RX bluetooth
  • D2 - bluetooth power on out
  • D3 - power on out
  • D4 - I2C: LCD, keyboard NANO
  • D5 - I2C: LCD, keyboard NANO
  • D6 - keyboard?
  • D7 - NC
  • D8 - NC
  • D9 - keyboard?
  • D10 - keyboard?
  • D11 - keyboard?
  • D12 - keyboard?
  • D13 - buzzer out

 

SPI3: D11, D12, D13  może się przydać do obsługi np. wyświetlacza, pamięci.....

Klawiaturę obsłużyć przez  I2C i np. PCF8574, PCF8575 w zależności od potrzeb.

 

 

Rano wpadłem na pomysł, aby klawiaturę obsłużyć własnym sterownikiem na arduino NANO lub arduino STM32F103

Zalety:

  • Zaciski klawiatury od razu podłączane do pinów Arduino,
  • Procek zasilany 3.3V (NANO z wew. zegarem)
  • Wyjście z Arduino I2C slave do I2C Nucleo na którym jest LCD,
  • Gotowa integralna płytka, nic nie trzeba kombinować,
  • Bułka z masłem oprogramowanie i zostaje wiele pinów, które w razie czego można wykorzystać do obsługi interfejsu np. dodatkowych ledów itp.
  • Arduino może obsługiwać buzer do klików klawiatury
  • Rozważyć należy też włącznik zasilania - usypianie.

 

Może warto tak przegrupować piny by wolny był dodatkowo uart na wypadek gdyby przyszła Ci ochota np. na LCD z panelem dotykowym.

 

Driver analogowy dla cewek burzy bilans energetyczny i zasilacz może okazać się niezbędny.

Są też oszczędniejsze wyświetlacze ale trochę trudniejsze w obsłudze.

Mam nawet coś lepszego. Otóż rozdzielę warstwę sprzętu i języka bioZAP od obsługi. Będzie można budować własne wyświetlacze/ klawiatury lub aplikacje na dowolnej platformie. Nie ma znaczenia czy jest to PC/Android czy Linux. Nie ma znaczenia język. Sterowanie będzie się odbywać przez bioZAP poprzez wysyłanie odpowiednich komend.

1

 

Przykład z klawiaturą i wyświetlaczem zabudowanym do urządzenia:

2

Klawiszom 0,1,...,9, A, B, C, D, *, # będą przypisane odpowiednie makra np. do klawisza 1: exe 1; pbar; , a do klawisza D: vmin %1; vampl %2; , do klawisza #: off; (średnik zastępuje koniec linii - tak już działa bioZAP).

 

Przykład bardziej zaawansowanego oprogramowania połączonego z bazą na portalu.

3

 

Zalety:

  • Rozdzielamy działanie urządzenia od obsługi menu - prościej sterować obwodami i jest to sterowanie lepszej jakości. Wystarczy zgodność tylko z bioZAP.
  • Użytkownik może sam zmieniać działanie makr i tym samym menu.
  • Zaawansowani użytkownicy mogą tworzyć własne sterowniki (klawiatury/wyświetlacze) urządzenia.
  • Oprogramowanie na PC czy komórkę działają w tej samej warstwie bioZAP i jest przenoszalne na dowolne urządzenie.
  • Nad poszczególnym oprogramowaniem mogą pracować projektowo różni programiści. Wspólną bazą jest implementacja odpowiedniej wersji języka bioZAP.
  • Oszczędzamy porty mikro-kontrolera urządzenia i możemy więcej parametrów mierzyć i dowolnie je przez bioZAP rejestrować i wykorzystywać.
  • Obsługa menu i peryferiów zabiera najwięcej zasobów. Zostaje więcej SRAM, EEPROM i FLASH na obsługę funkcji bioZAP. Pomaga to dalej rozwijać projekt freePEMF gdzie obecnie doszliśmy do granic możliwości związanej z pamięcią RAM (tylko 2kB w ATMEGA 328).
  • Wreszcie będzie można dodać obsługę pulsometru do freePEMF dla której brakowało pamięci RAM.

Implementacja języka bioZAP

 

Tak wygląda od środka (w pokrywce multiZAPa). Komunikuje się z NUCLEO  bioZAP/ port szeregowy. Obsługę menu i bajery można samemu zmieniać. Docelowo nawet będzie można definiować działanie własnego menu i wgrywać do EEPROM.

terminal2

W stosunku do muliZAP, którego już znacie. koszt jest większy o dodatkowe arduino NANO (około 13zł), bo poprzednia wersja urządzenia posiada klawiaturę, wyświetlacz LCD i jego sterownik.

Grafika płyty czołowej jest oczywiście nieaktualna. Jakaś stara mi została. Nie planuję obsługi karty SD.

Zasilanie podstawowe składa się z trzech ogniw 18650 Li-ION. Pojemność zależy od zastosowanych, jednak jest 2-3 większa niż akumulatora żelowego.

Dodatkowo zasilacz posiada jedno ogniwo 18650 (3,7V) pełniące dwojaką rolę. Zapewniające ujemne zasilanie dla obwodów sygnałowych zbudowanych na  wzm. operacyjnych, a także odseparowane galwanicznie zasilanie układu do pomiaru reakcji układu wegetatywnego i elektroakupunktury Volla. Mimo, że urządzenie w 100% jest zasilane z baterii, nie jest także podłączane przez USB czy port szeregowy do komputera PC, to mimo wszystko odseparowano układ pomiarowy od mikrokontrolera. Pomimo, że w module NUCLEO planuję wykorzystać specjalne tryby pracy i inne ustawienia o wyjątkowo niskiej emisji zakłóceń EM.

Dzięki temu pomiary mają prawo być wiarygodne, co nie jest spełnione w większości urządzeń fabrycznych. Tylko najdroższe za około 1000tys PLN mają w podobny sposób rozwiązany obwód pomiarowy. Nadmienię także, że urządzenie nie korzysta z żadnych przetwornic napięcia generujących zakłócenia i wpływających w sposób znaczący na osiągane wyniki pomiarowe. Jedyna przetwornica jest włączana tylko w czasie ładowania akumulatora. W okresie pracy jest całkowicie odłączona.

Z punktu widzenia wiedzy o elektronice stosuje się odpowiednie filtry i tłumi się te drgania do poziomu szumu czyli zdolności pomiarowych urządzeń. Niemniej układ wegetatywny jest znacznie czulszy i tego typu zakłócenia oczywiście mają znaczenie. O wpływie elektrosmogu nie wspominam. Urządzenie będzie można zabrać na łąkę z dala od infrastruktury elektrycznej oraz nadajników GSM. Wtedy wyniki pomiarów będzie można uznać za porównywalne do czasów, w których dr Voll i jego następcy prowadzili swoje badania.

power

Na multiZAP przyjdzie poczekać, bo trzeba stworzyć soft i wiele testów. Poza tym freePEMF ma funkcje, których nie ma w multiZAP np. zmianę kierunku pola cewki/maty. Inaczej jest także generowany sygnał. freePEMF ma większą moc.