Простые биты



Модификаторы типов

За исключением типа void, основные типы данных могут иметь различные модификаторы. Модификаторы используются для более точного управления ситуацией. Ниже приведен список модификаторов:
signed
unsigned
short

Модификаторы signed, unsigned, long и short могут применяться к целочисленным типам. К символам можно применять signed и unsigned, long может применяться к типу double. Таблица показывает все допустимые комбинации стандарта ANSI С для 16-битных типов данных вместе с размером типа в битах и границами применения в Borland С++.

Таблица содержит информацию о 32-битных типах данных.

Использование signed для целочисленных типов является избыточным (но допустимым), поскольку объявление целочисленных типов по умолчанию предполагает знаковое число.

Различие между знаковыми и беззнаковыми целочисленными типами заключается в способе интерпретации старшего бита. Если используется знаковый тип, то компилятор генерирует код, предполагающий, что старший бит используется как знак числа. Если знаковый бит равен 0, то число положительное, а если 1 — отрицательное. Ниже приведены простые примеры:

Следует предупредить, что фактически все компьютеры используют дополнительную арифметику, что приводит к представлению —127 в виде, слегка отличном от вышеприведенного примера. Тем не менее, использование знакового бита является однотипным. У отрицательного числа в дополнительном виде все биты инвертированы, и к числу добавляется 1. Например, —127 в дополнительном виде выглядит следующим образом:

Знаковые числа важны для многих алгоритмов, но они могут вмещать только половину значений, которые могут содержать их беззнаковые «братья». Например, 32767 выглядит следующим образом:

Если старший бит установлен в 1, то число будет интерпретироваться как —1. Тем не менее, если объявить его как unsigned int, то, если старший бит установлен, число будет содержать 65535.

Фьюзы микроконтроллеров AVR – как и с чем их едят

Что же такое FUSE биты? Слова вроде бы знакомые, но многие толком и не знают их предназначение, ставят галочки и прошивают, работает устройство да и ладно. Я вам хочу рассказать немного про эти FUSE биты.

FUSE биты (фьюзы) – ну если по простому, то они настраивают определенные параметры микроконтроллеров, это некий инструмент для их тонкой настройки Фьюзы включают или настраивают такие параметры как:
— частота генератора, внешний или внутренний генератор
— запрет на чтение прошивки микроконтроллера
— включение или выключение таймеров
— деление частоты кварцевого генератора
— защита EEPROOM от стирания
…и так далее. У каждого микроконтроллера выставляются свои фьюзы, у разных микроконтроллеров разный список фьюзов, например в ATmega8 нет фьюза CKOUT, но он присутствует в ATtiny2313. В даташитах к микроконтроллерам все эти фьюзы расписаны.

Главное правило при работе с фьюзами – не торопиться их выставлять, если вы точно не уверены в правильности своих действий.

Теперь распишем названия некоторых фьюзов, их обозначения и то, на что они влияют. Вообще, есть фьюзы для защиты программы от копирования (лок-биты), фьюзы, устанавливающие определенные функции, а так же так называемые «старшие» и «младшие» байты. Самый популярный фьюз, который выставляется практически всегда, это:

CKSEL , таких фьюзов с разными буквами всего четыре, это группа CKSEL 0, CKSEL 1, CKSEL 2 и CKSEL 3 , определяют частоту тактового генератора, и его тип, тактовые импульсы необходимы для работы практически любого микроконтроллера. Во многих микроконтроллерах есть внутренний генератор, но мы можем подключить внешний и фьюзы выставить для работы от внешнего генератора. Внешний кварцевый резонатор подключается на выводы XTAL 1 и XTAL 2 , кроме того припаивается пара конденсаторов

20пф одним концом на кварц, другим на минус. Если допустить ошибку при установке этих фьюзов, то микроконтроллер может «заблокироваться» для того чтобы восстановить контроллер, подают тактовый сигнал на ногу XTAL1, на данный момент придумано не мало схем для восстановления контроллеров, залоченных таким образом. Этот генератор можно сделать практически из любой логики или даже из таймера 555.

Есть простые схемы, с использованием 1 транзистора, пары резисторов и кварцевого резонатора, и более сложные, на микросхемах типа К155ЛА3. Данные способы 100% оживляют контроллеры с таким дефектом

Группа фьюзов SUT1 и SUT0 — fuse биты, управляющие режимом запуска тактовых генераторов МК, а так же задают скорость старта МК после подачи питания. Связаны с фьюзами CKSEL, а именно CKSEL0.

CKOPT — бит, определяет работу встроенного генератора для работы с кварцевыми резонаторами, устанавливает «амплитуду» колебаний тактового сигнала на кварце. Данный бит программируется достаточно часто.

RSTDISBL – очень опасный фьюз, ошибочная установка может отключить вывод RESET, после чего пропадет возможность программирования ISP программатором. Бит RSTDISBL превращает вывод RESET в порт ввода-вывода.

SPIEN – фьюз, который разрешает работу МК по интерфейсу SPI. Все микроконтроллеры выпускаются с уже установленным битом SPIEN. Считается опасным фьюзом.

EESAVE — Удобно читать как EEPROOM SAVE, дословно означает «сохранить EEPROOM», данный фьюз защищает EEPROM от стирания. Например когда в очередной раз заливаете прошивку в контроллер, можно поставить EESAVE = 0, и при стирании МК EEPROOM останется не тронутым.

BOOTSZ , состоит из группы битов BOOTSZ1 и BOOTSZ0, определяют размер области памяти записываемых программ, связан с битом BOOTRST.

BOOTRST, определяет адрес, с которого и будет начато исполнение программы. Если бит установлен т.е. если BOOTRST = 0, то начало программы будет с адреса области загрузчика (Boot Loader).

BODEN — бит, который при выставлении (BODEN=0), будет контролировать за питающим напряжением, на предельно низких напряжениях микроконтроллер может перезапускаться, глючить и так далее. Связан с BODLEVEL.

BODLEVEL . — определяет момент срабатывания детектора уровня питающего напряжения, при снижении напряжения питания ниже уровня, произойдет «перезагрузка» контроллера.

SELFPRGEN — бит, который разрешает (SELFPRGEN=0) или запрещает (SELFPRGEN =1) программе производить запись в память.

OCDEN – данный фьюз разрешает или запрещает чтение программы из памяти контроллера.

Я как то упоминал в своих статьях про то, что в некоторых программах фьюзы выставляются зеркально. Запомните, запрограммированный фьюз=0 , а не запрограммированный=1. В программах Algorithm Builder, UniProf фьюзы выставляются одним образом, а в программах PonyProg, CodeVisionAVR, AVR Studio, SinaProg и некоторых других, фьюзы нужно выставлять зеркально по сравнению с предыдущим списком программ.

Уже давно на просторах Интернета появились так называемые «калькуляторы фьюзов», это специальные приложения, призванные помочь в конфигурировании микроконтроллера. Приложение интуитивно понятное, думаю разберетесь, в списке контроллеров выбираем нужный нам МК, далее выбираем необходимые функции, а ниже выставляются галочки фьюзов, все очень просто.

Данные приложения очень удобны, т.к. например в последнее время очень часто авторы своих проектов значения фьюзов пишут непонятными буквами или цифрами, или же словами, новичку не понятно, что это значит и какие фьюзы при этом нужно выставлять, (часто можно встретить комментарий к статье «а какие фьюзы выставлять?»). Калькулятор фьюзов нам в этом плане очень сильно помогает.

Думаю что теперь, если у вас спросят «что такое фьюзы, и зачем они нужны?», вы сможете объяснить человеку их назначение, а пока, на этом все!

Asmworld Программирование на ассемблере для начинающих и не только

Учебный курс. Часть 21. Простые процедуры

Автор: xrnd | Рубрика: Учебный курс | 08-07-2010 | Распечатать запись

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

Команды CALL и RET

Для работы с процедурами предназначены команды CALL и RET. С помощью команды CALL выполняется вызов процедуры. Эта команда работает почти также, как команда безусловного перехода (JMP), но с одним отличием — одновременно в стек сохраняется текущее значение регистра IP. Это позволяет потом вернуться к тому месту в коде, откуда была вызвана процедура. В качестве операнда указывается адрес перехода, который может быть непосредственным значением (меткой), 16-разрядным регистром (кроме сегментных) или ячейкой памяти, содержащей адрес.

Возврат из процедуры выполняется командой RET. Эта команда восстанавливает значение из вершины стека в регистр IP. Таким образом, выполнение программы продолжается с команды, следующей сразу после команды CALL. Обычно код процедуры заканчивается этой командой. Команды CALL и RET не изменяют значения флагов (кроме некоторых особых случаев в защищенном режиме). Небольшой пример разных способов вызова процедуры:

use16 ;Генерировать 16-битный код org 100h ;Программа начинается с адреса 100h mov ax,myproc mov bx,myproc_addr xor si,si call myproc ;Вызов процедуры (адрес перехода — myproc) call ax ;Вызов процедуры по адресу в AX call [myproc_addr] ;Вызов процедуры по адресу в переменной call word [bx+si] ;Более сложный способ задания адреса 😉 mov ax,4C00h ;\ int 21h ;/ Завершение программы ;———————————————————————- ;Процедура, которая ничего не делает myproc: nop ;Код процедуры ret ;Возврат из процедуры ;———————————————————————- myproc_addr dw myproc ;Переменная с адресом процедуры

Ближние и дальние вызовы процедур

Существует 2 типа вызовов процедур. Ближним называется вызов процедуры, которая находится в текущем сегменте кода. Дальний вызов — это вызов процедуры в другом сегменте. Соответственно существуют 2 вида команды RET — для ближнего и дальнего возврата. Компилятор FASM автоматически определяет нужный тип машинной команды, поэтому в большинстве случаев не нужно об этом беспокоиться.

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

Передача параметров

Очень часто возникает необходимость передать процедуре какие-либо параметры. Например, если вы пишете процедуру для вычисления суммы элементов массива, удобно в качестве параметров передавать ей адрес массива и его размер. В таком случае одну и ту же процедуру можно будет использовать для разных массивов в вашей программе. Самый простой способ передать параметры — это поместить их в регистры перед вызовом процедуры.

Возвращаемое значение

Кроме передачи параметров часто нужно получить какое-то значение из процедуры. Например, если процедура что-то вычисляет, хотелось бы получить результат вычисления 🙂 А если процедура что-то делает, то полезно узнать, завершилось действие успешно или возникла ошибка. Существуют разные способы возврата значения из процедуры, но самый часто используемый — это поместить значение в один из регистров. Обычно для этой цели используют регистры AL и AX. Хотя вы можете делать так, как вам больше нравится.

Сохранение регистров

Хорошим приёмом является сохранение регистров, которые процедура изменяет в ходе своего выполнения. Это позволяет вызывать процедуру из любой части кода и не беспокоиться, что значения в регистрах будут испорчены. Обычно регистры сохраняются в стеке с помощью команды PUSH, а перед возвратом из процедуры восстанавливаются командой POP. Естественно, восстанавливать их надо в обратном порядке. Примерно вот так:

myproc: push bx ;Сохранение регистров push cx push si . ;Код процедуры pop si ;Восстановление регистров pop cx pop bx ret ;Возврат из процедуры

Пример

Для примера напишем процедуру для вывода собщения в рамке и протестируем её работу, выведя несколько сообщений. В качестве параметра ей будет передаватся адрес строки в регистре BX. Строка должна заканчиваться символом ‘$’. Для упрощения процедуры можно разбить задачу на подзадачи и написать соответствующие процедуры. Прежде всего нужно вычислить длину строки, чтобы знать ширину рамки. Процедура get_length вычисляет длину строки (адрес передаётся также в BX) и возвращает её в регистре AX.

Для рисования горизонтальной линии из символов предназначена процедура draw_line. В DL передаётся код символа, а в CX — количество символов, которое необходимо вывести на экран. Эта процедура не возвращает никакого значения. Для вывода 2-х символов конца строки написана процедура print_endline. Она вызывается без параметров и тоже не возвращает никакого значения. Коды символов для рисования рамок можно узнать с помощью таблицы символов кодировки 866 или можно воспользоваться стандартной программой Windows «Таблица символов», выбрав шрифт Terminal.

use16 ;Генерировать 16-битный код org 100h ;Программа начинается с адреса 100h jmp start ;Переход на метку start ;———————————————————————- msg1 db ‘Hello!$’ msg2 db ‘asmworld.ru$’ msg3 db ‘Press any key. $’ ;———————————————————————- start: mov bx,msg1 call print_message ;Вывод первого сообщения mov bx,msg2 call print_message ;Вывод второго сообщения mov bx,msg3 call print_message ;Вывод третьего сообщения mov ah,8 ;Ввод символа без эха int 21h mov ax,4C00h ;\ int 21h ;/ Завершение программы ;———————————————————————- ;Процедура вывода сообщения в рамке ;В BX передаётся адрес строки print_message: push ax ;Сохранение регистров push cx push dx call get_length ;Вызов процедуры вычисления длины строки mov cx,ax ;Копируем длину строки в CX mov ah,2 ;Функция DOS 02h — вывод символа mov dl,0xDA ;Левый верхний угол int 21h mov dl,0xC4 ;Горизонтальная линия call draw_line ;Вызов процедуры рисования линии mov dl,0xBF ;Правый верхний угол int 21h call print_endline ;Вызов процедуры вывода конца строки mov dl,0xB3 ;Вертикальная линия int 21h mov ah,9 ;Функция DOS 09h — вывод строки mov dx,bx ;Адрес строки в DX int 21h mov ah,2 ;Функция DOS 02h — вывод символа mov dl,0xB3 ;Вертикальная линия int 21h call print_endline ;Вызов процедуры вывода конца строки mov dl,0xC0 ;Левый нижний угол int 21h mov dl,0xC4 ;Горизонтальная линия call draw_line mov dl,0xD9 ;Правый нижний угол int 21h call print_endline ;Вызов процедуры вывода конца строки pop dx ;Восстановление регистров pop cx pop ax ret ;Возврат из процедуры ;———————————————————————- ;Процедура вычисления длины строки (конец строки — символ ‘$’). ;В BX передаётся адрес строки. ;Возвращает длину строки в регистре AX. get_length: push bx ;Сохранение регистра BX xor ax,ax ;Обнуление AX str_loop: cmp byte[bx],’$’ ;Проверка конца строки je str_end ;Если конец строки, то выход из процедуры inc ax ;Инкремент длины строки inc bx ;Инкремент адреса jmp str_loop ;Переход к началу цикла str_end: pop bx ;Восстановление регистра BX ret ;Возврат из процедуры ;———————————————————————- ;Процедура рисования линии из символов. ;В DL — символ, в CX — длина линии (кол-во символов) draw_line: push ax ;Сохранение регистров push cx mov ah,2 ;Функция DOS 02h — вывод символа drl_loop: int 21h ;Обращение к функции DOS loop drl_loop ;Команда цикла pop cx ;Восстановление регистров pop ax ret ;Возврат из процедуры ;———————————————————————- ;Процедура вывода конца строки (CR+LF) print_endline: push ax ;Сохранение регистров push dx mov ah,2 ;Функция DOS 02h — вывод символа mov dl,13 ;Символ CR int 21h mov dl,10 ;Символ LF int 21h pop dx ;Восстановление регистров pop ax ret ;Возврат из процедуры

Результат работы программы выглядит вот так:

Отладчик Turbo Debugger

Небольшое замечание по поводу использования отладчика. В Turbo Debugger нажимайте F7 («Trace into»), чтобы перейти к коду вызываемой процедуры. При нажатии F8(«Step over») процедура будет выполнена сразу целиком.

Упражнение

Объявите в программе 2-3 массива слов без знака. Количество элементов каждого массива должно быть разным и храниться в отдельной 16-битной переменной без знака. Напишите процедуру для вычисления среднего арифметического массива чисел. В качестве параметров ей будет передаваться адрес массива и количество элементов, а возвращать она будет вычисленное значение. С помощью процедуры вычислите среднее арифметическое каждого массива и сохраните где-нибудь в памяти. Выводить числа на экран не нужно, этим мы займемся в следующей части 🙂 Результаты можете писать в комментариях или на форуме.

Комментарии:

Вот, кажется работает. Только вот какая фигня: при делении получается целое в ах и остаток — целое в dx, а ср. арифметическое — целое+дробь. А как такое получить не знаю.
use16
org 100h
jmp start
;————————
array1 dw 1,2,3,4,5,6,6
array2 dw 2,5,6,8,9
array3 dw 5,5,7,6,8,8
n1 dw 7
n2 dw 5
n3 dw 6
sr1 rw 1
sr2 rw 1
sr3 rw 1
;—————————-
start:
mov cx,[n1]
mov bx,array1
call sr_arifm
mov [sr1],ax

mov cx,[n2]
mov bx,array2
call sr_arifm
mov [sr2],ax

mov cx,[n3]
mov bx,array3
call sr_arifm
mov [sr3],ax
jmp quit

sr_arifm:
xor di,di
xor si,si
xor ax,ax
xor dx,dx
mov si,cx

lp:
add ax,[bx+di]
add di,2
jcxz return
loop lp
return:
div si
ret

quit:
mov ax,4c00h
int 21h

Ты все правильно считаешь 🙂 Дробная часть отбрасывается при делении целых чисел, так что остаток можно не учитывать.
Программа написана правильно. Единственное что, можно не обнулять регистр SI в процедуре (но я знаю, тебе так удобнее). И команда JCXZ здесь лишняя, перехода никогда не будет, потому что внутри цикла CX не равно нулю.

Да, с jcxz перемудрил))) по окончании цикла все равно выполнится деление.
Спасибо ждём следующий урок.

Перчатки ПВХ

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

Вес пары: 24-26 гр.
Класс вязки: 10
Количество нитей: 3

Вес пары: 30-32 гр.
Класс вязки: 10
Количество нитей: 3

Вес пары: 34-36 гр.
Класс вязки: 10
Количество нитей: 4

Вес пары: 44-46 гр.
Класс вязки: 10
Количество нитей: 4

Вес пары: 41-43 гр.
Класс вязки: 10
Количество нитей: 5

Вес пары: 50-52 гр.
Класс вязки: 10
Количество нитей: 5

Вес пары: 48-50 гр.
Класс вязки: 10
Количество нитей: 6

Вес пары: 55-57 гр.
Класс вязки: 10
Количество нитей: 6

Состав: 100% акрил

Состав: 100% акрил

Использование перчаток хб с ПВХ.

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

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

Купить перчатки хб оптом в нашей компании — просто!

Хлопчатобумажные (ХБ) перчатки гипоаллергенные, что позволяет их применять в практически в любых условиях, не беспокоясь о негативном воздействии на кожные покровы рук. Текстильная промышленность давно приспособилась к производству хб перчаток в больших количествах. Производство заключается в подготовке заготовок, после чего они направляются на автоматизированные станки, где происходит вязка перчаток.

Перчатки с напылением ПВХ отличают повышенная прочность и функциональность. Резиновые, марлевые и простые хб перчатки без напыления не обладают такими же высокими показателями сопротивления износу и механическим повреждениям. Это подкрепляется повсеместным использованием таких перчаток.

История перчаток х б

Рабочие перчатки х б с напылением ПВХ (Поливинилхлорид) получили большую популярность и высокое применение довольно недавно. Сам поливинилхлорид был изобретен еще 1835 году, однако широкое применение обрел только в 20 веке. И уже во второй половине двадцатого века наряду со стройматериалами стал использоваться в текстильной промышленности в качестве дополнительного слоя для укрепления состава тканей и увеличения износостойкости.

На данный момент перчатки пвх являются незаменимым средством практически во всех областях производства, несмотря на развитие промышленности, технологий и техники. Использование ручного труда и средств для защиты рук будет всегда актуальным и необходимым.

Как крепить к стене тяжелые предметы

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

Сразу стоит заметить, что только к капитальным стенам можно кренить тяжелые предметы. Желательно учитывать этот аспект еще во время проектирования здания. Легкие гипсокартонные перегородки могут быть хорошим вариантом для разделения кухни и гостиной комнаты, но лишь в том случае если с одной стороны стены не нужно вешать шкафчики и полочки, а с другой — телевизор. Подобным образом обстоят дела с каркасными конструкциями из ДСП или SIP-панелей.

В принципе, и на них можно подвешивать «тяжести», но данный подход связан с массой нюансов. Нужно сопоставлять расположение и несущую способность рамы, использовать дополнительные элементы для создания каркаса, применять специальные фиксирующие детали. Кроме того, что такая работа довольно проблематична, остается немалая вероятность обрушения всей конструкции. А это не только приведет к тратам на ремонт или замену «отвалившегося» бойлера, телевизора, шкафчика с посудой. Данная ситуация может стать причиной серьезной травмы.

Каркасные стены и гипсокартонные перегородки стоит использовать как основу под небольшие зеркала, фоторамки, крючки для полотенец и т. д. На пористые основания из керамоблока, пенобетона, ракушника и др. можно вешать тяжелые (до 50 кг.) предметы, но используя специальные крепежи или усиливающий каркас. На кирпичные и бетонные стены можно вешать практически все.

Инструменты

Для подвешивания тяжелых предметов понадобятся:

ДЕТЕКТОР. При планировке и предварительной разметке нужно воспользоваться специальным детектором, который поможет обнаружить скрытые в стене пластик, металл, кабели под напряжением. Инструменты отличаются чувствительностью датчика, то есть возможностью сканировать стену на разную глубину. Также есть градация по типу материала, который распознает система, — не все приборы подходят для комплексной проверки, некоторые рассчитаны, например, только на поиск металла.

ПЕРФОРАТОР ИЛИ УДАРНАЯ ДРЕЛЬ. Обычный инструмент, который имеет лишь функцию сверлении, тоже можно использовать, но работа с ним будет более трудоемкой. Если речь идет о кирпиче, то в принципе можно ограничиться дрелью. А вот для бетонных стен придется дополнительно применять ручное долото и молоток, время от времени пробивая отверстие. Перфоратор же сам не только вращает сверло, но и выполняет ударные поступательные движения, поэтому отлично подходит для полнотелых тяжелых конструкций.

БИТЫ И СВЕРЛА. Их выбирают с учетом материала стены, диаметра требуемого отверстия, типа патрона используемой дрели. Если бурить в бетоне легким сверлом для кирпича, то это займет больше сил и времени. Кроме того, наконечник сверла быстро износится, а двигатель перфоратора будет работать при повышенных нагрузках.

УРОВНИ. Чтобы ровно подвесить какой-либо предмет, нужно обязательно применять уровень. И это требование вызвано не столько эстетическими вопросами, сколько практической составляющей. Во-первых, если один угол полочки будет выше другого, то на место его крепежа придется большая нагрузка. Во-вторых, неровное размещение, например, кухонной вытяжки может стать причиной разбалансировки двигателя, который будет работать под наклоном.

Самые простые и востребованные — спиртовые уровни, помогающие «выровнять» предметы длиной до 2 м. Если речь идет о больших расстояниях, как в случае с полками кухонного гарнитура, то нужно использовать аппараты с лазерным лучом или водяные уровни, работающие по принципу сообщающихся сосудов.

ШУРУПОВЕРТ. Если для работы с деревом и газобетоном подойдет относительно простенькая аккумуляторная отвертка, то для тяжелых стен нужен мощный шуруповерт. При покупке крепежа с собой лучше взять набор сменных бит, чтобы проверить, точно ли они подходят под выбранные шляпки.

ПОЛЕЗНЫЕ МЕЛОЧИ. Очки, перчатки, карандаш, маркер, изолента, молоток, плоскогубцы, гаечные ключи, клеенка.

Ударная дрель может справиться со всеми материалами, кроме бетона и камня. Для последних нужно использовать мощный перфоратор
Через отверстие в детекторе маркируют места, безопасные для сверления
Чтобы не повредить отделку стены, при забивании дюбелей лучше использовать резиновый молоток
Большинство измерительных работ выполняют обычным уровнем, но максимальную точность может обеспечить лишь лазерный
Чем сложнее форма дюбеля, тем надежнее будет крепеж

Тип нагрузки
Важно понимать, что есть динамические нагрузки, а есть статические. В последнем случае все относительно просто — нужно сопоставить вес того же бойлера или кондиционера с несущей способностью стены и выбрать соответствующий крепеж. Например, для бойлера емкостью 100 л нужны анкеры, выдерживающие 150 кг. Но для турника или брусьев, подвешенных на стену, недостаточно сложить массу конструкции и вес наиболее тяжелого спортсмена. Если сама рама весит 10 кг, а занимающийся на ней человек — 90 кг, то общее значение в 100 кг совсем не значит, что нужны те же анкеры на 150 кг. Поскольку нагрузка будет не постоянная, а рывками (на вырывание), стоит обеспечить больший запас прочности, выбрав крепеж с несущей способностью 200 кг.

Окончания крепежных элементов могут быть выполнены в виде шляпки или шестигранника (для простой фиксации несущей рамы), кольца (для крепежа светильника), уголка (для навешивания каких-то деталей).

Крепеж

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

Тип внутренней гильзы, а также диаметр и длину фиксирующих элементов подбирают в соответствии со стеновым материалом и весом конструкции (плюс запас). Чтобы не ошибиться, нужно использовать каталоги производителей, в которых приводятся расчетные таблицы для каждого продукта. Впрочем, эту задачу могут решить и консультанты строительных супермаркетов.
Достаточно предоставить им следующие данные:
— материал и толщина стены;
— вес подвешиваемой конструкции;
— количество точек для фиксации.

Несмотря на то, что окончательный и точный выбор крепежа зависит от отдельной ситуации, можно выделить общие подвиды монтажных элементов, используемых для фиксации тяжелых предметов на стенах из разных материалов.

Монтажные работы

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

В пустотелых кирпичах и газобетоне отверстия для анкеров и дюбелей проделывают только в режиме «сверление». В более твердых стенах (например, из полнотелого кирпича) отверстия делают в режиме «сверление с долблением» (с большой частотой легких ударов). При работе с бетоном используют режим «перфорирование». Чтобы не повредить материал отделки стены, нужно учесть его тип. Если это плитка, то ее в любом случае нужно «проходить» простым сверлением без удара. Иначе она может треснуть.

Чтобы сверло не скользило, место «бурения» предварительно нужно накернить гвоздем или заклеить изолентой. Распорная гильза должна полностью входить в стену, то есть быть утоплена глубже плитки или хотя бы заподлицо с ней, но никак не выходить наружу.

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

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

Оставить комментарий

avatar
  Подписаться  
Уведомление о