chip_1

Ищется энтузиаст по программированию для AVR

20 сообщений в этой теме

chip_1    0

Для коптера делаем контроллер для автополета на ардуине. Но не можем совладать с калибровкой внешнего компаса. 

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

Компас классический HMC5983, подключается по I2C. Но при его использовании ближе к югу или северу начинает показания резко менять, получается так называемый "эллипс" а не круг. 

Контроллер найду, прошью, но с программированием на AVR вообще никак ((.

В итоге должна получится железка, на входе компас, на выходе готовый сигнал после поправок. И кнопка начала калибровки. Т.е. по ее нажатию, надо крутануть компас вокруг своей оси.
Проект не коммерческий, для себя, если кто хочет внести свой небольшой вклад, буду очень рад! Спасибо!

С меня пивасик! )

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Быстрый заказ печатных плат

Полный цикл производства PCB по низким ценам!

  • x
    мм
Заказать Получить купон на $5.00
BARS_    623
15 минут назад, chip_1 сказал:

с программированием на AVR вообще никак

Да ну. А ардуйня не AVR? Бросайте свою ардуйню и делайте проект на нормальном железе.

  • Лайк 1

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
chip_1    0

Да согласен, но на железе надо изучать эту тему с нуля. 

Я занимаюсь по электронике, железную часть работы выполнил.  Брат программист, на ардуине он может, но прогрммирование самого чипа уже другое грит направление... Занимаемся между основной работой, поэтому лишнего времени на изучение этой "ветки" программирования нет..  

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
BARS_    623
1 минуту назад, chip_1 сказал:

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

Ага, а ардуиновский код работает в вакууме, как сферический конь. Что вы чушь пишите?

  • Лайк 1

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
mvkarp    3 713

Это брат цену себе набивает. :)

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
Zer    544
8 часов назад, BARS_ сказал:

Да ну. А ардуйня не AVR? Бросайте свою ардуйню и делайте проект на нормальном железе.

Нет. Ардуино это платформа, которая может работать как на AVR так и на PIC и ARM. У TI даже для MSP430 есть свой вариант. Привязку к железу (варианту платы) делает компилятор. И ни о каком понимании архитектуры не может быть и речи.
Более того - пользователь даже не вникает в работу подключаемых модулей, ибо для всего есть библиотеки.

  • Лайк 1

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
BARS_    623
6 часов назад, Zer сказал:

И ни о каком понимании архитектуры не может быть и речи.

А автору этого и не требуется. Ему надо получить данные и обработать их. А как это будет делать и где разницы никакой.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
BARS_    623
5 минут назад, Геннадий сказал:

которого нет

14 часа назад, chip_1 сказал:

Брат программист, на ардуине он может

Вроде как все решаемо:crazy:

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
chip_1    0

Я бы не просил такую штуку запилить, если бы это было в наших силах.. Поможыте, а?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
Onkel    16

Если рисует эллипс, то нужно делать коррекцию по жесткому и мягкому железу. Штука несложная, но занудная. Вряд ли кто бесплатно за это возьмется.

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
chip_1    0

Если не найдется, проект встанет.. В принципе оплатить можно, если подъемно будет...

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
mr_smit    27

Всё уже придумано до вас. Летает и калибруется. Лично проверено. Если не в состоянии скопировать исходники, то бросайте заниматься херней.

Arducopter

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
chip_1    0

Вот этим и занимаемся!

Еще раз скажу, программист не работал с чипами напрямую. Может только Ардуино, а перенести код с прошивки в скетч нереально.

Сейчас нашли варианты решения, ими сейчас занимаемся. Для вас херня, для нас цель и мы ее добъемся.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
BARS_    623
21 минуту назад, chip_1 сказал:

не работал с чипами напрямую

А оно и не надо. Вы сами придумали себе проблему и бегаете с ней. Пусть точно так же напишет скетч и калибрует сколько влезет. Там даром не нужен доступ к чипу, нужен алгоритм и все. И в обычный AVR не на плате ардуйни точно так же можно залить скетч.

Изменено пользователем BARS_

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
BARS_    623

Я понял, что надо сделать прослойку между ардуйней и датчиком. Вот только не пойму, почему нельзя код для этой прослойки точно так же наардуинить и зашить в обычный AVR МК? В ту же Mega8? Тем более в инете полно скетчей по этой теме.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
chip_1    0

Да не получается. Пробовали. 

Много к стати скетчей, что написаны например для ардуины Mini на DUE не работают. Я не говорю о простых вещах типа Blink ))).

Одним из скетчей убили DUE. Там была запись калибровочных данных на внутреннюю память, но после пары экспериментов DUE перестала грузиться сама, только с кнопкой erase. Заблокировалась внутренняя память. Теперь рою, как ее восстановить.. Сейчас плату просто заменили на другую. Так что не все так гладко, как кажется.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
BARS_    623
1 минуту назад, chip_1 сказал:

Так что не все так гладко, как кажется.

Еще бы. Ведь учиться не хотим, сразу пытаемся что-то лепить.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
chip_1    0

Пользуемся тем, что знаем. Учится уже возраст не тот. Считаю лучше по не известному вопросу обратится к знающим людям. Это будет гораздо быстрее и эффективнее.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Создайте аккаунт или войдите в него для комментирования

Вы должны быть пользователем, чтобы оставить комментарий

Создать аккаунт

Зарегистрируйтесь для получения аккаунта. Это просто!

Зарегистрировать аккаунт

Войти

Уже зарегистрированы? Войдите здесь.

Войти сейчас


  • Похожие публикации

    • Автор: Хангусейн
      ВЫВОД РАЗНЫХ ПЕРЕМЕННЫХ ТО ИСТ 2 ПЕРЕМЕННЫХ НА 4 РАЗРЯДНЫЙ 7 СЕГМЕНТНЫЙ ИНДИКАТОР ПРИ ДИНАМИЧЕСКОМ ИНДИКАЦИИ ПЛИЗ ЕСЛИ МОЖНО  ИЗМЕНИТ МОЙ КОД  ПРИКЛЕЕННЫЙ ФАЙЛЕ ЗАДАВАТЬ 2 РАЗНЫХ ПЕРЕМЕННЫХ ДОПУСТИМ i,r  
      динам индикация.txt
    • Автор: admin
      Сайт Паяльник открывает обучающий видеокурс по AVR-микроконтроллерам.
      В этой теме "обратной связи" будем постепенно добавлять новые видеоролики с нашего канала. Здесь можно задавать вопросы, давать рекомендации, критиковать, оставлять отзывы и пожелания, а также запросы на тему будущих видеоуроков.
      Ведет видеокурс наш форумчанин kobzar.
      Профиль пользователя на сайте cxem.net. Там же финансовые реквизиты для тех, кто пожелает финансово отблагодарить автора данного видеокурса
      Подписка на YouTube канал
      Краткий обзор сред разработки для различных микроконтроллеров на сайте: http://cxem.net/software/soft_mcu.php
      Внимание начинающим! Перед тем, как задавать вопросы не по теме видеоуроков, прочитать:
      Статьи по МК для начинающих
      Книга по программированию микроконтроллеров AVR
      Также, здесь же на форуме рядом с этой темой смотрите прикрепленные темы: для начинающих, по языку Си и т.д. Все вопросы не по видеокурсу задавайте только там. С этой темы подобные вопросы удаляются
      Кракозябры вместо русских букв
      Ребята - спешу сообщить что найден метод борьбы с кракозябрами вместо русских символов, при работе с ЖК. Дело в том, что у некоторых из вас, проект создается в кодировке UTF-8, а наша библиотека работает только с ср1251
      Фикс:
      1.Открываем проект
      2. File - Advanced Save Options
      3. Вместо кодировки UTF-8 выбираем Cyrillic(Windows) - cp1251
      Сохраняем, сохраняем проект - компилируем!
      Добавлено 12.01.16 :
      Изменённые версии библиотеки lcd_5110 :
      От COKPOWEHEU - Ссылка на пост , Ссылка на github
       
    • Автор: polych
      Здравствуйте.
      У меня возникла проблема в прошивке микроконтроллера Atmega8.
      Задача заключается в том чтобы сравнивалось опорное на напряжение АЦП с подаваемым на вход АЦП напряжением и далее результат выводился на дисплей. У меня возникли сложности с настройкой АЦП, как я думаю оно находится в спящем режим так как когда я загружаю hex файл в Proteus и запускаю пошаговую отладку, то мои условия не выполняются и в переменной в которую я прописываю значение подаваемого напряжения постоянно находится значение опорного напряжения.
      Код пишу в Atmel Studio 6 на С
      Симуляцию делаю в Proteus
      Очень нужна помощь
      Спасибо!
      Примерный код в Atmel,не судите строго только начинаю изучать микроконтроллеры
      #define F_CPU 1000000UL
      #include <avr/io.h>
      #include <avr/interrupt.h>
      #include <util/delay.h>
      static volatile int u = 0;
      static volatile float v;
      int main(void)
      {
       DDRB=0xFF;
       PORTB=0x00;
       DDRC=0x00;
       PORTC=0xFF;
       
       //настройка АЦП//
       ADCSRA |=(1<<ADEN)//включение ацп
       |(1<<ADPS1)|(1<<ADPS0)|(1<<ADFR);//ADPS2-ADPS0-тактовая частота АЦП???
       //ADCRA=0x83
       ADMUX |= (0<<REFS1)|(1<<REFS0)//внешний ИОН
       |(0<<MUX0)|(0<<MUX1)|(0<<MUX2)|(0<<MUX3); //вход PC0
       //ADMUX=0x00
          while(1)
          {ADCSRA |=(1<<ADSC);//начинаем преобразование
           while ((ADCSRA&(1<<ADIF))==0);//ждём флага окончание преобразование
          _delay_ms(5);
           u=ADCW;// считываем ADC
          
           v = (float) u*0.0048828;
           if (v>=2.1){
            PORTB=0x01;
           }
           else{
            PORTB=0xFF;
           }
           _delay_ms(5);
      Также начальный проект в протеус, опять же не судите строго)
      micro.pdsprj
    • Автор: paulb
      Есть задумка собрать вольтметр постоянного напряжения (до 1000В) на ГРИ, использовав за основу популярную схему часов. Либо на базе микросхемы ICL7107, если это возможно. Знающих прошу помочь.
    • Автор: ruhi
      Меня тут порадовали задачкой для АВР (я когда то очень много таких порешал, на практике - напомнили молодость ):
      http://cxem.net/mc/mc446.php
      сформулирована так: Нужно два быстрых элемента "И" и одновибратор. Можно использовать серию 155 у которой время срабатывания даже меньше получается, но не подходит по энергопотреблению. Хотелось бы сделать это на Attiny13.
      Остановимся пока на 
      Я, соответственно, предложил реализацию:
      Можожно сделать так:
      loop1:
      in reg1, pina; 1-tick
      in reg2, pinb; 1-tick
      and reg1, reg2; 1-tick
      LSR reg1; 1-tick
      out portB, reg1; 1-tick
      rjmp loop1; 2-tick

      Это код на ассемблере , который реализует два «элемента И» на АВР со временем срабатывания около 1мкс, в зависимости от тактовой частоты МК.
      На частоте 16 MHz это 7/16 мк-секунды(7 ticks, на самом деле +4 = 11тиков максимум время срабатывания, позже поясню), входы элемента-И должны быть на одинаковых пинах условных портов A and B, а выходы следующие по старшинству биты-пины. Вообще говоря перед выводом в порт, скорее всего, нужно будет еще маску добавить это еще +1 тик!

      Цикл можно переделать на использование только одного порта. Мой вариант в закодированном архиве приатачен, ключ выложу через неделю!
      Мне интересно можно ли сделать быстрее чем у меня получилось! Сможет кто нибудь предложить вариант решения?
      В общем, похоже что, на ассемблере можно написать «два элемента И» со временем срабатывания около 1.5мкс даже на 10МГц при произвольном расположении ног на одном порту.
      bestAvrCodeForAnd.7z