A bachelor project in electronics at Linköping University. The finished product will be a robotic arm on wheels that will follow a line on the floor and reorganize objects it encounters along the track.
Det här verkar vara någon sorts bussorgie med flera enheter inblandade. Jag har suttit i sex timmar med följande bugg utan att hitta någon lösning:
(Detta är på senaste PC-interface för Sensor, chassi & komm, arm-manual-movement för Armen.)
När jag låter roboten köra linjeföljning under vanlig tävlingsrutin och samtidigt låter kommunikationsenheten göra utskick på bussen händer det då att det verkar bli krockar på bussen, och den hänger sig i ett läge där SDA är låg och SCL är en fyrkantsvåg med period 21 mikrosek och en duty cycle på 66.7%. Det verkar inte spela någon roll vilka utskick kommunikationsenheten gör, jag har prövat med nödstoppsmeddelanden som skickas automatiskt tills det krockar, jag har prövat att klicka några gånger på en styrknapp i gränssnittet tills buggen uppstår, och jag har försökt med armkommandon som förvisso inte fungerar men ändå skickas över bussen - med samma resultat.
Följande har jag observerat genom att debugga enheterna och bryta exekveringen när buggen uppstått, och genom att reseta dem i olika ordning:
Komm-enheten fastnar på rad 69 i bus.c, "Wait for TWINT to go high".
Sensor verkar inte fastna någonstans utan ad-omvandlar linjesensorn för fullt som vanligt.
Chassi verkar fastna någonstans, det är dock oklart var. Timer-interruptsen för att uppdatera styrningen körs inte längre och när jag avbryter exekveringen står den alltid på while(1)-satsen i main-funktionen.
Armen verkar inte vara iblandad alls, utan snurrar på i sin while-loop.
Resetas Chassit påverkar inte bussen.
Resetas sensor upphör SCL att röra sig och går hög. Här måste både Komm och Chassi resetas för att bussen och alla annat ska bli normalt igen.
Resetas komm/arm-knappen händer olika saker varje gång:
-- Allt kan återgå till det normala.
-- SCL går hög igen som när sensor resetas. Armen rör sig i sin startdans. Resetas både chassi och sensor här går allt tillbaka till normalt. (oberoende av ordning, enskilt har de ingen effekt mer än att hjulen stannar när chassi resetas)
-- Både SDA och SCL går låga. Armen rör sig i sin startdans. Resetas chassi här går allt tillbaka.
Det här blockerar för närvarande möjligheten att uppfylla prio-1-kravet att roboten ska stanna automatiskt när kontakten förloras, så att hitta en lösning borde prioriteras väldigt högt!
Det här verkar vara någon sorts bussorgie med flera enheter inblandade. Jag har suttit i sex timmar med följande bugg utan att hitta någon lösning: (Detta är på senaste PC-interface för Sensor, chassi & komm, arm-manual-movement för Armen.)
När jag låter roboten köra linjeföljning under vanlig tävlingsrutin och samtidigt låter kommunikationsenheten göra utskick på bussen händer det då att det verkar bli krockar på bussen, och den hänger sig i ett läge där SDA är låg och SCL är en fyrkantsvåg med period 21 mikrosek och en duty cycle på 66.7%. Det verkar inte spela någon roll vilka utskick kommunikationsenheten gör, jag har prövat med nödstoppsmeddelanden som skickas automatiskt tills det krockar, jag har prövat att klicka några gånger på en styrknapp i gränssnittet tills buggen uppstår, och jag har försökt med armkommandon som förvisso inte fungerar men ändå skickas över bussen - med samma resultat.
Följande har jag observerat genom att debugga enheterna och bryta exekveringen när buggen uppstått, och genom att reseta dem i olika ordning:
-- Allt kan återgå till det normala. -- SCL går hög igen som när sensor resetas. Armen rör sig i sin startdans. Resetas både chassi och sensor här går allt tillbaka till normalt. (oberoende av ordning, enskilt har de ingen effekt mer än att hjulen stannar när chassi resetas) -- Både SDA och SCL går låga. Armen rör sig i sin startdans. Resetas chassi här går allt tillbaka.
Det här blockerar för närvarande möjligheten att uppfylla prio-1-kravet att roboten ska stanna automatiskt när kontakten förloras, så att hitta en lösning borde prioriteras väldigt högt!
Hjälp mig Åbi-Vann Kenåbi. Nu ska jag sova.