Микроконтроллеры AVR - применение и Краткий Курс - часть 10

 
1 21 22 23 24 25 38
RU Андрей Суворов #11.04.2012 22:32
+
-
edit
 

Андрей Суворов

координатор

И всё же, наверно, наступает пора АРМ-ов.
Скажите, у кого есть опыт борьбы с ними?
Совсем конкретно меня интересуют ADuC7xxx.
Но, если у кого есть опыт по другим девайсам на ARM7TDMI, с удовольствием послушаю.
 8.08.0
UA Non-conformist #16.04.2012 23:46  @Non-conformist#11.04.2012 09:05
+
-
edit
 

Non-conformist

аксакал

Прошу помощи специалистов по "Си" - таки нужно довести до ума мою интеллектуальную мигалку. ))

tinyPOV – Yet Another AVR POV Project — Volts and Bytes

Текст текущей программы прилагаю. Всё работает отлично, но нужно сделать так, чтобы поле сообщения выводилось в порт "В" только до тех пор, пока замкнут на землю соответствующий контакт маятника. Маятник добавлен мной, и нужен для того, чтобы определять момент начала вывода строки и его направление (справа налево или слева направо - чтобы при взмахе рукой в обоих направлениях строчка оставалась читаемой).

В данный момент программа написана так, что вывод содержимого памяти в порт "В" включается в момент замыкания контакта маятника на землю, и продолжается до своего конца, уже не обращая внимания на состояние маятника. Поэтому вывод строчки никак не синхронизирован с маханием рукой, в результате чего выводимые символы "бегут в воздухе" с неконтролируемой скоростью, и лишь изредка можно прочесть слово целиком.

Предлагаю такой алгоритм решения этой проблемы:

1. Контакт INT0 маятника замкнулся на землю - начался вывод строки "слева направо"
2. Рука пользователя прошла траекторию от начала взмаха "слева направо" до его конца, и начала движение в противоположную сторону
3. Нога INT0 маятника оторвалась от земли, и будучи притянута к питанию, подала в мозги "единицу" *** - вывод строки "слева направо" прекратился
4. Замкнулся противоположный контакт маятника - INT1 - начался вывод строки "справа налево"
5. Рука прошла траекторию от начала до конца взмаха "справа налево", и начала движение в противоположную сторону
6. Нога INT1 оторвалась от земли, и будучи притянута к питанию, подала в мозги "единицу" - вывод строки "справа налево" прекратился
7. См. п."1"
__________
  • Лучше, конечно, включить внутреннюю подтяжку, чтобы не паять её "соплями" - ATtiny2313.

  • зы: Хорошо было бы ещё предусмотреть задержку миллисекунд на несколько вот в этих местах:
    1. Контакт INT0 маятника замкнулся на землю - - - - - - начался вывод строки "слева направо"
    Чтобы рука успела набрать скорость. Первый символ тогда не получится съёженным по горизонтали.
    Прикреплённые файлы:
    main.c (скачать) [4,2 кБ]
     
     
    Skype: a_schabanow  
    Это сообщение редактировалось 17.04.2012 в 00:01
    RU GOGI #17.04.2012 04:57  @Non-conformist#16.04.2012 23:46
    +
    -
    edit
     

    GOGI

    координатор
    ★★★★
    Алексей, я про тебя не забыл. Нет пока времени сесть и написать. Напомни в воскресенье или понедельник, раньше точно не могу.
    1  11.011.0
    UA Non-conformist #17.04.2012 09:19  @GOGI#17.04.2012 04:57
    +
    -
    edit
     

    Non-conformist

    аксакал

    GOGI> Алексей, я про тебя не забыл.
    Христос воскресе! Ни секунды не сомневался! ))
    Skype: a_schabanow  
    UA Non-conformist #20.04.2012 16:45  @Non-conformist#17.04.2012 09:19
    +
    -
    edit
     

    Non-conformist

    аксакал

    Вопросы заземления и экранирования; разводка печатных плат:


    Skype: a_schabanow  
    Это сообщение редактировалось 20.04.2012 в 16:54
    UA Non-conformist #22.04.2012 21:17  @Non-conformist#20.04.2012 16:45
    +
    -
    edit
     

    Non-conformist

    аксакал

    GOGI> Напомни в воскресенье или понедельник, раньше точно не могу.
    Напоминаю...
    ... ... ...
    Напомнил!
    Skype: a_schabanow  
    RU GOGI #22.04.2012 21:43  @Non-conformist#22.04.2012 21:17
    +
    -
    edit
     

    GOGI

    координатор
    ★★★★
    Non-conformist> Напомнил!
    Если на работе не будет ничего экстраординарного, то займусь.
    P.S.-ты после своих экспериментов в дефайнах обратно все вернул? А то потом пойди, найди такой глюк, если у нас дефайны разные будут.
    1  11.011.0
    RU hcube #22.04.2012 21:46  @Андрей Суворов#11.04.2012 22:32
    +
    -
    edit
     

    hcube

    старожил
    ★★
    А.С.> Но, если у кого есть опыт по другим девайсам на ARM7TDMI, с удовольствием послушаю.

    Нету там ничего сложного. Принцип тот же, просто ножки чуть по другому управляются, и есть явно управляемый синтезатор частоты.

    Кстати, а в сторону AVR32 не смотрел? A Cortex M3? Второй, кагбэ, поперспективнее арма будет.
    Убей в себе зомби!  7.07.0
    UA Non-conformist #22.04.2012 22:19  @GOGI#22.04.2012 21:43
    +
    -
    edit
     

    Non-conformist

    аксакал

    GOGI> ты после своих экспериментов в дефайнах обратно все вернул? А то потом пойди, найди такой глюк, если у нас дефайны разные будут.
    Могу вывесить текущий проект - то, что сейчас прошито. Если ты про переворачивание порта вверх ногами - то всё вернул в исходное положение, поскольку никакого эффекта не поимел. В настройках проекта ничего не менял.
    Прикреплённые файлы:
     
    Skype: a_schabanow  
    +
    -
    edit
     

    Balancer

    администратор
    ★★★★★
    hcube> A Cortex M3? Второй, кагбэ, поперспективнее арма будет.

    Э... «Pentium перспективнее x86»? ;)



    Вообще, если бы применение придумал, давно бы уже взял:

    Wholesale 1pcs Leaf Maple (Cortex M3) Compatible With Arduino

    Wholesale 1pcs Leaf Maple (Cortex M3) Compatible With Arduino, buy 1pcs Leaf Maple (Cortex M3) Compatible With Arduino directly:1pcs Leaf Maple Cortex M3 Compatible With ArduinoShipping and handlingDelivery Time is approx. 10 - 20 business days to most US / UK / AU destinations.France/Spain/Germany/Eastern Europe/Brazil/South

    // www.aliexpress.com
     

     
    +
    -
    edit
     

    hcube

    старожил
    ★★
    hcube>> A Cortex M3? Второй, кагбэ, поперспективнее арма будет.
    Balancer> Э... «Pentium перспективнее x86»? ;)

    Ну, да, M3 - это ARM+. То есть у него несколько другая система команд, есть аппаратное умножение, выше максимальная частота, и еще какие-то плюсы есть.

    У меня ща пульт лежит, собранный на LPC1769 - как раз тот самый M3. Если недостаточно вычислительных возможностей AVR - то хороший следующий шаг. Дальше уже идут ARM9, а дальше - всяческие сборки типа А8.
    Убей в себе зомби!  7.07.0
    RU GOGI #23.04.2012 06:23  @Non-conformist#22.04.2012 22:19
    +
    -
    edit
     

    GOGI

    координатор
    ★★★★
    Изменено:
    Выполнен переворот символов.
    Введена задержка показа строки (на время разгона руки). Время поставлено от балды 0.05 с, сам отрегулируешь по надобности, это дефайн ShowDelay (время как обычно в тактах контроллера).
    Если все нормально, то будем делать прерывание показа строки.
    P.S.-Очень хорошо будет в данном проекте смотреться применение аксселерометра. С какой бы скоростью и частотой ты не машешь рукой, он правильно отображает строку. Но, это без меня, тут уже много кода ;)
    Прикреплённые файлы:
    main.c (скачать) [4,7 кБ]
     
     
    1  
    RU Андрей Суворов #23.04.2012 08:38  @hcube#23.04.2012 00:14
    +
    -
    edit
     

    Андрей Суворов

    координатор

    hcube>>> A Cortex M3? Второй, кагбэ, поперспективнее арма будет.
    Balancer>> Э... «Pentium перспективнее x86»? ;)
    hcube> Ну, да, M3 - это ARM+.

    Я б сказал, это не ARM вовсе :) что-то странное и гибридное.

    hcube> То есть у него несколько другая система команд,

    Thumb2, при этом оригинальную систему команд ARM он не поддерживает.

    hcube> есть аппаратное умножение, выше максимальная частота, и еще какие-то плюсы есть.

    Умножение-то и в ARM7TDMI есть, но в кортексе, говорят, есть плавающая арифметика, но это несколько не то...

    hcube> Дальше уже идут ARM9, а дальше - всяческие сборки типа А8.

    Вообще-то, ARM9 "старее", чем Cortex, но я хочу "родную" систему команд ARM, при этом, говоря о конкретном девайсе ADuC7124, у меня на кристалле есть вся периферия, которую я хочу, за исключюением MEMS-гироскопов.
     8.08.0
    UA Non-conformist #23.04.2012 10:14  @GOGI#23.04.2012 06:23
    +
    -
    edit
     

    Non-conformist

    аксакал

    GOGI> Изменено:
    ОК, большое спасибо! Проверю чуть позже.
    Skype: a_schabanow  
    UA Non-conformist #23.04.2012 12:31  @Non-conformist#23.04.2012 10:14
    +
    -
    edit
     

    Non-conformist

    аксакал

    GOGI>> Изменено:
    Инет сбоит.

    При движении с замкнутым PD2 - всё ОК! Т.е. добились именно того, что нужно: всё читаемое при правильном положении устройства в руке.

    При движении с замкнутым PD3 символы получаются вертикально отзеркаленными. Не перевёрнутыми, а именно отзеркаленными относительно горизонтальной оси.
    Skype: a_schabanow  

    GOGI

    координатор
    ★★★★
    Ну дак я ж только в одну сторону сделал зеркалирование :)
    Исправил.
    Прикреплённые файлы:
    main.c (скачать) [4,8 кБ]
     
     
    1  
    UA Non-conformist #23.04.2012 13:47  @GOGI#23.04.2012 13:24
    +
    -
    edit
     

    Non-conformist

    аксакал

    Всё работает как надо! В обе стороны!
    Skype: a_schabanow  
    UA Non-conformist #23.04.2012 14:51  @GOGI#23.04.2012 06:23
    +
    -
    edit
     

    Non-conformist

    аксакал

    GOGI> P.S.-Очень хорошо будет в данном проекте смотреться применение акселерометра. С какой бы скоростью и частотой ты не машешь рукой, он правильно отображает строку.
    Да, я думал об этом. Правда до стабилизации скорости вывода не додумался - я всего лишь хотел уйти от механических контактов. Да, действительно, ведь стабилизацию скорости/размера символов можно сделать... И чтобы вывод начинался только с какого-то порога, с которого начинается "захват видео" глазами.

    Жаль, что ты не настроен! Я бы мог спаять железо, и акселерометр есть... Заодно и паяльную пасту бы опробовал - ту, что по твоей наводке на DX выписал; позавчера только приехала. И пинцет модный-дорогой для SMD аж за семь баков - не пинцет а картинка... ))
    Skype: a_schabanow  
    UA Serge77 #23.04.2012 15:30  @Non-conformist#23.04.2012 14:51
    +
    -
    edit
     

    Serge77

    модератор

    Non-conformist> И пинцет модный-дорогой для SMD аж за семь баков - не пинцет а картинка... ))

    Можешь показать? Чем он так хорош?
    RU GOGI #23.04.2012 16:17  @Non-conformist#23.04.2012 14:51
    +
    -
    edit
     

    GOGI

    координатор
    ★★★★
    Non-conformist>И пинцет модный-дорогой для SMD аж за семь баков - не пинцет а картинка... ))
    Я для совсем мелких деталек, типо резисторов 0402 ничего лучше обычной деревянной зубочистки с чуть срезанным кончиком не нашел. Слюнявишь и тыкаешь в резистор. Прилипает, а на пасте отлипает.
    1  11.011.0
    RU GOGI #23.04.2012 16:26  @Non-conformist#23.04.2012 14:51
    +
    -
    edit
     

    GOGI

    координатор
    ★★★★
    Non-conformist> Жаль, что ты не настроен!
    Эта вещь будет уже слишком сложной и долгой для удаленной отладки. Кому-то из нас это скорее всего надоест раньше окончания :)
    1  11.011.0
    RU Ignis Caelum #23.04.2012 17:30  @Андрей Суворов#23.04.2012 08:38
    +
    -
    edit
     

    Ignis Caelum

    опытный

    ☠☠
    А.С.> Вообще-то, ARM9 "старее", чем Cortex, но я хочу "родную" систему команд ARM, при этом, говоря о конкретном девайсе ADuC7124, у меня на кристалле есть вся периферия, которую я хочу

    Все равно, Андрей, ты не правильно смотришь. :) одно дело у тебя есть кристал, а другое - что лучше подходит под решение задачи.
    Считаю плавающую точку - ключевым фактором.
    Поэтому цель - Cortex M3
    Промежуточный шаг STM32 с ядром Cortex M0 для начала. (очень доступные кристаллы).
    И так и не услышал чем плох Thumb2 (именно 2) против родного набора команд ARM.
    Лучше быть оптимистом и ошибаться, чем пессимистом, который всегда прав.  8.0.552.2158.0.552.215
    UA Non-conformist #23.04.2012 20:13  @Serge77#23.04.2012 15:30
    +
    -
    edit
     

    Non-conformist

    аксакал

    Non-conformist>> И пинцет модный-дорогой для SMD аж за семь баков - не пинцет а картинка... ))
    Serge77> Можешь показать? Чем он так хорош?
    Хорош экстерьером, качеством отделки. Приятно смотреть. А практически он хорош тем, что губки его очень остры и хорошо подогнаны друг к другу. Теперь корпус любой высоты подхватить - не проблема.

    При пайке я тоже пользуюсь спичкой с кусочком китайского нейтрального "паяльного солидола" на конце. А вот при ВЫпайке прикуривателем такой пинцет будет очень и очень кстати.
    Прикреплённые файлы:
     
    Skype: a_schabanow  
    UA Non-conformist #24.04.2012 09:36  @GOGI#23.04.2012 16:26
    +
    -
    edit
     

    Non-conformist

    аксакал

    GOGI>
    Ну так что, последний штрих вроде остался?
    Skype: a_schabanow  
    RU GOGI #25.04.2012 10:52  @Non-conformist#24.04.2012 09:36
    +
    -
    edit
     

    GOGI

    координатор
    ★★★★
    GOGI>>
    Non-conformist> Ну так что, последний штрих вроде остался?
    Прикреплённые файлы:
    main.c (скачать) [5,3 кБ]
     
     
    1  
    1 21 22 23 24 25 38

    в начало страницы | новое
     
    Поиск
    Настройки
    Твиттер сайта
    Статистика
    Рейтинг@Mail.ru