• Объявления

    • admin

      Поддержка продавцов - флуд в ваших темах, троллинг и т.п.   28.03.2018

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

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

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

chip_1    0

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

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

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

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

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

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

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


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

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

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

  • Лайк 1

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


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

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

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

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


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

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

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

  • Лайк 1

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


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

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

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


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

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

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

  • Лайк 1

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


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

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

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

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


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

которого нет

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

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

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

 

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


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

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

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


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

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

 

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


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

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

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


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

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

Arducopter

 

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


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

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

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

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

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


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

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

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

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

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


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

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

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


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

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

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

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

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


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

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

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

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


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

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

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


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

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

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

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

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

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

Войти

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

Войти сейчас


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

    • Автор: Alexey104
      Всем привет!
      Возникла следующая проблема:
       
      Есть две ардуины 'Mega2560'. По несчастливому стечению обстоятельств данные платы попали в руки одному чуваку, который, вернув их, заявил, что они перестали работать после того, как он "чисто ради интереса" поковырял на обеих некоторые фьюзы. Есть у меня такой китайский usbasp v2 программатор:
      Подключив данный девайс к ICSP-пинам первой платы, удалось без проблем восстановить на ней загрузчик через стандартную Arduino-IDE, после чего работоспособность платы полностью восстановилась. Но вот при попытке сделать то же самое со второй платой, получаю это:
      Такое же сообщение получаю при попытке зашить загрузчик в неподключенную к программатору ардуину, то есть программатор вообще не видит МК. Плата прекрасно работала до того, как вышеупомянутый товарищ покрутил настройки фьюзов.
       
      Что я пытался предпринять:
      Замыкал пины JP3 программатора, отвечающие за понижение скорости, подключал к ардуине 5V от внешнего источника при прошивке загрузчика, - не помогло.
       
      Поиском пользоваться умею, аналогичную тему тут находил, но там проблема была в том, что парень неверно подключал программатор к контроллеру. В моём же случае всё подключено верно, повторюсь, что загрузчик первой платы этим же программатором был восстановлен успешно.
      Буду рад любым советам касательно того, как восстановить работоспособность платы.
       
       
       
    • Автор: Ru_s
      Здравствуйте. Подскажите пожалуйста, возможно ли на attiny13 реализовать такую штуку. Мне в процессе работы программы нужно поменять режим работы таймера/счетчика с fast PWM на обычный счёт, отсчитать длительный промежуток времени и опять вернутся в режим ШИМ. Т.е. я подаю на ногу сигнал ШИМ и когда он в максимальном значении, я его отключаю, и тупо подаю на ногу высокий лог. уровень. В это время Т/С по идее свободен, и мне надо посчитать время работы выхода на максимальном лог. уровне, при достижении какого-то значения времени нужно перевести т/с обратно в ШИМ. Возможно ли это? И как приблизительно это реализовать
    • Автор: ShimkoMax
      Здравствуйте. Требуется вывести данные температуры и влажности на экран. С LCD дисплеем разобрался, осталось разобраться с SHT21. Постоянно выводит 0 на дисплей:
      Main.c:
      #define F_CPU 8000000UL #include <avr/io.h> #include <avr/interrupt.h> #include <util/delay.h> #include <stdio.h> #include <stdlib.h> #include "globals.h" #include "LCD_lib.h" #include "twi.h" // I2C #include "sht21.h" int main(void) { I2C_Init(); _delay_ms(100); LCD_init(); char buffer[20]; roomAdrInit(); SHT21_reset(); while(1) { SHT21_reset(); LCD_sendString(itoa((int)get_temperature(), buffer, 10), 4, 0, 0); _delay_ms(1000); } } twi.c:
      #include <avr/io.h> #include "twi.h" void I2C_Init(void) { TWSR = 0; TWBR = 0x20; TWCR = (1<<TWINT) | (1<<TWSTA) | (1<<TWEN); } void I2C_StartCondition(void) { TWCR = (1<<TWINT)|(1<<TWSTA)|(1<<TWEN); while(!(TWCR & (1<<TWINT))); } void I2C_StopCondition(void) { TWCR = (1<<TWINT)|(1<<TWSTO)|(1<<TWEN); } void I2C_SendByte(uint8_t data) { TWDR = data; TWCR = (1<<TWINT) | (1<<TWEN); while(!(TWCR & (1<<TWINT))); } unsigned char I2C_ReadByteAck(void) { TWCR = (1<<TWINT) | (1<<TWEN) | (1<<TWEA); while(!(TWCR & (1<<TWINT))); return TWDR; } unsigned char I2C_ReadByteNak(void) { TWCR = (1<<TWINT) | (1<<TWEN); while(!(TWCR & (1<<TWINT))); return TWDR; } sht21.c:
      #define F_CPU 8000000UL #include <avr/io.h> #include <util/delay.h> #include <stdlib.h> #include <stdio.h> #include "twi.h" #include "sht21.h" void SHT21_reset() { unsigned char reg[1]; reg[0]=SHT21_reset_cmd; I2C_StartCondition(); I2C_SendByte(SHT21_i2c_write); I2C_SendByte(*reg); I2C_StopCondition(); _delay_ms(100); } uint16_t checksum(unsigned char data[],uint8_t byte, uint8_t check) { uint8_t crc=0; uint8_t bytectr,bit; for (bytectr=0; bytectr<byte;bytectr++) { crc^=(data[bytectr]); for (bit=8;bit>0;bit--) { if(crc&0x80) { crc=(crc<<1)^polynomial; } else { crc=crc<<1; } } } if (crc!=check) { return 0; } else { return data; } } void write_user_register() { unsigned char reg[3]; reg[0]=user_register_write; reg[1]=0x44; I2C_StartCondition(); I2C_SendByte(SHT21_i2c_write); I2C_SendByte(*reg); I2C_StopCondition(); } uint16_t read_value(uint8_t reg) { char data[4],crc; uint16_t result; data[0]=reg; I2C_StartCondition(); I2C_SendByte(SHT21_i2c_write); I2C_SendByte(reg); I2C_StartCondition(); I2C_SendByte(SHT21_i2c_read); data[1] = I2C_ReadByteAck(); data[2] = I2C_ReadByteAck(); crc=I2C_ReadByteNak(); I2C_StopCondition(); result=(data[1]<<8) | data[2]; checksum(result,4,crc); result &= 0xFFFC; return result; } float get_humidity() { //char buffer2[4]; uint16_t hum_value = read_value(humidity_hold_mode); return -6 + 125.0 / 65536.0 * hum_value; //dtostrf(rh,5,2,buffer2); _delay_ms(100); } float get_temperature() { //char buffer1[4]; uint16_t temp_value = read_value(temperature_hold_mode); return -46.85 + 175.72 / 65536.0 * temp_value; //dtostrf(tc,5,2,buffer1); _delay_ms(100); }  
    • Автор: GeloMik
       
      Я новичок в программировании AVR контроллеров, хотя знаю +/- C++.
      Проблема заключается в том, что я не могу написать прошивку к своему маленькому проекту. Используемый мною контроллер - ATTiny45. У него на борту имеется 1 АЦП с выходом на 4 ноги. Нужно, чтобы фактически одновременно брался замер с 3, 4 и 5 порта по АЦП, и при появлении 1 на одном из них МК должен подать 5В на 1 или 2 порты. Источник АЦП AREF. 
      Сюда прикреплю схему самого робота, если кого не затруднит помочь написать прошивку, буду очень благодарен 

    • Автор: Stratix
      Здравствуйте, у меня проблема с прошивкой разных устройств из-за программаторов. Дело в том что у меня есть некоторое количество китайских и самодельных программаторов для разных производителей, с ними постоянно какие-то проблемы, некоторые отказываются нормально работать на windows 10(другие версии ПО не устраивают), другие не работают с последними версиями сред разработки и т.д. Так же нужно прошивать схемы памяти. Хочу прошивать устройства без постоянной сборки программаторов и неудобств. Думаю о двух вариантах: взять оригинальные программаторы для всех производителей: altera, xlinx, arm, pic, avr(некоторые найти сложно, например оригинальный usb-blaster и высокая стоимость в сумме), второй вариант: взять универсальный программатор, который бы поддерживал все новые микросхемы, а вот с этим проблема, большинство универсальных программаторов не шьют stm, плис. Есть ли вообще реально универсальные программаторы? Мне было бы намного удобнее если на столе б лежал один программатор, а не куча. Смотрел список микросхем chipprog-48, пока что самый большой, к сожалению не поддерживает новые fpga, например: cyclone IV. Связывался, сказали что поддержки не будет и в будущем. Стоит ли взять chipprog-48 в 2018 году или есть программаторы лучше, с большим списком микросхем?
  • Сообщения

    • Номинальная   Не имеет этот усилитель 10% искажений при 35 ваттах. Его никто не купит при таких данных   С Вами гусей не пас, прошу не тыкать. Разговор идёт про измерение номинальной мощности при 1% искажений.
    • Тесты на старом АКБ могут плясать от того как он "умирает". В моем 7,5Ah из 60Ah, но при этом я мог завести машину, правда  не с первого раза мог прокрутить стартер. Сейчас после тестов появился саморазряд до 12,56V, а раньше ниже 12,68v не опускалось. При нагрузке в 9А  и 30ms, просадка  в 1,1v. Если нагрузить большим током и время продолжительнее? Завтра перед ночной сменой, будет часок времени, проверю на новом. Потом будем делать выводы. Про разницу на  Up и Ul, в режиме калибровки была разница в показаниях и подстроичниками не получилось выровнять (уперлись в упор,  они у меня стояли последовательно в одном  плече, сейчас переделал так как по схеме). При регулировке делителей в режиме калибровки, заметил что в разных диапазонах ( от ЛБП), вроде выровнял показания, увеличил напряжение,а уже есть разница в 0,01v. Еще повысил напряжение и уже разницы нет. Про окончание режима Zar- отработали качели пару часов и считать режим завершенным. То что я описал вчера, сводилось к тому чтобы ЗУ отключалось от сети и переходило в спящий режим, еще его называют- на хранение. Опустилось напряжение ниже 12,4V (МОЖНО И ДРУГОЙ ПОРОГ НА ВКЛЮЧЕНИЕ), включилась, а так как у нас автоматом стоит режим Zar- отработал режим и если нет нажатий кнопок по окончании в течении определенного промежутка времени, опять отключился от сети. Но это мои фантазии, потому спрашивал ваше мнение. В 20.00 АКБ включил на заряд (напряжение 12,56 было на АКБ), прошел час и уже работают качели, залило 0,34Ah. Так что симптомы у всех АКБ  будут разными. На досуге проверю плотность электролита.
    • подскажите что за магия у меня такая    в некотором режиме (например как на видео 2.5 вольта и 6 ампер) блок неустойчиво запускается(возбуд), но потом работает стабильно. 95 процентов запусков в таком режиме с возбудом, и 5 нормально запускается. всё действо происходит в стабилизации напряжения, до токовой стабилизации дело не доходит(на видео она стоит 10.5 ампер) если например зажигать лампочку ближнего\дальнего от грузовика(на 24 вольта), то запуск происходит без возбуда
    • Фотки и чертёж понимающему народу не нужны. Объём понятен, частота раздела - на две октавы выше резонанса пищалки +-1000 Гц. Фильтры - конденсатор и катушка, раз первые порядки. ФИ настроен Герц на 35. Вероятно, содержательна переделка 4А32. Подвес, ЦШ, магнит.
    • Привет всем. Продолжаю историю со своим квазарам. Я подпаял светодиод. Светодиод постоянно моргает. На экране все те же кубики и молчащий прибор. Я так понимаю МК живой. Все перепроверил проблема так и не ушла ((