|
|
|
|
233420 536 45 31 |
|
Опции темы | Поиск в этой теме |
19.11.2015, 18:25 | 361 |
Ветеран Фонарёвки
Регистрация: 31.07.2013 Последняя активность: 04.04.2024 09:50 Адрес: Великий Новгород
Сообщений: 2741
Сказал(а) спасибо: 1208
Поблагодарили: 597 раз(а) в 505 сообщениях
|
Re: Модифицируем народный линейный драйвер для тактовой кнопки
|
19.11.2015, 18:29 | 362 |
|
Re: Модифицируем народный линейный драйвер для тактовой кнопки
Corvax, Моих линейников с исходниками достаточно выложено.
|
19.11.2015, 19:03 | 363 |
Ветеран Фонарёвки
Регистрация: 31.07.2013 Последняя активность: 04.04.2024 09:50 Адрес: Великий Новгород
Сообщений: 2741
Сказал(а) спасибо: 1208
Поблагодарили: 597 раз(а) в 505 сообщениях
|
Re: Модифицируем народный линейный драйвер для тактовой кнопки
Все с силовой кнопкой и только под 13А, или я пропустил. Конечно, Вам решать, но лично я был бы признателен за грамотно написанный костяк прошивки для тактовой кнопки под 85.
|
19.11.2015, 20:19 | 365 |
|
Re: Модифицируем народный линейный драйвер для тактовой кнопки
Я не вникал - просто промотал и что бросилось в глаза:
Это для наглядности В старшем байте у нас 8 значимых бит и 2 в младшем, вот как они в этой прошивке обрабатываются: Код:
unsigned char av0; // Младший разряд измерения напряжения unsigned char av1; // Старший разряд изменения напряжения unsigned char adch_val; // Напряжение акка av0=ADCL; av1= ADCH; av1= av1<<1; // Сдвинули влево на 1, последний 0 av0=av0>>7; // Сдвинули вправо на 7, остался мл разряд adch_val = av1+av0; // По идее получили 8 разр число = код/2 Дальше - в программе при переключении опоры нигде не пропускается ни одно значение, не выжидается необходимое значение тактов чтобы в АЦП все "устаканилось" (это требование есть в даташите), а она переключается при каждом замере. В общем там погода на Марсе получается и точно так-же организован и замер температуры. |
Поблагодарили: 1 раз |
fnksb (19.11.2015)
|
19.11.2015, 20:37 | 366 |
|
Re: Модифицируем народный линейный драйвер для тактовой кнопки
В общем решение простое. ADLAR обычно ставят, чтобы использовать только 8 бит АЦП из 10. Просто используем ADCH и не берем во внимание ADCL и все. У меня так в народном линейнике сделано, но это обусловлено жесткой нехваткой памяти. А тут памяти море - можно и все 10 бит юзять: uint16_t adch_val = ADCW; ВСЕ!!!
[Исправлено: Tamagotchi, 19.11.2015 в 20:38] |
19.11.2015, 20:42 | 368 |
|
Re: Модифицируем народный линейный драйвер для тактовой кнопки
|
22.11.2015, 07:48 | 369 | |
Увлеченный
Регистрация: 16.08.2012 Последняя активность: 19.01.2018 08:37 Адрес: Новосибирск
Сообщений: 475
Сказал(а) спасибо: 44
Поблагодарили: 270 раз(а) в 117 сообщениях
|
Re: Модифицируем народный линейный драйвер для тактовой кнопки
Цитата:
При этом мы "теряем" корректность измерения температуры выше 512 - 273 = 239 гр цельсия и напряжения меньше 1,1*2 = 2,2 в. Во всем остальном измерения корректны. Вам этого диапазона мало в фонаре? Мне хватает, сорри за неиспользование всех возможностей. Цитата:
При реальных испытаниях у меня почему то все работает и измеряется верно, хоть и не совсем правильно по глубокой теории, сорри, поэтому и не обратил внимания. Поправлю. [Исправлено: Alex63, 22.11.2015 в 07:55] |
|
22.11.2015, 09:05 | 370 |
Увлеченный
Регистрация: 16.08.2012 Последняя активность: 19.01.2018 08:37 Адрес: Новосибирск
Сообщений: 475
Сказал(а) спасибо: 44
Поблагодарили: 270 раз(а) в 117 сообщениях
|
Re: Модифицируем народный линейный драйвер для тактовой кнопки
Народ, кто имеет опыт работы с МК, глупый вопрос (даташит как то по разному можно перевести, например, при первом измерении оно длиннее на 13 тактов - может, это и надо для устаканивания переключения опорного), что лучше сделать для большей корректности измерений АЦП
- выкидывать результат первого измерения после смены опорного напряжения, и использовать только результат второго измерения - вставить задержку на 14 тактов между сменой опорного и самим измерением [Исправлено: Alex63, 22.11.2015 в 09:10] |
22.11.2015, 10:08 | 371 | |
|
Re: Модифицируем народный линейный драйвер для тактовой кнопки
Цитата:
Оставьте старший байт целиком - не надо его никуда двигать, а младший игнорируйте. IMHO это простейший способ получить правильную работу с достаточной точностью и минимальными переделками. ЗЫЖ Сорри, если я слишком жестко написал. |
|
22.11.2015, 10:49 | 372 | |
Увлеченный
Регистрация: 16.08.2012 Последняя активность: 19.01.2018 08:37 Адрес: Новосибирск
Сообщений: 475
Сказал(а) спасибо: 44
Поблагодарили: 270 раз(а) в 117 сообщениях
|
Re: Модифицируем народный линейный драйвер для тактовой кнопки
Цитата:
Что то я не пойму, много шума из ничего, т е криков "все пропало, шеф!" а что пропало то? Где что потерялось, если без истерики? Сдвинули влево старший байт, последний 0, сдвинули вправо младший байт, последний стал старший бит, сложили, получили 10 битовое число /2 округленное до 1 в 8 значном представлении. Или есть только ваш единственный правильный алгоритм, остальное - бред? Цитата:
Дмитрий, я эту прошивку использую не в одном фонаре, и в железе все проверял, все измеряется как надо. Что вы в самом деле, извиняюсь, мульку пестрите на пустом месте? Я не гуру, ошибки могут быть, тогда покажите, где ошибка без истерик а конкретно в алгоритме. [Исправлено: Alex63, 22.11.2015 в 11:00] |
|
22.11.2015, 10:54 | 373 |
|
Re: Модифицируем народный линейный драйвер для тактовой кнопки
Alex63, Я останусь при своем мнении. Зачем все это безобразие сделано Вы объяснить просто не можете.
|
22.11.2015, 13:06 | 374 |
Увлеченный
Регистрация: 16.08.2012 Последняя активность: 19.01.2018 08:37 Адрес: Новосибирск
Сообщений: 475
Сказал(а) спасибо: 44
Поблагодарили: 270 раз(а) в 117 сообщениях
|
Re: Модифицируем народный линейный драйвер для тактовой кнопки
В предыдущем посте пояснял, зачем. Повысить точность с 8 до 9 разрядов, поскольку старший бит всегда 0 во всем диапазоне реальных значений измеряемых величин.
Если не хотите утруждаться и разобраться/понять что и зачем, то я точно не собираюсь тратить свое время чтобы как школьнику объяснять простые алгоритмы. Видите ошибку - покажите где конкретно. Имеете просто мнение без аргументов - оставайтесь при нем ради бога. Про опыт с МК я спрашивал что лучше - пропустить измерение или несколько тактов добавить. Вот это конструктив бы был, а то что попало. [Исправлено: Alex63, 22.11.2015 в 13:23] |
22.11.2015, 13:10 | 375 | |
|
Re: Модифицируем народный линейный драйвер для тактовой кнопки
Цитата:
Если научился не сильно вникая дергать куски кода из чужих программ, то зазнаваться (как и предлагать платные услуги) еще мягко говоря рано. |
|
22.11.2015, 14:05 | 376 | ||
Увлеченный
Регистрация: 16.08.2012 Последняя активность: 19.01.2018 08:37 Адрес: Новосибирск
Сообщений: 475
Сказал(а) спасибо: 44
Поблагодарили: 270 раз(а) в 117 сообщениях
|
Re: Модифицируем народный линейный драйвер для тактовой кнопки
Цитата:
Цитата:
И в чем зазнаваться? Что хочу услышать аргументы? В общем, речь ведь идет о прошивке, которую я сделал для себя и просто опубликовал для желающих повторить? Давайте просто внесу коррективы, если они нужны. Пусть людям будет нормальная прошивка, или это криминал, если забесплатно? [Исправлено: Alex63, 22.11.2015 в 14:20] |
||
22.11.2015, 14:09 | 377 |
|
Re: Модифицируем народный линейный драйвер для тактовой кнопки
Alex63, Не смеши меня, я все четко и побитно рассказал и написал, что в узком диапазоне значений это будет работать. А ты наивно считаешь свой код делением на 2 (деление на 2 это сдвиг вправо, а не влево) и даже не можешь объяснить зачем сделал именно так, а не не по нормальному, причем сделать не теряя половину данных даже проще.
[Исправлено: Tamagotchi, 22.11.2015 в 14:16] |
22.11.2015, 14:13 | 378 |
|
Re: Модифицируем народный линейный драйвер для тактовой кнопки
В общем больше никому никаких исходников я не дам и советов тоже не дам - пишите любую ересь и радуйтесь, что в программе 2 ошибки.
напиши САМ что-то с 0, а потом поговорим. Давай - жду прошивку к импульснику, на СВОЕМ регуляторе, а не слизанном. [Исправлено: Tamagotchi, 22.11.2015 в 14:19] |
Поблагодарили: 1 раз |
Corvax (22.11.2015)
|
22.11.2015, 16:19 | 379 |
Увлеченный
Регистрация: 16.08.2012 Последняя активность: 19.01.2018 08:37 Адрес: Новосибирск
Сообщений: 475
Сказал(а) спасибо: 44
Поблагодарили: 270 раз(а) в 117 сообщениях
|
Re: Модифицируем народный линейный драйвер для тактовой кнопки
Цитата:
Понимаю, время такое, всем трудно. В общем, без подколов, здоровья и удачи, Дмитрий. |
22.11.2015, 16:22 | 380 |
|
Re: Модифицируем народный линейный драйвер для тактовой кнопки
|