Перейти к содержанию

Berg

Members
  • Постов

    183
  • Зарегистрирован

  • Посещение

Весь контент Berg

  1. какой насос? какая жидкость? бак выше уровня крана, ниже или на уровне?
  2. В Atmega8 отсутствует такой фьюз. Советую вообще их не трогать на данном этапе и пользоваться установленными по умолчанию(заводскими). При этом mega8 тактируется внутренним RC генератором 1MHz. Вот немного инфы для ознакомления - http://www.avislab.com/blog/fuses/
  3. Нет. Кстати сегодня заметил, что Протеус 7.10(сборка12325) в atmega328p некорректно обрабатывает внешние прерывания.
  4. Согласен. Изначально функция была проще. Ту же шкалу можно было нумеровать статичными цифрами. Потом усовершенствовал. В моем регионе среднее ат. давление 740PmmHg, у мирового океана к примеру 760, в нагорье >700, а теперь мы можем программно вычислить среднее значение и согласно ему автоматически перенумеруется шкала. А еще иногда бывает на экране не хватает места, а хочется знать некую техническую информацию хотя бы мизерным шрифтом. Это правильно. А то когда написал код и сразу вспомнились слова Alex-а, - "бедный микроконтроллер"
  5. Немного прерву вашу филосовскую беседу Посколько в этой теме было ознакомление с дисплеем nokia5110 поэтому размещу здесь. Понадобилось мне для наглядности пронумеровать шкалу графика атмосферного давления мелкими цифрами (3 на 5 пикселов). Попиксельно вырисовывать эта затея безумна. Поэтому все это дело автоматизировал. Может пригодится кому. Закодировал цифры: static const uint8_t small_number [][5] PROGMEM= // (3 на 5 пикселов) { {7,5,5,5,7}, // 0 {1,3,1,1,1}, // 1 {7,1,7,4,7}, // 2 {7,1,7,1,7}, // 3 {5,5,7,1,1}, // 4 {7,4,7,1,7}, // 5 {7,4,7,5,7}, // 6 {7,1,1,1,1}, // 7 {7,5,7,5,7}, // 8 {7,5,7,1,7} // 9 }; замутил функцию: void Lcd_small_number(uint8_t x, uint8_t y, long number){ // x,y - координата верхнего левого пикселя числа; number - целое число if(number<0){ // если отрицательное число number*=-1; // переведем в положительное Lcd_line(x,y+2,x+2,y+2,PIXEL_ON); // рисуем знак "минус" x+=4; // переместимся на следующее знакоместо } long temp=number; long n1=1; // коэффициент разрядности uint8_t n=0; // кол-во цифр в числе if(number==0){temp=1; n1=10;} while(temp){temp/=10; n++; n1*=10;} for(uint8_t l=0; l<n; l++){ for(uint8_t i=0; i<5; i++){ for(uint8_t j=0; j<3; j++){ Lcd_pixel(x+j,y+i,PIXEL_OFF); // чистим знакоместо if(pgm_read_byte(&(small_number[((long)number%n1)/(n1/10)][i])) & (1<<(2-j))){Lcd_pixel(x+j,y+i,PIXEL_ON);} } } x+=4; n1/=10; } } как пример: for(uint8_t i=0; i<50; i+=10){Lcd_small_number(53,3+i,760-i);} uint8_t wrem=152; long wrem1=-715869; Lcd_small_number(1,1,wrem); Lcd_small_number(1,7,wrem1); не забываем про #include <avr/pgmspace.h> результат: small_number.bmp
  6. https://ru.aliexpress.com/item/3-S-20A-18650-pcb/32832824307.html?spm=a2g0s.9042311.0.0.fKop57 вот такой брал для робота-пылесоса под 3лития 18650 последовательно, 80руб Заряжаю штатным зарядником от шуруповерта 13.5в Важно: подключать строго по схеме, а то говорят не верное подключение выводит платку из строя
  7. Для возможности написания программного кода. С отсутствием симуляции. У меня в списке тоже нет симуляции, так же в Atmel Studio 7 (ver 7.0.1417) отсутствует. Говорят в AS4 есть. http://www.avrfreaks.net/forum/simulator-atmega8515 Нажать кнопку Build GccApplication.
  8. чуть выше выкладывал пример отправки смс на команду AT\r модуль выдает ответ ОК? покажите как вы отправляете?
  9. int main(void) { DDRB |= (1<<PB0); PORTC |= (1<<PC0)|(1<<PC1);// или закоментируем и внешн. резисторами к земле while(1) { if(PINC&(1<<PC0) && !(PINC&(1<<PC1))){PORTB |= (1<<PB0);}//если РС0 лог 1 и РС1 НЕ лог 1 // if((PINC & 0x03 ) == 0x01 ){PORTB |= (1<<PB0);}// или так, но выполняется дольше else{PORTB &=~(1<<PB0);} } }
  10. http://fusecalc.mirmk.ru/help/help09.htm http://www.atmel.com/Images/doc1477.pdf пробуй кварц, внешнее тактирование в разделе System Clock and Clock Options описано все.
  11. http://we.easyelectronics.ru/part/zaryadnoe-ustroystvo-dlya-li-ion--na-tr4056.html
  12. какая картина при Чтении фьюзов? кстати этап Чтения фьюзов вы просто не упоминаете в вашем алгоритме действий?
  13. стр. 30 даташит как-то давно решил попробовать, а что будет если при установленном тактировании МК внутренним RC генератора включить СКОРТ. Программирую СКОРТ, записываю фьюзы. Читаю фьюзы и вижу, что СКОРТ остался незапрограммирован. Т.е. где-то стоит защита от "дурака", толи в МК, толи в софте прошивальщика.
  14. все зависит от выбранного источника синхронизации. вы похоже путаете с источником синхронизации низкочастотным кварцевым резонатором 32.768 кГц To use a 32.768kHz watch crystal as the clock source for the device, the Low-frequency Crystal Oscillator must be selected by setting the CKSEL Fuses to “1001”. By programming the CKOPT Fuse, the user can enable internal capacitors on XTAL1 and XTAL2, thereby removing the need for external capacitors. The internal capacitors have a nominal value of 36pF. Однако наше устройство тактируется внутренним RC генератором 1 MHz CKSEL Fuses to “0001”, а часовой кварц 32768 подключен к выводам TOSC1 и TOSC2 и работает совместно с асинхронным генератором таймера 2.
  15. выводы кварца должны быть как можно ближе к выводам МК можно попробовать корпус кварца прицепить к земле по поводу конденсаторов, они там не нужны, т.к. при активации асинхронного таймера подключаются внутренние конденсаторы на 36пФ, НО на практике как то было, что часики начинали тикать только если коснуться отверткой одного из выводов кварца и установка внешних конденсаторов помогла., кто виновен МК или сам кварц не знаю.., второго часового кварца под рукой не было чтобы выяснить. фьюз СКОРТ нет смысла трогать при тактировании МК внутренним калиброванным генератором купить новый кварц
  16. ну если предположить, что управление каналами настолько примитивное, типа вкл/выкл (это уж прям 20век), то может быть ставлю на век высоких технологий и там МК типа PIC16, которая шим-ит 4 канала
  17. на эти 3-х ногие штучки поступает постоянное напряжение с диодного моста. тиристор - симистор в цепи постоянного тока? есть предположение: около 2-х диодов в центре имеется отверстие, от туда плюс идет на аноды светодиодов, минус коммутируют мосфеты, но смущает номинал резисторов, если я правильно понял по полоскам там что-то типа 4к, хотя встречал схемки и по 10к на затворе..., есть конечно вариант, что это составные транзисторы элемент К2 явно выделяется по цвету, возможно было плохое соприкосновение с охлаждающей поверхностью сгорел порт микрухи или резистор маловероятно.., от перегрева пропал контакт одной из ног.., возможно
  18. отпаять исправный, забить в поиске: как поверить биполярный транзистор мультиметром, если последнего нет в наличае, то как проверить без мультимера.., если окажется, что это не биполярный транзистор, то производим поиск по проверки мосфета и далее симистора
  19. https://ru.aliexpress.com/item/High-Power-AC-220V-5000W-Regulator-SCR-Motor-Electronic-Voltage-Regulator-Switch/32790014484.html?spm=a2g0v.10010108.1000014.6.76b18e9a7y8upG&traffic_analysisId=recommend_3035_null_null_null&scm=1007.13338.80878.000000000000000&pvid=2f28d86f-21d5-465c-94b2-1c8d9acbda1a&tpp=1
  20. http://forum.cxem.net/index.php?/topic/34397-555-схем-на-таймере/&do=findComment&comment=319427
  21. U =((readADC(0)*20.00/1023)); // это засуньте уж в какую-нибудь функцию точнее в main и переменные глобальные объявляйте сразу после инклюдов, точнее до функций где они могут быть применены
×
×
  • Создать...