kolisson
19.06.2009, 01:07
hallo ihr lieben,
ich finde ja, dass mein nachmiottag sehr aufschlussreich war. zunächst messtechnisch und dann beim erneuten .. und genauen .. lesen eines datenblattes vom CD4067.
der anfang der geschichte ist eigentlich sehr einfach:
ich habe mir ein netzteil mit einigen zusatzfunktionen gebaut und benutze den atmel Micro hauptsächlich als Panel-meter. er zeigt mir halt auf dem display die eingestellte spannung (voltmeter) , den vorgewählten maximalstrom und den aktuellen strom an.
da dieses netzeil auch noch das gleiche für negative spannungen kann und ich zusätzlich noch eine akkuanordnung mit ladereglern (sozusagen USV ähnlich) im system habe musste ich eigentlich sehr viele analogwerte überwachen. im endeffekt komme ich nun auf 13 analog ... also adc-kanäle eines mega32.
da der m32 nur 8 kanäle hat, kam ich auf die vermeintlich geniale idee, eine Cd4067 einzusetzen, der 16 anlogkanäle auf einen gemeinsamen ausgang durchschalten kann. gleichzeitig wurden ja auch so weitere 7 ports am mega frei, da ich ja für die adc geschichten nur einen eingang am mega benötigte.
nu hatte ich das auch alles so aufgebaut und es gab noch einige kleinigkeiten in der hardware zu lösen. deshalb habe ich dem schwanken der spannungsanzeige im display um vielleicht 20mV zunächst keine bedeutung beigemessen.
nachdem nun meine software gestern soweit erstmal akzeptabel war, wunderte ich mich dann schon über die schwankungen.
ein blck in das geschehen mit dem oszilloskop , den ich dann heute machte, offenbarte , dass es sich keinesfalls um einige 10mV hadelte. das schien nur so, da ich die messwerte über 16 messwerte mittele.
die ausgangsspannung am ausgang meines geregelten und stabilisierten netzteiles brachen etwa im sekundentakt um bis zu 90% ein.
es waren noch nichteinmal immer sekunden und es war sehr sehr unregelmässig.
ein betrieb des netzteiles ohne die mega32-einheit gab allerdings gewissheit darüber, dass da netzteil gut arbeitet.
einige stunden der gezielten messung ergaben dann... "!der 4067 injezirt irgenein signal in meine spannungsregelung des netzteiles"
nunja.. dafür sind die dinger ja bidirektional.
ich dachte also nun, dass beim umschalten des mux eine ladung im mux oder am eingang des atmel irgendwie zurückwirkt. das spezielle problem in meiner schaltung war hier , dass eine meiner messungen über den mux, der ausgang meiner high-side strommessung war, die gleichzeitig aber netzteilintern für die strombegrenzug verwendet wurde.
ein rückinjektion von störungen durch den 4067 war natürlich fatal.
der einsatz vom impedanzwandlern (opamps) löste das problem.
die verwendung des Inhibit-eingangs des 4067 oder warteschleifen im programm verbesserten die lage nicht.
als ich dann alles fertig hatte, und mich entspannte, las ich das datenblatt vom 4067 erneut.
plötzlich viel mir ein absatz auf, der sich stark mit meinen erkenntnissen deckte:
dort heisst es unter "Special considerations" , dass es wohl keine klaren schaltzustände gibt und sich die einzelnen kanäle im umschaltmoment überlagern werden
das ist natürlich tragisch, wenn man das nicht erwartet und man die spannung in einem servokreis messen will.
OKAY .. ich habs geschafft, wollte aber auf die fussfalle hinweisen.
zudem frag ich ab jetzt natürlich, ob die neueren analogmuxe genauso ticken.
ich werde es nie vergessen
gruss klaus
ich finde ja, dass mein nachmiottag sehr aufschlussreich war. zunächst messtechnisch und dann beim erneuten .. und genauen .. lesen eines datenblattes vom CD4067.
der anfang der geschichte ist eigentlich sehr einfach:
ich habe mir ein netzteil mit einigen zusatzfunktionen gebaut und benutze den atmel Micro hauptsächlich als Panel-meter. er zeigt mir halt auf dem display die eingestellte spannung (voltmeter) , den vorgewählten maximalstrom und den aktuellen strom an.
da dieses netzeil auch noch das gleiche für negative spannungen kann und ich zusätzlich noch eine akkuanordnung mit ladereglern (sozusagen USV ähnlich) im system habe musste ich eigentlich sehr viele analogwerte überwachen. im endeffekt komme ich nun auf 13 analog ... also adc-kanäle eines mega32.
da der m32 nur 8 kanäle hat, kam ich auf die vermeintlich geniale idee, eine Cd4067 einzusetzen, der 16 anlogkanäle auf einen gemeinsamen ausgang durchschalten kann. gleichzeitig wurden ja auch so weitere 7 ports am mega frei, da ich ja für die adc geschichten nur einen eingang am mega benötigte.
nu hatte ich das auch alles so aufgebaut und es gab noch einige kleinigkeiten in der hardware zu lösen. deshalb habe ich dem schwanken der spannungsanzeige im display um vielleicht 20mV zunächst keine bedeutung beigemessen.
nachdem nun meine software gestern soweit erstmal akzeptabel war, wunderte ich mich dann schon über die schwankungen.
ein blck in das geschehen mit dem oszilloskop , den ich dann heute machte, offenbarte , dass es sich keinesfalls um einige 10mV hadelte. das schien nur so, da ich die messwerte über 16 messwerte mittele.
die ausgangsspannung am ausgang meines geregelten und stabilisierten netzteiles brachen etwa im sekundentakt um bis zu 90% ein.
es waren noch nichteinmal immer sekunden und es war sehr sehr unregelmässig.
ein betrieb des netzteiles ohne die mega32-einheit gab allerdings gewissheit darüber, dass da netzteil gut arbeitet.
einige stunden der gezielten messung ergaben dann... "!der 4067 injezirt irgenein signal in meine spannungsregelung des netzteiles"
nunja.. dafür sind die dinger ja bidirektional.
ich dachte also nun, dass beim umschalten des mux eine ladung im mux oder am eingang des atmel irgendwie zurückwirkt. das spezielle problem in meiner schaltung war hier , dass eine meiner messungen über den mux, der ausgang meiner high-side strommessung war, die gleichzeitig aber netzteilintern für die strombegrenzug verwendet wurde.
ein rückinjektion von störungen durch den 4067 war natürlich fatal.
der einsatz vom impedanzwandlern (opamps) löste das problem.
die verwendung des Inhibit-eingangs des 4067 oder warteschleifen im programm verbesserten die lage nicht.
als ich dann alles fertig hatte, und mich entspannte, las ich das datenblatt vom 4067 erneut.
plötzlich viel mir ein absatz auf, der sich stark mit meinen erkenntnissen deckte:
dort heisst es unter "Special considerations" , dass es wohl keine klaren schaltzustände gibt und sich die einzelnen kanäle im umschaltmoment überlagern werden
das ist natürlich tragisch, wenn man das nicht erwartet und man die spannung in einem servokreis messen will.
OKAY .. ich habs geschafft, wollte aber auf die fussfalle hinweisen.
zudem frag ich ab jetzt natürlich, ob die neueren analogmuxe genauso ticken.
ich werde es nie vergessen
gruss klaus