Вот, простенькую зарядную базу забацал. Устройство понятно из фотки. Прикручивается к плинтусу в укромном месте. Благодаря черной линии, робот точно паркуется на базу. А надежный контакт обеспечивает подпружиненный бампер. В будущем планирую попробовать парковаться с помощью «
AVM Навигатора» ( тем более, что EDV мне любезно предоставил свой модуль для тестирования). Тогда можно будет отодрать изоленту с пола.
Огорчает пока только одно – периодические зависания контроллера при работе аппаратного TWI мастера. Проводил такой эксперимент: зацикливал чтение фиксированного байта данных с одного из датчиков по I2C с периодичностью 100мс. Перед циклом ожидания окончания приема/ передачи while (!(TWCR & (1<<TWINT))); зажигал светодиод, после цикла – гасил. Мигает – значит работает, горит постоянно – значит завис. Для чистоты эксперимента больше никаких операций не производилось, робот стоял, т.е. помех от моторов не было. Попробовал раз 10. Когда минут 40 проработает, когда меньше, но рано или поздно зависает. Конечно, можно включить сторожевой таймер и смирится с периодической потерей данных. Но противно. Хочется найти причину. Пробовал снижать частоту I2C шины, менять датчики – не помогает. Импульсы вроде не кривые. Может что посоветуете?