MVM-VC: Difference between revisions

From DaqWiki
Jump to navigation Jump to search
 
(130 intermediate revisions by the same user not shown)
Line 1: Line 1:
= Links =
= Links =


* https://edev-group.triumf.ca/hw/ventilator-controller/rev0 - TRIUMF altium project
* [[MVM-IT]] MVM with Italian baseboard
* https://edev-group.triumf.ca/hw/ventilator-controller/rev0/-/blob/master/Altium/COVID19%20-%20Ventilator/Project%20Outputs/Schematic%20PDF/COVID19%20-%20Ventilator%20Control%20SCHEMATIC.pdf - board schematics
* [[MVM-TR]] MVM with TRIUMF baseboard
* https://edev-group.triumf.ca/hw/ventilator-controller/rev0/-/blob/master/Altium/COVID19%20-%20Ventilator/Project%20Outputs/Board%20PDF/COVID19%20-%20Ventilator%20Control%20BOARD.PDF - board layout
* [[ESP32]] ESP32 information
* https://gitlab.triumf.ca/mvmdev - TRIUMF git repository
* [[RPI3]] RPi3 information
* https://github.com/NuclearInstruments/MVMFirmware - Milano git repository
* https://github.com/MVMSoftware/gui - GUI git repository
* [[ESP32]] - ESP32 information: adafruit HUZZA32 and ESP-WROOM32 modules
 
= General information =
 
* external power supply: 24 VDC screw terminals
** regulated down to 5V USB power (+5V_USB) which is
** regulated down to 3.3V (+3V_CPU)
* 4 channels of relay drivers
* 2 screw terminals (CPU_BUZZ/BUZZ and CPU_AUX/AUX1)
* 2 screw terminals (CPU_LED1/AUX2 and CPU_LED2/AUX3)
* connection for "featherwing 2.4in" display
* 7 screw terminals for I2C (I2C 0..6)
* 1 screw terminal for SPI (EXT_SPI_CS0)
* 1 pressure sensor
* 3 sites for microcontroller (only 1 at a time): Adafruit HUZZA32, NanoPi, RaspberryPi
 
= Switches and Jumpers =
 
* JMP3/JMP4 - select +3V_CPU from our regulator or from ESP32 internal regulator
* SW1/SW2/SW3/SW4 - select I2C power +3V_CPU or +5V_USB
* JMP1_DRV1/JMP2_DRV1 (DRV1..DRV4) - select relay driver
 
= Test plan =
 
Done:
 
* ESP32 I2C communication with pressure sensor (standalone): [done BS 2020apr2].
 
Pending:
 
* board powered 24V: date done [...]
* ESP32 runs date done [...]
* RaspberryPi runs date done [...]
* NanoPi runs date done [...]
* control and readback of relays: ESP32 [...], RPi [...], NanoPi [...]
* SPI communication: ESP32 [...], RPi [...], NanoPi [...]
* I2C communication: ESP32 [...], RPi [...], NanoPi [...]
* Pressure sensor readout (I2C): ESP32 [...], RPi [...], NanoPi [...]
* external I2C: ESP32 [...], RPi [...], NanoPi [...]
* BUZZ, AUX1, AUX2, AUX3: ESP32 [...], RPi [...], NanoPi [...]
* featherwing display: ESP32 [...], RPi [...], NanoPi [...]
* flow meter readout (TBD)
* proportional valve control and monitor (TBD)
 
= System configurations permitted by hardware =
 
* "Italian model": [ MVM-VC + ESP32 ] ---- usb-serial ---- [ RPi3 + GUI ] ---- wifi or cat5 or SD/USB flash for data collection
* "one ESP32": [ MVM-VC + ESP32 + small LCD + mini-GUI ] ---- wifi for data collection (no cat5, no SDflash)
* "one Pi": [ MVM-VC + RPi + GUI ] ---- wifi or cat5 or SD/USB flash for data collection
* "two Pi": [ MVM-VC + RPi/NanoPi ] ---- cat5 ---- [ RPi + GUI ] ---- wifi or SD/USB flash for data collection
* "three Pi": [ MVM-VC + RPi/NanoPi (control) ---???--- RPi + GUI (local control) ] ---???--- [ RPi + GUI ] (remote control)
* "2.5 Pi": [ MVM-VC + ESP32 --- usb-serial --- RPi + GUI (local control) ] ---- cat5 ---- [ RPi + GUI ] (remote control)
 
= RPi3/4 connections =
 
AAA
 
= NanoPi connections =
 
AAA
 
= ESP32 connections =
 
* ESP32 power: per https://learn.adafruit.com/adafruit-huzzah32-esp32-feather/power-management, last "not recommended" option: "Connect an external 5V power supply to the USB and GND pins"
 
* Pinouts Rev 2020mar31
 
<pre>
ESP32 - WROOM32 - HUZZA32 - header - baseboard - function
 
"bottom row"
 
GPIO21 - IO21 - 21      - JP1-1  - A1  - CPU SPI CS (SPI)
U0TXD  - TXD0 - TX/17  - JP1-2  - A2  - FTHR CPU TX - N/C
U0RXD  - RXD0 - RX/16  - JP1-3  - A3  - FTHR CPU RX - N/C
GPIO19 - IO19 - MISO/19 - JP1-4  - A4  - CPU MISO (SPI)
GPIO18 - IO18 - MOSI/18 - JP1-5  - A5  - CPU MOSI (SPI)
GPIO5  - IO5  - SCK/5  - JP1-6  - A6  - CPU SCK (SPI)
GPIO4  - IO4/A2_0 - ADC2/A5/4    - JP1-7  - A7  - CPU DRV STAT4
SENSOR_VP C16/270pF - IO36/SEN_VP/A1_0 - ADC1/A4/36  - JP1-8  - A8  - CPU DRV STAT3
SENSOR_VN C17/270pF - IO39/SEN_VN/A1_3 - "input only" ADC1/A3/39  - JP1-9  - A9  - CPU DRV STAT2
VDET_1 - I34/A1_6 - "input only" ADC1/A2/34  - JP1-10 - A10 - CPU DRV STAT1
GPIO25 - IO25/DAC1/A2_8 - ADC2/A1/DAC1/25 - JP1-11 - A11 - N/C
GPIO26 - IO26/DAC2/A2_9 - ADC2/A0/DAC2/26 - JP1-12 - A12 - CPU BUZZ
none - none - GND    - JP1-13 - A13 - GND
none - none - NC      - JP1-14 - A14 - N/C
none - none - "3V"    - JP1-15 - A15 - "+3V_CPU2"
none - none -  RST    - JP1-16 - A16 - CPU RESET - N/C
 
"top row"
 
none - none - BAT    - JP3-1  - B1  - N/C
none - none - EN    - JP3-2  - B2  - N/C
none - none - USB    - JP3-3  - B3  - "+5V_USB"
MTCK - IO13/A2_4 - "red LED" ADC2/13/A12 - JP3-4  - B4  - CPU_LED1
MTDI - IO12/A2_5 - "internal pulldown, output only" ADC2/12/A11 - JP3-5  - B5  - CPU_LED2
GPIO27 - IO27/A2_7 - ADC2/27/A10 - JP3-6  - B6  - CPU DRV CH1
32K_XN - IO33/A1_5/X32N - ADC1/33/A9  - JP3-7  - B7  - CPU DRV CH2
MTDO  - IO15/A2_3 - ADC2/15/A8  - JP3-8  - B8  - CPU DRV CH3
32K_XP - IO32/A1_4/X32P - ADC1/32/A7  - JP3-9  - B9  - CPU DRV CH4
MTMS  - IO14/A2_6 - ADC2/14/A6  - JP3-10 - B10 - CPU DRV RSTn (output board reset)
GPIO22 - IO22 - SCL/22 - JP3-11 - B11 - CPU SCL (I2C)
GPIO23 - IO23 - SDA/23 - JP3-12 - B12 - CPU SDA (I2C)
 
not on header, internally connected on HUZZA32:
 
VDET_2 - I35/A1_7 - ADC1/35/A13 - N/C - VBAT voltmeter (through divider)
 
not clear what function:
 
GPIO0  - IO0/A2_1 - GPIO0 - serial RTS
GPIO2  - IO2/A2_2 - GPIO2 - serial DTR (looks like mistake on schematic)
GPIO16  - IO16 - IO16 - not connected?
GPIO17  - IO17 - IO17 - not connected?
CHIP_PU - EN - RESET - push button
 
WROOM32 flash memory connection ("U3"):
 
SD_DATA_2 - SD2 - n/c
SD_DATA_3 - SD3 - n/c
SD_CMD - CMD - n/c
SD_CLK - CLK - n/c
SD_DATA_0 - SD0 - n/c
SD_DATA_1 - SD1 - n/c
 
</pre>

Latest revision as of 16:40, 15 April 2020

Links

  • MVM-IT MVM with Italian baseboard
  • MVM-TR MVM with TRIUMF baseboard
  • ESP32 ESP32 information
  • RPI3 RPi3 information