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.
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.
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.
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
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.
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
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
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.
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.