Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

adc #52

Open
lrivara opened this issue Jun 24, 2024 · 14 comments
Open

adc #52

lrivara opened this issue Jun 24, 2024 · 14 comments

Comments

@lrivara
Copy link

lrivara commented Jun 24, 2024

Non riesco a capire perchè le misure prese dalle adc sono completamente diverse. Una ha un range di 80-100 e l'altra di 40-50. Come mai? @fdila @sorrenti

@fdila
Copy link
Member

fdila commented Jun 25, 2024

Ci sono un po' troppe poche informazioni per darti una risposta :)

Cosa c'è collegato agli adc, i pin di current sense del pololu?
Hai provato prima a togliere il pololu e a mettere in input degli adc una tensione nota (che so, tipo i 1.5V di una pila AAA) e vedere se il valore che leggi sull'adc è quello che ti aspetti?

@lrivara
Copy link
Author

lrivara commented Jun 25, 2024

Cosa c'è collegato agli adc, i pin di current sense del pololu?
si
Hai provato prima a togliere il pololu e a mettere in input degli adc una tensione nota (che so, tipo i 1.5V di una pila AAA) e vedere se il valore che leggi sull'adc è quello che ti aspetti?
no, ma come faccio ad inserire una batteria, con un filo di rame?

@fdila
Copy link
Member

fdila commented Jun 25, 2024

Sì con una pila da 1.5, collegando il - al GND della nucleo e il + al pin di adc dovresti leggere la tensione della pila, anche se sarebbe più carino avere un piccolo generatore di segnali, se ci sei domani ti porto il mio.
In alternativa puoi prendere multimetro/oscilloscopio e guardare la tensione che esce dai pin CS pololu e vedere se corrisponde a quello che leggi dalla nucleo.

@lrivara
Copy link
Author

lrivara commented Jun 25, 2024

domani ci sono per che ora devo farmi trovare?

@fdila
Copy link
Member

fdila commented Jun 25, 2024

Domani ci sono fino alle 10.30

@lrivara
Copy link
Author

lrivara commented Jun 26, 2024

Sono riuscito a vedere il voltaggio dell'onda ma anche cambiando le impostazioni del generatore l' onda è sempre sopra ai 3,3v

17193934367117545906196318511638

@lrivara
Copy link
Author

lrivara commented Jun 26, 2024

Ho misurato con l'oscilloscopio i pin current sense del pololu
IMG_20240626_135328
Queste sono le misurazioni dei due pin quando i motori sono in funzione. Si vede anche dall'oscilloscopio che un pin va ad un voltaggio quasi il doppio dell'altro

@fdila
Copy link
Member

fdila commented Jun 27, 2024

Si vede anche dall'oscilloscopio che un pin va ad un voltaggio quasi il doppio dell'altro+

Se converti il delta tra i due in corrente assorbita dai motori quanto sarebbe? Magari è ragionevole che si sia qualche milliampere di differenza (ma su questo lascio la parola al prof).

Extra che mi è venuto in mente ora: non è che quegli "spike" di corrente corrispondono in qualche modo al segnale PWM?
Se leggo bene la scala delle x sembra proprio che ci siano ogni 50us, che convertendo è proprio il 20khz a cui va il PWM.
Prova ad attaccare anche i pin del PWM all'oscilloscopio e vediamo se effettivamente è così, tra l'altro era una cosa che se non ricordo male interessava anche a @sorrenti

@lrivara
Copy link
Author

lrivara commented Jun 27, 2024

IMG_20240627_120502
Il canale giallo è il pwm e quello blu il current sense

@lrivara
Copy link
Author

lrivara commented Jun 27, 2024

Se converti il delta tra i due in corrente assorbita dai motori quanto sarebbe?
18,4 mV- 11,2mV = 7,2 mV
7,2 mV / 20 mV/A = 0,36 A
anche se la documentazione dice che 20 mV/A sono solo approssimati

@fdila
Copy link
Member

fdila commented Jun 27, 2024

anche se la documentazione dice che 20 mV/A sono solo approssimati

A questo punto mi preoccuperei poco di questa discrepanza tra i due canali visto che è un pochino prevista.

A seguito dell'immagine sopra direi che forse ci avevo preso sul pwm.
IMHO ci sono due/tre questioni:

  1. Capire se quegli spike siano "normali" per come funzionano i motori DC, prova a googlare in attesa del prof. (purtroppo la mia conoscenza dei motori DC è scarsa)
  2. Scrivere un simpatico firmware (a parte rispetto a quello di otto) per loggare a frequenza abbastanza elevata (dirie i 40khz che ci siamo detti) i dati dei due adc sul computer. Vedi tu se si riesce a star dietro alla trasmissione sulla seriale visto che sono solo due numeri a 40khz, o se c'è abbastanza spazio sulla flash della schedina ti puoi anche far un buffer per loggare tot ms di adc e poi mandare tutto insieme alla fine.
    Ad occhio il segnale non è male ma potrebbe essere utile comunque filtrarlo. Per esperienza personale fare le prove su come scrivere e tunare il filtro è decisamente più facile se fatto da pc sui dati raccolti, piuttosto che sul microcontrollore.
  3. In parallelo approfondire/verificare l'utilizzo dell'adc con l'uso di un timer per campionare il segnale ad una frequenza stabilita ed integrare questa cosa su firmware otto.

@lrivara
Copy link
Author

lrivara commented Jun 28, 2024

Ho trovato un programma della ST che si chiama STM32CubeMonitor. Ho provato ad usarlo per vedere le variabili delle adc e questo è il risultato ( ho mandato i motori a metà della potenza massima )
image

@fdila
Copy link
Member

fdila commented Jul 1, 2024

Ho trovato un programma della ST che si chiama STM32CubeMonitor. Ho provato ad usarlo per vedere le variabili delle adc e questo è il risultato ( ho mandato i motori a metà della potenza massima ) image

Bello! Ma riesci a vedere/campionare i dati alla frequenza che ci aspettiamo? Quindi in un secondo di registrazione dovresti trovarti 40000 campioni per ogni canale.

@lrivara
Copy link
Author

lrivara commented Jul 8, 2024

Bello! Ma riesci a vedere/campionare i dati alla frequenza che ci aspettiamo? Quindi in un secondo di registrazione dovresti trovarti 40000 campioni per ogni canale.

no, ho visto adesso che riesce al massimo a 1khz

image

questo è il massimo che può fare

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants