Форум РадиоКот https://radiokot.ru/forum/ |
|
АЦП в AVR https://radiokot.ru/forum/viewtopic.php?f=57&t=153471 |
Страница 1 из 2 |
Автор: | ROMan2947 [ Сб мар 17, 2018 16:12:21 ] | |||
Заголовок сообщения: | АЦП в AVR | |||
Доброго дня!!! Использую переменный резистор для регулирования оборотами электродвигателя через ШИМ.Схема собрана, программа написана. Но стоит оставить систему в работе, пойти погулять вернувшись поменять обороты при касаний к ручке резистора контроллер сбрасывается. По ходу я что-то не предусмотрел в цепи АЦП.Фатальные помехи проскакивают. В даташите говорилось про кондер на ножке AREF при ИОН с AVCC. Но у меня ИОН VCC. Кроме всего этого бывают касаюсь проводов так такой разряд происходит аж передергивает.Где копать не догадываюсь... СпойлерКод: #define F_CPU 8000000UL #include <util/delay.h> #include <avr/io.h> #define OC1A 5 #define SEI 0 void TIMER_instal(void) { DDRD|=(1<<OC1A); TCCR1A=(1<<COM1A1)|(0<<COM1A0)|(0<<COM1B1)|(0<<COM1B0)|(0<<FOC1A)|(0<<FOC1B)|(1<<WGM11)|(1<<WGM10); TCCR1B=(0<<ICNC1)|(0<<ICES1)|(0<<WGM13)|(1<<WGM12)|(1<<CS12)|(0<<CS11)|(1<<CS10); } void ADC_init(void) { ADMUX=(0<<REFS1)|(0<<REFS0)|(0<<ADLAR)|(SEI<<0); ADCSRA=(1<<ADEN)|(0<<ADSC)|(0<<ADATE)|(0<<ADIE)|(1<<ADPS2)|(1<<ADPS1)|(1<<ADPS0); } int main(void) { TIMER_instal(); ADC_init(); while (1) { ADCSRA|=1<<ADSC; OCR1A=ADC; } } Добавлено after 26 minutes 46 seconds: Показания в книге и в даташите по поводу битов REFS1 и REFS0 по-моему разнятся,или я недопонимаю?
|
Автор: | dr.doc [ Сб мар 17, 2018 17:08:50 ] |
Заголовок сообщения: | Re: АЦП в AVR |
Цитата: Кроме всего этого бывают касаюсь проводов так такой разряд происходит аж передергивает. От такого МК не то, что перезапустится, а и сгореть может. Может в этом и проблема? Источник питания отвязать от сети, временно запитать от аккумулятора и т.д и т.п. |
Автор: | Dimon456 [ Сб мар 17, 2018 17:14:11 ] |
Заголовок сообщения: | Re: АЦП в AVR |
ROMan2947 писал(а): Где копать не догадываюсь... А что на вас одето? поди эластик или шерстяное?ROMan2947 писал(а): Кроме всего этого бывают касаюсь проводов так такой разряд происходит аж передергивает Антистатический браслет поможет.Заземлить придется. Да и что-то в вашем коде пропущено Код: // Start the AD conversion
ADCSRA|=(1<<ADSC); // Wait for the AD conversion to complete while ((ADCSRA & (1<<ADIF))==0); ADCSRA|=(1<<ADIF); OCR1A=ADC; |
Автор: | ROMan2947 [ Сб мар 17, 2018 17:46:15 ] |
Заголовок сообщения: | Re: АЦП в AVR |
Цитата: А что на вас одето? поди эластик или шерстяное? да было одето, потом снял, стало реже,но не перестало. Цитата: Заземлить придется. себя? ![]() Цитата: Да и что-то в вашем коде пропущено да в курсе,но на данном этапе я думаю это не кретично.Добавлено after 4 minutes 48 seconds: Цитата: От такого МК не то, что перезапустится, а и сгореть может. Может в этом и проблема? да вроде работает, не сгорел пока ![]() |
Автор: | vovksextra [ Вт мар 27, 2018 00:05:03 ] |
Заголовок сообщения: | Re: АЦП в AVR |
#define OC1A 5 #define SEI 0 круто) |
Автор: | ROMan2947 [ Вт мар 27, 2018 12:00:30 ] |
Заголовок сообщения: | Re: АЦП в AVR |
круто) так думаю круче Код: #define SEI(x) ADMUX=(0<<REFS1)|(0<<REFS0)|(0<<ADLAR)|(x<<0)
|
Автор: | BOB51 [ Вт мар 27, 2018 12:22:19 ] |
Заголовок сообщения: | Re: АЦП в AVR |
Еще проще - NE555. ![]() Насчет помех - программа на СИ уже к разрядам разного рода неустойчива. Минимальная альтернатива - изолированная рукоятка /вал потенциометра. Дальнейшее - весьма аккуратно прописанная обработка АЦП и процедура рестарта(перезагрузки) при сработках сторожевиков по BOD и WDT. ![]() |
Автор: | ROMan2947 [ Вт мар 27, 2018 12:40:32 ] |
Заголовок сообщения: | Re: АЦП в AVR |
при сработках сторожевиков по BOD и WDT. сколько слышу сторожевик сторожевик, у меня он вообще в камне не включен по-моему,по крайне мере я с ним делов не имел пока.На сколько знаю он следит за зависанием программы,но редко в каких примерах я встречал применение его... Добавлено after 9 minutes 36 seconds: программа на СИ уже к разрядам разного рода неустойчива. Как устойчивость к помехам зависит от языка программирования? ![]() |
Автор: | BOB51 [ Вт мар 27, 2018 12:57:53 ] |
Заголовок сообщения: | Re: АЦП в AVR |
И от языка (слишком много данных передается через ОЗУ), и от разновидностей семейств МК. Основная ошибка (помимо схемотехники и стандартных приемов подавления помех) не активированы сторожа по броскам питания, сбою хода исполнения программы и не проработана процедура перезапуска по сбою программы. В принципе можно заставить работать МК и при искровом разряде в шины питания... Только то уже весьма примитивная прожка может выдержать - с определенными спецограничениями на применение аппаратных и программных ресурсов МК. Схемку и фотки с монтажем приблуды покажи - первые ошибки в монтаже будут. ![]() |
Автор: | ROMan2947 [ Вт мар 27, 2018 13:27:43 ] |
Заголовок сообщения: | Re: АЦП в AVR |
Схемку и фотки с монтажем приблуды покажи разобрал схему с АЦП, есть фото ,скажем так отладочной платы. ![]() первые ошибки в монтаже будут. не сомневаюсь!
|
Автор: | BOB51 [ Вт мар 27, 2018 13:29:25 ] |
Заголовок сообщения: | Re: АЦП в AVR |
Ну дык и покажи, может чего прояснится. ![]() |
Автор: | ROMan2947 [ Вт мар 27, 2018 13:30:46 ] |
Заголовок сообщения: | Re: АЦП в AVR |
Ну дык и покажи, может чего прояснится. ![]() чет не получается загрузить ![]() |
Автор: | BOB51 [ Вт мар 27, 2018 17:59:04 ] |
Заголовок сообщения: | Re: АЦП в AVR |
Делаем фотки или сброс схемки в *.gif или *.jpeg не наглея (до 500килобайт - настройками фотика выводим). Графику можно запихнуть в img.radiokot.ru (а в сообщении только ссылка на адрес рисунка). Или же напечатать в dopdf (dopdf7 или более новую версию), предварительно установив эту полезность на компе и загрузить результат *.pdf непосредственно в сообщении. Скачать... можно тут http://www.dopdf.com или тут http://download-software.ru/dopdf.html или где еще инет покажет... ![]() |
Автор: | ARV [ Вт мар 27, 2018 18:37:03 ] |
Заголовок сообщения: | Re: АЦП в AVR |
ROMan2947 писал(а): так думаю круче вы специально решили сделать так, чтобы было больше шансов запутаться самому и запутать других? SEI - это стандартная команда разрешения прерываний для архитектуры AVR, и макрос с таким наименованием, даже набранный заглавными и с параметром, вводит в заблуждение тем более что есть "стандартный" макрос sei()...круче будет только #define TRUE FALSE |
Автор: | ROMan2947 [ Вт мар 27, 2018 18:44:32 ] |
Заголовок сообщения: | Re: АЦП в AVR |
вводит в заблуждение обозвать надо бы конечно иначе, согласен! да это первое, что пришло в голову когда думал как обозвать макрос,вот и осталось.... ![]() полагаю,кто знает что это и зачем нужен, без проблем исправит, а кто не знает, и использовать даже не будет. |
Автор: | Ярослав555 [ Вт мар 27, 2018 19:07:25 ] |
Заголовок сообщения: | Re: АЦП в AVR |
В даташите говорилось про кондер на ножке AREF при ИОН с AVCC. Но у меня ИОН VCC. Кроме всего этого бывают касаюсь проводов так такой разряд происходит аж AVCC это ножка куда подается питание аналоговой части МК. В любом случае, если на AREF не подается опора, а используется какое-то внутреннее - ДОЛЖЕН стоять конденсатор. VCC как опору в принципе использовать нельзя, только AVCC. Так что давай схему дружок, посмотрим что ты там наворотил. А дергает тебя напряжением, потому что, могу поспорить, используешь ты комповский блок питания, и понятия не имеешь что его надо заземлять, иначе на массе у него потенциал относительно земли 110В переменки. Угадал? |
Автор: | ROMan2947 [ Вт мар 27, 2018 19:24:12 ] |
Заголовок сообщения: | Re: АЦП в AVR |
могу поспорить а вот и нет питается все через USBasp и зарядник от телефона на 1А ![]() Цитата: понятия не имеешь здесь и понимать нечего, у меня в розетке уже все заземлено. ![]() |
Автор: | Ярослав555 [ Вт мар 27, 2018 19:25:40 ] |
Заголовок сообщения: | Re: АЦП в AVR |
здесь и понимать нечего, у меня в розетке уже все заземлено. ![]() ну хоть с этим порядок. тогда тащи схему, иначе пустая трата времени. должно быть вот так http://avrproject.ru/lesson/124141t54.png ну катушку можно не ставить. потенциометр тоже желательно проверить. Для теста можно его убрать, запаять делитель из двух резисторов и проверить на стабильность работы. |
Автор: | ROMan2947 [ Вт мар 27, 2018 19:29:15 ] |
Заголовок сообщения: | Re: АЦП в AVR |
В любом случае, если на AREF не подается опора, а используется какое-то внутреннее - ДОЛЖЕН стоять конденсатор. Учту,спасибо! жаль, что этот кондер не заложили аппаратно.Думаю было бы удобно) ![]() |
Автор: | BOB51 [ Вт мар 27, 2018 19:31:50 ] |
Заголовок сообщения: | Re: АЦП в AVR |
Млин... не туда положил ![]() ![]() |
Страница 1 из 2 | Часовой пояс: UTC + 3 часа |
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group http://www.phpbb.com/ |