Spannung mit arduino Uno ändern

Hallo,

ich bin neu hier, ich habe mich in den IDE von arduino durchgelesen und versucht zu programmieren, was bis jetzt auch sehr gut geklappt hat. jetzt bin ich auf eine Sache gestoßen wo ich probleme bekommen habe. ich wollte mit meinem Uno ein spannung mit analogwrite() ausgeben . und zwar wenn es ein Digit hat soll er auf einen display ein Volt ausgeben hat er aber 50 digits soll er 50 V ausgeben (Display) die Spannung die aus dem Pin ausgeht sollte natüriclh höher sein als die bei einem Digit. Wie würde das am besten klappen habt ihr paar infos für mich? die variable im header soll als float deklariert werden.
da würdet ihr mir eine große hilfe sein.

analogWrite() ist kein DAC! Sondern macht PWM. Also 0V oder 5V mit variablem Puls/Pausen-Verhältnis.

Ansonsten ist deine Erklärung nicht sehr verständlich. Digits?

Du hast mehrere Möglichkeiten: Digital Analogwandler (DAC) als IC dahinter und ggf. mit einem Leistungs-OV auf die entsprechende Spannung verstärken. Per R2R Netztwerk eine echte 0-5V Analogspannung erzeugen und per Leistungs-OV verstärken. Oder mit einem RC-Glied und einem Transistor das PWM Signal glätten. So z.B. hier skizziert: Statt 12V muß man für 0-10V allerdings 10V anlegen. Habe ich mit einem 7810 erfolgreich getestet. Allerdings ist die Kennlinie nicht besonders genau. Bei PWM 127 habe ich keine 5V, sondern eher knappe 7V. Die Kennlinie lehnt sich an die Ladekurve eines Kondensators an. Könnte man per Software zwar begradigen, aber die Auflösung wird dann noch schlechter. Letztere Variante ist maximal für Dimmer und ähnliches, die ein 0-10V Analogsignal erwarten, zu gebrauchen.

@nix_mehr_frei

Falscher µC! Oder zumindest falscher Plan...

Der DUE hat 2 DAC. Alternativ gibts einige I2C und SPI DACs im Handel.

Wenn es wirklich mit einem AVR Arduino gemacht werden MUSS, dann könnte man auch einen ADC Kanal verwenden um die Last auszuregeln.

combie: @nix_mehr_frei

Falscher µC! Oder zumindest falscher Plan...

Die Frage geht doch um den UNO und nicht den DUE . Pin9 ist ein PWM-Pin.

Der PCF8591 wäre ein sehr günstiger I2C-DAC.

@1brasil1 Was willst Du machen. Grüße Uwe

laut IDE von Arduino ist bei analogwrite() 0-255 einstellbar. ich will zum Beispiel, wenn es von den 255 nur 1 eingegeben wird das er z.b 1mV am Pin ausgibt und auf dem Display anzeigt das es 1 Volt ist. gebe ich 15 ein soll 15mV am pin ausgegeben und 15V auf dem Display.

analogWrite() gibt keine variable Spannung aus! Das ist Pulsweiten-Modulation. Die Macher haben das aber in ihrem Wahn alles extrem zu vereinfachen sehr schlecht genannt und sorgen so immer wieder für Verwirrung.

Du brauchst einen externen DAC.

Wofür brauchst du die Spannung? Je nach Verwendungszweck ist PWM brauchbar bzw. gar optimal oder es muss zwingend ein echter Analogwert sein.

Serenifly: Du brauchst einen externen DAC.

Das möchte 1brasil1 doch nicht hören!

wäre es dann möglich das ich die Spannung immer gleich ausgebe und nur auf den display die 1V oder 20V ausgebe indem ich sage das die 1 von 255 mein 1 V ist? aber es sollte ein dauersignal sein , nicht das er die flanken wechselt

Was er hören will und was er machen muß um das zu erhalten was er will können ruhig 2 verschiedene Dinge sein.

Eine Auflösung von 1mV bei Vollausschlag 5V sind nicht 8 Bit sondern mehr als 12 Bit ( bei 12 Bit sind das 1,22mV)

Grüße Uwe

1brasil1: wäre es dann möglich das ich die Spannung immer gleich ausgebe und nur auf den display die 1V oder 20V ausgebe indem ich sage das die 1 von 255 mein 1 V ist? aber es sollte ein dauersignal sein , nicht das er die flanken wechselt

Du solltes mit einigen Infos rausrücken und genau beschreiben was Du machen willst. Eine Gleichspannung von 0-5V ist eine Sache aber 20 oder 50 V ist ein ganz anderer Aufwand. Dazu kommt noch welchen Strom Du brauchst.

Grüße Uwe

Auf dem Display kannst du ausgeben was du willst. Und wenn du da dreiquadrillionen Volt drauf schreibst. Das ist das geringste Problem. Es wäre sehr hilfreich, wenn du ein paar mehr Infos geben würdest. So ist es kaum möglich deine Fragen sinnvoll zu beantworten.

Nimmst du z.B. einen PCF8591 zur Hilfe, kannst du auch bequem eine analoge Spannung z:B. 10mV ausgeben. Den PCF gibt es auch auf günstigen fertigen Boards. Trotzdem bleibt die Frage, wofür du die Spannung brauchst.

1brasil1: wäre es dann möglich das ich die Spannung immer gleich ausgebe und nur auf den display die 1V oder 20V ausgebe indem ich sage das die 1 von 255 mein 1 V ist? aber es sollte ein dauersignal sein , nicht das er die flanken wechselt

Ich verstehe dich nicht!

die spannung an sich spielt eigentlich keine rolle. ich würde damit ein externen spannungswandler anschließen und die angezeigt spannung am display, an den spannugswandler ausgeben. deswegen meinte ich das der pin 1 byte für ein volt bekommt und ich mit jeweils zwei tasten die spannung erhöhen oder veringern. deswegen meinte ich mit 1 byte von den 255 , damit der controller mir immer eine andere spannug auf dem display und pin ausgbit

1brasil1: die spannung an sich spielt eigentlich keine rolle. ich würde damit ein externen spannungswandler anschließen und die angezeigt spannung am display, an den spannugswandler ausgeben. deswegen meinte ich das der pin 1 byte für ein volt bekommt und ich mit jeweils zwei tasten die spannung erhöhen oder veringern. deswegen meinte ich mit 1 byte von den 255 , damit der controller mir immer eine andere spannug auf dem display und pin ausgbit

Versteht das jemand?

ich würde damit ein externen spannungswandler anschließen und die angezeigt spannung am display, an den spannugswandler ausgeben

Was ist das für ein Spannungswandler, und wie kannst du an den etwas ausgeben?
Wenn du das konkreter beschreiben kannst, versteht eventuell jemand, was du meinst.

Dass du mit 2 Tastern eine Programmvariable, die in einem Display angezeigt wird, größer bzw. kleiner machen kannst, ist jetzt erstmal egal, das kann man sich zusammenreimen.

Der Rest macht für mich leider keinen Sinn.

uwefed: Eine Auflösung von 1mV bei Vollausschlag 5V sind nicht 8 Bit sondern mehr als 12 Bit ( bei 12 Bit sind das 1,22mV)

Grüße Uwe

ich denke das würde sowas verwirklcihen was du meintest, kann man das dann auch andere spannung einstellen per tastendruck? wenn ich zb 40mV haben will?

@ hotsystem ich will einfach eine spannung ausgeben. Die Spannung soll aber von 1mV -40 mV am pin ausgegeben werden und es soll auf dem display in Volt gezeigt werden.