Forum: Mikrocontroller und Digitale Elektronik 15kHz 0-75mV für Arduino glätten und verstärken


You were forwarded to this site from EmbDev.net. Back to EmbDev.net
von Boltz B. (boltzbrain)


Angehängte Dateien:

Lesenswert?

Ich hab da ein Kleines EDM Projekt.

Ich nutze derzeit einen INA282 um die Shunt Spannung für den Arduino zu 
verstärken.

Das problem ist nun aber das ich 15kHz PWM als Arbeitsspannung nehme, 
was dazu führt das ich am Shunt 15kHz spitzen bekomme.
Der Arduino spuckt dann auch mal 0 aus wenn er gerade zwischen 2 pwm 
hügeln ausließt.
Klar ich kann das in softwar glätten (tue ich derzeit) das macht aber 
meine reaktionszeit langsamer.

Also würde ich gerne den ausgang vom INA282 glätten.

Jetzt ist die frage wie?

von MaWin (Gast)


Lesenswert?

Du solltest deine A/D Wandlung synchron zur PWM machen, das wird 
einfacher und genauer als jede analoge Lösung.

von Minimalist (Gast)


Lesenswert?

Boltz B. schrieb:
> was dazu führt das ich am Shunt 15kHz spitzen bekomme

Dann stimmt da noch mehr nicht. Klingt nach Freilaufdiode vergessen. Mit 
15kHz sollte der Stromfluss eigentlich nicht mehr Lücken. Also 
Freilaufdiode rein, und/oder Frequenz hoch, dass der Strom gar nicht 
mehr auf 0 fällt.  Dann wie bereits vorgeschlagen synchronisiert 
Abtasten.
Grüße
M

von Boltz B. (boltzbrain)


Lesenswert?

MaWin schrieb:
> Du solltest deine A/D Wandlung synchron zur PWM machen, das wird
> einfacher und genauer als jede analoge Lösung.

Klingt gut aber, der arduino ist nicht schnell gernug um mit den 15kHz 
synchron zu laufen

Minimalist schrieb:
> Klingt nach Freilaufdiode vergessen.

In der tat, werd ich mal einbauen.

von Kevin M. (arduinolover)


Lesenswert?

Boltz B. schrieb:
> Klar ich kann das in softwar glätten (tue ich derzeit) das macht aber
> meine reaktionszeit langsamer.

Freunde dich mal mit dem Herr Nyquist an und dann versuch es nochmal.

von Erwin (Gast)


Lesenswert?

Boltz B. schrieb:
> Klingt gut aber, der arduino ist nicht schnell gernug um mit den 15kHz
> synchron zu laufen

Warum? Was muss er denn noch so alles machen und wie ist das 
implementiert?

Was willst du eigentlich genau messen? Eher einen Spitzenwert? Warum 
nimmst du mit 15Khz eine Frequenz, die nicht mal der INA282 schafft?

von Boltz B. (boltzbrain)


Angehängte Dateien:

Lesenswert?

Erwin schrieb:
> Warum? Was muss er denn noch so alles machen und wie ist das
> implementiert?

Hier ist die Projekt beschreibung:
Beitrag "DIY mini EDM"

Code hab ich hier:
https://github.com/moeC137/stepper_driver_pcb

TL;DR: Der Arduino steuert die Schrittmotoren.

Erwin schrieb:
> Was willst du eigentlich genau messen? Eher einen Spitzenwert? Warum
> nimmst du mit 15Khz eine Frequenz, die nicht mal der INA282 schafft?

Im grunde möchte ich den strom messen. Ein spitzen wert würde ggf auch 
gehen, aber eigentlich hätte ich gerne eine glättung die mir sowas wie 
einen durchschnitt der letzten 10 peaks gibt.

Zum INA282 laut datasheet ist das gain bei 15kHz doch noch ok oder lese 
ich das falsch?

von MaWin (Gast)


Lesenswert?

Boltz B. schrieb:
> der arduino ist nicht schnell gernug um mit den 15kHz synchron zu laufen

Hmm, ADC erfordert 13 takte, der Takt darf zwischen 50 und 200kHz 
liegen, macht 15.38kHz.
Man kann naturlich auch nur 9 oder 8 bit samplen in halber bzw. viertel 
der Zeit.

Da der Arduino einen 16 MHz Quartz hat, der Vorteiler 128 oder 64 
betragen kann, taugt 64 nur für 250kHz und somit 19kHz PWM. Der ADC 
Fehler durch die 25% mehr Takt ist sicher vernachlässigbar gegenüber dem 
INA282 Messfehler (settling time) bei der Frequenz.

von Maxim B. (max182)


Lesenswert?

Mit INA260 könnte das viel bequemer gehen. Einfach über I2C ablesen, 
mehr nicht. Messen, glättern - das macht INA260 selbst.

: Bearbeitet durch User
von Boltz B. (boltzbrain)


Angehängte Dateien:

Lesenswert?

MaWin schrieb:
> Da der Arduino einen 16 MHz Quartz hat, der Vorteiler 128 oder 64
> betragen kann, taugt 64 nur für 250kHz und somit 19kHz PWM. Der ADC
> Fehler durch die 25% mehr Takt ist sicher vernachlässigbar gegenüber dem
> INA282 Messfehler (settling time) bei der Frequenz.

jo das aber auch nur so wenn der arduino nix weiteres zwischen den 
messungen tun muss.

Maxim B. schrieb:
> Mit INA260 könnte das viel bequemer gehen. Einfach über I2C ablesen,
> mehr nicht. Messen, glättern - das macht INA260 selbst.

Der INA260 ist doch noch schlechter im glain bei 15kHz als der 
INA282...zumindest laut datasheet kack der INA260 schon ab 1kHz ziemlich 
ab.

von Udo S. (urschmitt)


Lesenswert?

Boltz B. schrieb:
> Ich hab da ein Kleines EDM Projekt.

EDM = https://en.wikipedia.org/wiki/Electronic_dance_music

SCHAKÜFI

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.