Project Radar Boards Schiphol Control: verschil tussen versies
(→Schiphol Airtraffic Control displays) |
k (MarkKlaauw heeft pagina RadarBoardsSchipholControl hernoemd naar Radar Boards Schiphol Control: Changed title) |
||
(113 tussenliggende versies door 3 gebruikers niet weergegeven) | |||
Regel 1: | Regel 1: | ||
+ | [[Bestand:schiphol-in-use.jpg|miniatuur|display in use (top left hand corner)]] | ||
+ | |||
+ | We got a [[https://wiki.makerspaceleiden.nl/mediawiki/index.php/Categorie:SchipholElektronica pile of Control Tower displays from Schiphol airport (or Eurocontrol, etc)]] used for tracking what is in the air. | ||
+ | |||
+ | They are basically small 2-3 CPU boards on a common RS 485 bus or on RS 232. One CPU is purely for programming. The other is the main board and handles the traffic on the bus (it may be ASTERIX format?) and the other handles the display. They are interconnected by a TTL serial on 9600 8N1. Each box also contains a high quality PSU. | ||
+ | |||
+ | The programming chip is also 9600 8N1 and contains some debugging tooling. Photo below shows the testpoints used for programming. | ||
+ | |||
+ | But easiest may be to use normal ATMEL programmeing on MISO/MOSI - which are nicely broken out on the connector. | ||
+ | |||
+ | = Code = | ||
+ | |||
+ | Some fairly functional code: https://github.com/MakerSpaceLeiden/AirtrafficControlDisplaysSchiphol | ||
+ | |||
+ | [[Bestand:schiphol-first-light.mov|320px]]<br> | ||
+ | [https://www.youtube.com/watch?v=RdrHZAX6c4I grote (50229) display eerste test-tekst (youtube)] | ||
+ | |||
= Schiphol Airtraffic Control displays = | = Schiphol Airtraffic Control displays = | ||
+ | <tabs> | ||
+ | <tab name="main board 50xxx> | ||
+ | {{:Main_Board_50XXX_series}} | ||
+ | </tab> | ||
+ | <tab name = "board 50.028"> | ||
+ | {{:Board 50.028}} | ||
+ | </tab> | ||
+ | <tab name="board 50219"> | ||
+ | {{:Board 50219}} | ||
+ | </tab> | ||
+ | <tab name="board 50226"> | ||
+ | {{:Board 50226}} | ||
+ | </tab> | ||
+ | <tab name = "board 50227"> | ||
+ | {{:Board 50227}} | ||
+ | </tab> | ||
+ | <tab name="board 50228> | ||
+ | {{:Board 50228}} | ||
+ | </tab> | ||
+ | <tab name = "board 50229"> | ||
+ | {{:Board 50229}} | ||
+ | </tab> | ||
+ | <tab name="board 7003-asy"> | ||
+ | {{:Board 7003-asy}} | ||
+ | </tab> | ||
+ | </tabs> | ||
+ | |||
+ | Om een van de hierboven ge-"transclude"d pagina's te wijzigen, bezoek de pagina via [[:Categorie:DisplayBoardsSchiphol]]. | ||
+ | |||
+ | = Datasheet displays = | ||
+ | 50228 and 50229 use PD44x (PD4435, red) displays. 50.028 and 50219 use DLO3416 (red). 50227 uses DLO1414 (smaller 4-digit display, red). 7003-assy uses PD2473 (green) (PD44x datasheet). | ||
+ | |||
+ | [[Bestand:PD-series-displays-datahsheet.pdf|340px|PD44x]] | ||
+ | [[:Bestand:PD-series-displays-datahsheet.pdf|PD44x]]<br> | ||
+ | Code in https://github.com/MakerSpaceLeiden/AirtrafficControlDisplaysSchiphol/blob/main/shared/pd44.c | ||
+ | |||
+ | [[Bestand:0900766b808b01d8.pdf|340px|DLx3416]] | ||
+ | [[:Bestand:0900766b808b01d8.pdf|DLx3416]]<br> | ||
+ | [[Bestand:DLX1414series.pdf|340px|DLx1414]] | ||
+ | [[:Bestand:DLX1414series.pdf|DLx1414]]<br> | ||
+ | [[:Bestand:PD2573.pdf|PD2573]] | ||
+ | |||
+ | Various people hack them | ||
+ | |||
+ | * https://www.flickr.com/photos/okini393939/5148872258 | ||
+ | * https://github.com/TiNredmc/PD443X_Lib | ||
+ | * https://github.com/TiNredmc/PD443Xclock | ||
+ | |||
+ | = Requirements for development = | ||
− | + | In general an AVR compiler, baseline libc and a programmer is needed. | |
− | + | You will need an AVR programmer. A simple one like [[https://www.tinytronics.nl/shop/nl/communicatie-en-signalen/usb/usbasp-usb-avr-programmer-met-flatcable USBasp]] should do. It has been tested against an [[https://www.amazon.nl/DollaTek-compatibele-AVR-programmeerer-systeem-programmeer-ondersteunt/dp/B07L2SYF4K/ref=asc_df_B07L2SYF4K/ SK500]]. | |
− | [[ | + | For more complex interactive 'talking' to it (e.g. if you wanted to hook it up to FlightTracker, your clock or a calendar) - you will need a 5 volt tolerant [[https://www.otronic.nl/a-61052754/serieel/ch340-ttl-usb-serial-port-adapter-3-3v-5v/ USB to TTL Serial]] adaptor (or connect something like an Arduino or ESP32 to it. You may need a 3/5 volt [[https://www.tinytronics.nl/shop/nl/componenten/ic's-en-microcontrollerchips/ic's/sn74ahct125n-4-kanaals-level-converter-3.3v-naar-5v-14-pin-dip level]] [[https://www.tinytronics.nl/shop/nl/communicatie-en-signalen/level-converters/robotdyn-spi-i2c-uart-bi-directionele-logic-level-converter-4-kanaals converter]] in that case). |
− | + | You will also need 6 'dupont' cables -- they are [[https://www.amazon.nl/gp/product/B07VCCJTXN/ref=ox_sc_act_image_1 best]] [[https://www.otronic.nl/c-5347412/draden-en-kabels/ bought]] [[https://www.tinytronics.nl/shop/nl/kabels-en-connectoren/kabels-en-adapters/prototyping-draden/dupont-compatible-en-jumper/dupont-jumper-draad-male-female-20cm-10-draden in bulk]]. | |
− | = | + | == Requirements Apple MacOSX == |
− | + | When using ports install: | |
− | + | sudo port instal avr-gcc avr-libc avrdude | |
− | + | Also install '''avr-binutils''' and '''avr-gdb''' if you want to do debugging. | |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | == | + | == Requirements Linux == |
− | + | In general something like | |
− | + | sudo apt-get update | |
+ | sudo apt-get install avr-libc binutils-avr gcc-avr avrdude | ||
− | + | should do. | |
− | + | == Requirements Windows == | |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | + | The canonical tool is [[https://www.microchip.com/en-us/development-tools-tools-and-software/microchip-studio-for-avr-and-sam-devices AVR Studio]] and the process is explained on [[https://microchipsupport.force.com/s/article/How-to-program-an-AVR-Microcontroller this page]]. | |
− | https:// | + | That said [[https://platformio.org/platforms/atmelavr PlatformIO with AVR]] seems to be becoming the popular choice nowadays. See this [[https://docs.platformio.org/en/latest/platforms/atmelavr.html starter documentation]]. |
− | == | + | |
+ | [env:schiphol] | ||
+ | platform = atmelavr | ||
+ | # board = atmega161 | ||
+ | board_build.mcu = atmega161 | ||
+ | board_build.f_cpu = 8000000 | ||
+ | upload_protocol = custom | ||
+ | upload_port = usb | ||
+ | # $(AVRDUDE) $(AVRDUDEFLAGS) $(AVRDUDECONF) -c avrispmkII -p m161 -U flash:w:$<:i | ||
+ | upload_flags = | ||
+ | -C | ||
+ | $PROJECT_PACKAGES_DIR/tool-avrdude/avrdude.conf | ||
+ | -p | ||
+ | m161 | ||
+ | -c | ||
+ | avrispmkII | ||
+ | upload_command = avrdude $UPLOAD_FLAGS -U flash:w:$SOURCE:i |
Versie van 9 jun 2024 om 21:28
We got a [pile of Control Tower displays from Schiphol airport (or Eurocontrol, etc)] used for tracking what is in the air.
They are basically small 2-3 CPU boards on a common RS 485 bus or on RS 232. One CPU is purely for programming. The other is the main board and handles the traffic on the bus (it may be ASTERIX format?) and the other handles the display. They are interconnected by a TTL serial on 9600 8N1. Each box also contains a high quality PSU.
The programming chip is also 9600 8N1 and contains some debugging tooling. Photo below shows the testpoints used for programming.
But easiest may be to use normal ATMEL programmeing on MISO/MOSI - which are nicely broken out on the connector.
Inhoud
Code
Some fairly functional code: https://github.com/MakerSpaceLeiden/AirtrafficControlDisplaysSchiphol
Bestand:Schiphol-first-light.mov
grote (50229) display eerste test-tekst (youtube)
Schiphol Airtraffic Control displays
Om een van de hierboven ge-"transclude"d pagina's te wijzigen, bezoek de pagina via Categorie:DisplayBoardsSchiphol.
Datasheet displays
50228 and 50229 use PD44x (PD4435, red) displays. 50.028 and 50219 use DLO3416 (red). 50227 uses DLO1414 (smaller 4-digit display, red). 7003-assy uses PD2473 (green) (PD44x datasheet).
PD44x
Code in https://github.com/MakerSpaceLeiden/AirtrafficControlDisplaysSchiphol/blob/main/shared/pd44.c
Various people hack them
- https://www.flickr.com/photos/okini393939/5148872258
- https://github.com/TiNredmc/PD443X_Lib
- https://github.com/TiNredmc/PD443Xclock
Requirements for development
In general an AVR compiler, baseline libc and a programmer is needed.
You will need an AVR programmer. A simple one like [USBasp] should do. It has been tested against an [SK500].
For more complex interactive 'talking' to it (e.g. if you wanted to hook it up to FlightTracker, your clock or a calendar) - you will need a 5 volt tolerant [USB to TTL Serial] adaptor (or connect something like an Arduino or ESP32 to it. You may need a 3/5 volt [level] [converter] in that case).
You will also need 6 'dupont' cables -- they are [best] [bought] [in bulk].
Requirements Apple MacOSX
When using ports install:
sudo port instal avr-gcc avr-libc avrdude
Also install avr-binutils and avr-gdb if you want to do debugging.
Requirements Linux
In general something like
sudo apt-get update sudo apt-get install avr-libc binutils-avr gcc-avr avrdude
should do.
Requirements Windows
The canonical tool is [AVR Studio] and the process is explained on [this page].
That said [PlatformIO with AVR] seems to be becoming the popular choice nowadays. See this [starter documentation].
[env:schiphol] platform = atmelavr # board = atmega161 board_build.mcu = atmega161 board_build.f_cpu = 8000000 upload_protocol = custom upload_port = usb # $(AVRDUDE) $(AVRDUDEFLAGS) $(AVRDUDECONF) -c avrispmkII -p m161 -U flash:w:$<:i upload_flags = -C $PROJECT_PACKAGES_DIR/tool-avrdude/avrdude.conf -p m161 -c avrispmkII upload_command = avrdude $UPLOAD_FLAGS -U flash:w:$SOURCE:i