Главная » Статьи » Proton PICBasic |
Используемый контроллер - PIC12F675 (сначала я делал под 12F629, но оказалось, их у меня уже не осталось, все использовал). Они отличаются только наличием в 675 модуля АЦП. Я его просто выключил (пока выключал, мне пришла идея, что АЦП можно было использовать для измерения уровня заряда аккумулятора для замка). Мне не понадобился аккумулятор, поскольку на заводе всегда есть электричество, потом я использую замок на 24 вольта, и, тем более, планируется использовать его только днем, а на ночь, когда никого нет, закрывать на обычный замок. Замок взят от домофона (был в наличии). Вообще все сделано из подножного материала. Итак:
IButton это микросхема, помещенная в стальной корпус, своим видом напоминающий таблетку. В этой микросхеме лазером записан уникальный код, состоящий из 8 байт. 1-й байт - это идентификатор семейства микросхем Dallas Semiconductor. В нашем случае он равен 1(в случае DS18B20 он равен, по-моему, $28. Не помню сейчас). Байты со второго по 7 занимает уникальный код из 48 бит (8 бит x 6 байт), который может составить более чем 280 трлн. комбинаций, что исключает повторяемость и представляет надежность в использовании. 8-й байт содержит контрольную сумму для проверки правильности считывания. Мы не будем его использовать. Я вижу прибор так - снаружи - порт под ключ и все(за отсутствием покупного, я сделал его сам из металлической пластины с отверстием диаметром 17мм. Внутри этого отверстия, изолированно от его краев, вогнал болт под звездочку со сточенной головкой и ко всему этому подвел два проводка). Внутри помещения - сам девайс, блок питания, блок управления и кнопка открытия изнутри(как, собственно и работает замок домофона). Вот, собственно, схема прибора:
Эта схема была разработана буквально за полчаса, с учетом всех корректировок(и программных и схемных). В это же время я писал программу. На виртуальное создание ушло в целом около 3 часов. На изготовление законченного устройства еще часа 4, поскольку дело было на работе, где меня постоянно отвлекают(мешают отдыхать, в общем). Прибор позволяет записать 5 ключей. При желании, это число можно увеличить. Пусть это будет вашим домашним заданием. Если не получится самим, то обращайтесь. Обсуждение - в форуме.Итак, открываем Proton IDE и пишем программу(если кто-то не умеет писать, можно просто скопировать отсюда).
Так, программа окончена. Берем программатор SmartProg 2: (если у кого-то его нет, то берем другой :)) ) и зашиваем микроконтроллер. Все просто. Разводим плату(я это делаю прямо в Ares - меня устраивает). Потом берем утюг и лазер. Ой, лазерный принтер. Делаем плату. У меня это происходило так: После этого берем самодельный сверлильный станок, собранный из списанного лабораторного медицинского микроскопа и сверлим технологические отверстия(а не дырочки, как многие, наверное, подумали). Опять же, если кто-то вдруг не имеет такого станочка, то можно воспользоваться тем, что есть под рукой. У меня, например, в гараже лежит микродрелька, но пользоваться ей неудобно, да и слабо тянет. В результате всех этих манипуляций получается такая платка, которую я делал, собственно, под такую коробочку: Я взял простую распределительную коробку и засунул все туда. На двери повесил все так: Замечательно! Все работает. Если у кого-то что-то не работает или если есть вопросы, задаем в форуме. Все исходники - здесь. Для удобсвтва, я вложил туда даташит на 12F629/675 на русском языке. Надеюсь, вам понравилась статья и вы откликнетесь и добавите что-нибудь из собственной коллекции. Спачибо за внимание. PS: Одно замечание: стабилизатор на 12 В греется и довольно неплохо, поэтому, рекомендую использовать либо токоограничивающий резистор(думаю, поможет), либо радиатор, либо промежуточный стабилизатор вольт на 18. PPS: Сначала кнопка планировалась срабатывать по прерыванию на INT, но сколько я ни бился, периодически открывание двери https://dveri-vivaldi.ru/ происходило при простом касании даже минуса схемы, не говоря уже о центральном контакте порта ключа. Голову сломал, как прерывание срабатывает, ничего так и не надумал. И осциллографом смотрел и не осциллографом. Реально программа уходила в прерывание и там разрешала открытие, причем иногда два раза подряд. В итоге решил, что простая проверка в цикле основной программы будет самое то. В данный момент программа полностью работоспособна. PPPS: В итоге на разработку ушло больше времени, чем я написал выше. | |||||
Просмотров: 18061 | Комментарии: 5 | | |
Всего комментариев: 5 | |||||
| |||||