Willa
24.10.2009, 00:34
Hi!
Ich hab grad ein kleines Problem: Ich kann ohne Störungen mit meinem ATmega168 meinen RC-Empfänger auswerten (mit timer0 und Int1). Wenn ich aber drei auf I2C umgebaute Brushlessregler anschließe, bekomme ich im Empfängersignal ein Rauschen (bei einem angeschlossenem Regler wenig, bei zwei mehr, bei drei noch mehr. Auch wenn die Motoren nicht laufen). Jetzt frage ich mich woher das kommen könnte... Ich habe 10k und 5k Pullups versucht, macht keinen merklichen Unterschied.
Erstmal hier der Schaltplan zum nachvollziehen:
http://arduino.cc/en/uploads/Main/Arduino-Pro-Mini-schematic.pdf
Am M168 werden 6 ADC Pins benutzt (ADC0-ADC5), darunter auch die Pins PC4 und PC5. Diese sind offiziell aber als SDA und SCL Pins angegeben. Ich kann sie also nicht für I2C benutzen. Für i2c benutze ich nun Pind4 und d5. Wie ich auf diese Idee gekommen bin weiss ich gar nicht mehr. In Bascom kann ich ganz einfach mit dem "Config SDA & SCL = ..." jeden beliebigen Pin für i2c angeben. Aber ist das auch gut so? Oder könnten meine Probleme daher kommen? Muss ich außer dem Festlegen der SDA und SCL Pins sonst noch irgendwas einstellen?
Oder gibt es noch andere Ideen...? I2C Takt hoch-/ runtersetzen?
Hätte mich auch gewundert wenn mal was problemlos funktioniert....
Ich hab grad ein kleines Problem: Ich kann ohne Störungen mit meinem ATmega168 meinen RC-Empfänger auswerten (mit timer0 und Int1). Wenn ich aber drei auf I2C umgebaute Brushlessregler anschließe, bekomme ich im Empfängersignal ein Rauschen (bei einem angeschlossenem Regler wenig, bei zwei mehr, bei drei noch mehr. Auch wenn die Motoren nicht laufen). Jetzt frage ich mich woher das kommen könnte... Ich habe 10k und 5k Pullups versucht, macht keinen merklichen Unterschied.
Erstmal hier der Schaltplan zum nachvollziehen:
http://arduino.cc/en/uploads/Main/Arduino-Pro-Mini-schematic.pdf
Am M168 werden 6 ADC Pins benutzt (ADC0-ADC5), darunter auch die Pins PC4 und PC5. Diese sind offiziell aber als SDA und SCL Pins angegeben. Ich kann sie also nicht für I2C benutzen. Für i2c benutze ich nun Pind4 und d5. Wie ich auf diese Idee gekommen bin weiss ich gar nicht mehr. In Bascom kann ich ganz einfach mit dem "Config SDA & SCL = ..." jeden beliebigen Pin für i2c angeben. Aber ist das auch gut so? Oder könnten meine Probleme daher kommen? Muss ich außer dem Festlegen der SDA und SCL Pins sonst noch irgendwas einstellen?
Oder gibt es noch andere Ideen...? I2C Takt hoch-/ runtersetzen?
Hätte mich auch gewundert wenn mal was problemlos funktioniert....