Pengarang: Eugene Taylor
Tarikh Penciptaan: 13 Ogos 2021
Tarikh Kemas Kini: 1 Julai 2024
Anonim
Mengawal Motor Stepper Menggunakan Maker Drive dan Raspberry Pi
Video.: Mengawal Motor Stepper Menggunakan Maker Drive dan Raspberry Pi

Kandungan

Dalam artikel ini: Pasang OSTownload NOOBSFormater kad SDCopier NOOBS pada kad SDDisangani tangan Raspberry piKonfigurasi rangkaianInstall Geany IDPower enjin DC dalam Python (Pengkelasan bahagian) Selesaikan sambunganPilot enjin DC dalam Python (bahagian pengaturcaraan) Challenge 1 challenge5 Rujukan

Raspberry Pi adalah komputer saiz kad kredit. Ia direka bentuk dan dihasilkan oleh Yayasan Raspberry yang merupakan organisasi nirlaba yang didedikasikan untuk menjadikan komputer dan program sebagai yang paling mudah dicapai. Misi asli projek Raspberry adalah untuk merancang komputer semurah mungkin dengan keupayaan pengaturcaraan yang baik. Jadi, letakkan di tangan para pelajar. Panduan ini bertujuan untuk meletakkan asas bagi penggunaan Raspberry Pi dan dengan itu memudahkan pengendaliannya.

Amaran. Artikel ini adalah untuk orang yang mempunyai latar belakang komputer yang baik.


peringkat

Bahagian 1 Pasang OS

  1. Fahami apa yang NOOBS (New Out Of Box Stoftware). Ia adalah pengurus pemasangan bagi pelbagai sistem operasi yang boleh digunakan dengan Raspberry Pi. Tujuannya adalah untuk memudahkan pemasangan sistem operasi (OS) pilihan kami. Ini adalah kenalan pertama yang akan kita dapati dengan bahagian perisian komputer mikro kami. Sistem pengendalian berikut dimasukkan dalam NOOBS:
    • Raspbian
    • Pidora
    • OpenELELC
    • RaspBMC
    • OS RISC
    • Arch Linus
    • Peralatan yang diperlukan untuk tutorial ini adalah:
    • PC
    • Kad kelas 4 SD sekurang-kurangnya 8 GB
      • Kotak asal yang mengandungi Raspberry Pi sudah mengandungi kad memori SD yang telah dipasang sebelumnya dengan NOOBS. Oleh itu, langkah-langkah berikut hanya berguna ketika memasang pada kad SD baru.

Bahagian 2 Muat turun NOOBS




  1. Anda boleh memuat turun "NOOBS" di alamat berikut: noobs

Bahagian 3 Format kad SD

  1. Ia adalah penting untuk mempunyai kad SD sekurang-kurangnya 4 GB. Walau bagaimanapun, 8 GB adalah ukuran yang disyorkan.

Bahagian 4 Salin NOOBS ke SD Card

  1. Ekstrak fail. Ekstrak dokumen dari fail zip bernama NOOBS yang dimuat turun dalam langkah pertama. Salin fail yang diekstrak ke kad SD yang baru diformat. Hati-hati, bagaimanapun, dalam beberapa kes, fail yang diekstrak boleh pergi ke folder baru dan dalam kes ini lebih baik menyalin fail itu sendiri daripada folder.
    • Apabila anda mula-mula mula, senarai sistem pengendalian yang tersedia akan dipaparkan.

Bahagian 5 Mengambil kawalan pi Raspberry

  1. Untuk menggunakan Raspberry Pi, ikuti langkah-langkah di bawah.
    • Masukkan kad SD ke Raspberry sehingga anda mendengar "klik".
    • Sambungkan kabel HDMI dan hubungkannya ke skrin. Ingat untuk menyambung dan menghidupkan
    • skrin. Kuasa Raspberry dengan Pengecas USB Mikro
    • Palamkan papan kekunci dan tetikus ke dalam mana-mana port USB.




    • Selepas melakukan langkah-langkah ini, anda akan melihat pada monitor anda bahawa perisian NOOBS sedang dimuatkan. Setelah dimuatkan, satu senarai sistem operasi yang boleh dipasang akan muncul. Raspbian adalah OS yang disyorkan untuk pemasangan. Pilih Raspbian dan klik butang "pasang" yang terletak di bahagian atas tetingkap.





  2. Pemasangan mengambil masa kira-kira 20 minit. Apabila pemasangan selesai, skrin arahan hitam muncul. Ia kemudiannya perlu untuk dimasukkan, apabila diminta oleh program tersebut, nama pengguna: "pi" dan kata laluan: "raspberry". Kemudian, taipkan yang berikut dalam baris arahan dan tekan kekunci "Enter":

    startx

  3. Tahniah! Anda telah berjaya memasang persekitaran yang diperlukan untuk menggunakan pi Raspberry anda :)! Sekarang kita akan meneruskan ke konfigurasi rangkaian.

Bahagian 6 Konfigurasikan rangkaian

Sambung ke internet. Sebaik sahaja Raspberry Pi berfungsi, apa yang mesti dilakukan seterusnya adalah untuk membuat sambungan ke internet untuk Raspberry Pi. Setelah ini selesai, anda akan dapat melayari internet sama seperti komputer yang sama sekali berbeza. Terdapat dua cara untuk menyediakan sambungan anda, sama ada berwayar (dengan kabel Ethernet) atau secara wayarles melalui Wi-Fi. Ikuti langkah-langkah ini untuk menyediakan rangkaian anda.

Konfigurasikan rangkaian berwayar

  1. Peralatan yang diperlukan adalah:
    • Pi Raspberry berfungsi (lihat Bermula dengan Raspberry Pi)
    • kabel Ethernet
  2. Cukup hubungkan salah satu kepala kabel Ethernet ke port yang disediakan di Raspberry Pi dan yang lain ke modem atau penghala akses Internet. Akibatnya, Raspberry Pi akan disambung secara automatik ke internet.

Sediakan rangkaian wayarles (SSH / wifi)

  1. Peralatan yang diperlukan adalah:
    • Raspberry Pi berfungsi (lihat Raspberry Pi 3)
    • kunci USB wifi
  2. Palamkan tong wifi USB ke salah satu pelabuhan yang tersedia di Raspberry Pi.


  3. Buka perkhidmatan persediaan wifi dengan mengetik ikon dalam menu.
    • Selepas membuka perkhidmatan, anda akan melihat antara muka yang berikut.





  4. Klik pada butang imbasan. Tetingkap baru akan muncul. Oleh itu, ia akan doublecliquer rangkaian yang kita mahu gunakan.


  5. Masukkan kata laluan. Masukkan kata laluan akses rangkaian dalam medan Kunci Pra-Dikongsi (PSK) seperti yang ditunjukkan di bawah.
    • Sekarang, klik "Simpan" dan tambah rangkaian. Selepas melakukan ini, anda akan disambungkan ke rangkaian internet.



Bahagian 7 Pasang Geany IDE

  1. Geany adalah penerbit ringan dan ringan menggunakan GTK + dan Scintilla dan termasuk ciri-ciri asas persekitaran pembangunan bersepadu. Direka untuk mempunyai beberapa kebergantungan dan mula dengan cepat, ia menyokong bahasa C / C ++, Java, JavaScript, PHP, HTML, CSS, Python, Perl, Ruby, Pascal dan Haskell.


  2. Buka command prompt dalam menu.
  3. Masukkan baris perintah "sudo root" untuk berada dalam folder root Raspberry. Kemudian masukkan nama pengguna "pi" dan kata laluan "raspberi".
  4. Masukkan baris arahan berikut.

    apt-get install python geany xterm

  5. Pemasangan mengambil masa beberapa saat.
  6. Buka Geany IDE dalam menu.



  7. Anda kini boleh menulis program pertama anda dengan membuat fail pertama anda dalam tab "fail".


  8. Setelah kod anda ditulis, semua yang perlu anda lakukan ialah mendaftar dan menyusun kod.

Bahagian 8 Memandu Motor DC dalam Python (Bahagian Pendawaian)

Di bahagian ini, kami akan menunjukkan kepada anda cara mengendalikan motor DC ke Raspberry Pi dan bagaimana untuk membuat program kecil di python yang dapat mengubah kelajuan putaran dan arah motor DC.



  1. Tutorial kecil ini mungkin akan membantu anda kemudian untuk merealisasikan projek robot anda.
  2. Memahami prinsip. Pertama sekali, anda mesti tahu itu motor DC tidak bersambung terus kepada pin GPIO Ras Raspberry. Malah, semasa yang akan digunakan untuk memutarkan enjin (s) akan cukup tinggi untuk Raspberry Pi kecil kami dan ia boleh rosak.
    • Itulah sebabnya kita akan menggunakan cip yang direka untuk mengawal sehingga dua motor DC. Cip L293D.



    • Ciri penting Raspberry Pi adalah barisan pin GPIO di sudut papan. Mana-mana pin GPIO boleh ditetapkan dalam pengaturcaraan sebagai pin input atau output.



  3. Kawat L293D.
    • Pins 4, 5, 12 dan 13 daripada L293D mesti disambungkan ke GND seperti yang dapat dilihat pada gambar. Pin 16 daripada L293D membolehkan ia dikuasakan. Kami akan memakannya dalam 5V. Voltan ini tidak dihantar ke motor, tetapi hanya untuk cip L293D.



    • Untuk kuasa motor, gunakan pin 8 daripada L293D (terminal positif) yang disambungkan ke bateri atau bateri. Terminal negatif mesti dihubungkan ke tanah (GND). Berhati-hatilah untuk tidak melebihi had voltan untuk motor.





  4. Sambungkan motor. Untuk menyambungkan motor pertama, silakan sambungkannya ke pin 3 dan 6 (Output 1A dan 1B) dari cip L293D.

Bahagian 9 Lengkapkan sambungan

  1. Pin 1 daripada cip L293D adalah "membolehkan" pin motor pertama. Apabila pin ini secara logiknya "tinggi", motor berjalan pada kelajuan maksimum dan apabila pin ini secara logiknya "rendah", motor itu terhenti. Untuk membolehkan kelajuan dikurangkan kepada enjin, sudah cukup untuk bermain di kedua-dua negeri dengan menukarnya dengan cepat. Ini dipanggil "PWM" (Pulse Width Modulation). Kami akan menghubungkan pin 1 cip L293D ke pin 22 dari Raspberry Pi untuk mengawal kelajuan.
    • Untuk mengawal arah putaran motor, anda perlu bersenang-senang dengan pin 2 dan 7 cip L293D. Apabila pin 2 adalah "tinggi" dan pin 7 adalah "rendah", motor akan berputar dalam satu arah. Sekiranya kedua-dua keadaan logik dibalikkan antara dua pin ini, motor akan beralih ke arah yang lain. Kami akan menyambungkan cip l293D 2 pin ke pin Raspberry 18 dan cip l293D 7 pin ke pin Raspberry 16.



Bahagian 10 Memandu enjin DC di Python (bahagian pengaturcaraan)

  1. Kod kecil ini memungkinkan untuk mengawal arah dan kelajuan putaran enjin. Ia bertukar pertama dalam satu arah dengan kelajuan tinggi selama 3 saat. Kemudian pada kelajuan berkurang. Kemudian, arah putaran diterbalikkan dan motor berjalan pada kelajuan yang berkurang kemudian dengan laju yang tinggi. Kami kini membiarkan anda meneroka kod ini:

    import GPIO.setmode (GPIO.BOARD) GPIO dari waktu impor tidur RPi.GPIO

  2. Sekarang kita boleh mengkonfigurasi port GPIO.

    Motor1A = 16 ## Output A motor pertama, pin 16 Motor1B = 18 ## Output B motor pertama, pin 18 Motor1E = 22 ## Membolehkan motor pertama, pin 22 GPIO.setup (Motor1A, GPIO.OUT) ## 3 pin adalah output (OUT) GPIO.setup (Engine1B, GPIO.OUT) GPIO.setup (Engine1E, GPIO.OUT)

  3. Di sini kita mengkonfigurasi PWM.

    pwm = GPIO.PWM (Motor1E, 50) ## Pin 22 di PWM pada kekerapan 50Hz pwm.start (100) ## kita melakukan dengan kitaran tugas sebanyak 100%

  4. Negeri port GPIO aktif.

    "Putaran arah langsung, kelajuan maksimum dengan kitaran tugas sebanyak 100%" GPIO.output (Motor1A, GPIO.HIGH) GPIO.output (Motor1B, GPIO.LOW) GPIO.output (Motor1E, GPIO.HIGH)

  5. Sekarang, biarkan enjin berjalan selama 3 saat.

    tidur (3)

  6. Kitaran tugas ditukar kepada 20% untuk mengurangkan kelajuan.

    pwm.ChangeDutyCycle (20)

  7. "Putaran arah terus, dengan kitaran tugas 20%" tidur (3) "Putaran terbalik, dengan kitar bertugas sebanyak 20%" GPIO.output (Motor1A, GPIO.LOW) GPIO.output (Motor1B, GPIO.HIGH) tidur (3) pwm.ChangeDutyCycle (100) "Putaran terbalik, kelajuan maksimum (kitaran duti 100%)" tidur (3) "Stop engine" GPIO.output (Engine1E, GPIO.LOW) pwm.stop () ## hentikan PIO GPIO.cleanup ()

Bahagian 11 cabaran pertama

Buat kod kecil dengan dua enjin kali ini. Terserah anda!

Gunakan sensor ultrasound HC-SR04 (pendawaian)

  1. Peralatan yang diperlukan untuk tahap ini adalah:
    • modul ultrasound HC-SR04,
    • rintangan 1 kΩ,
    • rintangan 2 kΩ,
    • kabel sambungan,
    • sebuah Breadboard
    • Sensor ultrasonik HC-SR04 mengukur jarak 2 hingga 400 cm dengan menghantar isyarat bunyi pada 40 kHz. Sebagai fungsi masa yang memisahkan pelepasan dari penerimaan isyarat ultrasound, jarak dijumpai dengan pengiraan.



  2. The HC-SR04 mempunyai 4 pin:
    • pin (Gnd), digunakan untuk meletakkan modul ke tanah (0 V),
    • pin output (Echo), digunakan untuk memaklumkan akhir pelepasan kereta api dultrason dan pulangannya selepas refleksi pada halangan,
    • pin input (Trig untuk Trigger), digunakan untuk mencetuskan pelepasan kereta api dultrason,
    • pin (Vcc), digunakan untuk menggerakkan sensor dalam 5 V.
      • Voltan keluaran yang disampaikan oleh pin Echo ialah 5V. Walau bagaimanapun, pin input (GPIO) dari Rapsberry Pi direka untuk 3.3V.
    • Oleh itu, untuk mengelak daripada merosakkan Pi Rapsberry, gunakan jambatan pembahagi voltan yang terdiri daripada dua perintang untuk mengurangkan voltan keluaran sensor.



  3. Pada masa itu, seperti yang anda lihat di atas, pasangkan:
    • pain "Vcc" pada 5 V dari Raspberry Pi (benang merah)
    • pin "Trig" pada PIN GPIO 23 (pin 16) dari Raspberry (benang kuning)
    • pin "Echo" pada pin GPIO 24 (pin 18) daripada Raspberry (dawai biru)
    • GND pain dengan Raspberry GND (wayar hitam)
  4. Jangan lupa dua perlawanan kecil anda!
    • Sensor kini disambungkan ke Raspberry Pi. Ia telah hilang untuk pengaturcaraan python!

Gunakan sensor ultrasound HC-SR04 (bahagian pengaturcaraan)

  1. Sebagai langkah pertama, perpustakaan yang berbeza mesti diimport ke:
    • Pengurusan pelabuhan GPIO.
    • pengurusan jam

      import RPi.GPIO sebagai masa import GPIO GPIO.setmode (GPIO.BCM)

  2. Kita mesti mengenal pasti pin yang berbeza yang akan kita gunakan. Dalam kes kami, pin output "GPIO 23" (TRIG: isyarat pencetus kepada sensor ultrasonik) dan input pin "GPIO 24" (ECHO: perolehan isyarat semula).

    TRIG = 23 ECHO = 24

  3. Sekarang kita boleh mengkonfigurasi port GPIO.

    GPIO.setup (TRIG, GPIO.OUT) GPIO.setup (ECHO, GPIO.IN)

  4. Untuk memastikan bahawa pin "Trig" pada mulanya rendah, kami akan menetapkannya kepada "Palsu" dan memberi masa menunggu supaya sensor dapat menetapkan semula.

    GPIO.output (TRIG, Palsu) "Menunggu Untuk Sensor Untuk Menyelesaikan" time.sleep (2)

  5. Sensor ultrasonik memerlukan denyut 10 μs untuk mengaktifkan modulnya. Untuk membuat pencetus, pin Trig mesti dipaksa tinggi untuk 10 μs dan kemudian set semula ke tahap rendah:

    GPIO.output (TRIG, True) time.sleep (0.00001) GPIO.output (TRIG, Palsu)

  6. Untuk menentukan masa kejadian yang berlainan daripada perubahan keadaan pin, kita akan menggunakan gelung sementara dan fungsi time.time (). Mengesan perubahan keadaan isyarat. Langkah pertama adalah untuk mengesan dan menentukan masa segera sebelum keadaan berubah dari keadaan rendah ke keadaan yang tinggi. Masa ini (pulse_start) akan menjadi akhir dari pelepasan kereta api dultrason oleh sensor.

    manakala GPIO.input (ECHO) == 0: pulse_start = time.time ()

  7. Sebaik sahaja kereta ultrasonik dipancarkan, pin Echo akan tetap tinggi sehingga ultrabunyi dicerminkan oleh penghalang penghalang. Kami kemudian cuba mengesan semula pertukaran isyarat Echo ke keadaan yang rendah. Masa ini dicop (pulse_end) akan menjadi pengesanan pulangan ultrasound.

    manakala GPIO.input (ECHO) == 1: pulse_end = time.time ()

  8. Kita boleh mengetahui tempoh impuls (pulse_duration) dengan mengira perbezaan antara kedua-dua pulse:

    pulse_duration = pulse_end - pulse_start

  9. Untuk mengetahui jarak, kami menggunakan formula:

    jarak = pulse_duration * 17150

  10. Kami akan mengasingkan jarak kami kepada dua perpuluhan:

    jarak = bulat (jarak, 2)

  11. Untuk memaparkan jarak dalam "cm":

    "Jarak:", jarak, "cm"

  12. Untuk menetapkan semula pin GPIO kami menambah:

    GPIO.cleanup ()

  13. Apa yang perlu anda lakukan sekarang adalah menyimpan kod dengan menamakannya "sensor_distance" sebagai contoh dan melancarkannya dalam baris arahan:

    sudo python remote_capteur.py

  14. Tahniah! anda dapat mengawal motor serta mengesan jarak dengan sensor ultrasonik!

Bahagian 12 cabaran kedua

  1. Sekiranya anda mempunyai kenderaan beroda tiga ini. Dengan apa yang telah anda pelajari setakat ini, anda mesti dapat memandu kenderaan ini supaya ia dapat membentuk "E" ketika ia bergerak. Dia juga akan dapat berhenti jika dia menghadapi halangan menggunakan sensor ultrasonik.



  2. Terserah anda!

Artikel Baru.

Bagaimana untuk menyemak status bateri kereta

Bagaimana untuk menyemak status bateri kereta

Pengarang berama artikel ini ialah Jay afford. Jay afford adalah perunding automotif dan penguru projek di Lake Worth, Florida. Dia adalah AE, Ford, dan L1 yang diperakui. Jay afford telah melakukan p...
Cara menggunakan gergaji bulat

Cara menggunakan gergaji bulat

adalah wiki, yang bermakud banyak artikel dituli oleh beberapa penuli. Untuk membuat artikel ini, 27 orang, yang tidak bernama, menyertai edii dan peningkatannya dari maa ke maa. Jeni pemerikaan elek...