Juhtmevaba programmeerimine

Kauglabori programmeerimise lahenduse tehniline kirjeldus ja kasutusjuhend.

Kiirjuhend

Robotil

  • Laadida Wireless_bootloader HapyJTAG2 programmiga
  • Kontrollida FuseBit-s Boot vector enabled (hlinit keerab selle maha)
  • Fusebits: 90 F7
  • Kontrollida XBee konfiguratsiooni

Kauglabori serveris Koodi laadimine:

./robocop -r [roboti number] -f [hex faili nimi]
./robocop -r 3 -f atmega2561_demo.hex 

Reseti tegemine

./robocop -r [roboti number] -R
./robocop -r 3 -R

ADC sisendite lugemine:

./robocop -r [roboti number] -a -i [intervall sek] -n [lugemite arv]
./robocop -r 2 -a -i 1 -n 10

Veebiserveris



Detailne juhend

RoboCop on Linuxi keskkonnas töötav kauglabori robotite haldamise kliendiprogramm, mis kasutab vajadusel RoboLoader-it ja RoboCharger-it. RoboLoader sisaldab bootloaderit ja Robocharger laadimisprogrammi.



Mõned RoboCop programmi võimalused

  • Uue programmi laadimine robotile
  • XBee viikude seadistamine
  • ADC andmete lugemine konsoolis ja andmete salvestamine kasutaja arvuti kõvakettale .txt formaadis
  • Roboti raadiomoodulu konfiguratsiooni kontrollimine (juhtmevaba)
  • Roboti raadiomooduli konfigureerimine (juhtmevaba)
  • Roboti oleku jälgimine, laadima saatmine
  • Kauglabori veebikeskkonnas robotit puudutava info uuendamine


RoboLoader ehk juhtmevaba bootloader

  • Arvestab raadiosidest tulenevate võimalike probleemidega
  • Saadab andmeid blokkide kaupa
  • Kontrollib laetud andmeblokkide õigsust kontrollsummaga
  • Vea korral kasutab andmebloki kordussaatmist
  • Omab mõistlikke ooteaegu


RoboCharger ehk juhtmevaba laadimisprogramm

  • Sisaldab loogikat laadimisjaama otsimiseks
  • Tuvastab laadimise alguse
  • Tuvastab laadimise lõpu
  • Vabastab laadimisjaama

Robocopi oleku kontroll

  • Pärib baasist robotite loetelu, olekud, seadistused …
  • Kontrollib iga roboti aku pinget, temperatuuri
  • Vajadusel muudab roboti olekut (DIO4) active → charge
  • Saadab roboti laadima, laeb robotisse RoboCharger programmi
  • Muudab roboti olekut Kauglabori veebikeskkonnas
  • Salvestab (ADC) parameetrid, analüüsi (graafikute) tarbeks.

RoboCharger

  • Otsib / sõidab laadimisjaama
  • Tuvastab laadimise alguse *
  • Peab arvet aja üle (igaks juhuks, kui laadimine ei lõpe)
  • Kontrollib akude temperatuuri (seda teeb ka RoboCop)
  • Tuvastab laadimise lõpu, vabastab laadimisjaama
  • Muudab roboti oleku charge → active

RoboCopi kasutamine

Usage: robocop [options]

General options:

  1. r remote 16 bit address
  2. f <hexfile.hex> flash robot
  3. R reset robot
  4. m maintenance (check batteries)

GPIO options

  1. g gpio num
  2. v gpio value (0|1)

ADC options

  • -a read adc0 value
  • -n <number> read number of samples
  • -i <seconds> interval between samples
  • -A all ADC's

Diagnostics options

  1. c check remote XBee configuration
  2. F fix remote XBee configuration
  3. m test MySQL connectivity

Koodi laadimine

-r3 = roboti 16 bitiine aadress

./robocop -r [roboti number] -f [hex faili nimi]
./robocop -r 3 -f atmega2561_demo.hex 


ADC kasutamine

Aku pinge pärimine

./robocop -r [roboti number] -a
./robocop -r 3 -f -a 


Aku pinge nomitoorimine

./robocop -r [roboti number] -a -n [näitude arv] -i [intervall (1/10 s)]
./robocop -r 3 -a -n 100 -i 1

Konsooli edastatakse 100 korda iga 0,1 sekundi järel aku pinge.


ADC kõikide kanalite näidud

./robocop -r [roboti number] -a -n [näitude arv] -i [intervall (1/10 s)] -A
./robocop -r 3 -a -n 100 -i 1 -A


Muud toimingud

XBee seadistuse kontroll

./robocop -r [roboti number] -c
./robocop -r 3 -c


XBee seadistuste parandamine

./robocop -r [roboti number] -F
./robocop -r 3 -F


Robotile reseti tegemine

./robocop -r [roboti number] -R
./robocop -r 3 -R


GIPO viikude seadistamine

./robocop -r [roboti number] -g [viigu number] -v [1|0]
./robocop -r 3 -g 4 -v 1

g4 tähendab XBee viiku DIO4 ja v 1 tähendab et see viik määrati kõrgeks

Locking Mitme RoboCop programmi korraga kasutamine ei ole probleem. Oodatakse viisakalt järjekorras, kuni võtk vabaneb või aeg otsa saab.

Probleemid-Lahendused


Ei saa juhtmevabalt programmeerida

  • Lae bootloader kontrollerile uuesti
  • Kontrolli et fusebit oleks 0x90 0xF7
et/distancelab/wirelessprogram.txt · Last modified: 2020/07/20 09:00 by 127.0.0.1
CC Attribution-Share Alike 4.0 International
www.chimeric.de Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0