Например TDA7294

Форум РадиоКот • Просмотр темы - Atmega8A не стартует или я туплю?
Форум РадиоКот
Здесь можно немножко помяукать :)

Текущее время: Пн дек 15, 2025 01:14:16

Часовой пояс: UTC + 3 часа


ПРЯМО СЕЙЧАС:



Начать новую тему Ответить на тему  [ Сообщений: 26 ]  1,  
Автор Сообщение
Не в сети
 Заголовок сообщения: Atmega8A не стартует или я туплю?
СообщениеДобавлено: Сб янв 13, 2024 05:04:26 
Первый раз сказал Мяу!

Зарегистрирован: Сб янв 13, 2024 04:32:14
Сообщений: 30
Рейтинг сообщения: 0
всем добрый день.сразу оговорюсь,с микроконтроллерами я имею дело чуть более 10 дней как.описываю по порядку:
есть задача МК должен менять вольтаж через ШИМ в соответствии со значениями абсолютного энкодера.задача эта давно всплыла,и когда-то один мой знакомый мне начинал помогать в её реализации.успел нарисовать мне схему,сказать через что прошивать и +\- на этом наши пути разошлись.теперь я решил закрыть задачу,и сел 1 января разбираться в этой сфере.итак,что имею на сегодняшний день:
общая схема
Изображение
дополнена резистором к каждой ноге,связанной с энкодером,и связана через общий плюс,как того требует даташит на энкодер
Изображение

проект в Proteus
Изображение

тут вместо энкодера 8-пиновый переключатель,что по моей идее для отладки хватит,мне только менять состояние пинов и смотреть на показания ШИМ

код писал в microchip studio.собственно был написан уже и обработчик значения пинов,и работа с ШИМ,осталось только написать зависимость значения ШИМ от значения пинов.на работе с ШИМ я подвис на пару дней,пока пытался понять что как работает.но написал,в протеусе работало,включая простейший диммер,если его так можно назвать,ибо я не завязывал там лампочку,а смотрел по осциллографу.
и вот решил я что пора проверить в реальном железе.прошил на реальном com порту через uniprof (шьётся нормально,потом читается из МК-всё на месте)и....ничего.после серии экспериментов по уменьшению кода программы я пришёл к совсем минималлистичному варианту

Код:
#define F_CPU 8000000UL

#include <avr/io.h>

int i,p[8],tmp,forwarded,enc_pos;

int main(void)   
{

DDRD=0x00;

DDRB&=~(1<<0); //PB0 read
DDRB|=1<<1; //PB1 write
DDRB&=~(1<<5); //PB6 read
DDRB&=~(1<<6); //PB7 read
PORTB |= 1<<1;
}


что,как я понимаю,должно привести к тупо постоянному +5V на OC1A.и ничего.питание я подаю отдельным проводом с юсб порта.тупо ноль на этой ноге.

отсюда у меня три варианта:1)или нельзя пытаться запускать МК не вытащив его из обвязки для прошивки;2)или ему кабзда;3)или я что-то упустил

подскажите пожалуйста куда дальше думать.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Atmega8A не стартует или я туплю?
СообщениеДобавлено: Сб янв 13, 2024 07:38:13 
Потрогал лапой паяльник
Аватар пользователя

Карма: 1
Рейтинг сообщений: 26
Зарегистрирован: Ср мар 09, 2016 08:07:41
Сообщений: 300
Рейтинг сообщения: 0
Цитата:
>> шьётся нормально,потом читается из МК-всё на месте
>> 1)или нельзя пытаться запускать МК не вытащив его из обвязки для прошивки;2)или ему кабзда;3)или я что-то упустил

если микроконтроллер нормально прошивается и читается, то он живой. второй вариант отпадает.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Atmega8A не стартует или я туплю?
СообщениеДобавлено: Сб янв 13, 2024 07:50:58 
Друг Кота
Аватар пользователя

Карма: 59
Рейтинг сообщений: 2218
Зарегистрирован: Чт янв 26, 2012 16:44:29
Сообщений: 19531
Откуда: Таксимо
Рейтинг сообщения: 0
Ну конечно надо отключать от обвязки

_________________
Мои поставщики запчастей с отличной репутацией
texnomag.ru
radioremont.com
pl-1.org
4ip.info
elitan.ru


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Atmega8A не стартует или я туплю?
СообщениеДобавлено: Сб янв 13, 2024 09:03:46 
Открыл глаза
Аватар пользователя

Карма: -8
Рейтинг сообщений: -43
Зарегистрирован: Ср дек 06, 2023 23:51:29
Сообщений: 51
Откуда: 48
Рейтинг сообщения: 0
sanitar_zaz, У вас, судя по рисунку монтажа, вход !RESET (вывод 1) МК подтянут через резистор 1к с общему проводу GND, а должен быть подтянут через резистор ~10к к +5В.
Так же, к входу !RESET приделан ещё какой-то резистор на 1к с неизвестным мне назначением.
Наличие конденсаторов 0,1 мкФ между 7 и 8 выводами и между 20 и 22 выводами МК обязательно.
Разбирайтесь с монтажом.

_________________
Относись к людям так, как хочешь, чтобы они относились к тебе.


Последний раз редактировалось Нефертити Вс янв 14, 2024 01:21:08, всего редактировалось 1 раз.

Вернуться наверх
 
Эиком - электронные компоненты и радиодетали
Не в сети
 Заголовок сообщения: Re: Atmega8A не стартует или я туплю?
СообщениеДобавлено: Сб янв 13, 2024 16:33:09 
Первый раз сказал Мяу!

Зарегистрирован: Сб янв 13, 2024 04:32:14
Сообщений: 30
Рейтинг сообщения: 0
Нефертити, я так думаю что схема была нарисована вот эта http://www.getchip.net/wp-content/uploa ... scheme.png
нашёл тут http://www.getchip.net/posts/delaem-com ... trollerov/

т.е. вся суть проблемы получается в том что нельзя на рабочей плате держать обвязку для прошивки?мухи отдельно,котлеты отдельно?


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Atmega8A не стартует или я туплю?
СообщениеДобавлено: Сб янв 13, 2024 17:12:23 
Открыл глаза
Аватар пользователя

Карма: -8
Рейтинг сообщений: -43
Зарегистрирован: Ср дек 06, 2023 23:51:29
Сообщений: 51
Откуда: 48
Рейтинг сообщения: 0
Можете попробовать сигнал !RESET через переключатель подключать в одном положении для прошивки МК - к обвязке программатора, в другом положении для запуска прошивки - через резистор 10к к линии +5В.

_________________
Относись к людям так, как хочешь, чтобы они относились к тебе.


Последний раз редактировалось Нефертити Вс янв 14, 2024 01:21:21, всего редактировалось 1 раз.

Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Atmega8A не стартует или я туплю?
СообщениеДобавлено: Сб янв 13, 2024 19:57:10 
Первый раз сказал Мяу!

Зарегистрирован: Сб янв 13, 2024 04:32:14
Сообщений: 30
Рейтинг сообщения: 0
Нефертити, а поясните пожалуйста,зачем для запуска подвязывать ресет на плюс?разве не достаточно его в воздухе оставить?я побегал по инету,посмотрел схемы-если я правильно понял то для запуска вообще достаточно подать + и - на соответствующие ноги.или я ошибаюсь?


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Atmega8A не стартует или я туплю?
СообщениеДобавлено: Сб янв 13, 2024 20:13:58 
Друг Кота
Аватар пользователя

Карма: 25
Рейтинг сообщений: 99
Зарегистрирован: Вс янв 24, 2010 19:19:52
Сообщений: 4468
Откуда: Главный Улей России (Moscow)
Рейтинг сообщения: 0
RESET подтянут к плюсу внутри чипа резистором с очень большим номиналом (50к или около того). Потому при наличии помех он будет спонтанно перезагружаться. Ставьте на RESET резистор на 5,1к к плюсу и одной проблемой меньше будет.
Конденсаторы на 0,1мкф около ног питания тоже обязательны. Микроконтроллер выполнен по КМОП технологии, значит там внутри полно полумостовых каскадов со сквозными токами и паразитными емкостями. Когда все это клацает на тактовой частоте, просадки в цепях питания становятся дикими, хть и очень короткими. Внешние конденсаторы непосредственно на ногах питания МК нужны для компенсации просадок внутри него.

_________________
I am DX168B and this is my favourite forum on internet!


Последний раз редактировалось DX168B Сб янв 13, 2024 20:18:05, всего редактировалось 1 раз.

Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Atmega8A не стартует или я туплю?
СообщениеДобавлено: Сб янв 13, 2024 21:55:32 
Открыл глаза
Аватар пользователя

Карма: -8
Рейтинг сообщений: -43
Зарегистрирован: Ср дек 06, 2023 23:51:29
Сообщений: 51
Откуда: 48
Рейтинг сообщения: 0
Нефертити, я побегал по инету,посмотрел схемы-если я правильно понял то для запуска вообще достаточно подать

Ну, раз Вы знаете внутреннюю организацию схемы "сброса" в ATmega8, значит, подтяжку !RESET к +5В не делайте.

Добавлено after 1 hour 37 minutes 49 seconds:
Хочется дополнить.
Вот, для STM32 в "Reference manual" есть упрощённая схема "External reset".
СпойлерИзображение

А для ATmega8 Вы что-то подобное видели?
В противном случае, всё, что Вы увидели в интернете - лишь домыслы.


Вложения:
Комментарий к файлу: STM32 External reset
Безымянный.png [27.57 KiB]
Скачиваний: 210

_________________
Относись к людям так, как хочешь, чтобы они относились к тебе.


Последний раз редактировалось Нефертити Вс янв 14, 2024 01:21:34, всего редактировалось 1 раз.
Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Atmega8A не стартует или я туплю?
СообщениеДобавлено: Сб янв 13, 2024 22:35:14 
Первый раз сказал Мяу!

Зарегистрирован: Сб янв 13, 2024 04:32:14
Сообщений: 30
Рейтинг сообщения: 0
Ну, раз Вы знаете внутреннюю организацию схемы "сброса" в ATmega8, значит, подтяжку !RESET к +5В не делайте.


процитирую себя-же из первого сообщения
Цитата:
сразу оговорюсь,с микроконтроллерами я имею дело чуть более 10 дней


поэтому если я задаю вопросы-это не с целью повыделываться,а с целью разобраться

Конденсаторы на 0,1мкф около ног питания тоже обязательны

стоит,вон и на схеме есть,я только ёмкось не подписал


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Atmega8A не стартует или я туплю?
СообщениеДобавлено: Сб янв 13, 2024 23:07:00 
Открыл глаза
Аватар пользователя

Карма: -8
Рейтинг сообщений: -43
Зарегистрирован: Ср дек 06, 2023 23:51:29
Сообщений: 51
Откуда: 48
Рейтинг сообщения: 0
AVR® Microcontroller Hardware Design Considerations
Для особо одарённых: Изображение

Добавлено after 29 minutes 4 seconds:
стоит,вон и на схеме есть,я только ёмкось не подписал

Наличие конденсаторов 0,1 мкФ между 7 и 8 выводами и между 20 и 22 выводами МК обязательно.


Вложения:
Безымянный.png [9.15 KiB]
Скачиваний: 529

_________________
Относись к людям так, как хочешь, чтобы они относились к тебе.
Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Atmega8A не стартует или я туплю?
СообщениеДобавлено: Вс янв 14, 2024 13:02:04 
Первый раз сказал Мяу!
Аватар пользователя

Зарегистрирован: Чт июн 17, 2010 07:40:31
Сообщений: 23
Откуда: Россия
Рейтинг сообщения: 0
Измените схему так. Резистор сброса на +Vcc и разверните диод, идущий с СОМ4.


Вложения:
3cellbsctx.jpg [116.59 KiB]
Скачиваний: 63
Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Atmega8A не стартует или я туплю?
СообщениеДобавлено: Пн янв 15, 2024 23:40:13 
Открыл глаза
Аватар пользователя

Карма: -8
Рейтинг сообщений: -43
Зарегистрирован: Ср дек 06, 2023 23:51:29
Сообщений: 51
Откуда: 48
Рейтинг сообщения: 0
если я задаю вопросы-это не с целью повыделываться,а с целью разобраться

Конденсаторы на 0,1мкф около ног питания тоже обязательны

стоит,вон и на схеме есть,я только ёмкось не подписал


Пока вы запитываете свой МК от импульсного БП, в котором есть хотя-бы 1 CY конденсатор, которым вы привязываете свою схему к внешней среде, потенциал 0 вашей схемы будет близок к 0, простите за тавтологию.
Как только вы перейдёте к автономному/изолированному питанию, все потенциалы начинают странным образом изменяться, и даже простое прикосновение к токоведущей дорожке платы вызывает непредвиденный эффект.
Аналогично и с сигналом !RESET.

_________________
Относись к людям так, как хочешь, чтобы они относились к тебе.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Atmega8A не стартует или я туплю?
СообщениеДобавлено: Вт янв 16, 2024 10:00:30 
Друг Кота
Аватар пользователя

Карма: 52
Рейтинг сообщений: 2114
Зарегистрирован: Пт ноя 11, 2016 05:48:09
Сообщений: 7057
Откуда: Сердце Пармы
Рейтинг сообщения: 0
Медали: 2
Получил миской по аватаре (2)
может тут без меги, простым параллельным ЦАПом обойтись проще?

А по ресету - тоже в воздухе по неопытности оставлял, теперь притягиваю... т.к. срабатывает и от наводок и от сырости

_________________
Для тех, кто не учил магию мир полон физики :)
Безграмотно вопрошающим про силовую или высоковольтную электронику я не отвечаю, а то ещё посадят за участие в (само)убиении оболтуса...


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Atmega8A не стартует или я туплю?
СообщениеДобавлено: Вт янв 16, 2024 18:39:01 
Друг Кота
Аватар пользователя

Карма: 96
Рейтинг сообщений: 1493
Зарегистрирован: Вт мар 16, 2010 22:02:27
Сообщений: 15288
Откуда: ДОНЕЦК
Рейтинг сообщения: 0
Может есть смысл для начала таки подправить сам код?
К примеру:
Спойлер
Код:
#define F_CPU 8000000UL

#include <avr/io.h>

int i,p[8],tmp,forwarded,enc_pos;

int main(void)   
{

DDRD=0x00;

DDRB&=~(1<<0); //PB0 read
DDRB|=1<<1; //PB1 write
DDRB&=~(1<<5); //PB6 read
DDRB&=~(1<<6); //PB7 read
PORTB |= 1<<1;

while(1){}

}

:roll:


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Atmega8A не стартует или я туплю?
СообщениеДобавлено: Вс янв 21, 2024 02:19:51 
Первый раз сказал Мяу!

Зарегистрирован: Сб янв 13, 2024 04:32:14
Сообщений: 30
Рейтинг сообщения: 0
всем спасибо,собрал отдельную плату,с подвязкой ресета на + и всё завелось.
BOB51, нет,и без вайла всё взлетело

Цитата:
может тут без меги, простым параллельным ЦАПом обойтись проще?


а как вы будете в цапе делать преобразование значения 8 пинов от энкодера?таблица вот в даташите есть,если что https://www.tme.eu/Document/84bf005d03e ... NS-EAW.pdf

и к тому-же,ещё у меня есть мысль добавить переключение делителя,чтоб один оборот был равен не 360 а 1:3,к примеру.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Atmega8A не стартует или я туплю?
СообщениеДобавлено: Пн янв 22, 2024 04:39:15 
Первый раз сказал Мяу!

Зарегистрирован: Сб янв 13, 2024 04:32:14
Сообщений: 30
Рейтинг сообщения: 0
у меня новый вопрос назрел :))

Код:
#define F_CPU 8000000UL

#include <avr/io.h>


int main(void)   
{
DDRD=0x00;

DDRB&=~(1<<0); //PB0 read
DDRB|=1<<1; //PB1 write
DDRB&=~(1<<5); //PB6 read
DDRB&=~(1<<6); //PB7 read
PORTB |= 0<<1;


TCCR1A = 0b10000010;
TCCR1B = 0b00011001;
ICR1=0x7D0;
OCR1A=0x00;

while (1)
{

if (PINB & (1 << PINB0))
{
 OCR1A=0x7D0;
}
else
{
 OCR1A=0x00;
}

}
}


почему не зависимо от того,есть питание на ноге PB0 или нет-всегда выполняется условие OCR1A=0x7D0; ?
что в протеусе,что в реальном железе подаёт питание на выход PB1 если проверять условие if (PINB & (1 << PINB0))
и на условие else никогда не реагирует(если поменять местами 0х00 и 0x7D0 то соответственно всегда будет 0 на выходе)
зы:если закоментить строку OCR1A=0x7D0; то питание с ноги PB1 пропадает,т.е. дело в проверке условия (PINB & (1 << PINB0))
и да,изменение записи на (!bit_is_clear(PINB,0)) не меняет ничего


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Atmega8A не стартует или я туплю?
СообщениеДобавлено: Пн янв 22, 2024 07:34:47 
Друг Кота
Аватар пользователя

Карма: 17
Рейтинг сообщений: 467
Зарегистрирован: Ср ноя 11, 2009 17:19:30
Сообщений: 5553
Откуда: Воронеж
Рейтинг сообщения: 0
Надо поставить резистор от этой ножки к земле.

_________________
"Привет!" - соврал он.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Atmega8A не стартует или я туплю?
СообщениеДобавлено: Пн янв 22, 2024 17:36:26 
Первый раз сказал Мяу!

Зарегистрирован: Сб янв 13, 2024 04:32:14
Сообщений: 30
Рейтинг сообщения: 0
Надо поставить резистор от этой ножки к земле.


внезапно.не понял.
вот проект
Изображение

мне что,все 8 ног надо ещё дополнительно резисторами обвязать?


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Atmega8A не стартует или я туплю?
СообщениеДобавлено: Пн янв 22, 2024 17:41:15 
Говорящий с текстолитом

Карма: 11
Рейтинг сообщений: 93
Зарегистрирован: Вт янв 05, 2016 10:14:25
Сообщений: 1634
Откуда: поселок Мелеуз
Рейтинг сообщения: 0
Можно включить подтяжку к плюсу
PORTB=0x01;


Вернуться наверх
 
Показать сообщения за:  Сортировать по:  Вернуться наверх
Начать новую тему Ответить на тему  [ Сообщений: 26 ]  1,  

Часовой пояс: UTC + 3 часа


Кто сейчас на форуме

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 32


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  


Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB
Extended by Karma MOD © 2007—2012 m157y
Extended by Topic Tags MOD © 2012 m157y