A simple text-based Block Diagram Compiler for Continuous System Simulation.
Learn to program an Analog Computer using this digital simulator.
Can run real-time simulations with ADC inputs and DAC outputs.
Start reading about it with the block_programming_pico.pdf document.
Coding requires simple three letter block functions followed by variable names
adc ch0 out
prt out
end
set ch0 0
set dt 0.01
run
The above example will read ADC0 every 10ms and print the result
An optional circuit board can be made using a CNC mill. Drill and profile
files are included for a 100mmx70mm board. The board enables
+-10V analog signals.
A serial terminal is required to enter and receive text data.
Use simpleCRT.exe if you don't have a terminal program.
simpleCRT can plot up to five variables.
Start with reading block_programming_pico.pdf.
This document covers language basics, the schemtic diagram and several program examples.
Additional experiments with block programs and externl circuits are covered in these documents:
ADC linearity.pdf.....................Measure ADC linearity and reduce differential linearity error.
Adding Block Functions.pdf........Add your own block function, a step by step tutorial.
Experiments with Integrators.pdf....Build an integrator with few arithmetic blocks. Investigate several applications.
Some Building Tips.pdf.............Tips on building the +-10V analog I/O board. (the Block program can run without it)
looking at dynamic range.pdf......Examine limitations on the ADC and PWM DAC signal range.
multiplexer_examples.pdf..........A look at some analog multipler applicatons.
oscillators.pdf...................Build lots of oscillators.
x-y plotting.pdf..................Component curve tracing and Lissajous figures.
If you are going to build this project, here's what the other folders and files are for:
Folder Block..................Contains symbols for drawing Block programs in LTspice
Folder Pico_block_compiler_m....Arduino Pico .ino sketch program
Folder experiments............Block program examples for the youtube video Build a four dollar analog computer
Drill_block.gcode.............CNC drill file for the analog I/O board
Profile_block.gcode...........CNC trace profile cut for the analog I/O board
Pico_block_compiler_m.uf2.....Drag and drop UF2 file for Block compiler
simpleCRT.exe.................Windows serial terminal with plotting. Written in FPC Lazarus.
spice_to_block.exe............Windows program for converting LTspice schematic nodes to a Block program. Also a Lazarus program.