Liste der Anhänge anzeigen (Anzahl: 2)
So, wieder ist ein bisschen Zeit vergangen und ich habe die Schaltung nun mittlerweile endlich fertig aufgebaut.
Zum Testen kam ich allerdings noch nicht, da mir gestern die Sicherung gegangen ist, als ich ein Kabel der Schaltung um einen Kondensator gelegt habe. Seltsam war jedoch, dass der RP6 zu diesem Zeitpunkt ausgeschalten war, und das Kabel schon lang dort liegt. Erst als ich die Kabel nochmal "verfolgt" habe ist das passiert.
Da ich beim Aufbau äußerst gewissenhaft vorgegangen bin, denke ich nicht das es sich um einen Kurzschluss handelt. (Den Übeltäter sieht man unten dann noch besser (im 2. Bild))
Jedenfalls will ich euch die Schaltung nicht vorenthalten, deshalb hier ein paar Bilder:
Anbei noch eine Frage:
Die Funktionen für ADC0 und ADC1 sind, soweit ich das aus der RP6Lib gelesen habe ja schon integriert. Ich brauche nur noch mit task_ADC(); die Variablen adc0 und adc1 abfragen, richtig?
Und die Funktion der Taster wollte ich in die RP6 Lib so integrieren, hoffe ihr könnt mir sagen ob das so passt, oder ob etwas fehlt.
Zur Information: In Rückwärtsfahrtrichtung hängt der hintere rechte Bumper auf IO4. Der linke Bumper auf IO2
Code:
uint8_t getBackBumperLeft(void)
{
PORTC &= ~SL2;
DDRC &= ~SL2;
nop();
uint8_t tmp = PINC & SL2;
if(statusLEDs.LED2) {
DDRC |= SL2;
PORTC |= SL2;
}
return tmp;
}
uint8_t getBackBumperRight(void)
{
PORTB &= ~SL5;
DDRB &= ~SL5;
nop();
uint8_t tmp = PINB & SL5;
if(statusLEDs.LED5) {
DDRB |= SL5;
PORTB |= SL5;
}
return tmp;
}
und die task_Bumpers() wird so erweitert:
Code:
volatile uint8_t bumper_timer;
uint8_t bumper_left;
uint8_t bumper_right;
uint8_t bumper_back_left;
uint8_t bumper_back_right;
void task_Bumpers(void)
{
if(bumper_timer > 50) { // 50ms
uint8_t left = getBumperLeft();
uint8_t right = getBumperRight();
uint8_t backleft = getBackBumperLeft(); //NEW
uint8_t backright = getBackBumperRight(); //NEW
if(bumper_left != left || bumper_right != right || bumper_back_left != backleft ||bumper_back_right != backright) {
bumper_left = left;
bumper_right = right;
bumper_back_left = backleft;
bumper_back_right = backright;
BUMPERS_stateChangedHandler();
}
bumper_timer = 0;
}
}
PS: Auf dem Foto erkennt man das schuldige Sicherungstöterkabel recht gut: Ganz links das VDD Kabel welches um den Kondensator gewickelt ist.
Liste der Anhänge anzeigen (Anzahl: 2)
*push*
Habe jetzt neue Sicherungen, kann mir bitte nur jemand sagen ob meine Lib Anpassung so stimmt?
Danke :)
//edit: Ich habe gerade die FrontLED zur Linienverfolgung getestet und mir ist dabei aufgefallen, dass sie um einiges schwächer leuchtet, als die des Asuros. Kann mir jemand sagen warum das so ist? Laut Asuro Schaltplan wird die LED direkt über einen uC Pin (PD6) über einen 220 Ohm Widerstand angesteuert.
Bei meiner RP6 Schaltung ist es fast genauso. VDD zu 220 Ohm Widerstand zu 5mm LED rot (genauso wie beim Asuro, genauere Bezeichnungen finde ich da nicht). Einziger Unterschied, beim RP6 hab ich noch nen Transistor geschalten dessen Basis an einen IO Port angeschlossen ist, aber daran wirds wohl kaum liegen, oder?
Hoffe ihr könnt mir helfen, danke!
//edit2: Habe mal zwei Bilder zur Veranschaulichung hinzugefügt.
//edit3: Laut Multimeter fließen in beiden Fällen gute 20mA durch die rote LED. Könnte es vielleicht an diesem kleinen Zusatz "LEDs 5mm rot hell diffus" aus der Ausro Beschreibung liegen? Auf das habe ich beim Kauf der RP6 roten LED nicht geachtet :/