Перейти до змісту
  • ХАРД
  • ATmega8 проблема с USART


    Рекомендовані повідомлення

    мне есть по чём учиться(книг куча накачал) было бы время всё это читать :smile:
    Посилання на коментар
    Поділитись на інші сайти

    • 2 тижня через...

    Был недавно на радиобазаре...ничего там нету, даже галимых панелек под микросхему...

    Нету различных разьёмов. Не могу без них, не люблю впаивать навечно что либо.

    Я вобще не оч там ориентируюсь...нада будит ещё сходить подыскать max232 и разьемчики под ЖКИ на 16 пинов

     

    avreal, а ты как подключаешь програматор в схему?

    Посилання на коментар
    Поділитись на інші сайти

    Был недавно на радиобазаре...ничего там нету, даже галимых панелек под микросхему...

    http://www.remexpert.com/kardachi.htm

    Але там трохи неправильно намальовано і розписано.

    Резистори, конденсатори, дроселі, діоди-світлодіоди-транзистори, кнопки я здебільшого беру в павільйоні 9В (частина на 1 поверсі, частина - на другому, сходи всередині павільйону). Мікросхем там вибір невеликий, здається, лише трохи стабілізаторів.

     

    Мікросхеми - Імрад, на малюнку по лінку це наче мало б бути об'єднані місця 27 та 58 або просто на тому малюнку пропущено ряд. Коли ввійти з бічного входу - відразу упираєшся в їх палатку, там як правило декілька чоловік покупців в черзі, у продавців ноутбуки з базою. Панельки у них теж бувають.

     

    Різноманітні роз'єми - це в павільйоні 18В в лівій частині. Нещодавно там брав гарні (з розрізним центральним штирем) круглі на живлення.

     

    Ще великий вибір роз'ємів - Нью-Паріс біля (М) КПІ http://www.paris.kiev.ua/kontakt.htm

    В П-подібний будинок входити в арку від проспекту і вліво там десь висить переговорка, вони відкривають електрозамок, в під'їзді двері наліво. Але там не дуже люблять, якщо брати пару позицій по одній штучці :), хоча б по 5-10 штук.

     

    а ты как подключаешь програматор в схему?

    10 або 6 штирів на плату (дворядні - 2*5 або 2*3) і від адаптера STK300 або AlteraByteBlaster шлейф сантиметрів 20-30 з колодкою IDC-10 або BLD2-6 відповідно.

    Самотнє сонце

    пригортає тигра

    та пестить метелика.

    Посилання на коментар
    Поділитись на інші сайти

    Спасибо!!! Имрад РЕШАЕТ!

    Все есть что мне надо и не надо, лижбы денего хватило :D

    Молодци мужики...не думал что в Украине такие микрухи продают :)

    Особено удивился что у них есть micRF102 и micRF007 - микрухи по 8 лап; передатчик и приёмник, минимум деталей подпаиватся (пару резюков и антена) и готовое радиоуправление. Как розбагатею нада будет испробовать :)

     

    Щас химичю с COM портом, прикупил max232 собрал всё но шото МК не програмируется - похоже накрылся. Лог уровни какието страные на ногах...проверил програматор и плату всё вроди класно спаял :pardon00:

    Завтра пойду куплю МК новый и проверю...

     

    Ещё вопрос...где макетки брать двухстороние, только чтоб в отверстиях проводник был? ато не удобно что нет контакта одной стороны с другой %)

    Посилання на коментар
    Поділитись на інші сайти

    Спасибо!!! Имрад РЕШАЕТ!

    Все есть что мне надо и не надо, лижбы денего хватило :D

    Молодци мужики...не думал что в Украине такие микрухи продают :)

    Особено удивился что у них есть micRF102 и micRF007 - микрухи по 8 лап; передатчик и приёмник, минимум деталей подпаиватся (пару резюков и антена) и готовое радиоуправление. Как розбагатею нада будет испробовать :)

     

    Щас химичю с COM портом, прикупил max232 собрал всё но шото МК не програмируется - похоже накрылся. Лог уровни какието страные на ногах...проверил програматор и плату всё вроди класно спаял :pardon00:

    Завтра пойду куплю МК новый и проверю...

     

    Ещё вопрос...где макетки брать двухстороние, только чтоб в отверстиях проводник был? ато не удобно что нет контакта одной стороны с другой %)

     

     

    C МК разобрался...пашет он...то всё "#include <avr/interrupt.h>" виновата

    Посилання на коментар
    Поділитись на інші сайти

    Молодци мужики...не думал что в Украине такие микрухи продают :)

    Та вже років... хтозна... ну десять, як вони молодці. Імрад завжди був фірмою, в якій можна швиденько купити дуже багато всього і по одній штучці. Воно трохи дороржче, ніж в інших місцях, але в цих "інших" або треба замовити і довго чекати, або ще й замовляти треба коробку, і навіть те, що на складі - менше 10 штук не підходь.

     

    Ещё вопрос...где макетки брать двухстороние, только чтоб в отверстиях проводник был?

    От чого не знаю, того не знаю. У мене і зі старих запасів трохи є з металізацією (хоч і не всі гарні), і на односторонніх макетках без металізації можу паяти, а головне - я вже зовсім мало паяю, тим більше на макетках :biggrin:

     

    C МК разобрался...пашет он...то всё "#include <avr/interrupt.h>" виновата

    Так вже й цей файл винний? Що ж він таке зробив? :wink: Змінено користувачем avreal

    Самотнє сонце

    пригортає тигра

    та пестить метелика.

    Посилання на коментар
    Поділитись на інші сайти

    Почему мало паяешь? А я так напаялся за последние 4-е дня.... :biggrin:

    Значит с компа на МК всё классно приходит и распознаётся, а обратно не хочет:

    видимо не воспринимает КОМ порт те лог уровни что ему посылаются...

    Щас буду пробовать через дата-кабель от телефона...

     

    Кстати зделал как и хотел...

    Передаваемый байт сначала делится на 2 части по 4 бита и отправляется частями. Эти две части состоят из 4 старших бит адреса и самих 4 бита данных...

    Ну на приёмнике это всё клеится...Ну вобщим выходит 8 параметров передать можно в любой последовательности...

     

    Такой вопрос: где можнно купить кварц на 400 с копейками МегаГерц??? Надумал радио передатчик и приёмник склепать...кстати те разбивки пакетов делались для того чтоб передавать их по радио прямо с UART-а. Если акойто пакет "вылетит" то это не повлияет ибо не важна последовательность...

     

    шо это я тут понарасказывал? %)

     

    Забыл фотки показать...

    Посилання на коментар
    Поділитись на інші сайти

    Почему мало паяешь?

    Та так... Малося на увазі - паяю макетки. Але і нормальні плати вже не дуже хочеться паяти.

    Набридло :smile: Паяв колись макетки і разів у десять більші площею за твою (200*200мм, 250*130мм), скільки ж можна? :wink: Зараз стараюся поменше паяти (самостійно :wink:)

     

    Значит с компа на МК всё классно приходит и распознаётся, а обратно не хочет:

    видимо не воспринимает КОМ порт те лог уровни что ему посылаются...

    Щас буду пробовать через дата-кабель от телефона...

    А що йому посилається?

    До швидкості 115200 на кабелях до двох метрів довжиною, "на столі" (тобто не в цеху) і при роботі зі звичайним "десктопом" (тобто не з ноутбуком - з ними іноді фокуси бувають) - замість приймача та передавача RS232 нормально працюють інвертори 74hc14, тобто MAX232 і подібні мікросхеми не обов'язкові. Перевірено неодноразово.

     

    кстати те разбивки пакетов делались для того чтоб передавать их по радио прямо с UART-а. Если акойто пакет "вылетит" то это не повлияет ибо не важна последовательность...

    Ну, якщо так, то хай. Але я б і тоді для кожної команди зробив якийсь "антидребезг", як для кнопок роблять. Тобто якщо одна й та ж дискретна команда приходить декілька разів підряд однакова або якщо "пропорційна" команда приходить з малою різницею від попередньої - використовувати, інакше зберігати минуле значення. Для пропорційних команд кращеспробувати просту фільтрацію робити на прийомі - видавати на рульові машинки якесь середнє по декільком прийнятим кодам. Це зробить керування трохи "пригальмованим", але спотворений перешкодами байт точно не зробить протилежне тому, що хотілося.

     

    Хоча мені все ж здається, що варто серйозніше поставитися до радіоканалу, щоб його будь-який чих не збивав. Може, не напряму з UART (занадто широка смуга частот у цього "сигналу" з прямокутних імпульсів і занадто чутливий до спотворень), а якесь кодування зробити, тим же процесором щось згенерувати (грубо кажучи, "напівпрограмний модем" - у AVR ресурсів досить). Але це десь у спеціалізовані форуми терба полізти, уточнити що і як, бо я радіоканалом ніколи не займався.

     

    p.s[0] де беруть кварци вище 24мегагерц і генератори вище 90мегагерц - не знаю, не цікавився

     

    p.s[1] а я на експериментальних платах просто чотири кутових "позолочених" штирі з кроком 2,54мм паяю і "флопарний" конектор живлення беру, а не "вінчестерський".

    Самотнє сонце

    пригортає тигра

    та пестить метелика.

    Посилання на коментар
    Поділитись на інші сайти

    А що йому посилається?

    просто байты посылал одни и теже...повторно с раза 4-го только доходят.

    Ну, якщо так, то хай. Але я б і тоді для кожної команди зробив якийсь "антидребезг", як для кнопок роблять. Тобто якщо одна й та ж дискретна команда приходить декілька разів підряд однакова або якщо "пропорційна" команда приходить з малою різницею від попередньої - використовувати, інакше зберігати минуле значення. Для пропорційних команд кращеспробувати просту фільтрацію робити на прийомі - видавати на рульові машинки якесь середнє по декільком прийнятим кодам. Це зробить керування трохи "пригальмованим", але спотворений перешкодами байт точно не зробить протилежне тому, що хотілося.

     

    Хоча мені все ж здається, що варто серйозніше поставитися до радіоканалу, щоб його будь-який чих не збивав. Може, не напряму з UART (занадто широка смуга частот у цього "сигналу" з прямокутних імпульсів і занадто чутливий до спотворень), а якесь кодування зробити, тим же процесором щось згенерувати (грубо кажучи, "напівпрограмний модем" - у AVR ресурсів досить). Але це десь у спеціалізовані форуми терба полізти, уточнити що і як, бо я радіоканалом ніколи не займався.

    Учту...действительно может и не очень хорошо Уарт по радио(хотя дето слышал что работать будит)...но кстати с таким приколом что у меня когда хочешь включай, когда хочешь отключай кабель соеденительный всеравно работает без ошибок. Очень класно и удобно.

     

    Нашол я кварцы свои...магазин в 15 мин. от дома :D наверно во вторник схожу...

    Ну самое труднонаходимое нашол, осталось флорное железо пробить и желательно двухсторонюю плату и наверно уже можно будит соберать...

    наверно через линзу паять надо, ибо там микро детали :D платки по 20*26 мм

    Посилання на коментар
    Поділитись на інші сайти

    2 Томатный:

     

    Такой вопрос, может, Вы сталкивались...

    В общем, распайка Атмеги8 стандартная. Работаем с внутренним АЦП.

    При подаче на один из входов канала PA напряжения 5 В контроллер "тухнет" (к слову, при подаче напряжения ниже определенного уровня на выводах порта РD один код для светодиодов, выше - другой)

    и разогревается до весьма приличной температуры.

     

    В чем может быть причина? Контроллер новый. :dntknw00:

    Посилання на коментар
    Поділитись на інші сайти

    анука ещё раз попонятнее...

    один из входов канала PA

    У Атмеги нету порта А

    один код для светодиодов

    - что за код?

     

    может имелось в виду что на вход АЦП подаеш 5 вольт и МК тухнит? может ты не включил ацп? или дело во внутренем источнике опорного напряжения?

    Посилання на коментар
    Поділитись на інші сайти

    В общем, распайка Атмеги8 стандартная. Работаем с внутренним АЦП. При подаче на один из входов канала PA напряжения 5 В контроллер "тухнет" и разогревается до весьма приличной температуры.

    В чем может быть причина? Контроллер новый. :dntknw00:

    У мене давно не горіли мікросхеми :smile: , тому важко сказати.

    Можливі варіанти

    - не подано живлення AVCC (навряд, зазвичай забувають його підключити ті, хто не збирався працювати з АЦП)

     

    - живлення всього контроллера менше 5В

     

    - той вхід випадково зконфігурували як вихід і вивлеи низький рівень. Можна подати напругу на вхід АЦП через резистор в декілька кілоом - оцифровці він не заважатиме, а якщо щось не те з живленнями, конфігурацією портів - простим тестером буде видно що на нозі контроллера і чи рівне воно тому, що подали на резистор.

     

    Зазвичай мікросхеми починають грітися у двох випадках - на якомусь вході напруга перевищує живлення і вганяє кристал в дурний режим і коли вихід підключено на інший вихід або на землю/живлення.

    Самотнє сонце

    пригортає тигра

    та пестить метелика.

    Посилання на коментар
    Поділитись на інші сайти

    просто байты посылал одни и теже...повторно с раза 4-го только доходят.

    Дивно. Якщо рівні напруг не ті, то зовсім не доходитиме або то так, то ні.

    "з 4-го разу" - це після ввімкнення, а далі все нормально?

     

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

    Та знаю, сам колись давно таке робив, причому на мікросхемах логіки (серія K561, аналог CD4000B), а не на мікроконтроллері :biggrin: Тільки у мене 3 біти були під номер і 5 даних, 8 байтів по кругу.

    Але тут теж уважно треба. У мене "пропорційні" сигнали були 5-бітові і кожен передавався в окремому байті.

    Якщо 8-бітовий аналоговий сигнал передавати двома напівбайтами, то можлива така штука.

    Хай був код 0x1F, передавався, наприклад, як 4-й та 5-ий байти у вигляді 0x4F, 0x51

    Тепер одночасно виникла перешкода для сигналу і на пульті посунули трохи джойстик і код став 0x20, повинно передаватися як 0x40, 0x52. Але через перешкоди прорвався лише байт 0x52, а 0x40 пропав, а потім ще на декілька секунд пропало все.

    Якщо на прийомі просто в змінну записувати старший або молодший напівбайт залежно від його номеру, то ці декілька секунд буде код 0x2F, складений з молодшого напівбайта попереднього коду та старшого від нового коду. Тобто дещо в півтора рази більше, ніж треба. Тому я й кажу, що при передачі без CRC на пакет потрібна хоча б фільтрація - цей код 0x2F утвориться один раз, а коли перешкода зніметься, то складатимуться нормальні байти 0x20, навіть проста фільтрація 0x2F викине зовсім або сильно зменшить його вплив.

    Самотнє сонце

    пригортає тигра

    та пестить метелика.

    Посилання на коментар
    Поділитись на інші сайти

    - той вхід випадково зконфігурували як вихід і вивлеи низький рівень. Можна подати напругу на вхід АЦП через резистор в декілька кілоом - оцифровці він не заважатиме, а якщо щось не те з живленнями, конфігурацією портів - простим тестером буде видно що на нозі контроллера і чи рівне воно тому, що подали на резистор.

     

    Зазвичай мікросхеми починають грітися у двох випадках - на якомусь вході напруга перевищує живлення і вганяє кристал в дурний режим і коли вихід підключено на інший вихід або на землю/живлення.

     

     

    Склоняюсь к варианту, что сконфигурирован, как выход...

    Или не так распаян для работы с АЦП...

    Хотя все работало на AT90S8535...

    Питание - 5В. (беру от компьютера)

     

    Пошел смотреть схему...

    Спасибо. :bye:

    Посилання на коментар
    Поділитись на інші сайти

    У Атмеги нету порта А

     

    Ну, несколько неточно выразился... Да... порт PC. Я имел ввиду, что на АЦП (ADC0..5)

    может имелось в виду что на вход АЦП подаеш 5 вольт и МК тухнит?

    Да.

    может ты не включил ацп?

    Все включено.

    или дело во внутренем источнике опорного напряжения?

    Он от внешнего запитывается...

    Ладно. Не буду морочить Вам голову, а пойду даташит внимательно почитаю да разводку платы посмотрю... :bye:

    Посилання на коментар
    Поділитись на інші сайти

    Все включено.

    Склоняюсь к варианту, что сконфигурирован, как выход...

    Ну я на это и намекал...щас прикреплю обучалку С. Рюмика мож поможет настроить АЦП.

    ----------------------------------

    Дивно. Якщо рівні напруг не ті, то зовсім не доходитиме або то так, то ні.

    "з 4-го разу" - це після ввімкнення, а далі все нормально?

    При нажатии кнопки на передатчике должен передаваться байт в комп...а у меня надо клацать кнопку раза 4 чтоб байт дошол(повторная передача имеется ввиду)...то доходит то нет...

    ---------------------------------

    Та знаю, сам колись давно таке робив, причому на мікросхемах логіки (серія K561, аналог CD4000B), а не на мікроконтроллері Тільки у мене 3 біти були під номер і 5 даних, 8 байтів по кругу.

    Але тут теж уважно треба. У мене "пропорційні" сигнали були 5-бітові і кожен передавався в окремому байті.

    Якщо 8-бітовий аналоговий сигнал передавати двома напівбайтами, то можлива така штука.

    Хай був код 0x1F, передавався, наприклад, як 4-й та 5-ий байти у вигляді 0x4F, 0x51

    Тепер одночасно виникла перешкода для сигналу і на пульті посунули трохи джойстик і код став 0x20, повинно передаватися як 0x40, 0x52. Але через перешкоди прорвався лише байт 0x52, а 0x40 пропав, а потім ще на декілька секунд пропало все.

    Якщо на прийомі просто в змінну записувати старший або молодший напівбайт залежно від його номеру, то ці декілька секунд буде код 0x2F, складений з молодшого напівбайта попереднього коду та старшого від нового коду. Тобто дещо в півтора рази більше, ніж треба. Тому я й кажу, що при передачі без CRC на пакет потрібна хоча б фільтрація - цей код 0x2F утвориться один раз, а коли перешкода зніметься, то складатимуться нормальні байти 0x20, навіть проста фільтрація 0x2F викине зовсім або сильно зменшить його вплив.

    Передаем 0x2F к примеру. Посылаем старший полубайт 0x12 ...адрес 1 - записываем флаг что полубайт дошол....приходит второй байт 0x2F: если адрес 2 и установлен флаг что первый байт пришол - склеиваем и стираем флаг....

     

    Тоесть если старшый полубайт будит теряться то вобщ пофиГ, а если второй вдруг потеряется, а флаг уже записан, то он стирается при получении следующий байтов с адресами больше 3...

    Чем больше передаем тем больше надежность...

     

    Единственый вариант ошибки - получили полубайт с адресом 1, флаг записался!...все остальное потерялось и по второму кругу потерялся полубайт с адресом 1 (тоесть в буфере остались старые даные) и нормально дошол полубайт с адресом 2...при склеивании выполняется условие и получаем неверный байт данных...

     

    Ну так вот...

    а потім ще на декілька секунд пропало все.

    можно это решить как-то с помощью таймера........хотяб для контроля одного кактого-то байта...

    ---------------------------------

    На щет радиомодулей...я уже писал но тему чючють подчистили...купил ПАВ резонатор на 433 мегагерц и транзисторы...такое все маленькое даж не знаю как паять...плату уже начертил осталось докупить кандеров и резисторов СМД тоже и всякими утюжными методами перенети дорожки на плату и вытравить :D это наверно нескоро будит.... пока найду ту пленку что в утюжном методе исп... :)))

    Змінено користувачем Томатный
    Посилання на коментар
    Поділитись на інші сайти

    • 4 тижня через...
    :blink:
    Посилання на коментар
    Поділитись на інші сайти

    ×
    ×
    • Створити...

    Важлива інформація

    Використовуючи цей сайт, Ви погоджуєтеся з нашими Умови використання, Політика конфіденційності, Правила, Ми розмістили cookie-файлы на ваш пристрій, щоб допомогти зробити цей сайт кращим. Ви можете змінити налаштування cookie-файлів, або продовжити без зміни налаштувань..