Skip to content

simple-circuit/Block-Diagram-Compiler

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

48 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Block-Diagram-Compiler

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.

About

RPI Pico Analog Computer Simulation

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published