Ardumower future PCB: Unterschied zwischen den Versionen

Aus www.wiki.ardumower.de
Wechseln zu: Navigation, Suche
(Architecture)
 
(44 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt)
Zeile 1: Zeile 1:
 
=Abstract=
 
=Abstract=
Ideas for a future PCB...
+
Not really a future PCB, but some ideas about adding an additional CPU to the existing Ardumower HW/SW architecture...
  
=Circuits=
+
=Architecture=
The PCB circuits (for battery, charging, etc.) should be based on the Mega PCB:
+
* existing MCU (Mega) board for the controlling (actuators), sensing (sensors) - basically, current Ardumower PCB
 +
* new CPU board for high-level control (brain), examples: Rasperry Zero
 +
* commuincation interface and protocol (based on RS232 interface and session protocol)
 +
* simple-to-use (plug&play) IDE (including compiler & drivers) for the new CPU board
 +
* Java interface?
  
https://code.google.com/p/ardumower/source/browse/#svn%2Ftrunk%2Fpcb
 
  
=CPU=
+
<gallery>
* STM32F4 (Cortex M4, DSP, 100 I/O pins)  http://www.st.com/web/catalog/tools/FM116/SC959/SS1532/PF252419
+
File: raspberry.jpg | CPU board examples
 +
File: Cpu_mcu.png | Bus architecture
 +
File: Imu_motor_control.png | Motor control loop
 +
File: Power_system.png | Power system
 +
</gallery>
  
=PCB=
 
* One board or
 
* 2 boards (one cpu/imu + one IO board for example)
 
  
=Software=
+
* Main: Connectors for PMU, BMU, MMU, AMU, UMU, SMU, GY-521
* For the software part, ChibiOS could be a very nice start . It's a good RTOS with high integration of STM32 drivers , FATFS integration, LWIP etc... http://www.chibios.org/dokuwiki/doku.php?id=chibios:matrix
+
* PMU (Perimeter Management Unit): Mega 328
 +
* BMU (Bumper Management Unit): Mega 328, pressure sensor
 +
* MMU (Motor Management Unit): Motor drivers
 +
* AMU (Akku Management Unit)
 +
* UMU (Ultra-Schall Management Unit)
 +
* SMU (Sound Management Unit)
 +
 
 +
=Commuincation architecture=
 +
* shared serial bus (RS232 RX/TX) for all sensor/actuator devices
 +
* open collector (OC) outputs for signal triggers/interrupts
 +
* TX/RX for communication protocol (session-based)
 +
 
 +
=CPU hardware support/drivers=
 +
* For the driver side, ChibiOS could be a very nice start . It's an RTOS with high integration of hardware drivers , FATFS integration, LWIP etc...  
 +
http://www.chibios.org/dokuwiki/doku.php?id=chibios:matrix
 +
http://www.stevebate.net/chibios-rpi/GettingStarted.html
 +
 
 +
=IDE/compiler for CPU=
 +
The IDE and integrated compiler should be plug&play (like Arduino IDE). Some ideas:
 +
* [http://www.emblocks.org emBlocks] (integrated compiler for many CPUs including Rasperry PI, STM32, etc.)
 +
* chibistudio (modified Eclipse)
 +
 
 +
<gallery>
 +
File: Emblocks.png | Generating a new CPU binary image using 'emBlocks' IDE
 +
</gallery>
 +
 
 +
=Running new code on the CPU=
 +
Running new code on the new CPU should be simple for end-users. Some ideas:
 +
* For debugging purpose, a serial connection (TX/RX) should be available for running new code, debugging
 +
* For end-users, a small binary (SD card) should be available for download
 +
 
 +
<gallery>
 +
File: Sdcard.jpg | Booting a new CPU binary image from SD card
 +
</gallery>

Aktuelle Version vom 22. Mai 2016, 11:56 Uhr

Abstract

Not really a future PCB, but some ideas about adding an additional CPU to the existing Ardumower HW/SW architecture...

Architecture

  • existing MCU (Mega) board for the controlling (actuators), sensing (sensors) - basically, current Ardumower PCB
  • new CPU board for high-level control (brain), examples: Rasperry Zero
  • commuincation interface and protocol (based on RS232 interface and session protocol)
  • simple-to-use (plug&play) IDE (including compiler & drivers) for the new CPU board
  • Java interface?



  • Main: Connectors for PMU, BMU, MMU, AMU, UMU, SMU, GY-521
  • PMU (Perimeter Management Unit): Mega 328
  • BMU (Bumper Management Unit): Mega 328, pressure sensor
  • MMU (Motor Management Unit): Motor drivers
  • AMU (Akku Management Unit)
  • UMU (Ultra-Schall Management Unit)
  • SMU (Sound Management Unit)

Commuincation architecture

  • shared serial bus (RS232 RX/TX) for all sensor/actuator devices
  • open collector (OC) outputs for signal triggers/interrupts
  • TX/RX for communication protocol (session-based)

CPU hardware support/drivers

  • For the driver side, ChibiOS could be a very nice start . It's an RTOS with high integration of hardware drivers , FATFS integration, LWIP etc...
http://www.chibios.org/dokuwiki/doku.php?id=chibios:matrix
http://www.stevebate.net/chibios-rpi/GettingStarted.html

IDE/compiler for CPU

The IDE and integrated compiler should be plug&play (like Arduino IDE). Some ideas:

  • emBlocks (integrated compiler for many CPUs including Rasperry PI, STM32, etc.)
  • chibistudio (modified Eclipse)

Running new code on the CPU

Running new code on the new CPU should be simple for end-users. Some ideas:

  • For debugging purpose, a serial connection (TX/RX) should be available for running new code, debugging
  • For end-users, a small binary (SD card) should be available for download