я решил перестраховаться и вместо стабилизатора питаю его через оригинальный зарядник от айфона, и отнюдь не китайский, там не должно быть сбоев напряжения.
год назад у меня стояла такая же кнопка старта на предыдущей машине, просто плата была выполнена на атмеге 328 и голом стабилизаторе 7805 без фильтров и на dip компонентах. так вот, у меня там даже не было одтельной кнопки ресета, и за год пользования контроллер ни разу не подвис! а с этой более продуманной платой что происходит не могу понять :(
мне кажется что на реле надо поставить диоды, и вся система виснет из за того что два реле, у которых выводы катушек соединены вместе, коротят коллекторы обеих транзисторных ключей и котроллер не понимает который из них включать. я щас вспомнил что у меня на прошлой плате, реле со встроенными диодами были..
примерно это имею ввиду - то, что качественно получается(напряжение питания из айфоновского зарядника) не факт, что на месте нельзя испортить теми же реле.
кстати, зарядник не совсем честный источник напряжения - лучше тот же 7805.
зарядник на 2 ампера, потому то я его и использовал, одно реле отлично разогревает BC337 на 800ма, хотя у реле потребление 140ма, почему транзистор так греется?
завтра поставлю диоды на реле, и посмотрю что будет.... да, у меня два входа контроллера притянуты к земле резисторами 1ком, этого достаточно? или больше номиналы надо?
завтра поставлю диоды на реле, и посмотрю что будет.... да, у меня два входа контроллера притянуты к земле резисторами 1ком, этого достаточно? или больше номиналы надо?
если с этими номиналами работает, то пусть так и будет.
поставил на реле диоды, толку - 0. потратил весь день и в конце решил поменять транзисторы на полевики, вроде заработало, но если выключить двигатель удерживая педаль тормоза, то через секунду включится только стартер, ну а если не нажимать на тормоз при выключении, то все работает как надо. так было и раньше, проблема со скетчем?
Потому что второе число, с точки зрения компилятора С++ - это число, записанное в восьмеричной системе счисления (ведущий 0). Его значением будет 513, вот код для наглядной демонстрации: https://onlinegdb.com/ryEMajFj7
bit_is_set(sfr, bit); если bit в регистр sfr установлен, то возврат 1, иначе 0.
bit_is_clear(sfr, bit); если bit в регистр sfr очищен, то возврат 1, иначе 0.
loop_until_bit_is_set(sfr, bit); ожидание цикл до того, пока bit в регистре sfr не будет равен 1.
loop_until_bit_is_clear(sfr, bit); ожидание цикл до того, пока bit в регистре sfr не будет равен 0.
Да просто запустите компиляцию и загрузку скетча как обычно, только без подключенной ардуины. Внизу в логах будет написано про попытку загрузить hex файл в плату. В тех логах будет видно путь, где находится hex. Обычно это временная папка проекта.
Фьюз прописать. Я обычно отлаживаю программу на другой ноге и когда уверен что все в порядке и больше ничего менять не буду переписываюсь ногу на ресет. Проверяю работает или нет остальное и только потом шью фьюз, какой то из первых вроде rstdisable.
#include <avr/wdt.h>
эта библиотека уже есть в скетче... что конкретно она делает?
ресетит контроллер после двух секунд подвисания - по крайней мере так задумывалось создателями и написано в комментариях вашего(?) скетча.
в моем скетче его не было... это уже здесь подправили
в моем скетче его не было... это уже здесь подправили
так получается, что проблему аппаратного подвисания не решает?
точно так, мне приходится выключить питание контроллера, включить опять что бы он заработал
точно так, мне приходится выключить питание контроллера, включить опять что бы он заработал
есть такое авр'ы имеют привычку защёлкиваться при сбоях напряжения - не знаю чем можно победить кроме регулярного аппаратного сброса.
я решил перестраховаться и вместо стабилизатора питаю его через оригинальный зарядник от айфона, и отнюдь не китайский, там не должно быть сбоев напряжения.
год назад у меня стояла такая же кнопка старта на предыдущей машине, просто плата была выполнена на атмеге 328 и голом стабилизаторе 7805 без фильтров и на dip компонентах. так вот, у меня там даже не было одтельной кнопки ресета, и за год пользования контроллер ни разу не подвис! а с этой более продуманной платой что происходит не могу понять :(
мне кажется что на реле надо поставить диоды, и вся система виснет из за того что два реле, у которых выводы катушек соединены вместе, коротят коллекторы обеих транзисторных ключей и котроллер не понимает который из них включать. я щас вспомнил что у меня на прошлой плате, реле со встроенными диодами были..
примерно это имею ввиду - то, что качественно получается(напряжение питания из айфоновского зарядника) не факт, что на месте нельзя испортить теми же реле.
кстати, зарядник не совсем честный источник напряжения - лучше тот же 7805.
зарядник на 2 ампера, потому то я его и использовал, одно реле отлично разогревает BC337 на 800ма, хотя у реле потребление 140ма, почему транзистор так греется?
завтра поставлю диоды на реле, и посмотрю что будет.... да, у меня два входа контроллера притянуты к земле резисторами 1ком, этого достаточно? или больше номиналы надо?
завтра поставлю диоды на реле, и посмотрю что будет.... да, у меня два входа контроллера притянуты к земле резисторами 1ком, этого достаточно? или больше номиналы надо?
если с этими номиналами работает, то пусть так и будет.
здесь правильная статья по поводу питания http://www.myrobot.ru/articles/mc_stab.php
обрати внимание на схему с дросселем.
а, ресет вообще подключить напрямую к 5V через отключаемый вручную джампер.
отличная статья, буду вникать. у меня ресет и так напрямую на 5V. завтра выложу схему, может кто то знающий что нибудь исправит.
поставил на реле диоды, толку - 0. потратил весь день и в конце решил поменять транзисторы на полевики, вроде заработало, но если выключить двигатель удерживая педаль тормоза, то через секунду включится только стартер, ну а если не нажимать на тормоз при выключении, то все работает как надо. так было и раньше, проблема со скетчем?
Друзья, а подскажите пожалуйста...
ATtiny13 имеет 6 пинов на порту B
PB5 -- PB4 --PB3 --PB2 --PB1 --PB0
Почему код вида:
работает, а код вида:
не работает
DDRB = 0x9;
так работает...
если синтакс парсер потдерживет такую форму записи
Приняла. Спасибо.
да 6 порт, Вы имеете доступ к 5. Также вы можете применить PB5, возможность загрузка прошивка SPI будет отключена.
Еще вопросик...
if (PINB & (1 << 4)){
Так я првоеряю есть ли 1 на порту
как мне првоерить еть ли 0 на порту,,?
Почему код вида:
работает, а код вида:
не работает
Еще вопросик...
if (PINB & (1 << 4)){
Так я првоеряю есть ли 1 на порту
как мне првоерить еть ли 0 на порту,,?
Спасибо. (пока писала сама поняла)))
также макрос
А как скетч для Аттини13, написанный в ардуино иде, перевести в HEX формат для моделирования в протеусе?
А как скетч для Аттини13, написанный в ардуино иде, перевести в HEX формат для моделирования в протеусе?
В меню редактора, если не древний - есть соответствующий пункт, создающий HEX-файлы в папке проекта.
Скетч - Экспорт бинарного файла я естественно пробовала
Да просто запустите компиляцию и загрузку скетча как обычно, только без подключенной ардуины. Внизу в логах будет написано про попытку загрузить hex файл в плату. В тех логах будет видно путь, где находится hex. Обычно это временная папка проекта.
Благодарю
That is another example
1. Sketcth - Export compiled Binary
2. Sketcth - Show - Sketcth Folder
Опять вопрос...как использовать пин ресета как вход?
Нашла, никак (если нужно прошивать)
Можно восстановить прошивание. Нужен програматор с высоковольтным импульсом. Делается легко на коленке. В сети много схем.
Например https://habr.com/post/249967/
Спасибо. А то я прочитала что нужен программатор с высоковольтным импульсом и решила забить...а тут все просто.
А как назначить ресет портом ввода/вывода?
Фьюз прописать. Я обычно отлаживаю программу на другой ноге и когда уверен что все в порядке и больше ничего менять не буду переписываюсь ногу на ресет. Проверяю работает или нет остальное и только потом шью фьюз, какой то из первых вроде rstdisable.
А как назначить ресет портом ввода/вывода?
Фьюз RSTDISBL