Радиотехника | Электротехника | Строительство | Растениеводство | Учёба | Книги | Фильмы | Игры | Вопросы-ответы | Визитка

Главы страницы

  1. Как сделать заземляющее устройство
  2. Как сделать расчёт контура
  3. Библиотечный файл на Go
  4. Главный файл на Go
  5. Makefile
  6. Результат расчёта
  7. Эпилог

Как самому расчитать и сделать заземляющее устройство -- контур заземления

Заземляющее устройство с вынутым грунтом

Использована методика учебника для вузов

  1. Атабеков Вильм Борисович. Заземляющие устройства электрических сетей и подстанций. Справочник. М., Стройиздат -- 1967

Как сделать заземляющее устройство

Последовательность работы:

  1. Выкопать траншею глубиной 0,5-1 метр, длину -- взять из произведённого расчёта;
  2. Вертикальные заземлители (круг диметром более 16 мм, труба ДУ больше 40 мм, уголок с полкой не менее 50 мм) забить в траншее через удвоенную их длину -- взять из произведённого расчёта;
  3. Проложить горизонтальный заземлитель ( полоса, арматура: суммарное сечение не менее 160 мм2) от мачты к каждому вертикальному заземлителю;
  4. Соединить всё электросваркой ( длина непрерывного сварочного шва должна быть более 100 мм);
  5. Прокрасить все сварочные швы битумным лаком ( БТ-577 или подобным) ;
  6. Сравнить с фото выше, если что-то не так -- переделать;
  7. Сфотографировать и нарисовать всё на плане сверху с привязками к окружающим предметам (мачта, угол здания, дерево и т.п.) для будущего ремонта и проверки:
  8. Засыпать траншею мягким грунтом;
  9. Провести замер растекания постоянного тока заземляющего устройства.

Как сделать расчёт контура

Последовательность работы:

  1. Запустить на выполнение в терминале: go run kontur.go.
  2. Внести входные данные
  3. Получить первый результат и скорректировать входные данные
  4. Повторять шаг 3 до получения нужного результата
  5. Распечатать или записать результат и приступить выполнению работ.

Потратив время на уточнение данных, можно получить реальную экономию железа и объёмов работ.

Библиотечный файл на Go

package kdoc

/*import(
    "e;fmt"e;
)
*/
func Grunt( ) string {
    s:=`
    ------------------------------
        Удельное
     сопротивление       Грунт 
        Ом/метр
     -------------------------------
       10    Смешанный грунт (глина+щебень+известняк)
       20    Торф
       30    Чернозем
       50    Садовая земля
       70    Глина (слой 8-10м, далее скала,гравий)
      100    Суглинок 
      300    Супесок 
      500    Песок влажностью 10%
     2000    Песок сухой 
     2500    Гравий, щебень 
     4000    Каменистые почвы
     `
     return s
}

func Line1( ) string {
    s:=`
    Вертикальный заземлитель:
     Кол-во    Коэф.        Коэф.        Коэф.     
     заземл.   экранир.     экранир.     экранир.  
               при кратн.   при кратн.   при кратн.
               расст/дл=1   расст/дл=2   расст/дл=3
    ------------------------------------------------
     2         0.84-0.87    0.90-0.92    0.93-0.95
     3         0.76-0.80    0.85-0.88    0.90-0.92 
     5         0.67-0.72    0.79-0.83    0.85-0.88
     10        0.56-0.62    0.72-0.77    0.79-0.83
     15        0.51-0.56    0.66-0.73    0.76-0.80
     20        0.47-0.50    0.65-0.70    0.74-0.79
    ------------------------------------------------

    Горизонтальный заземлитель:
     Кол-во    Коэф.        Коэф.        Коэф.     
     верт.     экранир.     экранир.     экранир.  
     заземл.   при кратн.   при кратн.   при кратн.
               расст/дл=1   расст/дл=2   расст/дл=3
    ------------------------------------------------
     4         0.77         0.89         0.92     
     8         0.67         0.79         0.85      
     10        0.62         0.75         0.82     
     20        0.42         0.56         0.68     
     30        0.31         0.46         0.58     
     50        0.21         0.36         0.49     
    ------------------------------------------------


    `
    return s
}


func Line2( ) string {
    s:=`
     Кол-во    Коэф.        Коэф.        Коэф.     
     заземл.   экранир.     экранир.     экранир.  
               при кратн.   при кратн.   при кратн.
               расст/дл=1   расст/дл=2   расст/дл=3
    ------------------------------------------------
     4         0.66-0.72    0.76-0.80    0.84-0.86
     6         0.58-0.65    0.71-0.75    0.78-0.82 
     10        0.52-0.58    0.66-0.71    0.74-0.78
     20        0.44-0.50    0.61-0.66    0.68-0.73
     40        0.38-0.44    0.55-0.61    0.64-0.69
     60        0.36-0.42    0.52-0.58    0.62-0.67
    ------------------------------------------------

    Горизонтальный заземлитель:
     Кол-во    Коэф.        Коэф.        Коэф.     
     верт.     экранир.     экранир.     экранир.  
     заземл.   при кратн.   при кратн.   при кратн.
               расст/дл=1   расст/дл=2   расст/дл=3
    ------------------------------------------------
     4         0.45         0.55         0.70     
     8         0.36         0.43         0.60      
     10        0.34         0.40         0.56     
     20        0.27         0.32         0.45     
     30        0.24         0.30         0.41     
     50        0.21         0.28         0.37     
    ------------------------------------------------


    `
    return s
}

func Info( ) string {
    s:=`
    Источник -- Атабеков Вильм Борисович. Заземляющие устройства электрических сетей и подстанций. Справочник. М., Стройиздат -- 1967
    Автор Абдуразаков О.Х.: olab@email.su
    `
    return s
}

func Tabl(){

}


Главный файл kontur.go

 
package main

import (
	"e;flag"e;
	"e;fmt"e;
	"e;os"e;
  "e;math"e;
  "e;./kdoc"e;
)

var VERSION="e;0-5.5"e;
var r_gorizont = 0.0
type Kontur struct {
	n         float64   //кол-во верт. заз.
	ro        float64   // удельное сопротивление грунта
	r_kont    float64   //R контура
	nu        float64   //коэф.экранир. верт. заз.
	nu_pol    float64   //коэф.экранир. гор. заз.
	l         float64   //длина верт. заземлителя
	r_zazeml  float64   // R верт. заземлителя
	d         float64   // диаметр верт. заз.
	k_kratn   float64   // коэф.кратности
	lpol      float64   // длина полосы
	h         float64   //глубина заложения полосы
	b         float64   //ширина полосы
	r_pol     float64   //R полосы
}
func (k *Kontur) rz() float64 {
    ln:=math.Log(4*k.l/k.d)
//    fmt.Println(ln)
    k.r_zazeml=(k.ro/(6.28*k.l))*ln
    fmt.Printf( "e;%12.3f Ом -сопротивление 1-го верт.заземлителяn"e;,k.r_zazeml )
    return k.r_zazeml
}
func (k *Kontur) rpol() float64 { //R полосы
    ln:=math.Log( ( 2*k.lpol*k.lpol ) / ( k.b*k.h ) )
//    fmt.Println(ln)
    k.r_pol=( k.ro/( 6.28*k.lpol ) )*ln
    fmt.Printf( "e;%12.3f Ом -сопротивление горизонтального заземлителяn"e;,k.r_pol)
    return k.r_pol
}
func (k *Kontur) nf(){  //кол-во заземлителей
    k.n = float64( int( k.r_zazeml/( k.nu*k.r_kont ) ) )
    fmt.Printf("e;%12d шт. заземлителейn"e;,int(k.n))
}
func (k *Kontur) area() float64 {
    var a float64
    if( r_gorizont == 0 ) { a = k.l*k.l*k.n
    } else { a = 2*k.l*k.lpol }
    return a
}
func (k *Kontur) len() float64 {
    return k.l*k.n
}

var  k=new(Kontur)
func main() {
  kl  := flag.Float64("e;l"e;, 1.5, "e;длина заземлителя,м"e;)
  gorizont := flag.Int64( "e;gorizont"e;, 1, "e;0 - не учитывать горизонтальный заземлитель"e; )
  knu := flag.Float64("e;nu"e;, 0.42, "e;коэф. экранирования верт. заземлителя"e;)
  knu_pol := flag.Float64("e;nu_pol"e;, 0.21, "e;коэф. экранирования гориз. заземлителя"e;)
  kkr := flag.Float64("e;kr"e;, 1, "e;коэф. кратности длины верт.заземлителя к расстоянию между заземлителями (шага)"e;)
  kro := flag.Float64("e;ro"e;, 300, "e;удельное сопротивление грунта, ом/м"e;)
  kd  := flag.Float64("e;d"e;, 0.063, "e;диаметр верт. заземлителя,м"e;)
  kb  := flag.Float64("e;b"e;, 0.040, "e;ширина гориз. заземлителя ( полосы ),м"e;)
  kh  := flag.Float64("e;h"e;, 0.7, "e;глубина гориз. заземлителя ( полосы ),м"e;)
  kr_kont:= flag.Float64("e;R"e;, 4, "e;сопротивление контура,ом"e;)
  k_doc := flag.String("e;doc"e;, "e;"e;, "e;grunt грунт line в_линию kontur по_контуру info инфо"e;)
	flag.Parse()
  if( *k_doc=="e;grunt"e;||*k_doc=="e;грунт"e; ){
      fmt.Println( kdoc.Grunt() )
      os.Exit( 0 )
  }
  if( *k_doc=="e;line"e;||*k_doc=="e;в_линию"e; ){
      fmt.Println( kdoc.Line1() )
      os.Exit( 0 )
  }
  if( *k_doc=="e;kontur"e;||*k_doc=="e;по_контуру"e; ){
      fmt.Println( kdoc.Line2() )
      os.Exit( 0 )
  }
  if( *k_doc=="e;info"e;||*k_doc=="e;инфо"e; ){
      fmt.Println( kdoc.Info() )
      os.Exit( 0 )
  }
	k.l     = *kl
	k.nu    = *knu
	k.nu_pol = *knu_pol
	k.k_kratn = *kkr
	k.ro    = *kro
	k.d     = *kd
	k.b     = *kb
	k.h     = *kh
	k.r_kont= *kr_kont
  fmt.Println()
  fmt.Println("e;version"e;,VERSION)
  fmt.Println("e;-doc grunt  -получение справки по грунтам"e;)
  fmt.Println("e;-doc line   -получение справки по коэф. линейного контура"e;)
  fmt.Println("e;-doc kontur -получение справки по коэф. замкнутого контура"e;)
  fmt.Println("e;-doc info   -получение справки "e;)
  fmt.Println()
  fmt.Println("e;Входные данные:"e;)
	fmt.Printf("e;%12.3f м  -длина верт.заземлителяn"e;, k.l )
	fmt.Printf("e;%12.3f -коэф. экранирования верт.заземлителяn"e;,k.nu)
	fmt.Printf("e;%12.3f -коэф. экранирования гор.заземлителя( полосы )n"e;, k.nu_pol )
	fmt.Printf("e;%12.3f -коэф. кратности шага заземлителейn"e;, k.k_kratn )
	fmt.Printf("e;%12.3f Ом/м -удельное сопротивление грунтаn"e;, k.ro )
	fmt.Printf("e;%12.3f м  -диаметр верт.заземлителяn"e;, k.d )
	fmt.Printf("e;%12.3f м  -ширина гор.заземлителя ( полосы )n"e;, k.b )
	fmt.Printf("e;%12.3f м  -глубина заложения гор.заземлителя ( полосы )n"e;, k.h )
  fmt.Printf("e;%12.3f Ом -начальное сопротивление контураn"e;, k.r_kont )
  fmt.Println()
  fmt.Println("e;Выходные данные:"e;)
  k.rz()
  k.nf()
  k.lpol =  k.len()*k.k_kratn
  if( *gorizont == 1 ){
      r_gorizont=k.rpol()/k.nu_pol
//      fmt.Println( r_gorizont,k.r_kont )
      k.r_kont = (  r_gorizont  *  k.r_kont  ) / ( r_gorizont + k.r_kont )
//      fmt.Println(r_gorizont,k.r_kont  )
  }
  fmt.Printf("e;%12.3f м  -общая длина вертикальных заземлителейn"e;, k.len())
  if( *gorizont == 1 ) {
      fmt.Printf( "e;%12.3f м  -общая длина горизонтального заземлителяn"e;, k.lpol )
  }
  fmt.Printf( "e;%12.3f м2 -площадь растекания, используемая контуромnn"e;, k.area())
  fmt.Printf( "e;%12.3f Ом -расчетное сопротивление контура nn"e;,k.r_kont )
}


Makefile

all:
	go run kontur.go -doc grunt

b:
	go build kontur.go

Результат расчёта


version 0-5.5
-doc grunt  -получение справки по грунтам
-doc line   -получение справки по коэф. линейного контура
-doc kontur -получение справки по коэф. замкнутого контура
-doc info   -получение справки 

Входные данные:
       2.000 м  -длина верт.заземлителя
       0.730 -коэф. экранирования верт.заземлителя
       0.450 -коэф. экранирования гор.заземлителя( полосы )
       3.000 -коэф. кратности шага заземлителей
      20.000 Ом/м -удельное сопротивление грунта
       0.050 м  -диаметр верт.заземлителя
       0.040 м  -ширина гор.заземлителя ( полосы )
       0.500 м  -глубина заложения гор.заземлителя ( полосы )
       2.000 Ом -начальное сопротивление контура

Выходные данные:
       8.081 Ом -сопротивление 1-го верт.заземлителя
           5 шт. заземлителей
       1.211 Ом -сопротивление горизонтального заземлителя
      10.000 м  -общая длина вертикальных заземлителей
      30.000 м  -общая длина горизонтального заземлителя
     120.000 м2 -площадь растекания, используемая контуром

       1.147 Ом -расчетное сопротивление контура 


version 0-5.5
-doc grunt  -получение справки по грунтам
-doc line   -получение справки по коэф. линейного контура
-doc kontur -получение справки по коэф. замкнутого контура
-doc info   -получение справки 

Входные данные:
       1.000 м  -длина верт.заземлителя
       0.740 -коэф. экранирования верт.заземлителя
       0.560 -коэф. экранирования гор.заземлителя( полосы )
       3.000 -коэф. кратности шага заземлителей
     500.000 Ом/м -удельное сопротивление грунта
       0.025 м  -диаметр верт.заземлителя
       0.040 м  -ширина гор.заземлителя ( полосы )
       1.000 м  -глубина заложения гор.заземлителя ( полосы )
      60.000 Ом -начальное сопротивление контура

Выходные данные:
     404.074 Ом -сопротивление 1-го верт.заземлителя
           9 шт. заземлителей
      30.973 Ом -сопротивление горизонтального заземлителя
       9.000 м  -общая длина вертикальных заземлителей
      27.000 м  -общая длина горизонтального заземлителя
      54.000 м2 -площадь растекания, используемая контуром

      28.780 Ом -расчетное сопротивление контура 

Расход стали ( с учетом обвязки фундамента ) :
         18 м уголок 25 или круг 22
         24 м уголок 50 
        108 м полоса 40х4

Расход торфа:
         8 м3 для контура ТП

Расход земляных работ:
        27 м3 выемки для траншей
         5 м3 выемки для мачт
         3 м3 выемки для фундамента
         8 м3 перемещения через пути
        35 м3 обратной засыпки
        11 м3 планировки
Подъемно-транспортные работы:
         2 мачты
         4 ФБС
         8 м3 торфа с перемещением через пути


Эпилог

Функции программы документированы, переменные имеют доступные имена.

Но если понадобится помощь -- обращайтесь