You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

9.8 KiB

Readme

Basic Instructions of Repository

This is the main repository of your project, please consider to follow the next rules to work in a collaborative way with other fellows.

Readme and Wiki

Use Readme.md file to let others know how to use, connect (circuits) or implement the repository elements in a basic and simple way. For detailed information, remark notes, tutorials, or documentation (reports and thesis) of the repository use the Wiki Tab in the same repository.

Considers that the Wiki page is not considered by the git system.

Projects and Issues tab

To organize your progress, use the issues and projects tabs. In this way, it is possible to schedule your tasks and set milestones. Thus, each week can start by reviewing the pending tasks, organize your week tasks, and at the end of the week check and mark your progress.

Issues and Labels

Let us start by setting some milestones (proposal, prototype, software function, etc.), set a Due Date, and its description. With your milestones, it will be easy to organize issues and track your progress.

After defining a milestone,

  • task
  • bug
  • improve
  • **

The git-template includes 9 basic labels to use each time you create an issue. These labels are detailed next:

  • bug: Somethign is not working as expected or getting wrong results
  • duplicated: This issue or pull request already exists
  • further work: General advices to be considered in future elements, projects or submodules
  • help wanted: Some help is required by supervisors; directions, raw material, material, review results, or laboratory assistance
  • improve: Something has to be improved or rebuiled to improve expected results
  • question: Something needs a fast review or guidance to focus the aim of the project
  • submodules: The project should considers to create a submodule element to integrate in this project
  • task: Assigned task to complete a milestone or project element; the assigned collaborators have to complete the task
  • wiki: Elements or information to be included in the Wiki page

Projects (Tab)

Considers that this is the main repository. Thus, create projects (in the tab menu) for main elements (circuit stage, specific behaivior, component, document, simulation, or submodule, etc.) to manage components or submodules related with the main repository.

In the project always create three main boards: Todo, In Progress and Done.

Note: the next sections are only examples about readme files and typical files included in the repository

Examples of Readme and files included

Example of code projects

Introduction

This reposity includes the basic information to mount a server using Node-RED as a Dashboard and also working as a MQTT server using Mosquitto. The MQTT server is tested with a ESP32 client to publish random numbers every two seconds.

The general scheme is shown below, the complete environment requires a client, mqtt server or broker, and a mqtt client that works like a user interface (dashboard).

The basic communication scheme could work like:

  1. The ESP32 starts the communication chain by sending a text message to the broker, the broker can be public or local.

  2. Depending on the code, the sending message can be replicated to all the connected clients in the topic.

  3. Finally, a web server based on Node-RED will read the publicated data in the broker to be displayed in the UI.

mqttesp32

The client code to test the environment is hosted in the mqtt-client-esp32-v2.

Thanks to Andrés Perez for the first version.

MQTT Server

Installing Mosquitto

For the Raspberry pi, based on Debian's distribution, we can use:

sudo apt update
sudo apt upgrade
sudo apt install mosquitto

To execute mosquitto and enable every time the system starts:

sudo systemctl enable mosquitto.service

Configuring the Mosquitto server

First replace the default configuration file by the file providing in this repository:

sudo cp ./mosquitto.conf /etc/mosquitto/mosquitto.conf

then, create the password file instanced on the mosquitto.conf file

sudo touch /etc/mosquitto/passwd

finally, restart the service:

sudo systemctl restart mosquitto

Node-RED installation

To install nodejs write in terminal:

sudo apt update
sudo apt install nodejs
sudo apt install npm

Then, let us install the Node-RED app and the Dashboard complement by using the Node Package Manager:

sudo npm install -g --unsafe-perm node-red
node-red-stop
npm install node-red-dashboard

now, we require to run in background the app and verify that node-RED is running:

node-red &
sudo netstat -plnt

then, to get access to node-RED go to your web browser at rasp-hostname.local:1880 or rasp-ip:18080.


Example of circuits and PCBs

Potentiostat-device

Version 3 of the electronic basic potentiostat to measure electrochemical activity.

The project is under development by:

  • Diana Elena Barcenas Acho
  • Sofía Cristina Suárez Campos

Desing

The desing is under develpoment on Upverter, the best (at this moment) desing is:

The following image shows the schematic circuit diagram design.

Schematic diagram

The aim of this project is to design a potentiostat at a lower cost.

In the following link you can find the design with which it has been working and the tests have been done:

Potentiostat v3

Bill of Material

Integrated circuits

  • 3 OPC07CP
  • 2 OPA544T
  • 1 TLE2061CP

Resistors

  • 7 100kΩ
  • 1 1kΩ
  • 1 120kΩ
  • 1 18kΩ
  • 1 1.5kΩ
  • 4 10kΩ

Electrodes

  • 2 Electrode with silver coating
  • 1 Electrode with silver and calomel coating

Other devices

  • 3 Test point
  • 1 3-Way Screw Terminal Block
  • 2 CUI PJ-202A

Below is the more detailed bill of material, downloaded from upverter. Bill of material

Connection and calibration

Schematic diagram design

For this design, two more amplifiers were added to modify the signal obtained at the output, an amplifier and an adder were added.

PCB layout

For the design of the PCB, it was verified that the encapsulations of the design coincided with the physical components, then the circuit was routed leaving the width of most tracks of 1.5 mm (especially the tracks connected to the power supply). After routing the entire circuit, the packages were verified to match the schematic circuit and the data sheets for each component. It was observed that the encapsulation in the platform, of the OPA544 did not coincide with that of the data sheet, therefore, an adjustment was made in the routing, which was marked as an error because the correct numbering could not be corrected of the terminals on the platform. Due to this, in the image of the PCB layout some paths were observed with red.

PCB Layout

Circuit printing

Gerber files are necessary to print the circuit, in these files are the different layers of the PCB. These files will be opened in the program that is connected to the machine to mill printed circuits, in this program the material that will be used in the printing of the circuit will be selected, the types of bits that will be used, in addition, using the gerber files will be selected the layers to be printed.

Gerber files

Upon verifying that the PCB design matched the schematic circuit and that the packages were correct, we proceeded to print the PCB. Thanks to the S43 machine, this process was very simple, since the machine only had to be properly programmed according to the materials and needs that were required, then the machine was in charge of drilling and roughing the baquela. After printing the circuit, it must be verified that the perforations are suitable for the components that will later be soldered, if any perforation is smaller, another perforation can be made with the help of a bench drill. The next thing is to sand the baquela so that it is clean.

Calibration

In tests with this design, we used tri-distilled water. Below is the voltmeter and ammeter connection diagram.

Electrode connection diagram

First, the open loop circuit was connected, taking into account only the connections with the electrodes (as shown in the previous figure).

To perform the test, the complete circuit was connected for 20 minutes so that the measurement values stabilized. The measurement must be carried out taking care that the electrodes are more or less the same distance and must be vertical. In the design, the terminal block to measure voltage (WR-Voltage) is badly connected, so a cable was soldered to pin 6 of the integrated circuit U3 to connect it to the beagle and to take the measurement properly. The complete connection of the circuit is observed in the following diagram:

Electrode connection diagram

Basic measurements

Prueba 1:

  • Potencial: -0.3283 V
  • Corriente: -0.5198 uA

Prueba 2:

  • Potencial:
  • Corriente:

Prueba 3:

  • Potencial:
  • Corriente: =======

Test 1:

  • Potential: -0.411V

Test 2:

  • Potential: -0.4165V

Test 3:

  • Potential: -0.4168V

Open loop testing

Test 1:

  • Potential: -0.32519V
  • Current: -0.0109uA

Test 2:

  • Potential: -0.3319V
  • Current: -0.0160uA

Test 3:

  • Potential: -0.3342V
  • Current: -0.0.017uA

The values obtained in the three tests are shown graphically below. In the first graph, the scale is from (0, 0) and it can be seen that there is a very small variation between the values of the 3 measurements.

In the second graph there is a scale with values closer to those obtained in the measurements and the variation of the values obtained in the measurements is better observed.