![]() ![]() INFO - FAQ - CC2-Forum - CCPro-Forum |
|
Hallo zusammen, der QB8-Controller, auf dem die Open-Midi und Open-Macro basieren, besitzt eine interne BANDGAP-Spannungsreferenz. Sie kann genutzt werden, um die Betriebsspannung zu überwachen. Der folgende Sourcecode demonstriert, wie auf der Open-Macro die aktuelle Betriebsspannung als Kommazahl auf der seriellen Schnittstelle ausgegeben werden kann. Außerdem werden zwei Möglichkeiten vorgestellt, mit denen eine Multiplikation mit der Kommazahl 1.25 durchgeführt wird. ' --------------------------------------------------------------------------- ' Interne BANDGAP-Spannungsreferenz auf der Open-Macro nutzen ' In OCBASIC 1.08a von Dietmar Harlos am 5. April 2012 ' --------------------------------------------------------------------------- INCLUDE "omac.def" DIM w1, w2 WORD DIM z BYTE DEFINE BANDGAP AD[15] 'BANDGAP REF (typ. 1.245 Volt +/- 6%) DEFINE VREFH AD[18] 'VREFH (VDD, Betriebsspannung) ADCLK=&b00110110 'AD-Wandler auf 10 Bit umschalten WHILE TRUE PRINT "AD[15]=BANDGAP REF=";BANDGAP PRINT "AD[18]=VREFH=";VREFH ' Die aktuelle Betriebsspannung kann mit folgender Formel ermittelt werden: ' UB = 1.245 * VREFH / BANDGAP ' Hier wird der Einfachheit halber mit 1.25=5/4 statt 1.245 multipliziert: ' UB = (5*VREFH) / (4*BANDGAP) w1=5*VREFH 'auch möglich: w1=VREFH+(VREFH SHR 2) w2=4*BANDGAP ' w2=BANDGAP ' Jetzt die aktuelle Betriebsspannung als Kommazahl ausgeben: PRINT "Betriebsspannung: ";w1/w2;"."; FOR z=1 TO 4 w1=(w1 MOD w2)*10 PUT w1/w2+ASC("0") NEXT z PRINT " Volt (+/- 6%)" PAUSE 25 WEND Viel Spaß mit den OM-Controllern Dietmar Meine Homepage: http://ccintern.dharlos.de |
Antwort schreiben |