lundi 2 février 2015

Arduino : unterschiedliche Betriebspannungen von Modulen und Sensoren

Unter den Arduino-Modulen , Breakouts und Bauelementen werden oft unterschiedliche Betriebsspannungen (zumeist V_Betrieb = 5 Volt oder 3 Volt) und damit zusammenhängend logische Signalpegel ( logisch 0 <= 1/3 * V_Betrieb , logisch 1 >= 2/3 * V_Betrieb ) verwendet.

Nicht alle Module können daher mit allen Breakouts/Sensoren ohne spezielle Interfaceschaltungen (levelshifter, z.B. für I2C - Bus : #ADA00757 oder äqivalente diskrete Eigennachbauten ) zusammenarbeiten :



Arduino UNO R3, Arduino Nano, Arduino Mini 05, Arduino Pro Mini verwendet 5 Volt Betriebsspannung ,

so benötigt z.B. der RGB Sensor #ADA01356 3 V Betriebspannung und kann daher nicht direkt an einem Arduino UNO R3 betrieben werden.

Es gibt allerdings auch eine steckboard-freundliche Version dieses Sensors (#ADA1334) , der die erforderlichen Levelshifter bereits auf seiner Patine enthält.



Die meisten Sensoren haben bereits das I2C Interface am Chip (http://ift.tt/1tUKgAr , http://ift.tt/wjRori ) integriert, die digitalen Messwerte können aus entsprechenden Registern über den I2C-Bus dieser Bauelemente bereits ausgelesen werden und müssen nicht erst durch den Controler selbst digitalsiert werden.

Allerdings können I2C Pins (SDA, SCL) von Modulen/Sensoren mit unterschiedlichen Betriebspannungen nicht unmittelbar miteinander verbunden werden.

SDA und SCL sind Leitungen mit OpenCollector oder OpenDrain Ansteuerung und benötigen Pullup-Widerstände auf die jeweilige Betriebsspannung.

Zur Anpassung der Logiklevels dieser Leitungen ist ein eigener "I2C-geeigneter" Levelshifter ( z.B. #ADA00757 ode Eigenbau ) erforderlich.





Arduino : unterschiedliche Betriebspannungen von Modulen und Sensoren

Aucun commentaire:

Enregistrer un commentaire