Escolar Documentos
Profissional Documentos
Cultura Documentos
UM AMOSTRADOR DE EDNA
SUBAQUÁTICO
Empresa: INESCTEC
Gostaria de agradecer ao meu orientador, o Professor Guilherme Silva, que durante todo o
projeto me apoiou e ajudou em tudo o que precisei e que teve sempre disponibilidade para
atender a todas as minhas dúvidas e problemas, ajudando-me até estes ficarem
completamente resolvidos, elevando este projeto a um nível que nunca teria conseguido
sozinho. O apoio do Professor Guilherme foi também essencial na transmissão de novos
conhecimentos e em me manter incentivado ao longo de todo o trabalho desenvolvido.
Agradeço também ao Professor Alfredo Martins por me dar a oportunidade de fazer parte
da equipa excelente e estimulante do Centro de Robótica e Sistemas Autónomos (CRAS), e
especificamente à possibilidade de colaborar no projeto científico de desenvolvimento do
Biosampler com implementação de novas tecnologias promissoras para a observação do
oceano e sistema aquáticos em geral, que foi desde se sempre uma área que me suscitou
muito interesse e curiosidade. À minha família agradeço também por me terem
proporcionado este percurso académico e sempre apoiado os meus projetos e objetivos.
Todo o trabalho realizado neste projeto de estágio resultou também da dedicação e trabalho
investido durante os 3 anos da Licenciatura em Engenharia Eletrotécnica e de
Computadores (LEEC) do Instituto Superior de Engenharia do Porto (ISEP).
Este trabalho foi apoiado pelo projeto CONNECT2OCEANS financiado pela Fundação da
Ciência e Tecnologia com a referência (PTDC/CTA-AMB/4946/2020)
www.fct.pt
Resumo
O trabalho de estágio realizado está integrado num projeto que visa o desenvolvimento de
um Biosampler para a recolha de amostras de DNA ambiental (eDNA) em ecossistemas
aquáticos. Este sistema tem a capacidade de, autonomamente, recolher amostras de água,
concentrar o material biológico e preservá-lo para posterior análise do eDNA utilizando
tecnologias de nova geração de sequenciação. Este projeto está a ser desenvolvido pelo
Instituto de Engenharia de Sistemas e Computadores, Tecnologia e Ciência (INESC TEC),
em colaboração com o Centro Interdisciplinar de Investigação Marina e Ambiental
(CIIMAR) e o Instituto Norueguês de Investigação de Água (NIVA). O trabalho
apresentado foi desenvolvido no Centro de Robótica e Sistemas Autónomos (CRAS)
localizado no campus do ISEP.
As atividades desenvolvidas durante o projeto de estágio incidiram nos desenvolvimentos
firmware e hardware (PCB) necessários para comandar todos os componentes do
Biosampler, tais como inúmeras válvulas, bombas e motores, assim como a leitura de
sensores auxiliares ao processo como sensores de fluxo e de pressão. O código foi
desenvolvido recorrendo à linguagem C e à plataforma STM32 CUBE IDE. Neste
relatório está documentado todo o processo de aprendizagem, de experimentação e
validação utilizando a plataforma STM32 CUBE IDE e o hardware necessário.
No final foi montada uma versão miniaturizada do sistema, de forma a validar e testar os
componentes e software desenvolvido ao longo do estágio.
Palavras-Chave
The activities developed during the internship project focused on the firmware and
hardware developments (PCB) necessary to control all the components of the Biosampler,
such as numerous valves, pumps and motors, as well as the reading of auxiliary sensors to
the process such as flow and flow sensors. pressure. The code was developed using the C
language and the STM32 CUBE IDE platform. This report documents the entire learning,
experimentation and validation process using the STM32 CUBE IDE platform and the
necessary hardware.
At the end, a miniaturized version of the system was assembled, in order to validate and
test the components and software developed during the internship.
Keywords
1. INTRODUÇÃO ...................................................................................................................................... 1
2. METODOLOGIA ................................................................................................................................... 7
DC - Direct Current
IO - Input / Output
xiii
1. INTRODUÇÃO
O trabalho realizado está integrado num projeto de investigação que tem como objetivo
desenvolver um Biosampler autónomo que vai permitir a amostragem e preservação de
eDNA em ambientes aquáticos. As amostras preservadas serão depois processadas em
laboratório para a análise da diversidade e composição biológica através da utilização de
metodologias de sequenciação de nova geração. As atividades do projeto concentraram-
se principalmente nas componentes de comando e controlo do Biosampler, com recurso a
um microcontrolador e a uma placa PCB de interface e desenvolvimento da sua expansão,
de forma que seja realizada a conexão de todos os periféricos do sistema ao
microcontrolador.
1
componentes necessários para atuar nas válvulas e motores, como por exemplo transístores
MOSFET e díodos de freewheeling para o controlo de solenoides.
1.1. CONTEXTUALIZAÇÃO
Este projeto surgiu da necessidade do CIIMAR e NIVA desenvolverem uma nova versão,
mais atualizada e de dimensões mais reduzidas, de um sistema de amostragem de eDNA
inicialmente criado no âmbito do projeto MARINEYE [2], cujo objetivo é recolher e
preservar amostras de material biológico presentes na água de forma autónoma, para serem
posteriormente analisadas em termos de composição biológica em laboratório.
1.2. OBJETIVOS
O objetivo principal deste projeto é o desenvolvimento da secção de controlo (firmware e
hardware) de um sistema de aquisição e preservação de amostras de material biológico em
ambientes aquáticos. Este deverá ser mais compacto (com forma cilíndrica) e atualizado
em relação ao protótipo anterior [2], utilizando componentes disponíveis no mercado dos
dias de hoje. O material biológico recolhido e preservado pelo sistema, numa fase
posterior, deverá de ser objeto de análise do eDNA de forma também autónoma. Dada a
complexidade inerente a este objetivo, sentiu-se a necessidade de o subdividir em
múltiplos requisitos, tais como:
2
• Redução do volume total do sistema de modo a ser integrado num cilindro facilmente
transportável e com possibilidade de montagem num AUV (Autonomous Underwater
Vehicle);
• Reformular as placas de controlo, de forma a utilizar componentes disponíveis no
mercado;
• Preparar as placas de controlo para futuras funcionalidades do sistema, como o
isolamento, análise e sequenciação do eDNA presente nas amostras coletadas;
1.3. CALENDARIZAÇÃO
Em termos de calendarização o projeto foi desenvolvido através da implementação de
diferentes tarefas durante o período de março a início de setembro 2022 de acordo com o
mapa apresentado abaixo.
3
Figura 2- Calendarização do projeto 2
4
processo de recolha de amostras para análise molecular começou a ser automatizado.
Esta tecnologia abriu portas para os cientistas conseguirem recolher amostras dos
ambientes marinhos e de água doce de forma autónoma, sem restrições relativas à
logística complexa de organização de campanhas oceanográficas e sem a necessidade de
recorrer a equipas altamente especializadas para a realização das amostragens in situ.
eDNA consiste em vestígios de DNA deixados por organismos nos ambientes que estes
interagem. O DNA poderá estar dentro de células de bactérias, microalgas e outras
células/tecidos de plâncton, como resíduos celulares deixados por organismos maiores (e.g.
peixes, mamíferos marinhos). Para amostrar o eDNA, a água do ambiente a analisar deve
ser filtrada, deixando no filtro os conteúdos descritos acima para posterior análise. Para
realizar esta filtragem, usam-se filtros estéreis, normalmente “sterivex”, que consiste num
sistema fechado com um filtro no seu interior com um poro de 0.2 m e com duas portas
para entrada e saída do fluído a filtrar, como se pode observar na figura 4.
5
Figura 4- Sterivex
6
2. METODOLOGIA
Com as principais configurações feitas, neste caso definir o clock e o pino ao qual está
ligado o led como saída, procedeu-se ao desenvolvimento do código que vai controlar este
pino. Para tal foi utilizada a camada de abstração de hardware “HAL”, o que permite
controlar o hardware do microcontrolador através de comandos de alto nível, sem ter de
7
manualmente mudar registos no microcontrolador, poupando muito tempo no
desenvolvimento do código.
Este primeiro programa não exigiu qualquer tipo de montagem visto ter utilizado o led
LD2 embutido na placa, já internamente conectado ao pino PA5 do microcontrolador,
utilizando a resistência de proteção adequada.
PWM é um tipo de modulação que pode ser vista como uma forma digital de originar
“resultados” analógicos. Esta permite replicar qualquer valor de tensão dentro de um dado
intervalo, alternando entre os valores máximos e mínimos desse intervalo (normalmente o
valor lógico LOW e HIGH, neste caso 0 e 5 volt). A percentagem de tempo em que este se
encontra com valor HIGH, em relação à duração de um período, é denominada de duty-
cycle. Este é o parâmetro utilizado para alterar o valor médio de saída.
Para gerar sinais PWM é necessário um timer, que foi configurado para incrementar o seu
contador a partir de 0 e atingindo o seu valor máximo de 255, voltar a 0, recomeçando a
contagem.
10
Na tabela 1 estão os diferentes sinais PWM que a função pode gerar, dependendo do input
fornecido pela USART.
Para obter uma representação visual do sinal criado, foi ligado ao pino do timer utilizado
um led. Desta forma, quando o duty-cycle aumentar o brilho do led vai aumentar,
conseguindo validar o funcionamento correto do programa.
Neste modo, o microcontrolador envia por USART a tensão lida à entrada do seu ADC
(Analog to Digital Converter), uma funcionalidade que se vai revelar muito útil para a
leitura dos sensores de pressão do sistema, logo indispensável de ser validada. Para tal foi
utilizado um potenciómetro ligado como divisor de tensão entre a massa e os 3.3v (valor
máximo do ADC), desta forma, rodando o potenciómetro, o valor lido deverá variar entre 0
e 3.3v. No entanto o ADC foi configurado para colocar a medição do valor em formato
binário com 12 bit de comprimento (resolução), que em formato decimal irá resultar num
valor entre 0 e 4092 (corresponde a 0 e 3.3v respetivamente).
Deste modo, como está presente no fluxograma a seguir, o programa terá primeiramente
que converter o valor para volt, multiplicando por 3.3 e dividindo por 4096 e
posteriormente enviar o valor resultante por USART.
11
Para evitar estar
continuamente a enviar as
medições por USART, o
algoritmo apenas envia uma
nova medição quando deteta
uma mudança no valor da
tensão (quando se roda o
potenciómetro). No entanto,
foi preciso criar uma janela
de “deadzone”, para não
deixar que pequenas
variações de tensão
causadas por ruído na fonte
ou imprecisões de leitura
sejam suficientes para ativar
uma nova medição.
Este modo do programa tem o objetivo de fazer a leitura e reset dos flowmeter’s (sensores
de caudal) a utilizar no sistema. O sensor a utilizar funciona por impulsos, ou seja, cada
impulso corresponda a uma pequena quantidade de líquido que passou pelo sensor,
definida pelo fabricante. Neste caso, o sensor utilizado vai ser o “BTFlowmeter 97479415”
que conta com 7000 impulsos por litro, logo cada impulso corresponde a 1/7000L = 0,14
mililitros. Para se fazer a contagem dos impulsos, liga-se o sensor a um pino de interrupção
externa (EXTI1) e na rotina de interrupção vamos simplesmente incrementar a variável
“flowmeter_count”, que é inicializada a 0, e pode ser colocada a 0 (reset) a qualquer altura,
para reiniciar a contagem de fluído. Em termos de funcionamento com a USART, neste
modo envia-se um “0” para fazer reset à medição e um “1” para imprimir o valor atual de
12
fluído medido (desde o último reset), como é possível observar nos fluxogramas da figura
10:
De notar que quando o flowmeter envia um impulso, ativa a interrupção externa EXTI1, o
que faz o program counter saltar para a sua rotina de interrupção (fluxograma da direita), e
no fim desta, volta para a main, retomando na linha onde estava antes da interrupção.
Existem duas principais formas de identificar o slave, com o qual se quer comunicar:
utilizando as linhas de chip select, como no exemplo da figura 11, com uma linha para
cada slave que quando ligada à massa ativa esse slave, ou utilizando endereçamento por
hardware (quando suportado), em que cada slave tem um endereço definido pelo estado
lógico de dois ou mais dos seus pinos (0-ligado à massa, 1-ligado a Vcc) e quando uma
mensagem for enviada pelo master, apenas o slave com o endereço de destino da
mensagem a vai interpretar. Os chips escolhidos suportam esta segunda opção e visto
terem 2 bit de endereçamento, permite ligar até 4 dispositivos desta forma.
Visto que irão ser necessários cerca de 90 IO’s para controlo de todas as válvulas, ativação
de bombas e outros periféricos, nenhum destes métodos parece favorável. O primeiro exige
uma linha de chip select dedicada a cada expansor de IO, o que irá utilizar muitos outputs
no microcontrolador, e o segundo método só permite a ligação de 4 dispositivos, o que
resulta num total insuficiente de 32 IO’s (8 por chip). Assim surgiu a ideia de combinar os
dois, agrupando os chips em grupos de 4, em que cada chip tem um endereço diferente e
cada um destes grupos de chips é controlado por uma linha de chip select, como é possível
visualizar na figura 12, que mostra como foram ligados na placa desenvolvida, de modo a
proporcionar um total de 96 IO’s utilizando apenas 3 linhas de chip select.
14
Para validar esta ideia foram montadas duas placas de testes, uma com um grupo completo
de 4 expansores e uma com apenas um e tentou-se controlar cada output individualmente
usando apenas duas linhas de chip select (uma para cada placa).
Para conseguir comunicar com os estes componentes, foi necessário estudar o seu
datasheet, tal como fazer alguns testes para entender o seu comportamento e modo de
comunicação em SPI. Concluiu-se, deste processo, que cada ação do componente requer 5
passos: em primeiro lugar, deve-se ativar a linha de chip select para o componente
desejado, ligando-a à massa; os próximos 3 passos consistem no envio de 3 palavras de 8
bit, a primeira com o endereço do chip com que se quer comunicar e com a indicação de
escrita ou leitura, a segunda com o registo a alterar no componente e a terceira com o novo
valor a colocar nesse registo. Por fim, desativa-se a linha de chip select e a comunicação
15
está efetuada. Na figura 16 estão resumidos os passos necessários, tal como um exemplo,
que consiste em alterar o estado do pino 0 do slave com o endereço “00” para HIGH.
De notar que, por defeito, estes chips estão configurados para não utilizar o endereçamento
por hardware, pelo que, para tal, ao ligar o sistema é preciso ativar um certo bit (HAEN) no
seu registo de configuração (IOCON), como está explícito no exemplo apresentado, para
além das outras configurações como as de direção dos pinos utilizando o registo IODIR.
16
Para realmente alterar o valor dos pinos do expansor de IO, utiliza-se o registo GPIO em
que cada um dos seus bits corresponde a um pino de saída do expansor.
C
Começando pelas funcionalidades importadas da placa anterior, será necessário
conseguir controlar 3 manifolds, com 6 saídas (uma para cada sterivex de
preservação de DNA, com uma saída por manifold reservada para limpeza), tendo
também uma válvula de saída para cada sterivex, o que exige um total de 18 IO’s
para manifolds mais 18 para as válvulas de saída. Para além destes, irão ser
17
necessários mais dois para as válvulas de entrada de água e de líquido de
preservação no sistema e outros 3 para atuar no pino “ENABLE” dos drivers das
bombas atuais (as duas dos líquidos mencionados e uma de ar, para limpeza do
sistema).
Somando todos estes IO’s temos um total de 79, logo, escolheu-se utilizar, como já
referido, 3 grupos de 4 expansores de IO, obtendo 96 IO’s e reservando as 16
saídas extra para a parte de isolamento de DNA, a implementar futuramente.
18
Figura 18- Montagem do DC-DC em breadboard
19
Tabela 2- IO’s da PCB
20
3Figura 20- Esquema do circuito de atuação Figura 19- Montagem do circuito de atuação
em solenoides em solenoides
3
2.3.3 Teste das bombas e circuitos de conversão de tensão para sinais PWM
E
s
o
Figura 22- Bomba MDG1000s Figura 21- Driver TCS EQI V2
S
Estes drivers têm duas opções para o controlo de velocidade: utilizando um
potenciómetro embutido (em que as bombas trabalham a uma velocidade fixa) ou
utilizando a entrada analógica, variando a sua tensão entre 0 e 5v onde 5v
corresponde à velocidade/caudal máxima(o). Para criar este sinal analógico
21
poderíamos utilizar um DAC (conversor digital analógico) para criar um sinal
verdadeiramente analógico. No entanto, podemos recorrer mais uma vez às
funcionalidades PWM do microcontrolador, para criarmos um “falso” sinal
analógico que terá um valor de tensão interpretado pelo driver tanto maior quanto o
seu duty-cycle. No entanto, existe um problema que apareceu na parte de validação
destes componentes, uma vez que o valor de tensão equivalente ao estado HIGH do
sinal PWM é de 3.3v. Logo, mesmo com o duty-cycle a 100%, a tensão
interpretada não passará deste valor, pelo que as bombas não irão operar a mais do
que cerca de 66% da sua velocidade máxima.
O transístor utilizado foi o mesmo que nos circuitos das solenoides, o MMBF170Q
e utilizando também a mesma resistência de 10kohm na sua gate. No entanto, foi
utilizada uma segunda resistência do mesmo valor, ligada ao dreno, a funcionar
como uma resistência de pull-up na saída do circuito (dreno do transístor) que pode
ser conectada, através de um jumper, tanto á fonte de 5v como à de 3.3v, caso se
queira manter a tensão original do sinal em alguma saída. Nas figuras 23 e 24 é
possível observar o circuito, tanto no seu esquemático em KiCad, como montado na
placa de testes utilizada para validação.
Figura 24- Esquema circuito de conversão para PWM Figura 23- Montagem circuito PWM
22
De notar que, devido à natureza do circuito apresentado, o sinal PWM final vai
estar inversamente polarizado em relação ao original pelo que é necessário inverter
a polaridade de todos os sinais PWM gerados pelo microcontrolador, nas
configurações do mesmo.
Com o grande número de bombas que poderão ser necessárias na parte futura do
projeto (parte de isolamento de DNA), também foi necessário pensar numa forma
de reduzir o número de sinais PWM diferentes que o microcontrolador vai ter de
gerar, de forma a tentar conservar o máximo número de pinos do mesmo. Para isto,
e visto que não há falta de IO’s digitais devido aos expansores de IO, surgiu a ideia
de controlar todas as bombas a usar futuramente com um único sinal PWM e
alternar entre elas utilizando os pinos de “ENABLE” do driver, por sua vez ligados
aos expansores de IO. Esta alternativa é viável visto que, para os processos de
isolamento de DNA estas bombas não irão funcionar em simultâneo. No entanto, as
bombas primárias do sistema, como as de água, líquido de preservação e ar,
utilizam PWM’s individuais, para além dos pinos de “ENABLE”, de forma a
proporcionar um controlo o mais preciso possível e possibilitar o seu uso em
simultâneo, mesmo com velocidades diferentes.
Tal como já foi mencionado na parte do planeamento dos IO’s, uma das novas
funcionalidades desta placa é estar preparada para o controlo de motores de
vibração, que irão ser montados um em cada conjunto de 5 sterivex e futuramente
mais um por cada recipiente de isolamento de DNA, o que dá um total de 6
motores.
Foi proposto utilizar os motores PMD 320-105, próprios para vibração, que
possuem uma tensão nominal de cerca de 3v e quando testados em laboratório
apresentaram um consumo de cerca de 0,8A em carga.
23
principal) que é um driver duplo, ou seja, é possível ligar dois motores por driver,
com controlo independente o que significa que com apenas 4 drivers todos os
motores podem ser controlados individualmente.
No entanto, isto significa que iriamos precisar de ter mais oito pinos de PWM no
microcontrolador, pelo que seguindo a mesma ideia que a utilizada para o controlo
de bombas, vamos tentar diminuir o número de sinais PWM necessários, mesmo
que isto implique um aumento de pinos digitais necessários (em abundância devido
aos expansores de IO). Esta consiste em utilizar apenas dois sinais PWM, comuns a
todos os drivers (um para cada canal/motor do driver) e 4 linhas de ENABLE, que
irão ligar ou desligar o driver a que estão conectadas. Desta forma, é possível
controlar individualmente cada motor embora venha com a limitação de só poder
ter até dois motores a funcionar com velocidades diferentes em simultâneo.
24
Figura 27- Esquema do controlo dos motores de vibração
25
drivers utilizados para o controlo de motores e bombas ficam “confusos” com este
estado, tanto no seu pino de ENABLE como no pino de controlo de velocidade,
causando as bombas e motores a comportarem-se de forma aleatória e errática
durante o processo de programação do microcontrolador. De forma a resolver este
problema, decidiu-se manter as alimentações de todos os drivers do sistema
desligadas até ao programa começar a sua execução.
26
Figura 29- MOSFET nexperia Figura 28- MOSFET Diodes Incorporated
PMPB08R6ENX DMN2056U-7
27
Figura 30- Esquemático saídas de alimentação controladas
2.3.6 Desenho do esquemático em KICKAD
Nas figuras 31, 32 e 33 está representado o esquemático final em KiCad com todos
os módulos e componentes do sistema dividido em 3 partes:
28
Figura 33- Esquemático final em KiCad do sistema 3
29
Figura 35- Renderização do PCB
30
Depois, procedeu-se à fase de validação da placa, começando por ligar a fonte de 24v e
analisar o seu consumo para detetar possíveis curtos-circuitos. Estando esta parte validada,
procedeu-se para a validação dos expansores de IO e todos os circuitos controlados por
estes, seguidos da validação da porta USART3 utilizando o chip MAX232 para
comunicação com o PC. Depois de todos estes componentes validados e a funcionar
corretamente, adaptou-se o programa inicial aos pinos da placa desenvolvida e testou-se
todas as funcionalidades do programa, de forma a validar a criação de sinais PWM para
bombas e motores (modo ledpwm), leitura de impulsos com interrupção externa para os
flowmeter (modo flowmeter) e leitura de sinais analógicos (modo voltímetro) para os
sensores de pressão.
Como o microcontrolador utilizado é diferente, foi necessário criar um projeto para o novo
microcontrolador (STM32 L476RG) e importar as configurações do projeto anterior para o
novo manualmente. São
exemplos destas configurações as
tarefas utilizadas em FREERTOS
(Free Real Time Operating
System) e as suas prioridades,
configurações do ADC, dos
timers e das comunicações SPI e
USART. Foi também necessário
alterar as configurações de todos
os pinos para coincidirem com as
entradas da PCB desenvolvida. O
pinout final do microcontrolador
pode ser observado na figura 37:
31
Uma parte que é completamente diferente da versão anterior é a comunicação e atuação
nos expansores de IO, pelo que foi necessário adicionar as inicializações e configurações
necessárias para estes componentes, tal como uma função (chamada MCPcontrol) que
recebendo por parâmetro em qual dos pinos se pretende atuar , realiza os procedimentos
abordados no tópico 2.5, atuando nas válvulas ou outros periféricos ligados a estes.
Esta apresenta várias melhorias em relação à versão anterior, como botões interativos
conforme os estados das válvulas e bombas, armazenados em memória; Representação
gráfica dos estados de todas as válvulas do sistema e com a funcionalidade de importação
de todos os estados sempre que se estabelece ligação ao PC. Permite o controlo dos
manifolds, válvulas auxiliares, válvulas de entrada e bombas (com slider para selecionar a
sua velocidade), tal como representação em tempo real das medições dos sensores de
pressão e de caudal. A parte de integração das funcionalidades da Interface Gráfica com o
32
firmware desenvolvido e debug dos problemas que foram aparecendo durante a fase de
testes foi uma das partes mais trabalhosas e que consumiu mais tempo, mas com alguma
ajuda e recurso a ferramentas de resolução de problemas presentes no laboratório como o
osciloscópio (figura 40) e o analisador lógico (figura 39), eventualmente conseguiu-se
colocar tudo a funcionar como esperado.
Este teste foi bem-sucedido, tirando umas pequenas fugas pelos sterivex, pelo que o
próximo passo será montar o sistema completo e fazer um teste real a coletar amostras de
eDNA de um ecossistema aquático.
34
3. CONCLUSÕES E
PERSPETIVAS FUTURAS
3.1. CONCLUSÕES
Este capítulo visa a exposição das conclusões retirados após o desfecho do projeto desenvolvido
que contemplou o desenvolvimento de um Biosampler para a recolha de amostras de DNA
ambiental (eDNA) em ecossistemas aquáticos.
Foram atingidos os objetivos propostos, visto que o sistema é capaz de amostrar e preservar 15
amostras diferentes sem contaminação cruzada e é possível monitorizar as pressões e os caudais na
interface gráfica, num PC através de comunicação série. Além disso, placa eletrónica desenvolvida
utiliza agora componentes disponíveis no mercado, o que possibilita a produção ilimitada deste
sistema, que será necessário para enviar os protótipos do mesmo para a “NIVA” na Noruega. Do
ponto de vista do controlo, o sistema está também preparado para lidar com as válvulas, bombas e
outros periféricos que serão necessários para implementar futuramente a parte de isolamento de
eDNA autónomo.
Findo o projeto, retira-se um balanço positivo do trabalho desenvolvido, uma vez que permitiu
desenvolver e testar um protótipo de um Biosampler, que se distingue dos restantes por estar
preparado, do ponto de vista do controlo, para realizar o isolamento do eDNA de forma
automatizada utilizando tecnologias de nova geração de sequenciação.
35
O desenvolvimento deste projeto foi uma ótima oportunidade para aplicar os conceitos e ideias
abordados ao longo de 3 anos de licenciatura, nas diferentes unidades curriculares que a
constituem. Foram também adquiridos novos conhecimentos práticos muito úteis na área, como a
plataforma STM32 CUBE IDE, conceção de PCB´s, utilização de FREERTOS, protocolo SPI,
entre outros.
Como é de esperar num projeto desta duração e complexidade, foram encontradas algumas
dificuldades, destacando-se o tempo limitado para o desenvolvimento do trabalho de estágio e a
utilização de várias plataformas e programas que nunca tinha abordado.
36
Referências Documentais
[1] Scholin C, Doucette G, Jensen S, Roman B, Pargett D, Marin R III, et al. Remote detection
of marine microbes, small invertebrates, harmful algae, and biotoxins using the Environmental
Sample Processor (ESP). Oceanography 2009; 22: 158
[2] Ribeiro, H., Martins, A., Gonçalves, M., Guedes, M., Paola Tomasino, M., Dias, N., Dias,
A., Paula Mucha, A., Carvalho, M. F., Marisa Almeida, C. R., Ramos, S., Miguel Almeida, J., Silva,
E., & Magalhães, C. (2019). Development of an autonomous biosampler to capture in situ aquatic
microbiomes. https://drioi.org/10.1371/journal.pone.0216882
[3] https://www.st.com/en/microcontrollers-microprocessors/stm32-32-bit-arm-cortex-mcus.html
[4] https://www.st.com/en/development-tools/stm32cubeide.html
[5]https://ww1.microchip.com/downloads/en/DeviceDoc/MCP23008-MCP23S08-Data-Sheet-
20001919F.pdf
[6] https://www.diodes.com/assets/Datasheets/MMBF170Q.pdf
[7] https://www.micropumps.co.uk/TCSMGD1000range.htm
[8]https://www.micropumps.co.uk/DATA/pdf/IM060%20-%20Instructions%20EQi%20V2-
MG1%20REV%203.pdf
[9]https://www.ti.com/lit/ds/symlink/drv8833.pdf?ts=1662394654500&ref_url=https%253A%252F%
252Fwww.google.com%252F
[10] https://www.nexperia.com/products/mosfets/small-signal-mosfets/PMPB08R6EN.html
[11] https://www.diodes.com/assets/Datasheets/DMN2056U.pdf
[12] https://www.qt.io/download
37