7Upers
Специалист
Добрый день! решил поделиться с коллегами опытом - может пригодится!
У наших клиентов в коллективном гараже стоят секционные ворота под управлением CUSD-1.
Был бросок питающего напряжения, ну и как обычно бывает варистор всех (почти) спас. Я так думал.)
отмыл, проверил трансформатор- первичку - все ок
запитал без варистора - заработала
из потерь: варистор, кондер, держатель предохранителя и дроссель подкоптило, ну и сама плата
была в запасниках плата с неработающим радиоиодулем
пересадил на нее радиомодуль - все заработало
Но монтажники пожаловались, что там куча пультов ( как позднее я выяснил 43) и все их собрать для программирования естественно не получится.
Дальнейшие изыскания показали что радиомодуль сам не детектирует посылку и встроенной памяти не имеет - а передает сигнал в МК
контроллер там стоит ATMega168p и у него на борту есть 512 байт EEPROM
оказалось, что чтение и запись EEPROM не заблокировано производителем.
Но как оказалось контроллер немного пострадал и отдавать валидные данные не хотел и fuse биты 0 возвращал.
с 10-20 попытки все таки удалось слить корректные eeprom и залить его в новую плату.
на объекте все заработало.
подключался программатором usbasp по интерфейсу SPI к колодке X6
X6 распиновка
1-GND
2-MOSI
3-MISO
4-SCK
5-Reset
6-VCC (5V)
софт использовал
avrdude: Version 6.3
os Ubuntu linux 17.04
провел небольшой анализ дампа eeprom и выяснил что на каждый пульт сохраняется по 3+1 байт и меняется контрольная сумма
если нужно - могу дать больше данных по анализу дампа.
Это позволит добавить пульт - зная только его код - не имея его на руках.
У наших клиентов в коллективном гараже стоят секционные ворота под управлением CUSD-1.
Был бросок питающего напряжения, ну и как обычно бывает варистор всех (почти) спас. Я так думал.)
запитал без варистора - заработала
из потерь: варистор, кондер, держатель предохранителя и дроссель подкоптило, ну и сама плата
была в запасниках плата с неработающим радиоиодулем
пересадил на нее радиомодуль - все заработало
Но монтажники пожаловались, что там куча пультов ( как позднее я выяснил 43) и все их собрать для программирования естественно не получится.
Дальнейшие изыскания показали что радиомодуль сам не детектирует посылку и встроенной памяти не имеет - а передает сигнал в МК
контроллер там стоит ATMega168p и у него на борту есть 512 байт EEPROM
оказалось, что чтение и запись EEPROM не заблокировано производителем.
Но как оказалось контроллер немного пострадал и отдавать валидные данные не хотел и fuse биты 0 возвращал.
с 10-20 попытки все таки удалось слить корректные eeprom и залить его в новую плату.
на объекте все заработало.
подключался программатором usbasp по интерфейсу SPI к колодке X6
X6 распиновка
1-GND
2-MOSI
3-MISO
4-SCK
5-Reset
6-VCC (5V)
софт использовал
avrdude: Version 6.3
os Ubuntu linux 17.04
провел небольшой анализ дампа eeprom и выяснил что на каждый пульт сохраняется по 3+1 байт и меняется контрольная сумма
если нужно - могу дать больше данных по анализу дампа.
Это позволит добавить пульт - зная только его код - не имея его на руках.