pwm

Google EdgeTPU can't get PWM to work with Python

强颜欢笑 提交于 2020-07-22 02:49:11
问题 Here is my testing code: from periphery import PWM import time # Open PWM channel 0, pin 0 pwm = PWM(0,0) # Set frequency to 1 kHz pwm.frequency = 50 # Set duty cycle to 75% pwm.duty_cycle = 0.02 pwm.enable() print(pwm.period) print(pwm.frequency) print(pwm.enabled) # Change duty cycle to 50% pwm.duty_cycle = 0.05 pwm.close() Problem is this part: # Open PWM channel 0, pin 0 pwm = PWM(0,0) I can see output when running PWM(0,0) PWM(0,1) PWM(0,2) but I get the error messsage when trying to run

Android驱动学习-灯光系统总体框架

旧巷老猫 提交于 2020-05-09 10:18:32
Android的app访问硬件的大致流程可以分为一下几个步骤: 我们之前说过Android系统在添加新的硬件的时候需要添加一个接口java文件,通过jni来访问硬件。 这个java是我们自己实现的,我们自己能够清楚的知道如何调用它。但是像Android中有一些是别人都有的硬件,比如屏幕、振动器、声卡、led等,因为硬件不一样,所以驱动也不一样,那么我们如何让其他人的app在我们的系统上也能正常的运行呢?这里就需要注意下: Android系统中已经加入了一些必要的jni,我们想添加一些通用的设备时就需要用系统中的jni文件,编写HAL文件来适应JNI文件,从而达到其他人的app能正常的操作硬件的目的。 下面分析一下灯光系统。 灯光系统由以下四个文件组成 APP:电池灯APP,通知灯APP,背光灯APP JNI :com_android_server_lights_LightsService.cpp HAL:我们自己实现,实现一个lights.c 驱动:leds_nanopi3.c(JNI需要什么这里就给它提供什么,这里我们实现亮灭闪烁和亮度) 灯光系统的主要功能: 硬件上是属于同一个的有(包括颜色和闪烁): 电池灯:电池电量发生变化时颜色会发生变化 通知灯:有通知会闪烁,比如未接电话或短信 调节LCD亮度: 背光灯 灯光系统的jni文件是 com_android_server

资料有点多4412开发板嵌入式视频教程独立学习没有问题

孤者浪人 提交于 2020-05-08 12:27:54
1.选配模块可涵盖 物联网 、工业现场、智能终端、 机器人 仪器仪表等应用,包括:SDIO- WIFI 、 USB -WIFI、 GPS 、 蓝牙 、AV-IN、USB摄像头、CAN 总线 、并口摄像头、VGA、RS-485、 继电器 、串口、矩阵键盘、zigbee 、 步进电机 、LORA模块等。 2.新增项目实战视频(14期 5个实战项目)GPS定位系统 物联网只能家居 智能网关 web服务及远程控制 门禁系统 3.新增系统移植教程,掌握更多移植方法(python移植教程 modbus移植教程 Android 5.1移植教程 mqtt移植教程) 4.新增 Linux 驱动教程-USB系列18期视频教程,新增Linux设备树视频教程 5.Android应用开发坏境:更新为Studio,并和eclipse同时提供(iTOP4412开发板已被Linux官方默认支持,可以轻松学习Linux移植开发技术) 核心板参数 尺寸 50mm*60mm 高度 连同 连接器 在内0.26cm CPU Exynos4412,四核 Cortex -A9,主频为1.4GHz-1.6GHz 内存 1GB 双通道 DDR3(2GB 可选) 存储 4GB EMMC(16GB 可选) 电源管理 低功耗动态三星S5M8767电源管理,最优架构! 工作 电压 2.65V--5.5V (推荐4.0V) 系统支持

HAl库控制L298N直流电机旋转笔记

狂风中的少年 提交于 2020-05-04 10:14:52
主函数开始后的处理流程: 1..所有外设初始化:HAL_Init() 2.系统时钟配置 RCC振荡器初始化:HAL_RCC_OsConfig() RCC时钟初始化:HAL_RCC_ClockConfig() 系统滴答定时器初始化:HAL_SYSTICK_Config() 3.高级定时器初始化 基本环境初始化:HAL_TIM_Base_Init() 时钟源配置:HAL_TIM_ConfigClockSource() 比较输出初始化(包含mcu硬件初始化):HAL_TIM_PWM_Init() 初始化:HAL_TIM_Base_MspInit() 反初始化:HAL_TIM_Base_MspDeInit() 主输出模式同步:HAL_TIMEx_MasterConfigSynchronization() 刹车和死区时间配置:HAL_TIMEx_ConfigBreakDeadTime() 通道比较输出配置:HAL_TIM_PWM_ConfigChannel() 定时器实际时钟频率为:72MHz/(定时器预分频+1)=36MHz PWM频率为:定时器实际时钟频率/(定时器周期+1),[定时器周期为900的话,36MHz/(900+1)=40Khz] 实际PWM频率为:PWM频率/(高级定时器重复计数寄存器值+1),[高级定时器重复计数寄存器值为0的话,40KHz/0+1=40KHz]

基于STM32F429+HAL库编写的定时器主从门控模式级联输出固定个数PWM脉冲的程序

删除回忆录丶 提交于 2020-05-04 10:14:37
硬件设备 42步进电机,步进电机驱动器,正点原子F429开发板 开发软件 keil5,Cube 综述 一般要精准的控制电机,就要控制单片机的引脚输出指定个数的PWM波,有多种可实现的方法,其中最好用的方法是用定时器级联输出固定个数PWM脉冲,虽然多用了一个定时器,但大大减少了CPU的处理资源。 STM32的每个定时器可以通过另外一个定时器的某一个条件被触发而启动.这里所谓某一个条件可以是定时到时、定时器超时、比较成功等许多条件.这种通过一个定时器触发另一个定时器的工作方式称为定时器的同步,发出触发信号的定时器工作于主模式,接受触发信号而启动的定时器工作于从模式。 Cube配置定时器,主定时器为PWM输出,从定时器为门控模式 1.主定时器为TIM3,其中通道1配置为PWM输出,主模式的 更新事件选为触发输入 Cube的配置为参考,一切以代码为准 void MX_TIM3_Init( void ) { TIM_ClockConfigTypeDef sClockSourceConfig; TIM_MasterConfigTypeDef sMasterConfig = { 0 }; TIM_OC_InitTypeDef sConfigOC = { 0 }; htim3.Instance = TIM3; // 设置主定时器为TIM3 htim3.Init.Prescaler = 4 - 1

基于STM32F429+HAL库编写的定时器主从门控模式级联输出固定个数PWM脉冲的程序

自作多情 提交于 2020-05-04 09:24:21
硬件设备 42步进电机,步进电机驱动器,正点原子F429开发板 开发软件 keil5,Cube 综述 一般要精准的控制电机,就要控制单片机的引脚输出指定个数的PWM波,有多种可实现的方法,其中最好用的方法是用定时器级联输出固定个数PWM脉冲,虽然多用了一个定时器,但大大减少了CPU的处理资源。 STM32的每个定时器可以通过另外一个定时器的某一个条件被触发而启动.这里所谓某一个条件可以是定时到时、定时器超时、比较成功等许多条件.这种通过一个定时器触发另一个定时器的工作方式称为定时器的同步,发出触发信号的定时器工作于主模式,接受触发信号而启动的定时器工作于从模式。 Cube配置定时器,主定时器为PWM输出,从定时器为门控模式 1.主定时器为TIM3,其中通道1配置为PWM输出,主模式的 更新事件选为触发输入 Cube的配置为参考,一切以代码为准 void MX_TIM3_Init( void ) { TIM_ClockConfigTypeDef sClockSourceConfig; TIM_MasterConfigTypeDef sMasterConfig = { 0 }; TIM_OC_InitTypeDef sConfigOC = { 0 }; htim3.Instance = TIM3; // 设置主定时器为TIM3 htim3.Init.Prescaler = 4 - 1

[MicroPython]TPYBoard智能小车“飞奔的TPYBoard装甲一号”

做~自己de王妃 提交于 2020-05-02 17:06:49
智能小车作为现代的新发明,是以后的发展方向,他可以按照预先设定的模式在一个环境里自动的运作,不需要人为的管理,可应用于科学勘探等等的用途。智能小车能够实时显示时间、速度、里程,具有自动寻迹、寻光、避障功能,可程控行驶速度、准确定位停车,远程传输图像等功能。下面带大家做一个智能蓝牙小车,用手机APP来控制小车前进、后退、向左、向右、停止,本次蓝牙小车的设计在于探索蓝牙智能小车的设计理念及设计方法,学习一下PWM控制电机差速来控制小车的方向,下面就动手搞起来吧!!!!! 1.效果展示 给大家上视频连接,可以蓝牙控制,可以手柄控制哦 http://https://v.qq.com/x/page/k0721or47dw.html 2.材料准备 TPYBoard v102 1块 蓝牙串口模块 1个 TPYBoard v102小车扩展板(包含4个车轮,4个电机) 18650电池 2节 数据线 1条 杜邦线 若干 蓝牙APP ( http://old.tpyboard.com/download/tool/190.html ) 3.蓝牙模块 蓝牙( Bluetooth):是一种无线技术标准,可实现固定设备、移动设备和楼宇个人域网之间的短距离数据交换(使用2.4-2.485GHz的ISM波段的UHF无线电波)。 我们在此使用的蓝牙模块(HC-06)已经在内部实现了蓝牙协议

【STM32F4】【银杏科技ARM+FPGA】iCore3移植RT-Thread--PWM呼吸灯

喜欢而已 提交于 2020-04-30 13:45:56
  PWM(Pulse Width Modulation , 脉冲宽度调制) 是一种对模拟信号电平进行数字编码的方法,通过不同频率的 脉冲使用方波的占空比用来对一个具体模拟信号的电平进行编码,使输出端得到一系列幅值相等的脉冲,用这些脉冲来 代替所需要波形的设备。 一、 配置TIM的相关GPIO,选择时钟源 1.1 我们打开../BSP/STM32/STM32F407_gingko_iCore3/board/CubeMX_Config来进行定时器的配置,我们 以TIM8通道1为例,注意这里仍然是只配置IO,其他参数不予更改。配置完成后点击CREATE CODE。 1.2 CubeMX生成工程后,只保留红色方框内的文件,其他的两个文件夹可以删除掉。 1.3 复制刚生成的src文件夹main.c文件夹中的函数SystemClock_Config(void)到board.c。这里内核初始化时要 调用该函数进行时钟配置。 二、 修改Kconfig文件,增加menuconfig菜单中的PWM选项 三、 添加PWMn_CONFIG定义 四 、 添加PWM软件包 打开Env工具,使用menuconfig配置工程,路径为:RT-Thread online packages---> miscellaneous packages---> samples : kernel and components

《电子懒人的基础硬件电路图讲解》68例电路总结

纵然是瞬间 提交于 2020-04-28 22:03:05
偶然间搜索到《电子懒人的基础硬件电路图讲解》68例电路图文讲解,觉得很适合电子基础薄弱的我。特记录至博客,分享给各位跟我一样的电子初学者。整个基础硬件电路图讲解的目录有: 1、12V电瓶充电保护电路 2、CD4017闪烁信号灯电路 3、CMOS门电路组成的多谐振荡器 4、TCRT5000传感器模块电路 5、并联型硅稳压管稳压电路 6、触摸开关灯泡电路 7、带反接保护的电子骰子电路 8、带自锁的过流保护电路 9、单按键开关机电路1 10、单按键开关机电路2 11、单键开关机电路3 12、单键开关机电路4 13、单键开关机电路5 14、单键开关机电路6 15、单键控制单片机电源开关电路 16、单片机电源开关机电路2 17、单片机电源开关机电路3 18、电池极性显示器 19、电磁阀PWM驱动电路 20、声,光双控延时LED灯 21、电容的充电与放电 22、断线式防盗报警器 23、负氧离子空气清新器电路 24、光电耦合器测试调试电路 25、光控“点动”开关LED 26、光控点动开关控制器 27、光控开关LED 28、恒流源式多档标准电压发生器 29、恒流自动停充的充电电路 30、红外接近开关电路 31、互补型多谐自激振荡器组成的变调门铃 32、互补型自激多谐音频振荡器电路 33、机床设备光控安全保护模型电路 34、基于运放设计的函数信号发生器 35、集成运放恒流源电路 36

学FPGA如何少走10年弯路?入门很重要!

若如初见. 提交于 2020-04-28 17:22:31
与典型的微控制器相比,现场可编程门阵列FPGA是一种能够提供更强性能和灵活性的器件,本文通过解答几个有关FPGA的常见问题—— 什么是FPGA、为什么我会需要FPGA、如何为FPGA编程 ——为开发者提供FPGA入门所需的基本概念和知识。 如果您是二元思维的人,那么不要错过第1到4部分内容。在这篇博客中,我将简单介绍我最感兴趣的电子器件:现场可编程门阵列(FPGA)。 当我和人们谈起FPGA时,我听到很多人说:“我不知道它们的工作原理”、“它们太复杂了”、“我无法用C语言编程”。我不希望看到这样一种神奇的器件遭受如此冷遇,因此下面我将尝试解答一些常见问题(FAQ)。 问题1:什么是现场可编程门阵列? 详细解答如下:顾名思义,有人推断它是可编程的逻辑门结构。这种解释很接近,但又不太准确,因为内部逻辑阵列实际并不是利用门来实现的。相反,我们将阵列中的这些块称为“逻辑单元”。这些逻辑单元通常由查找表 (LUT)(用于实现任意逻辑功能)以及一些辅助电路(例如多路复用器、加法器和触发器)构成。您会经常听到人们将这种逻辑单元阵列称为“FPGA结构”。 图1,FPGA 逻辑单元示例 简而言之,我可以将FPGA比作一个盒子,里面装有各种没有商标、用于构建数字电路的彩色构件。我可以通过适合我的应用的任何方式,将这些构件连接到一起。 如果您能描述数字电路如何工作